From df0d45648e7cfa9d3d6ed7e4a5ad99631a770ff4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Thu, 28 Apr 2016 16:52:14 +0200 Subject: [PATCH] Imported Upstream version 4.2.1+repack --- ChangeList.txt | 172 +- README.txt | 32 +- examples/AUv3Synth/AUv3Synth.jucer | 93 + .../Builds/MacOSX/AUv3Synth.entitlements | 1 + .../AUv3Synth.xcodeproj/project.pbxproj | 3283 +++++++++++++ .../MacOSX/Info-AUv3_AppExtension.plist | 64 + .../Builds/MacOSX/Info-AUv3_Standalone.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 | 3070 ++++++++++++ .../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 + .../AUv3Synth/JuceLibraryCode/AppConfig.h | 331 ++ .../AUv3Synth/JuceLibraryCode/BinaryData.cpp | 315 ++ .../AUv3Synth/JuceLibraryCode/BinaryData.h | 29 + .../AUv3Synth/JuceLibraryCode/JuceHeader.h | 48 + examples/AUv3Synth/JuceLibraryCode/ReadMe.txt | 12 + .../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 | 1880 +++++--- .../Builds/MacOSX/Info-App.plist | 29 + .../Builds/MacOSX/Info.plist | 27 - .../AnimationAppExample.vcxproj | 1587 ++++--- .../AnimationAppExample.vcxproj.filters | 3060 +++++++----- .../project.pbxproj | 1890 +++++--- .../AppIcon.appiconset/Contents.json | 12 +- .../Builds/iOS/Info-App.plist | 43 + .../AnimationAppExample/Builds/iOS/Info.plist | 38 - .../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 +- .../Source/MainComponent.cpp | 2 +- .../AudioAppExample/AudioAppExample.jucer | 4 +- .../AudioAppExample.xcodeproj/project.pbxproj | 1905 +++++--- .../Builds/MacOSX/Info-App.plist | 29 + .../AudioAppExample/Builds/MacOSX/Info.plist | 27 - .../VisualStudio2010/AudioAppExample.vcxproj | 1592 ++++--- .../AudioAppExample.vcxproj.filters | 3062 +++++++----- .../AudioAppExample.xcodeproj/project.pbxproj | 1907 +++++--- .../AppIcon.appiconset/Contents.json | 12 +- .../AudioAppExample/Builds/iOS/Info-App.plist | 43 + .../AudioAppExample/Builds/iOS/Info.plist | 38 - .../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 | 1852 +++++--- .../Builds/MacOSX/Info-App.plist | 29 + .../Builds/MacOSX/Info.plist | 27 - .../BouncingBallWavetableDemo.vcxproj | 1557 +++--- .../BouncingBallWavetableDemo.vcxproj.filters | 3010 +++++++----- .../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 | 1261 +++-- .../Builds/MacOSX/Info-App.plist | 29 + .../Builds/MacOSX/Info.plist | 27 - .../ComponentTutorialExample.vcxproj | 1091 +++-- .../ComponentTutorialExample.vcxproj.filters | 2248 +++++---- .../ComponentTutorialExample.vcxproj | 1091 +++-- .../ComponentTutorialExample.vcxproj.filters | 2248 +++++---- .../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 +- .../Demo/Builds/Android/AndroidManifest.xml | 8 +- examples/Demo/Builds/Android/jni/Android.mk | 42 +- .../Demo/Builds/Android/jni/Application.mk | 8 +- examples/Demo/Builds/Android/local.properties | 2 +- .../Demo/Builds/Android/project.properties | 2 +- .../Builds/Android/res/drawable-mdpi/icon.png | Bin 44820 -> 44823 bytes .../src/com/juce/jucedemo/JuceDemo.java | 968 +++- examples/Demo/Builds/Linux/Makefile | 64 +- examples/Demo/Builds/MacOSX/Icon.icns | Bin 44836 -> 44839 bytes examples/Demo/Builds/MacOSX/Info-App.plist | 29 + examples/Demo/Builds/MacOSX/Info.plist | 27 - .../MacOSX/JuceDemo.xcodeproj/project.pbxproj | 2112 ++++++--- .../Builds/VisualStudio2010/JuceDemo.vcxproj | 1841 +++++--- .../VisualStudio2010/JuceDemo.vcxproj.filters | 3304 ++++++++----- .../Demo/Builds/VisualStudio2010/icon.ico | Bin 33550 -> 33530 bytes .../Builds/VisualStudio2012/JuceDemo.vcxproj | 1841 +++++--- .../VisualStudio2012/JuceDemo.vcxproj.filters | 3304 ++++++++----- .../Demo/Builds/VisualStudio2012/icon.ico | Bin 33550 -> 33530 bytes .../Builds/VisualStudio2013/JuceDemo.vcxproj | 1841 +++++--- .../VisualStudio2013/JuceDemo.vcxproj.filters | 3304 ++++++++----- .../Demo/Builds/VisualStudio2013/icon.ico | Bin 33550 -> 33530 bytes .../Builds/VisualStudio2015/JuceDemo.vcxproj | 1841 +++++--- .../VisualStudio2015/JuceDemo.vcxproj.filters | 3304 ++++++++----- .../Demo/Builds/VisualStudio2015/icon.ico | Bin 33550 -> 33530 bytes examples/Demo/Builds/iOS/Icon.icns | Bin 44836 -> 44839 bytes examples/Demo/Builds/iOS/Info-App.plist | 43 + examples/Demo/Builds/iOS/Info.plist | 38 - .../iOS/JuceDemo.xcodeproj/project.pbxproj | 2126 ++++++--- .../AppIcon.appiconset/Contents.json | 12 +- .../AppIcon.appiconset/Icon-29.png | Bin 0 -> 1896 bytes .../AppIcon.appiconset/Icon-29@2x.png | Bin 0 -> 4599 bytes .../AppIcon.appiconset/Icon-29@3x.png | Bin 0 -> 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 0 -> 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 examples/Demo/JuceDemo.jucer | 29 +- 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/AnimationDemo.cpp | 2 +- examples/Demo/Source/Demos/Box2DDemo.cpp | 2 +- examples/Demo/Source/Demos/CodeEditorDemo.cpp | 2 +- examples/Demo/Source/Demos/DialogsDemo.cpp | 3 +- examples/Demo/Source/Demos/GraphicsDemo.cpp | 10 +- .../Demo/Source/Demos/LiveConstantDemo.cpp | 2 +- examples/Demo/Source/Demos/MidiDemo.cpp | 30 +- examples/Demo/Source/Demos/NetworkingDemo.cpp | 14 +- examples/Demo/Source/Demos/OpenGLDemo.cpp | 9 +- examples/Demo/Source/Demos/SystemInfoDemo.cpp | 23 +- examples/Demo/Source/Demos/VideoDemo.cpp | 10 +- examples/Demo/Source/Demos/WebBrowserDemo.cpp | 4 +- examples/Demo/Source/Demos/WindowsDemo.cpp | 37 +- examples/Demo/Source/MainWindow.cpp | 9 +- .../Builds/LinuxMakefile/Makefile | 160 - .../project.pbxproj | 2244 --------- .../Builds/MacOSX/Info.plist | 27 - .../VisualStudio2015/ExpressiveMidiTest.sln | 19 - .../ExpressiveMidiTest.vcxproj | 1806 ------- .../ExpressiveMidiTest.vcxproj.filters | 3089 ------------ .../Builds/VisualStudio2015/resources.rc | 29 - .../ExpressiveMidiTest.jucer | 106 - .../JuceLibraryCode/AppConfig.h | 210 - .../JuceLibraryCode/JuceHeader.h | 47 - .../JuceLibraryCode/ReadMe.txt | 12 - .../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/ExpressiveMidiTest/Source/Main.cpp | 92 - .../ExpressiveMidiTest/Source/MainComponent.h | 146 - examples/ExpressiveMidiTest/Source/Setup.h | 265 -- examples/ExpressiveMidiTest/Source/Synth.h | 80 - .../ExpressiveMidiTest/Source/Visualiser.h | 218 - examples/HelloWorld/Builds/Linux/Makefile | 28 +- .../HelloWorld.xcodeproj/project.pbxproj | 1245 +++-- .../HelloWorld/Builds/MacOSX/Info-App.plist | 29 + examples/HelloWorld/Builds/MacOSX/Info.plist | 27 - .../VisualStudio2010/HelloWorld.vcxproj | 1091 +++-- .../HelloWorld.vcxproj.filters | 2248 +++++---- .../VisualStudio2015/HelloWorld.vcxproj | 1091 +++-- .../HelloWorld.vcxproj.filters | 2248 +++++---- .../iOS/HelloWorld.xcodeproj/project.pbxproj | 1245 +++-- .../AppIcon.appiconset/Contents.json | 12 +- examples/HelloWorld/Builds/iOS/Info-App.plist | 43 + examples/HelloWorld/Builds/iOS/Info.plist | 38 - 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 + examples/MPETest/Builds/MacOSX/Info.plist | 2 +- .../MacOSX/MPETest.xcodeproj/project.pbxproj | 1913 +++++--- .../Builds/VisualStudio2015/MPETest.vcxproj | 1594 ++++--- .../VisualStudio2015/MPETest.vcxproj.filters | 3066 +++++++----- 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 +- .../Builds/Android/AndroidManifest.xml | 20 - examples/MidiTest/Builds/Android/build.xml | 33 - .../MidiTest/Builds/Android/jni/Android.mk | 40 - .../Builds/Android/jni/Application.mk | 13 - .../MidiTest/Builds/Android/local.properties | 10 - .../Builds/Android/project.properties | 5 - .../Builds/Android/res/values/strings.xml | 5 - .../com/yourcompany/miditest/MidiTest.java | 1934 -------- .../MidiTest/Builds/LinuxMakefile/Makefile | 48 +- .../MidiTest/Builds/MacOSX/Info-App.plist | 29 + examples/MidiTest/Builds/MacOSX/Info.plist | 27 - .../MacOSX/MidiTest.xcodeproj/project.pbxproj | 1818 ++++--- .../Builds/VisualStudio2013/MidiTest.sln | 19 - .../Builds/VisualStudio2013/MidiTest.vcxproj | 1666 ------- .../VisualStudio2013/MidiTest.vcxproj.filters | 2801 ----------- .../Builds/VisualStudio2013/resources.rc | 29 - .../Builds/VisualStudio2015/MidiTest.vcxproj | 1539 ++++-- .../VisualStudio2015/MidiTest.vcxproj.filters | 2950 +++++++----- examples/MidiTest/Builds/iOS/Info-App.plist | 43 + examples/MidiTest/Builds/iOS/Info.plist | 38 - .../iOS/MidiTest.xcodeproj/project.pbxproj | 1830 +++++--- .../AppIcon.appiconset/Contents.json | 12 +- 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 | 38 +- examples/MidiTest/Source/Main.cpp | 8 +- examples/MidiTest/Source/MainComponent.cpp | 16 +- examples/MidiTest/Source/MainComponent.h | 14 +- .../Builds/LinuxMakefile/Makefile | 166 + .../Builds/MacOSX/Icon.icns | Bin 0 -> 44839 bytes .../Builds/MacOSX/Info-App.plist | 29 + .../project.pbxproj | 2813 +++++++++++ .../Builds/MacOSX/RecentFilesMenuTemplate.nib | Bin .../JUCE Network Graphics Demo.sln | 19 + .../JUCE Network Graphics Demo.vcxproj | 2342 +++++++++ ...JUCE Network Graphics Demo.vcxproj.filters | 3962 ++++++++++++++++ .../Builds/VisualStudio2013/icon.ico | Bin 0 -> 33530 bytes .../Builds/VisualStudio2013/resources.rc | 32 + .../NetworkGraphicsDemo/Builds/iOS/Icon.icns | Bin 0 -> 44839 bytes .../Builds/iOS/Info-App.plist | 43 + .../project.pbxproj | 2821 +++++++++++ .../AppIcon.appiconset/Contents.json | 128 + .../AppIcon.appiconset/Icon-29.png | Bin 0 -> 1896 bytes .../AppIcon.appiconset/Icon-29@2x.png | Bin 0 -> 4599 bytes .../AppIcon.appiconset/Icon-29@3x.png | Bin 0 -> 7006 bytes .../AppIcon.appiconset/Icon-60@2x.png | Bin 0 -> 10946 bytes .../AppIcon.appiconset/Icon-72.png | Bin 0 -> 4859 bytes .../AppIcon.appiconset/Icon-72@2x.png | Bin 0 -> 10302 bytes .../AppIcon.appiconset/Icon-76.png | Bin 0 -> 5556 bytes .../AppIcon.appiconset/Icon-76@2x.png | Bin 0 -> 11373 bytes .../AppIcon.appiconset/Icon-83.5@2x.png | Bin 0 -> 13506 bytes .../AppIcon.appiconset/Icon-@3x.png | Bin 0 -> 15434 bytes .../AppIcon.appiconset/Icon-Small-1.png | Bin 0 -> 1896 bytes .../AppIcon.appiconset/Icon-Small-50.png | Bin 0 -> 3630 bytes .../AppIcon.appiconset/Icon-Small-50@2x.png | Bin 0 -> 8685 bytes .../AppIcon.appiconset/Icon-Small@2x-1.png | Bin 0 -> 4599 bytes .../AppIcon.appiconset/Icon-Spotlight-40.png | Bin 0 -> 2452 bytes .../Icon-Spotlight-40@2x-1.png | Bin 0 -> 5453 bytes .../Icon-Spotlight-40@2x.png | Bin 0 -> 5453 bytes .../Icon-Spotlight-40@3x.png | Bin 0 -> 10946 bytes .../AppIcon.appiconset/Icon.png | Bin 0 -> 4433 bytes .../AppIcon.appiconset/Icon@2x.png | Bin 0 -> 10317 bytes .../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 .../JuceLibraryCode/AppConfig.h | 197 + .../JuceLibraryCode/BinaryData.cpp | 683 +++ .../JuceLibraryCode/BinaryData.h | 26 + .../JuceLibraryCode/JuceHeader.h | 50 + .../JuceLibraryCode/ReadMe.txt | 12 + .../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 + .../NetworkGraphicsDemo.jucer | 161 + examples/NetworkGraphicsDemo/README.txt | 39 + examples/NetworkGraphicsDemo/Source/Demos.h | 504 ++ examples/NetworkGraphicsDemo/Source/Main.cpp | 163 + .../Source/MasterComponent.h | 416 ++ .../NetworkGraphicsDemo/Source/SharedCanvas.h | 526 +++ .../Source/SlaveComponent.h | 221 + .../NetworkGraphicsDemo/Source/juce_icon.png | Bin 0 -> 45854 bytes .../OSCMonitor/Builds/LinuxMakefile/Makefile | 60 +- .../OSCMonitor/Builds/MacOSX/Info-App.plist | 29 + examples/OSCMonitor/Builds/MacOSX/Info.plist | 27 - .../OSCMonitor.xcodeproj/project.pbxproj | 1897 +++++--- .../VisualStudio2015/OSCMonitor.vcxproj | 1594 ++++--- .../OSCMonitor.vcxproj.filters | 3061 +++++++----- .../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 +- examples/OSCMonitor/Source/OSCLogListBox.h | 2 +- .../OSCReceiver/Builds/LinuxMakefile/Makefile | 36 +- .../OSCReceiver/Builds/MacOSX/Info-App.plist | 29 + examples/OSCReceiver/Builds/MacOSX/Info.plist | 27 - .../OSCReceiver.xcodeproj/project.pbxproj | 1281 +++-- .../VisualStudio2015/OSCReceiver.vcxproj | 1123 +++-- .../OSCReceiver.vcxproj.filters | 2253 +++++---- .../OSCReceiver/Builds/iOS/Info-App.plist | 43 + examples/OSCReceiver/Builds/iOS/Info.plist | 38 - .../iOS/OSCReceiver.xcodeproj/project.pbxproj | 1305 ++--- .../AppIcon.appiconset/Contents.json | 12 +- .../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 | 14 +- examples/OSCReceiver/Source/Main.cpp | 2 +- examples/OSCReceiver/Source/MainComponent.h | 6 +- .../OSCSender/Builds/LinuxMakefile/Makefile | 28 +- .../OSCSender/Builds/MacOSX/Info-App.plist | 29 + examples/OSCSender/Builds/MacOSX/Info.plist | 27 - .../OSCSender.xcodeproj/project.pbxproj | 1225 +++-- .../Builds/VisualStudio2015/OSCSender.vcxproj | 1085 +++-- .../OSCSender.vcxproj.filters | 2221 +++++---- examples/OSCSender/Builds/iOS/Info-App.plist | 43 + examples/OSCSender/Builds/iOS/Info.plist | 38 - .../iOS/OSCSender.xcodeproj/project.pbxproj | 1227 +++-- .../AppIcon.appiconset/Contents.json | 12 +- .../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 | 14 +- examples/OSCSender/Source/Main.cpp | 2 +- examples/OSCSender/Source/MainComponent.h | 6 +- .../Builds/MacOSX/Info-App.plist | 29 + .../OpenGLAppExample/Builds/MacOSX/Info.plist | 27 - .../project.pbxproj | 1892 +++++--- .../VisualStudio2010/OpenGLAppExample.vcxproj | 1589 ++++--- .../OpenGLAppExample.vcxproj.filters | 3065 +++++++----- .../Builds/iOS/Info-App.plist | 43 + .../OpenGLAppExample/Builds/iOS/Info.plist | 38 - .../project.pbxproj | 1924 +++++--- .../AppIcon.appiconset/Contents.json | 12 +- .../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 | 10 +- .../Source/FragmentShader.glsl | 10 - examples/OpenGLAppExample/Source/Main.cpp | 2 +- .../OpenGLAppExample/Source/VertexShader.glsl | 9 - .../Builds/MacOSX/Info-App.plist | 29 + .../Builds/MacOSX/Info.plist | 27 - .../project.pbxproj | 1820 ++++--- .../PluckedStringsDemo.vcxproj | 1539 ++++-- .../PluckedStringsDemo.vcxproj.filters | 2950 +++++++----- .../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 | 2659 +++++++---- .../Arpeggiator/Builds/MacOSX/Info-AAX.plist | 29 + .../Arpeggiator/Builds/MacOSX/Info-AU.plist | 48 + .../Builds/MacOSX/Info-Shared_Code.plist | 29 + .../Arpeggiator/Builds/MacOSX/Info-VST.plist | 29 + .../Arpeggiator/Builds/MacOSX/Info-VST3.plist | 29 + .../Arpeggiator/Builds/MacOSX/Info.plist | 46 - .../VisualStudio2015/Arpeggiator.vcxproj | 1851 +++++--- .../Arpeggiator.vcxproj.filters | 3651 +++++++++----- .../Arpeggiator/JuceLibraryCode/AppConfig.h | 23 +- .../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 - .../Arpeggiator/Source/Arpeggiator.cpp | 25 +- .../Builds/MacOSX/GainPlugIn.entitlements | 1 + .../GainPlugIn.xcodeproj/project.pbxproj | 2651 +++++++---- .../GainPlugIn/Builds/MacOSX/Info-AAX.plist | 29 + .../GainPlugIn/Builds/MacOSX/Info-AU.plist | 48 + .../Builds/MacOSX/Info-Shared_Code.plist | 29 + .../GainPlugIn/Builds/MacOSX/Info-VST.plist | 29 + .../GainPlugIn/Builds/MacOSX/Info-VST3.plist | 29 + .../GainPlugIn/Builds/MacOSX/Info.plist | 46 - .../VisualStudio2015/GainPlugIn.vcxproj | 1851 +++++--- .../GainPlugIn.vcxproj.filters | 3651 +++++++++----- .../PlugInSamples/GainPlugIn/GainPlugIn.jucer | 8 +- .../GainPlugIn/JuceLibraryCode/AppConfig.h | 23 +- .../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 | 41 +- examples/PlugInSamples/GenericEditor.h | 50 +- .../Builds/MacOSX/Info-AAX.plist | 29 + .../MultiOutSynth/Builds/MacOSX/Info-AU.plist | 48 + .../Builds/MacOSX/Info-Shared_Code.plist | 29 + .../Builds/MacOSX/Info-VST.plist | 29 + .../Builds/MacOSX/Info-VST3.plist | 29 + .../MultiOutSynth/Builds/MacOSX/Info.plist | 46 - .../Builds/MacOSX/MultiOutSynth.entitlements | 1 + .../MultiOutSynth.xcodeproj/project.pbxproj | 2653 +++++++---- .../VisualStudio2015/MultiOutSynth.vcxproj | 1851 +++++--- .../MultiOutSynth.vcxproj.filters | 3655 +++++++++----- .../MultiOutSynth/JuceLibraryCode/AppConfig.h | 23 +- .../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 | 28 +- .../NoiseGate/Builds/MacOSX/Info-AAX.plist | 29 + .../NoiseGate/Builds/MacOSX/Info-AU.plist | 48 + .../Builds/MacOSX/Info-Shared_Code.plist | 29 + .../NoiseGate/Builds/MacOSX/Info-VST.plist | 29 + .../NoiseGate/Builds/MacOSX/Info-VST3.plist | 29 + .../NoiseGate/Builds/MacOSX/Info.plist | 46 - .../Builds/MacOSX/NoiseGate.entitlements | 1 + .../NoiseGate.xcodeproj/project.pbxproj | 2693 +++++++---- .../Builds/VisualStudio2015/NoiseGate.vcxproj | 1851 +++++--- .../NoiseGate.vcxproj.filters | 3651 +++++++++----- .../NoiseGate/JuceLibraryCode/AppConfig.h | 23 +- .../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 | 67 +- .../Spatializer/Builds/MacOSX/Info.plist | 46 - .../Spatializer.xcodeproj/project.pbxproj | 2346 --------- .../Builds/VisualStudio2015/Spatializer.sln | 19 - .../VisualStudio2015/Spatializer.vcxproj | 1772 ------- .../Spatializer.vcxproj.filters | 3044 ------------ .../Builds/VisualStudio2015/resources.rc | 30 - .../Spatializer/JuceLibraryCode/AppConfig.h | 334 -- .../Spatializer/JuceLibraryCode/JuceHeader.h | 47 - .../Spatializer/JuceLibraryCode/ReadMe.txt | 12 - .../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 | 177 - .../Spatializer/Spatializer.jucer | 86 - .../Surround/Builds/LinuxMakefile/Makefile | 166 + .../Surround/Builds/MacOSX/Info-AAX.plist | 29 + .../Surround/Builds/MacOSX/Info-AU.plist | 48 + .../Builds/MacOSX/Info-Shared_Code.plist | 29 + .../Surround/Builds/MacOSX/Info-VST.plist | 29 + .../Surround/Builds/MacOSX/Info-VST3.plist | 29 + .../Builds/MacOSX/RecentFilesMenuTemplate.nib | Bin .../Builds/MacOSX/Surround.entitlements | 1 + .../MacOSX/Surround.xcodeproj/project.pbxproj | 3415 ++++++++++++++ .../Builds/VisualStudio2015/Surround.sln | 19 + .../Builds/VisualStudio2015/Surround.vcxproj | 2459 ++++++++++ .../VisualStudio2015/Surround.vcxproj.filters | 4178 +++++++++++++++++ .../Builds/VisualStudio2015/resources.rc | 29 + .../Surround/JuceLibraryCode/AppConfig.h | 343 ++ .../Surround/JuceLibraryCode/JuceHeader.h | 49 + .../Surround/JuceLibraryCode/ReadMe.txt | 12 + .../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 + .../Surround/Source/SurroundEditor.h | 178 + .../Surround/Source/SurroundProcessor.cpp | 151 + .../PlugInSamples/Surround/Surround.jucer | 115 + .../Builds/MacOSX/Info-App.plist | 29 + .../SimpleFFTExample/Builds/MacOSX/Info.plist | 27 - .../project.pbxproj | 1818 ++++--- .../VisualStudio2013/SimpleFFTExample.vcxproj | 1539 ++++-- .../SimpleFFTExample.vcxproj.filters | 2950 +++++++----- .../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 +- .../Builds/MacOSX/Info-AU.plist | 48 + .../Builds/MacOSX/Info-Shared_Code.plist | 29 + .../Builds/MacOSX/Info-VST.plist | 29 + .../Builds/MacOSX/Info-VST3.plist | 29 + .../Builds/MacOSX/Info.plist | 46 - .../Builds/MacOSX/JuceDemoPlugin.entitlements | 1 + .../JuceDemoPlugin.xcodeproj/project.pbxproj | 2426 +++++++--- .../VisualStudio2010/JuceDemoPlugin.sln | 19 - .../VisualStudio2010/JuceDemoPlugin.vcxproj | 1754 ------- .../JuceDemoPlugin.vcxproj.filters | 2984 ------------ .../VisualStudio2013/JuceDemoPlugin.sln | 19 - .../VisualStudio2013/JuceDemoPlugin.vcxproj | 1760 ------- .../JuceDemoPlugin.vcxproj.filters | 2984 ------------ .../Builds/VisualStudio2013/resources.rc | 30 - .../VisualStudio2015/JuceDemoPlugin.sln | 19 + .../VisualStudio2015/JuceDemoPlugin.vcxproj | 2399 ++++++++++ .../JuceDemoPlugin.vcxproj.filters | 4034 ++++++++++++++++ .../resources.rc | 0 .../How to use this framework.txt | 339 -- .../audio plugin demo/JuceDemoPlugin.jucer | 34 +- .../JuceLibraryCode/AppConfig.h | 23 +- .../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 demo/Source/PluginEditor.cpp | 4 +- .../Source/PluginProcessor.h | 7 - .../audio plugin host/Builds/Linux/Makefile | 60 +- .../Builds/MacOSX/Info-App.plist | 29 + .../Builds/MacOSX/Info.plist | 27 - .../Plugin Host.xcodeproj/project.pbxproj | 1887 +++++--- .../VisualStudio2010/Plugin Host.vcxproj | 1592 ++++--- .../Plugin Host.vcxproj.filters | 3062 +++++++----- .../VisualStudio2013/Plugin Host.vcxproj | 1592 ++++--- .../Plugin Host.vcxproj.filters | 3062 +++++++----- .../VisualStudio2015/Plugin Host.vcxproj | 1592 ++++--- .../Plugin Host.vcxproj.filters | 3062 +++++++----- .../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 | 42 +- .../audio plugin host/Source/FilterGraph.h | 2 + .../Source/GraphEditorPanel.cpp | 69 +- .../audio plugin host/Source/HostStartup.cpp | 16 +- .../Source/InternalFilters.cpp | 21 +- .../Source/InternalFilters.h | 13 +- .../Source/MainHostWindow.cpp | 2 +- .../AudioPerformanceTest.jucer | 138 + .../Builds/LinuxMakefile/Makefile | 142 + .../project.pbxproj | 2622 +++++++++++ .../Builds/MacOSX/Info-App.plist | 29 + .../MacOSX}/RecentFilesMenuTemplate.nib | Bin .../VisualStudio2015/AudioPerformanceTest.sln | 19 + .../AudioPerformanceTest.vcxproj | 2213 +++++++++ .../AudioPerformanceTest.vcxproj.filters | 3695 +++++++++++++++ .../Builds/VisualStudio2015/resources.rc | 29 + .../project.pbxproj | 2632 +++++++++++ .../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-App.plist | 43 + .../JuceLibraryCode/AppConfig.h | 194 + .../JuceLibraryCode/JuceHeader.h | 46 + .../JuceLibraryCode/ReadMe.txt | 12 + .../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 + extras/AudioPerformanceTest/Source/Main.cpp | 97 + .../Source/MainComponent.h | 284 ++ .../Builds/CodeBlocks/The Introjucer.cbp | 3453 -------------- extras/Introjucer/Builds/Linux/Makefile | 388 -- extras/Introjucer/Builds/MacOSX/Icon.icns | Bin 42142 -> 0 bytes extras/Introjucer/Builds/MacOSX/Info.plist | 44 - .../The Introjucer.xcodeproj/project.pbxproj | 2169 --------- .../VisualStudio2010/The Introjucer.sln | 19 - .../VisualStudio2010/The Introjucer.vcxproj | 1582 ------- .../The Introjucer.vcxproj.filters | 2903 ------------ .../Builds/VisualStudio2010/icon.ico | Bin 32719 -> 0 bytes .../Builds/VisualStudio2010/resources.rc | 33 - .../VisualStudio2012/The Introjucer.sln | 19 - .../VisualStudio2012/The Introjucer.vcxproj | 1588 ------- .../The Introjucer.vcxproj.filters | 2903 ------------ .../Builds/VisualStudio2012/icon.ico | Bin 32719 -> 0 bytes .../Builds/VisualStudio2012/resources.rc | 33 - .../VisualStudio2013/The Introjucer.sln | 19 - .../VisualStudio2013/The Introjucer.vcxproj | 1588 ------- .../The Introjucer.vcxproj.filters | 2903 ------------ .../Builds/VisualStudio2013/icon.ico | Bin 32719 -> 0 bytes .../Builds/VisualStudio2013/resources.rc | 33 - .../VisualStudio2015/The Introjucer.sln | 19 - .../VisualStudio2015/The Introjucer.vcxproj | 1588 ------- .../The Introjucer.vcxproj.filters | 2903 ------------ .../Builds/VisualStudio2015/icon.ico | Bin 32719 -> 0 bytes .../Builds/VisualStudio2015/resources.rc | 33 - extras/Introjucer/Introjucer.jucer | 613 --- extras/Introjucer/JuceLibraryCode/AppConfig.h | 107 - .../Introjucer/JuceLibraryCode/BinaryData.cpp | 3911 --------------- .../Introjucer/JuceLibraryCode/BinaryData.h | 155 - .../Introjucer/JuceLibraryCode/JuceHeader.h | 41 - extras/Introjucer/JuceLibraryCode/ReadMe.txt | 12 - .../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 - .../Application/jucer_AppearanceSettings.cpp | 404 -- .../Application/jucer_AppearanceSettings.h | 101 - .../Source/Application/jucer_Application.h | 626 --- .../Source/Application/jucer_AutoUpdater.cpp | 828 ---- .../Source/Application/jucer_AutoUpdater.h | 108 - .../Source/Application/jucer_CommandIDs.h | 74 - .../Source/Application/jucer_CommandLine.cpp | 576 --- .../Source/Application/jucer_CommonHeaders.h | 85 - .../jucer_DocumentEditorComponent.cpp | 59 - .../Application/jucer_FilePreviewComponent.h | 131 - .../Application/jucer_GlobalPreferences.cpp | 376 -- .../Application/jucer_GlobalPreferences.h | 77 - .../Source/Application/jucer_Main.cpp | 27 - .../Source/Application/jucer_MainWindow.cpp | 581 --- .../Application/jucer_OpenDocumentManager.cpp | 424 -- .../Application/jucer_OpenDocumentManager.h | 153 - .../BinaryData/AudioPluginXCodeScript.txt | 91 - .../Source/BinaryData/juce_icon.png | Bin 40749 -> 0 bytes .../jucer_AudioComponentTemplate.cpp | 99 - .../jucer_AudioPluginEditorTemplate.cpp | 41 - .../jucer_AudioPluginEditorTemplate.h | 39 - .../jucer_AudioPluginFilterTemplate.cpp | 145 - .../jucer_AudioPluginFilterTemplate.h | 62 - .../BinaryData/jucer_ComponentTemplate.cpp | 74 - .../BinaryData/jucer_ComponentTemplate.h | 64 - .../jucer_InlineComponentTemplate.h | 40 - .../jucer_MainTemplate_NoWindow.cpp | 54 - .../jucer_MainTemplate_SimpleWindow.cpp | 101 - .../BinaryData/jucer_MainTemplate_Window.cpp | 99 - .../jucer_NewInlineComponentTemplate.h | 65 - .../Code Editor/jucer_SourceCodeEditor.cpp | 658 --- .../Code Editor/jucer_SourceCodeEditor.h | 243 - .../components/jucer_ComponentTypeHandler.cpp | 577 --- .../jucer_GenericComponentHandler.h | 232 - .../components/jucer_JucerComponentHandler.h | 275 -- .../components/jucer_SliderHandler.h | 681 --- .../components/jucer_TabbedComponentHandler.h | 1183 ----- .../components/jucer_ViewportHandler.h | 658 --- .../documents/jucer_ComponentDocument.cpp | 166 - .../ComponentEditor/jucer_GeneratedCode.cpp | 363 -- .../ComponentEditor/jucer_GeneratedCode.h | 102 - .../ComponentEditor/jucer_JucerDocument.cpp | 766 --- .../ComponentEditor/jucer_JucerDocument.h | 179 - .../ComponentEditor/jucer_PaintRoutine.cpp | 582 --- .../paintelements/jucer_PaintElement.cpp | 481 -- .../paintelements/jucer_PaintElementPath.cpp | 1609 ------- .../jucer_ColourPropertyComponent.h | 214 - .../ui/jucer_ComponentLayoutEditor.cpp | 426 -- .../ui/jucer_ComponentOverlayComponent.cpp | 253 - .../ui/jucer_JucerDocumentEditor.cpp | 1202 ----- .../ui/jucer_PaintRoutineEditor.cpp | 281 -- .../ui/jucer_TestComponent.cpp | 179 - .../ComponentEditor/ui/jucer_TestComponent.h | 80 - .../jucer_ProjectExport_Android.h | 866 ---- .../jucer_ProjectExport_AndroidStudio.h | 664 --- .../jucer_ProjectExport_CodeBlocks.h | 424 -- .../Project Saving/jucer_ProjectExport_MSVC.h | 1690 ------- .../Project Saving/jucer_ProjectExport_Make.h | 381 -- .../jucer_ProjectExport_XCode.h | 1576 ------- .../Project Saving/jucer_ProjectExporter.cpp | 756 --- .../Project Saving/jucer_ProjectExporter.h | 400 -- .../Project Saving/jucer_ProjectSaver.h | 655 --- .../Project Saving/jucer_ResourceFile.cpp | 299 -- .../Project Saving/jucer_ResourceFile.h | 70 - .../Source/Project/jucer_AudioPluginModule.h | 564 --- .../Source/Project/jucer_ConfigTree_Base.h | 280 -- .../Source/Project/jucer_ConfigTree_Modules.h | 406 -- .../jucer_DependencyPathPropertyComponent.cpp | 108 - .../jucer_DependencyPathPropertyComponent.h | 162 - .../Project/jucer_GroupInformationComponent.h | 170 - .../Source/Project/jucer_Module.cpp | 927 ---- .../Introjucer/Source/Project/jucer_Module.h | 170 - .../Source/Project/jucer_ModulesPanel.h | 540 --- .../Source/Project/jucer_Project.cpp | 1042 ---- .../Introjucer/Source/Project/jucer_Project.h | 300 -- .../Project/jucer_ProjectContentComponent.cpp | 979 ---- .../Project/jucer_ProjectContentComponent.h | 132 - .../Source/Project/jucer_ProjectTree_Base.h | 427 -- .../Source/Project/jucer_ProjectTree_Group.h | 178 - .../Source/Project/jucer_ProjectType.cpp | 382 -- .../Source/Project/jucer_ProjectType.h | 75 - .../Source/Utility/jucer_FileHelpers.h | 89 - .../Introjucer/Source/Utility/jucer_Icons.cpp | 1004 ---- .../Introjucer/Source/Utility/jucer_Icons.h | 81 - .../Utility/jucer_JucerTreeViewBase.cpp | 264 -- .../Source/Utility/jucer_JucerTreeViewBase.h | 235 - .../Source/Utility/jucer_MiscUtilities.cpp | 573 --- .../Source/Utility/jucer_MiscUtilities.h | 507 -- .../Source/Utility/jucer_PresetIDs.h | 185 - .../Utility/jucer_SlidingPanelComponent.cpp | 113 - .../Utility/jucer_SlidingPanelComponent.h | 85 - .../Source/Utility/jucer_StoredSettings.cpp | 318 -- .../Source/Utility/jucer_TranslationTool.h | 461 -- .../Source/Wizards/jucer_NewFileWizard.cpp | 265 -- .../Source/Wizards/jucer_NewFileWizard.h | 70 - .../Source/Wizards/jucer_NewProjectWizard.h | 229 - .../Wizards/jucer_NewProjectWizardClasses.cpp | 95 - .../Wizards/jucer_ProjectWizard_Animated.h | 77 - .../Wizards/jucer_ProjectWizard_AudioApp.h | 84 - .../Wizards/jucer_ProjectWizard_AudioPlugin.h | 106 - .../Wizards/jucer_ProjectWizard_Blank.h | 44 - .../Wizards/jucer_ProjectWizard_Console.h | 87 - .../Source/Wizards/jucer_ProjectWizard_DLL.h | 44 - .../Wizards/jucer_ProjectWizard_GUIApp.h | 123 - .../jucer_ProjectWizard_StaticLibrary.h | 44 - .../Wizards/jucer_ProjectWizard_openGL.h | 77 - .../Source/Wizards/jucer_StartPageComponent.h | 54 - .../jucer_TemplateThumbnailsComponent.h | 284 -- extras/Introjucer/Source/jucer_Headers.h | 37 - .../Where has the Introjucer gone.txt | 20 + extras/Projucer/Builds/LinuxMakefile/Makefile | 400 ++ extras/Projucer/Builds/MacOSX/Icon.icns | Bin 0 -> 44839 bytes extras/Projucer/Builds/MacOSX/Info-App.plist | 61 + extras/Projucer/Builds/MacOSX/Info.plist | 59 + .../MacOSX/Projucer.xcodeproj/project.pbxproj | 2532 ++++++++++ .../Builds/MacOSX/RecentFilesMenuTemplate.nib | Bin 0 -> 2842 bytes .../Builds/VisualStudio2013/Projucer.sln | 19 + .../Builds/VisualStudio2013/Projucer.vcxproj | 1904 ++++++++ .../VisualStudio2013/Projucer.vcxproj.filters | 3383 +++++++++++++ .../Projucer/Builds/VisualStudio2013/icon.ico | Bin 0 -> 33530 bytes .../Builds/VisualStudio2013/resources.rc | 32 + .../Builds/VisualStudio2015/Projucer.sln | 19 + .../Builds/VisualStudio2015/Projucer.vcxproj | 1904 ++++++++ .../VisualStudio2015/Projucer.vcxproj.filters | 3383 +++++++++++++ .../Projucer/Builds/VisualStudio2015/icon.ico | Bin 0 -> 33530 bytes .../Builds/VisualStudio2015/resources.rc | 32 + extras/Projucer/JuceLibraryCode/AppConfig.h | 113 + .../Projucer/JuceLibraryCode/BinaryData.cpp | 4150 ++++++++++++++++ extras/Projucer/JuceLibraryCode/BinaryData.h | 158 + extras/Projucer/JuceLibraryCode/JuceHeader.h | 43 + extras/Projucer/JuceLibraryCode/ReadMe.txt | 12 + 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 | 630 +++ .../Application/jucer_AppearanceSettings.cpp | 288 ++ .../Application/jucer_AppearanceSettings.h | 82 + .../Source/Application/jucer_Application.cpp | 831 ++++ .../Source/Application/jucer_Application.h | 144 + .../Source/Application/jucer_AutoUpdater.cpp | 818 ++++ .../Source/Application/jucer_AutoUpdater.h | 108 + .../Source/Application/jucer_CommandIDs.h | 98 + .../Source/Application/jucer_CommandLine.cpp | 691 +++ .../Source/Application/jucer_CommandLine.h | 0 .../Source/Application/jucer_CommonHeaders.h | 76 + .../jucer_DocumentEditorComponent.cpp | 60 + .../jucer_DocumentEditorComponent.h | 0 .../Source/Application/jucer_EulaDialogue.h | 80 + .../Application/jucer_FilePreviewComponent.h | 133 + .../Application/jucer_GlobalPreferences.cpp | 376 ++ .../Application/jucer_GlobalPreferences.h | 114 + .../Source/Application/jucer_LoginForm.h | 310 ++ .../Source/Application/jucer_Main.cpp | 67 + .../Source/Application/jucer_MainWindow.cpp | 609 +++ .../Source/Application/jucer_MainWindow.h | 0 .../Application/jucer_OpenDocumentManager.cpp | 434 ++ .../Application/jucer_OpenDocumentManager.h | 155 + .../Application/jucer_ProjucerLicenses.h | 115 + .../BinaryData/RecentFilesMenuTemplate.nib | Bin 0 -> 2842 bytes .../Source/BinaryData/background_logo.svg | 0 .../Source/BinaryData/background_tile.png | Bin .../Source/BinaryData/colourscheme_dark.xml | 0 .../Source/BinaryData/colourscheme_light.xml | 0 .../Projucer/Source/BinaryData/juce_icon.png | Bin 0 -> 45854 bytes .../jucer_AnimatedComponentTemplate.cpp | 0 .../jucer_AudioComponentTemplate.cpp | 99 + .../jucer_AudioPluginEditorTemplate.cpp | 41 + .../jucer_AudioPluginEditorTemplate.h | 39 + .../jucer_AudioPluginFilterTemplate.cpp | 168 + .../jucer_AudioPluginFilterTemplate.h | 65 + .../BinaryData/jucer_ComponentTemplate.cpp | 74 + .../BinaryData/jucer_ComponentTemplate.h | 64 + .../BinaryData/jucer_ContentCompTemplate.cpp | 0 .../BinaryData/jucer_ContentCompTemplate.h | 0 .../jucer_InlineComponentTemplate.h | 40 + .../jucer_MainConsoleAppTemplate.cpp | 0 .../jucer_MainTemplate_NoWindow.cpp | 54 + .../jucer_MainTemplate_SimpleWindow.cpp | 101 + .../BinaryData/jucer_MainTemplate_Window.cpp | 99 + .../BinaryData/jucer_NewComponentTemplate.cpp | 0 .../BinaryData/jucer_NewComponentTemplate.h | 0 .../BinaryData/jucer_NewCppFileTemplate.cpp | 0 .../BinaryData/jucer_NewCppFileTemplate.h | 0 .../jucer_NewInlineComponentTemplate.h | 65 + .../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 | 142 + .../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 | 659 +++ .../Code Editor/jucer_SourceCodeEditor.h | 243 + .../components/jucer_ButtonHandler.h | 0 .../components/jucer_ComboBoxHandler.h | 0 .../components/jucer_ComponentNameProperty.h | 0 .../components/jucer_ComponentTypeHandler.cpp | 577 +++ .../components/jucer_ComponentTypeHandler.h | 0 .../jucer_ComponentUndoableAction.h | 0 .../jucer_GenericComponentHandler.h | 232 + .../components/jucer_GroupComponentHandler.h | 0 .../components/jucer_HyperlinkButtonHandler.h | 0 .../components/jucer_ImageButtonHandler.h | 0 .../components/jucer_JucerComponentHandler.h | 272 ++ .../components/jucer_LabelHandler.h | 0 .../components/jucer_SliderHandler.h | 700 +++ .../components/jucer_TabbedComponentHandler.h | 1182 +++++ .../components/jucer_TextButtonHandler.h | 0 .../components/jucer_TextEditorHandler.h | 0 .../components/jucer_ToggleButtonHandler.h | 0 .../components/jucer_TreeViewHandler.h | 0 .../components/jucer_ViewportHandler.h | 657 +++ .../documents/jucer_ButtonDocument.cpp | 0 .../documents/jucer_ButtonDocument.h | 0 .../documents/jucer_ComponentDocument.cpp | 166 + .../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 | 358 ++ .../ComponentEditor/jucer_GeneratedCode.h | 103 + .../ComponentEditor/jucer_JucerDocument.cpp | 769 +++ .../ComponentEditor/jucer_JucerDocument.h | 179 + .../ComponentEditor/jucer_ObjectTypes.cpp | 0 .../ComponentEditor/jucer_ObjectTypes.h | 0 .../ComponentEditor/jucer_PaintRoutine.cpp | 582 +++ .../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 | 481 ++ .../paintelements/jucer_PaintElement.h | 0 .../paintelements/jucer_PaintElementEllipse.h | 0 .../paintelements/jucer_PaintElementGroup.h | 0 .../paintelements/jucer_PaintElementImage.h | 0 .../paintelements/jucer_PaintElementPath.cpp | 1609 +++++++ .../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 | 212 + .../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 | 426 ++ .../ui/jucer_ComponentLayoutEditor.h | 0 .../ui/jucer_ComponentLayoutPanel.h | 0 .../ui/jucer_ComponentOverlayComponent.cpp | 253 + .../ui/jucer_ComponentOverlayComponent.h | 0 .../ui/jucer_EditingPanelBase.cpp | 0 .../ui/jucer_EditingPanelBase.h | 0 .../ui/jucer_JucerCommandIDs.h | 0 .../ui/jucer_JucerDocumentEditor.cpp | 1202 +++++ .../ui/jucer_JucerDocumentEditor.h | 0 .../ui/jucer_PaintRoutineEditor.cpp | 281 ++ .../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 | 179 + .../ComponentEditor/ui/jucer_TestComponent.h | 80 + .../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 | 920 ++++ .../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 | 467 ++ .../jucer_ProjectExport_AndroidBase.h | 476 ++ .../jucer_ProjectExport_AndroidStudio.h | 828 ++++ .../jucer_ProjectExport_CodeBlocks.h | 449 ++ .../Project Saving/jucer_ProjectExport_MSVC.h | 1893 ++++++++ .../Project Saving/jucer_ProjectExport_Make.h | 414 ++ .../jucer_ProjectExport_XCode.h | 2759 +++++++++++ .../Project Saving/jucer_ProjectExporter.cpp | 849 ++++ .../Project Saving/jucer_ProjectExporter.h | 416 ++ .../Project Saving/jucer_ProjectSaver.cpp | 135 + .../Project Saving/jucer_ProjectSaver.h | 693 +++ .../Project Saving/jucer_ResourceFile.cpp | 300 ++ .../Project Saving/jucer_ResourceFile.h | 69 + .../jucer_TextWithDefaultPropertyComponent.h | 169 + .../Source/Project/jucer_ConfigTree_Base.h | 349 ++ .../Project/jucer_ConfigTree_Exporter.h | 0 .../Source/Project/jucer_ConfigTree_Modules.h | 400 ++ .../jucer_DependencyPathPropertyComponent.cpp | 122 + .../jucer_DependencyPathPropertyComponent.h | 176 + .../Project/jucer_GroupInformationComponent.h | 169 + .../Projucer/Source/Project/jucer_Module.cpp | 822 ++++ extras/Projucer/Source/Project/jucer_Module.h | 170 + .../Source/Project/jucer_ModulesPanel.h | 222 + .../Projucer/Source/Project/jucer_Project.cpp | 1244 +++++ .../Projucer/Source/Project/jucer_Project.h | 340 ++ .../Project/jucer_ProjectContentComponent.cpp | 1503 ++++++ .../Project/jucer_ProjectContentComponent.h | 172 + .../Source/Project/jucer_ProjectTree_Base.h | 426 ++ .../Source/Project/jucer_ProjectTree_File.h | 0 .../Source/Project/jucer_ProjectTree_Group.h | 188 + .../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 | 227 + .../Source/Utility/jucer_Colours.h | 0 .../Source/Utility/jucer_DialogLookAndFeel.h | 138 + .../Source/Utility/jucer_FileHelpers.cpp | 0 .../Source/Utility/jucer_FileHelpers.h | 96 + .../Utility/jucer_FilePathPropertyComponent.h | 145 + .../Source/Utility/jucer_FloatingToolWindow.h | 83 + .../Projucer/Source/Utility/jucer_Icons.cpp | 1019 ++++ extras/Projucer/Source/Utility/jucer_Icons.h | 82 + .../Utility/jucer_JucerTreeViewBase.cpp | 265 ++ .../Source/Utility/jucer_JucerTreeViewBase.h | 234 + .../Source/Utility/jucer_MiscUtilities.cpp | 277 ++ .../Source/Utility/jucer_MiscUtilities.h | 109 + .../Projucer/Source/Utility/jucer_PresetIDs.h | 236 + .../Utility/jucer_ProjucerLookAndFeel.cpp | 146 + .../Utility/jucer_ProjucerLookAndFeel.h | 51 + .../Source/Utility/jucer_RelativePath.h | 0 .../Utility/jucer_SVGPathDataComponent.h | 124 + .../Utility/jucer_SlidingPanelComponent.cpp | 114 + .../Utility/jucer_SlidingPanelComponent.h | 84 + .../Source/Utility/jucer_StoredSettings.cpp | 318 ++ .../Source/Utility/jucer_StoredSettings.h | 0 .../Source/Utility/jucer_TranslationTool.h | 461 ++ .../Source/Utility/jucer_UTF8Component.h | 91 + .../Source/Utility/jucer_ValueSourceHelpers.h | 0 .../Source/Wizards/jucer_NewFileWizard.cpp | 266 ++ .../Source/Wizards/jucer_NewFileWizard.h | 71 + .../Source/Wizards/jucer_NewProjectWizard.h | 229 + .../Wizards/jucer_NewProjectWizardClasses.cpp | 94 + .../Wizards/jucer_NewProjectWizardClasses.h | 0 .../Wizards/jucer_NewProjectWizardComponent.h | 0 .../Wizards/jucer_ProjectWizard_Animated.h | 77 + .../Wizards/jucer_ProjectWizard_AudioApp.h | 84 + .../Wizards/jucer_ProjectWizard_AudioPlugin.h | 106 + .../Wizards/jucer_ProjectWizard_Blank.h | 44 + .../Wizards/jucer_ProjectWizard_Console.h | 87 + .../Source/Wizards/jucer_ProjectWizard_DLL.h | 44 + .../Wizards/jucer_ProjectWizard_GUIApp.h | 123 + .../jucer_ProjectWizard_StaticLibrary.h | 44 + .../Wizards/jucer_ProjectWizard_openGL.h | 77 + .../Source/Wizards/jucer_StartPageComponent.h | 54 + .../jucer_TemplateThumbnailsComponent.h | 284 ++ extras/Projucer/Source/jucer_Headers.h | 38 + .../Builds/LinuxMakefile/Makefile | 60 +- .../UnitTestRunner.xcodeproj/project.pbxproj | 1895 +++++--- .../VisualStudio2015/UnitTestRunner.vcxproj | 1600 ++++--- .../UnitTestRunner.vcxproj.filters | 3063 +++++++----- .../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 | 410 +- .../VisualStudio2010/BinaryBuilder.vcxproj | 325 +- .../BinaryBuilder.vcxproj.filters | 749 +-- .../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 | 1596 ++++--- .../VisualStudio2010/juce_dll.vcxproj.filters | 3062 +++++++----- .../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 + .../buffers/juce_FloatVectorOperations.cpp | 52 +- .../buffers/juce_FloatVectorOperations.h | 10 +- .../effects/juce_CatmullRomInterpolator.cpp | 62 + .../effects/juce_CatmullRomInterpolator.h | 88 + .../juce_audio_basics/effects/juce_FFT.cpp | 2 +- .../effects/juce_LagrangeInterpolator.cpp | 272 +- .../effects/juce_LagrangeInterpolator.h | 14 +- .../effects/juce_LinearSmoothedValue.h | 22 +- .../juce_audio_basics/juce_audio_basics.cpp | 17 +- modules/juce_audio_basics/juce_audio_basics.h | 30 +- modules/juce_audio_basics/juce_module_info | 25 - .../midi/juce_MidiMessage.cpp | 29 +- .../juce_audio_basics/midi/juce_MidiMessage.h | 6 + .../midi/juce_MidiMessageSequence.cpp | 21 +- .../midi/juce_MidiMessageSequence.h | 11 +- .../juce_audio_basics/midi/juce_MidiRPN.cpp | 7 +- modules/juce_audio_basics/midi/juce_MidiRPN.h | 12 +- .../mpe/juce_MPEInstrument.cpp | 374 +- .../mpe/juce_MPEInstrument.h | 60 +- .../mpe/juce_MPEMessages.cpp | 5 +- .../juce_audio_basics/mpe/juce_MPENote.cpp | 6 +- modules/juce_audio_basics/mpe/juce_MPENote.h | 12 +- .../mpe/juce_MPESynthesiser.h | 18 +- .../mpe/juce_MPESynthesiserBase.cpp | 9 +- .../mpe/juce_MPESynthesiserBase.h | 23 +- .../mpe/juce_MPESynthesiserVoice.h | 8 +- .../juce_audio_basics/mpe/juce_MPEValue.cpp | 4 +- modules/juce_audio_basics/mpe/juce_MPEValue.h | 4 +- .../juce_audio_basics/mpe/juce_MPEZone.cpp | 18 +- modules/juce_audio_basics/mpe/juce_MPEZone.h | 10 +- .../mpe/juce_MPEZoneLayout.cpp | 42 +- .../mpe/juce_MPEZoneLayout.h | 42 +- .../sources/juce_BufferingAudioSource.h | 2 +- .../sources/juce_PositionableAudioSource.h | 2 +- .../sources/juce_ResamplingAudioSource.h | 2 +- .../synthesisers/juce_Synthesiser.cpp | 9 +- .../audio_io/juce_AudioDeviceManager.cpp | 307 +- .../audio_io/juce_AudioDeviceManager.h | 9 +- .../juce_audio_devices/juce_audio_devices.cpp | 15 +- .../juce_audio_devices/juce_audio_devices.h | 40 +- modules/juce_audio_devices/juce_module_info | 28 - .../midi_io/juce_MidiInput.h | 3 +- .../native/juce_android_Audio.cpp | 52 +- .../native/juce_android_Midi.cpp | 2 +- .../native/juce_android_OpenSL.cpp | 52 +- .../native/juce_ios_Audio.cpp | 598 ++- .../native/juce_linux_JackAudio.cpp | 2 +- .../native/juce_mac_AudioCDReader.mm | 2 +- .../native/juce_mac_CoreAudio.cpp | 104 +- .../native/juce_mac_CoreMidi.cpp | 6 +- .../native/juce_win32_ASIO.cpp | 102 +- .../native/juce_win32_DirectSound.cpp | 10 +- .../native/juce_win32_WASAPI.cpp | 7 +- .../codecs/juce_AiffAudioFormat.cpp | 4 +- .../codecs/juce_CoreAudioFormat.cpp | 27 +- .../codecs/juce_FlacAudioFormat.cpp | 6 +- .../codecs/juce_LAMEEncoderAudioFormat.cpp | 5 +- .../codecs/juce_MP3AudioFormat.cpp | 2 +- .../codecs/juce_OggVorbisAudioFormat.cpp | 6 +- .../codecs/juce_QuickTimeAudioFormat.cpp | 6 +- .../codecs/juce_WavAudioFormat.cpp | 24 +- .../codecs/juce_WindowsMediaAudioFormat.cpp | 5 +- .../format/juce_AudioFormatManager.h | 4 +- .../juce_audio_formats/juce_audio_formats.cpp | 18 +- .../juce_audio_formats/juce_audio_formats.h | 32 +- modules/juce_audio_formats/juce_module_info | 22 - .../AAX/juce_AAX_Wrapper.cpp | 320 +- .../AAX/juce_AAX_Wrapper.mm | 26 - .../RTAS/juce_RTAS_DigiCode1.cpp | 19 +- .../RTAS/juce_RTAS_DigiCode2.cpp | 18 +- .../RTAS/juce_RTAS_DigiCode3.cpp | 21 +- .../RTAS/juce_RTAS_DigiCode_Header.h | 3 +- .../RTAS/juce_RTAS_MacResources.r | 6 - .../RTAS/juce_RTAS_MacUtilities.mm | 5 +- .../RTAS/juce_RTAS_WinUtilities.cpp | 5 +- .../RTAS/juce_RTAS_Wrapper.cpp | 71 +- .../Standalone/juce_StandaloneFilterApp.cpp | 100 + .../Standalone/juce_StandaloneFilterWindow.h | 68 +- .../VST/juce_VST_Wrapper.cpp | 645 ++- .../VST/juce_VST_Wrapper.mm | 32 +- .../VST3/juce_VST3_Wrapper.cpp | 112 +- .../juce_audio_plugin_client.h | 31 +- .../juce_audio_plugin_client_AAX.cpp | 25 + .../juce_audio_plugin_client_AAX.mm | 26 + .../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 | 12 +- .../utility/juce_IncludeModuleHeaders.h | 12 +- .../utility/juce_IncludeSystemHeaders.h | 20 +- .../utility/juce_PluginBusUtilities.h | 471 +- .../utility/juce_PluginHostType.h | 92 +- .../utility/juce_PluginUtilities.cpp | 14 +- .../format/juce_AudioPluginFormat.cpp | 183 + .../format/juce_AudioPluginFormat.h | 72 +- .../format/juce_AudioPluginFormatManager.cpp | 88 +- .../format/juce_AudioPluginFormatManager.h | 42 + .../format_types/juce_AudioUnitPluginFormat.h | 21 +- .../juce_AudioUnitPluginFormat.mm | 500 +- .../format_types/juce_LADSPAPluginFormat.cpp | 36 +- .../format_types/juce_LADSPAPluginFormat.h | 12 +- .../format_types/juce_VST3Common.h | 92 +- .../format_types/juce_VST3Headers.h | 10 +- .../format_types/juce_VST3PluginFormat.cpp | 96 +- .../format_types/juce_VST3PluginFormat.h | 34 +- .../format_types/juce_VSTPluginFormat.cpp | 273 +- .../format_types/juce_VSTPluginFormat.h | 13 +- .../juce_audio_processors.cpp | 34 +- .../juce_audio_processors.h | 36 +- .../juce_audio_processors/juce_module_info | 26 - .../processors/juce_AudioChannelSet.cpp | 202 +- .../processors/juce_AudioChannelSet.h | 93 +- .../processors/juce_AudioProcessor.cpp | 93 +- .../processors/juce_AudioProcessor.h | 40 +- .../processors/juce_AudioProcessorGraph.cpp | 15 +- .../processors/juce_AudioProcessorGraph.h | 8 +- .../processors/juce_PluginDescription.h | 2 +- .../scanning/juce_KnownPluginList.cpp | 36 +- .../scanning/juce_KnownPluginList.h | 3 +- .../scanning/juce_PluginDirectoryScanner.cpp | 8 +- .../scanning/juce_PluginDirectoryScanner.h | 7 +- .../scanning/juce_PluginListComponent.cpp | 21 +- .../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 | 33 +- .../juce_AudioProcessorValueTreeState.cpp | 15 +- .../juce_AudioProcessorValueTreeState.h | 5 +- .../gui/juce_AudioDeviceSelectorComponent.cpp | 9 +- .../gui/juce_AudioVisualiserComponent.h | 2 +- .../juce_BluetoothMidiDevicePairingDialogue.h | 2 - .../gui/juce_MidiKeyboardComponent.cpp | 32 +- .../gui/juce_MidiKeyboardComponent.h | 18 +- modules/juce_audio_utils/juce_audio_utils.cpp | 17 +- modules/juce_audio_utils/juce_audio_utils.h | 35 +- modules/juce_audio_utils/juce_module_info | 24 - ...oid_BluetoothMidiDevicePairingDialogue.cpp | 30 +- ..._ios_BluetoothMidiDevicePairingDialogue.mm | 21 +- .../players/juce_AudioProcessorPlayer.cpp | 34 +- modules/juce_box2d/juce_box2d.cpp | 6 +- modules/juce_box2d/juce_box2d.h | 28 +- modules/juce_box2d/juce_module_info | 16 - modules/juce_box2d/utils/juce_Box2DRenderer.h | 2 +- .../How to build a browser plugin.txt | 68 - .../juce_browser_plugin.cpp | 57 - .../juce_browser_plugin.h | 146 - .../juce_browser_plugin.mm | 25 - .../juce_module_info | 16 - .../wrapper/juce_ActiveX_GlueCode.cpp | 947 ---- .../wrapper/juce_BrowserPluginComponent.h | 72 - .../wrapper/juce_NPAPI_GlueCode.cpp | 1239 ----- .../wrapper/juce_NPAPI_MacResource.r | 16 - .../wrapper/juce_NPAPI_WinResource.rc | 93 - .../wrapper/npapi/ReadMe.txt | 13 - .../wrapper/npapi/jni.h | 1971 -------- .../wrapper/npapi/jni_md.h | 215 - .../wrapper/npapi/jri.h | 689 --- .../wrapper/npapi/jri_md.h | 574 --- .../wrapper/npapi/jritypes.h | 243 - .../wrapper/npapi/npapi.h | 766 --- .../wrapper/npapi/npruntime.h | 423 -- .../wrapper/npapi/nptypes.h | 105 - .../wrapper/npapi/npupp.h | 715 --- .../wrapper/npapi/obsolete/protypes.h | 252 - .../wrapper/npapi/prcpucfg.h | 300 -- .../wrapper/npapi/prtypes.h | 568 --- modules/juce_core/containers/juce_Array.h | 10 +- .../containers/juce_ElementComparator.h | 4 +- modules/juce_core/containers/juce_HashMap.h | 7 + .../containers/juce_NamedValueSet.cpp | 7 +- .../juce_core/containers/juce_NamedValueSet.h | 3 + .../juce_core/containers/juce_OwnedArray.h | 16 +- .../containers/juce_ReferenceCountedArray.h | 12 +- modules/juce_core/containers/juce_SortedSet.h | 6 + modules/juce_core/containers/juce_Variant.h | 41 +- modules/juce_core/files/juce_File.cpp | 84 +- modules/juce_core/files/juce_File.h | 2 +- .../juce_core/files/juce_WildcardFileFilter.h | 4 +- .../juce_core/javascript/juce_Javascript.cpp | 75 +- modules/juce_core/juce_core.cpp | 21 +- modules/juce_core/juce_core.h | 88 +- modules/juce_core/juce_module_info | 38 - modules/juce_core/maths/juce_BigInteger.cpp | 43 +- modules/juce_core/maths/juce_Expression.cpp | 2 +- modules/juce_core/maths/juce_MathsFunctions.h | 20 +- .../juce_core/maths/juce_NormalisableRange.h | 4 +- .../maths/juce_StatisticsAccumulator.h | 145 + modules/juce_core/memory/juce_Atomic.h | 46 +- modules/juce_core/memory/juce_ByteOrder.h | 19 +- .../memory/juce_OptionalScopedPointer.h | 6 + .../memory/juce_ReferenceCountedObject.h | 12 +- modules/juce_core/memory/juce_ScopedPointer.h | 2 +- .../misc/juce_RuntimePermissions.cpp | 48 + .../juce_core/misc/juce_RuntimePermissions.h | 131 + modules/juce_core/misc/juce_WindowsRegistry.h | 4 +- .../java/AndroidRuntimePermissions.java | 12 + .../native/java/JuceAppActivity.java | 174 +- .../native/juce_BasicNativeHeaders.h | 9 +- .../juce_core/native/juce_android_Files.cpp | 20 +- .../native/juce_android_JNIHelpers.h | 11 +- .../juce_android_RuntimePermissions.cpp | 90 + .../juce_core/native/juce_android_Threads.cpp | 22 +- .../juce_core/native/juce_curl_Network.cpp | 6 +- .../native/juce_linux_CommonFile.cpp | 2 +- .../native/juce_linux_SystemStats.cpp | 5 +- .../juce_core/native/juce_linux_Threads.cpp | 5 - modules/juce_core/native/juce_mac_Files.mm | 12 +- modules/juce_core/native/juce_mac_Network.mm | 7 +- modules/juce_core/native/juce_mac_Strings.mm | 10 +- .../juce_core/native/juce_mac_SystemStats.mm | 20 +- modules/juce_core/native/juce_mac_Threads.mm | 33 +- .../juce_core/native/juce_osx_ObjCHelpers.h | 58 +- .../juce_core/native/juce_posix_SharedCode.h | 87 +- modules/juce_core/native/juce_win32_Files.cpp | 14 +- .../juce_core/native/juce_win32_Registry.cpp | 23 +- .../native/juce_win32_SystemStats.cpp | 61 +- .../juce_core/native/juce_win32_Threads.cpp | 57 +- modules/juce_core/network/juce_Socket.cpp | 155 +- modules/juce_core/network/juce_Socket.h | 2 +- modules/juce_core/system/juce_PlatformDefs.h | 93 +- .../juce_core/system/juce_StandardHeader.h | 33 +- modules/juce_core/system/juce_SystemStats.cpp | 26 +- modules/juce_core/system/juce_SystemStats.h | 23 +- .../juce_core/system/juce_TargetPlatform.h | 44 +- .../juce_core/text/juce_CharPointer_ASCII.h | 6 - .../juce_core/text/juce_CharPointer_UTF8.h | 9 +- .../text/juce_CharacterFunctions.cpp | 13 + .../juce_core/text/juce_CharacterFunctions.h | 62 +- modules/juce_core/text/juce_String.cpp | 12 +- modules/juce_core/text/juce_StringArray.h | 9 +- modules/juce_core/threads/juce_Process.h | 11 +- modules/juce_core/threads/juce_Thread.cpp | 40 +- modules/juce_core/threads/juce_Thread.h | 21 +- modules/juce_core/threads/juce_ThreadPool.cpp | 7 +- modules/juce_core/time/juce_Time.cpp | 425 +- modules/juce_core/time/juce_Time.h | 123 +- .../juce_core/unit_tests/juce_UnitTest.cpp | 4 +- modules/juce_core/unit_tests/juce_UnitTest.h | 4 +- modules/juce_core/xml/juce_XmlDocument.cpp | 2 +- modules/juce_core/xml/juce_XmlElement.cpp | 5 + modules/juce_core/xml/juce_XmlElement.h | 2 +- modules/juce_core/zip/juce_ZipFile.cpp | 84 +- modules/juce_core/zip/juce_ZipFile.h | 16 +- .../juce_cryptography/juce_cryptography.cpp | 6 +- modules/juce_cryptography/juce_cryptography.h | 28 +- modules/juce_cryptography/juce_module_info | 18 - .../juce_data_structures.cpp | 7 +- .../juce_data_structures.h | 29 +- modules/juce_data_structures/juce_module_info | 20 - .../undomanager/juce_UndoableAction.h | 2 +- .../values/juce_CachedValue.cpp | 152 + .../values/juce_CachedValue.h | 311 ++ .../values/juce_ValueTree.cpp | 6 + .../values/juce_ValueTree.h | 14 +- .../broadcasters/juce_AsyncUpdater.cpp | 12 +- modules/juce_events/juce_events.cpp | 18 +- modules/juce_events/juce_events.h | 33 +- modules/juce_events/juce_module_info | 23 - .../messages/juce_ApplicationBase.h | 23 + .../messages/juce_MessageManager.h | 3 +- .../native/juce_ios_MessageManager.mm | 4 +- .../native/juce_linux_Messaging.cpp | 38 +- .../native/juce_mac_MessageManager.mm | 6 +- .../native/juce_osx_MessageQueue.h | 20 +- .../native/juce_win32_Messaging.cpp | 108 +- modules/juce_events/timers/juce_Timer.cpp | 10 + modules/juce_events/timers/juce_Timer.h | 10 +- .../juce_graphics/colour/juce_FillType.cpp | 4 +- .../juce_graphics/colour/juce_PixelFormats.h | 2 +- .../contexts/juce_GraphicsContext.cpp | 8 +- .../contexts/juce_GraphicsContext.h | 10 +- ...uce_LowLevelGraphicsPostScriptRenderer.cpp | 6 +- .../fonts/juce_AttributedString.cpp | 227 +- .../fonts/juce_AttributedString.h | 48 +- .../juce_graphics/fonts/juce_CustomTypeface.h | 2 +- modules/juce_graphics/fonts/juce_Font.cpp | 9 +- .../fonts/juce_GlyphArrangement.h | 2 +- .../juce_graphics/fonts/juce_TextLayout.cpp | 81 +- modules/juce_graphics/fonts/juce_TextLayout.h | 2 +- .../geometry/juce_AffineTransform.cpp | 8 +- .../geometry/juce_AffineTransform.h | 4 +- modules/juce_graphics/geometry/juce_Line.h | 3 + modules/juce_graphics/geometry/juce_Path.cpp | 30 +- modules/juce_graphics/geometry/juce_Path.h | 31 +- .../geometry/juce_PathIterator.cpp | 2 - .../geometry/juce_PathIterator.h | 7 +- .../geometry/juce_PathStrokeType.cpp | 58 +- .../geometry/juce_PathStrokeType.h | 6 +- modules/juce_graphics/geometry/juce_Point.h | 16 +- .../juce_graphics/geometry/juce_Rectangle.h | 19 +- .../geometry/juce_RectangleList.h | 2 +- .../image_formats/juce_JPEGLoader.cpp | 2 +- modules/juce_graphics/images/juce_Image.cpp | 15 +- .../juce_graphics/images/juce_ImageCache.cpp | 4 +- modules/juce_graphics/juce_graphics.cpp | 25 +- modules/juce_graphics/juce_graphics.h | 42 +- modules/juce_graphics/juce_module_info | 30 - .../native/juce_RenderingHelpers.h | 22 +- .../native/juce_mac_CoreGraphicsContext.h | 2 +- .../native/juce_mac_CoreGraphicsContext.mm | 8 +- .../juce_graphics/native/juce_mac_Fonts.mm | 149 +- .../juce_win32_Direct2DGraphicsContext.cpp | 2 +- .../juce_win32_DirectWriteTypeLayout.cpp | 56 +- .../native/juce_win32_DirectWriteTypeface.cpp | 2 +- .../placement/juce_RectanglePlacement.cpp | 2 +- .../juce_gui_basics/buttons/juce_Button.cpp | 7 + modules/juce_gui_basics/buttons/juce_Button.h | 4 +- .../buttons/juce_HyperlinkButton.cpp | 2 +- .../buttons/juce_ToggleButton.h | 4 +- .../commands/juce_ApplicationCommandInfo.h | 2 +- .../commands/juce_ApplicationCommandTarget.h | 2 +- .../components/juce_Component.cpp | 76 +- .../components/juce_Component.h | 12 +- .../components/juce_Desktop.cpp | 10 +- .../juce_gui_basics/components/juce_Desktop.h | 9 +- .../juce_gui_basics/drawables/juce_Drawable.h | 2 +- .../drawables/juce_DrawableComposite.cpp | 2 +- .../drawables/juce_DrawableImage.cpp | 2 +- .../drawables/juce_DrawableShape.cpp | 22 +- .../drawables/juce_DrawableShape.h | 7 + .../drawables/juce_SVGParser.cpp | 290 +- .../filebrowser/juce_FileBrowserComponent.cpp | 2 +- .../filebrowser/juce_FileBrowserComponent.h | 2 +- .../filebrowser/juce_FileChooser.cpp | 9 +- .../filebrowser/juce_FileChooser.h | 38 +- .../filebrowser/juce_FileListComponent.cpp | 2 +- .../juce_FileSearchPathListComponent.cpp | 2 +- .../juce_ImagePreviewComponent.cpp | 2 +- modules/juce_gui_basics/juce_gui_basics.cpp | 28 +- modules/juce_gui_basics/juce_gui_basics.h | 35 +- modules/juce_gui_basics/juce_module_info | 40 - .../layout/juce_AnimatedPositionBehaviours.h | 2 +- .../layout/juce_ComponentBuilder.cpp | 2 +- .../layout/juce_ComponentBuilder.h | 6 +- .../juce_gui_basics/layout/juce_Viewport.cpp | 130 +- .../juce_gui_basics/layout/juce_Viewport.h | 18 +- .../lookandfeel/juce_LookAndFeel.h | 2 +- .../lookandfeel/juce_LookAndFeel_V2.cpp | 18 +- .../lookandfeel/juce_LookAndFeel_V3.cpp | 3 +- .../juce_gui_basics/menus/juce_PopupMenu.cpp | 551 ++- .../juce_gui_basics/menus/juce_PopupMenu.h | 105 +- .../misc/juce_BubbleComponent.cpp | 28 +- .../misc/juce_BubbleComponent.h | 11 +- .../mouse/juce_DragAndDropContainer.h | 2 +- .../mouse/juce_LassoComponent.h | 2 +- .../juce_gui_basics/mouse/juce_MouseEvent.cpp | 7 +- .../juce_gui_basics/mouse/juce_MouseEvent.h | 30 +- .../mouse/juce_MouseInputSource.cpp | 2 +- .../native/juce_android_FileChooser.cpp | 1 + .../native/juce_android_Windowing.cpp | 107 +- .../native/juce_ios_UIViewComponentPeer.mm | 82 +- .../native/juce_ios_Windowing.mm | 124 +- .../native/juce_linux_FileChooser.cpp | 1 + .../native/juce_linux_Windowing.cpp | 204 +- .../native/juce_mac_FileChooser.mm | 5 + .../native/juce_mac_MainMenu.mm | 31 +- .../native/juce_mac_NSViewComponentPeer.mm | 274 +- .../native/juce_mac_Windowing.mm | 72 +- .../native/juce_win32_FileChooser.cpp | 3 +- .../native/juce_win32_Windowing.cpp | 86 +- .../properties/juce_TextPropertyComponent.h | 2 +- .../juce_gui_basics/widgets/juce_ComboBox.cpp | 2 +- .../juce_gui_basics/widgets/juce_Label.cpp | 5 +- modules/juce_gui_basics/widgets/juce_Label.h | 2 +- .../juce_gui_basics/widgets/juce_ListBox.cpp | 4 +- .../juce_gui_basics/widgets/juce_Slider.cpp | 75 +- modules/juce_gui_basics/widgets/juce_Slider.h | 41 +- .../widgets/juce_TableHeaderComponent.cpp | 6 +- .../widgets/juce_TableHeaderComponent.h | 4 +- .../widgets/juce_TableListBox.cpp | 26 +- .../juce_gui_basics/widgets/juce_TextEditor.h | 4 +- .../widgets/juce_ToolbarItemComponent.cpp | 4 +- .../windows/juce_AlertWindow.cpp | 2 +- .../windows/juce_AlertWindow.h | 18 +- .../windows/juce_CallOutBox.cpp | 2 +- .../windows/juce_ComponentPeer.cpp | 2 +- .../windows/juce_DialogWindow.cpp | 12 +- .../windows/juce_DialogWindow.h | 6 + .../windows/juce_ResizableWindow.cpp | 18 +- .../windows/juce_ResizableWindow.h | 5 +- .../windows/juce_TopLevelWindow.h | 2 +- .../juce_CPlusPlusCodeTokeniserFunctions.h | 34 +- .../code_editor/juce_CodeDocument.cpp | 10 +- .../code_editor/juce_CodeDocument.h | 2 +- .../code_editor/juce_CodeEditorComponent.cpp | 2 +- .../code_editor/juce_XMLCodeTokeniser.cpp | 2 +- modules/juce_gui_extra/juce_gui_extra.cpp | 20 +- modules/juce_gui_extra/juce_gui_extra.h | 32 +- modules/juce_gui_extra/juce_module_info | 24 - .../misc/juce_ColourSelector.cpp | 4 +- .../misc/juce_KeyMappingEditorComponent.cpp | 13 +- .../misc/juce_RecentlyOpenedFilesList.cpp | 2 +- .../juce_android_WebBrowserComponent.cpp | 4 + .../native/juce_linux_WebBrowserComponent.cpp | 4 + .../native/juce_mac_AppleRemote.mm | 21 +- .../juce_mac_CarbonViewWrapperComponent.h | 25 +- .../native/juce_mac_WebBrowserComponent.mm | 12 +- modules/juce_opengl/juce_module_info | 25 - modules/juce_opengl/juce_opengl.cpp | 37 +- modules/juce_opengl/juce_opengl.h | 44 +- .../native/juce_OpenGLExtensions.h | 89 +- .../juce_opengl/native/juce_OpenGL_android.h | 4 +- modules/juce_opengl/native/juce_OpenGL_ios.h | 2 +- modules/juce_opengl/native/juce_OpenGL_osx.h | 59 +- .../juce_opengl/opengl/juce_OpenGLContext.cpp | 99 +- .../opengl/juce_OpenGLGraphicsContext.cpp | 24 +- modules/juce_osc/juce_module_info | 16 - modules/juce_osc/juce_osc.cpp | 9 +- modules/juce_osc/juce_osc.h | 32 +- modules/juce_osc/osc/juce_OSCAddress.cpp | 28 +- modules/juce_osc/osc/juce_OSCAddress.h | 8 +- 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 | 10 +- modules/juce_osc/osc/juce_OSCMessage.cpp | 6 +- modules/juce_osc/osc/juce_OSCMessage.h | 10 +- modules/juce_osc/osc/juce_OSCReceiver.cpp | 48 +- modules/juce_osc/osc/juce_OSCReceiver.h | 18 +- modules/juce_osc/osc/juce_OSCSender.cpp | 44 +- modules/juce_osc/osc/juce_OSCSender.h | 70 +- 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.cpp | 6 +- .../juce_tracktion_marketplace.h | 32 +- .../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 | 17 +- modules/juce_video/juce_video.h | 34 +- .../native/juce_win32_DirectShowComponent.cpp | 48 +- .../playback/juce_QuickTimeMovieComponent.h | 2 - 2465 files changed, 258119 insertions(+), 182767 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-VST.plist create mode 100644 examples/AUv3Synth/Builds/MacOSX/Info-VST3.plist rename examples/{ExpressiveMidiTest => 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/JuceLibraryCode/AppConfig.h create mode 100644 examples/AUv3Synth/JuceLibraryCode/BinaryData.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/BinaryData.h create mode 100644 examples/AUv3Synth/JuceLibraryCode/JuceHeader.h create mode 100644 examples/AUv3Synth/JuceLibraryCode/ReadMe.txt 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 create mode 100644 examples/AnimationAppExample/Builds/MacOSX/Info-App.plist delete mode 100644 examples/AnimationAppExample/Builds/MacOSX/Info.plist create mode 100644 examples/AnimationAppExample/Builds/iOS/Info-App.plist delete mode 100644 examples/AnimationAppExample/Builds/iOS/Info.plist 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 create mode 100644 examples/AudioAppExample/Builds/MacOSX/Info-App.plist delete mode 100644 examples/AudioAppExample/Builds/MacOSX/Info.plist create mode 100644 examples/AudioAppExample/Builds/iOS/Info-App.plist delete mode 100644 examples/AudioAppExample/Builds/iOS/Info.plist 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 create mode 100644 examples/BouncingBallWavetableDemo/Builds/MacOSX/Info-App.plist delete mode 100644 examples/BouncingBallWavetableDemo/Builds/MacOSX/Info.plist 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 create mode 100644 examples/ComponentTutorialExample/Builds/MacOSX/Info-App.plist delete mode 100644 examples/ComponentTutorialExample/Builds/MacOSX/Info.plist 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 create mode 100644 examples/Demo/Builds/MacOSX/Info-App.plist delete mode 100644 examples/Demo/Builds/MacOSX/Info.plist create mode 100644 examples/Demo/Builds/iOS/Info-App.plist delete mode 100644 examples/Demo/Builds/iOS/Info.plist create mode 100644 examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-29.png create mode 100644 examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png create mode 100644 examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png create mode 100644 examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png delete mode 100644 examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-Small.png delete mode 100644 examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png delete mode 100644 examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png 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 delete mode 100644 examples/ExpressiveMidiTest/Builds/LinuxMakefile/Makefile delete mode 100644 examples/ExpressiveMidiTest/Builds/MacOSX/ExpressiveMidiTest.xcodeproj/project.pbxproj delete mode 100644 examples/ExpressiveMidiTest/Builds/MacOSX/Info.plist delete mode 100644 examples/ExpressiveMidiTest/Builds/VisualStudio2015/ExpressiveMidiTest.sln delete mode 100644 examples/ExpressiveMidiTest/Builds/VisualStudio2015/ExpressiveMidiTest.vcxproj delete mode 100644 examples/ExpressiveMidiTest/Builds/VisualStudio2015/ExpressiveMidiTest.vcxproj.filters delete mode 100644 examples/ExpressiveMidiTest/Builds/VisualStudio2015/resources.rc delete mode 100644 examples/ExpressiveMidiTest/ExpressiveMidiTest.jucer delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/AppConfig.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/JuceHeader.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/ReadMe.txt delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_video/juce_video.h delete mode 100644 examples/ExpressiveMidiTest/Source/Main.cpp delete mode 100644 examples/ExpressiveMidiTest/Source/MainComponent.h delete mode 100644 examples/ExpressiveMidiTest/Source/Setup.h delete mode 100644 examples/ExpressiveMidiTest/Source/Synth.h delete mode 100644 examples/ExpressiveMidiTest/Source/Visualiser.h create mode 100644 examples/HelloWorld/Builds/MacOSX/Info-App.plist delete mode 100644 examples/HelloWorld/Builds/MacOSX/Info.plist create mode 100644 examples/HelloWorld/Builds/iOS/Info-App.plist delete mode 100644 examples/HelloWorld/Builds/iOS/Info.plist 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 delete mode 100644 examples/MidiTest/Builds/Android/AndroidManifest.xml delete mode 100644 examples/MidiTest/Builds/Android/build.xml delete mode 100644 examples/MidiTest/Builds/Android/jni/Android.mk delete mode 100644 examples/MidiTest/Builds/Android/jni/Application.mk delete mode 100644 examples/MidiTest/Builds/Android/local.properties delete mode 100644 examples/MidiTest/Builds/Android/project.properties delete mode 100644 examples/MidiTest/Builds/Android/res/values/strings.xml delete mode 100644 examples/MidiTest/Builds/Android/src/com/yourcompany/miditest/MidiTest.java create mode 100644 examples/MidiTest/Builds/MacOSX/Info-App.plist delete mode 100644 examples/MidiTest/Builds/MacOSX/Info.plist 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 create mode 100644 examples/MidiTest/Builds/iOS/Info-App.plist delete mode 100644 examples/MidiTest/Builds/iOS/Info.plist 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 create mode 100644 examples/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile create mode 100644 examples/NetworkGraphicsDemo/Builds/MacOSX/Icon.icns create mode 100644 examples/NetworkGraphicsDemo/Builds/MacOSX/Info-App.plist create mode 100644 examples/NetworkGraphicsDemo/Builds/MacOSX/JUCE Network Graphics Demo.xcodeproj/project.pbxproj rename examples/{PlugInSamples/Spatializer => NetworkGraphicsDemo}/Builds/MacOSX/RecentFilesMenuTemplate.nib (100%) create mode 100644 examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.sln create mode 100644 examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj create mode 100644 examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj.filters create mode 100644 examples/NetworkGraphicsDemo/Builds/VisualStudio2013/icon.ico create mode 100644 examples/NetworkGraphicsDemo/Builds/VisualStudio2013/resources.rc create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/Icon.icns create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/Info-App.plist create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo.xcodeproj/project.pbxproj create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-29.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-72.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-76.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-@3x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon@2x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/LaunchImage.launchimage/Contents.json create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-1x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-2x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-1x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-2x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-2x.png create mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-retina4.png create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/AppConfig.h create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/BinaryData.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/BinaryData.h create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/JuceHeader.h create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/ReadMe.txt 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 create mode 100644 examples/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer create mode 100644 examples/NetworkGraphicsDemo/README.txt create mode 100644 examples/NetworkGraphicsDemo/Source/Demos.h create mode 100644 examples/NetworkGraphicsDemo/Source/Main.cpp create mode 100644 examples/NetworkGraphicsDemo/Source/MasterComponent.h create mode 100644 examples/NetworkGraphicsDemo/Source/SharedCanvas.h create mode 100644 examples/NetworkGraphicsDemo/Source/SlaveComponent.h create mode 100644 examples/NetworkGraphicsDemo/Source/juce_icon.png create mode 100644 examples/OSCMonitor/Builds/MacOSX/Info-App.plist delete mode 100644 examples/OSCMonitor/Builds/MacOSX/Info.plist 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 create mode 100644 examples/OSCReceiver/Builds/MacOSX/Info-App.plist delete mode 100644 examples/OSCReceiver/Builds/MacOSX/Info.plist create mode 100644 examples/OSCReceiver/Builds/iOS/Info-App.plist delete mode 100644 examples/OSCReceiver/Builds/iOS/Info.plist 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 create mode 100644 examples/OSCSender/Builds/MacOSX/Info-App.plist delete mode 100644 examples/OSCSender/Builds/MacOSX/Info.plist create mode 100644 examples/OSCSender/Builds/iOS/Info-App.plist delete mode 100644 examples/OSCSender/Builds/iOS/Info.plist 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 create mode 100644 examples/OpenGLAppExample/Builds/MacOSX/Info-App.plist delete mode 100644 examples/OpenGLAppExample/Builds/MacOSX/Info.plist create mode 100644 examples/OpenGLAppExample/Builds/iOS/Info-App.plist delete mode 100644 examples/OpenGLAppExample/Builds/iOS/Info.plist 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 delete mode 100644 examples/OpenGLAppExample/Source/FragmentShader.glsl delete mode 100644 examples/OpenGLAppExample/Source/VertexShader.glsl create mode 100644 examples/PluckedStringsDemo/Builds/MacOSX/Info-App.plist delete mode 100644 examples/PluckedStringsDemo/Builds/MacOSX/Info.plist 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 create mode 100644 examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-AU.plist 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 delete mode 100644 examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info.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 create mode 100644 examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-AU.plist 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 delete mode 100644 examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info.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 create mode 100644 examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-AU.plist 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 delete mode 100644 examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info.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 create mode 100644 examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-AU.plist 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 delete mode 100644 examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info.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/AppConfig.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/JuceHeader.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/ReadMe.txt 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/LinuxMakefile/Makefile create mode 100644 examples/PlugInSamples/Surround/Builds/MacOSX/Info-AAX.plist create mode 100644 examples/PlugInSamples/Surround/Builds/MacOSX/Info-AU.plist 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 rename {extras/Introjucer => examples/PlugInSamples/Surround}/Builds/MacOSX/RecentFilesMenuTemplate.nib (100%) create mode 100644 examples/PlugInSamples/Surround/Builds/MacOSX/Surround.entitlements create mode 100644 examples/PlugInSamples/Surround/Builds/MacOSX/Surround.xcodeproj/project.pbxproj create mode 100644 examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.sln create mode 100644 examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj create mode 100644 examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj.filters create mode 100644 examples/PlugInSamples/Surround/Builds/VisualStudio2015/resources.rc create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/AppConfig.h create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/JuceHeader.h create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/ReadMe.txt 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 create mode 100644 examples/PlugInSamples/Surround/Source/SurroundEditor.h create mode 100644 examples/PlugInSamples/Surround/Source/SurroundProcessor.cpp create mode 100644 examples/PlugInSamples/Surround/Surround.jucer create mode 100644 examples/SimpleFFTExample/Builds/MacOSX/Info-App.plist delete mode 100644 examples/SimpleFFTExample/Builds/MacOSX/Info.plist 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 create mode 100644 examples/audio plugin demo/Builds/MacOSX/Info-AU.plist 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 delete mode 100644 examples/audio plugin demo/Builds/MacOSX/Info.plist create mode 100644 examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.entitlements delete mode 100644 examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.sln delete mode 100644 examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj delete mode 100644 examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj.filters delete mode 100644 examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.sln delete mode 100644 examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.vcxproj delete mode 100644 examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.vcxproj.filters delete mode 100644 examples/audio plugin demo/Builds/VisualStudio2013/resources.rc create mode 100644 examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.sln create mode 100644 examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj create mode 100644 examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj.filters rename examples/audio plugin demo/Builds/{VisualStudio2010 => VisualStudio2015}/resources.rc (100%) 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 create mode 100644 examples/audio plugin host/Builds/MacOSX/Info-App.plist delete mode 100644 examples/audio plugin host/Builds/MacOSX/Info.plist 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 create mode 100644 extras/AudioPerformanceTest/AudioPerformanceTest.jucer create mode 100644 extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile create mode 100644 extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj create mode 100644 extras/AudioPerformanceTest/Builds/MacOSX/Info-App.plist rename extras/{Introjucer/Source/BinaryData => AudioPerformanceTest/Builds/MacOSX}/RecentFilesMenuTemplate.nib (100%) create mode 100644 extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.sln create mode 100644 extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj create mode 100644 extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj.filters create mode 100644 extras/AudioPerformanceTest/Builds/VisualStudio2015/resources.rc create mode 100644 extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj create mode 100644 extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/LaunchImage.launchimage/Contents.json create mode 100644 extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-1x.png create mode 100644 extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-2x.png create mode 100644 extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-1x.png create mode 100644 extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-2x.png create mode 100644 extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-2x.png create mode 100644 extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-retina4.png create mode 100644 extras/AudioPerformanceTest/Builds/iOS/Info-App.plist create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/AppConfig.h create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/JuceHeader.h create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/ReadMe.txt 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 create mode 100644 extras/AudioPerformanceTest/Source/Main.cpp create mode 100644 extras/AudioPerformanceTest/Source/MainComponent.h delete mode 100644 extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp delete mode 100644 extras/Introjucer/Builds/Linux/Makefile delete mode 100644 extras/Introjucer/Builds/MacOSX/Icon.icns delete mode 100644 extras/Introjucer/Builds/MacOSX/Info.plist delete mode 100644 extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj 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/VisualStudio2012/resources.rc delete mode 100644 extras/Introjucer/Builds/VisualStudio2013/The Introjucer.sln delete mode 100644 extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj delete mode 100644 extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj.filters 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/The Introjucer.vcxproj delete mode 100644 extras/Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj.filters delete mode 100644 extras/Introjucer/Builds/VisualStudio2015/icon.ico delete mode 100644 extras/Introjucer/Builds/VisualStudio2015/resources.rc delete mode 100644 extras/Introjucer/Introjucer.jucer delete mode 100644 extras/Introjucer/JuceLibraryCode/AppConfig.h delete mode 100644 extras/Introjucer/JuceLibraryCode/BinaryData.cpp delete mode 100644 extras/Introjucer/JuceLibraryCode/BinaryData.h delete mode 100644 extras/Introjucer/JuceLibraryCode/JuceHeader.h delete mode 100644 extras/Introjucer/JuceLibraryCode/ReadMe.txt 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_AppearanceSettings.cpp delete mode 100644 extras/Introjucer/Source/Application/jucer_AppearanceSettings.h delete mode 100644 extras/Introjucer/Source/Application/jucer_Application.h delete mode 100644 extras/Introjucer/Source/Application/jucer_AutoUpdater.cpp delete mode 100644 extras/Introjucer/Source/Application/jucer_AutoUpdater.h delete mode 100644 extras/Introjucer/Source/Application/jucer_CommandIDs.h delete mode 100644 extras/Introjucer/Source/Application/jucer_CommandLine.cpp delete mode 100644 extras/Introjucer/Source/Application/jucer_CommonHeaders.h delete mode 100644 extras/Introjucer/Source/Application/jucer_DocumentEditorComponent.cpp delete mode 100644 extras/Introjucer/Source/Application/jucer_FilePreviewComponent.h delete mode 100644 extras/Introjucer/Source/Application/jucer_GlobalPreferences.cpp delete mode 100644 extras/Introjucer/Source/Application/jucer_GlobalPreferences.h delete mode 100644 extras/Introjucer/Source/Application/jucer_Main.cpp delete mode 100644 extras/Introjucer/Source/Application/jucer_MainWindow.cpp delete mode 100644 extras/Introjucer/Source/Application/jucer_OpenDocumentManager.cpp delete mode 100644 extras/Introjucer/Source/Application/jucer_OpenDocumentManager.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/BinaryData/jucer_AudioComponentTemplate.cpp delete mode 100644 extras/Introjucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp delete mode 100644 extras/Introjucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.h delete mode 100644 extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp delete mode 100644 extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h delete mode 100644 extras/Introjucer/Source/BinaryData/jucer_ComponentTemplate.cpp delete mode 100644 extras/Introjucer/Source/BinaryData/jucer_ComponentTemplate.h delete mode 100644 extras/Introjucer/Source/BinaryData/jucer_InlineComponentTemplate.h delete mode 100644 extras/Introjucer/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp delete mode 100644 extras/Introjucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp delete mode 100644 extras/Introjucer/Source/BinaryData/jucer_MainTemplate_Window.cpp delete mode 100644 extras/Introjucer/Source/BinaryData/jucer_NewInlineComponentTemplate.h delete mode 100644 extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.cpp delete mode 100644 extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.h delete mode 100644 extras/Introjucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp delete mode 100644 extras/Introjucer/Source/ComponentEditor/components/jucer_GenericComponentHandler.h delete mode 100644 extras/Introjucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h delete mode 100644 extras/Introjucer/Source/ComponentEditor/components/jucer_SliderHandler.h delete mode 100644 extras/Introjucer/Source/ComponentEditor/components/jucer_TabbedComponentHandler.h delete mode 100644 extras/Introjucer/Source/ComponentEditor/components/jucer_ViewportHandler.h delete mode 100644 extras/Introjucer/Source/ComponentEditor/documents/jucer_ComponentDocument.cpp delete mode 100644 extras/Introjucer/Source/ComponentEditor/jucer_GeneratedCode.cpp delete mode 100644 extras/Introjucer/Source/ComponentEditor/jucer_GeneratedCode.h delete mode 100644 extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.cpp delete mode 100644 extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.h delete mode 100644 extras/Introjucer/Source/ComponentEditor/jucer_PaintRoutine.cpp delete mode 100644 extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp delete mode 100644 extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp delete mode 100644 extras/Introjucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h delete mode 100644 extras/Introjucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp delete mode 100644 extras/Introjucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp delete mode 100644 extras/Introjucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp delete mode 100644 extras/Introjucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp delete mode 100644 extras/Introjucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp delete mode 100644 extras/Introjucer/Source/ComponentEditor/ui/jucer_TestComponent.h delete mode 100644 extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h delete mode 100644 extras/Introjucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h delete mode 100644 extras/Introjucer/Source/Project Saving/jucer_ProjectExport_CodeBlocks.h delete mode 100644 extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h delete mode 100644 extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Make.h delete mode 100644 extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h delete mode 100644 extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.cpp delete mode 100644 extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h delete mode 100644 extras/Introjucer/Source/Project Saving/jucer_ProjectSaver.h delete mode 100644 extras/Introjucer/Source/Project Saving/jucer_ResourceFile.cpp delete mode 100644 extras/Introjucer/Source/Project Saving/jucer_ResourceFile.h delete mode 100644 extras/Introjucer/Source/Project/jucer_AudioPluginModule.h delete mode 100644 extras/Introjucer/Source/Project/jucer_ConfigTree_Base.h delete mode 100644 extras/Introjucer/Source/Project/jucer_ConfigTree_Modules.h delete mode 100644 extras/Introjucer/Source/Project/jucer_DependencyPathPropertyComponent.cpp delete mode 100644 extras/Introjucer/Source/Project/jucer_DependencyPathPropertyComponent.h delete mode 100644 extras/Introjucer/Source/Project/jucer_GroupInformationComponent.h delete mode 100644 extras/Introjucer/Source/Project/jucer_Module.cpp delete mode 100644 extras/Introjucer/Source/Project/jucer_Module.h delete mode 100644 extras/Introjucer/Source/Project/jucer_ModulesPanel.h delete mode 100644 extras/Introjucer/Source/Project/jucer_Project.cpp delete mode 100644 extras/Introjucer/Source/Project/jucer_Project.h delete mode 100644 extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp delete mode 100644 extras/Introjucer/Source/Project/jucer_ProjectContentComponent.h delete mode 100644 extras/Introjucer/Source/Project/jucer_ProjectTree_Base.h delete mode 100644 extras/Introjucer/Source/Project/jucer_ProjectTree_Group.h delete mode 100644 extras/Introjucer/Source/Project/jucer_ProjectType.cpp delete mode 100644 extras/Introjucer/Source/Project/jucer_ProjectType.h delete mode 100644 extras/Introjucer/Source/Utility/jucer_FileHelpers.h delete mode 100644 extras/Introjucer/Source/Utility/jucer_Icons.cpp delete mode 100644 extras/Introjucer/Source/Utility/jucer_Icons.h delete mode 100644 extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.cpp delete mode 100644 extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.h delete mode 100644 extras/Introjucer/Source/Utility/jucer_MiscUtilities.cpp delete mode 100644 extras/Introjucer/Source/Utility/jucer_MiscUtilities.h delete mode 100644 extras/Introjucer/Source/Utility/jucer_PresetIDs.h delete mode 100644 extras/Introjucer/Source/Utility/jucer_SlidingPanelComponent.cpp delete mode 100644 extras/Introjucer/Source/Utility/jucer_SlidingPanelComponent.h delete mode 100644 extras/Introjucer/Source/Utility/jucer_StoredSettings.cpp delete mode 100644 extras/Introjucer/Source/Utility/jucer_TranslationTool.h delete mode 100644 extras/Introjucer/Source/Wizards/jucer_NewFileWizard.cpp delete mode 100644 extras/Introjucer/Source/Wizards/jucer_NewFileWizard.h delete mode 100644 extras/Introjucer/Source/Wizards/jucer_NewProjectWizard.h delete mode 100644 extras/Introjucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp delete mode 100644 extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Animated.h delete mode 100644 extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h delete mode 100644 extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h delete mode 100644 extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Blank.h delete mode 100644 extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Console.h delete mode 100644 extras/Introjucer/Source/Wizards/jucer_ProjectWizard_DLL.h delete mode 100644 extras/Introjucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h delete mode 100644 extras/Introjucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h delete mode 100644 extras/Introjucer/Source/Wizards/jucer_ProjectWizard_openGL.h delete mode 100644 extras/Introjucer/Source/Wizards/jucer_StartPageComponent.h delete mode 100644 extras/Introjucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h delete mode 100644 extras/Introjucer/Source/jucer_Headers.h create mode 100644 extras/Introjucer/Where has the Introjucer gone.txt create mode 100644 extras/Projucer/Builds/LinuxMakefile/Makefile create mode 100644 extras/Projucer/Builds/MacOSX/Icon.icns create mode 100644 extras/Projucer/Builds/MacOSX/Info-App.plist create mode 100644 extras/Projucer/Builds/MacOSX/Info.plist create mode 100644 extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj create mode 100644 extras/Projucer/Builds/MacOSX/RecentFilesMenuTemplate.nib create mode 100644 extras/Projucer/Builds/VisualStudio2013/Projucer.sln create mode 100644 extras/Projucer/Builds/VisualStudio2013/Projucer.vcxproj create mode 100644 extras/Projucer/Builds/VisualStudio2013/Projucer.vcxproj.filters create mode 100644 extras/Projucer/Builds/VisualStudio2013/icon.ico create mode 100644 extras/Projucer/Builds/VisualStudio2013/resources.rc create mode 100644 extras/Projucer/Builds/VisualStudio2015/Projucer.sln create mode 100644 extras/Projucer/Builds/VisualStudio2015/Projucer.vcxproj create mode 100644 extras/Projucer/Builds/VisualStudio2015/Projucer.vcxproj.filters create mode 100644 extras/Projucer/Builds/VisualStudio2015/icon.ico create mode 100644 extras/Projucer/Builds/VisualStudio2015/resources.rc create mode 100644 extras/Projucer/JuceLibraryCode/AppConfig.h create mode 100644 extras/Projucer/JuceLibraryCode/BinaryData.cpp create mode 100644 extras/Projucer/JuceLibraryCode/BinaryData.h create mode 100644 extras/Projucer/JuceLibraryCode/JuceHeader.h create mode 100644 extras/Projucer/JuceLibraryCode/ReadMe.txt 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 create mode 100644 extras/Projucer/Source/Application/jucer_AppearanceSettings.cpp create mode 100644 extras/Projucer/Source/Application/jucer_AppearanceSettings.h create mode 100644 extras/Projucer/Source/Application/jucer_Application.cpp create mode 100644 extras/Projucer/Source/Application/jucer_Application.h create mode 100644 extras/Projucer/Source/Application/jucer_AutoUpdater.cpp create mode 100644 extras/Projucer/Source/Application/jucer_AutoUpdater.h create mode 100644 extras/Projucer/Source/Application/jucer_CommandIDs.h create mode 100644 extras/Projucer/Source/Application/jucer_CommandLine.cpp rename extras/{Introjucer => Projucer}/Source/Application/jucer_CommandLine.h (100%) create mode 100644 extras/Projucer/Source/Application/jucer_CommonHeaders.h create mode 100644 extras/Projucer/Source/Application/jucer_DocumentEditorComponent.cpp rename extras/{Introjucer => Projucer}/Source/Application/jucer_DocumentEditorComponent.h (100%) create mode 100644 extras/Projucer/Source/Application/jucer_EulaDialogue.h create mode 100644 extras/Projucer/Source/Application/jucer_FilePreviewComponent.h create mode 100644 extras/Projucer/Source/Application/jucer_GlobalPreferences.cpp create mode 100644 extras/Projucer/Source/Application/jucer_GlobalPreferences.h create mode 100644 extras/Projucer/Source/Application/jucer_LoginForm.h create mode 100644 extras/Projucer/Source/Application/jucer_Main.cpp create mode 100644 extras/Projucer/Source/Application/jucer_MainWindow.cpp rename extras/{Introjucer => Projucer}/Source/Application/jucer_MainWindow.h (100%) create mode 100644 extras/Projucer/Source/Application/jucer_OpenDocumentManager.cpp create mode 100644 extras/Projucer/Source/Application/jucer_OpenDocumentManager.h create mode 100644 extras/Projucer/Source/Application/jucer_ProjucerLicenses.h create mode 100644 extras/Projucer/Source/BinaryData/RecentFilesMenuTemplate.nib 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%) create mode 100644 extras/Projucer/Source/BinaryData/juce_icon.png rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_AnimatedComponentTemplate.cpp (100%) create mode 100644 extras/Projucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp create mode 100644 extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp create mode 100644 extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.h create mode 100644 extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp create mode 100644 extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h create mode 100644 extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.cpp create mode 100644 extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.h rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_ContentCompTemplate.cpp (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_ContentCompTemplate.h (100%) create mode 100644 extras/Projucer/Source/BinaryData/jucer_InlineComponentTemplate.h rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_MainConsoleAppTemplate.cpp (100%) create mode 100644 extras/Projucer/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp create mode 100644 extras/Projucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp create mode 100644 extras/Projucer/Source/BinaryData/jucer_MainTemplate_Window.cpp 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%) create mode 100644 extras/Projucer/Source/BinaryData/jucer_NewInlineComponentTemplate.h 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 create mode 100644 extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp create mode 100644 extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.h 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%) create mode 100644 extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_ComponentTypeHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_ComponentUndoableAction.h (100%) create mode 100644 extras/Projucer/Source/ComponentEditor/components/jucer_GenericComponentHandler.h 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%) create mode 100644 extras/Projucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_LabelHandler.h (100%) create mode 100644 extras/Projucer/Source/ComponentEditor/components/jucer_SliderHandler.h create mode 100644 extras/Projucer/Source/ComponentEditor/components/jucer_TabbedComponentHandler.h 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%) create mode 100644 extras/Projucer/Source/ComponentEditor/components/jucer_ViewportHandler.h rename extras/{Introjucer => Projucer}/Source/ComponentEditor/documents/jucer_ButtonDocument.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/documents/jucer_ButtonDocument.h (100%) create mode 100644 extras/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.cpp 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%) create mode 100644 extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.cpp create mode 100644 extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.h create mode 100644 extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp create mode 100644 extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_ObjectTypes.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_ObjectTypes.h (100%) create mode 100644 extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.cpp 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%) create mode 100644 extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp 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%) create mode 100644 extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp 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%) create mode 100644 extras/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h 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%) create mode 100644 extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_ComponentLayoutPanel.h (100%) create mode 100644 extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp 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%) create mode 100644 extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.h (100%) create mode 100644 extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp 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%) create mode 100644 extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp create mode 100644 extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.h 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 create mode 100644 extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidAnt.h create mode 100644 extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidBase.h create mode 100644 extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h create mode 100644 extras/Projucer/Source/Project Saving/jucer_ProjectExport_CodeBlocks.h create mode 100644 extras/Projucer/Source/Project Saving/jucer_ProjectExport_MSVC.h create mode 100644 extras/Projucer/Source/Project Saving/jucer_ProjectExport_Make.h create mode 100644 extras/Projucer/Source/Project Saving/jucer_ProjectExport_XCode.h create mode 100644 extras/Projucer/Source/Project Saving/jucer_ProjectExporter.cpp create mode 100644 extras/Projucer/Source/Project Saving/jucer_ProjectExporter.h create mode 100644 extras/Projucer/Source/Project Saving/jucer_ProjectSaver.cpp create mode 100644 extras/Projucer/Source/Project Saving/jucer_ProjectSaver.h create mode 100644 extras/Projucer/Source/Project Saving/jucer_ResourceFile.cpp create mode 100644 extras/Projucer/Source/Project Saving/jucer_ResourceFile.h create mode 100644 extras/Projucer/Source/Project Saving/jucer_TextWithDefaultPropertyComponent.h create mode 100644 extras/Projucer/Source/Project/jucer_ConfigTree_Base.h rename extras/{Introjucer => Projucer}/Source/Project/jucer_ConfigTree_Exporter.h (100%) create mode 100644 extras/Projucer/Source/Project/jucer_ConfigTree_Modules.h create mode 100644 extras/Projucer/Source/Project/jucer_DependencyPathPropertyComponent.cpp create mode 100644 extras/Projucer/Source/Project/jucer_DependencyPathPropertyComponent.h create mode 100644 extras/Projucer/Source/Project/jucer_GroupInformationComponent.h create mode 100644 extras/Projucer/Source/Project/jucer_Module.cpp create mode 100644 extras/Projucer/Source/Project/jucer_Module.h create mode 100644 extras/Projucer/Source/Project/jucer_ModulesPanel.h create mode 100644 extras/Projucer/Source/Project/jucer_Project.cpp create mode 100644 extras/Projucer/Source/Project/jucer_Project.h create mode 100644 extras/Projucer/Source/Project/jucer_ProjectContentComponent.cpp create mode 100644 extras/Projucer/Source/Project/jucer_ProjectContentComponent.h create mode 100644 extras/Projucer/Source/Project/jucer_ProjectTree_Base.h rename extras/{Introjucer => Projucer}/Source/Project/jucer_ProjectTree_File.h (100%) create mode 100644 extras/Projucer/Source/Project/jucer_ProjectTree_Group.h 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%) create mode 100644 extras/Projucer/Source/Utility/jucer_ColourPropertyComponent.h 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%) create mode 100644 extras/Projucer/Source/Utility/jucer_FileHelpers.h create mode 100644 extras/Projucer/Source/Utility/jucer_FilePathPropertyComponent.h create mode 100644 extras/Projucer/Source/Utility/jucer_FloatingToolWindow.h create mode 100644 extras/Projucer/Source/Utility/jucer_Icons.cpp create mode 100644 extras/Projucer/Source/Utility/jucer_Icons.h create mode 100644 extras/Projucer/Source/Utility/jucer_JucerTreeViewBase.cpp create mode 100644 extras/Projucer/Source/Utility/jucer_JucerTreeViewBase.h create mode 100644 extras/Projucer/Source/Utility/jucer_MiscUtilities.cpp create mode 100644 extras/Projucer/Source/Utility/jucer_MiscUtilities.h create mode 100644 extras/Projucer/Source/Utility/jucer_PresetIDs.h create mode 100644 extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.cpp create mode 100644 extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.h rename extras/{Introjucer => Projucer}/Source/Utility/jucer_RelativePath.h (100%) create mode 100644 extras/Projucer/Source/Utility/jucer_SVGPathDataComponent.h create mode 100644 extras/Projucer/Source/Utility/jucer_SlidingPanelComponent.cpp create mode 100644 extras/Projucer/Source/Utility/jucer_SlidingPanelComponent.h create mode 100644 extras/Projucer/Source/Utility/jucer_StoredSettings.cpp rename extras/{Introjucer => Projucer}/Source/Utility/jucer_StoredSettings.h (100%) create mode 100644 extras/Projucer/Source/Utility/jucer_TranslationTool.h create mode 100644 extras/Projucer/Source/Utility/jucer_UTF8Component.h rename extras/{Introjucer => Projucer}/Source/Utility/jucer_ValueSourceHelpers.h (100%) create mode 100644 extras/Projucer/Source/Wizards/jucer_NewFileWizard.cpp create mode 100644 extras/Projucer/Source/Wizards/jucer_NewFileWizard.h create mode 100644 extras/Projucer/Source/Wizards/jucer_NewProjectWizard.h create mode 100644 extras/Projucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_NewProjectWizardClasses.h (100%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_NewProjectWizardComponent.h (100%) create mode 100644 extras/Projucer/Source/Wizards/jucer_ProjectWizard_Animated.h create mode 100644 extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h create mode 100644 extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h create mode 100644 extras/Projucer/Source/Wizards/jucer_ProjectWizard_Blank.h create mode 100644 extras/Projucer/Source/Wizards/jucer_ProjectWizard_Console.h create mode 100644 extras/Projucer/Source/Wizards/jucer_ProjectWizard_DLL.h create mode 100644 extras/Projucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h create mode 100644 extras/Projucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h create mode 100644 extras/Projucer/Source/Wizards/jucer_ProjectWizard_openGL.h create mode 100644 extras/Projucer/Source/Wizards/jucer_StartPageComponent.h create mode 100644 extras/Projucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h create mode 100644 extras/Projucer/Source/jucer_Headers.h 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 create mode 100644 modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp create mode 100644 modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h 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/AAX/juce_AAX_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 create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp 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_browser_plugin_client/How to build a browser plugin.txt delete mode 100644 modules/juce_browser_plugin_client/juce_browser_plugin.cpp delete mode 100644 modules/juce_browser_plugin_client/juce_browser_plugin.h delete mode 100644 modules/juce_browser_plugin_client/juce_browser_plugin.mm delete mode 100644 modules/juce_browser_plugin_client/juce_module_info delete mode 100644 modules/juce_browser_plugin_client/wrapper/juce_ActiveX_GlueCode.cpp delete mode 100644 modules/juce_browser_plugin_client/wrapper/juce_BrowserPluginComponent.h delete mode 100644 modules/juce_browser_plugin_client/wrapper/juce_NPAPI_GlueCode.cpp delete mode 100644 modules/juce_browser_plugin_client/wrapper/juce_NPAPI_MacResource.r delete mode 100644 modules/juce_browser_plugin_client/wrapper/juce_NPAPI_WinResource.rc delete mode 100644 modules/juce_browser_plugin_client/wrapper/npapi/ReadMe.txt delete mode 100644 modules/juce_browser_plugin_client/wrapper/npapi/jni.h delete mode 100644 modules/juce_browser_plugin_client/wrapper/npapi/jni_md.h delete mode 100644 modules/juce_browser_plugin_client/wrapper/npapi/jri.h delete mode 100644 modules/juce_browser_plugin_client/wrapper/npapi/jri_md.h delete mode 100644 modules/juce_browser_plugin_client/wrapper/npapi/jritypes.h delete mode 100644 modules/juce_browser_plugin_client/wrapper/npapi/npapi.h delete mode 100644 modules/juce_browser_plugin_client/wrapper/npapi/npruntime.h delete mode 100644 modules/juce_browser_plugin_client/wrapper/npapi/nptypes.h delete mode 100644 modules/juce_browser_plugin_client/wrapper/npapi/npupp.h delete mode 100644 modules/juce_browser_plugin_client/wrapper/npapi/obsolete/protypes.h delete mode 100644 modules/juce_browser_plugin_client/wrapper/npapi/prcpucfg.h delete mode 100644 modules/juce_browser_plugin_client/wrapper/npapi/prtypes.h delete mode 100644 modules/juce_core/juce_module_info create mode 100644 modules/juce_core/maths/juce_StatisticsAccumulator.h create mode 100644 modules/juce_core/misc/juce_RuntimePermissions.cpp create mode 100644 modules/juce_core/misc/juce_RuntimePermissions.h create mode 100644 modules/juce_core/native/java/AndroidRuntimePermissions.java create mode 100644 modules/juce_core/native/juce_android_RuntimePermissions.cpp delete mode 100644 modules/juce_cryptography/juce_module_info delete mode 100644 modules/juce_data_structures/juce_module_info create mode 100644 modules/juce_data_structures/values/juce_CachedValue.cpp create mode 100644 modules/juce_data_structures/values/juce_CachedValue.h delete mode 100644 modules/juce_events/juce_module_info delete mode 100644 modules/juce_graphics/juce_module_info mode change 100644 => 100755 modules/juce_gui_basics/drawables/juce_DrawableShape.cpp mode change 100644 => 100755 modules/juce_gui_basics/drawables/juce_DrawableShape.h 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/ChangeList.txt b/ChangeList.txt index a39782f6..ee5411ae 100644 --- a/ChangeList.txt +++ b/ChangeList.txt @@ -1,76 +1,96 @@ - -== 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. - -Version 4.1 - - Added multi-bus support for audio plug-in clients - - Added support for MIDI effect plug-ins (AU and AAX). - -Version 4.0.3 - - Added MPE (Multidimensional Polyphonic Expression) classes - - Added full support for generating and parsing Midi RPN/NRPN messages - - Made the LinearSmoothedValue class public - - Miscellaneous fixes and minor improvements - -Version 4.0.2 - - Miscellaneous fixes and house-keeping - -Version 4.0.1 - - Initial release of the Projucer! - - Full OSC support! - - 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 - - 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 - - -Version 3.2.0 - - Major OpenGL performance/stability improvements - - Performance improvements to FloatVectorOperations math functions - - New FloatVectorOperations: abs, min, max, addWithMultiply, clip - - Midi channel pressure support - - New example projects ComponentTutorialExample, SimpleFFTExample, - PluckedStringsDemo - - New class ValueTreeSynchroniser, for remote-syncing multiple - ValueTrees - - HTTPS/SSL support on Linux - - Added methods for degrees to radians conversions - - Added Neon instruction set support for Android targets - - JUCE ValueTree performance improvements - - Linux and Android multi-monitor HiDPI support - - Support the “display=none” attribute in SVG files - - Support for text elements in SVG files - - Added Whirlpool hash class to the cryptography module - - Various improvements for parameter automation in VST, VST-3, - AudioUnits and AAX - - Various improvements to JUCE Synthesiser - - Linux Code::Blocks project support - - Multicast support - - Add support to generate project version numbers from project git tags - - Various updates to example projects - - Stability improvements to re-order and resize code of plug-in windows - - Support for external third-party native libraries on Android - - Introjucer’s auto-update now displays release notes - - Various Introjucer usability improvements - - Support for in-memory fonts on Android - - New FFT class - - WASAPI exclusive mode support - - More C++11 feature support macros - - Performance improvements to XML parsing - - Add compatibility for AAX SDK 2.2.0 - - Added parameters to the ValueTree::Listener::valueTreeChildRemoved() - and valueTreeChildOrderChanged() methods to include more info about - exactly what changed - - Over 400 minor changes, bug-fixes, documentation improvements, etc. - + +== 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! + +Version 4.2.1 + - New class CachedValue, for providing easy and efficient access to ValueTree properties + - Reduced audio plug-in binary sizes on OS X and added symbol-stripping option + - Miscellaneous fixes and improvements + +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 + +Version 4.0.3 + - Added MPE (Multidimensional Polyphonic Expression) classes + - Added full support for generating and parsing Midi RPN/NRPN messages + - Made the LinearSmoothedValue class public + - Miscellaneous fixes and minor improvements + +Version 4.0.2 + - Miscellaneous fixes and house-keeping + +Version 4.0.1 + - Initial release of the Projucer! + - Full OSC support! + - 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 + - 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 + +Version 3.2.0 + - Major OpenGL performance/stability improvements + - Performance improvements to FloatVectorOperations math functions + - New FloatVectorOperations: abs, min, max, addWithMultiply, clip + - Midi channel pressure support + - New example projects ComponentTutorialExample, SimpleFFTExample, + PluckedStringsDemo + - New class ValueTreeSynchroniser, for remote-syncing multiple + ValueTrees + - HTTPS/SSL support on Linux + - Added methods for degrees to radians conversions + - Added Neon instruction set support for Android targets + - JUCE ValueTree performance improvements + - Linux and Android multi-monitor HiDPI support + - Support the “display=none” attribute in SVG files + - Support for text elements in SVG files + - Added Whirlpool hash class to the cryptography module + - Various improvements for parameter automation in VST, VST-3, + AudioUnits and AAX + - Various improvements to JUCE Synthesiser + - Linux Code::Blocks project support + - Multicast support + - Add support to generate project version numbers from project git tags + - Various updates to example projects + - Stability improvements to re-order and resize code of plug-in windows + - Support for external third-party native libraries on Android + - Introjucer’s auto-update now displays release notes + - Various Introjucer usability improvements + - Support for in-memory fonts on Android + - New FFT class + - WASAPI exclusive mode support + - More C++11 feature support macros + - Performance improvements to XML parsing + - Add compatibility for AAX SDK 2.2.0 + - Added parameters to the ValueTree::Listener::valueTreeChildRemoved() + and valueTreeChildOrderChanged() methods to include more info about + exactly what changed + - Over 400 minor changes, bug-fixes, documentation improvements, etc. + diff --git a/README.txt b/README.txt index 8e92f858..dec6d6a3 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 00000000..56189d2d --- /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 00000000..22194a6d --- /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 00000000..ae1b1cb3 --- /dev/null +++ b/examples/AUv3Synth/Builds/MacOSX/AUv3Synth.xcodeproj/project.pbxproj @@ -0,0 +1,3283 @@ +// !$*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; }; + 0017AB736B8CDB1D5DD31A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 01089967B5648A2E6C58C329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.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"; }; + 01FF0FC0B8E86058589C6ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewControl.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.h"; 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"; }; + 0241C84ADBC1372AD1B15FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + 027ABD5BD9AAC0722F8FC7EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02801D7F265CC0D7E628313C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.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"; }; + 02A37431E4CAE08883F6F809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.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"; }; + 0320074C3D8F3077E1BC32C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CarbonEventHandler.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0395D4BFAC2C979809913512 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + 03DE1C983B7DECDCC451C8F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm"; 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"; }; + 053838409E82E7D7722F7404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.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"; }; + 06580FB07A43DEC6C8295BA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm"; 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"; }; + 08A5C2B4487C0D890B8E4BCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.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"; }; + 0917D57F60050B4F73D6D3C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; + 091831248DA7C8E7AE891EB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + 09F2A2DA00059D8C973E1175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; 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"; }; + 0DF6E4BB1ABE8CE2B25AFBD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_utils.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E39CC01E711112C1019D9DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugPrintf.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugPrintf.h"; 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"; }; + 0E6857D9F02622BF604DC9CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; 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"; }; + 0F09D4ED02A7966E01340C52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; 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"; }; + 0F3D7399486DF81A09B4BA14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_3.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_3.cpp"; 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"; }; + 0F4A16CC370A9921C1CDB847 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.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"; }; + 108D019D336F640EDFAC9528 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; + 10C56E77C33F0334603F174F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_4.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_4.cpp"; 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"; }; + 124B7F7DCCBA4A3800DC1D7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; + 1262858B812AF94882629B85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.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"; }; + 128E48C62DE236403F626552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; 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"; }; + 14A43973E197095B0D0AE0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; 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"; }; + 1526268AB9CF9E1B1C7B8C5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.h"; 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"; }; + 15FB1C5B6F9615217E8EA13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; 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"; }; + 1770847B9C9E2A0FD1D9A9E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugMacros.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugMacros.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"; }; + 19FC0493420771A984F582B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; + 19FC0B4091E80A81C362439D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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"; }; + 1A878834D7D84ED2EA7B46FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; + 1ABD6010D7E506599A9FF47E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_Standalone.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp"; 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"; }; + 1BB18533BD30BE7BA73F779A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; 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"; }; + 1D41BDC83BEC3BE9E70582B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + 1D772DFC77232B7D46E3C8B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; 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"; }; + 1F2B719F048195E9EE5372D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; 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"; }; + 1FF4A2655158765CD608248F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.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"; }; + 201245548579463FE1BA5E2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; 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"; }; + 218E12BF9EFC29E44D7CA490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; 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"; }; + 22EF18251285EF8FB1ADF3AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.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"; }; + 231F08492CB6B77362FDF495 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; + 2324F8C81AF916371F43E79E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; 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"; }; + 2388452E5F6DCB19F520863C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; 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"; }; + 23DAFE355DF428573EB1389D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; 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"; }; + 2493A480D61B46E07EC10DD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; 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"; }; + 2589031177BB9F511D2D3EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; + 25FA6FAE60100187FBB42CE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; 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"; }; + 269F86AAF66F1984636C5910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; + 26AE9472CE02F176A9513852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_AAX.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp"; 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"; }; + 26DB94618438B2D5BF6B856E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.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"; }; + 272CA81A41701C9D2B9E8968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.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"; }; + 2848850DAEB041C2F46DFD3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; + 287FEF430637D5D41AE18E9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; 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"; }; + 294C4939CFE14D6AC97FFB13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.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; }; + 299EAF028EB0712F6EC4DA2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; + 2A59FFB4A0420DA1E24EF14C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A98E7FC712BC286E775DA82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; 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"; }; + 2B41BD136207AD9637B67DD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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"; }; + 2C0F2BC4975578A88228144D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ComponentBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.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"; }; + 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"; }; + 2E8BE5D5580F8441F22F6199 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; 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"; }; + 2EFE0F1D43DEDFD0482D1AB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; 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"; }; + 2FA751FD2A27B8A4F8E38471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; 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"; }; + 30C953C6EFACAAFD784A423E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.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"; }; + 315EF8CC3690B1426EB92087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; 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"; }; + 341512EF51459FC9EA9D3BB2 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + 342ECD0AECBF45C4E031555A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.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"; }; + 34DCC221E177C7B3EDB31B4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; 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"; }; + 3529677B3F5608A92C2F6115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; 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"; }; + 3646D0F8040D0BA39CAA7334 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; + 36C7D1F7F2388480ED9046A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUScopeElement.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.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"; }; + 371B5648697BB7CD4CB13890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + 373EF763809F9F44A17D4041 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; 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"; }; + 37B42F69F308C9204EF43A44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; + 37C71FF41633239C939F3675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUViewLocalizedStringKeys.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUViewLocalizedStringKeys.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"; }; + 390E0AE47A8B0764F75CAC7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; 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"; }; + 3A3541155AF9B50FF1CDDCB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.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"; }; + 3B19493E0256E03A72077CC4 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; + 3B6147A905A8590E43AD5D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; + 3B8ED86DF50D10A6A123AD9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.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"; }; + 3C2C16FD2E89297731C3F333 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; + 3C4F4849106130DC39A2974A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; + 3C5761D46BE3D277CE6D09EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; 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"; }; + 3CA7CE7F3D18ED267686C692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputElement.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.h"; 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"; }; + 3D99E812E5A31F89576AFD48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; + 3EF9DAAD65875B7A36AE3144 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + 3F0F5BDD3B7B6493257DBE72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AUv3.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm"; 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"; }; + 3FDB7F2A8DB8E545EB3600E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; + 3FF2E4DDC9954FFA58BE84C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMutex.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.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"; }; + 41597045D1A6BBFA3575385A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputElement.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.h"; sourceTree = "SOURCE_ROOT"; }; + 41B060EA2FB09001DC1C31C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.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"; }; + 42FBFC4A0B7FBAF97377A64C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; 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"; }; + 444852335DB292EDFF67DC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; 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"; }; + 46DDE331360FE5B633660EE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; 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"; }; + 471CB36CE6D4A77EE71774D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + 4727E4D0B884B36E28392044 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; 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"; }; + 4822B30197922299EE3A956D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; 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"; }; + 492F7F32A1C3FDC702CF7421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49563CA8BB263E39F8E7E36A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; 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"; }; + 49EEB43C87C046FEC272E920 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; 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"; }; + 4A69C68B9A56DDEEA7AE7C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; 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"; }; + 4ABB4EE9726CAD8CFE0FB21D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; 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"; }; + 4C450297F9B6ABF878D17A97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 4C915668550A278B97EA08BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.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"; }; + 4D6BEE612A70BD8626C360B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.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"; }; + 4E196E9052BA6B907C0451BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; 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"; }; + 4ED8D42B000833D8B9B4ED5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUSilentTimeout.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUSilentTimeout.h"; 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"; }; + 4F5204A45BA581573E281596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.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"; }; + 4FF6E67C4955E203C6D16FD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm"; 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"; }; + 503105545692BE3BD44F3BFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewControl.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.cpp"; 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"; }; + 50D9DC1AFAF320B414779996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; 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"; }; + 516C3F4B2E1818AE9168DFD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; 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"; }; + 520BAC0AE6F0AC53F77A1F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBuffer.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.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"; }; + 5281BC7449453907B79110C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; + 5295731805417FC3BD50FDEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.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"; }; + 53BAEC3D25514D3A438F3B05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp"; 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"; }; + 53F3D9DFBD8290221B2C5951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; 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"; }; + 55FEB098BE56402F2A101675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUScopeElement.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5610499D230BD1AA96529347 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; 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"; }; + 578ABA08348D048EB31752E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.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"; }; + 58807388296D065DA8778E8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; 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"; }; + 5B63142C7D744373FD08452D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.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"; }; + 5BD489426A79208B9CE6F3CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; 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; }; + 5DC8D5FAFEC3E8BA40B3D440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; 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"; }; + 5E913F9E1E993CB16785B1A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.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"; }; + 5F8395E0825F03C65968D1DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.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"; }; + 62132FC16AA2F24AEF910DEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUDispatch.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.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"; }; + 6318EF76B203CDAE12E81206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; 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"; }; + 643BF1E8895A5854D9B43831 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; 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"; }; + 6623FF864040E7A329A05ABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAReferenceCounted.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAReferenceCounted.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"; }; + 673F49E7B25D0379EB7F9651 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; + 675310EF6D0A3DDE3A35363D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 676B85A6804E07EFB92F56D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.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"; }; + 6803FF92AF9345C748DD2293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; 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"; }; + 683BC92E095F56916A11944D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp"; 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"; }; + 68B7ABA0D4D33D37EED397A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; + 68B7F1E965E664AA4A3D736A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; 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"; }; + 6A036D1B291A216D4E3F7143 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.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"; }; + 6B79FCA95B306DFA67BDC361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; 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"; }; + 6CE2AFEAEE4AE23D2E17E2D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; + 6D61505DE8021C51E8C5AE52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; 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"; }; + 6E494DED491F9BB6B79416E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; 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"; }; + 70953E41B294DDA5B34B4E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; 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"; }; + 7179ABD196CCA6EF524FAA44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDispatch.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.cpp"; 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"; }; + 71D26F219C2EE5B5F92F3962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + 72778974E283DBF8F2708C74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.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"; }; + 732E6FFBE84AF5B43319C1DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; 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"; }; + 73BB8E247A275838FD16AFE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; 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"; }; + 75034A13541D4052025A4B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; + 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"; }; + 774B74570B66CD26D8AC1541 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; 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"; }; + 780B53C6F9FF49EB24A43102 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; 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"; }; + 788BB5360E93083A0FB3498B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 78A61E96AEF1DCFA5A488121 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAudioChannelLayout.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.h"; 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"; }; + 78E8FAC9FF2AD3DC7993571C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + 78EA94B9BBE4B6EA891B8BF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; 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"; }; + 79F348BA4CD707D7BF30F197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; + 79FF0A4C4E7239DBDC350A7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.cpp"; 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"; }; + 7A73BDB9B30EB6AA268882EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; 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"; }; + 7B7A3CB2B7E41C7033768B9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; 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"; }; + 7E46D4C045D1A7060C7DE3D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; 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"; }; + 7FD2304EE326BEA80492252E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; + 802CA561D36E5556CF267271 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomic.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomic.h"; 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"; }; + 820E70473B219081B3B74D79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; 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"; }; + 8295A8FD9064BCE33B7C1930 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; 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"; }; + 835D2B2686271053003D2A14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; 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"; }; + 838589C6A26E0A8BF70ACBCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; + 83F0FB25581E6D301C2A574F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; 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"; }; + 84598418274C7D64A6030E82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDeviceBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.cpp"; 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"; }; + 8553867F8B04D10919C2BD4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; 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"; }; + 85F179B5610144F5798104E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAStreamBasicDescription.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.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"; }; + 87415D844832686C8423F226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; 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"; }; + 876D30F6E9647DB0F9BE4463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; 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"; }; + 8893C18A7946E12C0F422EB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; 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"; }; + 8969D907950F902E7ACD9D6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; + 898C1353D8363C36C931ED62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.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"; }; + 8A3F809F240408D5195FB0F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; 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"; }; + 8C4B3098D7965AB352DD51F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + 8C94129D8EEFEBD6B451F78F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; + 8CE01872FF8B37355E63991C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; + 8D030B4C002B429D9A9CF05A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + 8D4AF11BC6D0F698838984C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputElement.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.cpp"; 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"; }; + 8E7535A598BEC0FDFD346359 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; 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"; }; + 8F3C3474E9EB852A40B3A25B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUPlugInDispatch.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.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"; }; + 8FE4D93D82016AE0E952662F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; 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"; }; + 9015FC74644F82DB0A49FBFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; 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"; }; + 9136CCE147582160FA805637 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.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"; }; + 91D10BF1909D2B9C169E4493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; + 91F32F326BD577CD67AE20D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; 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"; }; + 92723EFA7826236908D48AC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAUParameter.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.cpp"; 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"; }; + 9329788543F0C6DA2B50BD72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; 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"; }; + 938B5112D072B60A18918CF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 94304B55601DBF7FBCFC6767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; + 94308E0D87CFF0D58DAAA0D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; 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"; }; + 94BFEB9B92F3D546332FD8E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; 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"; }; + 95931BF9B518FB17845AF4A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; 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"; }; + 96DA31F4C1619188159F7FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; 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"; }; + 9767C9015F48F6F42AEC0C9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAutoDisposer.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAutoDisposer.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"; }; + 9819471C5F5583C007A4AED1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.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"; }; + 9849BB6DC80E45E541475772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; 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"; }; + 9AA36A7E6CCDA68D308E0721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9AC567D7B8512713855C3B18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_2.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp"; 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"; }; + 9AF9738DE16EF9CF197CAEB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; 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"; }; + 9B87669D1A522712909A9975 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.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"; }; + 9CDA59EF21795C1CA73E5C4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_RTAS_utils.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.mm"; 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"; }; + 9FA43271ACEB06BF3AB00095 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; 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"; }; + A0173759895A8C13BB754998 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; + A032CFC5A613848D8594B40B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; + A1159B10837BBDD1BD12A882 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.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"; }; + A36C4D27B63C7395BBF9E1D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; + A3BD9B9785C4D83D7039FA9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + A3F0BD2B34F1E5E5C29AF8D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.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"; }; + A4BE4A85CD5ACC6A78C3B8A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm"; 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"; }; + A56060E773F77B3CA7DC3743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; 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"; }; + A67C1F56AE76AD426797537F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.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"; }; + A7B823112D6BED3312715735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAXException.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAXException.h"; 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"; }; + A7EDF8FF797D5C22FE78BAE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; + A8209DFA6D320A6BD9BBDB48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; 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"; }; + A8D6D12C46AD421B49D24F6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.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"; }; + A964F27F7DC1D680A7EE582A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; 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"; }; + AA2E0F9D7AD2B39A4E94F1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBuffer.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.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"; }; + AAE7F49A142463B69778F90C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CarbonEventHandler.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.h"; 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"; }; + AB8AE5899A6439D0520D813E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAThreadSafeList.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAThreadSafeList.h"; 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"; }; + ABCC3DA0D4E2F074AB220BB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; 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"; }; + AC36AEF9A7D94B5F50725E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; 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"; }; + 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"; }; + AD748818ED49AF2A6BF7AF0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMath.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMath.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"; }; + ADEFBF282F9FF39E37862A73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; 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"; }; + B032D869039A2B845AAD274E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; + B054CDFF33B17777FD1855BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; 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"; }; + 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"; }; + B48471A74A3A2BDA248931F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + B4C32A6592E159751BD10360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; + B585667FC1E99FE5C1E3F799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; + B5CA4FEE0ADFDACCAF2FB017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; 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"; }; + B812C4A2809BB37D45F54A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; 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"; }; + B8622807DB0688A98F8C75E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.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"; }; + BBB323B5DE53878F445064D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; 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"; }; + BDEE5F6548D2980373C45F5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; 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"; }; + E04216439C3A2AD69B69B520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; 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; }; + A6610B06B712DDE6F2A27290 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + AC3356631ED2AC043BC67B79 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + AD228AE61929A94FFBE55CF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomicStack.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomicStack.h"; sourceTree = "SOURCE_ROOT"; }; + AE9CA003C4D379CB43E9CDE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAException.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAException.h"; sourceTree = "SOURCE_ROOT"; }; + B0A987158C4CF4E8D0D75243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.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"; }; + B389D5350378076E0DF5DA6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.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"; }; + B5CD08BC33A8414D48F4CD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + B79F6D7A104EF67978CFFC4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnitTypes.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnitTypes.h"; 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"; }; + B986157ED5B0414CDF696C62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAHostTimeBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAHostTimeBase.h"; 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"; }; + BB8432AE150D5AEB38808FA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.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"; }; + BC2068C5203B2AA39EAE0C6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; 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"; }; + BD95E66B6A4CDADCF0631707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDDC593699182D1603163238 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; + BED2521A9CE66A6F1A5AE7F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; 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"; }; + BF6BA28F41BA2A03D9325E0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; + BF6DA9258B6994A918D3EC38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; 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"; }; + C0467549EAF92B8F6871EBAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; 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"; }; + C127F9618A2A278A6B2753A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; 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"; }; + C1D83773976CEDB413DB5E5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; 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"; }; + C33E07D130FCBEF580F65F20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; 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; }; + 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"; }; + C5A2FC7A4569F1C242016136 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; + C5B2DDCFB6FEA46E4F97BBA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; + C5B66A2F03D08FC9CF0B9678 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; + C61EEED69EE6C34E5C64B729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; + C68283C8A9FA7CEC6AA6975C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.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"; }; + C7BED13E38A3138A9D851FAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; 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"; }; + C87B625D4AD4826BF9301E7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.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"; }; + C9B7C5BD09A1486B2A10DA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.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"; }; + CC32EDCC4709790EBBA55941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.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"; }; + D06C2B85E02F13F9B57DB1A9 = {isa = PBXFileReference; lastKnownFileType = image.png; name = power.png; path = ../../Source/BinaryData/power.png; sourceTree = "SOURCE_ROOT"; }; + EC3DE1F504C76EEDDA7F2216 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AUv3Synth.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 9536B5A780A03F6BACB24144 = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAUv3Synth.a; sourceTree = "BUILT_PRODUCTS_DIR"; }; + C1E4A7F5418639D70CB51F0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.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"; }; + C9407CAAB91ABCB83CD3F80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.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"; }; + CBA22CAB6770979BCCD18EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; 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"; }; + CD41042388657A558C93AD86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + CD44BCDC60998F9B56D816C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; 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"; }; + CE491063B3EF486A263519F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + CE517EF86B0776BA9B27F3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUTimestampGenerator.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUTimestampGenerator.h"; 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"; }; + CFADD611F5F0D9EC5127C6C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; 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"; }; + D0584D8F725E0D7E61F830F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; 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"; }; + D0ECDC7390CA390D69946652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; 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"; }; + D399047CE27AA5B33FE37AF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3D5C9CD534AB3AE61D7B09D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUInputElement.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.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"; }; + D4A4555171F923D744B1FDF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.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"; }; + D57DF4F024A84881420586E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; + D5816478E1FBC9D296E78CFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; 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"; }; + D8064ADD700D012E11CE5FE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.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"; }; + D90938FEE6B821CE90556A9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; 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"; }; + D9B635DD89ED59E04DF326E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; + D9B9854449877DBFC0C1CC3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; 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"; }; + DA1AD416DB2E990AD25806AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; 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"; }; + DC235ECDD76E245939C49092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.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"; }; + DCEA692A420A94DE110CC07D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; 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"; }; + DD0F106B173A73C954D57AE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.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"; }; + DDAFBE2B2CD98044F75A248F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUPlugInDispatch.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.cpp"; 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"; }; + DEC24A286A1DEF26BE35CC20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + 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"; }; + E0B49BAB1C8D7341A6E142B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; 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"; }; + E109CC62F2D686A6C2D1212B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; 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"; }; + E2B1B0398CFDDCA5A122ECB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; 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"; }; + E2BA7122756CD29CD86FA7C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.cpp"; 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"; }; + E40580FB3605FA6D5DA3FD73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBaseHelper.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"; }; + E4CB12FDCA729EC8BD9E0845 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; 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"; }; + E5A40C64A3C65303ACF81585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; + E5E982E791DA0CDEA0D953F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; + E66660FF00CBD999FBB1170B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.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"; }; + E88DF76B88F3E67D0FB58CEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; 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"; }; + E93BF1F2B52BF52EA12326A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; + E975A1A60F48EB781C00B9CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; 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"; }; + EA6D44AA3D1C9B0A5873DC4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA89A423564A332B875F040F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; 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"; }; + EA92EA0E7F4D3859821CEB4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAUParameter.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.h"; sourceTree = "SOURCE_ROOT"; }; + EAA84CC80E920249F422C205 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.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"; }; + 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"; }; + ECB9067017FFA80A497FE7A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAMutex.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.cpp"; 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"; }; + EE1019952583BCBF680DACF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.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"; }; + EF49443529C7D95089B758E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + EF896ACF69D165081D5735A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.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"; }; + F003DFE998431203650E2E3F = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; 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"; }; + F258EA938A8A7C58BF8DB077 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUMIDIBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.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"; }; + F2CB59F83B2F918B571EEEE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; 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"; }; + F3B288E80399C45A9018A636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; 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"; }; + F41BC22A3F81168073190E59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; 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"; }; + F573DFC580053C77E74FA042 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; + F577D0F9FA7DA3AB114E69F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; 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"; }; + F6370FC667E0362CE87FE3E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnit.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.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"; }; + F663ABEC52B192E36EBB2958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; 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"; }; + F6D8C93EB8539038E35E8E35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewDispatch.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewDispatch.cpp"; 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"; }; + F6EE58DFEF8FCDB46EF05A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; 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"; }; + F7486AE29930A5D4019895BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_1.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.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"; }; + F7C0619FDB79B1646EE6C0B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; 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"; }; + F8952FD62C839E34EBB043F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MusicDeviceBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.h"; 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"; }; + F9699D179A6E83EE895DF5D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; 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"; }; + FC6A2A7749CC3DCA9333BA62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputFormatConverter.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputFormatConverter.h"; 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"; }; + FEC6D0F95F560CC543624685 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.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"; }; + FEE15889C469F1299F723D38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + FF08B80860BB393314DC49EA = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = AUv3Synth.entitlements; path = AUv3Synth.entitlements; sourceTree = "SOURCE_ROOT"; }; + FF11C3FCE2827DE3D24F0842 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; 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 = ""; }; + 80EEC7BDC5E94E232E8EEF4D = {isa = PBXGroup; children = ( + 13DD37B2F314596BBC25A47D, + 4D4252EF0D8D9BD4AFBB830A, + E04216439C3A2AD69B69B520, + A15E68C337279B15ED933BE3, + 0762DCD2200EC064A17AC77F, ); name = buffers; sourceTree = ""; }; + D9BD6D2BC88FA4B1CDE802E5 = {isa = PBXGroup; children = ( + 6A9B5161889E1B22B04BA223, + 6A01CD302B95FCC3F057090D, + 84ABD4F5D068289F4D43E7CC, + C61D176AAECFBC9A277EF2E5, + 0A063D0E9CDBCFBA3B31B8A3, + C63541C14D518046922DF60B, + 6F63C882BEEED7B36540EA05, + 15687E3C898914FCE458C1B1, + 5B41FCC4B5B5CE4FB5282954, + 57D07B6F700F94E8E704DC49, + DB43ED26DBABD0BC17385E6E, ); name = effects; sourceTree = ""; }; + 259BB04CF4CB83B656666CBC = {isa = PBXGroup; children = ( + C12C3BDF0D24260675D88C04, + 8D753ADD4B2F1CB0C974A522, + F28150FA7A2231FCA46CD0F5, + DC1C558103B4D458A6CA037C, + 142ADBE2098D59ECB95443D8, + F935D6E0CA994CBFD870BF65, + 1267F1B5D02A74861F4F135C, + BAA373F740C171EB1219D9B0, + AB183DB7B4E55E8A378D1640, + 52496AD37C0932219701798C, + D34BDE3AF93D8CCE91C331AF, + 1F460579410D4B352F2A85E6, ); name = midi; sourceTree = ""; }; + B7B8CF86071AD61A1A460505 = {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 = ""; }; + BD2FE56736FF2B8BD6E32FEF = {isa = PBXGroup; children = ( + 9FB1AAC5EC1146B5FC0EFCD2, + E4F233200895BB6C4A31A816, ); name = synthesisers; sourceTree = ""; }; + 5E2CF82B2790DC31C2A42EDA = {isa = PBXGroup; children = ( + 80EEC7BDC5E94E232E8EEF4D, + D9BD6D2BC88FA4B1CDE802E5, + 259BB04CF4CB83B656666CBC, + B7B8CF86071AD61A1A460505, + 39BF5DEBF7889C52ECA9D522, + BD2FE56736FF2B8BD6E32FEF, + C7BED13E38A3138A9D851FAE, + 7023A03BF8EE3F09E00C3B58, + 0F09D4ED02A7966E01340C52, + 7023A03BF8EE3F09E00C3B58, ); name = "juce_audio_basics"; sourceTree = ""; }; + DB91C895CECA3D2809BA4C86 = {isa = PBXGroup; children = ( + C50B7EF31D44D3B5E03CB4A8, + 42EB20660BAF846855D9EF4F, + 7195EEB1FB735453359D1893, ); name = "audio_cd"; sourceTree = ""; }; + 872B5416851318AB31A28A6C = {isa = PBXGroup; children = ( + 1A470B745FCC0020078807C0, + 4350481545B0B7094C507415, + 9B995FF1F1FD413ECBEA5F2C, + 4968C8C2A41316C78C23E9E3, + 7ABF11ED9BB6CD5850ABF47A, + 89291F4775B82AD585F02515, + 5B56147E8E94C3969471E21F, ); name = "audio_io"; sourceTree = ""; }; + ED621181CAE468EC6017188F = {isa = PBXGroup; children = ( + 87181526B9C99144CBE4F8A8, + DFF6A93D460B71379FE3EAA2, + 596DAF8986D6982B928C689C, + 12E82F17788C076C81627268, + F835920197570C22DACE2186, ); name = "midi_io"; sourceTree = ""; }; + 4E9F8390B66A81E234883BC0 = {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 = ""; }; + 403F3699EAC8D74A2DDE3ECD = {isa = PBXGroup; children = ( + 33D05902E14966A2708B7F61, + 71D1D8E256A7FD110F7EAC6C, + 9F91E161DF777F050B61B6BE, + D515546E71BD92C742D67905, ); name = sources; sourceTree = ""; }; + 596BD0AE10AA6B1E7AC01F15 = {isa = PBXGroup; children = ( + DB91C895CECA3D2809BA4C86, + 872B5416851318AB31A28A6C, + ED621181CAE468EC6017188F, + 4E9F8390B66A81E234883BC0, + 403F3699EAC8D74A2DDE3ECD, + BDDC593699182D1603163238, + 2284A4597CF7AA4D2EFA7AC4, + 58807388296D065DA8778E8A, + 2284A4597CF7AA4D2EFA7AC4, ); name = "juce_audio_devices"; sourceTree = ""; }; + 9F7E7E347E7BE22FE600686A = {isa = PBXGroup; children = ( + A032CFC5A613848D8594B40B, + D8064ADD700D012E11CE5FE9, + 2848850DAEB041C2F46DFD3A, + EAA84CC80E920249F422C205, + C9B7C5BD09A1486B2A10DA8C, + 5E913F9E1E993CB16785B1A1, + 294C4939CFE14D6AC97FFB13, + 3A3541155AF9B50FF1CDDCB4, + 876D30F6E9647DB0F9BE4463, + 371B5648697BB7CD4CB13890, + BF6BA28F41BA2A03D9325E0F, + EF896ACF69D165081D5735A0, + FEE15889C469F1299F723D38, + 287FEF430637D5D41AE18E9F, + 02A37431E4CAE08883F6F809, + 4F5204A45BA581573E281596, ); name = private; sourceTree = ""; }; + EF20A78393C1995665216124 = {isa = PBXGroup; children = ( + 8C94129D8EEFEBD6B451F78F, + 0395D4BFAC2C979809913512, + 3C5761D46BE3D277CE6D09EC, ); name = protected; sourceTree = ""; }; + 76F11FCCBB89E0093BA9E9D8 = {isa = PBXGroup; children = ( + 9F7E7E347E7BE22FE600686A, + EF20A78393C1995665216124, ); name = include; sourceTree = ""; }; + 8A1827214C23337715E467B1 = {isa = PBXGroup; children = ( + 76F11FCCBB89E0093BA9E9D8, + 19FC0493420771A984F582B5, + DA1AD416DB2E990AD25806AB, + E5A40C64A3C65303ACF81585, + F663ABEC52B192E36EBB2958, + 7A73BDB9B30EB6AA268882EC, + 25FA6FAE60100187FBB42CE4, + 50D9DC1AFAF320B414779996, + 70953E41B294DDA5B34B4E6C, + F573DFC580053C77E74FA042, + 94304B55601DBF7FBCFC6767, + 8A3F809F240408D5195FB0F5, + F577D0F9FA7DA3AB114E69F2, + 0917D57F60050B4F73D6D3C1, + 128E48C62DE236403F626552, + 8E7535A598BEC0FDFD346359, ); name = libFLAC; sourceTree = ""; }; + 1858D6D039300606CF8F1DCD = {isa = PBXGroup; children = ( + 8A1827214C23337715E467B1, + A0173759895A8C13BB754998, + 94BFEB9B92F3D546332FD8E1, + 124B7F7DCCBA4A3800DC1D7F, + 72778974E283DBF8F2708C74, + D9B635DD89ED59E04DF326E1, + 5B63142C7D744373FD08452D, + B389D5350378076E0DF5DA6D, + A6610B06B712DDE6F2A27290, + B0A987158C4CF4E8D0D75243, + 8D030B4C002B429D9A9CF05A, + 0F4A16CC370A9921C1CDB847, + 30C953C6EFACAAFD784A423E, + 02801D7F265CC0D7E628313C, + 9819471C5F5583C007A4AED1, ); name = flac; sourceTree = ""; }; + 922E37E9138FCC3B18E26ED2 = {isa = PBXGroup; children = ( + 23DAFE355DF428573EB1389D, + 373EF763809F9F44A17D4041, ); name = coupled; sourceTree = ""; }; + 1B4375EF259EFB64AE74564F = {isa = PBXGroup; children = ( + 7E46D4C045D1A7060C7DE3D1, ); name = floor; sourceTree = ""; }; + 1589F617F5547303A836E486 = {isa = PBXGroup; children = ( + 272CA81A41701C9D2B9E8968, ); name = uncoupled; sourceTree = ""; }; + F73FDB130ED504705703B3D0 = {isa = PBXGroup; children = ( + 922E37E9138FCC3B18E26ED2, + 1B4375EF259EFB64AE74564F, + 1589F617F5547303A836E486, ); name = books; sourceTree = ""; }; + E40FE176D5BC60BC40F201D2 = {isa = PBXGroup; children = ( + 41B060EA2FB09001DC1C31C3, + C87B625D4AD4826BF9301E7E, + 46DDE331360FE5B633660EE4, + 3B8ED86DF50D10A6A123AD9C, + CC32EDCC4709790EBBA55941, + 91D10BF1909D2B9C169E4493, + 9136CCE147582160FA805637, + 15FB1C5B6F9615217E8EA13C, + EE1019952583BCBF680DACF2, + 390E0AE47A8B0764F75CAC7A, + 3FDB7F2A8DB8E545EB3600E9, + 4D6BEE612A70BD8626C360B8, + 1A878834D7D84ED2EA7B46FE, + 2E8BE5D5580F8441F22F6199, + 5295731805417FC3BD50FDEE, + 3C2C16FD2E89297731C3F333, + EF49443529C7D95089B758E4, + 91F32F326BD577CD67AE20D3, + CE491063B3EF486A263519F5, ); name = modes; sourceTree = ""; }; + 2651A96E2587645F70BF3690 = {isa = PBXGroup; children = ( + F73FDB130ED504705703B3D0, + E40FE176D5BC60BC40F201D2, + A8209DFA6D320A6BD9BBDB48, + 342ECD0AECBF45C4E031555A, + 3529677B3F5608A92C2F6115, + 8CE01872FF8B37355E63991C, + 37B42F69F308C9204EF43A44, + 4ABB4EE9726CAD8CFE0FB21D, + 471CB36CE6D4A77EE71774D6, + DC235ECDD76E245939C49092, + C1D83773976CEDB413DB5E5D, + 9FA43271ACEB06BF3AB00095, + E88DF76B88F3E67D0FB58CEB, + F7C0619FDB79B1646EE6C0B8, + 2EFE0F1D43DEDFD0482D1AB7, + 8893C18A7946E12C0F422EB8, + 2589031177BB9F511D2D3EB0, + 22EF18251285EF8FB1ADF3AB, + B8622807DB0688A98F8C75E4, + 34DCC221E177C7B3EDB31B4D, + AC36AEF9A7D94B5F50725E38, + 6D61505DE8021C51E8C5AE52, + 231F08492CB6B77362FDF495, + 73BB8E247A275838FD16AFE0, + 3B6147A905A8590E43AD5D59, + 299EAF028EB0712F6EC4DA2C, + F2CB59F83B2F918B571EEEE5, + EA89A423564A332B875F040F, + 820E70473B219081B3B74D79, + DEC24A286A1DEF26BE35CC20, + 09F2A2DA00059D8C973E1175, + 673F49E7B25D0379EB7F9651, + A8D6D12C46AD421B49D24F6E, + 5281BC7449453907B79110C4, + C68283C8A9FA7CEC6AA6975C, + 49EEB43C87C046FEC272E920, + 8553867F8B04D10919C2BD4C, + 95931BF9B518FB17845AF4A9, + 4727E4D0B884B36E28392044, + 9015FC74644F82DB0A49FBFB, + B48471A74A3A2BDA248931F2, + 83F0FB25581E6D301C2A574F, + ABCC3DA0D4E2F074AB220BB2, ); name = lib; sourceTree = ""; }; + 4A45D2C75283100E59335C50 = {isa = PBXGroup; children = ( + 2651A96E2587645F70BF3690, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + DE0AA6A87A0CBCDAF08AE4CB = {isa = PBXGroup; children = ( + 4A45D2C75283100E59335C50, + 1D41BDC83BEC3BE9E70582B6, + A67C1F56AE76AD426797537F, + C61EEED69EE6C34E5C64B729, + CBA22CAB6770979BCCD18EEA, + 3EF9DAAD65875B7A36AE3144, + 49563CA8BB263E39F8E7E36A, + 94308E0D87CFF0D58DAAA0D9, + 053838409E82E7D7722F7404, + 6A036D1B291A216D4E3F7143, ); name = oggvorbis; sourceTree = ""; }; + F25E7403D44D5B0ABC68A8DE = {isa = PBXGroup; children = ( + 1858D6D039300606CF8F1DCD, + DE0AA6A87A0CBCDAF08AE4CB, + 3B9F47F546584BB9EFE098BE, + 192ABDFEDF4C082BB8DF0492, + 76272B6E0F4FB6D7225653CF, + 2DC4F5D10A019196E3AFDFBD, + 33B9A7EA67B0D01E3416E123, + 804448A2E110E3D84021289F, + 84D3302B18B67B725905AF7C, + 2D2B97D629EFA3920314D5DD, + 7A3E22B63496806947FC10A5, + 6A2FBCEABDB265609CB49A9C, + 3487F440B9FE19B84EDB6C05, + F7D4D9D0A26940676AE3FC61, + E9C1C03509E00C37AAA45727, + 12C25C7C2E883F374E8B3D36, + 831580A17E75CC89E86A3E12, + 2D436395B51B7242A5B9E701, + BD58CC09BA9FED0E9CACC97B, + E32E43F0CC33ED95FD0A9DE2, ); name = codecs; sourceTree = ""; }; + 8DBB77C421360655FC49D0CA = {isa = PBXGroup; children = ( + 0B29952E2F0758E5C07D21DC, + 56DD0F008972969CD0020468, + 63F79641EFA884B962CDF093, + A236B01D70F55D3570330B44, + 71A5014C5547E43A0EE58252, + C1E4A7F5418639D70CB51F0A, + 59878D9EFD00EAC6CD0A85E8, + 5BEC401034FECC5A84CF911C, + D264387115074C98CF251072, + 46E7ECB316210C98F0A1C885, + D19E20CCCD4790B2347D5B80, + 0C57D75820A254EFD312E57E, + DEAD87726738781A25EBCFFB, + 5AE75DB19C06961041078603, + 89B0332A462BFD5984B97302, ); name = format; sourceTree = ""; }; + 44686F929FB094FC7A38035F = {isa = PBXGroup; children = ( + EE9BA42E3D0FBC1D7E118E5D, + DC60BA9AC2BA5D2C3B5C3001, ); name = sampler; sourceTree = ""; }; + 3B848EB4797469286E5DC42F = {isa = PBXGroup; children = ( + F25E7403D44D5B0ABC68A8DE, + 8DBB77C421360655FC49D0CA, + 44686F929FB094FC7A38035F, + 788BB5360E93083A0FB3498B, + 2CC92DEE105B69921A4BD036, + 9329788543F0C6DA2B50BD72, + 2CC92DEE105B69921A4BD036, ); name = "juce_audio_formats"; sourceTree = ""; }; + 988670913C41D72F28DFE34E = {isa = PBXGroup; children = ( + DC8F10CCAC55F7216F0304F9, ); name = AAX; sourceTree = ""; }; + FE2338066D80D87950BB4358 = {isa = PBXGroup; children = ( + 26DB94618438B2D5BF6B856E, + 1526268AB9CF9E1B1C7B8C5E, + E40580FB3605FA6D5DA3FD73, + AA2E0F9D7AD2B39A4E94F1EC, + 520BAC0AE6F0AC53F77A1F51, + 1262858B812AF94882629B85, + DD0F106B173A73C954D57AE2, + 503105545692BE3BD44F3BFB, + 01FF0FC0B8E86058589C6ACF, + F6D8C93EB8539038E35E8E35, + 7179ABD196CCA6EF524FAA44, + 62132FC16AA2F24AEF910DEE, + D3D5C9CD534AB3AE61D7B09D, + 41597045D1A6BBFA3575385A, + FC6A2A7749CC3DCA9333BA62, + 79FF0A4C4E7239DBDC350A7A, + F258EA938A8A7C58BF8DB077, + 08A5C2B4487C0D890B8E4BCD, + 1FF4A2655158765CD608248F, + 8D4AF11BC6D0F698838984C6, + 3CA7CE7F3D18ED267686C692, + DDAFBE2B2CD98044F75A248F, + 8F3C3474E9EB852A40B3A25B, + 55FEB098BE56402F2A101675, + 36C7D1F7F2388480ED9046A6, + 4ED8D42B000833D8B9B4ED5A, + CE517EF86B0776BA9B27F3F6, + 37C71FF41633239C939F3675, + 802CA561D36E5556CF267271, + AD228AE61929A94FFBE55CF4, + FEC6D0F95F560CC543624685, + 78A61E96AEF1DCFA5A488121, + 92723EFA7826236908D48AC3, + EA92EA0E7F4D3859821CEB4A, + 9767C9015F48F6F42AEC0C9D, + 1770847B9C9E2A0FD1D9A9E8, + 0E39CC01E711112C1019D9DF, + AE9CA003C4D379CB43E9CDE6, + B986157ED5B0414CDF696C62, + AD748818ED49AF2A6BF7AF0D, + ECB9067017FFA80A497FE7A0, + 3FF2E4DDC9954FFA58BE84C1, + 0320074C3D8F3077E1BC32C8, + AAE7F49A142463B69778F90C, + 6623FF864040E7A329A05ABF, + BD95E66B6A4CDADCF0631707, + 85F179B5610144F5798104E4, + AB8AE5899A6439D0520D813E, + E2BA7122756CD29CD86FA7C8, + F6370FC667E0362CE87FE3E7, + B79F6D7A104EF67978CFFC4B, + A7B823112D6BED3312715735, + D399047CE27AA5B33FE37AF2, + 2C0F2BC4975578A88228144D, + 84598418274C7D64A6030E82, + F8952FD62C839E34EBB043F6, ); name = CoreAudioUtilityClasses; sourceTree = ""; }; + A2BBDDDA694235612BDE9BD0 = {isa = PBXGroup; children = ( + FE2338066D80D87950BB4358, + 3E76A3788CAAB12560CB4517, + AE1DD722E80713D6A2C820C9, + 2220D1078A2681D8AAF3563E, ); name = AU; sourceTree = ""; }; + 3CF6F89CE98D1BD583C34852 = {isa = PBXGroup; children = ( + 8905DE78626372768938A4C0, + 05C14DEEE0E3BDC4049484B5, + 2FA12F7EBB9AC99A08FC1025, + 4FED8E1456B36F86FFE8E9B8, + DBA0B8703ED6A2CFF6E952A8, + 2D4E5D168D18704BCB317DD8, + CF51659EBB00003E6CB20B66, ); name = RTAS; sourceTree = ""; }; + 5E03484B053FE94C3308A153 = {isa = PBXGroup; children = ( + 33B2FD7C625F65B132945522, + 44E613EE8E541E69E6B8A449, ); name = Standalone; sourceTree = ""; }; + 5D85476955DBC422757405C1 = {isa = PBXGroup; children = ( + 30CDFDC04232575AE7A491F3, + F96C31890AED2B62C4E0E20A, + 00A950F33C21C6688103E667, + 676EBCF8F03E1FA1DD0694B0, + 1A3355000573E6A083028E9A, + 068109EA4981DB342942D174, + 99AC2D0C2304F21B912FEC5B, + 2F9011C34B50B11B6FFEDA7F, + EA8B1437F945AFED7BDF11DB, ); name = utility; sourceTree = ""; }; + F3BA35D57A9C238A5CC3628F = {isa = PBXGroup; children = ( + 78DD966E73DF076A83FC1F2C, + 6FA729EAB8A64447D81B36E9, ); name = VST; sourceTree = ""; }; + 51E2FC46CC35EE59A85AF51E = {isa = PBXGroup; children = ( + 08D38FFAFF41735F36FD4BF9, ); name = VST3; sourceTree = ""; }; + E4D31720EE240DC9A75C9459 = {isa = PBXGroup; children = ( + 988670913C41D72F28DFE34E, + A2BBDDDA694235612BDE9BD0, + 3CF6F89CE98D1BD583C34852, + 5E03484B053FE94C3308A153, + 5D85476955DBC422757405C1, + F3BA35D57A9C238A5CC3628F, + 51E2FC46CC35EE59A85AF51E, + 9EDB40D557C3BBB1CC63CF65, + 26AE9472CE02F176A9513852, + 03DE1C983B7DECDCC451C8F8, + A4BE4A85CD5ACC6A78C3B8A6, + 4FF6E67C4955E203C6D16FD9, + 3F0F5BDD3B7B6493257DBE72, + F7486AE29930A5D4019895BB, + 9AC567D7B8512713855C3B18, + 0F3D7399486DF81A09B4BA14, + 10C56E77C33F0334603F174F, + 0DF6E4BB1ABE8CE2B25AFBD5, + 9CDA59EF21795C1CA73E5C4B, + 1ABD6010D7E506599A9FF47E, + 53BAEC3D25514D3A438F3B05, + 06580FB07A43DEC6C8295BA6, + 9AA36A7E6CCDA68D308E0721, + 683BC92E095F56916A11944D, + 9EDB40D557C3BBB1CC63CF65, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; + EFF01DA4D6A309E350D8817E = {isa = PBXGroup; children = ( + 257F4247EC175CCBFE996E55, + CF9EEC4A087AA9010D5D21A5, + 212425D8E8CD86B224E3CC5A, + F04800D7F1A1E012E9A4AD15, ); name = format; sourceTree = ""; }; + D3F4EA0C20451C8CCC107ADD = {isa = PBXGroup; children = ( + 2010BCF7EE1A761168968EEF, + F5DC35A024D665725204B375, + 3D850D7C81C79515EA35D833, + 329FEF79D3987D0FB1C164CD, + 3F5066569AA0BCAFF9F6AD87, + 5F6BB197FA13DEB1F2260CC0, + 387D55482BBDCBC351F2BECE, + B774AC9A00BFF63E24EA0646, + 87FC5378F4B65DBD11E62015, + E0FD3183237BAB53F14A4B92, + 58461A95ADF95E35EE92161D, ); name = "format_types"; sourceTree = ""; }; + 892DDB700F7596FA63D35453 = {isa = PBXGroup; children = ( + 17968A543385166D4392F171, + 05206E536544288B1DFC3EC7, + B0015C46815CEB6E15236944, + 65980EFA3678AD71581BE381, + 1BD4D7258F644BC3B343432E, + DE76DD99A5E06C01C57957A1, + E564C68E481471618F91FD8B, + 8429B2EA7B0E269D738BD27E, + 6BF1D1384D3492C251CB00D2, + 5D27245879F65DC9C3DB15FF, + 0527F8D9C84F850B9E2F794C, + 6FC0CB280CE56AB22E3997B5, + DFA88B30E3041E9BC8150FCD, + 7A172478B945BDF97AFFBA0A, + EC2144EBA3C2FDA0D14F4894, + 4A61AD8C4D46D2448FAF51E8, ); name = processors; sourceTree = ""; }; + A182EB609A9D088F6F00CE02 = {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 = ( + EFF01DA4D6A309E350D8817E, + D3F4EA0C20451C8CCC107ADD, + 892DDB700F7596FA63D35453, + A182EB609A9D088F6F00CE02, + 93E4D725A79B28831619716C, + D5816478E1FBC9D296E78CFA, + D43BFA7F052E625E90F77C89, + BC2068C5203B2AA39EAE0C6A, + D43BFA7F052E625E90F77C89, ); name = "juce_audio_processors"; sourceTree = ""; }; + D520A1249F01164E2F9B5B33 = {isa = PBXGroup; children = ( + 6BD961F96723E92BFC0263D3, + 8524CF106D2B7B1E08D312C8, + 9D3AF29ECBD2A58B146619A2, + 7A7DC1C99D232DAD43C01146, + 1C45C50E54A57400FF9E6EEE, + B801E3F5A1C2992F592A0FBE, + 2B859BB12EB83F32108F3497, + 2578F2F3741CC61B95E7E6C3, + 1238631934643787E27DDC66, + 9ACE3BF6D0E54A5ACA1D73F6, + ABF137A60BDB5810DCDD1E22, + 569603444940609CACE2AD7B, + 33A72C52C238DB7638CA9F9A, + D03583C1CA01284B5781955E, ); name = gui; sourceTree = ""; }; + 46770CCB22F02D7A094B6A5F = {isa = PBXGroup; children = ( + 7D2FEE652DDC90049F523828, + 1AF82B1F138DE2C506FBBDAC, + E755606E63BE2C5558FFB353, + 5019F297F4FE95D4F264E95D, + B6EA3B412C6E73478C4D36AD, ); name = native; sourceTree = ""; }; + C04506631EDC6C6706A8DDA8 = {isa = PBXGroup; children = ( + F8662ECB8187DDFDB200B2A2, + AC3D1C939D60CBB9F06E5195, ); name = players; sourceTree = ""; }; + FBF7568E0A1FB934691CFB9B = {isa = PBXGroup; children = ( + D520A1249F01164E2F9B5B33, + 46770CCB22F02D7A094B6A5F, + C04506631EDC6C6706A8DDA8, + 315EF8CC3690B1426EB92087, + 63626AB59BC4BD66A0A6482B, + 1F2B719F048195E9EE5372D0, + 63626AB59BC4BD66A0A6482B, ); name = "juce_audio_utils"; sourceTree = ""; }; + 7C45AAB8E15759495D4475A4 = {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 = ""; }; + 07FA76608C528181C74CAF6D = {isa = PBXGroup; children = ( + 57A49E91A5755065F47070FC, + 631CF9C6700114D898AEC1AD, + AA4C96BD17FAFE995F8BF86D, + 9B6B98866C77A743FDBA7C40, + ACDCFB7C5CE966089DF7665E, + FA8D4A5190F11697BFFD2DFD, + FB3E0328E0F2BF7633B7F4C0, + 0FB29BBC0B65633627478BA0, + 499F3B4B44522D984B26A263, + 3AC15B910C91D22E71A7A687, + 25154F5BC74A1019F714FB73, + 1A5F13EEFA6BFCC120C57869, + CF7ECFB4AA9A00E103525840, + 7D67149A7BE6BBB85FCB2CCF, + 128D7FD70FE164060807E29F, + 003B0A5337B7EB6AB6906625, + DF2A14735E2EC0F986E3ED6F, ); name = files; sourceTree = ""; }; + 071F872BBAB53A7F2EA231EA = {isa = PBXGroup; children = ( + 1EAB166798F43125DDCE0BC0, + C3FF9B9008D2A03F2BB23F1B, + 1D0B59F0A6F76ED5272E08C4, + 7B215A260ADCE367FD8F3420, ); name = javascript; sourceTree = ""; }; + 9AAE17ECFC355156861CD1AC = {isa = PBXGroup; children = ( + 2EC9EB88F772C8A6DBA65C2A, + FBDA8B5BE5FCBEFB590920D9, + 37D87B4F2E6E4C7EC11F12CB, + DF851414C38482D7EF5C63D1, ); name = logging; sourceTree = ""; }; + 99D13413CF1ADB1E3AD3958B = {isa = PBXGroup; children = ( + EFD7896047F56FCAE30F61D3, + 82CED5C8E1B7A2C068BC48B2, + C3006C283C6F75269CE6295D, + D6670F0F52C7A439715B706F, + 363B23811BE5271789D355B6, + 69223FF1DDF41E1860A3DE72, + 67BBCC92EDF01164A374A824, + 14E1CF05D80EA4E2CCFD1EB0, + 78B49436D33E43AC3A956818, + 10467B840ADE953EC282EF36, ); name = maths; sourceTree = ""; }; + 81C034C363F8A04155505040 = {isa = PBXGroup; children = ( + 9A3351689C885961A9BD3F2F, + ECD1DB349CD1744D2345D45A, + D72A2819C390689ED5A58197, + F241556BC3C500D0280204D2, + 1FFE418941303981E432039E, + 297BC989416D63FB30AE4C6F, + 92BFAF31B51618764234C779, + 5B219BDFFD121A57DB1623B0, + 90064DDC086AD775FA7D5FFB, + 750DF21E43BED98CE4F53DE7, + 81A3BCB415FA7114FC07367D, + EAEB4425352054C49C4D73B2, + 20E2B3CE619294FF62DF5D54, + 42398E999B0A850DFF901952, ); name = memory; sourceTree = ""; }; + 101B9E56BFBE5D2CBC6531A4 = {isa = PBXGroup; children = ( + 2CA6385ADA2663622F29174F, + F2614FF63DFD0C39EBDE092D, + 9F1DFEFDC78EC139C4089DEC, + 6217C41B2DFADAD8767255BE, + 6DFDBE298AD93DD1B3F067B6, + 12B0DB43F1E76431C35A4958, + 245B820181308A0B46FE2C2F, ); name = misc; sourceTree = ""; }; + 5E4506249585F612E29F8416 = {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 = ""; }; + BBC122B799D2AD73E26B6C82 = {isa = PBXGroup; children = ( + B05EC8A81DA162236663A8AF, + 0B56ACE2E7A2CC5B75550C6C, + F5688A2E7B25BD837236AFA2, + 43913D411C0ACFCA2E8B8CFE, + 58FA5F36261FAE89B748BA8B, + 54B65048DE0ED0FE799D317F, + 823EFD7B765AD6D20D4053BF, + 5776A5993098A57A7A1E6A27, + 0E429E673C3066089538F4FF, + 003AD91863D1E07BEFDCDB46, ); name = network; sourceTree = ""; }; + DFE76F9120B809A20693F40C = {isa = PBXGroup; children = ( + 3BD48100798B29CFBB31E240, + D776C107490A52D250B8327B, + 19631764DB948B287771C41E, + 14EEC624D1628BE3DE7AAB0B, + 89E00773FE73394C30642A4E, + B0B4FAE3EA49CE2AE0074204, + E79A4F024D4890B61628C42C, + AB1F943DA9131BF5694FBABD, + B19103A5C4E54D5ABB50F27F, + 933DE5C4D4002BA9203F65A6, + C639338DD5AF077DF5BF8361, + 8837DB2881391365428BE228, + FABFCFC950C53D57CC971516, + C1983ED4284CBEF3B5A427E5, + 4F2E1758A33E5E88780F68AC, ); name = streams; sourceTree = ""; }; + BC7DA27A2704DCED1BD89401 = {isa = PBXGroup; children = ( + 96F6E7AE69A06FEE69CCA3C9, + F108BD4F2087E0C08DD27DC2, + 59CB0A6453076CC874C72F59, + 6F544061B6526DCC4430F539, + 1EBC98B1315EA748EAE0BE86, + FDE9E6BF5EBC3001D0F08BD9, ); name = system; sourceTree = ""; }; + 3EC1550CC783426558249947 = {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 = ""; }; + A628542733B556400F596184 = {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 = ""; }; + D4CF19A6D3CD14CA0D95C707 = {isa = PBXGroup; children = ( + 20A8452F14F1433B1C3D0FED, + 7315E85A6C1E714922CBE587, + E31219AD074DCBB8C6A9F816, + 66C2579562E185E38E43C121, + EC6F9C909D0523DFC5E0823A, + 391E6DF4FA840F23B402D97D, ); name = time; sourceTree = ""; }; + 63BFB844556FEE8C5B9F120A = {isa = PBXGroup; children = ( + 6319F4BF677E067041B5467C, + 028400FDADB7732D2CA25667, ); name = "unit_tests"; sourceTree = ""; }; + 0BDBF2914F7586AC7316168F = {isa = PBXGroup; children = ( + 5FE4811A1F224B9DC3F0751D, + 3412F9A8DCE29D1B62BC1145, + A53855C517AD1588DBF87CA0, + 519C21EFEDB8ADE2ACD6249F, ); name = xml; sourceTree = ""; }; + 485FB08BAA36FE298BB17B6F = {isa = PBXGroup; children = ( + CD44BCDC60998F9B56D816C9, + 5610499D230BD1AA96529347, + 9AF9738DE16EF9CF197CAEB5, + 578ABA08348D048EB31752E1, + D0584D8F725E0D7E61F830F5, + 3646D0F8040D0BA39CAA7334, + E975A1A60F48EB781C00B9CE, + 19FC0B4091E80A81C362439D, + 4822B30197922299EE3A956D, + 01089967B5648A2E6C58C329, + C0467549EAF92B8F6871EBAC, + A3F0BD2B34F1E5E5C29AF8D5, + DCEA692A420A94DE110CC07D, + B032D869039A2B845AAD274E, + CFADD611F5F0D9EC5127C6C4, + D57DF4F024A84881420586E8, + 7B7A3CB2B7E41C7033768B9F, + 9B87669D1A522712909A9975, + 0E6857D9F02622BF604DC9CD, + 5DC8D5FAFEC3E8BA40B3D440, + 6B79FCA95B306DFA67BDC361, + A36C4D27B63C7395BBF9E1D3, ); name = zlib; sourceTree = ""; }; + 90ABF2DEF59F1E70601CAFA3 = {isa = PBXGroup; children = ( + 485FB08BAA36FE298BB17B6F, + 22A85B46C8EED46FA81F61B2, + 2149AA5B4890E2E05119749B, + 777E62C96ACF5A0FF45950AA, + E2B251D85649A9A43CB428C5, + 95D4FB306A367AE3A6D28173, + 4AE945ACA404BF885EBFB4B7, ); name = zip; sourceTree = ""; }; + 0B5C4CA2D787EC3780C7CBE8 = {isa = PBXGroup; children = ( + 7C45AAB8E15759495D4475A4, + 07FA76608C528181C74CAF6D, + 071F872BBAB53A7F2EA231EA, + 9AAE17ECFC355156861CD1AC, + 99D13413CF1ADB1E3AD3958B, + 81C034C363F8A04155505040, + 101B9E56BFBE5D2CBC6531A4, + 5E4506249585F612E29F8416, + BBC122B799D2AD73E26B6C82, + DFE76F9120B809A20693F40C, + BC7DA27A2704DCED1BD89401, + 3EC1550CC783426558249947, + A628542733B556400F596184, + D4CF19A6D3CD14CA0D95C707, + 63BFB844556FEE8C5B9F120A, + 0BDBF2914F7586AC7316168F, + 90ABF2DEF59F1E70601CAFA3, + E2B1B0398CFDDCA5A122ECB0, + 317A2F549752C6765A3675CD, + 1BB18533BD30BE7BA73F779A, + 317A2F549752C6765A3675CD, ); name = "juce_core"; sourceTree = ""; }; + 5AEFD006F5B97D797E36C81E = {isa = PBXGroup; children = ( + FDBC4DF16A90252E242CF668, + EDC5CAD8CAA7E5DAD49F18B3, + 9146F18918C954121E932A8B, + 185A5E99EFDAB0E1ED5467F9, ); name = "app_properties"; sourceTree = ""; }; + A5DF8BF9F23CCF8324E75A2B = {isa = PBXGroup; children = ( + 9D9015BC9941D5D5CFF99DA9, + 883986B1E4E324BDC35B025E, + 2B907016FF0A2E4074343127, ); name = undomanager; sourceTree = ""; }; + 1DF12BEC30C65013D04D6B8C = {isa = PBXGroup; children = ( + A1159B10837BBDD1BD12A882, + 8969D907950F902E7ACD9D6D, + E9617DEC7E639354C2AF66A8, + F8A0BED0C8B7DAF962431C39, + 14B4ECA05D8D48728F6E0DAC, + C383A0AB2662F2FCB802D61D, + 4EFA2DD6FA97904E17A543A8, + 82918021090B19A27046FC03, ); name = values; sourceTree = ""; }; + A90E4C4C435E8AE44C245413 = {isa = PBXGroup; children = ( + 5AEFD006F5B97D797E36C81E, + A5DF8BF9F23CCF8324E75A2B, + 1DF12BEC30C65013D04D6B8C, + EA6D44AA3D1C9B0A5873DC4D, + 8FAE0E215D1E95E6CA7C58E8, + 2493A480D61B46E07EC10DD5, + 8FAE0E215D1E95E6CA7C58E8, ); name = "juce_data_structures"; sourceTree = ""; }; + D3714BC58B555CDE49329AAA = {isa = PBXGroup; children = ( + 3EBDB41A4AA8C71BB089DD65, + EC6AE147E0DC1DABD86AD10D, + 0589532FD9A73AE783AEAFF9, + B6B3AF7688EF55A4FC61D5D6, + A1FA95A0AA37CD773ACBCE8A, + 2FE196E99D5ACD17E1EC061A, + 170409D99808EC4EADC66EFF, + 1CE2727544D8067E9DB2F503, ); name = broadcasters; sourceTree = ""; }; + 69EB4DA8AF5A417F1F43C923 = {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 = ""; }; + C4372ADA3A5619FECE3B7731 = {isa = PBXGroup; children = ( + 2A59FFB4A0420DA1E24EF14C, + FC1D343CACA27BD4C8314F0D, + 36D0D18E4170C7A1D25D0704, + B77C48286D446F5C7BD4B76F, + 7CA84F62BB5AC492B1EB49A0, + 896386672033108CFE54FC64, + 64006FEB76C8189A341F77D6, + 12F04ADB729E5DAB771C50C9, ); name = native; sourceTree = ""; }; + 58E31A2D95C3B3D6DB0B207E = {isa = PBXGroup; children = ( + B5C3356C447E60F512C5E8CD, + C9407CAAB91ABCB83CD3F80D, + B98F443DC0CE94BC13CC3D44, + 809E47902CCE60747026EC3B, ); name = timers; sourceTree = ""; }; + B5521BD970390A393CE16042 = {isa = PBXGroup; children = ( + D3714BC58B555CDE49329AAA, + 69EB4DA8AF5A417F1F43C923, + 8859D9872008A7577B7C8205, + C4372ADA3A5619FECE3B7731, + 58E31A2D95C3B3D6DB0B207E, + C5B2DDCFB6FEA46E4F97BBA1, + E2FE1E6598C038AFAFA1881A, + 780B53C6F9FF49EB24A43102, + E2FE1E6598C038AFAFA1881A, ); name = "juce_events"; sourceTree = ""; }; + FFEE39236F334DD12A2C64F7 = {isa = PBXGroup; children = ( + 4A9B4448F56A2C6BB87A2237, + 54B4AF19CEFECF9097905D10, + 643F0D51DA8A1B56EB1C8B61, + B3AED660CB964056A7063CE6, + D2436FFFE291F08409B1EEE2, + A2129507609CE7130FBA1340, + 96DCCD578FF29CD7D381E8BC, + 0F423E99E9C1741395CC5CF6, + A29CEAB6F2F844C410B2F014, ); name = colour; sourceTree = ""; }; + AB6C2C7AB64E2A4AE51B350F = {isa = PBXGroup; children = ( + FD60B5D096AA5B3AB840278C, + 9C9AF92C7A254CC7A2AA72F0, + F091E35001480A9D35B6C007, + 5A15B2AC96B76F7CF212B83D, + E750DA71CBCC6CB2236D7277, + 8DCEAA37D9F7AAD98A244B49, + 3289934D2B14EEF7D64D7225, ); name = contexts; sourceTree = ""; }; + 528EAFE0694E003EAF8A53C4 = {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 = ""; }; + A69075A2441F537241476273 = {isa = PBXGroup; children = ( + 6F12413CE2BF3B7B0E8FD50B, + 57D814738C5CB6D994984F98, + E2A39DE02AF9ED3035EC5F9E, + 947776740572A5A07C2500EE, + 35B09493554CBE82B89CABA2, + 524CB59E51CF8B42EFF88129, + E8EB40396974468FBD0EE15B, + E558CF08264E559967E2F538, + E2893CF05E01B66FC69E2E93, + 233959140E5D6C2348DEDFC0, + B1972B63AC71C03527E02534, + 1F9C82CD04D63753C7B56FCA, + AE0F66472A7765041DD5F722, + A35BCEE1A423BE734BB3EC80, + 41160F46936DACC3CE2384BC, ); name = geometry; sourceTree = ""; }; + 775F9D542874248585C7F00E = {isa = PBXGroup; children = ( + A3BD9B9785C4D83D7039FA9B, + 3B19493E0256E03A72077CC4, + 1D772DFC77232B7D46E3C8B8, + A56060E773F77B3CA7DC3743, + 5BD489426A79208B9CE6F3CF, + 87415D844832686C8423F226, + 2FA751FD2A27B8A4F8E38471, + F6EE58DFEF8FCDB46EF05A40, + E66660FF00CBD999FBB1170B, + 3D99E812E5A31F89576AFD48, + A964F27F7DC1D680A7EE582A, + 6318EF76B203CDAE12E81206, + A7EDF8FF797D5C22FE78BAE3, + 8FE4D93D82016AE0E952662F, + E5E982E791DA0CDEA0D953F8, + 0241C84ADBC1372AD1B15FA4, + B054CDFF33B17777FD1855BF, + 68B7F1E965E664AA4A3D736A, + D0ECDC7390CA390D69946652, + 838589C6A26E0A8BF70ACBCF, + E4CB12FDCA729EC8BD9E0845, + 2324F8C81AF916371F43E79E, + B812C4A2809BB37D45F54A59, + 938B5112D072B60A18918CF1, + 4A69C68B9A56DDEEA7AE7C2C, + E0B49BAB1C8D7341A6E142B7, + 444852335DB292EDFF67DC67, + 68B7ABA0D4D33D37EED397A3, + 78E8FAC9FF2AD3DC7993571C, + 2388452E5F6DCB19F520863C, + 4E196E9052BA6B907C0451BF, + 2A98E7FC712BC286E775DA82, + 269F86AAF66F1984636C5910, + 2B41BD136207AD9637B67DD9, + 4C450297F9B6ABF878D17A97, + E93BF1F2B52BF52EA12326A3, + 201245548579463FE1BA5E2C, + F41BC22A3F81168073190E59, + 3C4F4849106130DC39A2974A, + 9849BB6DC80E45E541475772, + F9699D179A6E83EE895DF5D1, + 6E494DED491F9BB6B79416E4, + E109CC62F2D686A6C2D1212B, + 7FD2304EE326BEA80492252E, + 835D2B2686271053003D2A14, + 0017AB736B8CDB1D5DD31A43, + D9B9854449877DBFC0C1CC3B, + 898C1353D8363C36C931ED62, + 14A43973E197095B0D0AE0C1, + 8295A8FD9064BCE33B7C1930, + 676B85A6804E07EFB92F56D4, + 53F3D9DFBD8290221B2C5951, + 516C3F4B2E1818AE9168DFD6, + 4C915668550A278B97EA08BE, + 643BF1E8895A5854D9B43831, + B585667FC1E99FE5C1E3F799, + 75034A13541D4052025A4B39, + 78EA94B9BBE4B6EA891B8BF7, + C33E07D130FCBEF580F65F20, + 5F8395E0825F03C65968D1DA, ); name = jpglib; sourceTree = ""; }; + 4DD963EEB7D5826D0358904A = {isa = PBXGroup; children = ( + 341512EF51459FC9EA9D3BB2, + C5A2FC7A4569F1C242016136, + 6803FF92AF9345C748DD2293, + B4C32A6592E159751BD10360, + 732E6FFBE84AF5B43319C1DC, + B5CA4FEE0ADFDACCAF2FB017, + ADEFBF282F9FF39E37862A73, + 71D26F219C2EE5B5F92F3962, + BED2521A9CE66A6F1A5AE7F7, + 8C4B3098D7965AB352DD51F4, + 42FBFC4A0B7FBAF97377A64C, + C127F9618A2A278A6B2753A8, + 218E12BF9EFC29E44D7CA490, + 96DA31F4C1619188159F7FC3, + 108D019D336F640EDFAC9528, + D4A4555171F923D744B1FDF7, + CD41042388657A558C93AD86, + F3B288E80399C45A9018A636, + FF11C3FCE2827DE3D24F0842, + 79F348BA4CD707D7BF30F197, + D90938FEE6B821CE90556A9F, ); name = pnglib; sourceTree = ""; }; + 3F7F944ADD4C5934C369468F = {isa = PBXGroup; children = ( + 775F9D542874248585C7F00E, + 4DD963EEB7D5826D0358904A, + 47C5EAA4FDB09A919047097B, + A7D9A07B7B44888CF960B9B4, + 4BCC956571543FE3E8426F11, ); name = "image_formats"; sourceTree = ""; }; + 8374CC022BFBD7185D84788D = {isa = PBXGroup; children = ( + 600E363997E4D34382349626, + D908038BAE155E55517AB2FC, + AF575F9303D3AA5E410C274A, + 648071EE7F5AB0EFA06D0A6C, + D36CD153A79988DA706EC9A6, + AAA19AA6801AFA1AF07C8E2D, + DA42AACD549E6C214EE09CF0, + 0B557BFDEF2C0249EC732AD3, ); name = images; sourceTree = ""; }; + 7EF882CE04DCFCABFEBAD998 = {isa = PBXGroup; children = ( + 4B4C75787794A7A56E55731F, + 96102E98CC639030FAD7EA68, + DBC04DFB6E9667DCA1BC83E8, + 8693349823D718B2BE254101, + B33097C6BA7E4793E7536BBC, + 53BEB5C2536814DD97FA6286, + D5797410CEE0E8D2E03D98F2, + 17EE88F0A67B5FD24182345A, + 042C7366A26A18DFA13B2512, + CF6FA9D2F39F03FE2858F11B, + F3D09A0EE7D17AC66B30155A, + 58E2885768EF7366025F4A23, + 28309CD49B2260C187FED2DF, ); name = native; sourceTree = ""; }; + 99E44CAD902B5BFAD1724EAA = {isa = PBXGroup; children = ( + F68409D2238C16D94715445E, + DEC63BC653D0F918D0721CF4, + 86AC66980898843AE721BD08, ); name = placement; sourceTree = ""; }; + A0F34AB1DA27212F06E72572 = {isa = PBXGroup; children = ( + FFEE39236F334DD12A2C64F7, + AB6C2C7AB64E2A4AE51B350F, + 528EAFE0694E003EAF8A53C4, + 963A45A2A5EA3700518FCFF1, + A69075A2441F537241476273, + 3F7F944ADD4C5934C369468F, + 8374CC022BFBD7185D84788D, + 7EF882CE04DCFCABFEBAD998, + 99E44CAD902B5BFAD1724EAA, + 492F7F32A1C3FDC702CF7421, + 11C585D0BE28AEB6941E0E8E, + 6CE2AFEAEE4AE23D2E17E2D0, + 11C585D0BE28AEB6941E0E8E, ); name = "juce_graphics"; sourceTree = ""; }; + 9F4C8CCCB1BEBC9F18086F73 = {isa = PBXGroup; children = ( + BB8432AE150D5AEB38808FA9, + A1595E748092878FDAEA5A30, ); name = application; sourceTree = ""; }; + 89FD7B1FEB8F2404C457F26E = {isa = PBXGroup; children = ( + 7F1746052D09CD80BDB28BF8, + C4BBB0A36D8C8E7D180247DA, + 8E61D5E0D6068F247E70219C, + 31A18092A539E3763FBAEC65, + F873CF6ECA029B94F7F4084F, + DAEE812EF95F96E7D65D875F, + C80FFBB5F1E2674B9DBC054B, + F27FD37C4F6D16400014F5F7, + A11CF361C0253B499324D31E, + B3CA6447C345EE05F8B98195, + AACAB54751155F5AE9CFCE61, + D4C0852C1C54EDA5D4F82EB1, + 221B409DBCBD063B4C7A8253, + ACDA8668B39A102D419BD481, + 1E81FFB8798BCB6C6E8C82C7, + 58797A7F2D9F46830E4B7893, + 5E0894E38188345B5643E7A3, + 2290343F8EDF842707A28B00, ); name = buttons; sourceTree = ""; }; + 3320D8618703EE44649E30D2 = {isa = PBXGroup; children = ( + 781F73EF2934742C97B305D3, + 6DF4FA55C69B25537DCD88C8, + 89B73E1F52531A1A8A1C3E9E, + 738FC67C7D9A53148C0A21AC, + EEE67087AEC296875FA1D934, + 0737F61AF723FA62458B92BF, + 5982DB12F71224C609600E4C, + 602803D62DD249B1F47FC0DE, + DFE5FACFB131FF766CE6DEEF, ); name = commands; sourceTree = ""; }; + CC19D40BD58B732D1F179C86 = {isa = PBXGroup; children = ( + D87ED789DA527A749E7310E4, + E03AA585A375A39A9BFF3DD4, + F5E8E9C083E0933E6FB6CC13, + 5D4C79A914D3D6297D605D14, + DC6E859FF89B5A3C9BAFE19F, + 4CCA15F86C8EC799F1EA64E9, + CFAFC86F4D25AB5A31DF3BE5, + 387EFF395C9CEF73E0EDEE68, + B6ABAD2ACC048C4DAB31CA27, ); name = components; sourceTree = ""; }; + C2E7BC5A003ED8CD0DAA0C2B = {isa = PBXGroup; children = ( + FE57CDE96F42D240BC5BF9B5, + D7CDE24FD157D0DF359E9D8D, + A9DD0C9B00D83CBB77EDBFA6, + BD283419247CBA6C6DD2ADD6, + 3A53F5D6A8D1C20349358EE3, + 4832A1539FCE4D132EDE2BF4, + 8ACD82D09483797E1A7A65B2, + 9F142652D1037C744443A4E3, + 856618203AAE94C7B806F9EF, + DB3A7C49C8444BD2F57B6689, + B85C9F9BF94FA8926EB9ACB8, + 1F9CAB8660B3BA12C6147B6F, + AAB7E87C600B13349477C51C, + 15C8A0E89E2A3DFAC733FCD9, + DCF51EBC4D12F196EEB28FB1, ); name = drawables; sourceTree = ""; }; + 90ED8883D337AA3F55C2CBFA = {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 = ""; }; + 7BAFC389443803FCB784F977 = {isa = PBXGroup; children = ( + F7E0F072B76ECD5DCD102B88, + D9D057AE4FE642513602611B, + 14A852037C298A105BA716F5, + 5F2D06669F5AADE87DDC34B3, + 1CCCE32D36FB57FBFA6B8BAD, + FB1EE60A865765771EA250C4, + 11178723AF569693785A066F, + EE4D4EE1F1A9A83289EE361F, + 281075EA1C6C7E6F6C26F5A8, + F8A93B8EDF908B6E3AD2C2D3, + 0BF3EE970460415F16F823FF, + 1923954B491DDBBEF5694ACA, + AF02093447674A2DBEFB7B2B, ); name = keyboard; sourceTree = ""; }; + 216F2EC603F5C95B126740EE = {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 = ""; }; + 3623BA84EA68072869E7E591 = {isa = PBXGroup; children = ( + ECE0E7CC17846F150AF6C901, + 85DE0813E0EC15BF1435C132, + FE34F4ABFE740FFEEACB468E, + 6B6303E5AA18CCB271E1140C, + 222404E72D12376641634275, + F49DAF0F225F071A4CCAC866, + 689C5CEA66D05F6AAB2AD543, + BBD06432CC4155521050CD2A, ); name = lookandfeel; sourceTree = ""; }; + 35A9C9DB557B5F9773651AD5 = {isa = PBXGroup; children = ( + 19E72A5209E3A31D442AF7F8, + F6E320B598D5271551AF8743, + 1CBE1E675953EF2172FAD79E, + 4B8AC6E7C0E4C3A9075AC874, + FECF8B067AC43A560B50217D, + 55DBC30F1FE74C23DFB58E50, ); name = menus; sourceTree = ""; }; + 3E701B8ACA4867446FC52263 = {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 = ""; }; + 53BD7527A03B8D31E65CD483 = {isa = PBXGroup; children = ( + 3CF1BFA42E09BA635804012C, + F720563676D4C9E4DE103144, + 73452324A4B3A16EFC98F31A, + D0A4E2C5F2B21172DE13DE0C, + 13C5BDE7720A7963AC736BC1, + 8B41FABCC567F034274522B0, + 249C42CD1086AFA592455970, + CD3ABE20AE524B92B9B6A6FA, + F2748B621652974B80EA33C0, + FD9D2DD3D3C7F14F07505EE1, + E104DAB2F8C8F885C393011A, + 0DDFA4ECA18ADDF430BFEA7E, + A440AA225DF048215509E577, + 5EDCECF062EB01976634221B, + 0EF4BF328799608AE16E7596, + 7FE887D76DBB520BBC48CDAF, ); name = native; sourceTree = ""; }; + AE92A3156165B6BBB6F1928D = {isa = PBXGroup; children = ( + 78F63AA848D74E5E555EB802, + 7BAB8DD68B7A25B281233969, + 745B58030382C3D0DB6E7815, + 984C35577FE047A66ACC892C, + 8F3FC2A8E965AA4E83259DB3, + C25203A01A84B7032A7774CF, + 786D0A06690AC040E7D8E525, + 90C18AF3CAC0E59C88732904, + 8C097DF0606C8FF6B60BEA38, + 9E2454FACF592AE472873A44, + 0F74F021243AF898305447F1, + 7A772485103B4848CD67493D, + F1B548156993F8F8A27A254E, + 854757FAD81F978667CAA43C, ); name = positioning; sourceTree = ""; }; + CE673C3D517A5602364BF5A1 = {isa = PBXGroup; children = ( + 8E29909B5886662F2EC3F5CF, + 3BC1A61883750CA66661C604, + D8E68D83ACE5DBEA2B7BC876, + 26119533942D8F97DB48987C, + 48CA224BFA100226BC71AC64, + 9312B68ACDD2A4EAA31CAA73, + 0CAE94701F33517C1CD31C63, + E4D985BB229FC31731681790, + F49713E132B21A9445D9457C, + 2ACD8B4F8D47934FD31769B3, + D557AAD12557BF1706441B19, + E795FC063102CA8BAB722C58, + A7399999B1C3CE46C66268C1, + 5CD7B7469B5384EA47491D9E, ); name = properties; sourceTree = ""; }; + F66BE2B77C1CCC45BC94CC22 = {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 = ""; }; + 5FA2CF0DCAAB4B2427E48F6D = {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 = ( + 9F4C8CCCB1BEBC9F18086F73, + 89FD7B1FEB8F2404C457F26E, + 3320D8618703EE44649E30D2, + CC19D40BD58B732D1F179C86, + C2E7BC5A003ED8CD0DAA0C2B, + 90ED8883D337AA3F55C2CBFA, + 7BAFC389443803FCB784F977, + 216F2EC603F5C95B126740EE, + 3623BA84EA68072869E7E591, + 35A9C9DB557B5F9773651AD5, + 3E701B8ACA4867446FC52263, + 2EC5F136D33B29FC7CA4DE09, + 53BD7527A03B8D31E65CD483, + AE92A3156165B6BBB6F1928D, + CE673C3D517A5602364BF5A1, + F66BE2B77C1CCC45BC94CC22, + 5FA2CF0DCAAB4B2427E48F6D, + 774B74570B66CD26D8AC1541, + 6318A339AECAF501129080C1, + 091831248DA7C8E7AE891EB3, + 6318A339AECAF501129080C1, ); name = "juce_gui_basics"; sourceTree = ""; }; + 92F0F94558D4C34CF9154CB0 = {isa = PBXGroup; children = ( + A1CFD76549B8E9EB1C360ED5, + 8AEA9D5BBBC4CB214F18FCE3, + 407594E170D93B59D103C9F9, + 8BE57B5119CAEC5B32929064, + 63CC74AACD754A2EDB1F27BC, + 248A66F8517F19A7F12433D2, + CB23F9E24266013856B53BBE, + 1FAFD9FD13BC47F3BEE7E4E8, + 24BFE051E896A8229AF3656B, + 8BE052A2AAFF109DC2A21423, + EC47F3AE085DBD9355D975CE, + 4E22B7FBB34DE120CD03968D, ); name = "code_editor"; sourceTree = ""; }; + 296B955AAE0BB05B021B4B19 = {isa = PBXGroup; children = ( + 1DE41A53AABA7D76432B567F, + 16F4A8C0228D84216A33B9B4, ); name = documents; sourceTree = ""; }; + 5BDF2D3ACDBBCAA8E2BD4803 = {isa = PBXGroup; children = ( + D43C762F1355546820373F14, + 7B351E0CEB9BE04BE1F04AF5, + 35331E7E5F8892DF428E5E14, ); name = embedding; sourceTree = ""; }; + 3496C854B0BD70F6304A1724 = {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 = ""; }; + 361FD6A8A984A7F597E2E701 = {isa = PBXGroup; children = ( + AA382FBAEDD76245D686042F, + 7E838C96F00848B2EE6E2F72, + 53C30AAD14A7899AB7D9584C, + EFF4EFA57D166DDAC54C3041, + 15D7465655AABF4F6BBA81CF, + 0C5C43B5677B8F335F364B14, + 98305AA6513DCC298E322C0B, + 0317FC7737CA599686725C64, + 9B17FF5755D8E809D2DDAC2A, + 54D3C5E5AE4C1384F4220D71, + E2E958362263925141558B05, + 121DD39EAA6066F411B049A1, ); name = native; sourceTree = ""; }; + FADEF5D8552166D43B12A23E = {isa = PBXGroup; children = ( + 92F0F94558D4C34CF9154CB0, + 296B955AAE0BB05B021B4B19, + 5BDF2D3ACDBBCAA8E2BD4803, + 3496C854B0BD70F6304A1724, + 361FD6A8A984A7F597E2E701, + 027ABD5BD9AAC0722F8FC7EB, + 64106F0CE5505E7976249672, + BF6DA9258B6994A918D3EC38, + 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, + 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/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle -lAUv3Synth"; + 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/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle -lAUv3Synth"; + 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/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle -lAUv3Synth"; + 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/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle -lAUv3Synth"; + 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; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-lAUv3Synth"; + 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; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-lAUv3Synth"; + 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; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-lAUv3Synth"; + 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; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-lAUv3Synth"; + 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; + 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)"); + INSTALL_PATH = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth; + 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; + 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)"); + INSTALL_PATH = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth; + 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + 73F4C13CDCAC7EE5914F2E61 = {isa = PBXNativeTarget; buildConfigurationList = 32113A068DE980F098C3A7FA; buildPhases = ( + 2094EE2ED994CDD1B1C905BB, + 074C299F37078964C5476AC0, + 88CA07DBC6CAFF5FF3E65E3E, ); buildRules = ( ); dependencies = ( + 017B214D817BF0DF53051BB2, ); name = "AUv3Synth (VST)"; productName = AUv3Synth; productReference = F5E81FD99EFCB226D2486603; 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + 386D3CCDC878EC299C56FB39 = {isa = PBXNativeTarget; buildConfigurationList = FF042435632D904FCC8646B3; buildPhases = ( + C123969EE00E891FAC7CEF45, + 795D24AC6934948AE4F8FDE2, + DA9D03D52A1175C7328DC9D4, ); buildRules = ( ); dependencies = ( + 017B214D817BF0DF53051BB2, ); name = "AUv3Synth (VST3)"; productName = AUv3Synth; productReference = E4AB099F3E7A853F90FBFEEB; 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, ); 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; }; + 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, ); 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, + 7B44C01FD5EBA7864D985AC2, + 07033B8316DF6C9CC2B31737, + 9D91842D2BFCA3D239EE3E53, ); buildRules = ( ); dependencies = ( + 8F5816EA1D519B78C3345C1B, + 017B214D817BF0DF53051BB2, ); name = "AUv3Synth (AUv3 Standalone)"; productName = AUv3Synth; productReference = EC3DE1F504C76EEDDA7F2216; 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; }; + CD6892FED0DB19C0DDD9AD37 = {isa = PBXNativeTarget; buildConfigurationList = AF907C78A0D17B741F5F8944; buildPhases = ( + 1F4A8812AAE49E02F3215F48, ); buildRules = ( ); dependencies = ( ); name = "AUv3Synth (Shared Code)"; productName = AUv3Synth; productReference = 9536B5A780A03F6BACB24144; productType = "com.apple.product-type.library.static"; }; + 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 00000000..dc25966f --- /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 00000000..7f39c1c3 --- /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-VST.plist b/examples/AUv3Synth/Builds/MacOSX/Info-VST.plist new file mode 100644 index 00000000..51f49921 --- /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 00000000..51f49921 --- /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/ExpressiveMidiTest/Builds/MacOSX/RecentFilesMenuTemplate.nib b/examples/AUv3Synth/Builds/MacOSX/RecentFilesMenuTemplate.nib similarity index 100% rename from examples/ExpressiveMidiTest/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 00000000..1c150cd4 --- /dev/null +++ b/examples/AUv3Synth/Builds/iOS/AUv3Synth.xcodeproj/project.pbxproj @@ -0,0 +1,3070 @@ +// !$*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; }; + 0017AB736B8CDB1D5DD31A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 01089967B5648A2E6C58C329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.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"; }; + 01FF0FC0B8E86058589C6ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewControl.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.h"; 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"; }; + 0241C84ADBC1372AD1B15FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + 027ABD5BD9AAC0722F8FC7EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02801D7F265CC0D7E628313C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.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"; }; + 02A37431E4CAE08883F6F809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.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"; }; + 0320074C3D8F3077E1BC32C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CarbonEventHandler.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0395D4BFAC2C979809913512 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + 03DE1C983B7DECDCC451C8F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm"; 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"; }; + 053838409E82E7D7722F7404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.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"; }; + 06580FB07A43DEC6C8295BA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm"; 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"; }; + 08A5C2B4487C0D890B8E4BCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.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"; }; + 0917D57F60050B4F73D6D3C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; + 091831248DA7C8E7AE891EB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + 09F2A2DA00059D8C973E1175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; 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"; }; + 0DF6E4BB1ABE8CE2B25AFBD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_utils.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E39CC01E711112C1019D9DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugPrintf.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugPrintf.h"; 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"; }; + 0E6857D9F02622BF604DC9CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; 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"; }; + 0F09D4ED02A7966E01340C52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; 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"; }; + 0F3D7399486DF81A09B4BA14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_3.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_3.cpp"; 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"; }; + 0F4A16CC370A9921C1CDB847 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.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"; }; + 108D019D336F640EDFAC9528 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; + 10C56E77C33F0334603F174F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_4.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_4.cpp"; 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"; }; + 124B7F7DCCBA4A3800DC1D7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; + 1262858B812AF94882629B85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.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"; }; + 128E48C62DE236403F626552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; 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"; }; + 14A43973E197095B0D0AE0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; 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"; }; + 1526268AB9CF9E1B1C7B8C5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.h"; 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"; }; + 15FB1C5B6F9615217E8EA13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; 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"; }; + 1770847B9C9E2A0FD1D9A9E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugMacros.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugMacros.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"; }; + 19FC0493420771A984F582B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; + 19FC0B4091E80A81C362439D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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"; }; + 1A878834D7D84ED2EA7B46FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; + 1ABD6010D7E506599A9FF47E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_Standalone.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp"; 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"; }; + 1BB18533BD30BE7BA73F779A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; 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"; }; + 1D41BDC83BEC3BE9E70582B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + 1D772DFC77232B7D46E3C8B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; 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"; }; + 1F2B719F048195E9EE5372D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; 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"; }; + 1FF4A2655158765CD608248F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.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"; }; + 201245548579463FE1BA5E2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; 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"; }; + 218E12BF9EFC29E44D7CA490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; 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"; }; + 22EF18251285EF8FB1ADF3AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.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"; }; + 231F08492CB6B77362FDF495 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; + 2324F8C81AF916371F43E79E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; 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"; }; + 2388452E5F6DCB19F520863C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; 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"; }; + 23DAFE355DF428573EB1389D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; 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"; }; + 2493A480D61B46E07EC10DD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; 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"; }; + 2589031177BB9F511D2D3EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; + 25FA6FAE60100187FBB42CE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; 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"; }; + 269F86AAF66F1984636C5910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; + 26AE9472CE02F176A9513852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_AAX.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp"; 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"; }; + 26DB94618438B2D5BF6B856E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.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"; }; + 272CA81A41701C9D2B9E8968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.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"; }; + 2848850DAEB041C2F46DFD3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; + 287FEF430637D5D41AE18E9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; 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"; }; + 294C4939CFE14D6AC97FFB13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.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; }; + 299EAF028EB0712F6EC4DA2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; + 2A59FFB4A0420DA1E24EF14C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A98E7FC712BC286E775DA82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; 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"; }; + 2B41BD136207AD9637B67DD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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"; }; + 2C0F2BC4975578A88228144D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ComponentBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.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"; }; + 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"; }; + 2E8BE5D5580F8441F22F6199 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; 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"; }; + 2EFE0F1D43DEDFD0482D1AB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; 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"; }; + 2FA751FD2A27B8A4F8E38471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; 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"; }; + 30C953C6EFACAAFD784A423E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.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"; }; + 315EF8CC3690B1426EB92087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; 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"; }; + 341512EF51459FC9EA9D3BB2 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + 342ECD0AECBF45C4E031555A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.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"; }; + 34DCC221E177C7B3EDB31B4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; 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"; }; + 3529677B3F5608A92C2F6115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; 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"; }; + 3646D0F8040D0BA39CAA7334 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; + 36C7D1F7F2388480ED9046A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUScopeElement.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.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"; }; + 371B5648697BB7CD4CB13890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + 373EF763809F9F44A17D4041 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; 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"; }; + 37B42F69F308C9204EF43A44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; + 37C71FF41633239C939F3675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUViewLocalizedStringKeys.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUViewLocalizedStringKeys.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"; }; + 390E0AE47A8B0764F75CAC7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; 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"; }; + 3A3541155AF9B50FF1CDDCB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.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"; }; + 3B19493E0256E03A72077CC4 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; + 3B6147A905A8590E43AD5D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; + 3B8ED86DF50D10A6A123AD9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.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"; }; + 3C2C16FD2E89297731C3F333 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; + 3C4F4849106130DC39A2974A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; + 3C5761D46BE3D277CE6D09EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; 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"; }; + 3CA7CE7F3D18ED267686C692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputElement.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.h"; 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"; }; + 3D99E812E5A31F89576AFD48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; + 3EF9DAAD65875B7A36AE3144 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + 3F0F5BDD3B7B6493257DBE72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AUv3.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm"; 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"; }; + 3FDB7F2A8DB8E545EB3600E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; + 3FF2E4DDC9954FFA58BE84C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMutex.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.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"; }; + 41597045D1A6BBFA3575385A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputElement.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.h"; sourceTree = "SOURCE_ROOT"; }; + 41B060EA2FB09001DC1C31C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.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"; }; + 42FBFC4A0B7FBAF97377A64C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; 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"; }; + 444852335DB292EDFF67DC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; 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"; }; + 46DDE331360FE5B633660EE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; 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"; }; + 471CB36CE6D4A77EE71774D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + 4727E4D0B884B36E28392044 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; 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"; }; + 4822B30197922299EE3A956D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; 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"; }; + 492F7F32A1C3FDC702CF7421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49563CA8BB263E39F8E7E36A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; 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"; }; + 49EEB43C87C046FEC272E920 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; 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"; }; + 4A69C68B9A56DDEEA7AE7C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; 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"; }; + 4ABB4EE9726CAD8CFE0FB21D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; 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"; }; + 4C450297F9B6ABF878D17A97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 4C915668550A278B97EA08BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.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"; }; + 4D6BEE612A70BD8626C360B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.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"; }; + 4E196E9052BA6B907C0451BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; 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"; }; + 4ED8D42B000833D8B9B4ED5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUSilentTimeout.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUSilentTimeout.h"; 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"; }; + 4F5204A45BA581573E281596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.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"; }; + 4FF6E67C4955E203C6D16FD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm"; 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"; }; + 503105545692BE3BD44F3BFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewControl.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.cpp"; 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"; }; + 50D9DC1AFAF320B414779996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; 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"; }; + 516C3F4B2E1818AE9168DFD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; 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"; }; + 520BAC0AE6F0AC53F77A1F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBuffer.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.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"; }; + 5281BC7449453907B79110C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; + 5295731805417FC3BD50FDEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.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"; }; + 53BAEC3D25514D3A438F3B05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp"; 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"; }; + 53F3D9DFBD8290221B2C5951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; 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"; }; + 55FEB098BE56402F2A101675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUScopeElement.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5610499D230BD1AA96529347 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; 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"; }; + 578ABA08348D048EB31752E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.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"; }; + 58807388296D065DA8778E8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; 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"; }; + 5B63142C7D744373FD08452D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.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"; }; + 5BD489426A79208B9CE6F3CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; 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"; }; + 5DC8D5FAFEC3E8BA40B3D440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; 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"; }; + 5E913F9E1E993CB16785B1A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.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"; }; + 5F8395E0825F03C65968D1DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.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"; }; + 62132FC16AA2F24AEF910DEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUDispatch.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.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"; }; + 6318EF76B203CDAE12E81206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; 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"; }; + 643BF1E8895A5854D9B43831 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; 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"; }; + 6623FF864040E7A329A05ABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAReferenceCounted.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAReferenceCounted.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"; }; + 673F49E7B25D0379EB7F9651 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; + 676B85A6804E07EFB92F56D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.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"; }; + 6803FF92AF9345C748DD2293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; 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"; }; + 683BC92E095F56916A11944D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp"; 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"; }; + 68B7ABA0D4D33D37EED397A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; + 68B7F1E965E664AA4A3D736A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; 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"; }; + 6A036D1B291A216D4E3F7143 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.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"; }; + 6B79FCA95B306DFA67BDC361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; 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"; }; + 6CE2AFEAEE4AE23D2E17E2D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; + 6D61505DE8021C51E8C5AE52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; 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"; }; + 6E494DED491F9BB6B79416E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; 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"; }; + 70953E41B294DDA5B34B4E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; 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"; }; + 7179ABD196CCA6EF524FAA44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDispatch.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.cpp"; 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"; }; + 71D26F219C2EE5B5F92F3962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + 72778974E283DBF8F2708C74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.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"; }; + 732E6FFBE84AF5B43319C1DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; 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"; }; + 73BB8E247A275838FD16AFE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; 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"; }; + 75034A13541D4052025A4B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; + 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"; }; + 774B74570B66CD26D8AC1541 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; 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"; }; + 780B53C6F9FF49EB24A43102 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; 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"; }; + 788BB5360E93083A0FB3498B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 78A61E96AEF1DCFA5A488121 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAudioChannelLayout.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.h"; 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"; }; + 78E8FAC9FF2AD3DC7993571C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + 78EA94B9BBE4B6EA891B8BF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; 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"; }; + 79F348BA4CD707D7BF30F197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; + 79FF0A4C4E7239DBDC350A7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.cpp"; 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"; }; + 7A73BDB9B30EB6AA268882EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; 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"; }; + 7B7A3CB2B7E41C7033768B9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; 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"; }; + 7E46D4C045D1A7060C7DE3D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; 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"; }; + 7FD2304EE326BEA80492252E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; + 802CA561D36E5556CF267271 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomic.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomic.h"; 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"; }; + 820E70473B219081B3B74D79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; 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"; }; + 8295A8FD9064BCE33B7C1930 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; 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"; }; + 835D2B2686271053003D2A14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; 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"; }; + 838589C6A26E0A8BF70ACBCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; + 83F0FB25581E6D301C2A574F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; 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"; }; + 84598418274C7D64A6030E82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDeviceBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.cpp"; 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"; }; + 8553867F8B04D10919C2BD4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; 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"; }; + 85F179B5610144F5798104E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAStreamBasicDescription.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.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; }; + 87415D844832686C8423F226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; 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"; }; + 876D30F6E9647DB0F9BE4463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; 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"; }; + 8893C18A7946E12C0F422EB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; 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"; }; + 8969D907950F902E7ACD9D6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; + 898C1353D8363C36C931ED62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.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"; }; + 8A3F809F240408D5195FB0F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; 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"; }; + 8C4B3098D7965AB352DD51F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + 8C94129D8EEFEBD6B451F78F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; + 8CE01872FF8B37355E63991C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; + 8D030B4C002B429D9A9CF05A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + 8D4AF11BC6D0F698838984C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputElement.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.cpp"; 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"; }; + 8E7535A598BEC0FDFD346359 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; 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"; }; + 8F3C3474E9EB852A40B3A25B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUPlugInDispatch.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.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"; }; + 8FE4D93D82016AE0E952662F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; 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"; }; + 9015FC74644F82DB0A49FBFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; 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"; }; + 9136CCE147582160FA805637 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.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"; }; + 91D10BF1909D2B9C169E4493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; + 91F32F326BD577CD67AE20D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; 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"; }; + 92723EFA7826236908D48AC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAUParameter.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.cpp"; 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"; }; + 9329788543F0C6DA2B50BD72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; 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"; }; + 938B5112D072B60A18918CF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 94304B55601DBF7FBCFC6767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; + 94308E0D87CFF0D58DAAA0D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; 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"; }; + 94BFEB9B92F3D546332FD8E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; 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"; }; + 95931BF9B518FB17845AF4A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; 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"; }; + 96DA31F4C1619188159F7FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; 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"; }; + 9767C9015F48F6F42AEC0C9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAutoDisposer.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAutoDisposer.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"; }; + 9819471C5F5583C007A4AED1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.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"; }; + 9849BB6DC80E45E541475772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; 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"; }; + 9AA36A7E6CCDA68D308E0721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9AC567D7B8512713855C3B18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_2.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp"; 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"; }; + 9AF9738DE16EF9CF197CAEB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; 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"; }; + 9B87669D1A522712909A9975 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.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"; }; + 9CDA59EF21795C1CA73E5C4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_RTAS_utils.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.mm"; 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"; }; + 9FA43271ACEB06BF3AB00095 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; 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"; }; + A0173759895A8C13BB754998 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; + A032CFC5A613848D8594B40B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; + A1159B10837BBDD1BD12A882 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.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"; }; + A36C4D27B63C7395BBF9E1D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; + A3BD9B9785C4D83D7039FA9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + A3F0BD2B34F1E5E5C29AF8D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.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"; }; + A4BE4A85CD5ACC6A78C3B8A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm"; 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"; }; + A56060E773F77B3CA7DC3743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; 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"; }; + A6610B06B712DDE6F2A27290 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; 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"; }; + A67C1F56AE76AD426797537F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.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"; }; + A7B823112D6BED3312715735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAXException.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAXException.h"; 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"; }; + A7EDF8FF797D5C22FE78BAE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; + A8209DFA6D320A6BD9BBDB48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; 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"; }; + A8D6D12C46AD421B49D24F6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.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"; }; + A964F27F7DC1D680A7EE582A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; 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"; }; + AA2E0F9D7AD2B39A4E94F1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBuffer.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.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"; }; + AAE7F49A142463B69778F90C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CarbonEventHandler.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.h"; 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"; }; + AB8AE5899A6439D0520D813E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAThreadSafeList.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAThreadSafeList.h"; 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"; }; + ABCC3DA0D4E2F074AB220BB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; 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; }; + AC36AEF9A7D94B5F50725E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; 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"; }; + ACDCFB7C5CE966089DF7665E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + AD228AE61929A94FFBE55CF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomicStack.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomicStack.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"; }; + AD748818ED49AF2A6BF7AF0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMath.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMath.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"; }; + ADEFBF282F9FF39E37862A73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; 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"; }; + AE9CA003C4D379CB43E9CDE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAException.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAException.h"; 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"; }; + B032D869039A2B845AAD274E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; + B054CDFF33B17777FD1855BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; 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"; }; + B0A987158C4CF4E8D0D75243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; 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"; }; + B389D5350378076E0DF5DA6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.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"; }; + B48471A74A3A2BDA248931F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + B4C32A6592E159751BD10360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.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"; }; + B585667FC1E99FE5C1E3F799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; + B5CA4FEE0ADFDACCAF2FB017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; 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"; }; + B79F6D7A104EF67978CFFC4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnitTypes.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnitTypes.h"; 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"; }; + B812C4A2809BB37D45F54A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; 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"; }; + B8622807DB0688A98F8C75E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; + B986157ED5B0414CDF696C62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAHostTimeBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAHostTimeBase.h"; 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"; }; + BC2068C5203B2AA39EAE0C6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; 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"; }; + BD95E66B6A4CDADCF0631707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDDC593699182D1603163238 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.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"; }; + BED2521A9CE66A6F1A5AE7F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; 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"; }; + BF6BA28F41BA2A03D9325E0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; + BF6DA9258B6994A918D3EC38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; 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"; }; + C0467549EAF92B8F6871EBAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; 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"; }; + C127F9618A2A278A6B2753A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; 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"; }; + C1D83773976CEDB413DB5E5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; 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"; }; + C33E07D130FCBEF580F65F20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; 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"; }; + C5A2FC7A4569F1C242016136 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; + C5B2DDCFB6FEA46E4F97BBA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; 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"; }; + C639338DD5AF077DF5BF8361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + C68283C8A9FA7CEC6AA6975C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.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"; }; + C7BED13E38A3138A9D851FAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; 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"; }; + C87B625D4AD4826BF9301E7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.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"; }; + C9B7C5BD09A1486B2A10DA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.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"; }; + 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"; }; + 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"; }; + CD44BCDC60998F9B56D816C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; 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"; }; + CFAFC86F4D25AB5A31DF3BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.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"; }; + 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"; }; + D636983E7D4B5897EF493708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + DAF78E342ACF24B5A83E0605 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + EC3DE1F504C76EEDDA7F2216 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AUv3Synth.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 9536B5A780A03F6BACB24144 = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAUv3Synth.a; sourceTree = "BUILT_PRODUCTS_DIR"; }; + C1E4A7F5418639D70CB51F0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + C61EEED69EE6C34E5C64B729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; 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"; }; + C9407CAAB91ABCB83CD3F80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.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"; }; + CBA22CAB6770979BCCD18EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; 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"; }; + CC32EDCC4709790EBBA55941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; + CD41042388657A558C93AD86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + CE491063B3EF486A263519F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + CE517EF86B0776BA9B27F3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUTimestampGenerator.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUTimestampGenerator.h"; 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"; }; + CFADD611F5F0D9EC5127C6C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; 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"; }; + D0584D8F725E0D7E61F830F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + D0ECDC7390CA390D69946652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; 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"; }; + D399047CE27AA5B33FE37AF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3D5C9CD534AB3AE61D7B09D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUInputElement.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.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"; }; + D4A4555171F923D744B1FDF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.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"; }; + D5797410CEE0E8D2E03D98F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + D57DF4F024A84881420586E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; + D5816478E1FBC9D296E78CFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; 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"; }; + D8064ADD700D012E11CE5FE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.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"; }; + D90938FEE6B821CE90556A9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; 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"; }; + D9B635DD89ED59E04DF326E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; + D9B9854449877DBFC0C1CC3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; 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"; }; + DA1AD416DB2E990AD25806AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; 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"; }; + DC235ECDD76E245939C49092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.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"; }; + DCEA692A420A94DE110CC07D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; 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"; }; + DD0F106B173A73C954D57AE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.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"; }; + DDAFBE2B2CD98044F75A248F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUPlugInDispatch.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.cpp"; 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"; }; + DEC24A286A1DEF26BE35CC20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + E0B49BAB1C8D7341A6E142B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; 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"; }; + E109CC62F2D686A6C2D1212B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; 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"; }; + E2B1B0398CFDDCA5A122ECB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; 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"; }; + E2BA7122756CD29CD86FA7C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.cpp"; 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"; }; + E40580FB3605FA6D5DA3FD73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBaseHelper.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"; }; + E4CB12FDCA729EC8BD9E0845 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; 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"; }; + E5A40C64A3C65303ACF81585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; + E5E982E791DA0CDEA0D953F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; + E66660FF00CBD999FBB1170B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.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"; }; + E88DF76B88F3E67D0FB58CEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; 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"; }; + E93BF1F2B52BF52EA12326A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; + E975A1A60F48EB781C00B9CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; 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"; }; + EA6D44AA3D1C9B0A5873DC4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA89A423564A332B875F040F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; 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"; }; + EA92EA0E7F4D3859821CEB4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAUParameter.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.h"; sourceTree = "SOURCE_ROOT"; }; + EAA84CC80E920249F422C205 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.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"; }; + 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"; }; + ECB9067017FFA80A497FE7A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAMutex.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.cpp"; 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"; }; + EE1019952583BCBF680DACF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.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"; }; + EF49443529C7D95089B758E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + EF896ACF69D165081D5735A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.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"; }; + F258EA938A8A7C58BF8DB077 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUMIDIBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.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"; }; + F2CB59F83B2F918B571EEEE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; 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"; }; + F3B288E80399C45A9018A636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; 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"; }; + F41BC22A3F81168073190E59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; 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"; }; + F573DFC580053C77E74FA042 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; + F577D0F9FA7DA3AB114E69F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; 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"; }; + F6370FC667E0362CE87FE3E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnit.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.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"; }; + F663ABEC52B192E36EBB2958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; 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"; }; + F6D8C93EB8539038E35E8E35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewDispatch.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewDispatch.cpp"; 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"; }; + F6EE58DFEF8FCDB46EF05A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; 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"; }; + F7486AE29930A5D4019895BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_1.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.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"; }; + F7C0619FDB79B1646EE6C0B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; 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"; }; + F8952FD62C839E34EBB043F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MusicDeviceBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.h"; 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"; }; + F9699D179A6E83EE895DF5D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; 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"; }; + FC6A2A7749CC3DCA9333BA62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputFormatConverter.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputFormatConverter.h"; 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"; }; + FEC6D0F95F560CC543624685 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.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"; }; + FEE15889C469F1299F723D38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + FF11C3FCE2827DE3D24F0842 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; 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 = ""; }; + 80EEC7BDC5E94E232E8EEF4D = {isa = PBXGroup; children = ( + 13DD37B2F314596BBC25A47D, + 4D4252EF0D8D9BD4AFBB830A, + E04216439C3A2AD69B69B520, + A15E68C337279B15ED933BE3, + 0762DCD2200EC064A17AC77F, ); name = buffers; sourceTree = ""; }; + D9BD6D2BC88FA4B1CDE802E5 = {isa = PBXGroup; children = ( + 6A9B5161889E1B22B04BA223, + 6A01CD302B95FCC3F057090D, + 84ABD4F5D068289F4D43E7CC, + C61D176AAECFBC9A277EF2E5, + 0A063D0E9CDBCFBA3B31B8A3, + C63541C14D518046922DF60B, + 6F63C882BEEED7B36540EA05, + 15687E3C898914FCE458C1B1, + 5B41FCC4B5B5CE4FB5282954, + 57D07B6F700F94E8E704DC49, + DB43ED26DBABD0BC17385E6E, ); name = effects; sourceTree = ""; }; + 259BB04CF4CB83B656666CBC = {isa = PBXGroup; children = ( + C12C3BDF0D24260675D88C04, + 8D753ADD4B2F1CB0C974A522, + F28150FA7A2231FCA46CD0F5, + DC1C558103B4D458A6CA037C, + 142ADBE2098D59ECB95443D8, + F935D6E0CA994CBFD870BF65, + 1267F1B5D02A74861F4F135C, + BAA373F740C171EB1219D9B0, + AB183DB7B4E55E8A378D1640, + 52496AD37C0932219701798C, + D34BDE3AF93D8CCE91C331AF, + 1F460579410D4B352F2A85E6, ); name = midi; sourceTree = ""; }; + B7B8CF86071AD61A1A460505 = {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 = ""; }; + BD2FE56736FF2B8BD6E32FEF = {isa = PBXGroup; children = ( + 9FB1AAC5EC1146B5FC0EFCD2, + E4F233200895BB6C4A31A816, ); name = synthesisers; sourceTree = ""; }; + 5E2CF82B2790DC31C2A42EDA = {isa = PBXGroup; children = ( + 80EEC7BDC5E94E232E8EEF4D, + D9BD6D2BC88FA4B1CDE802E5, + 259BB04CF4CB83B656666CBC, + B7B8CF86071AD61A1A460505, + 39BF5DEBF7889C52ECA9D522, + BD2FE56736FF2B8BD6E32FEF, + C7BED13E38A3138A9D851FAE, + 7023A03BF8EE3F09E00C3B58, + 0F09D4ED02A7966E01340C52, + 7023A03BF8EE3F09E00C3B58, ); name = "juce_audio_basics"; sourceTree = ""; }; + DB91C895CECA3D2809BA4C86 = {isa = PBXGroup; children = ( + C50B7EF31D44D3B5E03CB4A8, + 42EB20660BAF846855D9EF4F, + 7195EEB1FB735453359D1893, ); name = "audio_cd"; sourceTree = ""; }; + 872B5416851318AB31A28A6C = {isa = PBXGroup; children = ( + 1A470B745FCC0020078807C0, + 4350481545B0B7094C507415, + 9B995FF1F1FD413ECBEA5F2C, + 4968C8C2A41316C78C23E9E3, + 7ABF11ED9BB6CD5850ABF47A, + 89291F4775B82AD585F02515, + 5B56147E8E94C3969471E21F, ); name = "audio_io"; sourceTree = ""; }; + ED621181CAE468EC6017188F = {isa = PBXGroup; children = ( + 87181526B9C99144CBE4F8A8, + DFF6A93D460B71379FE3EAA2, + 596DAF8986D6982B928C689C, + 12E82F17788C076C81627268, + F835920197570C22DACE2186, ); name = "midi_io"; sourceTree = ""; }; + 4E9F8390B66A81E234883BC0 = {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 = ""; }; + 403F3699EAC8D74A2DDE3ECD = {isa = PBXGroup; children = ( + 33D05902E14966A2708B7F61, + 71D1D8E256A7FD110F7EAC6C, + 9F91E161DF777F050B61B6BE, + D515546E71BD92C742D67905, ); name = sources; sourceTree = ""; }; + 596BD0AE10AA6B1E7AC01F15 = {isa = PBXGroup; children = ( + DB91C895CECA3D2809BA4C86, + 872B5416851318AB31A28A6C, + ED621181CAE468EC6017188F, + 4E9F8390B66A81E234883BC0, + 403F3699EAC8D74A2DDE3ECD, + BDDC593699182D1603163238, + 2284A4597CF7AA4D2EFA7AC4, + 58807388296D065DA8778E8A, + 2284A4597CF7AA4D2EFA7AC4, ); name = "juce_audio_devices"; sourceTree = ""; }; + 9F7E7E347E7BE22FE600686A = {isa = PBXGroup; children = ( + A032CFC5A613848D8594B40B, + D8064ADD700D012E11CE5FE9, + 2848850DAEB041C2F46DFD3A, + EAA84CC80E920249F422C205, + C9B7C5BD09A1486B2A10DA8C, + 5E913F9E1E993CB16785B1A1, + 294C4939CFE14D6AC97FFB13, + 3A3541155AF9B50FF1CDDCB4, + 876D30F6E9647DB0F9BE4463, + 371B5648697BB7CD4CB13890, + BF6BA28F41BA2A03D9325E0F, + EF896ACF69D165081D5735A0, + FEE15889C469F1299F723D38, + 287FEF430637D5D41AE18E9F, + 02A37431E4CAE08883F6F809, + 4F5204A45BA581573E281596, ); name = private; sourceTree = ""; }; + EF20A78393C1995665216124 = {isa = PBXGroup; children = ( + 8C94129D8EEFEBD6B451F78F, + 0395D4BFAC2C979809913512, + 3C5761D46BE3D277CE6D09EC, ); name = protected; sourceTree = ""; }; + 76F11FCCBB89E0093BA9E9D8 = {isa = PBXGroup; children = ( + 9F7E7E347E7BE22FE600686A, + EF20A78393C1995665216124, ); name = include; sourceTree = ""; }; + 8A1827214C23337715E467B1 = {isa = PBXGroup; children = ( + 76F11FCCBB89E0093BA9E9D8, + 19FC0493420771A984F582B5, + DA1AD416DB2E990AD25806AB, + E5A40C64A3C65303ACF81585, + F663ABEC52B192E36EBB2958, + 7A73BDB9B30EB6AA268882EC, + 25FA6FAE60100187FBB42CE4, + 50D9DC1AFAF320B414779996, + 70953E41B294DDA5B34B4E6C, + F573DFC580053C77E74FA042, + 94304B55601DBF7FBCFC6767, + 8A3F809F240408D5195FB0F5, + F577D0F9FA7DA3AB114E69F2, + 0917D57F60050B4F73D6D3C1, + 128E48C62DE236403F626552, + 8E7535A598BEC0FDFD346359, ); name = libFLAC; sourceTree = ""; }; + 1858D6D039300606CF8F1DCD = {isa = PBXGroup; children = ( + 8A1827214C23337715E467B1, + A0173759895A8C13BB754998, + 94BFEB9B92F3D546332FD8E1, + 124B7F7DCCBA4A3800DC1D7F, + 72778974E283DBF8F2708C74, + D9B635DD89ED59E04DF326E1, + 5B63142C7D744373FD08452D, + B389D5350378076E0DF5DA6D, + A6610B06B712DDE6F2A27290, + B0A987158C4CF4E8D0D75243, + 8D030B4C002B429D9A9CF05A, + 0F4A16CC370A9921C1CDB847, + 30C953C6EFACAAFD784A423E, + 02801D7F265CC0D7E628313C, + 9819471C5F5583C007A4AED1, ); name = flac; sourceTree = ""; }; + 922E37E9138FCC3B18E26ED2 = {isa = PBXGroup; children = ( + 23DAFE355DF428573EB1389D, + 373EF763809F9F44A17D4041, ); name = coupled; sourceTree = ""; }; + 1B4375EF259EFB64AE74564F = {isa = PBXGroup; children = ( + 7E46D4C045D1A7060C7DE3D1, ); name = floor; sourceTree = ""; }; + 1589F617F5547303A836E486 = {isa = PBXGroup; children = ( + 272CA81A41701C9D2B9E8968, ); name = uncoupled; sourceTree = ""; }; + F73FDB130ED504705703B3D0 = {isa = PBXGroup; children = ( + 922E37E9138FCC3B18E26ED2, + 1B4375EF259EFB64AE74564F, + 1589F617F5547303A836E486, ); name = books; sourceTree = ""; }; + E40FE176D5BC60BC40F201D2 = {isa = PBXGroup; children = ( + 41B060EA2FB09001DC1C31C3, + C87B625D4AD4826BF9301E7E, + 46DDE331360FE5B633660EE4, + 3B8ED86DF50D10A6A123AD9C, + CC32EDCC4709790EBBA55941, + 91D10BF1909D2B9C169E4493, + 9136CCE147582160FA805637, + 15FB1C5B6F9615217E8EA13C, + EE1019952583BCBF680DACF2, + 390E0AE47A8B0764F75CAC7A, + 3FDB7F2A8DB8E545EB3600E9, + 4D6BEE612A70BD8626C360B8, + 1A878834D7D84ED2EA7B46FE, + 2E8BE5D5580F8441F22F6199, + 5295731805417FC3BD50FDEE, + 3C2C16FD2E89297731C3F333, + EF49443529C7D95089B758E4, + 91F32F326BD577CD67AE20D3, + CE491063B3EF486A263519F5, ); name = modes; sourceTree = ""; }; + 2651A96E2587645F70BF3690 = {isa = PBXGroup; children = ( + F73FDB130ED504705703B3D0, + E40FE176D5BC60BC40F201D2, + A8209DFA6D320A6BD9BBDB48, + 342ECD0AECBF45C4E031555A, + 3529677B3F5608A92C2F6115, + 8CE01872FF8B37355E63991C, + 37B42F69F308C9204EF43A44, + 4ABB4EE9726CAD8CFE0FB21D, + 471CB36CE6D4A77EE71774D6, + DC235ECDD76E245939C49092, + C1D83773976CEDB413DB5E5D, + 9FA43271ACEB06BF3AB00095, + E88DF76B88F3E67D0FB58CEB, + F7C0619FDB79B1646EE6C0B8, + 2EFE0F1D43DEDFD0482D1AB7, + 8893C18A7946E12C0F422EB8, + 2589031177BB9F511D2D3EB0, + 22EF18251285EF8FB1ADF3AB, + B8622807DB0688A98F8C75E4, + 34DCC221E177C7B3EDB31B4D, + AC36AEF9A7D94B5F50725E38, + 6D61505DE8021C51E8C5AE52, + 231F08492CB6B77362FDF495, + 73BB8E247A275838FD16AFE0, + 3B6147A905A8590E43AD5D59, + 299EAF028EB0712F6EC4DA2C, + F2CB59F83B2F918B571EEEE5, + EA89A423564A332B875F040F, + 820E70473B219081B3B74D79, + DEC24A286A1DEF26BE35CC20, + 09F2A2DA00059D8C973E1175, + 673F49E7B25D0379EB7F9651, + A8D6D12C46AD421B49D24F6E, + 5281BC7449453907B79110C4, + C68283C8A9FA7CEC6AA6975C, + 49EEB43C87C046FEC272E920, + 8553867F8B04D10919C2BD4C, + 95931BF9B518FB17845AF4A9, + 4727E4D0B884B36E28392044, + 9015FC74644F82DB0A49FBFB, + B48471A74A3A2BDA248931F2, + 83F0FB25581E6D301C2A574F, + ABCC3DA0D4E2F074AB220BB2, ); name = lib; sourceTree = ""; }; + 4A45D2C75283100E59335C50 = {isa = PBXGroup; children = ( + 2651A96E2587645F70BF3690, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + DE0AA6A87A0CBCDAF08AE4CB = {isa = PBXGroup; children = ( + 4A45D2C75283100E59335C50, + 1D41BDC83BEC3BE9E70582B6, + A67C1F56AE76AD426797537F, + C61EEED69EE6C34E5C64B729, + CBA22CAB6770979BCCD18EEA, + 3EF9DAAD65875B7A36AE3144, + 49563CA8BB263E39F8E7E36A, + 94308E0D87CFF0D58DAAA0D9, + 053838409E82E7D7722F7404, + 6A036D1B291A216D4E3F7143, ); name = oggvorbis; sourceTree = ""; }; + F25E7403D44D5B0ABC68A8DE = {isa = PBXGroup; children = ( + 1858D6D039300606CF8F1DCD, + DE0AA6A87A0CBCDAF08AE4CB, + 3B9F47F546584BB9EFE098BE, + 192ABDFEDF4C082BB8DF0492, + 76272B6E0F4FB6D7225653CF, + 2DC4F5D10A019196E3AFDFBD, + 33B9A7EA67B0D01E3416E123, + 804448A2E110E3D84021289F, + 84D3302B18B67B725905AF7C, + 2D2B97D629EFA3920314D5DD, + 7A3E22B63496806947FC10A5, + 6A2FBCEABDB265609CB49A9C, + 3487F440B9FE19B84EDB6C05, + F7D4D9D0A26940676AE3FC61, + E9C1C03509E00C37AAA45727, + 12C25C7C2E883F374E8B3D36, + 831580A17E75CC89E86A3E12, + 2D436395B51B7242A5B9E701, + BD58CC09BA9FED0E9CACC97B, + E32E43F0CC33ED95FD0A9DE2, ); name = codecs; sourceTree = ""; }; + 8DBB77C421360655FC49D0CA = {isa = PBXGroup; children = ( + 0B29952E2F0758E5C07D21DC, + 56DD0F008972969CD0020468, + 63F79641EFA884B962CDF093, + A236B01D70F55D3570330B44, + 71A5014C5547E43A0EE58252, + C1E4A7F5418639D70CB51F0A, + 59878D9EFD00EAC6CD0A85E8, + 5BEC401034FECC5A84CF911C, + D264387115074C98CF251072, + 46E7ECB316210C98F0A1C885, + D19E20CCCD4790B2347D5B80, + 0C57D75820A254EFD312E57E, + DEAD87726738781A25EBCFFB, + 5AE75DB19C06961041078603, + 89B0332A462BFD5984B97302, ); name = format; sourceTree = ""; }; + 44686F929FB094FC7A38035F = {isa = PBXGroup; children = ( + EE9BA42E3D0FBC1D7E118E5D, + DC60BA9AC2BA5D2C3B5C3001, ); name = sampler; sourceTree = ""; }; + 3B848EB4797469286E5DC42F = {isa = PBXGroup; children = ( + F25E7403D44D5B0ABC68A8DE, + 8DBB77C421360655FC49D0CA, + 44686F929FB094FC7A38035F, + 788BB5360E93083A0FB3498B, + 2CC92DEE105B69921A4BD036, + 9329788543F0C6DA2B50BD72, + 2CC92DEE105B69921A4BD036, ); name = "juce_audio_formats"; sourceTree = ""; }; + 988670913C41D72F28DFE34E = {isa = PBXGroup; children = ( + DC8F10CCAC55F7216F0304F9, ); name = AAX; sourceTree = ""; }; + FE2338066D80D87950BB4358 = {isa = PBXGroup; children = ( + 26DB94618438B2D5BF6B856E, + 1526268AB9CF9E1B1C7B8C5E, + E40580FB3605FA6D5DA3FD73, + AA2E0F9D7AD2B39A4E94F1EC, + 520BAC0AE6F0AC53F77A1F51, + 1262858B812AF94882629B85, + DD0F106B173A73C954D57AE2, + 503105545692BE3BD44F3BFB, + 01FF0FC0B8E86058589C6ACF, + F6D8C93EB8539038E35E8E35, + 7179ABD196CCA6EF524FAA44, + 62132FC16AA2F24AEF910DEE, + D3D5C9CD534AB3AE61D7B09D, + 41597045D1A6BBFA3575385A, + FC6A2A7749CC3DCA9333BA62, + 79FF0A4C4E7239DBDC350A7A, + F258EA938A8A7C58BF8DB077, + 08A5C2B4487C0D890B8E4BCD, + 1FF4A2655158765CD608248F, + 8D4AF11BC6D0F698838984C6, + 3CA7CE7F3D18ED267686C692, + DDAFBE2B2CD98044F75A248F, + 8F3C3474E9EB852A40B3A25B, + 55FEB098BE56402F2A101675, + 36C7D1F7F2388480ED9046A6, + 4ED8D42B000833D8B9B4ED5A, + CE517EF86B0776BA9B27F3F6, + 37C71FF41633239C939F3675, + 802CA561D36E5556CF267271, + AD228AE61929A94FFBE55CF4, + FEC6D0F95F560CC543624685, + 78A61E96AEF1DCFA5A488121, + 92723EFA7826236908D48AC3, + EA92EA0E7F4D3859821CEB4A, + 9767C9015F48F6F42AEC0C9D, + 1770847B9C9E2A0FD1D9A9E8, + 0E39CC01E711112C1019D9DF, + AE9CA003C4D379CB43E9CDE6, + B986157ED5B0414CDF696C62, + AD748818ED49AF2A6BF7AF0D, + ECB9067017FFA80A497FE7A0, + 3FF2E4DDC9954FFA58BE84C1, + 0320074C3D8F3077E1BC32C8, + AAE7F49A142463B69778F90C, + 6623FF864040E7A329A05ABF, + BD95E66B6A4CDADCF0631707, + 85F179B5610144F5798104E4, + AB8AE5899A6439D0520D813E, + E2BA7122756CD29CD86FA7C8, + F6370FC667E0362CE87FE3E7, + B79F6D7A104EF67978CFFC4B, + A7B823112D6BED3312715735, + D399047CE27AA5B33FE37AF2, + 2C0F2BC4975578A88228144D, + 84598418274C7D64A6030E82, + F8952FD62C839E34EBB043F6, ); name = CoreAudioUtilityClasses; sourceTree = ""; }; + A2BBDDDA694235612BDE9BD0 = {isa = PBXGroup; children = ( + FE2338066D80D87950BB4358, + 3E76A3788CAAB12560CB4517, + AE1DD722E80713D6A2C820C9, + 2220D1078A2681D8AAF3563E, ); name = AU; sourceTree = ""; }; + 3CF6F89CE98D1BD583C34852 = {isa = PBXGroup; children = ( + 8905DE78626372768938A4C0, + 05C14DEEE0E3BDC4049484B5, + 2FA12F7EBB9AC99A08FC1025, + 4FED8E1456B36F86FFE8E9B8, + DBA0B8703ED6A2CFF6E952A8, + 2D4E5D168D18704BCB317DD8, + CF51659EBB00003E6CB20B66, ); name = RTAS; sourceTree = ""; }; + 5E03484B053FE94C3308A153 = {isa = PBXGroup; children = ( + 33B2FD7C625F65B132945522, + 44E613EE8E541E69E6B8A449, ); name = Standalone; sourceTree = ""; }; + 5D85476955DBC422757405C1 = {isa = PBXGroup; children = ( + 30CDFDC04232575AE7A491F3, + F96C31890AED2B62C4E0E20A, + 00A950F33C21C6688103E667, + 676EBCF8F03E1FA1DD0694B0, + 1A3355000573E6A083028E9A, + 068109EA4981DB342942D174, + 99AC2D0C2304F21B912FEC5B, + 2F9011C34B50B11B6FFEDA7F, + EA8B1437F945AFED7BDF11DB, ); name = utility; sourceTree = ""; }; + F3BA35D57A9C238A5CC3628F = {isa = PBXGroup; children = ( + 78DD966E73DF076A83FC1F2C, + 6FA729EAB8A64447D81B36E9, ); name = VST; sourceTree = ""; }; + 51E2FC46CC35EE59A85AF51E = {isa = PBXGroup; children = ( + 08D38FFAFF41735F36FD4BF9, ); name = VST3; sourceTree = ""; }; + E4D31720EE240DC9A75C9459 = {isa = PBXGroup; children = ( + 988670913C41D72F28DFE34E, + A2BBDDDA694235612BDE9BD0, + 3CF6F89CE98D1BD583C34852, + 5E03484B053FE94C3308A153, + 5D85476955DBC422757405C1, + F3BA35D57A9C238A5CC3628F, + 51E2FC46CC35EE59A85AF51E, + 9EDB40D557C3BBB1CC63CF65, + 26AE9472CE02F176A9513852, + 03DE1C983B7DECDCC451C8F8, + A4BE4A85CD5ACC6A78C3B8A6, + 4FF6E67C4955E203C6D16FD9, + 3F0F5BDD3B7B6493257DBE72, + F7486AE29930A5D4019895BB, + 9AC567D7B8512713855C3B18, + 0F3D7399486DF81A09B4BA14, + 10C56E77C33F0334603F174F, + 0DF6E4BB1ABE8CE2B25AFBD5, + 9CDA59EF21795C1CA73E5C4B, + 1ABD6010D7E506599A9FF47E, + 53BAEC3D25514D3A438F3B05, + 06580FB07A43DEC6C8295BA6, + 9AA36A7E6CCDA68D308E0721, + 683BC92E095F56916A11944D, + 9EDB40D557C3BBB1CC63CF65, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; + EFF01DA4D6A309E350D8817E = {isa = PBXGroup; children = ( + 257F4247EC175CCBFE996E55, + CF9EEC4A087AA9010D5D21A5, + 212425D8E8CD86B224E3CC5A, + F04800D7F1A1E012E9A4AD15, ); name = format; sourceTree = ""; }; + D3F4EA0C20451C8CCC107ADD = {isa = PBXGroup; children = ( + 2010BCF7EE1A761168968EEF, + F5DC35A024D665725204B375, + 3D850D7C81C79515EA35D833, + 329FEF79D3987D0FB1C164CD, + 3F5066569AA0BCAFF9F6AD87, + 5F6BB197FA13DEB1F2260CC0, + 387D55482BBDCBC351F2BECE, + B774AC9A00BFF63E24EA0646, + 87FC5378F4B65DBD11E62015, + E0FD3183237BAB53F14A4B92, + 58461A95ADF95E35EE92161D, ); name = "format_types"; sourceTree = ""; }; + 892DDB700F7596FA63D35453 = {isa = PBXGroup; children = ( + 17968A543385166D4392F171, + 05206E536544288B1DFC3EC7, + B0015C46815CEB6E15236944, + 65980EFA3678AD71581BE381, + 1BD4D7258F644BC3B343432E, + DE76DD99A5E06C01C57957A1, + E564C68E481471618F91FD8B, + 8429B2EA7B0E269D738BD27E, + 6BF1D1384D3492C251CB00D2, + 5D27245879F65DC9C3DB15FF, + 0527F8D9C84F850B9E2F794C, + 6FC0CB280CE56AB22E3997B5, + DFA88B30E3041E9BC8150FCD, + 7A172478B945BDF97AFFBA0A, + EC2144EBA3C2FDA0D14F4894, + 4A61AD8C4D46D2448FAF51E8, ); name = processors; sourceTree = ""; }; + A182EB609A9D088F6F00CE02 = {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 = ( + EFF01DA4D6A309E350D8817E, + D3F4EA0C20451C8CCC107ADD, + 892DDB700F7596FA63D35453, + A182EB609A9D088F6F00CE02, + 93E4D725A79B28831619716C, + D5816478E1FBC9D296E78CFA, + D43BFA7F052E625E90F77C89, + BC2068C5203B2AA39EAE0C6A, + D43BFA7F052E625E90F77C89, ); name = "juce_audio_processors"; sourceTree = ""; }; + D520A1249F01164E2F9B5B33 = {isa = PBXGroup; children = ( + 6BD961F96723E92BFC0263D3, + 8524CF106D2B7B1E08D312C8, + 9D3AF29ECBD2A58B146619A2, + 7A7DC1C99D232DAD43C01146, + 1C45C50E54A57400FF9E6EEE, + B801E3F5A1C2992F592A0FBE, + 2B859BB12EB83F32108F3497, + 2578F2F3741CC61B95E7E6C3, + 1238631934643787E27DDC66, + 9ACE3BF6D0E54A5ACA1D73F6, + ABF137A60BDB5810DCDD1E22, + 569603444940609CACE2AD7B, + 33A72C52C238DB7638CA9F9A, + D03583C1CA01284B5781955E, ); name = gui; sourceTree = ""; }; + 46770CCB22F02D7A094B6A5F = {isa = PBXGroup; children = ( + 7D2FEE652DDC90049F523828, + 1AF82B1F138DE2C506FBBDAC, + E755606E63BE2C5558FFB353, + 5019F297F4FE95D4F264E95D, + B6EA3B412C6E73478C4D36AD, ); name = native; sourceTree = ""; }; + C04506631EDC6C6706A8DDA8 = {isa = PBXGroup; children = ( + F8662ECB8187DDFDB200B2A2, + AC3D1C939D60CBB9F06E5195, ); name = players; sourceTree = ""; }; + FBF7568E0A1FB934691CFB9B = {isa = PBXGroup; children = ( + D520A1249F01164E2F9B5B33, + 46770CCB22F02D7A094B6A5F, + C04506631EDC6C6706A8DDA8, + 315EF8CC3690B1426EB92087, + 63626AB59BC4BD66A0A6482B, + 1F2B719F048195E9EE5372D0, + 63626AB59BC4BD66A0A6482B, ); name = "juce_audio_utils"; sourceTree = ""; }; + 7C45AAB8E15759495D4475A4 = {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 = ""; }; + 07FA76608C528181C74CAF6D = {isa = PBXGroup; children = ( + 57A49E91A5755065F47070FC, + 631CF9C6700114D898AEC1AD, + AA4C96BD17FAFE995F8BF86D, + 9B6B98866C77A743FDBA7C40, + ACDCFB7C5CE966089DF7665E, + FA8D4A5190F11697BFFD2DFD, + FB3E0328E0F2BF7633B7F4C0, + 0FB29BBC0B65633627478BA0, + 499F3B4B44522D984B26A263, + 3AC15B910C91D22E71A7A687, + 25154F5BC74A1019F714FB73, + 1A5F13EEFA6BFCC120C57869, + CF7ECFB4AA9A00E103525840, + 7D67149A7BE6BBB85FCB2CCF, + 128D7FD70FE164060807E29F, + 003B0A5337B7EB6AB6906625, + DF2A14735E2EC0F986E3ED6F, ); name = files; sourceTree = ""; }; + 071F872BBAB53A7F2EA231EA = {isa = PBXGroup; children = ( + 1EAB166798F43125DDCE0BC0, + C3FF9B9008D2A03F2BB23F1B, + 1D0B59F0A6F76ED5272E08C4, + 7B215A260ADCE367FD8F3420, ); name = javascript; sourceTree = ""; }; + 9AAE17ECFC355156861CD1AC = {isa = PBXGroup; children = ( + 2EC9EB88F772C8A6DBA65C2A, + FBDA8B5BE5FCBEFB590920D9, + 37D87B4F2E6E4C7EC11F12CB, + DF851414C38482D7EF5C63D1, ); name = logging; sourceTree = ""; }; + 99D13413CF1ADB1E3AD3958B = {isa = PBXGroup; children = ( + EFD7896047F56FCAE30F61D3, + 82CED5C8E1B7A2C068BC48B2, + C3006C283C6F75269CE6295D, + D6670F0F52C7A439715B706F, + 363B23811BE5271789D355B6, + 69223FF1DDF41E1860A3DE72, + 67BBCC92EDF01164A374A824, + 14E1CF05D80EA4E2CCFD1EB0, + 78B49436D33E43AC3A956818, + 10467B840ADE953EC282EF36, ); name = maths; sourceTree = ""; }; + 81C034C363F8A04155505040 = {isa = PBXGroup; children = ( + 9A3351689C885961A9BD3F2F, + ECD1DB349CD1744D2345D45A, + D72A2819C390689ED5A58197, + F241556BC3C500D0280204D2, + 1FFE418941303981E432039E, + 297BC989416D63FB30AE4C6F, + 92BFAF31B51618764234C779, + 5B219BDFFD121A57DB1623B0, + 90064DDC086AD775FA7D5FFB, + 750DF21E43BED98CE4F53DE7, + 81A3BCB415FA7114FC07367D, + EAEB4425352054C49C4D73B2, + 20E2B3CE619294FF62DF5D54, + 42398E999B0A850DFF901952, ); name = memory; sourceTree = ""; }; + 101B9E56BFBE5D2CBC6531A4 = {isa = PBXGroup; children = ( + 2CA6385ADA2663622F29174F, + F2614FF63DFD0C39EBDE092D, + 9F1DFEFDC78EC139C4089DEC, + 6217C41B2DFADAD8767255BE, + 6DFDBE298AD93DD1B3F067B6, + 12B0DB43F1E76431C35A4958, + 245B820181308A0B46FE2C2F, ); name = misc; sourceTree = ""; }; + 5E4506249585F612E29F8416 = {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 = ""; }; + BBC122B799D2AD73E26B6C82 = {isa = PBXGroup; children = ( + B05EC8A81DA162236663A8AF, + 0B56ACE2E7A2CC5B75550C6C, + F5688A2E7B25BD837236AFA2, + 43913D411C0ACFCA2E8B8CFE, + 58FA5F36261FAE89B748BA8B, + 54B65048DE0ED0FE799D317F, + 823EFD7B765AD6D20D4053BF, + 5776A5993098A57A7A1E6A27, + 0E429E673C3066089538F4FF, + 003AD91863D1E07BEFDCDB46, ); name = network; sourceTree = ""; }; + DFE76F9120B809A20693F40C = {isa = PBXGroup; children = ( + 3BD48100798B29CFBB31E240, + D776C107490A52D250B8327B, + 19631764DB948B287771C41E, + 14EEC624D1628BE3DE7AAB0B, + 89E00773FE73394C30642A4E, + B0B4FAE3EA49CE2AE0074204, + E79A4F024D4890B61628C42C, + AB1F943DA9131BF5694FBABD, + B19103A5C4E54D5ABB50F27F, + 933DE5C4D4002BA9203F65A6, + C639338DD5AF077DF5BF8361, + 8837DB2881391365428BE228, + FABFCFC950C53D57CC971516, + C1983ED4284CBEF3B5A427E5, + 4F2E1758A33E5E88780F68AC, ); name = streams; sourceTree = ""; }; + BC7DA27A2704DCED1BD89401 = {isa = PBXGroup; children = ( + 96F6E7AE69A06FEE69CCA3C9, + F108BD4F2087E0C08DD27DC2, + 59CB0A6453076CC874C72F59, + 6F544061B6526DCC4430F539, + 1EBC98B1315EA748EAE0BE86, + FDE9E6BF5EBC3001D0F08BD9, ); name = system; sourceTree = ""; }; + 3EC1550CC783426558249947 = {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 = ""; }; + A628542733B556400F596184 = {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 = ""; }; + D4CF19A6D3CD14CA0D95C707 = {isa = PBXGroup; children = ( + 20A8452F14F1433B1C3D0FED, + 7315E85A6C1E714922CBE587, + E31219AD074DCBB8C6A9F816, + 66C2579562E185E38E43C121, + EC6F9C909D0523DFC5E0823A, + 391E6DF4FA840F23B402D97D, ); name = time; sourceTree = ""; }; + 63BFB844556FEE8C5B9F120A = {isa = PBXGroup; children = ( + 6319F4BF677E067041B5467C, + 028400FDADB7732D2CA25667, ); name = "unit_tests"; sourceTree = ""; }; + 0BDBF2914F7586AC7316168F = {isa = PBXGroup; children = ( + 5FE4811A1F224B9DC3F0751D, + 3412F9A8DCE29D1B62BC1145, + A53855C517AD1588DBF87CA0, + 519C21EFEDB8ADE2ACD6249F, ); name = xml; sourceTree = ""; }; + 485FB08BAA36FE298BB17B6F = {isa = PBXGroup; children = ( + CD44BCDC60998F9B56D816C9, + 5610499D230BD1AA96529347, + 9AF9738DE16EF9CF197CAEB5, + 578ABA08348D048EB31752E1, + D0584D8F725E0D7E61F830F5, + 3646D0F8040D0BA39CAA7334, + E975A1A60F48EB781C00B9CE, + 19FC0B4091E80A81C362439D, + 4822B30197922299EE3A956D, + 01089967B5648A2E6C58C329, + C0467549EAF92B8F6871EBAC, + A3F0BD2B34F1E5E5C29AF8D5, + DCEA692A420A94DE110CC07D, + B032D869039A2B845AAD274E, + CFADD611F5F0D9EC5127C6C4, + D57DF4F024A84881420586E8, + 7B7A3CB2B7E41C7033768B9F, + 9B87669D1A522712909A9975, + 0E6857D9F02622BF604DC9CD, + 5DC8D5FAFEC3E8BA40B3D440, + 6B79FCA95B306DFA67BDC361, + A36C4D27B63C7395BBF9E1D3, ); name = zlib; sourceTree = ""; }; + 90ABF2DEF59F1E70601CAFA3 = {isa = PBXGroup; children = ( + 485FB08BAA36FE298BB17B6F, + 22A85B46C8EED46FA81F61B2, + 2149AA5B4890E2E05119749B, + 777E62C96ACF5A0FF45950AA, + E2B251D85649A9A43CB428C5, + 95D4FB306A367AE3A6D28173, + 4AE945ACA404BF885EBFB4B7, ); name = zip; sourceTree = ""; }; + 0B5C4CA2D787EC3780C7CBE8 = {isa = PBXGroup; children = ( + 7C45AAB8E15759495D4475A4, + 07FA76608C528181C74CAF6D, + 071F872BBAB53A7F2EA231EA, + 9AAE17ECFC355156861CD1AC, + 99D13413CF1ADB1E3AD3958B, + 81C034C363F8A04155505040, + 101B9E56BFBE5D2CBC6531A4, + 5E4506249585F612E29F8416, + BBC122B799D2AD73E26B6C82, + DFE76F9120B809A20693F40C, + BC7DA27A2704DCED1BD89401, + 3EC1550CC783426558249947, + A628542733B556400F596184, + D4CF19A6D3CD14CA0D95C707, + 63BFB844556FEE8C5B9F120A, + 0BDBF2914F7586AC7316168F, + 90ABF2DEF59F1E70601CAFA3, + E2B1B0398CFDDCA5A122ECB0, + 317A2F549752C6765A3675CD, + 1BB18533BD30BE7BA73F779A, + 317A2F549752C6765A3675CD, ); name = "juce_core"; sourceTree = ""; }; + 5AEFD006F5B97D797E36C81E = {isa = PBXGroup; children = ( + FDBC4DF16A90252E242CF668, + EDC5CAD8CAA7E5DAD49F18B3, + 9146F18918C954121E932A8B, + 185A5E99EFDAB0E1ED5467F9, ); name = "app_properties"; sourceTree = ""; }; + A5DF8BF9F23CCF8324E75A2B = {isa = PBXGroup; children = ( + 9D9015BC9941D5D5CFF99DA9, + 883986B1E4E324BDC35B025E, + 2B907016FF0A2E4074343127, ); name = undomanager; sourceTree = ""; }; + 1DF12BEC30C65013D04D6B8C = {isa = PBXGroup; children = ( + A1159B10837BBDD1BD12A882, + 8969D907950F902E7ACD9D6D, + E9617DEC7E639354C2AF66A8, + F8A0BED0C8B7DAF962431C39, + 14B4ECA05D8D48728F6E0DAC, + C383A0AB2662F2FCB802D61D, + 4EFA2DD6FA97904E17A543A8, + 82918021090B19A27046FC03, ); name = values; sourceTree = ""; }; + A90E4C4C435E8AE44C245413 = {isa = PBXGroup; children = ( + 5AEFD006F5B97D797E36C81E, + A5DF8BF9F23CCF8324E75A2B, + 1DF12BEC30C65013D04D6B8C, + EA6D44AA3D1C9B0A5873DC4D, + 8FAE0E215D1E95E6CA7C58E8, + 2493A480D61B46E07EC10DD5, + 8FAE0E215D1E95E6CA7C58E8, ); name = "juce_data_structures"; sourceTree = ""; }; + D3714BC58B555CDE49329AAA = {isa = PBXGroup; children = ( + 3EBDB41A4AA8C71BB089DD65, + EC6AE147E0DC1DABD86AD10D, + 0589532FD9A73AE783AEAFF9, + B6B3AF7688EF55A4FC61D5D6, + A1FA95A0AA37CD773ACBCE8A, + 2FE196E99D5ACD17E1EC061A, + 170409D99808EC4EADC66EFF, + 1CE2727544D8067E9DB2F503, ); name = broadcasters; sourceTree = ""; }; + 69EB4DA8AF5A417F1F43C923 = {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 = ""; }; + C4372ADA3A5619FECE3B7731 = {isa = PBXGroup; children = ( + 2A59FFB4A0420DA1E24EF14C, + FC1D343CACA27BD4C8314F0D, + 36D0D18E4170C7A1D25D0704, + B77C48286D446F5C7BD4B76F, + 7CA84F62BB5AC492B1EB49A0, + 896386672033108CFE54FC64, + 64006FEB76C8189A341F77D6, + 12F04ADB729E5DAB771C50C9, ); name = native; sourceTree = ""; }; + 58E31A2D95C3B3D6DB0B207E = {isa = PBXGroup; children = ( + B5C3356C447E60F512C5E8CD, + C9407CAAB91ABCB83CD3F80D, + B98F443DC0CE94BC13CC3D44, + 809E47902CCE60747026EC3B, ); name = timers; sourceTree = ""; }; + B5521BD970390A393CE16042 = {isa = PBXGroup; children = ( + D3714BC58B555CDE49329AAA, + 69EB4DA8AF5A417F1F43C923, + 8859D9872008A7577B7C8205, + C4372ADA3A5619FECE3B7731, + 58E31A2D95C3B3D6DB0B207E, + C5B2DDCFB6FEA46E4F97BBA1, + E2FE1E6598C038AFAFA1881A, + 780B53C6F9FF49EB24A43102, + E2FE1E6598C038AFAFA1881A, ); name = "juce_events"; sourceTree = ""; }; + FFEE39236F334DD12A2C64F7 = {isa = PBXGroup; children = ( + 4A9B4448F56A2C6BB87A2237, + 54B4AF19CEFECF9097905D10, + 643F0D51DA8A1B56EB1C8B61, + B3AED660CB964056A7063CE6, + D2436FFFE291F08409B1EEE2, + A2129507609CE7130FBA1340, + 96DCCD578FF29CD7D381E8BC, + 0F423E99E9C1741395CC5CF6, + A29CEAB6F2F844C410B2F014, ); name = colour; sourceTree = ""; }; + AB6C2C7AB64E2A4AE51B350F = {isa = PBXGroup; children = ( + FD60B5D096AA5B3AB840278C, + 9C9AF92C7A254CC7A2AA72F0, + F091E35001480A9D35B6C007, + 5A15B2AC96B76F7CF212B83D, + E750DA71CBCC6CB2236D7277, + 8DCEAA37D9F7AAD98A244B49, + 3289934D2B14EEF7D64D7225, ); name = contexts; sourceTree = ""; }; + 528EAFE0694E003EAF8A53C4 = {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 = ""; }; + A69075A2441F537241476273 = {isa = PBXGroup; children = ( + 6F12413CE2BF3B7B0E8FD50B, + 57D814738C5CB6D994984F98, + E2A39DE02AF9ED3035EC5F9E, + 947776740572A5A07C2500EE, + 35B09493554CBE82B89CABA2, + 524CB59E51CF8B42EFF88129, + E8EB40396974468FBD0EE15B, + E558CF08264E559967E2F538, + E2893CF05E01B66FC69E2E93, + 233959140E5D6C2348DEDFC0, + B1972B63AC71C03527E02534, + 1F9C82CD04D63753C7B56FCA, + AE0F66472A7765041DD5F722, + A35BCEE1A423BE734BB3EC80, + 41160F46936DACC3CE2384BC, ); name = geometry; sourceTree = ""; }; + 775F9D542874248585C7F00E = {isa = PBXGroup; children = ( + A3BD9B9785C4D83D7039FA9B, + 3B19493E0256E03A72077CC4, + 1D772DFC77232B7D46E3C8B8, + A56060E773F77B3CA7DC3743, + 5BD489426A79208B9CE6F3CF, + 87415D844832686C8423F226, + 2FA751FD2A27B8A4F8E38471, + F6EE58DFEF8FCDB46EF05A40, + E66660FF00CBD999FBB1170B, + 3D99E812E5A31F89576AFD48, + A964F27F7DC1D680A7EE582A, + 6318EF76B203CDAE12E81206, + A7EDF8FF797D5C22FE78BAE3, + 8FE4D93D82016AE0E952662F, + E5E982E791DA0CDEA0D953F8, + 0241C84ADBC1372AD1B15FA4, + B054CDFF33B17777FD1855BF, + 68B7F1E965E664AA4A3D736A, + D0ECDC7390CA390D69946652, + 838589C6A26E0A8BF70ACBCF, + E4CB12FDCA729EC8BD9E0845, + 2324F8C81AF916371F43E79E, + B812C4A2809BB37D45F54A59, + 938B5112D072B60A18918CF1, + 4A69C68B9A56DDEEA7AE7C2C, + E0B49BAB1C8D7341A6E142B7, + 444852335DB292EDFF67DC67, + 68B7ABA0D4D33D37EED397A3, + 78E8FAC9FF2AD3DC7993571C, + 2388452E5F6DCB19F520863C, + 4E196E9052BA6B907C0451BF, + 2A98E7FC712BC286E775DA82, + 269F86AAF66F1984636C5910, + 2B41BD136207AD9637B67DD9, + 4C450297F9B6ABF878D17A97, + E93BF1F2B52BF52EA12326A3, + 201245548579463FE1BA5E2C, + F41BC22A3F81168073190E59, + 3C4F4849106130DC39A2974A, + 9849BB6DC80E45E541475772, + F9699D179A6E83EE895DF5D1, + 6E494DED491F9BB6B79416E4, + E109CC62F2D686A6C2D1212B, + 7FD2304EE326BEA80492252E, + 835D2B2686271053003D2A14, + 0017AB736B8CDB1D5DD31A43, + D9B9854449877DBFC0C1CC3B, + 898C1353D8363C36C931ED62, + 14A43973E197095B0D0AE0C1, + 8295A8FD9064BCE33B7C1930, + 676B85A6804E07EFB92F56D4, + 53F3D9DFBD8290221B2C5951, + 516C3F4B2E1818AE9168DFD6, + 4C915668550A278B97EA08BE, + 643BF1E8895A5854D9B43831, + B585667FC1E99FE5C1E3F799, + 75034A13541D4052025A4B39, + 78EA94B9BBE4B6EA891B8BF7, + C33E07D130FCBEF580F65F20, + 5F8395E0825F03C65968D1DA, ); name = jpglib; sourceTree = ""; }; + 4DD963EEB7D5826D0358904A = {isa = PBXGroup; children = ( + 341512EF51459FC9EA9D3BB2, + C5A2FC7A4569F1C242016136, + 6803FF92AF9345C748DD2293, + B4C32A6592E159751BD10360, + 732E6FFBE84AF5B43319C1DC, + B5CA4FEE0ADFDACCAF2FB017, + ADEFBF282F9FF39E37862A73, + 71D26F219C2EE5B5F92F3962, + BED2521A9CE66A6F1A5AE7F7, + 8C4B3098D7965AB352DD51F4, + 42FBFC4A0B7FBAF97377A64C, + C127F9618A2A278A6B2753A8, + 218E12BF9EFC29E44D7CA490, + 96DA31F4C1619188159F7FC3, + 108D019D336F640EDFAC9528, + D4A4555171F923D744B1FDF7, + CD41042388657A558C93AD86, + F3B288E80399C45A9018A636, + FF11C3FCE2827DE3D24F0842, + 79F348BA4CD707D7BF30F197, + D90938FEE6B821CE90556A9F, ); name = pnglib; sourceTree = ""; }; + 3F7F944ADD4C5934C369468F = {isa = PBXGroup; children = ( + 775F9D542874248585C7F00E, + 4DD963EEB7D5826D0358904A, + 47C5EAA4FDB09A919047097B, + A7D9A07B7B44888CF960B9B4, + 4BCC956571543FE3E8426F11, ); name = "image_formats"; sourceTree = ""; }; + 8374CC022BFBD7185D84788D = {isa = PBXGroup; children = ( + 600E363997E4D34382349626, + D908038BAE155E55517AB2FC, + AF575F9303D3AA5E410C274A, + 648071EE7F5AB0EFA06D0A6C, + D36CD153A79988DA706EC9A6, + AAA19AA6801AFA1AF07C8E2D, + DA42AACD549E6C214EE09CF0, + 0B557BFDEF2C0249EC732AD3, ); name = images; sourceTree = ""; }; + 7EF882CE04DCFCABFEBAD998 = {isa = PBXGroup; children = ( + 4B4C75787794A7A56E55731F, + 96102E98CC639030FAD7EA68, + DBC04DFB6E9667DCA1BC83E8, + 8693349823D718B2BE254101, + B33097C6BA7E4793E7536BBC, + 53BEB5C2536814DD97FA6286, + D5797410CEE0E8D2E03D98F2, + 17EE88F0A67B5FD24182345A, + 042C7366A26A18DFA13B2512, + CF6FA9D2F39F03FE2858F11B, + F3D09A0EE7D17AC66B30155A, + 58E2885768EF7366025F4A23, + 28309CD49B2260C187FED2DF, ); name = native; sourceTree = ""; }; + 99E44CAD902B5BFAD1724EAA = {isa = PBXGroup; children = ( + F68409D2238C16D94715445E, + DEC63BC653D0F918D0721CF4, + 86AC66980898843AE721BD08, ); name = placement; sourceTree = ""; }; + A0F34AB1DA27212F06E72572 = {isa = PBXGroup; children = ( + FFEE39236F334DD12A2C64F7, + AB6C2C7AB64E2A4AE51B350F, + 528EAFE0694E003EAF8A53C4, + 963A45A2A5EA3700518FCFF1, + A69075A2441F537241476273, + 3F7F944ADD4C5934C369468F, + 8374CC022BFBD7185D84788D, + 7EF882CE04DCFCABFEBAD998, + 99E44CAD902B5BFAD1724EAA, + 492F7F32A1C3FDC702CF7421, + 11C585D0BE28AEB6941E0E8E, + 6CE2AFEAEE4AE23D2E17E2D0, + 11C585D0BE28AEB6941E0E8E, ); name = "juce_graphics"; sourceTree = ""; }; + 9F4C8CCCB1BEBC9F18086F73 = {isa = PBXGroup; children = ( + BB8432AE150D5AEB38808FA9, + A1595E748092878FDAEA5A30, ); name = application; sourceTree = ""; }; + 89FD7B1FEB8F2404C457F26E = {isa = PBXGroup; children = ( + 7F1746052D09CD80BDB28BF8, + C4BBB0A36D8C8E7D180247DA, + 8E61D5E0D6068F247E70219C, + 31A18092A539E3763FBAEC65, + F873CF6ECA029B94F7F4084F, + DAEE812EF95F96E7D65D875F, + C80FFBB5F1E2674B9DBC054B, + F27FD37C4F6D16400014F5F7, + A11CF361C0253B499324D31E, + B3CA6447C345EE05F8B98195, + AACAB54751155F5AE9CFCE61, + D4C0852C1C54EDA5D4F82EB1, + 221B409DBCBD063B4C7A8253, + ACDA8668B39A102D419BD481, + 1E81FFB8798BCB6C6E8C82C7, + 58797A7F2D9F46830E4B7893, + 5E0894E38188345B5643E7A3, + 2290343F8EDF842707A28B00, ); name = buttons; sourceTree = ""; }; + 3320D8618703EE44649E30D2 = {isa = PBXGroup; children = ( + 781F73EF2934742C97B305D3, + 6DF4FA55C69B25537DCD88C8, + 89B73E1F52531A1A8A1C3E9E, + 738FC67C7D9A53148C0A21AC, + EEE67087AEC296875FA1D934, + 0737F61AF723FA62458B92BF, + 5982DB12F71224C609600E4C, + 602803D62DD249B1F47FC0DE, + DFE5FACFB131FF766CE6DEEF, ); name = commands; sourceTree = ""; }; + CC19D40BD58B732D1F179C86 = {isa = PBXGroup; children = ( + D87ED789DA527A749E7310E4, + E03AA585A375A39A9BFF3DD4, + F5E8E9C083E0933E6FB6CC13, + 5D4C79A914D3D6297D605D14, + DC6E859FF89B5A3C9BAFE19F, + 4CCA15F86C8EC799F1EA64E9, + CFAFC86F4D25AB5A31DF3BE5, + 387EFF395C9CEF73E0EDEE68, + B6ABAD2ACC048C4DAB31CA27, ); name = components; sourceTree = ""; }; + C2E7BC5A003ED8CD0DAA0C2B = {isa = PBXGroup; children = ( + FE57CDE96F42D240BC5BF9B5, + D7CDE24FD157D0DF359E9D8D, + A9DD0C9B00D83CBB77EDBFA6, + BD283419247CBA6C6DD2ADD6, + 3A53F5D6A8D1C20349358EE3, + 4832A1539FCE4D132EDE2BF4, + 8ACD82D09483797E1A7A65B2, + 9F142652D1037C744443A4E3, + 856618203AAE94C7B806F9EF, + DB3A7C49C8444BD2F57B6689, + B85C9F9BF94FA8926EB9ACB8, + 1F9CAB8660B3BA12C6147B6F, + AAB7E87C600B13349477C51C, + 15C8A0E89E2A3DFAC733FCD9, + DCF51EBC4D12F196EEB28FB1, ); name = drawables; sourceTree = ""; }; + 90ED8883D337AA3F55C2CBFA = {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 = ""; }; + 7BAFC389443803FCB784F977 = {isa = PBXGroup; children = ( + F7E0F072B76ECD5DCD102B88, + D9D057AE4FE642513602611B, + 14A852037C298A105BA716F5, + 5F2D06669F5AADE87DDC34B3, + 1CCCE32D36FB57FBFA6B8BAD, + FB1EE60A865765771EA250C4, + 11178723AF569693785A066F, + EE4D4EE1F1A9A83289EE361F, + 281075EA1C6C7E6F6C26F5A8, + F8A93B8EDF908B6E3AD2C2D3, + 0BF3EE970460415F16F823FF, + 1923954B491DDBBEF5694ACA, + AF02093447674A2DBEFB7B2B, ); name = keyboard; sourceTree = ""; }; + 216F2EC603F5C95B126740EE = {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 = ""; }; + 3623BA84EA68072869E7E591 = {isa = PBXGroup; children = ( + ECE0E7CC17846F150AF6C901, + 85DE0813E0EC15BF1435C132, + FE34F4ABFE740FFEEACB468E, + 6B6303E5AA18CCB271E1140C, + 222404E72D12376641634275, + F49DAF0F225F071A4CCAC866, + 689C5CEA66D05F6AAB2AD543, + BBD06432CC4155521050CD2A, ); name = lookandfeel; sourceTree = ""; }; + 35A9C9DB557B5F9773651AD5 = {isa = PBXGroup; children = ( + 19E72A5209E3A31D442AF7F8, + F6E320B598D5271551AF8743, + 1CBE1E675953EF2172FAD79E, + 4B8AC6E7C0E4C3A9075AC874, + FECF8B067AC43A560B50217D, + 55DBC30F1FE74C23DFB58E50, ); name = menus; sourceTree = ""; }; + 3E701B8ACA4867446FC52263 = {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 = ""; }; + 53BD7527A03B8D31E65CD483 = {isa = PBXGroup; children = ( + 3CF1BFA42E09BA635804012C, + F720563676D4C9E4DE103144, + 73452324A4B3A16EFC98F31A, + D0A4E2C5F2B21172DE13DE0C, + 13C5BDE7720A7963AC736BC1, + 8B41FABCC567F034274522B0, + 249C42CD1086AFA592455970, + CD3ABE20AE524B92B9B6A6FA, + F2748B621652974B80EA33C0, + FD9D2DD3D3C7F14F07505EE1, + E104DAB2F8C8F885C393011A, + 0DDFA4ECA18ADDF430BFEA7E, + A440AA225DF048215509E577, + 5EDCECF062EB01976634221B, + 0EF4BF328799608AE16E7596, + 7FE887D76DBB520BBC48CDAF, ); name = native; sourceTree = ""; }; + AE92A3156165B6BBB6F1928D = {isa = PBXGroup; children = ( + 78F63AA848D74E5E555EB802, + 7BAB8DD68B7A25B281233969, + 745B58030382C3D0DB6E7815, + 984C35577FE047A66ACC892C, + 8F3FC2A8E965AA4E83259DB3, + C25203A01A84B7032A7774CF, + 786D0A06690AC040E7D8E525, + 90C18AF3CAC0E59C88732904, + 8C097DF0606C8FF6B60BEA38, + 9E2454FACF592AE472873A44, + 0F74F021243AF898305447F1, + 7A772485103B4848CD67493D, + F1B548156993F8F8A27A254E, + 854757FAD81F978667CAA43C, ); name = positioning; sourceTree = ""; }; + CE673C3D517A5602364BF5A1 = {isa = PBXGroup; children = ( + 8E29909B5886662F2EC3F5CF, + 3BC1A61883750CA66661C604, + D8E68D83ACE5DBEA2B7BC876, + 26119533942D8F97DB48987C, + 48CA224BFA100226BC71AC64, + 9312B68ACDD2A4EAA31CAA73, + 0CAE94701F33517C1CD31C63, + E4D985BB229FC31731681790, + F49713E132B21A9445D9457C, + 2ACD8B4F8D47934FD31769B3, + D557AAD12557BF1706441B19, + E795FC063102CA8BAB722C58, + A7399999B1C3CE46C66268C1, + 5CD7B7469B5384EA47491D9E, ); name = properties; sourceTree = ""; }; + F66BE2B77C1CCC45BC94CC22 = {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 = ""; }; + 5FA2CF0DCAAB4B2427E48F6D = {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 = ( + 9F4C8CCCB1BEBC9F18086F73, + 89FD7B1FEB8F2404C457F26E, + 3320D8618703EE44649E30D2, + CC19D40BD58B732D1F179C86, + C2E7BC5A003ED8CD0DAA0C2B, + 90ED8883D337AA3F55C2CBFA, + 7BAFC389443803FCB784F977, + 216F2EC603F5C95B126740EE, + 3623BA84EA68072869E7E591, + 35A9C9DB557B5F9773651AD5, + 3E701B8ACA4867446FC52263, + 2EC5F136D33B29FC7CA4DE09, + 53BD7527A03B8D31E65CD483, + AE92A3156165B6BBB6F1928D, + CE673C3D517A5602364BF5A1, + F66BE2B77C1CCC45BC94CC22, + 5FA2CF0DCAAB4B2427E48F6D, + 774B74570B66CD26D8AC1541, + 6318A339AECAF501129080C1, + 091831248DA7C8E7AE891EB3, + 6318A339AECAF501129080C1, ); name = "juce_gui_basics"; sourceTree = ""; }; + 92F0F94558D4C34CF9154CB0 = {isa = PBXGroup; children = ( + A1CFD76549B8E9EB1C360ED5, + 8AEA9D5BBBC4CB214F18FCE3, + 407594E170D93B59D103C9F9, + 8BE57B5119CAEC5B32929064, + 63CC74AACD754A2EDB1F27BC, + 248A66F8517F19A7F12433D2, + CB23F9E24266013856B53BBE, + 1FAFD9FD13BC47F3BEE7E4E8, + 24BFE051E896A8229AF3656B, + 8BE052A2AAFF109DC2A21423, + EC47F3AE085DBD9355D975CE, + 4E22B7FBB34DE120CD03968D, ); name = "code_editor"; sourceTree = ""; }; + 296B955AAE0BB05B021B4B19 = {isa = PBXGroup; children = ( + 1DE41A53AABA7D76432B567F, + 16F4A8C0228D84216A33B9B4, ); name = documents; sourceTree = ""; }; + 5BDF2D3ACDBBCAA8E2BD4803 = {isa = PBXGroup; children = ( + D43C762F1355546820373F14, + 7B351E0CEB9BE04BE1F04AF5, + 35331E7E5F8892DF428E5E14, ); name = embedding; sourceTree = ""; }; + 3496C854B0BD70F6304A1724 = {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 = ""; }; + 361FD6A8A984A7F597E2E701 = {isa = PBXGroup; children = ( + AA382FBAEDD76245D686042F, + 7E838C96F00848B2EE6E2F72, + 53C30AAD14A7899AB7D9584C, + EFF4EFA57D166DDAC54C3041, + 15D7465655AABF4F6BBA81CF, + 0C5C43B5677B8F335F364B14, + 98305AA6513DCC298E322C0B, + 0317FC7737CA599686725C64, + 9B17FF5755D8E809D2DDAC2A, + 54D3C5E5AE4C1384F4220D71, + E2E958362263925141558B05, + 121DD39EAA6066F411B049A1, ); name = native; sourceTree = ""; }; + FADEF5D8552166D43B12A23E = {isa = PBXGroup; children = ( + 92F0F94558D4C34CF9154CB0, + 296B955AAE0BB05B021B4B19, + 5BDF2D3ACDBBCAA8E2BD4803, + 3496C854B0BD70F6304A1724, + 361FD6A8A984A7F597E2E701, + 027ABD5BD9AAC0722F8FC7EB, + 64106F0CE5505E7976249672, + BF6DA9258B6994A918D3EC38, + 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, + 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; + CODE_SIGN_IDENTITY = ""; + 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; + OTHER_LDFLAGS = "-lAUv3Synth"; + 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; + CODE_SIGN_IDENTITY = ""; + 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; + OTHER_LDFLAGS = "-lAUv3Synth"; + 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; + CODE_SIGN_IDENTITY = ""; + 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; + OTHER_LDFLAGS = "-lAUv3Synth"; + 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; + CODE_SIGN_IDENTITY = ""; + 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; + OTHER_LDFLAGS = "-lAUv3Synth"; + 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; + CODE_SIGN_IDENTITY = ""; + 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", + "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)"); + INSTALL_PATH = "@executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth; }; 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; + CODE_SIGN_IDENTITY = ""; + 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", + "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)"); + INSTALL_PATH = "@executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth; }; name = Release; }; + D32671708EF2662A51A6335A = {isa = XCBuildConfiguration; buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + 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*]" = ""; + 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, ); 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; }; + 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, ); 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, + 7B44C01FD5EBA7864D985AC2, + 07033B8316DF6C9CC2B31737, + 9D91842D2BFCA3D239EE3E53, ); buildRules = ( ); dependencies = ( + 8F5816EA1D519B78C3345C1B, + 017B214D817BF0DF53051BB2, ); name = "AUv3Synth (AUv3 Standalone)"; productName = AUv3Synth; productReference = EC3DE1F504C76EEDDA7F2216; 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; }; + CD6892FED0DB19C0DDD9AD37 = {isa = PBXNativeTarget; buildConfigurationList = AF907C78A0D17B741F5F8944; buildPhases = ( + 1F4A8812AAE49E02F3215F48, ); buildRules = ( ); dependencies = ( ); name = "AUv3Synth (Shared Code)"; productName = AUv3Synth; productReference = 9536B5A780A03F6BACB24144; productType = "com.apple.product-type.library.static"; }; + 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 00000000..c0af172f --- /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 00000000..235448f3 --- /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 00000000..a496d4ac --- /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 00000000..e42f1683 --- /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/JuceLibraryCode/AppConfig.h b/examples/AUv3Synth/JuceLibraryCode/AppConfig.h new file mode 100644 index 00000000..8ca835fb --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/AppConfig.h @@ -0,0 +1,331 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + 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 + 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_NAPIAV__ +#define __JUCE_APPCONFIG_NAPIAV__ + +//============================================================================== +// [BEGIN_USER_CODE_SECTION] + +// (You can add your own code in this section, and the Projucer will not overwrite it) + +// [END_USER_CODE_SECTION] + +//============================================================================== +#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 +#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_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 + +//============================================================================== +#ifndef JUCE_STANDALONE_APPLICATION + #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: + +#ifndef JUCE_ASIO + //#define JUCE_ASIO +#endif + +#ifndef JUCE_WASAPI + //#define JUCE_WASAPI +#endif + +#ifndef JUCE_WASAPI_EXCLUSIVE + //#define JUCE_WASAPI_EXCLUSIVE +#endif + +#ifndef JUCE_DIRECTSOUND + //#define JUCE_DIRECTSOUND +#endif + +#ifndef JUCE_ALSA + //#define JUCE_ALSA +#endif + +#ifndef JUCE_JACK + //#define JUCE_JACK +#endif + +#ifndef JUCE_USE_ANDROID_OPENSLES + //#define JUCE_USE_ANDROID_OPENSLES +#endif + +#ifndef JUCE_USE_CDREADER + //#define JUCE_USE_CDREADER +#endif + +#ifndef JUCE_USE_CDBURNER + //#define JUCE_USE_CDBURNER +#endif + +//============================================================================== +// juce_audio_formats flags: + +#ifndef JUCE_USE_FLAC + //#define JUCE_USE_FLAC +#endif + +#ifndef JUCE_USE_OGGVORBIS + //#define JUCE_USE_OGGVORBIS +#endif + +#ifndef JUCE_USE_MP3AUDIOFORMAT + //#define JUCE_USE_MP3AUDIOFORMAT +#endif + +#ifndef JUCE_USE_LAME_AUDIO_FORMAT + //#define JUCE_USE_LAME_AUDIO_FORMAT +#endif + +#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT + //#define JUCE_USE_WINDOWS_MEDIA_FORMAT +#endif + +//============================================================================== +// juce_audio_processors flags: + +#ifndef JUCE_PLUGINHOST_VST + //#define JUCE_PLUGINHOST_VST +#endif + +#ifndef JUCE_PLUGINHOST_VST3 + //#define JUCE_PLUGINHOST_VST3 +#endif + +#ifndef JUCE_PLUGINHOST_AU + //#define JUCE_PLUGINHOST_AU +#endif + +//============================================================================== +// juce_core flags: + +#ifndef JUCE_FORCE_DEBUG + //#define JUCE_FORCE_DEBUG +#endif + +#ifndef JUCE_LOG_ASSERTIONS + //#define JUCE_LOG_ASSERTIONS +#endif + +#ifndef JUCE_CHECK_MEMORY_LEAKS + //#define JUCE_CHECK_MEMORY_LEAKS +#endif + +#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES + //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES +#endif + +#ifndef JUCE_INCLUDE_ZLIB_CODE + //#define JUCE_INCLUDE_ZLIB_CODE +#endif + +#ifndef JUCE_USE_CURL + //#define JUCE_USE_CURL +#endif + +//============================================================================== +// juce_graphics flags: + +#ifndef JUCE_USE_COREIMAGE_LOADER + //#define JUCE_USE_COREIMAGE_LOADER +#endif + +#ifndef JUCE_USE_DIRECTWRITE + //#define JUCE_USE_DIRECTWRITE +#endif + +//============================================================================== +// juce_gui_basics flags: + +#ifndef JUCE_ENABLE_REPAINT_DEBUGGING + //#define JUCE_ENABLE_REPAINT_DEBUGGING +#endif + +#ifndef JUCE_USE_XSHM + //#define JUCE_USE_XSHM +#endif + +#ifndef JUCE_USE_XRENDER + //#define JUCE_USE_XRENDER +#endif + +#ifndef JUCE_USE_XCURSOR + //#define JUCE_USE_XCURSOR +#endif + +//============================================================================== +// juce_gui_extra flags: + +#ifndef JUCE_WEB_BROWSER + //#define JUCE_WEB_BROWSER +#endif + +#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR + //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR +#endif + + +//============================================================================== +// Audio plugin settings.. + +#ifndef JucePlugin_Build_VST + #define JucePlugin_Build_VST 1 +#endif +#ifndef JucePlugin_Build_VST3 + #define JucePlugin_Build_VST3 1 +#endif +#ifndef JucePlugin_Build_AU + #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 0 +#endif +#ifndef JucePlugin_Build_STANDALONE + #define JucePlugin_Build_STANDALONE 1 +#endif +#ifndef JucePlugin_Name + #define JucePlugin_Name "AUv3 Synth" +#endif +#ifndef JucePlugin_Desc + #define JucePlugin_Desc "AUv3 Synth" +#endif +#ifndef JucePlugin_Manufacturer + #define JucePlugin_Manufacturer "ROLI Ltd." +#endif +#ifndef JucePlugin_ManufacturerWebsite + #define JucePlugin_ManufacturerWebsite "" +#endif +#ifndef JucePlugin_ManufacturerEmail + #define JucePlugin_ManufacturerEmail "" +#endif +#ifndef JucePlugin_ManufacturerCode + #define JucePlugin_ManufacturerCode 'ROLI' +#endif +#ifndef JucePlugin_PluginCode + #define JucePlugin_PluginCode 'AUv3' +#endif +#ifndef JucePlugin_IsSynth + #define JucePlugin_IsSynth 1 +#endif +#ifndef JucePlugin_WantsMidiInput + #define JucePlugin_WantsMidiInput 1 +#endif +#ifndef JucePlugin_ProducesMidiOutput + #define JucePlugin_ProducesMidiOutput 0 +#endif +#ifndef JucePlugin_IsMidiEffect + #define JucePlugin_IsMidiEffect 0 +#endif +#ifndef JucePlugin_EditorRequiresKeyboardFocus + #define JucePlugin_EditorRequiresKeyboardFocus 0 +#endif +#ifndef JucePlugin_Version + #define JucePlugin_Version 1.0.0 +#endif +#ifndef JucePlugin_VersionCode + #define JucePlugin_VersionCode 0x10000 +#endif +#ifndef JucePlugin_VersionString + #define JucePlugin_VersionString "1.0.0" +#endif +#ifndef JucePlugin_VSTUniqueID + #define JucePlugin_VSTUniqueID JucePlugin_PluginCode +#endif +#ifndef JucePlugin_VSTCategory + #define JucePlugin_VSTCategory kPlugCategSynth +#endif +#ifndef JucePlugin_AUMainType + #define JucePlugin_AUMainType kAudioUnitType_MusicDevice +#endif +#ifndef JucePlugin_AUSubType + #define JucePlugin_AUSubType JucePlugin_PluginCode +#endif +#ifndef JucePlugin_AUExportPrefix + #define JucePlugin_AUExportPrefix AUv3SynthAU +#endif +#ifndef JucePlugin_AUExportPrefixQuoted + #define JucePlugin_AUExportPrefixQuoted "AUv3SynthAU" +#endif +#ifndef JucePlugin_AUManufacturerCode + #define JucePlugin_AUManufacturerCode JucePlugin_ManufacturerCode +#endif +#ifndef JucePlugin_CFBundleIdentifier + #define JucePlugin_CFBundleIdentifier com.roli.development.AUv3Synth +#endif +#ifndef JucePlugin_RTASCategory + #define JucePlugin_RTASCategory ePlugInCategory_SWGenerators +#endif +#ifndef JucePlugin_RTASManufacturerCode + #define JucePlugin_RTASManufacturerCode JucePlugin_ManufacturerCode +#endif +#ifndef JucePlugin_RTASProductId + #define JucePlugin_RTASProductId JucePlugin_PluginCode +#endif +#ifndef JucePlugin_RTASDisableBypass + #define JucePlugin_RTASDisableBypass 0 +#endif +#ifndef JucePlugin_RTASDisableMultiMono + #define JucePlugin_RTASDisableMultiMono 0 +#endif +#ifndef JucePlugin_AAXIdentifier + #define JucePlugin_AAXIdentifier com.roli.development.AUv3Synth +#endif +#ifndef JucePlugin_AAXManufacturerCode + #define JucePlugin_AAXManufacturerCode JucePlugin_ManufacturerCode +#endif +#ifndef JucePlugin_AAXProductId + #define JucePlugin_AAXProductId JucePlugin_PluginCode +#endif +#ifndef JucePlugin_AAXCategory + #define JucePlugin_AAXCategory AAX_ePlugInCategory_Dynamics +#endif +#ifndef JucePlugin_AAXDisableBypass + #define JucePlugin_AAXDisableBypass 0 +#endif +#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_NAPIAV__ diff --git a/examples/AUv3Synth/JuceLibraryCode/BinaryData.cpp b/examples/AUv3Synth/JuceLibraryCode/BinaryData.cpp new file mode 100644 index 00000000..55a0de62 --- /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 00000000..0e1dcfe6 --- /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 00000000..a77a0417 --- /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/AUv3Synth/JuceLibraryCode/ReadMe.txt b/examples/AUv3Synth/JuceLibraryCode/ReadMe.txt new file mode 100644 index 00000000..091a5aa6 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/ReadMe.txt @@ -0,0 +1,12 @@ + + Important Note!! + ================ + +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 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 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..c599b875 --- /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 00000000..d4b8c311 --- /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 00000000..a4fdf7f3 --- /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 00000000..175b3004 --- /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 00000000..0ac2b2f5 --- /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 00000000..29d48f3f --- /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 00000000..2da08c6d --- /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 00000000..72a8426c --- /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 00000000..6064f99d --- /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 00000000..5c5509ab --- /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 00000000..56af9aeb --- /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 00000000..d3b6529a --- /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 00000000..c35394b4 --- /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 00000000..8e2e5cde --- /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 00000000..ee2f414e --- /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 00000000..183f61b2 --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..97bd2c56 --- /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 00000000..8eae7c6e --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..e70271bc --- /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 00000000..438dbc17 --- /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 z7raXYR{fXm3B&hE%0bg(h*@O`#R26BB+KE%dhg13+bsruYLdA{<=S86%egfos#YG`oS!jwIkKru7c5=6J~ zC0P&uN`inmS|svl!8+l2l1uPaf*3r920Emq9ODp&p2D`-yk?F^#D8NxspP~5u#WY1O>^c6q3{4m~PRB;>w2uk4~hv@rX5Xsu530 z;4kk5*gv)y-~4Vs$Ap`);vqZIqVY$W*OPuOdtC5j(%SYB>Q+4Vw?U-U>k1KA8A5bL zRjk*(%iqqVXD_r`-*o0O4lN7_BrRxpNEmMH#xh3;z{AAlL}(64sZPiVq?V&INzbD- zBbdfjEC`Cv!50Jjd<@_S(*?NcI1Gm1dmY%P2&A8W>WQ&`=A9pDxxwzF35>bQI0f}8 zR$cqPau|LaWh86}jr)Es3h3Q_)ylTxbm^_`E@=pav$EFKev{R_5L9+c&`q}WZNjcY zVwiVk4$lW(Gx3KDVJe{;3&vuN{#7+>(RJMo;^6Ik?o*Uo+p1tO=|rVUdHXZg$LX?C z2Yj-EOlEz_XM|I}%R-#Qzu#V3aZgRPCc1l3|2JMpmM~ZvXIM15%R1zd4GznD9V9;C zC&VwDc(oN9$&g)!$bb@rz!vuGxi3}lXhW0)8HXH>f>@rK^XxXjk>R%a396?B#4boB zpI8-xpUe=gr$hbJVAkv|8kBpJ;MGiE?g)7TzXfvskh!LmVQ&6YQYo)D_L&feq*oZBD(G?o4$LHdFFXizKqUJ8I z8;(&Zt_qiIE^bZv_m(`RX(a4gnfnyL4cSa)DUe;2ERK^{O2(I(RAk!)$lE(cqS@G3 z#ADIMnIn1*(T7G<<5$lwaZj38L|>U$mfxzZN~JQzQF*GO+co$IZBql%fm8gD#F` zq!6t3J3nq*jO;EY|B~CYWtF1w)gJYJ*30kInx=KGTnefR_^Fx2PCv0($;H=P`LzWd z02UBf+?kbp;uX6cN)r{qw|)G38-d!!>2w{LAa#@=3;h%m?L>$#2Q`6Mual9Wif(|N zakh1y`b**;2^ZibaOtNNnA8-3mP(W9$${D+*}4Rkk^R0~azJN+fclB?pF}Y*RMVVw z#bm?q2KsJ-C3LMqKq|+f&d4?5$HEhXbNq%FO5m%B+fPl+vTOSECYYhSB$wdsx5e}M zOIV2S@2cx>6|PS+6z>JedZ*APUf-3pB}=^NM|_r5ghR0oQ@FOC#cFbO@P7ns(^ zclFXwUo5HGtR+mr8{CFap!Bvb`O+@h6s5D|j(e=$k6U7wv;oq-N{WiJfS4Z$pamt- zyQiz43z2O6JOROdn|+gkpv^=Z#C4Prff^b^PFbrWO*TvDWo#F*L zNy@OJn!bK)a{)f`mrdOL(*hOEhr4TY0>1&;)DJgO0?YNfoqKdt4@9eMU@k)Hii>Ah%`w7Fp# zw;#6xP@oQvSG0OF1*H?YhZG;3parM%)?}~f(b$-_V_FjwQ{2vq2CLkU=uUkKxGH+r zr0Y-n8fgJUO4Lg<@yApC2c`hjUN?~8 zEeY2xyLx98ByRv6O}XUv{Xy4-+U0co^9$SvUaaHoDzAqJqA!UpQ6oYqnOhj?nIE`6 zk?|muItAL3z@ylZBm70UmpWGk2PwfcuqCj*L3&Q14l=2egMvu_h7Wy>bmO7*_>ny2 zF9X6A#HnOC4e>PF%cTB3C8^uoMX?N_<#e15#l#4vUfFsV58aqJQUD!c0W~Q5%Y%0;{lt}c%3e5no`iF%D>m4*q-n+`rtKiy zoo(CC^CASRq4bfLOxozx^sV{ZC!grV!_g)x2A#L9qr%QyVQG>+Jz7Df-l+%v6^IB$ zOahXQ0}*KCTQ)S1n*E6J0Et169HEgY1o{YkKSCe;IzsqFU2`DrJzzARg`a6JgU7h zsMnt#qo*f!MES%$pxEzqdV3}?ys4HR#ebC@PQQIaC}>&tR@iLfnT8qF?&}XRe1I#v zCKXiP0LqK&vUj7(bq2}yHl}22!tQKrpS|u z;3WauB2p0*#TbI&~T2D>=+!VRbsqCHoq0WOiNh!Tl8~@q&a)URI z6yGE-EN)HGwe(xt&!Bu0 zMNsg$EC}$&13{68M0!DKnYyqL#J`$bTRw-+j65W*OtIuEW@f?y0Z} zvACb>y)jjo8RBPuRQG~vV$oPb=+Yz;wkS4dT}3kO_s@c_tyPs|RE7}8Wrc#&y5w}) z5%RqzY~8iBd2x_&OEXHU^NdPKs@hLBbSKBq?)1p2?}hCzOObB}o_#v!yOryH#s@j& zB_%jCSz2+sxXv84O7_s9KUWZ94obk7dl@J~~X@;1eT^r0bP?MyOR98?~j}_h(vI{S%V`N){QUQBL-wfosq1K*r^8@n5HpqhEFsp( zZZy*V<*%B)b46(-R9M2du`dZR#P+v!FD1T|K@8|&mW%n-lP5MU6C}B7^>I5AI2Z{Z zFpQIJE#~9R6Z<9w>M1O;v=q}lilv|-g=p=Q>!Hg>hNUplO z4BU4_$T^-A8cyAl1K;i$hQtNmt1bhyh2$W{A;AI4M>Svs8#2J)!VRrZ>{Z-Y(=!>hG zId2k1I)0avCcgPRFEg|(@gEd&^Z8`@{)W5(>wHa3(p}HbPxwA z;KyU(yr)n)$*V-1l^^N2&&MyQhKw61iPPaig8Z}1kf8wG?r-9U3TdJ z31}gw^>QLbslI)fA{i#Pw*u12ifrVT5HSO`ot{~6q^_e;WV=}%74DALg1|19IMBL* z2Zyn!?PN@{hR!Q06onwUqe5le)$(uWWV4dY&0IPs+m#W|2~oMqih1_2-t*~u;>BYhJ$Il2i55)6ydBhSEP5m!O7c! zV5glt=!=HwD=7Zd#qrdik1X5`V#pfU`Hlggd$*D@tvt_%?l8W$(*(94Yr?uGSc9-@z;7 zq!T`eo*x&7n?2MwP#WR3Sjftb6f6XA$N$%js}(2^c8)dpXDN~M6MW~zhhlKHg}&HTY;T; z<~JI5cbW(}buqn@-&JjROKtKw_ykIn-)R0hKzu7ZpaNv4v$*kqZ<}bGS-;$}+utLu zQEV?|yqE$v>{ihc$py^mTtTm!i#>h^OEb|M*>m@z_RVJwf|aXYTBC5#S0Ok=;ld<$ zDxvWHoFe?joNgpp-`OIFB{5~X?#Qiru|i4jz?9d;E6T&Ogzw-gJ&S7^>70vs>6dzmC-uv3CQdGJ~0lHyTK9>{sa*`XbPTXyF*~W*?@$}KK`rde7^Ir z06z;0BVOeZ9M}?ZI7N7a1BAC%AgzXA4seG+59)?#7+g6vOvuOAy(yvShc{#_B8N1j z3*jNF)!x|Wsdo7H9@rdPh7&E90beRG>2{-Q*pbSJHVnA4J#s)?F4Gux>h)?#-_!4U5ZNvPWq8kQg0gBsm!T?te_z0rE~QL` z8Dzzcul>?lk6V4}eJk}!X*%0j1I;ovpjpH@!r7_wEj?;LKOa?Re3sMg_RoE*_9VJT z@Oe(lQHHb+zZ4Wtu`Hs%NaorOUh;=2J7;hx;ZxD>Xf8`o<&(LB3tBAb>dX6Mad>9E zrW>a>xE}vbD&AC~H&KXwLn*(o?y!0t1s1YogR(uGbT*P0Z|w;Prd&V3$N)U*DL7B2 zBtJqkD}{x{;H2w>a$7J&&f%^{@P?V{?v7v1h&p^PY`MrV%L~9=SqPLjK)&B0@L(T2 zjS1P)6tmylXnQzjBhl=cZdpDi7kuzX;;yHB6l-`T(!&m3<3c;rD*G{97oN)|*)G7F%`KW2>d0aW@@6s3aTn_Hk)~xBKSYCH)Y~N)xPL$fftm%` zqLl#jlsI`MqN;?QK(43Cfz>9KCcO8Iy!D#|ScWc^z!{ErMWERMQD9jumxbSc&y9wg zJ5AM!79{9XP~Xo^E5vNqnFwI%Q6^hI=a8Ut#6$ z=jY==<`;gbl}mJmn$RFvedn>VT9;Xz{F$4g!N0_)aN#ELZQMrI+JL@iMXe$b?^Uiv zo*p^KeEIO7qnDU@Ml7sOrH5;j7+DSkY?dWQ`$-}j{`lQrrPeYVB%&@Q=ld}sg+15p zTUuR>z(U;A+`@EhBPTWet#e|WbN@O58BlrI({dT|(f%O6Y5;s=j(@ZyL=tcVzOEM6nIytcDrU!=mW7J^aWWZ|oxtDFVvza<;Ar#p?Zyy()`%S}i>Z+*WpUp`=vA+ob*q2vWhbRZTj+1@E!U0SiVF(hAzlg(b} zEALCX5Pz_CilY%iV$jH&;vq1~5dZKdfhrk3ftv*>LAqEBn~DS@?QY!-;#t z#Q=&M*^!P&V2m`=y%Ot2i6ZlxTm_>g&P2)GD2?Ea8-( z`UGlxbo86R#bD)4|E5PDl#77*(hr3$m+G;zx5rha4Ef1#)Tt3G$^AQ+@EkexAn7=m zaQwD|!RJX&#v`&L=gU(5+rNJN++O>+@jX9os#WfeUPD?>xTEyj55BS-2x5>E z6HN;>E`pkSo1B!u;zs=gXwkqZVz|k@9)sQi(<)o&n@wClJ`jtC0z&9r6li;VUdY~4 zKx3OkY*Gj1e1+q2-LeqfvvkLQ1_(OKYqt!DB*JKD`GSLO$$tdL2P=vY-PYGw?*4Z@RNWwWD$L88W`s#wbXr^_>& zrLtFxZD!iOMQ?u9l@6Ng@2eOyGli?tiaIMrilqKQ^d>OqQHO&I?ctpTzvun0eLr7@ zA((s{I1!2-ax)v%VTXw0)`?*P@shqM`n>{65wUL>1FUkw_YD9)l&C<0$OLD?c0(&F zOF!Ow&haAKa=vc*`^KDS{LK7^9tn)J{)P(&`;Mt8O&koGt0J1#0STnI?O(qaJ(RKc zbUv%vcO~?MS3vJNN&4sQtC3e~zH3KSYq(P_w>POCg))C#7#(|~tam|4#qK28!WcdG z(T5k^d^Av9sLXfi#TR>&QOVaN>(zB9JK$#*E}XnVFIngQ?A6MoG!K1e|6SFqgJy2=Dh^-H^b)rn9={8NL@NoH zAKm2N<@brRuA#s2<1n9lr17NrW)aOF2^TSz=cz%T>nMy#oe@;);U06N{&?9HBXKKs zEsya{$5iAE%D(&VL~J+s%1~2D(2tPqRySYOrXcm+QCmf-C8>9nc276X9IO#>3_NK* z3%#5CIn$_R-`8DI3FACZVHYNGb38e<3nt7LqG~ux_}`wrQ%)>*y-WIRxq5Qj!8Ltw zf;wg(>Yk>YOY4>@!=L|rH3e>iY1PH_3D(i<&hAHj~RRiM+DewTp--~cdT7lUo8-JC^@n7E4k5d zfa}TLIhP;j`|#)8sU)l*#@E%+Da&OwLUz2|VKL_&6_%0>jmlc@-o(S(11>k3;khr~ z_ksP$jQBdd##KgdBc+q25&PgDyOl8m|DH#=7KsiN5Y@vqDSrQd9y{u@e#kvv@}4|& zREY_^ekWm;qa}%52%BlLr(_`pnN1^)c*g}TpOX{6NqjRlwj+Ii?H*k~_43mU${xXX zNVP*6w`I-k(R$%zaa3fs zI4?pmBcAA2fmvPB>1`v_6Eqmm;<1OgpO6vJs4x;<#}o^%{2YC51-)Bi=v5wC(}|Gt zIlz!w|9mQ>;1kcR`H@xXO2&`tY&e;y={GLfXj%=^3f`;i3vF@4b=UB6G@wMJ_BXKb z{F0_dBub;_;!AGzr2KABIHO0S4b5QciXJ+M_`TT&N^xH4)AR#2+}zLE(1q8hDh6yI zDTi4_t~X8>`jzCzgP;u3XYpUBsVITO>R3%t{YQw^Vp92Rqowcn4!dRb+d+W+>xEst zC+Gwtviy)h)jPBGeqE}L=iAmEAKO2~MF!jS@{ot#Hxj{!m^O>5_eXbx8Sa1ARH7iF9}>N7fbItNu*S2nf`leYT=4MB?oz4u zR@IBs^vq+PDo^yfl_G6ZwysvontyE%cy#`Lrh8Lr_dU*d2bQWWAiv!&DgxCD{Y}t?OJ+?Vosew z(6u6Paa{y@`rY@f0>Q6$1^Dh9TJeIJQ}15#`eRMpM$=yyizx4CH$?JS1dP#WIdZT% z&Ni<$?71a()!b#eV@&KsR`1;?q0pFMlEwPn|KfQCs05HHHk(v%E*VPgnVij}cW7*X zf0qWuIQZ&dujA{K;s|zI^IHd}lHL9-Ml|Gjb!#}?$5G&_v$#fE? z5d@GIM9S`KtkMS$d}5K8fETNv{Z3oB9VC>ZMkI)FG4aq+!6(usSrHPo5>D>hpoGhW z5tk|cC6P3y=iGfdte$}HwO{{)&4<&%X5*p*8x&Bt=3ZsHPab3lonXSlP*@aPY)PNFV?03!VMfwTCW)@AalGx!#zKPkr0g?IWi9 zMbTkZTf6wE-Q%deGk;&?V)unkBc_&Ym9qrG0>?Qq;kWoi7xj#%16(WbjceTvi&$A& zC7(O(=NHo{hedU%q+J{tHeG(6sba0jKV}myV^P}n%?rhlA0n$-5J3Bmy6ZV@`_`MA z=usmC)c`E8Aip-#&dN^G!W6z3kX*|t3FPa`)G77!w>Orc!!WuKd7^z|0CpZ`0LcYL zFh3^-(ygw`7Ef1IY%*yoP@GWJ6nRxd2Y5^GGo&Z%WNu)VxtYNDx@mbPn{s9_eY)Ju zS4|tG8kGv^PdeV8=HCu`O+N@-Jf!0WZATkM-C1#!ilVpqE!dpW&PK6GCl!`%_&d`( zaQ{PIfCfjN=3nldUH=v50;4)gn959-IS$gg1?S`;NzNYE)s2p2x3jbHkjNCRntFiS zYknNn#mfT&S59agOcveftXpE}B+3ubcM$5qEmO8VXPkMn$Ij86p&kyQNWs!wAOXkr zFfk@d#ZjH|I0USix*W-e*^X3%jUGVbN=hpW&I1t8#|-R`E|azFBtyK>x)mC9{z|Fy zx|c3I-uU=lzN4L-EiX75ztn!Sw#}$Rm)4(?MXpUPE8OMNyfd#lR9~>_L=cU+xCoPB z&bndj-*U$%60OMV3^?aAz+}^XpNZx28k7@PRcFnE2Wsz+zRc~yhL5q^R#PyED>R(^ zkTrMFgoo+&4#vDnj8wVCk~8&lwSlzushyNWMN;_nrKc*gOoH)N^P~r)hN-HmQ}9Hy zw#Zvx#CWXJIwE@Kmpcnu#KuEI^cgoV!^r!=^W0S&ije#m{r0emDmI|Dz{#=VW0hKDboN8pNiun%+jr<58?Wu9g~Gd= z+c#g(xLmCCu@W*6Vxi4CgweeHx~Mp*Ne8*yNMOF@U55u7 z7!QF<{6YTD`>UWYe_koTh-mkBJ2MH9gdD;)77i`9PMrvP;ZjEIcQ>u^ zu|O|hH%q$bo03wNXz%XBA0u~SyHtk29CQl_S+GEoMdzAw1i099RaSy0JqQ`e0nPn{B z%p@Ojd|n}1JJig$uJ=|km8f#7WL>a(F*C!YGXqn?;4wqzr|6w1*b2&XSjxS7My#3Ve`^ksjW9jnKbJI zc_@{0%Oawu&>HI?4DUP!)oT=qD zkuAoY7GtS!S{(;m* zm0~pQPLRoXbU!V&06o-U+6Ue7<{R!vw6PEp@xEs9&9bEPT${}k%F>OC8uEwgO4~os zrKw-tDtoR&i8Q5|9y~TsA6rCF<<@cKW*7>W0^dL{hr|K;sn-Ss$b2JNetd@e?(y^ z{9e@X=F#4epljfgnF-x|xXlb;@T9Hb;xlaQ%)b$hO<{oC+7oJ_ft#ieMzi{ENxQIk zST6WD%@k;tgsp}^b0j_7jO_Wbzb{_X;zR4FHP#w*^QPSx*QPw$uuhGC{Vi34x70K} zJpm=r`eI7j?U0+SMNLAP;O-QEu&Gw7d)aZESG_1_ch0n>Ll0-eaXm^eakrhHJ;U1Z z)|rGlsnZXvUVh_NMS)vdyFmqmbi%=D;nCly8=dbdOu8rY5Ofe!Z<8N=lXR=Ge7?Qt=|z!RFVa6iEy6% zpG#5iUYAJ7U$F1nf9{KdYsvg7tWYZdvjsy1LIE! z=3WtG+SQ~iVq86XPxzp3`iZN$J%P2cc8^AvpKkc`^-KBrX?#8}5{!wVK9Zk@U-O24 z`-RG7y?eU-mMH_9{Ms^?Ezd>R>CE zx^nlDio3$lJ#Q$ui{ehC#5W5f@T^2xzUPJ*(d!AfTIF~ zRr~s=9#{KFruAF~^7lWPl?w-O$}8Rmx#CIM`B;M zgMRGj_%q>Oj|(k9Tw1c(iagpa6c^;SF2%pQ^~YtgL+jx1OY}@KjMY?zKjY(iOiydR zWxcs5(fQ~sbc5Tzh6RvK=0YH@fNb3IkuelR5*@_Fe+*)FvF+;Hihrt%TlDB&seZW7Kux4= z=ZG`#PMZ>6YqUdu$WVG}e)*r_$KCC>L!E|nr7tCLoYGC4-ei0BO`XkFqH0CX40TIh zOf^Ree_f!X$Yg7eHftPNXXIs#NCRq`+r9Yrh5DYR#b3zOubHbIm5@(|2ce@J>>p5q zf+yV2`Z_bAf@Ft`ur14g+sZMhXS_v_d#hnnvw23Apdk55hbhFj@g)^uSB(1<#L_4} z=>a(yDdAtTvnz%+b~>nf1?|#g7OcNDh_|`gz~oUt^6_)-CjmoeSxz-;hSS!|3ci7^ zKSFD>*gfllUUL=qj&z@`}{U;hj!G}=v(2) z|D`^2Q{sAKWq%dMeo)oC>U{F1lTg#iZv|90yQ^6N7gtgsnSI`6(yp~dQ^8-uHSoQH zueGuN+9xXHjG`dw$O(Y0l*By_eJX zChMX*J+3}%K9@9a5l`LTcFO6Aet+{vl~WBQCgHxd$)h2UxiavlNQ-;cs5e@z)1FLS z`0dt46`(vIS(&hYk5;9S_I~>Azzua1AO5mjQq47S{zrj+7o_U+Y0Z^ACo_M!>4z2g zDfn=A=jzQS&_ey4IEw~BikrqC0VxVh%;%NfdorNlc#kU6)v$vKR#6%OA#z*t&y^C zdb_gWTNc5V((r+JJf==#`UNT38H)fz8FJB;&8BxBSuJZ0hp)ps7Vjl$_i5>ElO8ZD zK5I%aZ@W(w%c&Grn5_|h?zx-N;Ym(Ayg@ouZJ&PS6g~F}pJ>`6+2lUbD(4)#`lU<# zVzfKF?{^ct#A;(YZPK6A$kjaS=PVDg#n>srdbR=Y z5hVh^XI_)DQY5!u7J%{fofI(HmO{bVw)q?(>e(096;G zxFjOBM+Jz1*NV1yT4a-ZJ_;daQJg-<^v}S|c7(s`U{Nj@s6RmoTTE4PFD#x&zM~Mh zLDpL|drMwdHlhyZV1wg<+Mw7qJ2DOgAAHEU6_yJ?Nf*3RjW%I z0JWL}1($5M&H-Zl{C`fxaXs!0X!G%(?-Id-wwn_Z1oKxUO^E;p4nI~c2uKYjfTj~H z;MR9qrFJDlkyD!a3n?ilN2yr&Qg*O`kufSLv91OU;hX*Pir#oNB|g+*jyp22u|`;1 zV6@hFZ!5s)wM&T}v$VawvxySQ7l5>D!DQ3l*<79#Ru2bqJYqzf6i$bI(|$MuOoDK$ zd!_-L4N$t^(Ynhe(Urge;cyWtUI?v`jIL;+M) z!#*3ujQSb8)=cnpEpS}GS|tFuViTDOE{<>yq+Qe zweEUKV79X_lK`yHIWIXtDt^bBMz1jbO$WiyPNx_&4&@B_vxqaVh1XS0YRs0-baphjzX9ht->6?Uv!1)htt|;op@$y7RRg;E4m z%y7a8oDMg0sy&fm_AH5T> zQ(U4tzjTn6g%VNW=emFrFuNotdMFl6T{^6Df*h50dWxR-P3rq{XW&9fJX>xNc zJ~#Vt7-I)8j+MsJtONu2nEy4N4PQ-p?PD&)FMof$Nk!xOmA&Jq%!6jjier`^@f-q4 z&TE^qc&s1g%VGkU+vDJ2Ta%+~XJ%3T(h_;9b*wnmlBuXJbh9(4bwX2iVoOd~l)Vh^ zssOdWxnj%&ExV$3_tV7lx9~mrbJs_GaX+H|?97P50=Pkn0Wf~| 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 617a7769..92a39b9e 100644 --- a/examples/AnimationAppExample/AnimationAppExample.jucer +++ b/examples/AnimationAppExample/AnimationAppExample.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.1"> - + diff --git a/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj b/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj index 4bbbb5cf..4992d84f 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,48 +23,59 @@ 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"; }; + 01A3657086BDD1A8707EF4F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.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"; }; 02C14E49091F42750CD72F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; 02CA378FD3B14EC424052317 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02E9D4C9FE1B21ED6D4AEB3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 0311666DB95BFAE686267D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 03457E9DD2B35D7C1B0C7393 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; 0346DBE09BEC27EA93676FEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 03B79DBA48F6C4122DABEE90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; 03D03AF17C5E899ED9481518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + 03D57736DBD07F902FA47ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; 03E91AE23ECCF51E3AF9FC90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 07692EE917BD6ACF5B036FC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; 07C83735435D264F28158F79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 07E19FB806980020A47AA47D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0851EA97F442EDD19AC9C6CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; 0852A866937712A0D30684A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 086A11F30E2412EF4110F049 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; 086CE5C768CF5889BDEF8955 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 08C7B33308A32555A7CA21B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; 08EC867C77B028C336B79752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + 091C12DBBC3D552962156366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; + 0927DF1FF6950211244F022D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; 097237CCE04B9020343CB28D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 09846FF5D2FFB83242A02FF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; 0993051FFD1B0C5E92474DBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A554122B71623B662AABEF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 0A821F49B23F52A887F9510A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; 0AD4B355DBB0AED4C90E5657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; 0AE6516868244378D09124A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B4CE49EB3CFD33ACBC91518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; 0B7637C0030C06BE612E41E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; 0B7E069D09A7E46448EAE230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B933FCCF82100D67C0B7D34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -78,9 +90,11 @@ 0D530396A7BA6BA190100C6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 0D88ABF90B476D03D3684ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 0DB1323191C133E48F07C062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 0E275535C90338F332CD8235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; 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"; }; + 0E777D12CBE485AEB6B0D953 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.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"; }; + 0EC2D7817A5A91EB932F1EA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.cpp"; 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"; }; @@ -90,29 +104,38 @@ 11ACB77A3D91503A3DF673C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 11D8AE26FA8880E7E8F3B4EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; 123B63088FA1C4D1AD225CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 125AF6A7546974E48B30715F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; 13430EC7CBFEF46874F53731 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 135DC8543A904B7BBAA0FD7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 13BF0388489EB44A816C9AF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 13EEAF61D52D87BE7215AB36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; + 141A0AD892E37D2DB6416E6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; 14245CED80854EC5291657FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 1514D75CF4EA67A2F64FE115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; 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; }; 161F35FA23347F495704C26A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 166BDAF3B9896BCB3771A061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 166C141D440846E85F91747E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 16ECB71D0D2C5C8BEFF4B4C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 17192A48A70F35CE171FDA8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 1728E266F184270B8F24FD47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; 1737596EB7F40322C0A5DE20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; 175654F2545AD9C0603BD0B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 176B18B9B61FDA6EC4357EB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; 17B07A06764A6A7759804033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 17B2789DEC279EE7DB8D9BE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + 17B756D0BAE2EB9A24F6795E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; + 180B93AC6A596FDFA77EB2CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; + 184435EF2480086A0A7BF276 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + 18F86872037F25906880DACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.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"; }; @@ -122,34 +145,45 @@ 1B3B7CBA0D25C83B8AF72641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 1B3CC8F665F23CB86253EBCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 1B7AFDD8FCA13757D08B8B3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BC3D99638388BE91F1B7C30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; 1C71768A34644733E39EEF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + 1D13CF058F072BCCAAD591E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; 1D5B751294F84B86ABB11D4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D9FABE954892C169D874E35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; 1DE0CF80B807A4A702DC68BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; 1E020B9E032C076071700CEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; 1E6EF8035485237EA92A1310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + 1F3461F19C4731FE0FF0563F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F87E0F13E5F13F32EA8488B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + 1FCCE1AF54F1AFA518F85C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; 1FD6FD7218AB240D23DF4BAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1FED186C635D674888C8F6C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; 2048DACF787A9BFE011041BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 205748B1C1A6DB6C78397CAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 217FE57E823D8A19ECEDAE1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.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"; }; + 22F62D0B5A88067C39036648 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; 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"; }; 234D4927B398ED6E9B7B0E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + 236A887259131B8CF3BFAA4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2387979173D63484748E2D25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; 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"; }; + 23DCA3094EE2BF851D7E59ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + 23E602118BAAFAB6244C626F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; 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,22 +194,30 @@ 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"; }; + 27B5A75B11DE0CB6BEA24EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; 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"; }; 289C3977B67C1898AC3B974D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + 28B8895A15022079E271B140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 28BEE3C7BE3AE2BD888AC55C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; + 28E8CC5E40D5ADCF69FA12B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 28E8F98D4DF43FEE13C53FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; 29215FCE04DC4D267FF25E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 294CAD66B5A63FEAB2CB95D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; 29685DC8679DB5024B747D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 29710D5E6C3372E4480BF746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 29D35A5AB22E9443E0ED8F99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; 29F5A84EE715DA5BCED467A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A08FD4A8C44BB4D5993C4EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 2A098563977566E9A9E8CD7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A274C78A4BC2FD805C2A87D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; 2A2B7F8BCFC785127CA961A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -186,31 +228,47 @@ 2C06A730EBB9E2A7F0F2AA14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; 2C1B86FD1CB59198522DEF06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C246301EE0EC4A9B4058F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; + 2CF871939F8260159FADDA45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; 2CFC9FB97ED3587D7E0E4E4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; 2CFEB3BEABF88B0C41D94E94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + 2D35965AD2A724CF8E48503C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; 2D5F3AD1A03B34AE7349DF5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; 2D8FC1F116F882698F5CFEB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2DB2DBF293A77B80E01EBAED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2DCAC1795F1B47C592E65D4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 2E2B14A2334528E4405AEDDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E2B6E9E5339C2D235B34D2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 2E650C2E92EA2732B66070D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; 2E96848340E1C1B1095AC1F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FBB170783D707DD566701B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; + 2FCD0627F5182FEDB371978E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; 2FDA8843C89E2D7DFBE3FBFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 301AF9BA843B1955EE001C98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 302B824D60552827656F93AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; 3095D8D2EF68D6ED502EB00B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + 30F760D66EE00B970E5B8422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; 314E9338935BC33A1C468B3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 317A4756151F7BFA715E853D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; + 31835ED2E5FD847241731C4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; + 3196F73AF8AA82512A48A1CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 31AE430D2372CF6283185033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + 31D6707B0315015D0BA6FF40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; 326E293A87E18FC3FBB26B47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 32A667DB98BC4EB30C51F20B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32C160FB4BDC7D7888B779DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 334D70B10F62FF31153FE332 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.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"; }; + 341945AF95DB1B16D532098A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; 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"; }; 35AAFB158E16D03C4D977713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; 35E6F6325AF8463C076BA594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 36738E65C45A4D2A81C1C6F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; + 368FE253978B01A52C9FDE35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; 369C06F1DC7B3B7EB497D062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 36A0FF58D355147F40981C39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 36B8F6CFEEA3C1E2A0D09E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; @@ -227,6 +285,10 @@ 393D0CA8D89217F1F2504768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 394CD5017D81D1CFEBE34894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; 3966D734450E72F5682D2F06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3987CB6362DC2021DB74C5F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; + 39AF57BF1F78E78B6208C610 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; + 39E53E65D8D6B3B528402A9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + 3A578CFE4D5EE336348DE71A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; 3A9FC7EFC378976EE696AE83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; 3AE89D0904EE985359A73B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 3AF114AC45249CDA77EF940E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; @@ -237,49 +299,67 @@ 3BF23F0B71FB8E526E895905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C825AE2479611DA559164B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; 3C89D04328C83D2FDD4E5116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 3CC0E54CE49D129491D45C08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; 3CD47BA1CFEFB637DDEAC313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D16FF3C64D4248C0C6FF504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D24784AEA7726A64A340625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 3E93DF974223FF9B7F4EB50F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; + 3EAE5CBC2043F3AD35BB52A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; + 3ED9D068A1EEB463738A8D67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; 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"; }; + 4051B00F3E03FD44594C1C6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; 40B9C2276B7EF73860E2606B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 40F0E944D041D96F2DA4C6A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4105B30D7A5108B98918EB09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; 412D5D6AA4018C8DF59AB741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 414AAB7000E7FDE7683BE72F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 41C74B59D9B392117441DA2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; 420050F896FAA3A70C66B746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; 4228B8952E3FBCDA69C1948B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 422D4036A107045528872CB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; 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"; }; + 43CF643349DD9B40A9EC865A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; 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"; }; + 44AE746144329C92CB1EC401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; 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"; }; 44C6568EC00F1682FBCD3B69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 44C9DB616A2F1C420FC03EA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; 44FC8BD37CFE8C0D851C46F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 4510E3B6AD441EA03B993692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 4570554FB8438C0692EEDC55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; 464424DDD6A6678B94CE667F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 4658E12862C546A62E05E4D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; 46885692CC5FDE30FC3649F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 46B0C80A50F637DEF7364C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 46D8BC7303C892ED3F90E4DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 47E5FB5735D2EC8B039D2691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; 47E70AF805B1C5C57566C4CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 481E7AABBC1ECB45F5A6ECE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 485C1D9C28D17770B7399FEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + 494C5E1F63C8058770C912A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; 495EAFDB9DE4E8E7DBA562D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; 49794569C715BA919A01D72E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49E6799807136A81A9CB1292 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; 4A1671B78E589A865FEA3CB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A20A09E79DADE080F85F215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A2604F9DE1CEA003E97D270 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; 4A31DFDB7AC330488B8BBEA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A36826C3F710B92F0347A16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 4A53D28A1FB12DBAB6C77D31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -309,14 +389,21 @@ 4FB8B3386156F5702A20F7D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 500F7CB9F45B62E46F4BBA57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 51026A3BE98FD70FD916CF45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 511F0ED4686A5CDF53965894 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; + 51305A11164C3ED4D0715AF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; 516966B6926968A6918D55F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 517AB84B750F6126EC985703 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; 518E9E553CD9F7D215B75B88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; 519CE739793F0797AF1A7957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; 52062790A5E737C8846A23A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 52D99C150763173D47186EED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; 531BA61B027758A7978052A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; 5358DE9C9773654731E6F615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 5383E87DC6DC1D251C271A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; 5384C065CDEB3032907ECCAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + 53D0045E2DBBC395CF6402F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; + 53E9183A7D2C19D8E8DA7EBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 54503A34758AE7FF5DA79E4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; 553655CA0122E128BC368AD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; 55417F6D23E7075E5E27BECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; 55A4B5CF98FAC1CC23E49C82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -326,6 +413,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"; }; @@ -333,17 +421,22 @@ 57490A9F97D62E7A312EA90C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 5774E190A351EDF7B7AAB188 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; 57A0BF533D7A7B57321A8174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 57E13FF3A580C1E95E92B3BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; 5878CA91071620345AB5B3C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5935FCA88455E5675C326F4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; 595A9929C0E873C30AC9AA87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; 59CAB9E5A0CBBC51342FC065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A1777E116DA01B554C90CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A5749D0A878955C964DD2C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A854859042F6CD761688B25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; 5AAE605D230E253D4EAC195E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5B30C702BF301F8E1E2A3354 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; 5B5180DAAB935CB6D1DE9AA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; 5BBC57B395B553CE08AC4BD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; + 5BCA443333E6382B09C70FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; 5BFE5859FC1EF6D8D2620394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; 5C0E42BCF4ED32E1381E7A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C3608989A5B27223F5BB52F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; 5C58E6217AF57BD2A33ED617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 5C62F423D8469A02E55BF59D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 5C8795B0DE5C729CA18FE89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; @@ -351,9 +444,13 @@ 5D1F3BD1476426752ACB1EB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5E4173ECA316E90CD7DE4378 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; 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"; }; + 5FF5374AB0A2ABCD55C5C0F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; 6018A3A37F34AE52B39A14D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; + 604EC12730E93902B59C16BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; 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"; }; + 608567E785A52AE278561F28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.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"; }; 611A0824757D50610BB03562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; @@ -361,9 +458,12 @@ 616493921A733162495E7553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; 61797A8C01DC08E83AFA4540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; 618839275E13B9DB660001E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61A057071AB4D9DFCF977868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; 61E1C2246CBD45C5A1F40102 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 61F0D5937E23A6A9EE8D479C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + 61FEA56F09D171ED4D49E37E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; 6238740697CA1F0746776243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 625E1B8A1124F86D3CFBD31C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; 62B6E8B6269ADEF23D85FA3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; 62E534D1F0B31CD4A1B572E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; 62EA5E33A940F30BBB56E293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; @@ -378,6 +478,7 @@ 66CEE40E51335F661B5C5C66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 66DE43B56D8670C78DD3998D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 66E854431C2BBDEE56EA43C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 66FC55F6928ED105352D513E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; 673759E656DBA5A9377433E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 674E13DA209E762DF15E9E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 67771057800F9416E9777625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -386,16 +487,21 @@ 68097881EEDDE0FD03100CC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; 684E11B1CE018B2C46938D80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 68743DE3AA833D6F02F754D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68C320330FC80F2D718FCB92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; 68FAA921E5D8CFAF9CC07C2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6911E01E967839199E4C9822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; 693B6DC20214C1ED9C1E89F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; 69449AB58A9C0AB552F754F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + 69615C623CE1E2F2AC630CF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; + 6970593C10473856B934E36A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; 69A2DA87D304FD486A872C1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 69C36A56AE1A2E8CF64FE388 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 69C81DA805F277342326FDC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; 69FB20BD7AC7C8099BC57663 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; 6A1D79062B92685A87BEE5F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; 6A22C06C6FE2B6B494B4878D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; 6A8AC5E55EE51EE0476D852F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + 6AAA99E0708FEBDDA79F567C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 6B103C0FB5E6E3618ECD3B48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B3FF870CA756828E00346EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 6B5C2F14A2268F371F1350B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -411,48 +517,63 @@ 6E6672E4055AC4F6D8688310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; 6E841DAA09FE06910D94447D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; 6E9C1F4D69A9C99433DC67C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + 6EDFD21A4D0D6D021B1A3E87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; + 6EE358BE69152B76AE83F9D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 6EEECDA2EB328FB597208954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; 6EFC227515CACDE0F8664EC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F6F888BFFA4BB40DD71285E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; 7022B01ECEE7000DE6008C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 7055A19324581F9C3EAEA5D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + 708D35BBADD7FD88C484FA29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.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"; }; + 7250A7D7C9F17451B05EE51F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; 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"; }; 749854CD2D13BBBA500F353F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; 74AB51B6E97964B27B1CD019 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; 74B477DE4CFC95E20DBB0D91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 74D3E663989AC293FE3FF17A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; 75D038033B2083D5EFE620A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; 7620FF4A73742FD6AC1579C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 76646A8492CDF04455810FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.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"; }; + 77F017CFE86D86856AA32BEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 77F924936A4DD9FF9A594688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; 782E3434FEA190A986EAC816 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 791ADFB0FFAEE65058B6FC8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7930C2679AE77002474BD285 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; 799472026100D7BAE015F6A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; 7A029D97E723C7F1BDDCAA49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A10D05213E62385893405D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; 7A1EF5BA4CF8B3C2F8407AB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; 7A46778023CF61B3F417F9AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 7B006F5888E80E58D156C134 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; 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"; }; + 7C8E4D0F7F5A254EB4DB79DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; + 7D728E7B7E17FC9FC9D8C1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; 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; }; + 7E0C0094D27FC049B73D4C14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; 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"; }; 7E8B563CE147A7C733E6EFB1 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; 7EB8C7E000F0DDAAB4F47802 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -461,17 +582,22 @@ 7F171BE6BFAA1E3E2A9BED61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; 7F2BBAF79EB32BB9904A76FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 7FC89C1EEB42DE3C9628591C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7FEF05E29706A0C33EDB9F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 8001506F637B2516AAC5C0D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 803480FD5E7181E0D64FFC53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 805EB95DB4B8045064CE9ED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 805F27CEEC53F4E659884D7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; 807E7971CB75C806D7DB5DF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 8096923FA40246283C31519E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 80C227F27056B4D6A8398063 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; 80DA815945A9EAA060270DE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; 8102EBF90140E78193692AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; 814E0D982BC2A18B9BAF3E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 817458EEB2AF43DB2D5A054C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; 823BBAE97A02475F25E54F9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 828EA1C252192568B65E4F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; 82A390DEE5A3B2EFDF7A65E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 82FA0D2BA62A49F763BCF1A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 830ADB6740EF70992E71895F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8314FE695F91DA2FAB51920E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 83325A69170997E33D73770A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -482,7 +608,10 @@ 84494501A6148DAFE162650B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; 84ABA9491A70313AD6BF6F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 853D2D1ADD05C320052DD5FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85649497AD144FBDF5777B4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; 859E13C66F2193112084D1B9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 85A230F44406071130CCC69C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; + 861044C3728448B6B25CB084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 8632589E0C21E3B0A5DA0333 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 8683CDE5FD2DFCB2CFC8F410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 868955327EBBD0C2C2447DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; @@ -499,38 +628,51 @@ 897B10399D1CA882B5B98D0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 897C7B6FB012647ED8AB5D05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 89ACAEA951C470AF8683AABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 89C3618D7042317A6D883811 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; 89CBCB2D4660B56C1A939011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 89F5A5C12916F02E579D6394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A4A25946040DED54DB8F3B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; 8B155ED74D3D0EB7E890E421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 8B2C20F9BFC9AB506B610EF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; 8B539DB72CC92EEC7F96C8E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; 8B7C0F839098C534A7B4C725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8B90EF4A7D339D068596D247 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; 8BE44C96A60C5D9B9F503409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C105487633A9BD04FDEE50A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 8C123578D83CC46CF34147A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; 8C24F74CB23F1B82C80386FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C3A6351780E678334FA1406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 8C41F14688836355AC2077FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; 8C547C48DD5B3A854DBFF0F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C6A342773288620A8CC2598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C9C8D27FA0CBCB9C24651F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; 8C9D252ABA3CDDC81B33884D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; - 8D3FB0417A39CAEC03D44D73 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; 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"; }; 8DC827CCF543708CF729FED6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8DD9C11F5055343D3080A636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; 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"; }; 8EDD1755AEE1C95660A06BF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; 8EFB4EBA0836D5401B6D3DFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + 8F2EF92ED091245972E1D370 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; 8F7B1F20EA4F07C9D37D5260 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + 8F8A72C3D7AA0B38E12FA983 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; 8FA02AA8698232B53D4BFDBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8FCE0A1FBED6E7511E298D08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 8FE4E307BD23E6646F1BE585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; + 903E09E5914713B9734981FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 90841E3B0B2548A5BD66F15E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 90B6C81CFB0DE386C673F62E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 90BE189372A13866896CE817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90DB8ED076EC671C8F810FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; 90FEA7DB5EFC4E9B2E933056 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 911B308D5222BDFD954DBB32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 916001804771DF943551AAEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + 917C8418FD1089B4ACB06D9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; 9183733C2B13EDF43435FE1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 91B991143655810C26644D50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; 91CEFA76775CD035E2F9200F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -538,11 +680,14 @@ 9211B175E63E325D4FF6B789 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 92172AE93327D4F8008A0AFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; 926063234BAFA6D29366E43E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 927B5C10C6D4913EFC1C80C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; 92BB22C929A3A76CE6F29C7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 92DF4A828DC5CE370E36044C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; 932126F914644642A8244676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 935BCEB2593A51E53187ABC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; 93667813A711750790201F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + 937DCC3A0E911706E1B2742C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; + 93C5E11FE57008B569BDA465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; 93CC262389F622F8AB79CA60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; 941219816EB5D7A2231019FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; 9424FDB8C564B73250B7B20A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -551,16 +696,21 @@ 94FAC7EB87C8EBE67F68AD60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; 95412F7C12937CC7AC22ADCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; 95440A40B2FB3CE5E09D57B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 95DF34F4FF6C3D63BB34F2E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; + 9680AC828AD62A58BF0C0D86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; 9692128AC24CF671A9C0457B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + 96A13AFB02324F1E7F470D3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 98474FB10BB003823EEC8759 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; 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"; }; 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"; }; 99A3B01A6398623F40C528FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; 9A4FCF66FF42906A7A2187A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + 9B215E13E2498C24CB39448D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; 9C05D3A33B0D7B6B2EA43C7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C17E6FC9A4D7C8734800649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C3E556586147F27B4EDC982 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -574,7 +724,11 @@ 9DC4092F746AB0F5A73D929D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 9DC79DF0A43DA6B06B7B1F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; 9DCDB2CA1444618C4054A114 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; + 9E14FDAEB35F67D8E8EFB6FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + 9E31D80C5C16981C0501B807 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; 9E44079E499D4F4ECE55354A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9E76B00AD10BF7D42C22BFE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; + 9ED3D3507C8D5154201D9860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; 9EDED988A5A94805BEF1EBF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 9F522CA5A8E82BF69E7403BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; 9F5FD873C8192683DB089745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -582,7 +736,9 @@ 9F7AC745AA0588C821A014D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 9FBAD3EFE40ACEB06B155A09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 9FC1BB191F1EB657A181866D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + A00C14748195EFE35E397922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; A010D6D997B85A393165DAB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + A04FBFD5D087DCCF2FB1CFE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; A058E50779879A7D9A813A4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; A0850087D0288361E552BE9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; A089B7E3CEB10B2BB1147811 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; @@ -593,18 +749,23 @@ A2208C87019608EBF813EAA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; A23966DF7E681FA878B27B92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; A281FFA1C7E3AFB8246FD577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A289B13A3036D2A5873EFD10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; A292587AA4633141BA378473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; A3D0C263C912566AECB57679 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; A3E01235E4AD9DBE2405F792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3F10D6226F279E9195F2CB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + A415044DB2E87AAB1BB9BEF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; A42A97232CE0593D8D989FC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; A4F394FB62E70E3A3A02E4C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; A50AF1519D78428A8DCD91BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + A52B29340D8E551C2F6FBC43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; A53228473B7F7BCF946F15DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A54AED02A4929ED6EB693CB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; A54B5504235B3324635B1DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; A587862CF3C96C6C648216A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; A5CEADBA23491564FEB6D4EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; A5DEEB6DADAA5AB2CF41A880 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5F3E87B9361E6389A25A7A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; A61AD5378601F9DDEB8DED03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; A67C5701B28E64F889A92422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; A6AD00FEFB31915AB0F2798F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -612,36 +773,49 @@ A782FF0CD79464F3E015647E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; A7884EC24DD007D6232DB822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; A789D75FEFFFB7E8E835FBAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + A791450F95A15FB432769403 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; A7B28AD8606992FBE04C527C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + A80AA19F5083EC5BDEF5E417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; A826C1C083678A4E9279C118 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; A8A277CAF10A3FEB258174C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A913E7A4100153D15CBC47E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; 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"; }; + AADB68C97C1F39768E3D924C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + AAE075C201CBCF07825F07D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; + AAFBA68DC2DB709AC039346F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.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"; }; AB3C130E565756182528752D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB786C573FBF709B98321DB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + ABA8B74D6DC0E1544A4D24FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; 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"; }; + AC45A648F17635951379821A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; 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"; }; + AC8FE23E3F3C0C18FDAE8E33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.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"; }; + ADFBB7D36E7A2FF616C6B2C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.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"; }; + AE853FCAAC8C380071EDA166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.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"; }; + AF98DFE375127F293E949D80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; 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"; }; @@ -665,9 +839,11 @@ 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"; }; + B4F5CD3ACB818E688C365FA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; 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"; }; B529A9B433CF3B41A2497D46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; B54A14A497368A580B7D9AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + B56A0A29682E7C17CE14859F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; B57640F7EDADCFE17719EE68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -676,14 +852,20 @@ 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"; }; + B6B37233BE86BE28409C1255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; B6BE7EF02190070336E63E89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; B6C7114A31FD6B1DEB08346F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B6D9BF4B75784D01B7CDE1AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; B70E52FF75D44F0F1F0B31D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + B72D32D9578948EBBC20DC1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; + B764A244C64D4CDDB3991417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; + B7878514009D61BB165DCCC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; + B78917F098265059E77030AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.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"; }; + B85BFCB6F22364760F60BE8C = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; 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"; }; BACA17304411EED8B219D2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -702,9 +884,13 @@ 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"; }; + BEEB4210417263EB4723C391 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; + BEFEA587B94DE4094556ABA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; 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"; }; + BFD88630D554067B96B4AB0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; + BFDEE9E0934E275F6989EDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.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"; }; 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"; }; @@ -713,18 +899,24 @@ 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"; }; + C31F95C0A3825E7922C3687E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; 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"; }; + C5627477E4D4FBD25C05A458 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.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"; }; + C5DE05B18A4D17AF152AC70D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; + C5EBCB7A0255C5E7D98E05EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; + C61D5926ACA9F057558E078C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.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"; }; + C78802588ACBE09BF9FAF1E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; C8A5AD5503F33596C4147ACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -733,30 +925,38 @@ 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"; }; + CAAAFD026B5D158E467894CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; + CAF2D6685386F8B9428232F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; 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"; }; + CBE5E39B8775FEDC3EF3EBB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; 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"; }; CC0B7738BD544B955D81BF1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; CC96E8E65FDFE4376F71D7B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; CCA3065F893912F3E3625C13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + CCC0F0157CD640EB6B82C2B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; CCEBEEF441D3FCFE411AAAD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; CCF8FB3EA0246D83E3D2E760 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; CE19308F9CD1B8F05E6EF6C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; CE4F0A27AAADFD53316A17BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; CE75A83F0AA70025C36151B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + CE79CB56198479F9C4AA1E25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; CEC05A60A0E19B07F6A3CE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; CF4DDBE1126E8C8C3A37DC78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; CF4E3CDCC9837C7E52197686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; + CF772F25DF54B82772AFCA49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; CFF4FDD0FC27C36843B20BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; D00157FA3D14BFECB7FE7232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; D01D74EE9A00B0813B00FDD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -770,27 +970,31 @@ 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"; }; + D1594DAC1F1CB060F2538F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; 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"; }; - D298D1DE4D2FE281CA30910C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.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"; }; - CD7181BCA81219BAF2B182BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; D219A10E7C41110A1AA4FBB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + D263FE9723F526617E111337 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; D26821159E190113FEBF99BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + D274494B37F6DA67FD5D6476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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"; }; + D47B5E8CF795D2B106A6A65F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.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"; }; D6D37626671B0FB1CE8505C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; D6ECAF8B2A4E8B6C97B89FFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + D74DEEE99CFE7B2FFD474A5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; D763221FDA235D75039D4C46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + D77B700B6C68C6055C26376E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; + D77F2823246C592B8524B444 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; D7C8F6360C455C0F76E35978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; D7E612935BA192BF5D24B9A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D80EEBBDEC364958AE05AFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -799,36 +1003,46 @@ 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"; }; + DAB2D04E8F63813C64FA4B90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; DAC4442F8C2F142270E92349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + DADE4778EF06AAA298747034 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; DB1C6393173661404927B4B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; DB4AC9766332105669D51C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; DBB34599E380FB1F37A28B27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + DDAFF654664C571998E6C0D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; + DDB7CF1A01382FDD2636147F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.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"; }; + DE2D7E4CDC8E5826FE64552F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; DE4C0926D2EFA7649BD3AAA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; DE4DC23FAE4C420D489ABD17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + DEBD2C71B20E4E508BD03F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; DEEA654926310D5B37A191C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; DF6D66D2FE017EE82E86C02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; DFAD61F886BEAAAE535BBF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; DFC58448ADEA2B5D2FF5F8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + DFCF62E1A54A127A5E859567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; DFD9E836DB24F4DE75A94C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; DFFE4AAFF7DDF01BFCDCD86D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; E0A44ED2A465E22D93420F88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; E0EF847C7052C5FFA2A7CF8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; E0FCA8F19A081CE941B273FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; + E102589F0ED46EE419D9E011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; E109BFE0F2475C97F17CA5AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; E13860F17C7FC399EF28EC1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; E1868998BA7B20DF7ED0B5E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -840,8 +1054,10 @@ E2E3FA0BA7B7C8EB3C47B642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; E323EAC836E3B5BB29B6AE06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; E40FB3B047D27337B9A9CACA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + E41E7B0343C3C776BBA9AA4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; E443717EB8EC16A0B1814BAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; E4D5FB6A6F806D9400BBF344 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + E53D5A8310DB45653DFD0CE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; E57F103FCFDEE26617E3F8F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; E587838C598E06E7959F2A31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; E5918150BDBDBCC3060C9FB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -854,22 +1070,33 @@ E6E99E6E9BB715D12B35AB4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; E70034BF5EF1721B245C3079 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; E7488E12D0F3300AE33E0B9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + E75F722F65364D9AE4AEB3B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; E7EC04A96E1CBFA9428A4B80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + E822AAEEB411787234978545 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + E892A32133E6FDB385135C55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; E958ECCACCCE70690FAE58B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E972515A102857BAF9D6F49F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; E973909AF8AFFB788A250CB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; E9A4C91E94B6D096BD8217D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; E9C249D9F38B0DFAF0823653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9D3160D792D678CF1065F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; EA13B2FC256C7BCF0900369E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + EA1D0B4AE0268463A7FA374A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; EA5874F225E76DED69BD7132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + EA84821BDA22083FD918BE14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + EA9C7C5272C6DBD6E0A95232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; 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"; }; + EB09F0E535E8D5AA114A5CB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; 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"; }; EC0DC30DBDE17808F8F213DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; EC11D53A4118E15738CC70BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; EC9898734E8AFE5215705476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; + ECBB04DDF8EF80E2F7B1C858 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; ECD7A374DADD305C66141AF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; ED5E6273C8910BF1F8CBDB9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; ED773069A737B4877D02DD90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -877,45 +1104,60 @@ ED8032A884A03337DAA1D453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; EE577E6ABD70D104CD83186C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; EEBBCD11005AE9AD87B36F32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + EED268E6FDBE8B9AFCA52E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; EF8B8FB4B02133457562E1F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; EFA1E7B282EF67800F4766AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFE188681662EAF09675769B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; F0B46A9181B1707349A20399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; F0D54DDE8C2AD1D018A61FDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; F0E4B5B18AAB82215F5C6AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; F113DFEACAF2D8230F0DF5E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F1340F07AE08BBB477720091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; F16734BCF880A8180C06018D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + F16D0AF6B7D272E5E562CAA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; F2040E4B76F8783B471CECED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; F20F182CBEF008AA1B1BB52A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F22781915698D59D4CBE984D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; F233E88B6F2BC6906819AE6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + F234801CF62696DEF4A21F5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; F257AD1B82D5595FF9C3F1CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; F26953C1E056357A3DFDF35C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; F2A1FCAC1825462CD568D442 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; F2DDCDF62D2587FB565A442A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + F2F9BAC052A79DAC207E1560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; + F3004BF0C4967DC5EEE2B50F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; F30876EE30580650FD17B801 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; F3154C77D5DFCE8D71084F23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; F33B267B702055F8CE27BDB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; F34126F005008CBB1C42B68F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + F34B8B8DB302D22B746F0545 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; F36959B167E88B220CF9D8FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; F36FACCDB4B94286F6042490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; F382E14FAFF5CDEBFEA81B00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; F38F8132499ADBD3344E8449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + F3990A436809D83B8770B52D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; F3A0B8ADF39FA8F15A6D8E23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + F3BBE70DB658AC4EF2DCB577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; F3BD246F4283B08B1E21C75B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; F3C52FC514B9B3A2DFD7E3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; F4454839EB930FC98D63AED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; F49471EE0681DBD1115D927B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; F4A977844BD67D5C2BEFCDDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + F4E836F5CF376E225B70DA3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; F4F618373A81FDC73AB27A91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; F5091F49E07C6DF8F644BAF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; F64C6AC0DC0376A80A74A82A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; F65A6A3350F6251E8BBF8CF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + F6BE9CF7A96F7758CE2F8FE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; F6C977C654069F64F4AB869D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + F72711E343DE3475EF3AAB47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; F73B6D934AEC9887D9EBB5E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; F79ADEBA7B305354085FFB8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; F79CBA9439D4CFF8351B2A3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; + F79E9A8B111F625D36473170 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; F7B6DBDC7439C90B4E01752E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; F7E781AFAA34B511C812896A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + F7FD131BB62A47C1B54C1A5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; F831631700830F81994D9980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; F83392D9825422AF0DB638D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; F838183EDFF5937C2879EE41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -929,11 +1171,14 @@ FAB998A70437EE4D89CABE2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; FAC04A1B47255DA7A6397737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; FAF4C6D8D1D59932F12DF6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + FB039E08386C2BF75CBECA53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.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"; }; + FC246B5E5E055E42FF1AE0AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + FC7B211683AB97C5A8EDA971 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; + FCA3F78CB359BCFC7DE949DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; 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"; }; FCC9F258531F00BCD91C63DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; FD05E73E3F022E08D70B9569 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -945,10 +1190,11 @@ FE1E97C9233F2D472C7C6128 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; FE41044F09ABE0A6BC0F9293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; FE55A1DFB90A1A5EF37B1741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + FE6F235B759DD3DB37F6EE0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 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 = ( @@ -956,13 +1202,15 @@ F7B6DBDC7439C90B4E01752E, ); name = Source; sourceTree = ""; }; C69760E59D600CF000D468E8 = {isa = PBXGroup; children = ( 9F41B5C4D3F9CE9C17373AB3, ); name = AnimationAppExample; sourceTree = ""; }; - 56E5D80A2B5A0AB691ABB90D = {isa = PBXGroup; children = ( + 504C5FD980086802734876A7 = {isa = PBXGroup; children = ( AC2AE970951E20A199938AFB, 7A46778023CF61B3F417F9AC, 6D0D0EC5B978695152A0B84F, F34126F005008CBB1C42B68F, 03D03AF17C5E899ED9481518, ); name = buffers; sourceTree = ""; }; - E4315566C92B24C51C6EC8DB = {isa = PBXGroup; children = ( + 954422ECF78DEB8D680DF3B3 = {isa = PBXGroup; children = ( + B6B37233BE86BE28409C1255, + 481E7AABBC1ECB45F5A6ECE0, D64B71F992FF01CB0EE89641, D38FAFE2A9C48C4914A61F03, AB03D2BE2D83E937C336070C, @@ -972,7 +1220,7 @@ 403453363C4785FD451A9BA1, AFEC177C21FC9D36695F4750, CCA3065F893912F3E3625C13, ); name = effects; sourceTree = ""; }; - 7B8B087CBBE62784628FDD95 = {isa = PBXGroup; children = ( + 9AEA4031FA93559C26C0C07B = {isa = PBXGroup; children = ( 9F5FD873C8192683DB089745, 5358DE9C9773654731E6F615, 8DC827CCF543708CF729FED6, @@ -985,7 +1233,7 @@ 8EDD1755AEE1C95660A06BF2, 0A821F49B23F52A887F9510A, 6B3FF870CA756828E00346EF, ); name = midi; sourceTree = ""; }; - D16FCF8AF82902B7A98E0FFB = {isa = PBXGroup; children = ( + 286F41BE52AFF5A8C6DFEB3C = {isa = PBXGroup; children = ( 040A31152B3C4BF51493F937, B5871062E8509DE7873FD083, F79CBA9439D4CFF8351B2A3C, @@ -1021,19 +1269,25 @@ 301AF9BA843B1955EE001C98, B5142BDA7EBA15F2DB1BB3FA, 3900C9B11914C94DFA1F8C33, ); name = sources; sourceTree = ""; }; - 43FFCEB9A2A3784C7EEF5460 = {isa = PBXGroup; children = ( + D852EDF8ED081F8469B475F6 = {isa = PBXGroup; children = ( 9D91916A769A7E2967368795, 8C105487633A9BD04FDEE50A, ); name = synthesisers; sourceTree = ""; }; AF12826F0B38E7FC1176C648 = {isa = PBXGroup; children = ( - 56E5D80A2B5A0AB691ABB90D, - E4315566C92B24C51C6EC8DB, - 7B8B087CBBE62784628FDD95, - D16FCF8AF82902B7A98E0FFB, + 504C5FD980086802734876A7, + 954422ECF78DEB8D680DF3B3, + 9AEA4031FA93559C26C0C07B, + 286F41BE52AFF5A8C6DFEB3C, 1F2A9A2A9B959DC1DF903064, - 43FFCEB9A2A3784C7EEF5460, - 8DEFACA6858D254B4202AF12, + D852EDF8ED081F8469B475F6, + FE6F235B759DD3DB37F6EE0E, + 3B9903B0A0252D106C92CAA9, + C1070E62B763F1CCE0BB18F0, 3B9903B0A0252D106C92CAA9, ); name = "juce_audio_basics"; sourceTree = ""; }; - 3B35E0DA3DB0B1509311FBDF = {isa = PBXGroup; children = ( + BB0698B6AAC3B36A1E841F8C = {isa = PBXGroup; children = ( + 41C74B59D9B392117441DA2D, + 35A7FD6EFDE29D2EBD7DFCB8, + BDE0C2D342D03C389560501F, ); name = "audio_cd"; sourceTree = ""; }; + 99E4137D71D7430705B059BF = {isa = PBXGroup; children = ( 884AA1209A726AEAF76E31B0, 3D24784AEA7726A64A340625, 4A1671B78E589A865FEA3CB1, @@ -1041,22 +1295,13 @@ B6173E37D15602163B7C0441, 4BF9949E0C30EA64B16004BE, 04C105672DA409FE8593DB04, ); name = "audio_io"; sourceTree = ""; }; - D487CFDA56FA408A04203A20 = {isa = PBXGroup; children = ( + E0E57524E1B7296B6BEB77A1 = {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 = ( + 92DE9B76516065C8553CF754 = {isa = PBXGroup; children = ( FCA9526394A63B33405F8E58, B1C799A152189A282E6CAC76, 2A098563977566E9A9E8CD7E, @@ -1076,31 +1321,169 @@ B2D42B884600CE62E3253DA3, 5719A93B0F6AFE95FC49B673, 73FF82BCB568578396E88C92, ); name = native; sourceTree = ""; }; + 68279D6145F0510F350AE746 = {isa = PBXGroup; children = ( + 814E0D982BC2A18B9BAF3E38, + B6411B03A6D0185B11DBDA15, + 911B308D5222BDFD954DBB32, + DFC58448ADEA2B5D2FF5F8D3, ); name = sources; sourceTree = ""; }; 270A86F6A3CE512F0B3EA8DC = {isa = PBXGroup; children = ( - 3B35E0DA3DB0B1509311FBDF, - D487CFDA56FA408A04203A20, - C3D887B6F1284C2394FD72D3, - 09D6686EACFD43021C0E69F3, - A62DE30F63767AFA483DE8C6, - 442199479D1499B6A44BD150, + BB0698B6AAC3B36A1E841F8C, + 99E4137D71D7430705B059BF, + E0E57524E1B7296B6BEB77A1, + 92DE9B76516065C8553CF754, + 68279D6145F0510F350AE746, + 141A0AD892E37D2DB6416E6D, + B1A41C6141726A390E2182A2, + DD19124F0A7FD43F31BDEB87, 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 = ( + EFE3B6E9F6181EB2EBADAF23 = {isa = PBXGroup; children = ( + 927B5C10C6D4913EFC1C80C3, + 608567E785A52AE278561F28, + D74DEEE99CFE7B2FFD474A5F, + 861044C3728448B6B25CB084, + 1FED186C635D674888C8F6C7, + A5F3E87B9361E6389A25A7A9, + 39E53E65D8D6B3B528402A9E, + 03D57736DBD07F902FA47ACF, + 18F86872037F25906880DACD, + 7E0C0094D27FC049B73D4C14, + 27B5A75B11DE0CB6BEA24EEA, + 8F8A72C3D7AA0B38E12FA983, + 0A554122B71623B662AABEF5, + EA1D0B4AE0268463A7FA374A, + 5FF5374AB0A2ABCD55C5C0F3, + 36738E65C45A4D2A81C1C6F8, ); name = private; sourceTree = ""; }; + 8E41C01EC7EB0007CEC394FD = {isa = PBXGroup; children = ( + 85649497AD144FBDF5777B4F, + 3196F73AF8AA82512A48A1CD, + 8DD9C11F5055343D3080A636, ); name = protected; sourceTree = ""; }; + E305EBE355AF1FAA97B9E6C6 = {isa = PBXGroup; children = ( + EFE3B6E9F6181EB2EBADAF23, + 8E41C01EC7EB0007CEC394FD, ); name = include; sourceTree = ""; }; + 38FE21261AB22287CB1CA3BC = {isa = PBXGroup; children = ( + E305EBE355AF1FAA97B9E6C6, + EA9C7C5272C6DBD6E0A95232, + 5C3608989A5B27223F5BB52F, + 0851EA97F442EDD19AC9C6CC, + C5DE05B18A4D17AF152AC70D, + 205748B1C1A6DB6C78397CAF, + CAF2D6685386F8B9428232F2, + 13EEAF61D52D87BE7215AB36, + CF772F25DF54B82772AFCA49, + 2FBB170783D707DD566701B3, + 7930C2679AE77002474BD285, + E972515A102857BAF9D6F49F, + E53D5A8310DB45653DFD0CE4, + 17B756D0BAE2EB9A24F6795E, + 317A4756151F7BFA715E853D, + 368FE253978B01A52C9FDE35, ); name = libFLAC; sourceTree = ""; }; + 3233A6FB4D2CC9459C51C1E6 = {isa = PBXGroup; children = ( + 38FE21261AB22287CB1CA3BC, + A415044DB2E87AAB1BB9BEF2, + 68C320330FC80F2D718FCB92, + 5E4173ECA316E90CD7DE4378, + 3EAE5CBC2043F3AD35BB52A4, + 9E76B00AD10BF7D42C22BFE7, + 5BCA443333E6382B09C70FE2, + CAAAFD026B5D158E467894CF, + B85BFCB6F22364760F60BE8C, + E9D3160D792D678CF1065F8B, + AC8FE23E3F3C0C18FDAE8E33, + 422D4036A107045528872CB0, + F34B8B8DB302D22B746F0545, + 46B0C80A50F637DEF7364C51, + F1340F07AE08BBB477720091, ); name = flac; sourceTree = ""; }; + 3A65E823242804B6DDB17007 = {isa = PBXGroup; children = ( + DFCF62E1A54A127A5E859567, + 517AB84B750F6126EC985703, ); name = coupled; sourceTree = ""; }; + 13828875FA872E8A1E56AC84 = {isa = PBXGroup; children = ( + 53D0045E2DBBC395CF6402F8, ); name = floor; sourceTree = ""; }; + CD6AE0B5A362B3AB9D8FF94A = {isa = PBXGroup; children = ( + DDAFF654664C571998E6C0D5, ); name = uncoupled; sourceTree = ""; }; + B48FD0EE8F4194806F5C9E5F = {isa = PBXGroup; children = ( + 3A65E823242804B6DDB17007, + 13828875FA872E8A1E56AC84, + CD6AE0B5A362B3AB9D8FF94A, ); name = books; sourceTree = ""; }; + 580E1465FF72D340BAF9405A = {isa = PBXGroup; children = ( + 7A10D05213E62385893405D3, + C5EBCB7A0255C5E7D98E05EC, + 85A230F44406071130CCC69C, + 9B215E13E2498C24CB39448D, + F72711E343DE3475EF3AAB47, + A289B13A3036D2A5873EFD10, + CCC0F0157CD640EB6B82C2B6, + 8C123578D83CC46CF34147A6, + 7250A7D7C9F17451B05EE51F, + DEBD2C71B20E4E508BD03F6D, + C5627477E4D4FBD25C05A458, + B72D32D9578948EBBC20DC1C, + E102589F0ED46EE419D9E011, + F2F9BAC052A79DAC207E1560, + 8C9C8D27FA0CBCB9C24651F5, + 3E93DF974223FF9B7F4EB50F, + F6BE9CF7A96F7758CE2F8FE3, + 817458EEB2AF43DB2D5A054C, + FB039E08386C2BF75CBECA53, ); name = modes; sourceTree = ""; }; + D6528552507052D9573F264D = {isa = PBXGroup; children = ( + B48FD0EE8F4194806F5C9E5F, + 580E1465FF72D340BAF9405A, + CE79CB56198479F9C4AA1E25, + F234801CF62696DEF4A21F5A, + B56A0A29682E7C17CE14859F, + A00C14748195EFE35E397922, + BEEB4210417263EB4723C391, + 4105B30D7A5108B98918EB09, + EA84821BDA22083FD918BE14, + BFDEE9E0934E275F6989EDD2, + 8F2EF92ED091245972E1D370, + ADFBB7D36E7A2FF616C6B2C3, + AAE075C201CBCF07825F07D7, + 32C160FB4BDC7D7888B779DE, + 708D35BBADD7FD88C484FA29, + 28E8F98D4DF43FEE13C53FD2, + E41E7B0343C3C776BBA9AA4A, + 6AAA99E0708FEBDDA79F567C, + E75F722F65364D9AE4AEB3B4, + F4E836F5CF376E225B70DA3F, + AADB68C97C1F39768E3D924C, + 90DB8ED076EC671C8F810FE2, + 4A2604F9DE1CEA003E97D270, + 1728E266F184270B8F24FD47, + 9ED3D3507C8D5154201D9860, + 2FCD0627F5182FEDB371978E, + 69C81DA805F277342326FDC1, + 937DCC3A0E911706E1B2742C, + F3BBE70DB658AC4EF2DCB577, + AB786C573FBF709B98321DB0, + AE853FCAAC8C380071EDA166, + 2CF871939F8260159FADDA45, + 76646A8492CDF04455810FA4, + 6EDFD21A4D0D6D021B1A3E87, + 217FE57E823D8A19ECEDAE1F, + 2D35965AD2A724CF8E48503C, + BEFEA587B94DE4094556ABA3, + 494C5E1F63C8058770C912A9, + 7055A19324581F9C3EAEA5D0, + 31835ED2E5FD847241731C4E, + 9E14FDAEB35F67D8E8EFB6FE, + 1D13CF058F072BCCAAD591E2, + EFE188681662EAF09675769B, ); name = lib; sourceTree = ""; }; + E0F0255AA718955341F1A8B8 = {isa = PBXGroup; children = ( + D6528552507052D9573F264D, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + F0A358F593F24D7F72179357 = {isa = PBXGroup; children = ( + E0F0255AA718955341F1A8B8, + F7FD131BB62A47C1B54C1A5A, + B7878514009D61BB165DCCC8, + 54503A34758AE7FF5DA79E4F, + 8B2C20F9BFC9AB506B610EF2, + DADE4778EF06AAA298747034, + 4051B00F3E03FD44594C1C6E, + 51305A11164C3ED4D0715AF2, + 44AE746144329C92CB1EC401, + C61D5926ACA9F057558E078C, ); name = oggvorbis; sourceTree = ""; }; + 61796396A6A12B8949C2B98C = {isa = PBXGroup; children = ( + 3233A6FB4D2CC9459C51C1E6, + F0A358F593F24D7F72179357, AB3C130E565756182528752D, 7F162E198ECF41AA895DB94B, 0BC32F0BB0B5393D25E09D00, @@ -1119,16 +1502,51 @@ 46885692CC5FDE30FC3649F6, C52FB75A0A93BB1397D1F962, 4B8102606812A7964CF8D9CE, ); name = codecs; sourceTree = ""; }; - EA0CB9DC4E43539FB25FBC68 = {isa = PBXGroup; children = ( + AB9B1F57594122FB7F0C125B = {isa = PBXGroup; children = ( + A76D6B94991D6E028EE8D1AA, + 0E70A4BFB2F7D1AB6188E72C, + CCF8FB3EA0246D83E3D2E760, + FF1CEE8501CA0F081EE0E3AE, + E1A153E1CA08E918F65C2B4D, + E5AF1F5B3F7F2B30606FBF24, + 853D2D1ADD05C320052DD5FC, + FE55A1DFB90A1A5EF37B1741, + B5C3814B2174E5127F42D721, + D1000A39817E9B771A4FB856, + 71DF518DE7A248B97C8E1C2E, + 6E6672E4055AC4F6D8688310, + 63E66F6D161941FE12465C29, + AD8417869D43ED72319C283C, + 9CC22BDB1B3FF427D6525D21, ); name = format; sourceTree = ""; }; + 3D1D1BD2FE20BB9994EDE6BE = {isa = PBXGroup; children = ( 5774E190A351EDF7B7AAB188, EA749A33B0E635F691A42C64, ); name = sampler; sourceTree = ""; }; D8CF14F51DEE1EA3625BFE6E = {isa = PBXGroup; children = ( - 72D396CB5861C9C441B3E360, - 23741F076745FB046C07FB1D, - EA0CB9DC4E43539FB25FBC68, - 768754211363FED3D2188C9D, + 61796396A6A12B8949C2B98C, + AB9B1F57594122FB7F0C125B, + 3D1D1BD2FE20BB9994EDE6BE, + 4A20A09E79DADE080F85F215, + 62B6E8B6269ADEF23D85FA3E, + 987AD2821B6419D5FEDCBD7A, 62B6E8B6269ADEF23D85FA3E, ); name = "juce_audio_formats"; sourceTree = ""; }; - 2127B046D500ADBA07220814 = {isa = PBXGroup; children = ( + 88F9AB2FA45B206B2A4483AC = {isa = PBXGroup; children = ( + 8741126A9694372E46E3FD32, + 381B8B8A9D5203E73FED79E9, + 83325A69170997E33D73770A, + F3C52FC514B9B3A2DFD7E3F6, ); name = format; sourceTree = ""; }; + 1FAD7DB997878A6172656F05 = {isa = PBXGroup; children = ( + A50AF1519D78428A8DCD91BF, + E587838C598E06E7959F2A31, + E6E99E6E9BB715D12B35AB4A, + 38EDF1EAB12A05CEE439AF23, + 36B8F6CFEEA3C1E2A0D09E56, + 2B02634F8DA8660ED42B0AEF, + F79ADEBA7B305354085FFB8D, + 66E854431C2BBDEE56EA43C8, + 0F67C59CB48583941B8656EF, + BB144FF841A99B08D5479777, + E652F16998FA1CBF2068C6FC, ); name = "format_types"; sourceTree = ""; }; + 17A57F61E7109806E3BDDCED = {isa = PBXGroup; children = ( EC0DC30DBDE17808F8F213DD, F84B68CA477E76A5C737EEB7, A61AD5378601F9DDEB8DED03, @@ -1145,24 +1563,7 @@ 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 = ( + 6D5517B20EB3DE007D177B03 = {isa = PBXGroup; children = ( 0B933FCCF82100D67C0B7D34, B7855FA22C92F7EE272A866E, 2E650C2E92EA2732B66070D4, @@ -1179,64 +1580,16 @@ 8096923FA40246283C31519E, 2C06A730EBB9E2A7F0F2AA14, ); name = utilities; sourceTree = ""; }; BA9B6357DA1BF8D6E3120176 = {isa = PBXGroup; children = ( - 2127B046D500ADBA07220814, - DB8C9872311AD82A6BE28BCE, - CD61E634B4D011ABCFA7E39F, - 6C9E51DC570947CDBD246B3E, + 88F9AB2FA45B206B2A4483AC, + 1FAD7DB997878A6172656F05, + 17A57F61E7109806E3BDDCED, + 6D5517B20EB3DE007D177B03, 202EE05322E0C4E9476F8135, - 3F0388309395C138AA68FAD7, + 302B824D60552827656F93AC, + 6E841DAA09FE06910D94447D, + AD405DDE86D07F955E27EBF8, 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, ); 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 = ( + 26B40C40FD3BF8F037A08BC8 = {isa = PBXGroup; children = ( 6EEECDA2EB328FB597208954, C7581A35068A3FB43786F4BE, 0C89377A44F26612524DA129, @@ -1258,37 +1611,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 = ( + DEF0C999DE1CFC6B29C7E7E1 = {isa = PBXGroup; children = ( 9D50B3000D941FDCB620068F, AF885F6112CEA5C2D7934AA3, 3FECAB20E9C0834676E2D9EB, @@ -1306,76 +1629,56 @@ 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 = ( + A41684C9543746818D10DEA6 = {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 = ( + EE37DA9A357A9EC465D0F2E3 = {isa = PBXGroup; children = ( + DEEA654926310D5B37A191C9, + 234D4927B398ED6E9B7B0E6B, + 5D43D909CB26D4A07A62A4F7, + D52EB7F089EF359EDCB199AF, ); name = logging; sourceTree = ""; }; + 7CE5332FCFB3EB9B5DC39E4B = {isa = PBXGroup; children = ( + BAE06A3352E39521CE5D94EB, + AD41400898312123119E987A, + A3D0C263C912566AECB57679, + AC42B6006776E1CE3A3A94A0, + 1B3CC8F665F23CB86253EBCE, + 4B8342C50F962C3F0AEE9830, + 8B7C0F839098C534A7B4C725, + B28F34DD7CABFD48B1EE3CCE, + CA025D4369C240E6FA30CE2B, + F16D0AF6B7D272E5E562CAA7, ); name = maths; sourceTree = ""; }; + 4C677909DAC5699AE810600E = {isa = PBXGroup; children = ( + E1AC4AB03052A8F3FF90FBA4, + 4BDEC9A0A09EEDC9D7BDB826, + 08EC867C77B028C336B79752, + 68097881EEDDE0FD03100CC5, + C0BA74AF0382D87B0E7BCEB3, + FAF4C6D8D1D59932F12DF6A7, + 8C6A342773288620A8CC2598, + ED5E6273C8910BF1F8CBDB9B, + 097237CCE04B9020343CB28D, + 61F0D5937E23A6A9EE8D479C, + F22781915698D59D4CBE984D, + 289C3977B67C1898AC3B974D, + 4A36826C3F710B92F0347A16, + ED7E17722B60B7D89188CE60, ); name = memory; sourceTree = ""; }; + 1FDABF0D7FBE7D269D5CC274 = {isa = PBXGroup; children = ( 9C17E6FC9A4D7C8734800649, 941219816EB5D7A2231019FA, + D263FE9723F526617E111337, + 8CEADF0BFEE8F08A0EB42CD1, BACA17304411EED8B219D2AC, 98D247A4824D969367AFD0FB, F73B6D934AEC9887D9EBB5E2, ); name = misc; sourceTree = ""; }; - A37D31A95DAA40A87611411B = {isa = PBXGroup; children = ( + 470F2F52C3212EF2B088C545 = {isa = PBXGroup; children = ( 6238740697CA1F0746776243, A782FF0CD79464F3E015647E, DC3B995E7B51FC0B76826C86, 8C24F74CB23F1B82C80386FF, + 3EF0B8611060C8AB86395920, C186342C3FFB4DE250556D70, CCEBEEF441D3FCFE411AAAD6, 823BBAE97A02475F25E54F9D, @@ -1400,87 +1703,204 @@ 7DCF49E37B27971A7E597555, 843BE36A2285F73A3FBB5660, 40F0E944D041D96F2DA4C6A2, ); name = native; sourceTree = ""; }; - 5CF56D8EDFCB4673E75EB0E4 = {isa = PBXGroup; children = ( - 8C7AB91AFCAF2F99D0E906B0, - 6898E6C42CC9520DC26F9FBF, - 01A8BF73C8C9D282E9E58D7A, - DD57AFE6D9A0218912B3DD93, - 7A970EF4CD9FEB460B82CAB2, - A7DDE84C6BDC340DFEAC5C86, - 0B90B115C693F54D5DF8E732, - 9E9C1F84B44CA85F5F472594, - B87CA56B966A881DBF190AE7, - C0BC501BDABAB02545D8CED7, - 314A7534CB4D49F809F0BF86, - 61DC39E8E45840C4E9876585, - 044DA355DFC10789F7E2671A, - 9EE7BD032D2E50758043A0FF, - 6BA585E8E2F21352228FF71C, - 246C87B7ECF29ACA118F0242, - A37D31A95DAA40A87611411B, - DA353BCF838D64BA343AC0E1, - 74302B51B991EA1775AEFC67, ); name = "juce_core"; sourceTree = ""; }; - A24377A329F782F1DF1A9E92 = {isa = PBXGroup; children = ( - 9C05D3A33B0D7B6B2EA43C7A, - 567D63D778B7A22C5D97F1C5, - 9C599E35E8A990404EEF805A, - CFF4FDD0FC27C36843B20BFC, - 29D35A5AB22E9443E0ED8F99, - 66897EA1FD2CDFB4CED47F8B, ); name = encryption; sourceTree = ""; }; - D05EA809F9DB6CFD6B0BFEC0 = {isa = PBXGroup; children = ( - 4C87C8EC24CE0EB64640238A, - 2CFC9FB97ED3587D7E0E4E4B, - 4228B8952E3FBCDA69C1948B, - F8EB370470B7928A80032F7C, - 69FB20BD7AC7C8099BC57663, - 420050F896FAA3A70C66B746, ); name = hashing; sourceTree = ""; }; - 752AB8D433735A877FC90255 = {isa = PBXGroup; children = ( - A24377A329F782F1DF1A9E92, - D05EA809F9DB6CFD6B0BFEC0, - 19DC6BDBA978DC67B9783340, - E109BFE0F2475C97F17CA5AF, ); name = "juce_cryptography"; sourceTree = ""; }; - 569E6262B6ED4B4C394F150B = {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 = ( + 32689C798CD9849D8498C2BA = {isa = PBXGroup; children = ( + 90B6C81CFB0DE386C673F62E, + 7639526FBF7A4F41961483ED, + 84ABA9491A70313AD6BF6F9A, + 6A22C06C6FE2B6B494B4878D, + A4F394FB62E70E3A3A02E4C7, + 8C3A6351780E678334FA1406, + 9E44079E499D4F4ECE55354A, + 2B57EB41D3962E3518B79FD8, + D6D37626671B0FB1CE8505C9, + DBFBBC58ED4A18EA9FE04D1D, ); name = network; sourceTree = ""; }; + 3D28E7CB6B486D4772A202D2 = {isa = PBXGroup; children = ( + 23936BBF807CCF5B1EEB9F00, + BDA5B0C014F6DCC188465060, + 6C502DF33FB5C14B8A67B25D, + 7E0DD06926DAC8EE93BD4F08, + 6421EA349C5D558114D36717, + 440A182A9068A8FBD011BE1A, + E5918150BDBDBCC3060C9FB3, + 47E70AF805B1C5C57566C4CB, + 52062790A5E737C8846A23A2, + ECD7A374DADD305C66141AF4, + 8945894D17A9407EEEE3B8BD, + 07E19FB806980020A47AA47D, + 803480FD5E7181E0D64FFC53, + B305ACE053406FF288E500F8, + D0AFF0790D81DB8F66173737, ); name = streams; sourceTree = ""; }; + 5AC942DDAA5A98462F87F477 = {isa = PBXGroup; children = ( + 7141B07690C1A022A2BFFBBB, + DAB059DA13868A81301513F7, + 07342D914D2A5AF6075CDB2D, + 3CD47BA1CFEFB637DDEAC313, + 03B79DBA48F6C4122DABEE90, + 67895BDE8FA4B2A01E3B8B12, ); name = system; sourceTree = ""; }; + 9D9B86698ECFD7FDA0B19D55 = {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 = ""; }; + 9000F35C2EBE6B2673A3A76F = {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 = ""; }; + 1C7A20146AB686E6673BCDE5 = {isa = PBXGroup; children = ( + 24363F41974FD7A3B634B78B, + E21A45155C6954C6E50CCAF6, + 4ADE9EFB6C41DE44D40C9837, + CE19308F9CD1B8F05E6EF6C5, + ED8032A884A03337DAA1D453, + 5CDC0F220B1EAE847D38D1DE, ); name = time; sourceTree = ""; }; + 52B4813631D83970525E1471 = {isa = PBXGroup; children = ( + 5878CA91071620345AB5B3C4, + 1E6EF8035485237EA92A1310, ); name = "unit_tests"; sourceTree = ""; }; + EC20B0818FC4D8DE9B56D8FC = {isa = PBXGroup; children = ( + 03E91AE23ECCF51E3AF9FC90, + D19705FE67C941DA74C31A9D, + EAAFB86397B191FF3713155B, + E40FB3B047D27337B9A9CACA, ); name = xml; sourceTree = ""; }; + 705A5FAF04934BAEFB27696B = {isa = PBXGroup; children = ( + 61A057071AB4D9DFCF977868, + 7FEF05E29706A0C33EDB9F7B, + 22F62D0B5A88067C39036648, + 96A13AFB02324F1E7F470D3E, + 5935FCA88455E5675C326F4D, + 61FEA56F09D171ED4D49E37E, + AC45A648F17635951379821A, + 66FC55F6928ED105352D513E, + A791450F95A15FB432769403, + EED268E6FDBE8B9AFCA52E6B, + 43CF643349DD9B40A9EC865A, + 0E777D12CBE485AEB6B0D953, + 52D99C150763173D47186EED, + 93C5E11FE57008B569BDA465, + 69615C623CE1E2F2AC630CF3, + 334D70B10F62FF31153FE332, + 89C3618D7042317A6D883811, + D1594DAC1F1CB060F2538F68, + F3990A436809D83B8770B52D, + 80C227F27056B4D6A8398063, + 7B006F5888E80E58D156C134, + 8B90EF4A7D339D068596D247, ); name = zlib; sourceTree = ""; }; + 12D91F8B56B572C4B0D40514 = {isa = PBXGroup; children = ( + 705A5FAF04934BAEFB27696B, + DB1C6393173661404927B4B7, + 6C03031AAE5A7C3372D4F1CF, + FBDBD56614E38BB5A5592D32, + 9F7AC745AA0588C821A014D0, + 3FAA5384DA8B28DEB5E57A5D, + DFAD61F886BEAAAE535BBF81, ); name = zip; sourceTree = ""; }; + 5CF56D8EDFCB4673E75EB0E4 = {isa = PBXGroup; children = ( + 26B40C40FD3BF8F037A08BC8, + DEF0C999DE1CFC6B29C7E7E1, + A41684C9543746818D10DEA6, + EE37DA9A357A9EC465D0F2E3, + 7CE5332FCFB3EB9B5DC39E4B, + 4C677909DAC5699AE810600E, + 1FDABF0D7FBE7D269D5CC274, + 470F2F52C3212EF2B088C545, + 32689C798CD9849D8498C2BA, + 3D28E7CB6B486D4772A202D2, + 5AC942DDAA5A98462F87F477, + 9D9B86698ECFD7FDA0B19D55, + 9000F35C2EBE6B2673A3A76F, + 1C7A20146AB686E6673BCDE5, + 52B4813631D83970525E1471, + EC20B0818FC4D8DE9B56D8FC, + 12D91F8B56B572C4B0D40514, + 74D3E663989AC293FE3FF17A, + 74302B51B991EA1775AEFC67, + B7DD84C8B05ABA4A6915E77E, + 74302B51B991EA1775AEFC67, ); name = "juce_core"; sourceTree = ""; }; + A24377A329F782F1DF1A9E92 = {isa = PBXGroup; children = ( + 9C05D3A33B0D7B6B2EA43C7A, + 567D63D778B7A22C5D97F1C5, + 9C599E35E8A990404EEF805A, + CFF4FDD0FC27C36843B20BFC, + 29D35A5AB22E9443E0ED8F99, + 66897EA1FD2CDFB4CED47F8B, ); name = encryption; sourceTree = ""; }; + 2508E0AE96D192C1CF613E7E = {isa = PBXGroup; children = ( + 4C87C8EC24CE0EB64640238A, + 2CFC9FB97ED3587D7E0E4E4B, + 4228B8952E3FBCDA69C1948B, + F8EB370470B7928A80032F7C, + 69FB20BD7AC7C8099BC57663, + 420050F896FAA3A70C66B746, ); name = hashing; sourceTree = ""; }; + 752AB8D433735A877FC90255 = {isa = PBXGroup; children = ( + A24377A329F782F1DF1A9E92, + 2508E0AE96D192C1CF613E7E, + EB09F0E535E8D5AA114A5CB9, + E109BFE0F2475C97F17CA5AF, + 33E449DEA1FC0CD4CAA3A829, + E109BFE0F2475C97F17CA5AF, ); name = "juce_cryptography"; sourceTree = ""; }; + B44515142E8B789A4E84B877 = {isa = PBXGroup; children = ( 09846FF5D2FFB83242A02FF4, B4769129853D2822D3DB38D1, FBC55E440EF1EA83FC0DAA5A, AF59758C300E586A7A6338D1, ); name = "app_properties"; sourceTree = ""; }; + 85C3F3271A3332BBA40442C5 = {isa = PBXGroup; children = ( + 616493921A733162495E7553, + 369C06F1DC7B3B7EB497D062, + F7E781AFAA34B511C812896A, ); name = undomanager; sourceTree = ""; }; + FDF01D725F94428D0A6CE568 = {isa = PBXGroup; children = ( + E822AAEEB411787234978545, + DDB7CF1A01382FDD2636147F, + 2E96848340E1C1B1095AC1F3, + 9A4FCF66FF42906A7A2187A5, + 2B1494112273ADF380C99FD3, + 73CA6BCA313B0239842F298C, + 7620FF4A73742FD6AC1579C2, + BAE67F224C7BE2FB0B21BEE2, ); name = values; sourceTree = ""; }; 670AA26A4F8D5CF111CE304F = {isa = PBXGroup; children = ( - 569E6262B6ED4B4C394F150B, - F3B535506E5F093EB8206BDA, - E4B1CF3D54E0B5547CDF9A87, - FB81D25CF4825A9A186B6790, + B44515142E8B789A4E84B877, + 85C3F3271A3332BBA40442C5, + FDF01D725F94428D0A6CE568, + 3987CB6362DC2021DB74C5F7, + D3B4D56DE3F90D9A445A47A6, + 14BB261A450674034E6080F2, D3B4D56DE3F90D9A445A47A6, ); name = "juce_data_structures"; sourceTree = ""; }; - A9C383106F234D341DE730BA = {isa = PBXGroup; children = ( - EEBBCD11005AE9AD87B36F32, - 868955327EBBD0C2C2447DB3, - C5C3838D0FDC65F44C9D1A9A, - F3BD246F4283B08B1E21C75B, - 3324210159E5C546DC5C2065, - 6804336FE1AB499087ACE437, - DB4AC9766332105669D51C1E, - 314E9338935BC33A1C468B3E, - AE381B9D6E2A4DA363C7DD3F, - 8C547C48DD5B3A854DBFF0F3, - A54AED02A4929ED6EB693CB9, - AB856191A15A8C9016D974D5, - CD965406DB7511EB187919E7, ); name = messages; sourceTree = ""; }; - F197372050DC8782B9089C8A = {isa = PBXGroup; children = ( - 7A029D97E723C7F1BDDCAA49, - F3A0B8ADF39FA8F15A6D8E23, - B6D9BF4B75784D01B7CDE1AF, - 7F2BBAF79EB32BB9904A76FF, ); name = timers; sourceTree = ""; }; - 59EA583396C9C41EDC94D5F6 = {isa = PBXGroup; children = ( + 6C72C7479EA3F242A5BA33A0 = {isa = PBXGroup; children = ( B32716A0B0702E6861726529, 2DCAC1795F1B47C592E65D4E, D7C8F6360C455C0F76E35978, @@ -1496,7 +1916,21 @@ DD73087B002B1DB6B90B666E, 4F5DED2313FC69EA518E5679, 1E020B9E032C076071700CEC, ); name = interprocess; sourceTree = ""; }; - C271DA3D9CE655C433BB4DD3 = {isa = PBXGroup; children = ( + 5B2171EA19BD6CA5F51EE315 = {isa = PBXGroup; children = ( + EEBBCD11005AE9AD87B36F32, + 868955327EBBD0C2C2447DB3, + C5C3838D0FDC65F44C9D1A9A, + F3BD246F4283B08B1E21C75B, + 3324210159E5C546DC5C2065, + 6804336FE1AB499087ACE437, + DB4AC9766332105669D51C1E, + 314E9338935BC33A1C468B3E, + AE381B9D6E2A4DA363C7DD3F, + 8C547C48DD5B3A854DBFF0F3, + A54AED02A4929ED6EB693CB9, + AB856191A15A8C9016D974D5, + CD965406DB7511EB187919E7, ); name = messages; sourceTree = ""; }; + E1F9B83198387699E91A32D7 = {isa = PBXGroup; children = ( 88CC8BC2EA8CDB378A03FADA, 3C89D04328C83D2FDD4E5116, 89CBCB2D4660B56C1A939011, @@ -1505,15 +1939,22 @@ 93667813A711750790201F8D, AAA3ED492FF78DBBF86DC612, D219A10E7C41110A1AA4FBB9, ); name = native; sourceTree = ""; }; + D0BF044C387628E5459CB417 = {isa = PBXGroup; children = ( + 7A029D97E723C7F1BDDCAA49, + F3A0B8ADF39FA8F15A6D8E23, + B6D9BF4B75784D01B7CDE1AF, + 7F2BBAF79EB32BB9904A76FF, ); name = timers; sourceTree = ""; }; 4F8A65DC4E47B7CB0DB88369 = {isa = PBXGroup; children = ( - A9C383106F234D341DE730BA, - F197372050DC8782B9089C8A, - 59EA583396C9C41EDC94D5F6, + 6C72C7479EA3F242A5BA33A0, B90F0A1A63C3408C288F6D8C, - C271DA3D9CE655C433BB4DD3, - 7C7B6D8D155687966F681F5B, + 5B2171EA19BD6CA5F51EE315, + E1F9B83198387699E91A32D7, + D0BF044C387628E5459CB417, + AF98DFE375127F293E949D80, + 63B031ABCF8DE5C94889823B, + CC0B7738BD544B955D81BF1E, 63B031ABCF8DE5C94889823B, ); name = "juce_events"; sourceTree = ""; }; - BA53DF8ABDA9DAD0F963BC8B = {isa = PBXGroup; children = ( + DF94474DAE1C4CA78B2A4F4D = {isa = PBXGroup; children = ( C7D5A8B28D0B7DE58629AA04, 5C8795B0DE5C729CA18FE89B, 2E2B14A2334528E4405AEDDC, @@ -1523,7 +1964,7 @@ 5A1777E116DA01B554C90CDA, 236F239E035044438B7CDFCB, 91B991143655810C26644D50, ); name = colour; sourceTree = ""; }; - 88878CC1561F13CF681027E9 = {isa = PBXGroup; children = ( + 97D5D28584E3A2A3E71A279F = {isa = PBXGroup; children = ( 326E293A87E18FC3FBB26B47, 2048DACF787A9BFE011041BC, EBC4E11E36D206EDF01E6EB0, @@ -1531,20 +1972,26 @@ 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 = ""; }; - A0E5437DC111A1AAB63CCD16 = {isa = PBXGroup; children = ( + EC02988BE509C5C76A33CFE8 = {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 = ""; }; + 48D9CCAD8DCD2BFF9779722D = {isa = PBXGroup; children = ( CF4DDBE1126E8C8C3A37DC78, 2CFEB3BEABF88B0C41D94E94, 92172AE93327D4F8008A0AFD, @@ -1560,30 +2007,105 @@ 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 = ( + 5B4872F9DD29D2BD708A2372 = {isa = PBXGroup; children = ( + 485C1D9C28D17770B7399FEB, + 511F0ED4686A5CDF53965894, + 2A274C78A4BC2FD805C2A87D, + F3004BF0C4967DC5EEE2B50F, + FCA3F78CB359BCFC7DE949DA, + 9E31D80C5C16981C0501B807, + 903E09E5914713B9734981FA, + 9680AC828AD62A58BF0C0D86, + 828EA1C252192568B65E4F9F, + 07692EE917BD6ACF5B036FC5, + 53E9183A7D2C19D8E8DA7EBC, + B4F5CD3ACB818E688C365FA5, + ABA8B74D6DC0E1544A4D24FA, + 180B93AC6A596FDFA77EB2CD, + B78917F098265059E77030AE, + FC246B5E5E055E42FF1AE0AA, + 0E275535C90338F332CD8235, + D77F2823246C592B8524B444, + 184435EF2480086A0A7BF276, + 95DF34F4FF6C3D63BB34F2E4, + 17192A48A70F35CE171FDA8F, + DAB2D04E8F63813C64FA4B90, + A3F10D6226F279E9195F2CB2, + 28B8895A15022079E271B140, + 3CC0E54CE49D129491D45C08, + FC7B211683AB97C5A8EDA971, + 77F017CFE86D86856AA32BEB, + 236A887259131B8CF3BFAA4D, + AAFBA68DC2DB709AC039346F, + E892A32133E6FDB385135C55, + 5B30C702BF301F8E1E2A3354, + 31D6707B0315015D0BA6FF40, + 2387979173D63484748E2D25, + D274494B37F6DA67FD5D6476, + DE2D7E4CDC8E5826FE64552F, + C78802588ACBE09BF9FAF1E6, + 8C41F14688836355AC2077FA, + 6970593C10473856B934E36A, + CBE5E39B8775FEDC3EF3EBB2, + C31F95C0A3825E7922C3687E, + A913E7A4100153D15CBC47E3, + A04FBFD5D087DCCF2FB1CFE2, + 625E1B8A1124F86D3CFBD31C, + 0B4CE49EB3CFD33ACBC91518, + 4A53D28A1FB12DBAB6C77D31, + 917C8418FD1089B4ACB06D9E, + 086A11F30E2412EF4110F049, + 2A08FD4A8C44BB4D5993C4EB, + 8FCE0A1FBED6E7511E298D08, + 7D728E7B7E17FC9FC9D8C1EC, + D77B700B6C68C6055C26376E, + 0927DF1FF6950211244F022D, + 44C9DB616A2F1C420FC03EA1, + 7C8E4D0F7F5A254EB4DB79DC, + BFD88630D554067B96B4AB0C, + 8FE4E307BD23E6646F1BE585, + B764A244C64D4CDDB3991417, + 3A578CFE4D5EE336348DE71A, + 1FCCE1AF54F1AFA518F85C8B, + 49E6799807136A81A9CB1292, ); name = jpglib; sourceTree = ""; }; + 332FA91C93A6FD04E3207E75 = {isa = PBXGroup; children = ( + 341945AF95DB1B16D532098A, + 1514D75CF4EA67A2F64FE115, + A80AA19F5083EC5BDEF5E417, + 23E602118BAAFAB6244C626F, + F79E9A8B111F625D36473170, + 1BC3D99638388BE91F1B7C30, + D47B5E8CF795D2B106A6A65F, + 604EC12730E93902B59C16BD, + 02E9D4C9FE1B21ED6D4AEB3A, + 82FA0D2BA62A49F763BCF1A2, + ECBB04DDF8EF80E2F7B1C858, + 6EE358BE69152B76AE83F9D9, + 39AF57BF1F78E78B6208C610, + 23DCA3094EE2BF851D7E59ED, + 091C12DBBC3D552962156366, + 3ED9D068A1EEB463738A8D67, + A52B29340D8E551C2F6FBC43, + 57E13FF3A580C1E95E92B3BA, + 125AF6A7546974E48B30715F, + 2E2B6E9E5339C2D235B34D2D, + 30F760D66EE00B970E5B8422, ); name = pnglib; sourceTree = ""; }; + 62EB3FD5B7BA4ABAC06FE9C8 = {isa = PBXGroup; children = ( + 5B4872F9DD29D2BD708A2372, + 332FA91C93A6FD04E3207E75, + 55D04DC4EA2F037CCD5DF9A6, + 244B9B4B8307A8C51207D457, + 4FB8B3386156F5702A20F7D8, ); name = "image_formats"; sourceTree = ""; }; + CD741F4463E5F5DB4D91A4AC = {isa = PBXGroup; children = ( + BE61994F6993AE76CBBF1EAB, + 6911E01E967839199E4C9822, + F994D2E0DF00D0A7765068EF, + 2807A00AE6C4539CD935F56D, + 94FAC7EB87C8EBE67F68AD60, + 9FC1BB191F1EB657A181866D, + 3966D734450E72F5682D2F06, + DE4DC23FAE4C420D489ABD17, ); name = images; sourceTree = ""; }; + 60955AEE98C1B73C10C2C196 = {isa = PBXGroup; children = ( 9D61877D2691EB78B2ED69EA, E9C249D9F38B0DFAF0823653, 8EA18CA66CABC9B5087DBDD2, @@ -1597,19 +2119,57 @@ C884444C380A4B053DB70D12, F36959B167E88B220CF9D8FE, F2040E4B76F8783B471CECED, ); name = native; sourceTree = ""; }; + D386B41DF50428DAE3963B06 = {isa = PBXGroup; children = ( + 610F820C21D914E9794A36EE, + 7BA2EA5655704E5358ABAA9D, + 62EA5E33A940F30BBB56E293, ); name = placement; sourceTree = ""; }; B78A49A94757B1530E3E282B = {isa = PBXGroup; children = ( - BA53DF8ABDA9DAD0F963BC8B, - 88878CC1561F13CF681027E9, - D5CDF20FB8932DEA5810EEE1, - 2C9A23E9808933102222B6EB, - A0E5437DC111A1AAB63CCD16, - FD44264B8C9437DCF22CE602, - 5BFD15FEDAA57F0C3DA99850, - 2925596DB97C0571478FCE48, - E62D8A1F0BDD00ABB882F291, - 241453DBDECBE0CCD5C096DE, + DF94474DAE1C4CA78B2A4F4D, + 97D5D28584E3A2A3E71A279F, + EC02988BE509C5C76A33CFE8, + 5E39CF9549F3CB3A1194256C, + 48D9CCAD8DCD2BFF9779722D, + 62EB3FD5B7BA4ABAC06FE9C8, + CD741F4463E5F5DB4D91A4AC, + 60955AEE98C1B73C10C2C196, + D386B41DF50428DAE3963B06, + 1F3461F19C4731FE0FF0563F, + 7022B01ECEE7000DE6008C0A, + 4B27A11ADAC0D9957BBBCD3E, 7022B01ECEE7000DE6008C0A, ); name = "juce_graphics"; sourceTree = ""; }; - 978A5EA7C209E97691DF1580 = {isa = PBXGroup; children = ( + ED44052C486384CAAE2EC0B7 = {isa = PBXGroup; children = ( + B189762C440B38635351E0A3, + 47E5FB5735D2EC8B039D2691, ); name = application; sourceTree = ""; }; + 4F4402F0541204E005857C15 = {isa = PBXGroup; children = ( + 782E3434FEA190A986EAC816, + E6BA3A4991987C4AB55F5948, + 93CC262389F622F8AB79CA60, + 02C14E49091F42750CD72F00, + 35E6F6325AF8463C076BA594, + 92DF4A828DC5CE370E36044C, + 0B7E069D09A7E46448EAE230, + F16734BCF880A8180C06018D, + D0B5B79546163A6DE73D0E2E, + F4A977844BD67D5C2BEFCDDC, + 5AAE605D230E253D4EAC195E, + 4408766B366713F55707B7A8, + 6BE6A3A14057591A3B4EF2C4, + CB4D4DA89BA649D3F1B2A645, + F2DDCDF62D2587FB565A442A, + B88950266CC4244E1B5394F2, + C088D98E527C1DA17B55A9D9, + B70E52FF75D44F0F1F0B31D2, ); name = buttons; sourceTree = ""; }; + 928B58D9B8FAF8D48F9B8F6E = {isa = PBXGroup; children = ( + 4F5D668DCEF2B622FD46073D, + 791ADFB0FFAEE65058B6FC8A, + 0DB1323191C133E48F07C062, + D26821159E190113FEBF99BA, + A0F2EAF085969426AC73C85D, + D4BA573C125944E2773D747F, + 0D265DF78A9FE5E669F76FC3, + 9211B175E63E325D4FF6B789, + 3C825AE2479611DA559164B5, ); name = commands; sourceTree = ""; }; + 0B4C5A9BE6E5E89A49489887 = {isa = PBXGroup; children = ( 2A59F5E28F97A435592E0B58, 4A31DFDB7AC330488B8BBEA3, FEA645D52C593ECCEA779BAF, @@ -1619,97 +2179,60 @@ 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 = ( - 46D8BC7303C892ED3F90E4DA, - 29710D5E6C3372E4480BF746, - 38D15A30D4658272F910A7AB, - D07A5399F09462A5D7041225, - 0060F61BFBCEF4E9EF8B3CC0, - 8EFB4EBA0836D5401B6D3DFB, - E13860F17C7FC399EF28EC1A, - B1B7C62CA04ACBAC6CD1C2AD, - 49794569C715BA919A01D72E, - FD5262552A90A9DFACB3C07F, - 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 = ( + F0B7D7FAA1BCEAF350925188 = {isa = PBXGroup; children = ( + CEC05A60A0E19B07F6A3CE6B, + 5BBC57B395B553CE08AC4BD7, + 94BFC3162953A5E7E192276A, + 2168310E25BD55C9A46499C6, + 92BB22C929A3A76CE6F29C7A, + CE4F0A27AAADFD53316A17BC, + D00157FA3D14BFECB7FE7232, + FD5E948C1A89B11770A20704, + B54A14A497368A580B7D9AEB, + 16ECB71D0D2C5C8BEFF4B4C6, + 8BE44C96A60C5D9B9F503409, + 6E9C1F4D69A9C99433DC67C6, + EE577E6ABD70D104CD83186C, + F0D54DDE8C2AD1D018A61FDB, + C21701DD3A4A2628C63CB70A, ); name = drawables; 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 = ""; }; + 45E1596ED96E521211C557E1 = {isa = PBXGroup; children = ( + 46D8BC7303C892ED3F90E4DA, + 29710D5E6C3372E4480BF746, + 38D15A30D4658272F910A7AB, + D07A5399F09462A5D7041225, + 0060F61BFBCEF4E9EF8B3CC0, + 8EFB4EBA0836D5401B6D3DFB, + E13860F17C7FC399EF28EC1A, + B1B7C62CA04ACBAC6CD1C2AD, + 49794569C715BA919A01D72E, + FD5262552A90A9DFACB3C07F, + 74B477DE4CFC95E20DBB0D91, + B0626D2C611D9E3DF1408BEA, + 90FEA7DB5EFC4E9B2E933056, ); name = keyboard; sourceTree = ""; }; + D139599CB4F61C7C13D8CD51 = {isa = PBXGroup; children = ( F4F618373A81FDC73AB27A91, 799472026100D7BAE015F6A6, 34A6FFC298D12BF9E4D55AA1, @@ -1746,72 +2269,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 = ( + 98E9D87AC6D6CBF72161FAE0 = {isa = PBXGroup; children = ( 0700C7069E1CF3FF8966C0E3, 4CF92825BE7B97AC268C2AA5, 56985D9599D0D1D00B42F95B, @@ -1820,48 +2278,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 = ( + 97C99D477F6782EA2CF7E141 = {isa = PBXGroup; children = ( + C9A25E2EF32224159B617D5E, + 0054E026B84A3A87020CCE48, + DA98B32DCA0DEF0113C22F9A, + 500F7CB9F45B62E46F4BBA57, + 595A9929C0E873C30AC9AA87, + 439FC260CD869E30210D98BF, ); name = menus; sourceTree = ""; }; + 43DF20E810CDDD6B066CC274 = {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 = ""; }; + C89842C62FC26883B0C753A2 = {isa = PBXGroup; children = ( 61E1C2246CBD45C5A1F40102, 8866CF798E9F84C49B9D7DCC, E1868998BA7B20DF7ED0B5E1, @@ -1878,27 +2328,107 @@ 562E99EE1A4B733B7F751955, 90841E3B0B2548A5BD66F15E, F95533D725E548643CA584D7, ); name = native; sourceTree = ""; }; + EAC8327C10490F437D9AC007 = {isa = PBXGroup; children = ( + D5EC3B41088855C3D481A73E, + CD3A68C29B7A733E5954BDA3, + 76F1A69F15F53D17C632A644, + 14AB997C7EB22777C1EF533C, + 51026A3BE98FD70FD916CF45, + D3C1097E92146B596194A067, + B316291E570F37785C40FE88, + FA2DB83279928FFB76A4BC6E, + 4E3C26EE8C6F996F207F0C32, + 1DE0CF80B807A4A702DC68BD, + 21D31B64BAD35C6C8E8E8FC0, + 29215FCE04DC4D267FF25E6C, + 412D5D6AA4018C8DF59AB741, + 807E7971CB75C806D7DB5DF2, ); name = positioning; sourceTree = ""; }; + 3B8BC3B8ED3559B87D08E5A9 = {isa = PBXGroup; children = ( + F20F182CBEF008AA1B1BB52A, + 0C61EC70BD4EA59AEEBB6669, + A1A621FDC626245B1B3C1C4D, + 9424FDB8C564B73250B7B20A, + 0ECA7867513EFA30BEA0BE78, + 4F2D3BD9697AAFA060EAAA59, + 20E10FBD8694E185CA551EDE, + 109C128BB4A7A05127A0C485, + 6B103C0FB5E6E3618ECD3B48, + EF8B8FB4B02133457562E1F4, + 7FC89C1EEB42DE3C9628591C, + FB3BE7E3D0A04791487E9E0C, + 1A788BE93E528FDAA62EA02B, + DAC4442F8C2F142270E92349, ); name = properties; sourceTree = ""; }; + 151DB5C643A850CB4A11F518 = {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 = ""; }; + C18C12F8D4BE91F3F4B6D140 = {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, + ED44052C486384CAAE2EC0B7, + 4F4402F0541204E005857C15, + 928B58D9B8FAF8D48F9B8F6E, + 0B4C5A9BE6E5E89A49489887, + F0B7D7FAA1BCEAF350925188, 1206D5C335340736A3A574B9, - 53440A90525AC832090A35F2, - 815FFA61CB68244C4BFA9A78, - 8B10235D6698BCD336ECB195, - 3900F1137E25F9A2DEDF4119, - 0E8D536FEBD11AEA3C90B5A8, + 45E1596ED96E521211C557E1, + D139599CB4F61C7C13D8CD51, + 98E9D87AC6D6CBF72161FAE0, + 97C99D477F6782EA2CF7E141, + 43DF20E810CDDD6B066CC274, + 7FF4DF540742C1E718D1F469, + C89842C62FC26883B0C753A2, + EAC8327C10490F437D9AC007, + 3B8BC3B8ED3559B87D08E5A9, + 151DB5C643A850CB4A11F518, + C18C12F8D4BE91F3F4B6D140, + 28E8CC5E40D5ADCF69FA12B2, + D104C8636576DFE8A2D11430, + 27B720A5E8CF81ABF9E50848, D104C8636576DFE8A2D11430, ); name = "juce_gui_basics"; sourceTree = ""; }; - 45216CE44016DA606FE98125 = {isa = PBXGroup; children = ( + 77CC8D4BB4EA00FCE9B58633 = {isa = PBXGroup; children = ( A7B28AD8606992FBE04C527C, 13BF0388489EB44A816C9AF6, 68FAA921E5D8CFAF9CC07C2F, @@ -1911,14 +2441,14 @@ 91CEFA76775CD035E2F9200F, 0852A866937712A0D30684A0, FE1E97C9233F2D472C7C6128, ); name = "code_editor"; sourceTree = ""; }; - 13374F67832C9086375A10EA = {isa = PBXGroup; children = ( + 2184E3EE262F0E77FB027DC5 = {isa = PBXGroup; children = ( 3BDF8DF3F3C380B1A4CE6C8F, 8632589E0C21E3B0A5DA0333, ); name = documents; sourceTree = ""; }; - 5BF35BC9897465D83C81C086 = {isa = PBXGroup; children = ( + A20C6083A30B3B9D0CA40FD0 = {isa = PBXGroup; children = ( 0E894AC7229948568720E294, C45AB95F4CDF31A41199E6D4, 414AAB7000E7FDE7683BE72F, ); name = embedding; sourceTree = ""; }; - 2E8513968E4CDE8852D85EFA = {isa = PBXGroup; children = ( + 438005B65094D42C98B878B7 = {isa = PBXGroup; children = ( B401E96340B8AB5DE8CBF5C9, BD588F8D5FD1E6FE88E9D3E4, 531BA61B027758A7978052A4, @@ -1939,7 +2469,7 @@ E29A372A41F835609F81CC43, 394CD5017D81D1CFEBE34894, 897C7B6FB012647ED8AB5D05, ); name = misc; sourceTree = ""; }; - 626453A346165A7A0C138828 = {isa = PBXGroup; children = ( + 24D06F9A7965EC1E73747429 = {isa = PBXGroup; children = ( 805EB95DB4B8045064CE9ED3, BA7FDBE53073F3261D962FF9, 2B69AEC791776F7CF337E38C, @@ -1953,14 +2483,29 @@ DBDED1D6237A21D03E68D323, 2C1B86FD1CB59198522DEF06, ); name = native; sourceTree = ""; }; B8479E2CF92E0AEE774BF1F3 = {isa = PBXGroup; children = ( - 45216CE44016DA606FE98125, - 13374F67832C9086375A10EA, - 5BF35BC9897465D83C81C086, - 2E8513968E4CDE8852D85EFA, - 626453A346165A7A0C138828, - D57735149DD4975283A0C754, + 77CC8D4BB4EA00FCE9B58633, + 2184E3EE262F0E77FB027DC5, + A20C6083A30B3B9D0CA40FD0, + 438005B65094D42C98B878B7, + 24D06F9A7965EC1E73747429, + 294CAD66B5A63FEAB2CB95D9, + 37381332DDDE8F2B3C66CBDE, + D8BAA82AC820CEF315BD9DCB, 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 = ""; }; + 34AB72B2A3EBDB74C0E271D7 = {isa = PBXGroup; children = ( A09CB6FA9736BD45103AFF46, CDFAC8C57A364EEE32CE125E, 166C141D440846E85F91747E, @@ -1978,47 +2523,38 @@ 08C7B33308A32555A7CA21B5, 5C0E42BCF4ED32E1381E7A23, 9CC0E3267A9D1EF3C8E37601, ); name = opengl; sourceTree = ""; }; - 07ADD7BA5A96F719EDBCA037 = {isa = PBXGroup; children = ( - 5B5180DAAB935CB6D1DE9AA6, - 2C246301EE0EC4A9B4058F01, - DC94270BB4A70056907C3CDD, - 75D038033B2083D5EFE620A8, ); name = geometry; sourceTree = ""; }; - 03621233E269E436B447C841 = {isa = PBXGroup; children = ( + 7B2929B6E52103AE0272051B = {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, + 34AB72B2A3EBDB74C0E271D7, + 7B2929B6E52103AE0272051B, + 01A3657086BDD1A8707EF4F4, + 4F96BFF5D1D40B81C861F92F, + 21CF5364CD4910E49D19F8E2, 4F96BFF5D1D40B81C861F92F, ); name = "juce_opengl"; sourceTree = ""; }; - 62479F93E90EEE65EEC01FDA = {isa = PBXGroup; children = ( - B83DDFEEA66888E9616BCE82, - F113DFEACAF2D8230F0DF5E7, ); name = playback; sourceTree = ""; }; 616C504727E4806B3BB3980F = {isa = PBXGroup; children = ( DD03B6CE6F750A9CECA7EDEA, 611A0824757D50610BB03562, ); name = capture; sourceTree = ""; }; - E545E915D753CB44657CFE99 = {isa = PBXGroup; children = ( + F5E88E0E8902B20B8E0F1C28 = {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, + F5E88E0E8902B20B8E0F1C28, + 802AB2803D9F6242DC1B0A16, + 0EC2D7817A5A91EB932F1EA8, + 693B6DC20214C1ED9C1E89F7, + 6018A3A37F34AE52B39A14D5, 693B6DC20214C1ED9C1E89F7, ); name = "juce_video"; sourceTree = ""; }; 7E2ABB7F81888EB9DF84E4C1 = {isa = PBXGroup; children = ( AF12826F0B38E7FC1176C648, @@ -2036,22 +2572,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, @@ -2068,7 +2604,7 @@ 3EF6F363BA4F6B10207C0E23, 15D92586D187B0D8758C6F18, ); name = Frameworks; sourceTree = ""; }; 7CA50BE1660DF7427A2CAFE2 = {isa = PBXGroup; children = ( - A748C987924800FDBA2E2184, ); name = Products; sourceTree = ""; }; + CBF69B3CBCD089CD7DC8343C, ); name = Products; sourceTree = ""; }; E2839CF91E2C633A933666F4 = {isa = PBXGroup; children = ( C69760E59D600CF000D468E8, 7E2ABB7F81888EB9DF84E4C1, @@ -2076,7 +2612,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; @@ -2092,11 +2628,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; @@ -2113,13 +2650,15 @@ 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; SDKROOT_ppc = macosx10.5; }; name = Release; }; 8FB477F7B77D68FD93DC1D16 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2148,31 +2687,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, @@ -2186,11 +2726,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; 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-App.plist b/examples/AnimationAppExample/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..93255082 --- /dev/null +++ b/examples/AnimationAppExample/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AnimationAppExample + CFBundleDisplayName + AnimationAppExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/AnimationAppExample/Builds/MacOSX/Info.plist b/examples/AnimationAppExample/Builds/MacOSX/Info.plist deleted file mode 100644 index eea2cfe3..00000000 --- a/examples/AnimationAppExample/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.AnimationAppExample - CFBundleName - AnimationAppExample - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - - diff --git a/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj index 570e3244..72e8a6ed 100644 --- a/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj +++ b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj @@ -131,6 +131,9 @@ true + + true + true @@ -209,6 +212,12 @@ true + + true + + + true + true @@ -224,15 +233,6 @@ true - - true - - - true - - - true - true @@ -281,259 +281,274 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + true @@ -542,21 +557,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -569,6 +593,9 @@ true + + true + true @@ -611,625 +638,976 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + 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,6 +1625,9 @@ true + + true + true @@ -1262,24 +1643,28 @@ true - - - - - - - - - - - - - + + true + + + + + + + + + + + + + + + @@ -1312,6 +1697,9 @@ + + + @@ -1319,20 +1707,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1342,8 +1801,26 @@ + + + + + + + + + + + + + + + + + + @@ -1354,15 +1831,6 @@ - - - - - - - - - @@ -1373,40 +1841,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1423,25 +1858,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1451,6 +1867,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1464,30 +1914,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1496,14 +1979,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1513,19 +2007,12 @@ - - - - - - - - - - + + + @@ -1536,10 +2023,15 @@ - - - - + + + + + + + + + @@ -1550,39 +2042,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1591,33 +2118,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1637,15 +2137,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1653,13 +2167,6 @@ - - - - - - - @@ -1667,31 +2174,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1717,20 +2224,11 @@ - - - - - - - - - + - @@ -1738,28 +2236,31 @@ + + + + + + + + + + + + - + - - - - - - - - - - - - - + + + + diff --git a/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj.filters b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj.filters index 01b9f8d0..353e89ca 100644 --- a/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj.filters +++ b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj.filters @@ -35,45 +35,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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 +122,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 +140,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -110,29 +152,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -146,33 +188,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,80 +224,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -278,30 +326,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} @@ -319,6 +367,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -397,6 +448,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -412,15 +472,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,41 +526,149 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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 @@ -523,26 +682,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -562,6 +730,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 @@ -577,44 +763,11 @@ 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_audio_processors - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_processors Juce Modules\juce_core\containers @@ -631,33 +784,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 @@ -682,41 +808,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -724,36 +820,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -766,6 +850,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -823,17 +910,167 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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 @@ -841,17 +1078,11 @@ 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_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -859,23 +1090,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -895,6 +1129,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 +1156,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -931,26 +1189,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -967,236 +1228,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1225,26 +1501,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1252,56 +1531,23 @@ Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\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\drawables - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables Juce Modules\juce_gui_basics\filebrowser @@ -1333,17 +1579,92 @@ Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + 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 @@ -1351,8 +1672,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1399,6 +1738,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1477,6 +1930,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1504,6 +1963,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1525,43 +1990,49 @@ Juce Modules\juce_video\native - + + Juce Modules\juce_video + + + Juce Modules\juce_video + + 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 @@ -1575,6 +2046,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1671,6 +2145,15 @@ Juce Modules\juce_audio_basics + + 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 @@ -1692,47 +2175,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1761,41 +2457,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -1824,6 +2517,36 @@ 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\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 @@ -1854,50 +2577,95 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_processors + + + 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\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1917,6 +2685,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1956,197 +2727,194 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers - - - 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2154,50 +2922,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2223,14 +2991,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2238,15 +3006,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 @@ -2274,36 +3075,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 @@ -2313,6 +3084,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2343,17 +3123,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 @@ -2385,50 +3180,137 @@ Juce Modules\juce_graphics\geometry + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + Juce Modules\juce_graphics\placement Juce Modules\juce_graphics\placement - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics + + 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 @@ -2445,44 +3327,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2508,87 +3408,6 @@ 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 @@ -2643,35 +3462,77 @@ 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2694,27 +3555,6 @@ 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 @@ -2736,80 +3576,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2886,32 +3726,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -2925,9 +3741,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -2949,17 +3762,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + Juce Modules\juce_opengl + + 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 Juce Modules\juce_video @@ -2972,44 +3821,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_gui_extra + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_opengl + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj index 2c97bcce..5b7f42ef 100644 --- a/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj +++ b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj @@ -6,8 +6,11 @@ objectVersion = 46; objects = { + A954E808E316BFB9537574CE = {isa = PBXBuildFile; fileRef = CBF69B3CBCD089CD7DC8343C; }; E3498B080326636A372B74AE = {isa = PBXBuildFile; fileRef = 859E13C66F2193112084D1B9; }; 828D4B32ECB7ECE234A5A1A9 = {isa = PBXBuildFile; fileRef = 66DE43B56D8670C78DD3998D; }; + ACC6D859315761144D4178A0 = {isa = PBXBuildFile; fileRef = 717FA33AC0AA2629302F0314; }; + 3B937846DB65393DE597ABDE = {isa = PBXBuildFile; fileRef = C9F7ABDA09635BC3FAB0B008; }; 96B761E33D6CA3700F0A9A51 = {isa = PBXBuildFile; fileRef = 287976618152E4BA76D627FA; }; 139AEB224F22582CF606327F = {isa = PBXBuildFile; fileRef = 732EEC584A4CE3ED07C5BEFB; }; 0DE5F0C9D8D826AF3EEBAC04 = {isa = PBXBuildFile; fileRef = 888284627B1FEA22193130AB; }; @@ -18,49 +21,60 @@ 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; }; + 01A3657086BDD1A8707EF4F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.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"; }; 02C14E49091F42750CD72F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; 02CA378FD3B14EC424052317 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02E9D4C9FE1B21ED6D4AEB3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 0311666DB95BFAE686267D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 03457E9DD2B35D7C1B0C7393 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; 0346DBE09BEC27EA93676FEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 03B79DBA48F6C4122DABEE90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; 03D03AF17C5E899ED9481518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + 03D57736DBD07F902FA47ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; 03E91AE23ECCF51E3AF9FC90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 07692EE917BD6ACF5B036FC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; 07C83735435D264F28158F79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 07E19FB806980020A47AA47D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0851EA97F442EDD19AC9C6CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; 0852A866937712A0D30684A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 086A11F30E2412EF4110F049 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; 086CE5C768CF5889BDEF8955 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 08C7B33308A32555A7CA21B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; 08EC867C77B028C336B79752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + 091C12DBBC3D552962156366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; + 0927DF1FF6950211244F022D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; 097237CCE04B9020343CB28D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 09846FF5D2FFB83242A02FF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; 0993051FFD1B0C5E92474DBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A554122B71623B662AABEF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 0A821F49B23F52A887F9510A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; 0AD4B355DBB0AED4C90E5657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; 0AE6516868244378D09124A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B4CE49EB3CFD33ACBC91518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; 0B7637C0030C06BE612E41E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; 0B7E069D09A7E46448EAE230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B933FCCF82100D67C0B7D34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -75,9 +89,11 @@ 0D530396A7BA6BA190100C6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 0D88ABF90B476D03D3684ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 0DB1323191C133E48F07C062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 0E275535C90338F332CD8235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; 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"; }; + 0E777D12CBE485AEB6B0D953 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.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"; }; + 0EC2D7817A5A91EB932F1EA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.cpp"; 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"; }; @@ -87,28 +103,37 @@ 11ACB77A3D91503A3DF673C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 11D8AE26FA8880E7E8F3B4EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; 123B63088FA1C4D1AD225CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 125AF6A7546974E48B30715F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; 13430EC7CBFEF46874F53731 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 135DC8543A904B7BBAA0FD7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 13BF0388489EB44A816C9AF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 13EEAF61D52D87BE7215AB36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; + 141A0AD892E37D2DB6416E6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; 14245CED80854EC5291657FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 1514D75CF4EA67A2F64FE115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; 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"; }; 166BDAF3B9896BCB3771A061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 166C141D440846E85F91747E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 16ECB71D0D2C5C8BEFF4B4C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 17192A48A70F35CE171FDA8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 1728E266F184270B8F24FD47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; 1737596EB7F40322C0A5DE20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; 175654F2545AD9C0603BD0B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 176B18B9B61FDA6EC4357EB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; 17B07A06764A6A7759804033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 17B2789DEC279EE7DB8D9BE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + 17B756D0BAE2EB9A24F6795E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; + 180B93AC6A596FDFA77EB2CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; + 184435EF2480086A0A7BF276 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + 18F86872037F25906880DACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.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"; }; @@ -118,34 +143,45 @@ 1B3B7CBA0D25C83B8AF72641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 1B3CC8F665F23CB86253EBCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 1B7AFDD8FCA13757D08B8B3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BC3D99638388BE91F1B7C30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; 1C71768A34644733E39EEF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + 1D13CF058F072BCCAAD591E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; 1D5B751294F84B86ABB11D4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D9FABE954892C169D874E35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; 1DE0CF80B807A4A702DC68BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; 1E020B9E032C076071700CEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; 1E6EF8035485237EA92A1310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + 1F3461F19C4731FE0FF0563F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F87E0F13E5F13F32EA8488B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + 1FCCE1AF54F1AFA518F85C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; 1FD6FD7218AB240D23DF4BAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1FED186C635D674888C8F6C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; 2048DACF787A9BFE011041BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 205748B1C1A6DB6C78397CAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 217FE57E823D8A19ECEDAE1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.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"; }; + 22F62D0B5A88067C39036648 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; 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"; }; 234D4927B398ED6E9B7B0E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + 236A887259131B8CF3BFAA4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2387979173D63484748E2D25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; 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"; }; + 23DCA3094EE2BF851D7E59ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + 23E602118BAAFAB6244C626F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; 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"; }; @@ -156,23 +192,31 @@ 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"; }; + 27B5A75B11DE0CB6BEA24EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; 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"; }; 287976618152E4BA76D627FA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 289C3977B67C1898AC3B974D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + 28B8895A15022079E271B140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 28BEE3C7BE3AE2BD888AC55C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; + 28E8CC5E40D5ADCF69FA12B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 28E8F98D4DF43FEE13C53FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; 29215FCE04DC4D267FF25E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 294CAD66B5A63FEAB2CB95D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; 29685DC8679DB5024B747D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 29710D5E6C3372E4480BF746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 29D35A5AB22E9443E0ED8F99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; 29F5A84EE715DA5BCED467A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A08FD4A8C44BB4D5993C4EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 2A098563977566E9A9E8CD7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A274C78A4BC2FD805C2A87D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; 2A2B7F8BCFC785127CA961A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -183,31 +227,47 @@ 2C06A730EBB9E2A7F0F2AA14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; 2C1B86FD1CB59198522DEF06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C246301EE0EC4A9B4058F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; + 2CF871939F8260159FADDA45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; 2CFC9FB97ED3587D7E0E4E4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; 2CFEB3BEABF88B0C41D94E94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + 2D35965AD2A724CF8E48503C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; 2D5F3AD1A03B34AE7349DF5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; 2D8FC1F116F882698F5CFEB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2DB2DBF293A77B80E01EBAED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2DCAC1795F1B47C592E65D4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 2E2B14A2334528E4405AEDDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E2B6E9E5339C2D235B34D2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 2E650C2E92EA2732B66070D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; 2E96848340E1C1B1095AC1F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FBB170783D707DD566701B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; + 2FCD0627F5182FEDB371978E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; 2FDA8843C89E2D7DFBE3FBFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 301AF9BA843B1955EE001C98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 302B824D60552827656F93AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; 3095D8D2EF68D6ED502EB00B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; 30B85C7478732E3A6997065D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 30F760D66EE00B970E5B8422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; 314E9338935BC33A1C468B3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 317A4756151F7BFA715E853D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; + 31835ED2E5FD847241731C4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; + 3196F73AF8AA82512A48A1CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 31AE430D2372CF6283185033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + 31D6707B0315015D0BA6FF40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; 326E293A87E18FC3FBB26B47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 32A667DB98BC4EB30C51F20B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32C160FB4BDC7D7888B779DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 334D70B10F62FF31153FE332 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.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"; }; + 341945AF95DB1B16D532098A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; 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"; }; 35E6F6325AF8463C076BA594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 36738E65C45A4D2A81C1C6F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; + 368FE253978B01A52C9FDE35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; 369C06F1DC7B3B7EB497D062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 36A0FF58D355147F40981C39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 36B8F6CFEEA3C1E2A0D09E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; @@ -224,6 +284,10 @@ 393D0CA8D89217F1F2504768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 394CD5017D81D1CFEBE34894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; 3966D734450E72F5682D2F06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3987CB6362DC2021DB74C5F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; + 39AF57BF1F78E78B6208C610 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; + 39E53E65D8D6B3B528402A9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + 3A578CFE4D5EE336348DE71A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; 3A9FC7EFC378976EE696AE83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; 3AE89D0904EE985359A73B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 3AF114AC45249CDA77EF940E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; @@ -234,48 +298,66 @@ 3BF23F0B71FB8E526E895905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C825AE2479611DA559164B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; 3C89D04328C83D2FDD4E5116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 3CC0E54CE49D129491D45C08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; 3CD47BA1CFEFB637DDEAC313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D16FF3C64D4248C0C6FF504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D24784AEA7726A64A340625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; - 3F0388309395C138AA68FAD7 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 3E93DF974223FF9B7F4EB50F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; + 3EAE5CBC2043F3AD35BB52A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; + 3ED9D068A1EEB463738A8D67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; 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"; }; 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"; }; + 4051B00F3E03FD44594C1C6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; 40B9C2276B7EF73860E2606B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 40F0E944D041D96F2DA4C6A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4105B30D7A5108B98918EB09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; 412D5D6AA4018C8DF59AB741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 414AAB7000E7FDE7683BE72F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 41C74B59D9B392117441DA2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; 420050F896FAA3A70C66B746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; 4228B8952E3FBCDA69C1948B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 422D4036A107045528872CB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; 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"; }; + 43CF643349DD9B40A9EC865A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; 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"; }; + 44AE746144329C92CB1EC401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; 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"; }; 44C6568EC00F1682FBCD3B69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 44C9DB616A2F1C420FC03EA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; 44FC8BD37CFE8C0D851C46F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 4510E3B6AD441EA03B993692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 4570554FB8438C0692EEDC55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; 464424DDD6A6678B94CE667F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 4658E12862C546A62E05E4D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; 46885692CC5FDE30FC3649F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 46B0C80A50F637DEF7364C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 46D8BC7303C892ED3F90E4DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 47E5FB5735D2EC8B039D2691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; 47E70AF805B1C5C57566C4CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 481E7AABBC1ECB45F5A6ECE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 485C1D9C28D17770B7399FEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + 494C5E1F63C8058770C912A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; 495EAFDB9DE4E8E7DBA562D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; 49794569C715BA919A01D72E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49E6799807136A81A9CB1292 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; 4A1671B78E589A865FEA3CB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A20A09E79DADE080F85F215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A2604F9DE1CEA003E97D270 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; 4A31DFDB7AC330488B8BBEA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A36826C3F710B92F0347A16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 4A53D28A1FB12DBAB6C77D31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -305,14 +387,21 @@ 4FB8B3386156F5702A20F7D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 500F7CB9F45B62E46F4BBA57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 51026A3BE98FD70FD916CF45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 511F0ED4686A5CDF53965894 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; + 51305A11164C3ED4D0715AF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; 516966B6926968A6918D55F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 517AB84B750F6126EC985703 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; 518E9E553CD9F7D215B75B88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; 519CE739793F0797AF1A7957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; 52062790A5E737C8846A23A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 52D99C150763173D47186EED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; 531BA61B027758A7978052A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; 5358DE9C9773654731E6F615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 5383E87DC6DC1D251C271A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; 5384C065CDEB3032907ECCAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + 53D0045E2DBBC395CF6402F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; + 53E9183A7D2C19D8E8DA7EBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 54503A34758AE7FF5DA79E4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; 553655CA0122E128BC368AD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; 55417F6D23E7075E5E27BECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; 55A4B5CF98FAC1CC23E49C82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -322,6 +411,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"; }; @@ -329,17 +419,22 @@ 57490A9F97D62E7A312EA90C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 5774E190A351EDF7B7AAB188 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; 57A0BF533D7A7B57321A8174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 57E13FF3A580C1E95E92B3BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; 5878CA91071620345AB5B3C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5935FCA88455E5675C326F4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; 595A9929C0E873C30AC9AA87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; 59CAB9E5A0CBBC51342FC065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A1777E116DA01B554C90CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A5749D0A878955C964DD2C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A854859042F6CD761688B25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; 5AAE605D230E253D4EAC195E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5B30C702BF301F8E1E2A3354 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; 5B5180DAAB935CB6D1DE9AA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; 5BBC57B395B553CE08AC4BD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; + 5BCA443333E6382B09C70FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; 5BFE5859FC1EF6D8D2620394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; 5C0E42BCF4ED32E1381E7A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C3608989A5B27223F5BB52F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; 5C58E6217AF57BD2A33ED617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 5C62F423D8469A02E55BF59D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 5C8795B0DE5C729CA18FE89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; @@ -347,9 +442,13 @@ 5D1F3BD1476426752ACB1EB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5E4173ECA316E90CD7DE4378 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; 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"; }; + 5FF5374AB0A2ABCD55C5C0F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; 6018A3A37F34AE52B39A14D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; + 604EC12730E93902B59C16BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; 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"; }; + 608567E785A52AE278561F28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.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"; }; 611A0824757D50610BB03562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; @@ -357,9 +456,12 @@ 616493921A733162495E7553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; 61797A8C01DC08E83AFA4540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; 618839275E13B9DB660001E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61A057071AB4D9DFCF977868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; 61E1C2246CBD45C5A1F40102 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 61F0D5937E23A6A9EE8D479C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + 61FEA56F09D171ED4D49E37E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; 6238740697CA1F0746776243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 625E1B8A1124F86D3CFBD31C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; 62B6E8B6269ADEF23D85FA3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; 62E534D1F0B31CD4A1B572E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; 62EA5E33A940F30BBB56E293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; @@ -374,6 +476,7 @@ 66CEE40E51335F661B5C5C66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 66DE43B56D8670C78DD3998D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 66E854431C2BBDEE56EA43C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 66FC55F6928ED105352D513E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; 673759E656DBA5A9377433E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 674E13DA209E762DF15E9E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 67771057800F9416E9777625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -382,16 +485,21 @@ 68097881EEDDE0FD03100CC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; 684E11B1CE018B2C46938D80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 68743DE3AA833D6F02F754D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68C320330FC80F2D718FCB92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; 68FAA921E5D8CFAF9CC07C2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6911E01E967839199E4C9822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; 693B6DC20214C1ED9C1E89F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; 69449AB58A9C0AB552F754F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + 69615C623CE1E2F2AC630CF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; + 6970593C10473856B934E36A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; 69A2DA87D304FD486A872C1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 69C36A56AE1A2E8CF64FE388 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 69C81DA805F277342326FDC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; 69FB20BD7AC7C8099BC57663 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; 6A1D79062B92685A87BEE5F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; 6A22C06C6FE2B6B494B4878D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; 6A8AC5E55EE51EE0476D852F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + 6AAA99E0708FEBDDA79F567C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 6B103C0FB5E6E3618ECD3B48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B3FF870CA756828E00346EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 6B5C2F14A2268F371F1350B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -407,47 +515,63 @@ 6E6672E4055AC4F6D8688310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; 6E841DAA09FE06910D94447D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; 6E9C1F4D69A9C99433DC67C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + 6EDFD21A4D0D6D021B1A3E87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; + 6EE358BE69152B76AE83F9D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 6EEECDA2EB328FB597208954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; 6EFC227515CACDE0F8664EC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F6F888BFFA4BB40DD71285E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; 7022B01ECEE7000DE6008C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 7055A19324581F9C3EAEA5D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + 708D35BBADD7FD88C484FA29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.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"; }; + 7250A7D7C9F17451B05EE51F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; 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"; }; 749854CD2D13BBBA500F353F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; 74AB51B6E97964B27B1CD019 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; 74B477DE4CFC95E20DBB0D91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 74D3E663989AC293FE3FF17A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; 75D038033B2083D5EFE620A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; 7620FF4A73742FD6AC1579C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 76646A8492CDF04455810FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.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"; }; + 77F017CFE86D86856AA32BEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 77F924936A4DD9FF9A594688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; 782E3434FEA190A986EAC816 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 791ADFB0FFAEE65058B6FC8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7930C2679AE77002474BD285 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; 799472026100D7BAE015F6A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; 7A029D97E723C7F1BDDCAA49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A10D05213E62385893405D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; 7A1EF5BA4CF8B3C2F8407AB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; 7A46778023CF61B3F417F9AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 7B006F5888E80E58D156C134 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; 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"; }; + 7C8E4D0F7F5A254EB4DB79DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; + 7D728E7B7E17FC9FC9D8C1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; 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"; }; + 7E0C0094D27FC049B73D4C14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; 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"; }; 7EB8C7E000F0DDAAB4F47802 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 7F0614F4F47EB171B8476BDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -455,17 +579,22 @@ 7F171BE6BFAA1E3E2A9BED61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; 7F2BBAF79EB32BB9904A76FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 7FC89C1EEB42DE3C9628591C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7FEF05E29706A0C33EDB9F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 8001506F637B2516AAC5C0D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 803480FD5E7181E0D64FFC53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 805EB95DB4B8045064CE9ED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 805F27CEEC53F4E659884D7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; 807E7971CB75C806D7DB5DF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 8096923FA40246283C31519E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 80C227F27056B4D6A8398063 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; 80DA815945A9EAA060270DE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; 8102EBF90140E78193692AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; 814E0D982BC2A18B9BAF3E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 817458EEB2AF43DB2D5A054C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; 823BBAE97A02475F25E54F9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 828EA1C252192568B65E4F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; 82A390DEE5A3B2EFDF7A65E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 82FA0D2BA62A49F763BCF1A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 830ADB6740EF70992E71895F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8314FE695F91DA2FAB51920E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 83325A69170997E33D73770A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -476,7 +605,10 @@ 84494501A6148DAFE162650B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; 84ABA9491A70313AD6BF6F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 853D2D1ADD05C320052DD5FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85649497AD144FBDF5777B4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; 859E13C66F2193112084D1B9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 85A230F44406071130CCC69C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; + 861044C3728448B6B25CB084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 8632589E0C21E3B0A5DA0333 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 8683CDE5FD2DFCB2CFC8F410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 868955327EBBD0C2C2447DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; @@ -494,37 +626,50 @@ 897B10399D1CA882B5B98D0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 897C7B6FB012647ED8AB5D05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 89ACAEA951C470AF8683AABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 89C3618D7042317A6D883811 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; 89CBCB2D4660B56C1A939011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 89F5A5C12916F02E579D6394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A4A25946040DED54DB8F3B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; 8B155ED74D3D0EB7E890E421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 8B2C20F9BFC9AB506B610EF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; 8B539DB72CC92EEC7F96C8E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; 8B7C0F839098C534A7B4C725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8B90EF4A7D339D068596D247 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; 8BE44C96A60C5D9B9F503409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C105487633A9BD04FDEE50A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 8C123578D83CC46CF34147A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; 8C24F74CB23F1B82C80386FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C3A6351780E678334FA1406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 8C41F14688836355AC2077FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; 8C547C48DD5B3A854DBFF0F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C6A342773288620A8CC2598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C9C8D27FA0CBCB9C24651F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; 8C9D252ABA3CDDC81B33884D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; - 8D3FB0417A39CAEC03D44D73 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; 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"; }; 8DC827CCF543708CF729FED6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8DD9C11F5055343D3080A636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; 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"; }; 8EDD1755AEE1C95660A06BF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; 8EFB4EBA0836D5401B6D3DFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + 8F2EF92ED091245972E1D370 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; + 8F8A72C3D7AA0B38E12FA983 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; 8FA02AA8698232B53D4BFDBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8FCE0A1FBED6E7511E298D08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 8FE4E307BD23E6646F1BE585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; + 903E09E5914713B9734981FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 90841E3B0B2548A5BD66F15E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 90B6C81CFB0DE386C673F62E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 90BE189372A13866896CE817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90DB8ED076EC671C8F810FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; 90FEA7DB5EFC4E9B2E933056 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 911B308D5222BDFD954DBB32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 916001804771DF943551AAEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + 917C8418FD1089B4ACB06D9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; 9183733C2B13EDF43435FE1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 91B991143655810C26644D50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; 91CEFA76775CD035E2F9200F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -532,11 +677,14 @@ 9211B175E63E325D4FF6B789 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 92172AE93327D4F8008A0AFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; 926063234BAFA6D29366E43E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 927B5C10C6D4913EFC1C80C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; 92BB22C929A3A76CE6F29C7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 92DF4A828DC5CE370E36044C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; 932126F914644642A8244676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 935BCEB2593A51E53187ABC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; 93667813A711750790201F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + 937DCC3A0E911706E1B2742C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; + 93C5E11FE57008B569BDA465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; 93CC262389F622F8AB79CA60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; 941219816EB5D7A2231019FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; 9424FDB8C564B73250B7B20A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -545,16 +693,21 @@ 94FAC7EB87C8EBE67F68AD60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; 95412F7C12937CC7AC22ADCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; 95440A40B2FB3CE5E09D57B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 95DF34F4FF6C3D63BB34F2E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; + 9680AC828AD62A58BF0C0D86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; 9692128AC24CF671A9C0457B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + 96A13AFB02324F1E7F470D3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 98474FB10BB003823EEC8759 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; 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"; }; 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"; }; 99A3B01A6398623F40C528FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; 9A4FCF66FF42906A7A2187A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + 9B215E13E2498C24CB39448D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; 9C05D3A33B0D7B6B2EA43C7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C17E6FC9A4D7C8734800649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C3E556586147F27B4EDC982 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -568,7 +721,11 @@ 9DC4092F746AB0F5A73D929D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 9DC79DF0A43DA6B06B7B1F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; 9DCDB2CA1444618C4054A114 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; + 9E14FDAEB35F67D8E8EFB6FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + 9E31D80C5C16981C0501B807 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; 9E44079E499D4F4ECE55354A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9E76B00AD10BF7D42C22BFE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; + 9ED3D3507C8D5154201D9860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; 9EDED988A5A94805BEF1EBF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 9F522CA5A8E82BF69E7403BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; 9F5FD873C8192683DB089745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -576,7 +733,9 @@ 9F7AC745AA0588C821A014D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 9FBAD3EFE40ACEB06B155A09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 9FC1BB191F1EB657A181866D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + A00C14748195EFE35E397922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; A010D6D997B85A393165DAB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + A04FBFD5D087DCCF2FB1CFE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; A058E50779879A7D9A813A4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; A0850087D0288361E552BE9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; A089B7E3CEB10B2BB1147811 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; @@ -587,57 +746,74 @@ A2208C87019608EBF813EAA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; A23966DF7E681FA878B27B92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; A281FFA1C7E3AFB8246FD577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A289B13A3036D2A5873EFD10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; A292587AA4633141BA378473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; A3D0C263C912566AECB57679 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; A3E01235E4AD9DBE2405F792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3F10D6226F279E9195F2CB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + A415044DB2E87AAB1BB9BEF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; A42A97232CE0593D8D989FC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; A4F394FB62E70E3A3A02E4C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; A50AF1519D78428A8DCD91BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + A52B29340D8E551C2F6FBC43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; A53228473B7F7BCF946F15DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A54AED02A4929ED6EB693CB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; A54B5504235B3324635B1DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; A587862CF3C96C6C648216A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; A5CEADBA23491564FEB6D4EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; A5DEEB6DADAA5AB2CF41A880 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5F3E87B9361E6389A25A7A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; A61AD5378601F9DDEB8DED03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; A67C5701B28E64F889A92422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; A6AD00FEFB31915AB0F2798F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + A76D6B94991D6E028EE8D1AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + A782FF0CD79464F3E015647E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; A7884EC24DD007D6232DB822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; A789D75FEFFFB7E8E835FBAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + A791450F95A15FB432769403 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; A7B28AD8606992FBE04C527C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + A80AA19F5083EC5BDEF5E417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; A826C1C083678A4E9279C118 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; A8A277CAF10A3FEB258174C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A913E7A4100153D15CBC47E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; 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"; }; - 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"; }; - 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"; }; - ACAC59A1C54DC52E8E2438CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; - AF947B0E188B6EA57EB0109B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - A748C987924800FDBA2E2184 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AnimationAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - A76D6B94991D6E028EE8D1AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - A782FF0CD79464F3E015647E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.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"; }; + AADB68C97C1F39768E3D924C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + AAE075C201CBCF07825F07D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; + AAFBA68DC2DB709AC039346F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.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"; }; AB3C130E565756182528752D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB786C573FBF709B98321DB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + ABA8B74D6DC0E1544A4D24FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; 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"; }; + AC45A648F17635951379821A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; 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"; }; + AC8FE23E3F3C0C18FDAE8E33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.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"; }; + ADFBB7D36E7A2FF616C6B2C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.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"; }; + AE853FCAAC8C380071EDA166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.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; }; + AF98DFE375127F293E949D80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; 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"; }; @@ -661,9 +837,11 @@ 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"; }; + B4F5CD3ACB818E688C365FA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; 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"; }; B529A9B433CF3B41A2497D46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; B54A14A497368A580B7D9AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + B56A0A29682E7C17CE14859F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; B57640F7EDADCFE17719EE68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -672,14 +850,20 @@ 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"; }; + B6B37233BE86BE28409C1255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; B6BE7EF02190070336E63E89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; B6C7114A31FD6B1DEB08346F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B6D9BF4B75784D01B7CDE1AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; B70E52FF75D44F0F1F0B31D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + B72D32D9578948EBBC20DC1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; + B764A244C64D4CDDB3991417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; + B7878514009D61BB165DCCC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; + B78917F098265059E77030AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.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"; }; + B85BFCB6F22364760F60BE8C = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; 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"; }; BACA17304411EED8B219D2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -698,9 +882,13 @@ 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"; }; + BEEB4210417263EB4723C391 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; + BEFEA587B94DE4094556ABA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; 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"; }; + BFD88630D554067B96B4AB0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; + BFDEE9E0934E275F6989EDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.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"; }; 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"; }; @@ -709,33 +897,45 @@ 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"; }; + C31F95C0A3825E7922C3687E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; 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"; }; + C5627477E4D4FBD25C05A458 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.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"; }; + C5DE05B18A4D17AF152AC70D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; + C5EBCB7A0255C5E7D98E05EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; + C61D5926ACA9F057558E078C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.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"; }; + C78802588ACBE09BF9FAF1E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; C8A5AD5503F33596C4147ACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + CAAAFD026B5D158E467894CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; + CAF2D6685386F8B9428232F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; 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"; }; + CBE5E39B8775FEDC3EF3EBB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; + CBF69B3CBCD089CD7DC8343C = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AnimationAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; CC0B7738BD544B955D81BF1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; CC96E8E65FDFE4376F71D7B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; CCA3065F893912F3E3625C13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + CCC0F0157CD640EB6B82C2B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; CCEBEEF441D3FCFE411AAAD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; CCF8FB3EA0246D83E3D2E760 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; CCF94157A15DD29B6C5DA939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; @@ -749,9 +949,11 @@ CE19308F9CD1B8F05E6EF6C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; CE4F0A27AAADFD53316A17BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; CE75A83F0AA70025C36151B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + CE79CB56198479F9C4AA1E25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; CEC05A60A0E19B07F6A3CE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; CF4DDBE1126E8C8C3A37DC78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; CF4E3CDCC9837C7E52197686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; + CF772F25DF54B82772AFCA49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; CFF4FDD0FC27C36843B20BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; D00157FA3D14BFECB7FE7232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; D01D74EE9A00B0813B00FDD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -765,24 +967,30 @@ 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"; }; + D1594DAC1F1CB060F2538F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; 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"; }; D219A10E7C41110A1AA4FBB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + D263FE9723F526617E111337 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; D26821159E190113FEBF99BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + D274494B37F6DA67FD5D6476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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"; }; 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"; }; + D47B5E8CF795D2B106A6A65F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.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"; }; D6D37626671B0FB1CE8505C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; D6ECAF8B2A4E8B6C97B89FFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + D74DEEE99CFE7B2FFD474A5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; D763221FDA235D75039D4C46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + D77B700B6C68C6055C26376E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; + D77F2823246C592B8524B444 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; D7C8F6360C455C0F76E35978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; D7E612935BA192BF5D24B9A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D80EEBBDEC364958AE05AFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -791,36 +999,46 @@ 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"; }; + DAB2D04E8F63813C64FA4B90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; DAC4442F8C2F142270E92349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + DADE4778EF06AAA298747034 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; DB1C6393173661404927B4B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; DB4AC9766332105669D51C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; DBB34599E380FB1F37A28B27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + DDAFF654664C571998E6C0D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; + DDB7CF1A01382FDD2636147F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.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"; }; + DE2D7E4CDC8E5826FE64552F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; DE4C0926D2EFA7649BD3AAA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; DE4DC23FAE4C420D489ABD17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + DEBD2C71B20E4E508BD03F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; DEEA654926310D5B37A191C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; DF6D66D2FE017EE82E86C02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; DFAD61F886BEAAAE535BBF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; DFC58448ADEA2B5D2FF5F8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + DFCF62E1A54A127A5E859567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; DFD9E836DB24F4DE75A94C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; DFFE4AAFF7DDF01BFCDCD86D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; E0A44ED2A465E22D93420F88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; E0EF847C7052C5FFA2A7CF8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; E0FCA8F19A081CE941B273FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; + E102589F0ED46EE419D9E011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; E109BFE0F2475C97F17CA5AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; E13860F17C7FC399EF28EC1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; E1868998BA7B20DF7ED0B5E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -832,8 +1050,10 @@ E2E3FA0BA7B7C8EB3C47B642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; E323EAC836E3B5BB29B6AE06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; E40FB3B047D27337B9A9CACA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + E41E7B0343C3C776BBA9AA4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; E443717EB8EC16A0B1814BAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; E4D5FB6A6F806D9400BBF344 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + E53D5A8310DB45653DFD0CE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; E57F103FCFDEE26617E3F8F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; E587838C598E06E7959F2A31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; E5918150BDBDBCC3060C9FB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -846,22 +1066,33 @@ E6E99E6E9BB715D12B35AB4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; E70034BF5EF1721B245C3079 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; E7488E12D0F3300AE33E0B9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + E75F722F65364D9AE4AEB3B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; E7EC04A96E1CBFA9428A4B80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + E822AAEEB411787234978545 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + E892A32133E6FDB385135C55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; E958ECCACCCE70690FAE58B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E972515A102857BAF9D6F49F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; E973909AF8AFFB788A250CB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; E9A4C91E94B6D096BD8217D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; E9C249D9F38B0DFAF0823653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9D3160D792D678CF1065F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; EA13B2FC256C7BCF0900369E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + EA1D0B4AE0268463A7FA374A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; EA5874F225E76DED69BD7132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + EA84821BDA22083FD918BE14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + EA9C7C5272C6DBD6E0A95232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; 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"; }; + EB09F0E535E8D5AA114A5CB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; 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"; }; EC0DC30DBDE17808F8F213DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; EC11D53A4118E15738CC70BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; EC9898734E8AFE5215705476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; + ECBB04DDF8EF80E2F7B1C858 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; ECD7A374DADD305C66141AF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; ED5E6273C8910BF1F8CBDB9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; ED773069A737B4877D02DD90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -869,45 +1100,60 @@ ED8032A884A03337DAA1D453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; EE577E6ABD70D104CD83186C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; EEBBCD11005AE9AD87B36F32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + EED268E6FDBE8B9AFCA52E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; EF8B8FB4B02133457562E1F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; EFA1E7B282EF67800F4766AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFE188681662EAF09675769B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; F0B46A9181B1707349A20399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; F0D54DDE8C2AD1D018A61FDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; F0E4B5B18AAB82215F5C6AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; F113DFEACAF2D8230F0DF5E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F1340F07AE08BBB477720091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; F16734BCF880A8180C06018D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + F16D0AF6B7D272E5E562CAA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; F2040E4B76F8783B471CECED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; F20F182CBEF008AA1B1BB52A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F22781915698D59D4CBE984D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; F233E88B6F2BC6906819AE6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + F234801CF62696DEF4A21F5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; F257AD1B82D5595FF9C3F1CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; F26953C1E056357A3DFDF35C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; F2A1FCAC1825462CD568D442 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; F2DDCDF62D2587FB565A442A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + F2F9BAC052A79DAC207E1560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; + F3004BF0C4967DC5EEE2B50F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; F30876EE30580650FD17B801 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; F3154C77D5DFCE8D71084F23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; F33B267B702055F8CE27BDB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; F34126F005008CBB1C42B68F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + F34B8B8DB302D22B746F0545 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; F36959B167E88B220CF9D8FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; F36FACCDB4B94286F6042490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; F382E14FAFF5CDEBFEA81B00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; F38F8132499ADBD3344E8449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + F3990A436809D83B8770B52D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; F3A0B8ADF39FA8F15A6D8E23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + F3BBE70DB658AC4EF2DCB577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; F3BD246F4283B08B1E21C75B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; F3C52FC514B9B3A2DFD7E3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; F4454839EB930FC98D63AED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; F49471EE0681DBD1115D927B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; F4A977844BD67D5C2BEFCDDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + F4E836F5CF376E225B70DA3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; F4F618373A81FDC73AB27A91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; F5091F49E07C6DF8F644BAF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; F64C6AC0DC0376A80A74A82A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; F65A6A3350F6251E8BBF8CF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + F6BE9CF7A96F7758CE2F8FE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; F6C977C654069F64F4AB869D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + F72711E343DE3475EF3AAB47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; F73B6D934AEC9887D9EBB5E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; F79ADEBA7B305354085FFB8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; F79CBA9439D4CFF8351B2A3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; + F79E9A8B111F625D36473170 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; F7B6DBDC7439C90B4E01752E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; F7E781AFAA34B511C812896A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + F7FD131BB62A47C1B54C1A5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; F831631700830F81994D9980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; F83392D9825422AF0DB638D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; F838183EDFF5937C2879EE41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -921,11 +1167,14 @@ FAB998A70437EE4D89CABE2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; FAC04A1B47255DA7A6397737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; FAF4C6D8D1D59932F12DF6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + FB039E08386C2BF75CBECA53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.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"; }; + FC246B5E5E055E42FF1AE0AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + FC7B211683AB97C5A8EDA971 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; + FCA3F78CB359BCFC7DE949DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; 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"; }; FCC9F258531F00BCD91C63DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; FD05E73E3F022E08D70B9569 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -937,10 +1186,11 @@ FE1E97C9233F2D472C7C6128 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; FE41044F09ABE0A6BC0F9293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; FE55A1DFB90A1A5EF37B1741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + FE6F235B759DD3DB37F6EE0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 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 = ( @@ -948,13 +1198,15 @@ F7B6DBDC7439C90B4E01752E, ); name = Source; sourceTree = ""; }; C69760E59D600CF000D468E8 = {isa = PBXGroup; children = ( 9F41B5C4D3F9CE9C17373AB3, ); name = AnimationAppExample; sourceTree = ""; }; - 56E5D80A2B5A0AB691ABB90D = {isa = PBXGroup; children = ( + 504C5FD980086802734876A7 = {isa = PBXGroup; children = ( AC2AE970951E20A199938AFB, 7A46778023CF61B3F417F9AC, 6D0D0EC5B978695152A0B84F, F34126F005008CBB1C42B68F, 03D03AF17C5E899ED9481518, ); name = buffers; sourceTree = ""; }; - E4315566C92B24C51C6EC8DB = {isa = PBXGroup; children = ( + 954422ECF78DEB8D680DF3B3 = {isa = PBXGroup; children = ( + B6B37233BE86BE28409C1255, + 481E7AABBC1ECB45F5A6ECE0, D64B71F992FF01CB0EE89641, D38FAFE2A9C48C4914A61F03, AB03D2BE2D83E937C336070C, @@ -964,7 +1216,7 @@ 403453363C4785FD451A9BA1, AFEC177C21FC9D36695F4750, CCA3065F893912F3E3625C13, ); name = effects; sourceTree = ""; }; - 7B8B087CBBE62784628FDD95 = {isa = PBXGroup; children = ( + 9AEA4031FA93559C26C0C07B = {isa = PBXGroup; children = ( 9F5FD873C8192683DB089745, 5358DE9C9773654731E6F615, 8DC827CCF543708CF729FED6, @@ -977,7 +1229,7 @@ 8EDD1755AEE1C95660A06BF2, 0A821F49B23F52A887F9510A, 6B3FF870CA756828E00346EF, ); name = midi; sourceTree = ""; }; - D16FCF8AF82902B7A98E0FFB = {isa = PBXGroup; children = ( + 286F41BE52AFF5A8C6DFEB3C = {isa = PBXGroup; children = ( 040A31152B3C4BF51493F937, B5871062E8509DE7873FD083, F79CBA9439D4CFF8351B2A3C, @@ -1013,19 +1265,25 @@ 301AF9BA843B1955EE001C98, B5142BDA7EBA15F2DB1BB3FA, 3900C9B11914C94DFA1F8C33, ); name = sources; sourceTree = ""; }; - 43FFCEB9A2A3784C7EEF5460 = {isa = PBXGroup; children = ( + D852EDF8ED081F8469B475F6 = {isa = PBXGroup; children = ( 9D91916A769A7E2967368795, 8C105487633A9BD04FDEE50A, ); name = synthesisers; sourceTree = ""; }; AF12826F0B38E7FC1176C648 = {isa = PBXGroup; children = ( - 56E5D80A2B5A0AB691ABB90D, - E4315566C92B24C51C6EC8DB, - 7B8B087CBBE62784628FDD95, - D16FCF8AF82902B7A98E0FFB, + 504C5FD980086802734876A7, + 954422ECF78DEB8D680DF3B3, + 9AEA4031FA93559C26C0C07B, + 286F41BE52AFF5A8C6DFEB3C, 1F2A9A2A9B959DC1DF903064, - 43FFCEB9A2A3784C7EEF5460, - 8DEFACA6858D254B4202AF12, + D852EDF8ED081F8469B475F6, + FE6F235B759DD3DB37F6EE0E, + 3B9903B0A0252D106C92CAA9, + C1070E62B763F1CCE0BB18F0, 3B9903B0A0252D106C92CAA9, ); name = "juce_audio_basics"; sourceTree = ""; }; - 3B35E0DA3DB0B1509311FBDF = {isa = PBXGroup; children = ( + BB0698B6AAC3B36A1E841F8C = {isa = PBXGroup; children = ( + 41C74B59D9B392117441DA2D, + 35A7FD6EFDE29D2EBD7DFCB8, + BDE0C2D342D03C389560501F, ); name = "audio_cd"; sourceTree = ""; }; + 99E4137D71D7430705B059BF = {isa = PBXGroup; children = ( 884AA1209A726AEAF76E31B0, 3D24784AEA7726A64A340625, 4A1671B78E589A865FEA3CB1, @@ -1033,22 +1291,13 @@ B6173E37D15602163B7C0441, 4BF9949E0C30EA64B16004BE, 04C105672DA409FE8593DB04, ); name = "audio_io"; sourceTree = ""; }; - D487CFDA56FA408A04203A20 = {isa = PBXGroup; children = ( + E0E57524E1B7296B6BEB77A1 = {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 = ( + 92DE9B76516065C8553CF754 = {isa = PBXGroup; children = ( FCA9526394A63B33405F8E58, B1C799A152189A282E6CAC76, 2A098563977566E9A9E8CD7E, @@ -1068,31 +1317,169 @@ B2D42B884600CE62E3253DA3, 5719A93B0F6AFE95FC49B673, 73FF82BCB568578396E88C92, ); name = native; sourceTree = ""; }; + 68279D6145F0510F350AE746 = {isa = PBXGroup; children = ( + 814E0D982BC2A18B9BAF3E38, + B6411B03A6D0185B11DBDA15, + 911B308D5222BDFD954DBB32, + DFC58448ADEA2B5D2FF5F8D3, ); name = sources; sourceTree = ""; }; 270A86F6A3CE512F0B3EA8DC = {isa = PBXGroup; children = ( - 3B35E0DA3DB0B1509311FBDF, - D487CFDA56FA408A04203A20, - C3D887B6F1284C2394FD72D3, - 09D6686EACFD43021C0E69F3, - A62DE30F63767AFA483DE8C6, - 442199479D1499B6A44BD150, + BB0698B6AAC3B36A1E841F8C, + 99E4137D71D7430705B059BF, + E0E57524E1B7296B6BEB77A1, + 92DE9B76516065C8553CF754, + 68279D6145F0510F350AE746, + 141A0AD892E37D2DB6416E6D, + B1A41C6141726A390E2182A2, + DD19124F0A7FD43F31BDEB87, 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 = ( + EFE3B6E9F6181EB2EBADAF23 = {isa = PBXGroup; children = ( + 927B5C10C6D4913EFC1C80C3, + 608567E785A52AE278561F28, + D74DEEE99CFE7B2FFD474A5F, + 861044C3728448B6B25CB084, + 1FED186C635D674888C8F6C7, + A5F3E87B9361E6389A25A7A9, + 39E53E65D8D6B3B528402A9E, + 03D57736DBD07F902FA47ACF, + 18F86872037F25906880DACD, + 7E0C0094D27FC049B73D4C14, + 27B5A75B11DE0CB6BEA24EEA, + 8F8A72C3D7AA0B38E12FA983, + 0A554122B71623B662AABEF5, + EA1D0B4AE0268463A7FA374A, + 5FF5374AB0A2ABCD55C5C0F3, + 36738E65C45A4D2A81C1C6F8, ); name = private; sourceTree = ""; }; + 8E41C01EC7EB0007CEC394FD = {isa = PBXGroup; children = ( + 85649497AD144FBDF5777B4F, + 3196F73AF8AA82512A48A1CD, + 8DD9C11F5055343D3080A636, ); name = protected; sourceTree = ""; }; + E305EBE355AF1FAA97B9E6C6 = {isa = PBXGroup; children = ( + EFE3B6E9F6181EB2EBADAF23, + 8E41C01EC7EB0007CEC394FD, ); name = include; sourceTree = ""; }; + 38FE21261AB22287CB1CA3BC = {isa = PBXGroup; children = ( + E305EBE355AF1FAA97B9E6C6, + EA9C7C5272C6DBD6E0A95232, + 5C3608989A5B27223F5BB52F, + 0851EA97F442EDD19AC9C6CC, + C5DE05B18A4D17AF152AC70D, + 205748B1C1A6DB6C78397CAF, + CAF2D6685386F8B9428232F2, + 13EEAF61D52D87BE7215AB36, + CF772F25DF54B82772AFCA49, + 2FBB170783D707DD566701B3, + 7930C2679AE77002474BD285, + E972515A102857BAF9D6F49F, + E53D5A8310DB45653DFD0CE4, + 17B756D0BAE2EB9A24F6795E, + 317A4756151F7BFA715E853D, + 368FE253978B01A52C9FDE35, ); name = libFLAC; sourceTree = ""; }; + 3233A6FB4D2CC9459C51C1E6 = {isa = PBXGroup; children = ( + 38FE21261AB22287CB1CA3BC, + A415044DB2E87AAB1BB9BEF2, + 68C320330FC80F2D718FCB92, + 5E4173ECA316E90CD7DE4378, + 3EAE5CBC2043F3AD35BB52A4, + 9E76B00AD10BF7D42C22BFE7, + 5BCA443333E6382B09C70FE2, + CAAAFD026B5D158E467894CF, + B85BFCB6F22364760F60BE8C, + E9D3160D792D678CF1065F8B, + AC8FE23E3F3C0C18FDAE8E33, + 422D4036A107045528872CB0, + F34B8B8DB302D22B746F0545, + 46B0C80A50F637DEF7364C51, + F1340F07AE08BBB477720091, ); name = flac; sourceTree = ""; }; + 3A65E823242804B6DDB17007 = {isa = PBXGroup; children = ( + DFCF62E1A54A127A5E859567, + 517AB84B750F6126EC985703, ); name = coupled; sourceTree = ""; }; + 13828875FA872E8A1E56AC84 = {isa = PBXGroup; children = ( + 53D0045E2DBBC395CF6402F8, ); name = floor; sourceTree = ""; }; + CD6AE0B5A362B3AB9D8FF94A = {isa = PBXGroup; children = ( + DDAFF654664C571998E6C0D5, ); name = uncoupled; sourceTree = ""; }; + B48FD0EE8F4194806F5C9E5F = {isa = PBXGroup; children = ( + 3A65E823242804B6DDB17007, + 13828875FA872E8A1E56AC84, + CD6AE0B5A362B3AB9D8FF94A, ); name = books; sourceTree = ""; }; + 580E1465FF72D340BAF9405A = {isa = PBXGroup; children = ( + 7A10D05213E62385893405D3, + C5EBCB7A0255C5E7D98E05EC, + 85A230F44406071130CCC69C, + 9B215E13E2498C24CB39448D, + F72711E343DE3475EF3AAB47, + A289B13A3036D2A5873EFD10, + CCC0F0157CD640EB6B82C2B6, + 8C123578D83CC46CF34147A6, + 7250A7D7C9F17451B05EE51F, + DEBD2C71B20E4E508BD03F6D, + C5627477E4D4FBD25C05A458, + B72D32D9578948EBBC20DC1C, + E102589F0ED46EE419D9E011, + F2F9BAC052A79DAC207E1560, + 8C9C8D27FA0CBCB9C24651F5, + 3E93DF974223FF9B7F4EB50F, + F6BE9CF7A96F7758CE2F8FE3, + 817458EEB2AF43DB2D5A054C, + FB039E08386C2BF75CBECA53, ); name = modes; sourceTree = ""; }; + D6528552507052D9573F264D = {isa = PBXGroup; children = ( + B48FD0EE8F4194806F5C9E5F, + 580E1465FF72D340BAF9405A, + CE79CB56198479F9C4AA1E25, + F234801CF62696DEF4A21F5A, + B56A0A29682E7C17CE14859F, + A00C14748195EFE35E397922, + BEEB4210417263EB4723C391, + 4105B30D7A5108B98918EB09, + EA84821BDA22083FD918BE14, + BFDEE9E0934E275F6989EDD2, + 8F2EF92ED091245972E1D370, + ADFBB7D36E7A2FF616C6B2C3, + AAE075C201CBCF07825F07D7, + 32C160FB4BDC7D7888B779DE, + 708D35BBADD7FD88C484FA29, + 28E8F98D4DF43FEE13C53FD2, + E41E7B0343C3C776BBA9AA4A, + 6AAA99E0708FEBDDA79F567C, + E75F722F65364D9AE4AEB3B4, + F4E836F5CF376E225B70DA3F, + AADB68C97C1F39768E3D924C, + 90DB8ED076EC671C8F810FE2, + 4A2604F9DE1CEA003E97D270, + 1728E266F184270B8F24FD47, + 9ED3D3507C8D5154201D9860, + 2FCD0627F5182FEDB371978E, + 69C81DA805F277342326FDC1, + 937DCC3A0E911706E1B2742C, + F3BBE70DB658AC4EF2DCB577, + AB786C573FBF709B98321DB0, + AE853FCAAC8C380071EDA166, + 2CF871939F8260159FADDA45, + 76646A8492CDF04455810FA4, + 6EDFD21A4D0D6D021B1A3E87, + 217FE57E823D8A19ECEDAE1F, + 2D35965AD2A724CF8E48503C, + BEFEA587B94DE4094556ABA3, + 494C5E1F63C8058770C912A9, + 7055A19324581F9C3EAEA5D0, + 31835ED2E5FD847241731C4E, + 9E14FDAEB35F67D8E8EFB6FE, + 1D13CF058F072BCCAAD591E2, + EFE188681662EAF09675769B, ); name = lib; sourceTree = ""; }; + E0F0255AA718955341F1A8B8 = {isa = PBXGroup; children = ( + D6528552507052D9573F264D, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + F0A358F593F24D7F72179357 = {isa = PBXGroup; children = ( + E0F0255AA718955341F1A8B8, + F7FD131BB62A47C1B54C1A5A, + B7878514009D61BB165DCCC8, + 54503A34758AE7FF5DA79E4F, + 8B2C20F9BFC9AB506B610EF2, + DADE4778EF06AAA298747034, + 4051B00F3E03FD44594C1C6E, + 51305A11164C3ED4D0715AF2, + 44AE746144329C92CB1EC401, + C61D5926ACA9F057558E078C, ); name = oggvorbis; sourceTree = ""; }; + 61796396A6A12B8949C2B98C = {isa = PBXGroup; children = ( + 3233A6FB4D2CC9459C51C1E6, + F0A358F593F24D7F72179357, AB3C130E565756182528752D, 7F162E198ECF41AA895DB94B, 0BC32F0BB0B5393D25E09D00, @@ -1111,16 +1498,51 @@ 46885692CC5FDE30FC3649F6, C52FB75A0A93BB1397D1F962, 4B8102606812A7964CF8D9CE, ); name = codecs; sourceTree = ""; }; - EA0CB9DC4E43539FB25FBC68 = {isa = PBXGroup; children = ( + AB9B1F57594122FB7F0C125B = {isa = PBXGroup; children = ( + A76D6B94991D6E028EE8D1AA, + 0E70A4BFB2F7D1AB6188E72C, + CCF8FB3EA0246D83E3D2E760, + FF1CEE8501CA0F081EE0E3AE, + E1A153E1CA08E918F65C2B4D, + E5AF1F5B3F7F2B30606FBF24, + 853D2D1ADD05C320052DD5FC, + FE55A1DFB90A1A5EF37B1741, + B5C3814B2174E5127F42D721, + D1000A39817E9B771A4FB856, + 71DF518DE7A248B97C8E1C2E, + 6E6672E4055AC4F6D8688310, + 63E66F6D161941FE12465C29, + AD8417869D43ED72319C283C, + 9CC22BDB1B3FF427D6525D21, ); name = format; sourceTree = ""; }; + 3D1D1BD2FE20BB9994EDE6BE = {isa = PBXGroup; children = ( 5774E190A351EDF7B7AAB188, EA749A33B0E635F691A42C64, ); name = sampler; sourceTree = ""; }; D8CF14F51DEE1EA3625BFE6E = {isa = PBXGroup; children = ( - 72D396CB5861C9C441B3E360, - 23741F076745FB046C07FB1D, - EA0CB9DC4E43539FB25FBC68, - 768754211363FED3D2188C9D, + 61796396A6A12B8949C2B98C, + AB9B1F57594122FB7F0C125B, + 3D1D1BD2FE20BB9994EDE6BE, + 4A20A09E79DADE080F85F215, + 62B6E8B6269ADEF23D85FA3E, + 987AD2821B6419D5FEDCBD7A, 62B6E8B6269ADEF23D85FA3E, ); name = "juce_audio_formats"; sourceTree = ""; }; - 2127B046D500ADBA07220814 = {isa = PBXGroup; children = ( + 88F9AB2FA45B206B2A4483AC = {isa = PBXGroup; children = ( + 8741126A9694372E46E3FD32, + 381B8B8A9D5203E73FED79E9, + 83325A69170997E33D73770A, + F3C52FC514B9B3A2DFD7E3F6, ); name = format; sourceTree = ""; }; + 1FAD7DB997878A6172656F05 = {isa = PBXGroup; children = ( + A50AF1519D78428A8DCD91BF, + E587838C598E06E7959F2A31, + E6E99E6E9BB715D12B35AB4A, + 38EDF1EAB12A05CEE439AF23, + 36B8F6CFEEA3C1E2A0D09E56, + 2B02634F8DA8660ED42B0AEF, + F79ADEBA7B305354085FFB8D, + 66E854431C2BBDEE56EA43C8, + 0F67C59CB48583941B8656EF, + BB144FF841A99B08D5479777, + E652F16998FA1CBF2068C6FC, ); name = "format_types"; sourceTree = ""; }; + 17A57F61E7109806E3BDDCED = {isa = PBXGroup; children = ( EC0DC30DBDE17808F8F213DD, F84B68CA477E76A5C737EEB7, A61AD5378601F9DDEB8DED03, @@ -1137,24 +1559,7 @@ 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 = ( + 6D5517B20EB3DE007D177B03 = {isa = PBXGroup; children = ( 0B933FCCF82100D67C0B7D34, B7855FA22C92F7EE272A866E, 2E650C2E92EA2732B66070D4, @@ -1171,64 +1576,16 @@ 8096923FA40246283C31519E, 2C06A730EBB9E2A7F0F2AA14, ); name = utilities; sourceTree = ""; }; BA9B6357DA1BF8D6E3120176 = {isa = PBXGroup; children = ( - 2127B046D500ADBA07220814, - DB8C9872311AD82A6BE28BCE, - CD61E634B4D011ABCFA7E39F, - 6C9E51DC570947CDBD246B3E, + 88F9AB2FA45B206B2A4483AC, + 1FAD7DB997878A6172656F05, + 17A57F61E7109806E3BDDCED, + 6D5517B20EB3DE007D177B03, 202EE05322E0C4E9476F8135, - 3F0388309395C138AA68FAD7, + 302B824D60552827656F93AC, + 6E841DAA09FE06910D94447D, + AD405DDE86D07F955E27EBF8, 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, ); 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 = ( + 26B40C40FD3BF8F037A08BC8 = {isa = PBXGroup; children = ( 6EEECDA2EB328FB597208954, C7581A35068A3FB43786F4BE, 0C89377A44F26612524DA129, @@ -1250,37 +1607,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 = ( + DEF0C999DE1CFC6B29C7E7E1 = {isa = PBXGroup; children = ( 9D50B3000D941FDCB620068F, AF885F6112CEA5C2D7934AA3, 3FECAB20E9C0834676E2D9EB, @@ -1298,76 +1625,56 @@ 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 = ( + A41684C9543746818D10DEA6 = {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 = ( + EE37DA9A357A9EC465D0F2E3 = {isa = PBXGroup; children = ( + DEEA654926310D5B37A191C9, + 234D4927B398ED6E9B7B0E6B, + 5D43D909CB26D4A07A62A4F7, + D52EB7F089EF359EDCB199AF, ); name = logging; sourceTree = ""; }; + 7CE5332FCFB3EB9B5DC39E4B = {isa = PBXGroup; children = ( + BAE06A3352E39521CE5D94EB, + AD41400898312123119E987A, + A3D0C263C912566AECB57679, + AC42B6006776E1CE3A3A94A0, + 1B3CC8F665F23CB86253EBCE, + 4B8342C50F962C3F0AEE9830, + 8B7C0F839098C534A7B4C725, + B28F34DD7CABFD48B1EE3CCE, + CA025D4369C240E6FA30CE2B, + F16D0AF6B7D272E5E562CAA7, ); name = maths; sourceTree = ""; }; + 4C677909DAC5699AE810600E = {isa = PBXGroup; children = ( + E1AC4AB03052A8F3FF90FBA4, + 4BDEC9A0A09EEDC9D7BDB826, + 08EC867C77B028C336B79752, + 68097881EEDDE0FD03100CC5, + C0BA74AF0382D87B0E7BCEB3, + FAF4C6D8D1D59932F12DF6A7, + 8C6A342773288620A8CC2598, + ED5E6273C8910BF1F8CBDB9B, + 097237CCE04B9020343CB28D, + 61F0D5937E23A6A9EE8D479C, + F22781915698D59D4CBE984D, + 289C3977B67C1898AC3B974D, + 4A36826C3F710B92F0347A16, + ED7E17722B60B7D89188CE60, ); name = memory; sourceTree = ""; }; + 1FDABF0D7FBE7D269D5CC274 = {isa = PBXGroup; children = ( 9C17E6FC9A4D7C8734800649, 941219816EB5D7A2231019FA, + D263FE9723F526617E111337, + 8CEADF0BFEE8F08A0EB42CD1, BACA17304411EED8B219D2AC, 98D247A4824D969367AFD0FB, F73B6D934AEC9887D9EBB5E2, ); name = misc; sourceTree = ""; }; - A37D31A95DAA40A87611411B = {isa = PBXGroup; children = ( + 470F2F52C3212EF2B088C545 = {isa = PBXGroup; children = ( 6238740697CA1F0746776243, A782FF0CD79464F3E015647E, DC3B995E7B51FC0B76826C86, 8C24F74CB23F1B82C80386FF, + 3EF0B8611060C8AB86395920, C186342C3FFB4DE250556D70, CCEBEEF441D3FCFE411AAAD6, 823BBAE97A02475F25E54F9D, @@ -1392,87 +1699,204 @@ 7DCF49E37B27971A7E597555, 843BE36A2285F73A3FBB5660, 40F0E944D041D96F2DA4C6A2, ); name = native; sourceTree = ""; }; - 5CF56D8EDFCB4673E75EB0E4 = {isa = PBXGroup; children = ( - 8C7AB91AFCAF2F99D0E906B0, - 6898E6C42CC9520DC26F9FBF, - 01A8BF73C8C9D282E9E58D7A, - DD57AFE6D9A0218912B3DD93, - 7A970EF4CD9FEB460B82CAB2, - A7DDE84C6BDC340DFEAC5C86, - 0B90B115C693F54D5DF8E732, - 9E9C1F84B44CA85F5F472594, - B87CA56B966A881DBF190AE7, - C0BC501BDABAB02545D8CED7, - 314A7534CB4D49F809F0BF86, - 61DC39E8E45840C4E9876585, - 044DA355DFC10789F7E2671A, - 9EE7BD032D2E50758043A0FF, - 6BA585E8E2F21352228FF71C, - 246C87B7ECF29ACA118F0242, - A37D31A95DAA40A87611411B, - DA353BCF838D64BA343AC0E1, - 74302B51B991EA1775AEFC67, ); name = "juce_core"; sourceTree = ""; }; - A24377A329F782F1DF1A9E92 = {isa = PBXGroup; children = ( - 9C05D3A33B0D7B6B2EA43C7A, - 567D63D778B7A22C5D97F1C5, - 9C599E35E8A990404EEF805A, - CFF4FDD0FC27C36843B20BFC, - 29D35A5AB22E9443E0ED8F99, - 66897EA1FD2CDFB4CED47F8B, ); name = encryption; sourceTree = ""; }; - D05EA809F9DB6CFD6B0BFEC0 = {isa = PBXGroup; children = ( - 4C87C8EC24CE0EB64640238A, - 2CFC9FB97ED3587D7E0E4E4B, - 4228B8952E3FBCDA69C1948B, - F8EB370470B7928A80032F7C, + 32689C798CD9849D8498C2BA = {isa = PBXGroup; children = ( + 90B6C81CFB0DE386C673F62E, + 7639526FBF7A4F41961483ED, + 84ABA9491A70313AD6BF6F9A, + 6A22C06C6FE2B6B494B4878D, + A4F394FB62E70E3A3A02E4C7, + 8C3A6351780E678334FA1406, + 9E44079E499D4F4ECE55354A, + 2B57EB41D3962E3518B79FD8, + D6D37626671B0FB1CE8505C9, + DBFBBC58ED4A18EA9FE04D1D, ); name = network; sourceTree = ""; }; + 3D28E7CB6B486D4772A202D2 = {isa = PBXGroup; children = ( + 23936BBF807CCF5B1EEB9F00, + BDA5B0C014F6DCC188465060, + 6C502DF33FB5C14B8A67B25D, + 7E0DD06926DAC8EE93BD4F08, + 6421EA349C5D558114D36717, + 440A182A9068A8FBD011BE1A, + E5918150BDBDBCC3060C9FB3, + 47E70AF805B1C5C57566C4CB, + 52062790A5E737C8846A23A2, + ECD7A374DADD305C66141AF4, + 8945894D17A9407EEEE3B8BD, + 07E19FB806980020A47AA47D, + 803480FD5E7181E0D64FFC53, + B305ACE053406FF288E500F8, + D0AFF0790D81DB8F66173737, ); name = streams; sourceTree = ""; }; + 5AC942DDAA5A98462F87F477 = {isa = PBXGroup; children = ( + 7141B07690C1A022A2BFFBBB, + DAB059DA13868A81301513F7, + 07342D914D2A5AF6075CDB2D, + 3CD47BA1CFEFB637DDEAC313, + 03B79DBA48F6C4122DABEE90, + 67895BDE8FA4B2A01E3B8B12, ); name = system; sourceTree = ""; }; + 9D9B86698ECFD7FDA0B19D55 = {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 = ""; }; + 9000F35C2EBE6B2673A3A76F = {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 = ""; }; + 1C7A20146AB686E6673BCDE5 = {isa = PBXGroup; children = ( + 24363F41974FD7A3B634B78B, + E21A45155C6954C6E50CCAF6, + 4ADE9EFB6C41DE44D40C9837, + CE19308F9CD1B8F05E6EF6C5, + ED8032A884A03337DAA1D453, + 5CDC0F220B1EAE847D38D1DE, ); name = time; sourceTree = ""; }; + 52B4813631D83970525E1471 = {isa = PBXGroup; children = ( + 5878CA91071620345AB5B3C4, + 1E6EF8035485237EA92A1310, ); name = "unit_tests"; sourceTree = ""; }; + EC20B0818FC4D8DE9B56D8FC = {isa = PBXGroup; children = ( + 03E91AE23ECCF51E3AF9FC90, + D19705FE67C941DA74C31A9D, + EAAFB86397B191FF3713155B, + E40FB3B047D27337B9A9CACA, ); name = xml; sourceTree = ""; }; + 705A5FAF04934BAEFB27696B = {isa = PBXGroup; children = ( + 61A057071AB4D9DFCF977868, + 7FEF05E29706A0C33EDB9F7B, + 22F62D0B5A88067C39036648, + 96A13AFB02324F1E7F470D3E, + 5935FCA88455E5675C326F4D, + 61FEA56F09D171ED4D49E37E, + AC45A648F17635951379821A, + 66FC55F6928ED105352D513E, + A791450F95A15FB432769403, + EED268E6FDBE8B9AFCA52E6B, + 43CF643349DD9B40A9EC865A, + 0E777D12CBE485AEB6B0D953, + 52D99C150763173D47186EED, + 93C5E11FE57008B569BDA465, + 69615C623CE1E2F2AC630CF3, + 334D70B10F62FF31153FE332, + 89C3618D7042317A6D883811, + D1594DAC1F1CB060F2538F68, + F3990A436809D83B8770B52D, + 80C227F27056B4D6A8398063, + 7B006F5888E80E58D156C134, + 8B90EF4A7D339D068596D247, ); name = zlib; sourceTree = ""; }; + 12D91F8B56B572C4B0D40514 = {isa = PBXGroup; children = ( + 705A5FAF04934BAEFB27696B, + DB1C6393173661404927B4B7, + 6C03031AAE5A7C3372D4F1CF, + FBDBD56614E38BB5A5592D32, + 9F7AC745AA0588C821A014D0, + 3FAA5384DA8B28DEB5E57A5D, + DFAD61F886BEAAAE535BBF81, ); name = zip; sourceTree = ""; }; + 5CF56D8EDFCB4673E75EB0E4 = {isa = PBXGroup; children = ( + 26B40C40FD3BF8F037A08BC8, + DEF0C999DE1CFC6B29C7E7E1, + A41684C9543746818D10DEA6, + EE37DA9A357A9EC465D0F2E3, + 7CE5332FCFB3EB9B5DC39E4B, + 4C677909DAC5699AE810600E, + 1FDABF0D7FBE7D269D5CC274, + 470F2F52C3212EF2B088C545, + 32689C798CD9849D8498C2BA, + 3D28E7CB6B486D4772A202D2, + 5AC942DDAA5A98462F87F477, + 9D9B86698ECFD7FDA0B19D55, + 9000F35C2EBE6B2673A3A76F, + 1C7A20146AB686E6673BCDE5, + 52B4813631D83970525E1471, + EC20B0818FC4D8DE9B56D8FC, + 12D91F8B56B572C4B0D40514, + 74D3E663989AC293FE3FF17A, + 74302B51B991EA1775AEFC67, + B7DD84C8B05ABA4A6915E77E, + 74302B51B991EA1775AEFC67, ); name = "juce_core"; sourceTree = ""; }; + A24377A329F782F1DF1A9E92 = {isa = PBXGroup; children = ( + 9C05D3A33B0D7B6B2EA43C7A, + 567D63D778B7A22C5D97F1C5, + 9C599E35E8A990404EEF805A, + CFF4FDD0FC27C36843B20BFC, + 29D35A5AB22E9443E0ED8F99, + 66897EA1FD2CDFB4CED47F8B, ); name = encryption; sourceTree = ""; }; + 2508E0AE96D192C1CF613E7E = {isa = PBXGroup; children = ( + 4C87C8EC24CE0EB64640238A, + 2CFC9FB97ED3587D7E0E4E4B, + 4228B8952E3FBCDA69C1948B, + F8EB370470B7928A80032F7C, 69FB20BD7AC7C8099BC57663, 420050F896FAA3A70C66B746, ); name = hashing; sourceTree = ""; }; 752AB8D433735A877FC90255 = {isa = PBXGroup; children = ( A24377A329F782F1DF1A9E92, - D05EA809F9DB6CFD6B0BFEC0, - 19DC6BDBA978DC67B9783340, + 2508E0AE96D192C1CF613E7E, + EB09F0E535E8D5AA114A5CB9, + E109BFE0F2475C97F17CA5AF, + 33E449DEA1FC0CD4CAA3A829, E109BFE0F2475C97F17CA5AF, ); name = "juce_cryptography"; sourceTree = ""; }; - 569E6262B6ED4B4C394F150B = {isa = PBXGroup; children = ( + B44515142E8B789A4E84B877 = {isa = PBXGroup; children = ( + 09846FF5D2FFB83242A02FF4, + B4769129853D2822D3DB38D1, + FBC55E440EF1EA83FC0DAA5A, + AF59758C300E586A7A6338D1, ); name = "app_properties"; sourceTree = ""; }; + 85C3F3271A3332BBA40442C5 = {isa = PBXGroup; children = ( + 616493921A733162495E7553, + 369C06F1DC7B3B7EB497D062, + F7E781AFAA34B511C812896A, ); name = undomanager; sourceTree = ""; }; + FDF01D725F94428D0A6CE568 = {isa = PBXGroup; children = ( + E822AAEEB411787234978545, + DDB7CF1A01382FDD2636147F, 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, - F3B535506E5F093EB8206BDA, - E4B1CF3D54E0B5547CDF9A87, - FB81D25CF4825A9A186B6790, + B44515142E8B789A4E84B877, + 85C3F3271A3332BBA40442C5, + FDF01D725F94428D0A6CE568, + 3987CB6362DC2021DB74C5F7, + D3B4D56DE3F90D9A445A47A6, + 14BB261A450674034E6080F2, D3B4D56DE3F90D9A445A47A6, ); name = "juce_data_structures"; sourceTree = ""; }; - A9C383106F234D341DE730BA = {isa = PBXGroup; children = ( - EEBBCD11005AE9AD87B36F32, - 868955327EBBD0C2C2447DB3, - C5C3838D0FDC65F44C9D1A9A, - F3BD246F4283B08B1E21C75B, - 3324210159E5C546DC5C2065, - 6804336FE1AB499087ACE437, - DB4AC9766332105669D51C1E, - 314E9338935BC33A1C468B3E, - AE381B9D6E2A4DA363C7DD3F, - 8C547C48DD5B3A854DBFF0F3, - A54AED02A4929ED6EB693CB9, - AB856191A15A8C9016D974D5, - CD965406DB7511EB187919E7, ); name = messages; sourceTree = ""; }; - F197372050DC8782B9089C8A = {isa = PBXGroup; children = ( - 7A029D97E723C7F1BDDCAA49, - F3A0B8ADF39FA8F15A6D8E23, - B6D9BF4B75784D01B7CDE1AF, - 7F2BBAF79EB32BB9904A76FF, ); name = timers; sourceTree = ""; }; - 59EA583396C9C41EDC94D5F6 = {isa = PBXGroup; children = ( + 6C72C7479EA3F242A5BA33A0 = {isa = PBXGroup; children = ( B32716A0B0702E6861726529, 2DCAC1795F1B47C592E65D4E, D7C8F6360C455C0F76E35978, @@ -1488,7 +1912,21 @@ DD73087B002B1DB6B90B666E, 4F5DED2313FC69EA518E5679, 1E020B9E032C076071700CEC, ); name = interprocess; sourceTree = ""; }; - C271DA3D9CE655C433BB4DD3 = {isa = PBXGroup; children = ( + 5B2171EA19BD6CA5F51EE315 = {isa = PBXGroup; children = ( + EEBBCD11005AE9AD87B36F32, + 868955327EBBD0C2C2447DB3, + C5C3838D0FDC65F44C9D1A9A, + F3BD246F4283B08B1E21C75B, + 3324210159E5C546DC5C2065, + 6804336FE1AB499087ACE437, + DB4AC9766332105669D51C1E, + 314E9338935BC33A1C468B3E, + AE381B9D6E2A4DA363C7DD3F, + 8C547C48DD5B3A854DBFF0F3, + A54AED02A4929ED6EB693CB9, + AB856191A15A8C9016D974D5, + CD965406DB7511EB187919E7, ); name = messages; sourceTree = ""; }; + E1F9B83198387699E91A32D7 = {isa = PBXGroup; children = ( 88CC8BC2EA8CDB378A03FADA, 3C89D04328C83D2FDD4E5116, 89CBCB2D4660B56C1A939011, @@ -1497,15 +1935,22 @@ 93667813A711750790201F8D, AAA3ED492FF78DBBF86DC612, D219A10E7C41110A1AA4FBB9, ); name = native; sourceTree = ""; }; + D0BF044C387628E5459CB417 = {isa = PBXGroup; children = ( + 7A029D97E723C7F1BDDCAA49, + F3A0B8ADF39FA8F15A6D8E23, + B6D9BF4B75784D01B7CDE1AF, + 7F2BBAF79EB32BB9904A76FF, ); name = timers; sourceTree = ""; }; 4F8A65DC4E47B7CB0DB88369 = {isa = PBXGroup; children = ( - A9C383106F234D341DE730BA, - F197372050DC8782B9089C8A, - 59EA583396C9C41EDC94D5F6, + 6C72C7479EA3F242A5BA33A0, B90F0A1A63C3408C288F6D8C, - C271DA3D9CE655C433BB4DD3, - 7C7B6D8D155687966F681F5B, + 5B2171EA19BD6CA5F51EE315, + E1F9B83198387699E91A32D7, + D0BF044C387628E5459CB417, + AF98DFE375127F293E949D80, + 63B031ABCF8DE5C94889823B, + CC0B7738BD544B955D81BF1E, 63B031ABCF8DE5C94889823B, ); name = "juce_events"; sourceTree = ""; }; - BA53DF8ABDA9DAD0F963BC8B = {isa = PBXGroup; children = ( + DF94474DAE1C4CA78B2A4F4D = {isa = PBXGroup; children = ( C7D5A8B28D0B7DE58629AA04, 5C8795B0DE5C729CA18FE89B, 2E2B14A2334528E4405AEDDC, @@ -1515,7 +1960,7 @@ 5A1777E116DA01B554C90CDA, 236F239E035044438B7CDFCB, 91B991143655810C26644D50, ); name = colour; sourceTree = ""; }; - 88878CC1561F13CF681027E9 = {isa = PBXGroup; children = ( + 97D5D28584E3A2A3E71A279F = {isa = PBXGroup; children = ( 326E293A87E18FC3FBB26B47, 2048DACF787A9BFE011041BC, EBC4E11E36D206EDF01E6EB0, @@ -1523,20 +1968,26 @@ 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 = ""; }; - A0E5437DC111A1AAB63CCD16 = {isa = PBXGroup; children = ( + EC02988BE509C5C76A33CFE8 = {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 = ""; }; + 48D9CCAD8DCD2BFF9779722D = {isa = PBXGroup; children = ( CF4DDBE1126E8C8C3A37DC78, 2CFEB3BEABF88B0C41D94E94, 92172AE93327D4F8008A0AFD, @@ -1552,30 +2003,105 @@ 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 = ( + 5B4872F9DD29D2BD708A2372 = {isa = PBXGroup; children = ( + 485C1D9C28D17770B7399FEB, + 511F0ED4686A5CDF53965894, + 2A274C78A4BC2FD805C2A87D, + F3004BF0C4967DC5EEE2B50F, + FCA3F78CB359BCFC7DE949DA, + 9E31D80C5C16981C0501B807, + 903E09E5914713B9734981FA, + 9680AC828AD62A58BF0C0D86, + 828EA1C252192568B65E4F9F, + 07692EE917BD6ACF5B036FC5, + 53E9183A7D2C19D8E8DA7EBC, + B4F5CD3ACB818E688C365FA5, + ABA8B74D6DC0E1544A4D24FA, + 180B93AC6A596FDFA77EB2CD, + B78917F098265059E77030AE, + FC246B5E5E055E42FF1AE0AA, + 0E275535C90338F332CD8235, + D77F2823246C592B8524B444, + 184435EF2480086A0A7BF276, + 95DF34F4FF6C3D63BB34F2E4, + 17192A48A70F35CE171FDA8F, + DAB2D04E8F63813C64FA4B90, + A3F10D6226F279E9195F2CB2, + 28B8895A15022079E271B140, + 3CC0E54CE49D129491D45C08, + FC7B211683AB97C5A8EDA971, + 77F017CFE86D86856AA32BEB, + 236A887259131B8CF3BFAA4D, + AAFBA68DC2DB709AC039346F, + E892A32133E6FDB385135C55, + 5B30C702BF301F8E1E2A3354, + 31D6707B0315015D0BA6FF40, + 2387979173D63484748E2D25, + D274494B37F6DA67FD5D6476, + DE2D7E4CDC8E5826FE64552F, + C78802588ACBE09BF9FAF1E6, + 8C41F14688836355AC2077FA, + 6970593C10473856B934E36A, + CBE5E39B8775FEDC3EF3EBB2, + C31F95C0A3825E7922C3687E, + A913E7A4100153D15CBC47E3, + A04FBFD5D087DCCF2FB1CFE2, + 625E1B8A1124F86D3CFBD31C, + 0B4CE49EB3CFD33ACBC91518, + 4A53D28A1FB12DBAB6C77D31, + 917C8418FD1089B4ACB06D9E, + 086A11F30E2412EF4110F049, + 2A08FD4A8C44BB4D5993C4EB, + 8FCE0A1FBED6E7511E298D08, + 7D728E7B7E17FC9FC9D8C1EC, + D77B700B6C68C6055C26376E, + 0927DF1FF6950211244F022D, + 44C9DB616A2F1C420FC03EA1, + 7C8E4D0F7F5A254EB4DB79DC, + BFD88630D554067B96B4AB0C, + 8FE4E307BD23E6646F1BE585, + B764A244C64D4CDDB3991417, + 3A578CFE4D5EE336348DE71A, + 1FCCE1AF54F1AFA518F85C8B, + 49E6799807136A81A9CB1292, ); name = jpglib; sourceTree = ""; }; + 332FA91C93A6FD04E3207E75 = {isa = PBXGroup; children = ( + 341945AF95DB1B16D532098A, + 1514D75CF4EA67A2F64FE115, + A80AA19F5083EC5BDEF5E417, + 23E602118BAAFAB6244C626F, + F79E9A8B111F625D36473170, + 1BC3D99638388BE91F1B7C30, + D47B5E8CF795D2B106A6A65F, + 604EC12730E93902B59C16BD, + 02E9D4C9FE1B21ED6D4AEB3A, + 82FA0D2BA62A49F763BCF1A2, + ECBB04DDF8EF80E2F7B1C858, + 6EE358BE69152B76AE83F9D9, + 39AF57BF1F78E78B6208C610, + 23DCA3094EE2BF851D7E59ED, + 091C12DBBC3D552962156366, + 3ED9D068A1EEB463738A8D67, + A52B29340D8E551C2F6FBC43, + 57E13FF3A580C1E95E92B3BA, + 125AF6A7546974E48B30715F, + 2E2B6E9E5339C2D235B34D2D, + 30F760D66EE00B970E5B8422, ); name = pnglib; sourceTree = ""; }; + 62EB3FD5B7BA4ABAC06FE9C8 = {isa = PBXGroup; children = ( + 5B4872F9DD29D2BD708A2372, + 332FA91C93A6FD04E3207E75, + 55D04DC4EA2F037CCD5DF9A6, + 244B9B4B8307A8C51207D457, + 4FB8B3386156F5702A20F7D8, ); name = "image_formats"; sourceTree = ""; }; + CD741F4463E5F5DB4D91A4AC = {isa = PBXGroup; children = ( + BE61994F6993AE76CBBF1EAB, + 6911E01E967839199E4C9822, + F994D2E0DF00D0A7765068EF, + 2807A00AE6C4539CD935F56D, + 94FAC7EB87C8EBE67F68AD60, + 9FC1BB191F1EB657A181866D, + 3966D734450E72F5682D2F06, + DE4DC23FAE4C420D489ABD17, ); name = images; sourceTree = ""; }; + 60955AEE98C1B73C10C2C196 = {isa = PBXGroup; children = ( 9D61877D2691EB78B2ED69EA, E9C249D9F38B0DFAF0823653, 8EA18CA66CABC9B5087DBDD2, @@ -1589,19 +2115,57 @@ C884444C380A4B053DB70D12, F36959B167E88B220CF9D8FE, F2040E4B76F8783B471CECED, ); name = native; sourceTree = ""; }; + D386B41DF50428DAE3963B06 = {isa = PBXGroup; children = ( + 610F820C21D914E9794A36EE, + 7BA2EA5655704E5358ABAA9D, + 62EA5E33A940F30BBB56E293, ); name = placement; sourceTree = ""; }; B78A49A94757B1530E3E282B = {isa = PBXGroup; children = ( - BA53DF8ABDA9DAD0F963BC8B, - 88878CC1561F13CF681027E9, - D5CDF20FB8932DEA5810EEE1, - 2C9A23E9808933102222B6EB, - A0E5437DC111A1AAB63CCD16, - FD44264B8C9437DCF22CE602, - 5BFD15FEDAA57F0C3DA99850, - 2925596DB97C0571478FCE48, - E62D8A1F0BDD00ABB882F291, - 241453DBDECBE0CCD5C096DE, + DF94474DAE1C4CA78B2A4F4D, + 97D5D28584E3A2A3E71A279F, + EC02988BE509C5C76A33CFE8, + 5E39CF9549F3CB3A1194256C, + 48D9CCAD8DCD2BFF9779722D, + 62EB3FD5B7BA4ABAC06FE9C8, + CD741F4463E5F5DB4D91A4AC, + 60955AEE98C1B73C10C2C196, + D386B41DF50428DAE3963B06, + 1F3461F19C4731FE0FF0563F, + 7022B01ECEE7000DE6008C0A, + 4B27A11ADAC0D9957BBBCD3E, 7022B01ECEE7000DE6008C0A, ); name = "juce_graphics"; sourceTree = ""; }; - 978A5EA7C209E97691DF1580 = {isa = PBXGroup; children = ( + ED44052C486384CAAE2EC0B7 = {isa = PBXGroup; children = ( + B189762C440B38635351E0A3, + 47E5FB5735D2EC8B039D2691, ); name = application; sourceTree = ""; }; + 4F4402F0541204E005857C15 = {isa = PBXGroup; children = ( + 782E3434FEA190A986EAC816, + E6BA3A4991987C4AB55F5948, + 93CC262389F622F8AB79CA60, + 02C14E49091F42750CD72F00, + 35E6F6325AF8463C076BA594, + 92DF4A828DC5CE370E36044C, + 0B7E069D09A7E46448EAE230, + F16734BCF880A8180C06018D, + D0B5B79546163A6DE73D0E2E, + F4A977844BD67D5C2BEFCDDC, + 5AAE605D230E253D4EAC195E, + 4408766B366713F55707B7A8, + 6BE6A3A14057591A3B4EF2C4, + CB4D4DA89BA649D3F1B2A645, + F2DDCDF62D2587FB565A442A, + B88950266CC4244E1B5394F2, + C088D98E527C1DA17B55A9D9, + B70E52FF75D44F0F1F0B31D2, ); name = buttons; sourceTree = ""; }; + 928B58D9B8FAF8D48F9B8F6E = {isa = PBXGroup; children = ( + 4F5D668DCEF2B622FD46073D, + 791ADFB0FFAEE65058B6FC8A, + 0DB1323191C133E48F07C062, + D26821159E190113FEBF99BA, + A0F2EAF085969426AC73C85D, + D4BA573C125944E2773D747F, + 0D265DF78A9FE5E669F76FC3, + 9211B175E63E325D4FF6B789, + 3C825AE2479611DA559164B5, ); name = commands; sourceTree = ""; }; + 0B4C5A9BE6E5E89A49489887 = {isa = PBXGroup; children = ( 2A59F5E28F97A435592E0B58, 4A31DFDB7AC330488B8BBEA3, FEA645D52C593ECCEA779BAF, @@ -1611,97 +2175,60 @@ 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 = ( - 46D8BC7303C892ED3F90E4DA, - 29710D5E6C3372E4480BF746, - 38D15A30D4658272F910A7AB, - D07A5399F09462A5D7041225, - 0060F61BFBCEF4E9EF8B3CC0, - 8EFB4EBA0836D5401B6D3DFB, - E13860F17C7FC399EF28EC1A, - B1B7C62CA04ACBAC6CD1C2AD, - 49794569C715BA919A01D72E, - FD5262552A90A9DFACB3C07F, - 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 = ( + F0B7D7FAA1BCEAF350925188 = {isa = PBXGroup; children = ( + CEC05A60A0E19B07F6A3CE6B, + 5BBC57B395B553CE08AC4BD7, + 94BFC3162953A5E7E192276A, + 2168310E25BD55C9A46499C6, + 92BB22C929A3A76CE6F29C7A, + CE4F0A27AAADFD53316A17BC, + D00157FA3D14BFECB7FE7232, + FD5E948C1A89B11770A20704, + B54A14A497368A580B7D9AEB, + 16ECB71D0D2C5C8BEFF4B4C6, + 8BE44C96A60C5D9B9F503409, + 6E9C1F4D69A9C99433DC67C6, + EE577E6ABD70D104CD83186C, + F0D54DDE8C2AD1D018A61FDB, + C21701DD3A4A2628C63CB70A, ); name = drawables; 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 = ""; }; + 45E1596ED96E521211C557E1 = {isa = PBXGroup; children = ( + 46D8BC7303C892ED3F90E4DA, + 29710D5E6C3372E4480BF746, + 38D15A30D4658272F910A7AB, + D07A5399F09462A5D7041225, + 0060F61BFBCEF4E9EF8B3CC0, + 8EFB4EBA0836D5401B6D3DFB, + E13860F17C7FC399EF28EC1A, + B1B7C62CA04ACBAC6CD1C2AD, + 49794569C715BA919A01D72E, + FD5262552A90A9DFACB3C07F, + 74B477DE4CFC95E20DBB0D91, + B0626D2C611D9E3DF1408BEA, + 90FEA7DB5EFC4E9B2E933056, ); name = keyboard; sourceTree = ""; }; + D139599CB4F61C7C13D8CD51 = {isa = PBXGroup; children = ( F4F618373A81FDC73AB27A91, 799472026100D7BAE015F6A6, 34A6FFC298D12BF9E4D55AA1, @@ -1738,72 +2265,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 = ( + 98E9D87AC6D6CBF72161FAE0 = {isa = PBXGroup; children = ( 0700C7069E1CF3FF8966C0E3, 4CF92825BE7B97AC268C2AA5, 56985D9599D0D1D00B42F95B, @@ -1812,48 +2274,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 = ( + 97C99D477F6782EA2CF7E141 = {isa = PBXGroup; children = ( + C9A25E2EF32224159B617D5E, + 0054E026B84A3A87020CCE48, + DA98B32DCA0DEF0113C22F9A, + 500F7CB9F45B62E46F4BBA57, + 595A9929C0E873C30AC9AA87, + 439FC260CD869E30210D98BF, ); name = menus; sourceTree = ""; }; + 43DF20E810CDDD6B066CC274 = {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 = ""; }; + C89842C62FC26883B0C753A2 = {isa = PBXGroup; children = ( 61E1C2246CBD45C5A1F40102, 8866CF798E9F84C49B9D7DCC, E1868998BA7B20DF7ED0B5E1, @@ -1870,27 +2324,107 @@ 562E99EE1A4B733B7F751955, 90841E3B0B2548A5BD66F15E, F95533D725E548643CA584D7, ); name = native; sourceTree = ""; }; + EAC8327C10490F437D9AC007 = {isa = PBXGroup; children = ( + D5EC3B41088855C3D481A73E, + CD3A68C29B7A733E5954BDA3, + 76F1A69F15F53D17C632A644, + 14AB997C7EB22777C1EF533C, + 51026A3BE98FD70FD916CF45, + D3C1097E92146B596194A067, + B316291E570F37785C40FE88, + FA2DB83279928FFB76A4BC6E, + 4E3C26EE8C6F996F207F0C32, + 1DE0CF80B807A4A702DC68BD, + 21D31B64BAD35C6C8E8E8FC0, + 29215FCE04DC4D267FF25E6C, + 412D5D6AA4018C8DF59AB741, + 807E7971CB75C806D7DB5DF2, ); name = positioning; sourceTree = ""; }; + 3B8BC3B8ED3559B87D08E5A9 = {isa = PBXGroup; children = ( + F20F182CBEF008AA1B1BB52A, + 0C61EC70BD4EA59AEEBB6669, + A1A621FDC626245B1B3C1C4D, + 9424FDB8C564B73250B7B20A, + 0ECA7867513EFA30BEA0BE78, + 4F2D3BD9697AAFA060EAAA59, + 20E10FBD8694E185CA551EDE, + 109C128BB4A7A05127A0C485, + 6B103C0FB5E6E3618ECD3B48, + EF8B8FB4B02133457562E1F4, + 7FC89C1EEB42DE3C9628591C, + FB3BE7E3D0A04791487E9E0C, + 1A788BE93E528FDAA62EA02B, + DAC4442F8C2F142270E92349, ); name = properties; sourceTree = ""; }; + 151DB5C643A850CB4A11F518 = {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 = ""; }; + C18C12F8D4BE91F3F4B6D140 = {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, + ED44052C486384CAAE2EC0B7, + 4F4402F0541204E005857C15, + 928B58D9B8FAF8D48F9B8F6E, + 0B4C5A9BE6E5E89A49489887, + F0B7D7FAA1BCEAF350925188, 1206D5C335340736A3A574B9, - 53440A90525AC832090A35F2, - 815FFA61CB68244C4BFA9A78, - 8B10235D6698BCD336ECB195, - 3900F1137E25F9A2DEDF4119, - 0E8D536FEBD11AEA3C90B5A8, + 45E1596ED96E521211C557E1, + D139599CB4F61C7C13D8CD51, + 98E9D87AC6D6CBF72161FAE0, + 97C99D477F6782EA2CF7E141, + 43DF20E810CDDD6B066CC274, + 7FF4DF540742C1E718D1F469, + C89842C62FC26883B0C753A2, + EAC8327C10490F437D9AC007, + 3B8BC3B8ED3559B87D08E5A9, + 151DB5C643A850CB4A11F518, + C18C12F8D4BE91F3F4B6D140, + 28E8CC5E40D5ADCF69FA12B2, + D104C8636576DFE8A2D11430, + 27B720A5E8CF81ABF9E50848, D104C8636576DFE8A2D11430, ); name = "juce_gui_basics"; sourceTree = ""; }; - 45216CE44016DA606FE98125 = {isa = PBXGroup; children = ( + 77CC8D4BB4EA00FCE9B58633 = {isa = PBXGroup; children = ( A7B28AD8606992FBE04C527C, 13BF0388489EB44A816C9AF6, 68FAA921E5D8CFAF9CC07C2F, @@ -1903,14 +2437,14 @@ 91CEFA76775CD035E2F9200F, 0852A866937712A0D30684A0, FE1E97C9233F2D472C7C6128, ); name = "code_editor"; sourceTree = ""; }; - 13374F67832C9086375A10EA = {isa = PBXGroup; children = ( + 2184E3EE262F0E77FB027DC5 = {isa = PBXGroup; children = ( 3BDF8DF3F3C380B1A4CE6C8F, 8632589E0C21E3B0A5DA0333, ); name = documents; sourceTree = ""; }; - 5BF35BC9897465D83C81C086 = {isa = PBXGroup; children = ( + A20C6083A30B3B9D0CA40FD0 = {isa = PBXGroup; children = ( 0E894AC7229948568720E294, C45AB95F4CDF31A41199E6D4, 414AAB7000E7FDE7683BE72F, ); name = embedding; sourceTree = ""; }; - 2E8513968E4CDE8852D85EFA = {isa = PBXGroup; children = ( + 438005B65094D42C98B878B7 = {isa = PBXGroup; children = ( B401E96340B8AB5DE8CBF5C9, BD588F8D5FD1E6FE88E9D3E4, 531BA61B027758A7978052A4, @@ -1931,7 +2465,7 @@ E29A372A41F835609F81CC43, 394CD5017D81D1CFEBE34894, 897C7B6FB012647ED8AB5D05, ); name = misc; sourceTree = ""; }; - 626453A346165A7A0C138828 = {isa = PBXGroup; children = ( + 24D06F9A7965EC1E73747429 = {isa = PBXGroup; children = ( 805EB95DB4B8045064CE9ED3, BA7FDBE53073F3261D962FF9, 2B69AEC791776F7CF337E38C, @@ -1945,14 +2479,29 @@ DBDED1D6237A21D03E68D323, 2C1B86FD1CB59198522DEF06, ); name = native; sourceTree = ""; }; B8479E2CF92E0AEE774BF1F3 = {isa = PBXGroup; children = ( - 45216CE44016DA606FE98125, - 13374F67832C9086375A10EA, - 5BF35BC9897465D83C81C086, - 2E8513968E4CDE8852D85EFA, - 626453A346165A7A0C138828, - D57735149DD4975283A0C754, + 77CC8D4BB4EA00FCE9B58633, + 2184E3EE262F0E77FB027DC5, + A20C6083A30B3B9D0CA40FD0, + 438005B65094D42C98B878B7, + 24D06F9A7965EC1E73747429, + 294CAD66B5A63FEAB2CB95D9, + 37381332DDDE8F2B3C66CBDE, + D8BAA82AC820CEF315BD9DCB, 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 = ""; }; + 34AB72B2A3EBDB74C0E271D7 = {isa = PBXGroup; children = ( A09CB6FA9736BD45103AFF46, CDFAC8C57A364EEE32CE125E, 166C141D440846E85F91747E, @@ -1970,47 +2519,38 @@ 08C7B33308A32555A7CA21B5, 5C0E42BCF4ED32E1381E7A23, 9CC0E3267A9D1EF3C8E37601, ); name = opengl; sourceTree = ""; }; - 07ADD7BA5A96F719EDBCA037 = {isa = PBXGroup; children = ( - 5B5180DAAB935CB6D1DE9AA6, - 2C246301EE0EC4A9B4058F01, - DC94270BB4A70056907C3CDD, - 75D038033B2083D5EFE620A8, ); name = geometry; sourceTree = ""; }; - 03621233E269E436B447C841 = {isa = PBXGroup; children = ( + 7B2929B6E52103AE0272051B = {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, + 34AB72B2A3EBDB74C0E271D7, + 7B2929B6E52103AE0272051B, + 01A3657086BDD1A8707EF4F4, + 4F96BFF5D1D40B81C861F92F, + 21CF5364CD4910E49D19F8E2, 4F96BFF5D1D40B81C861F92F, ); name = "juce_opengl"; sourceTree = ""; }; - 62479F93E90EEE65EEC01FDA = {isa = PBXGroup; children = ( - B83DDFEEA66888E9616BCE82, - F113DFEACAF2D8230F0DF5E7, ); name = playback; sourceTree = ""; }; 616C504727E4806B3BB3980F = {isa = PBXGroup; children = ( DD03B6CE6F750A9CECA7EDEA, 611A0824757D50610BB03562, ); name = capture; sourceTree = ""; }; - E545E915D753CB44657CFE99 = {isa = PBXGroup; children = ( + F5E88E0E8902B20B8E0F1C28 = {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, + F5E88E0E8902B20B8E0F1C28, + 802AB2803D9F6242DC1B0A16, + 0EC2D7817A5A91EB932F1EA8, + 693B6DC20214C1ED9C1E89F7, + 6018A3A37F34AE52B39A14D5, 693B6DC20214C1ED9C1E89F7, ); name = "juce_video"; sourceTree = ""; }; 7E2ABB7F81888EB9DF84E4C1 = {isa = PBXGroup; children = ( AF12826F0B38E7FC1176C648, @@ -2028,26 +2568,28 @@ 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, 66DE43B56D8670C78DD3998D, + 717FA33AC0AA2629302F0314, + C9F7ABDA09635BC3FAB0B008, 287976618152E4BA76D627FA, 732EEC584A4CE3ED07C5BEFB, 888284627B1FEA22193130AB, @@ -2056,7 +2598,7 @@ 3B5B55FF08F71060B836F5DB, 30B85C7478732E3A6997065D, ); name = Frameworks; sourceTree = ""; }; 7CA50BE1660DF7427A2CAFE2 = {isa = PBXGroup; children = ( - A748C987924800FDBA2E2184, ); name = Products; sourceTree = ""; }; + CBF69B3CBCD089CD7DC8343C, ); name = Products; sourceTree = ""; }; E2839CF91E2C633A933666F4 = {isa = PBXGroup; children = ( C69760E59D600CF000D468E8, 7E2ABB7F81888EB9DF84E4C1, @@ -2064,7 +2606,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"; @@ -2082,9 +2624,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; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; - F361F998F590FCC72F2DE949 = {isa = XCBuildConfiguration; buildSettings = { + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AnimationAppExample; }; name = Debug; }; + 58ED5763719C81C95B744A5B = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2103,12 +2646,14 @@ 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 = "$(HOME)/Applications"; }; name = Release; }; + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AnimationAppExample; }; name = Release; }; 8FB477F7B77D68FD93DC1D16 = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2142,33 +2687,36 @@ 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, + 3B937846DB65393DE597ABDE, 96B761E33D6CA3700F0A9A51, 139AEB224F22582CF606327F, 0DE5F0C9D8D826AF3EEBAC04, @@ -2176,11 +2724,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; 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/AnimationAppExample/Images.xcassets/AppIcon.appiconset/Contents.json b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample/Images.xcassets/AppIcon.appiconset/Contents.json index 5ca51e92..c0af172f 100644 --- a/examples/AnimationAppExample/Builds/iOS/AnimationAppExample/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample/Images.xcassets/AppIcon.appiconset/Contents.json @@ -3,19 +3,19 @@ { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small.png", + "filename": "Icon-29.png", "scale": "1x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@2x.png", + "filename": "Icon-29@2x.png", "scale": "2x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@3x.png", + "filename": "Icon-29@3x.png", "scale": "3x" }, { @@ -113,6 +113,12 @@ "size": "76x76", "filename": "Icon-76@2x.png", "scale": "2x" + }, + { + "idiom": "ipad", + "size": "83.5x83.5", + "filename": "Icon-83.5@2x.png", + "scale": "2x" } ], "info": { diff --git a/examples/AnimationAppExample/Builds/iOS/Info-App.plist b/examples/AnimationAppExample/Builds/iOS/Info-App.plist new file mode 100644 index 00000000..dd59b17f --- /dev/null +++ b/examples/AnimationAppExample/Builds/iOS/Info-App.plist @@ -0,0 +1,43 @@ + + + + + + LSRequiresIPhoneOS + + UIViewControllerBasedStatusBarAppearance + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AnimationAppExample + CFBundleDisplayName + AnimationAppExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + UIRequiresFullScreen + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIBackgroundModes + + + diff --git a/examples/AnimationAppExample/Builds/iOS/Info.plist b/examples/AnimationAppExample/Builds/iOS/Info.plist deleted file mode 100644 index bb8a3979..00000000 --- a/examples/AnimationAppExample/Builds/iOS/Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - LSRequiresIPhoneOS - - UIViewControllerBasedStatusBarAppearance - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.AnimationAppExample - CFBundleName - AnimationAppExample - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - UIRequiresFullScreen - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/examples/AnimationAppExample/JuceLibraryCode/AppConfig.h b/examples/AnimationAppExample/JuceLibraryCode/AppConfig.h index f15c5e10..7702cb64 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 290421ac..8c261857 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 7d4583db..00000000 --- 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 06e88f93..00000000 --- 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 e4574f47..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 718392ff..00000000 --- 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 0dd1636e..00000000 --- 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 b6100305..fe21b684 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/AnimationAppExample/Source/MainComponent.cpp b/examples/AnimationAppExample/Source/MainComponent.cpp index b06b5a34..7de6d153 100644 --- a/examples/AnimationAppExample/Source/MainComponent.cpp +++ b/examples/AnimationAppExample/Source/MainComponent.cpp @@ -62,7 +62,7 @@ public: g.strokePath (spinePath, PathStrokeType (4.0f)); } - void resized() + void resized() override { // This is called when the MainContentComponent is resized. // If you add any child components, this is where you should diff --git a/examples/AudioAppExample/AudioAppExample.jucer b/examples/AudioAppExample/AudioAppExample.jucer index 4ac77de8..b504e032 100644 --- a/examples/AudioAppExample/AudioAppExample.jucer +++ b/examples/AudioAppExample/AudioAppExample.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.1"> - + diff --git a/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj b/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj index 4468a48a..b2f627e3 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,48 +23,57 @@ 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"; }; + 00E811660870A5309B4A9C00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; 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"; }; + 018944DD5F5B86CBC5287903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; 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"; }; 040EAFDEB6C10752F3E53440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 040F3CA16CF425185E82976D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + 04779277DC5D573E41039C76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; 047A715B70BDCE0605F0CB1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + 04BAFE2FB1BAAF033BC699E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; 04CF614E82E5E0D67952963A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 050EA91C80B766D94E2D1A03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 05205756F23E4CB8A2A2CEA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; 053462A035FADA4FDCE2A8D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 054317A8EFDF8C80052EA0E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; 0580BF897CA7540D4B195702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 05864BC8C7804D05F485305F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; 06027E788981B5B21E48EDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + 0618D1485995FE91CF51D999 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; 06577256ACDA6ECA2DF0AE84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 06745837B0C272B8686ACF30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0687C181905F8F3CE2CD9B8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + 06C7BB08A232BDDBBEE970E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; 06D76C16465B649BF0CBCDAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; 06EB590F5B838B697CE72F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 06F692C85C20B60877A3E153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; 070AE2690CA06010BDBB4644 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 074142656323180FB7F224BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; 07721876CC21C0DBD17D00EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 07B9E706EBAAD4873E3914EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 07E1A679F85B690EB658E772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; 083D342FECE0C296374EF291 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 08BA9BF25A4A247BAEFA7C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 08CC510A823DA8A188233FB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -76,9 +86,11 @@ 0AA4DFC6689DAC5C6C6D30B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 0ACC027581F750956F3DBF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 0B17C68C630608414339685D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B1EFD1D3E909C010C495E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; 0B35461B91EE6372D40C26E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B8CE7C2918A2BC3C86E3CF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; 0BA2BBE2C12EFD349C06114E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 0BF74A070622B94E12727179 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; 0C211C03FF27A92ADC7706A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C28072364B08528A9AD5B85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C37646FCADAFC29F28333C0 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; @@ -88,13 +100,18 @@ 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"; }; + 0E26AFFABF371B61F52C02F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; + 0E2BB84D03FBCA69B988CFCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.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"; }; + 0F18B5F01AB6DB7E681263F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.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"; }; + 10D6995E32D2195B83AB6625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.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"; }; 1176710342A96CE5E736F504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -104,6 +121,7 @@ 121B842EB5C66CD392D7673F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 1246B7FA44AABAA2D9D19B7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 124D98B849980B7EAAE01068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 127C3926E5A687E1BBD17FC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; 12D1ED411A617AB55887F19D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 12ECDE0E70945E79B3C6FADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 12ED2DA2996DEFA911F07ECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -113,6 +131,7 @@ 1399DD492AC9998A6513E251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; 13A8EAABA98838BC051D7ECD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; 13BE8F3EF3319E21ADCF67CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 146DBBB2BEDD287F1548F186 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; 14D79056503073B08ACAA92E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; 14E46E9101177690C481518A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; 1501B794994314589934734A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; @@ -128,21 +147,27 @@ 169BA47FE95B0EFE39A1FACE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; 16A5D3C51A676B5EB96B07FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 16C249B2489B726FA38EB40C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 17F3DB5C0DDFAC4C2CEB4BBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 19BF0C0BE10BDADD223D83D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.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"; }; 1AA843725F045F4E0857830A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 1AB3BEE546811801C8D4C377 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1ADF3DDB2F716EF700B0179C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 1B2A91035699B80C11B8434D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; 1B6E61F45C2F5E81914A71A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 1B92C858971081339CAC889E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; 1BF56B39CCF7CBAEF9BB9A84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BF6BA43EA8F96D6CB9B08FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; + 1C466F49D391FF41631F638D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; 1C489FC83EA76D34A2043B23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; 1C50B35A818EC78F8FF81815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C6CEBD20314F54D2A8173CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; 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"; }; @@ -153,6 +178,10 @@ 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"; }; + 1E364F9BD6E0C8A3364B6FF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1E3AE5DF03100E6A1B3592DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 1E7244B9F96D8FEB84C52D24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; 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"; }; @@ -170,14 +199,20 @@ 221859580563CB895AAB6167 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2289F6AE28B501127D381EEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; 2296650D710569DE62A1ED84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + 22C5222C774FADE4D6B804CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; + 22FCA89693665C10D3EBA275 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; 24216587010F78821DEC47DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; + 243D4C62156CAE5435885728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 246E4D95AADE7236843D8EF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; 248D8296344CFAC3E6CA732E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 24B8757907ECF54548F90F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 24D34491A75D9158E571CE95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; 24F0BB17E458EBEC96E7360C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 25131D3A8F8DDF0094192DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; 2545022A0EE088A0C46EBD13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; + 25481ECC1A5BD1E00E344AE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; 25A32EA2B5B35D951633212E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25AB0AA93E60D4643FCD41DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; 25D592FB01574ECBD7AB256A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; 2651FD678A14B0751CB5D020 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 26A7E3CEB56737AB4E725BE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; @@ -185,33 +220,44 @@ 26BFF71147B21AEECB934431 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; 2706BDD74A8ED307B92B9BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; 2722B15F48A305F2ECD82429 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27425D315858662A35E7FDF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; 2763141DB90EDEB924F549B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 2828BD010F79E4781BE87EF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; 283761EE00FC441F1881E282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; 28B97FFBC14A808881547FA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; 28E18ED64628E325B734F817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + 293E8268A0BB8C630D4CEB27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 296031FF025F31DCE8472A08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 29618F0B1B0B284A8C715FCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 29C93739F97FE9FCA3AC4CF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 2A35B8768F9F47F2F4AE5223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A38693F2CAFA31AE153CDB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; + 2A3AA70997DFB1C348CC04D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; 2A48FAEC948B121B6EB34631 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2ABA77E8EBE6E6ECA2C52FBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; + 2B2177CA084CC290011D5962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; 2B4A4D4411B9314CEEE873F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B56C4638018F72794BEADC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BF48C4EED551C019F3D293D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; 2C255E6DCF96BD803B6EA875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 2C34C4F10FEED10795237530 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C5BAB180C4B0F64A76D265C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + 2C922B92B9EA409806048C75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; 2C9F5746F9D3DEA41F12FE58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CA8A8FEF881E1400CE33991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CB8EA303EA9DDA6A788E09C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; 2CBB52A96FFA3344C137AFB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2E1CCDE3DF0BA239EE636FC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; 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"; }; + 3097CA850D7EF5DAF2160DDE = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; 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"; }; 31BC85796D2F77677D4977C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 31C5DA5DD3FE3C167B4C6527 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -222,8 +268,11 @@ 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"; }; + 33A7431EA11DA6EA2EB54B73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; 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"; }; + 33E0CFDAD6BD866CAF23EC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; 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"; }; @@ -235,12 +284,14 @@ 367C43A83F6BBA49141755B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; 36CCF902426491CC248117BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 3737DB5B70CB03EB340745EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 376C162356A8B02C7D1F6225 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; 37737A4FE37D244DCF36F8AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 377814D716769899D3050668 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; 378103DF32A585A72D719289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 379CFA695DBA290674B9466F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; 37AC07521C58A8D0AB468D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 37DDE4779BEE726B73257328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 384E5A9C1C664C0DA41C93ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; 38628669BA3E9CF7E2DFED16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; 3A0DE69457B7A75B13579949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A22AD6926B2CC42F4E5988C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -253,7 +304,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"; }; @@ -263,6 +313,7 @@ 3E8AACC53630A2225F4C5486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 3E9355CECB4C063F13CC481F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E9420908A60B009C762593A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 3E9FB3411045A315EBEE5948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; 3EF6C867CB55DBB90076ACF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F2852F4D9EA9C67864288FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F3F28559477D3C2CE6D85CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -280,47 +331,59 @@ 408AA1123D7BFE64D870013F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 41004038C181AC5C8CDDD02D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; 41066A9B2DA06A8A42EB2302 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + 41539BB2BB1380498B4A711B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; 41D8E7CFFC16D293F934DB74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; 41DC9C31FE8A27E721AC95C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 41FDE3C3197B773438925736 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; 421D944B78CB2925F3073FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; 422E3CE271E2064729DA6F46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 422EAE67E128C8295A23F6A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 42752DCFE332744F2EB9ECBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; 427F2DF6378E91A673BD5805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 42DEA9508C54A8DF43652AA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; 42FF47A125EA72E8CDA48650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4302CD9CA740EBE5891DC3BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 43212521BA497D706D53B996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; 433F5E9D26E0EDD4B309A0C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 434777F5069C5A1EBFD0ECFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 4366A35F3F091C0EEFD58817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4378029B012345D856709C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + 438DFB77DE0AF090CA6A8C4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; 448B223113A96B6D7C026E0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; 449F72688745585AEC908DE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; 449FB9CD81DD670CE4A577CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 44AF43F408DE59FEC7FC87C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 44BFB21474150C54D8B45035 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; + 44CFB6C7A8EBD49B8A0A563F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; 44D12A261F14400C108FE695 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; 44EB27DCDBCEC36F4DB760A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; 451266541F1F93099A252033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 45350ADDD4E9BF5652A3606C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; 45A893DD2D553ED62C5B4D63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 45CAA0CEA9DA2B4F3AF549FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; 46844E11FFE3314B7A4D1182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 46AE290C54ECEFF69D62C0A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46C374E77BAFF6DCC3C5C2EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; 46EC28DEB32461DC57FC8091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 46EE36AEA94A83975A5C36C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 46FBF3438B506BBBA1C08BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4832B29659F5D97A106B5D48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; }; 48348E65A2D505CD55F894CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; 48AEBE2829B0A312E3B598BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 49067AE0E1C2121ACBEE2374 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; 490FFC3A7899AA8FBE8E2D0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 49245E8C5141A64C17209913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 49811A30680D278DA9591BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 49E5DF4D47ADC97FB605F93F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; + 49F437436A7586BD474F5082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; 4A23CE84B566F4CB61C7E57E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; 4A44D8CE1E8F932AD7F6E5A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A4D808E73E64EAC75888392 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; 4AB25C5BAD57250C530830AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + 4B349C3E8C63963A9D83007F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 4B57EFAB122FF8AD8A15DD4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; 4BB76738C3C05043BFDE3507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4C73FE9A0A6571542F55964C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; 4CA0CF8181B0B7321AC02F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; 4CA0D374BA396AC331C7657E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D130A36E132798BA1BB53FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -328,18 +391,26 @@ 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"; }; + 4DD7367AB1AE0ED2B4D049C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; 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"; }; + 4E9BB7AE6C210257A01AFA5C = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + 4EA2711A7AD55013D83AA8D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; 4F0C38D878C6A40DB5E610F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; 4F613FCE6F5079EBF19A2489 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; + 4F8AA2D9AC20DC38B1081404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; 503351935DD85F70D491ED2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 506252B820D7D570B2D1928C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 50EDCF1A36276EEDC8FE3C5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 51686AA73651EE47EF5CE35E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; 51BE027208C01296F2E76054 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 51D2D6C6DE1B44ED8EC2CDC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; 51FA79658840D67F6DFB9C0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 520229603B80DDB9383B059A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; 5248E05CA643E149A0B9A8D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 52863276575098E6DB87360F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; 52D2F52B7284090A8CC4F18E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; 5374AB638100ED67F198E888 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 53C3C3F56CEF7ED61F8451E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -348,18 +419,24 @@ 54905E0DBD3DFC08980F0635 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; 54B29F8CAEE68EECEED7A088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 54CAC1382C1237BFA1B4D877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + 54D6CA598592911CB81CFA0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 550A729142AB16A20BB99123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; 553AE1A4613ACE6750798D0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; 5546974D4F68A427792B725E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 554835604BAE08C82511706E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 55AD9D2F0D75B19660C948C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 55CFA008C55F190872354FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + 5623635CC3C7AEBACF0BCFE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 56746CAF299928212FAAB804 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; 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"; }; + 56FBAC3B04D40AEA10F3A61A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.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"; }; 57AA11256FE770C2AC1CCF9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 582B4E5E61E1F8D32B6D01C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; 582CAD0FEF6DC8676068004C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 584F5DA03ABAC58D8200F4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 58A314392D34735350431602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -368,27 +445,33 @@ 59D6E450E7823A809631B85A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; 59F516B1F82F487ED0B8A08C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 5A1ECBE0BEAF6C2B976EE813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 5A6EEC7D693AE53C8AED02A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.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"; }; + 5A9801DF7974C88AE672FB0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; 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"; }; + 5B55232C142C11D27F21628F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; 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"; }; + 5C792C6474D873A4CF29CBE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; + 5C80FAB7FECA678439516885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; 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"; }; 5CC1850C4E76C0825DF9F9A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; 5CCF73F6CF5A9AF81DF09B12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5E3F06FD782D2CD86F52DEE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.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"; }; + 5F1A204298557C9CDCBB4C7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; 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"; }; 60B660A81EF1085EAD5184A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 60D27705167513091DDADD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; 60D5DF22E19891DE5F69CC8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 60E06352A02CFAEE12295CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 613B39307B80D6D9C4D62739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -397,12 +480,15 @@ 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"; }; + 640A35CAD5EBB1AD0AB8BFA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; 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"; }; 64E7DC1B23F237CD9F141439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65562BE676379C2C89A2A528 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6577147B7ACF69FEE808565B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 65B8AFC880FE18CAD80D0C4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65C64C4E25295D8C1F59EAC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 6613704E18148830091DF585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; 661F33F1EB949D590090D53E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; 664D7BAD62148780288B4904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; @@ -418,18 +504,22 @@ 6889C9ACCCA9F33FC94DBA07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 68B59FAC7073BD9305520B52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; 68CE13A021B91CD24AB856E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68DAA6189E58E76EF24ECC45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; 69279A43C4E5EFCD851E6E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + 696D6CFC64DC094A43301F72 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 697A591A67A38D7807665407 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; 698E098BB958CC4719E2166E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; 6A1102C4FB362652CB575CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6A56CAF70AD8E4DEFFD17ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; 6A6347D9B543CE96713831B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 6C293F5757B54DCE40E8778B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; 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"; }; + 6D0661D481DD282C9A4F6A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; 6D1F6926A1A3424AD520AEFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 6D275948B4E4F4B5A5390798 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; 6D749A9561547CBF4C9D55FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -440,10 +530,15 @@ 6E12A19A4995DE066C7130B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; 6E2E587EC9DCB2595D73A5CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; 6E99388FCA0417BCE813EAE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + 6EC940882CB75B0E1ECC7622 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; 6F3004F968CFEFA5B776AA32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 6F681F8D57B92084BD4DC38F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F689AC4B401D474507500C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F87BE5F4E3B7265969D48D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F9CA852C2CD9FC39BD837E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; + 6FD8262BFF8E9AFFADA58CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + 7022359A8B3060B01A94B39A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; + 70461AEAF24C0B949814DD79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; 705D210EADDE876947060561 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; 70A73FAF31B05C5DA4CE35AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; 70D98CAAD904CF7FC923F24D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -455,22 +550,27 @@ 71C44B75937129DA6001F9CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 722A961347F2FBFBADD22E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 727001681CC52AB3D9D0FDA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 727D3B04CEC810C9E31818DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; 7287E94D566F0CCB336585D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; 72DA84A591B2827C323332B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 72EACF200EDF2E5DF7D66DD6 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; 72FDA2118BBEAF1B8AAB2D74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 73351B2FB21CDA405FEA8578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 7354BFA17F9565BE32B449D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; 737DE6483F59E9AAE31B8568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 7395529C7D5D264BCD3702F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 73B2312BC8C5D5A5A7AD87D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; 73C6D1CB1C5A500B6272A76A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; 740B836DA87A1C70DD06D1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 74354D8558613614ED20700B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; + 74C339CCD1FF1B5FBD7B6A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; 74D736A2BED0751C2A3C1BFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; 7552ACBC68EF48B063F619E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; 75A55732BFBBC2BAEE28AACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; 75AB14C9D97B3563BE688EA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; 75BAC34D9924B34C89B4D26F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; 75C69A20FBFD837BC86D860D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 75E3999637D58680266383A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -482,25 +582,35 @@ 778A0345A4F0B08ABA3ED5F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 78475701F8E01500E4CC12E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; 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"; }; + 79C2499E9591E2C028D11EE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; 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"; }; 7A356CCD42F455D41990C69F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; 7A7925B71E4B01A22C6E7453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 7ACBCD7055BDECB8D019C567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; 7B2895D4FB86B3B075610B53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 7C1FABF9A21D7211D6E1420D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; 7C3E3ACE7E74B1ED0C3BE343 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 7C4332635F1B1A449C8612E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; 7C47594E189DF41C1A9A697D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 7C86E886C3FCB671004E1CA2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 7CD5A219F0DB391B3A8FA3E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; 7D5050E0DD69CB60EF1B677C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D75EB56FF74B25CAC8B3B56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 7DDF974E74FDF5B5D29E2E27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 7DE30FBED9393A59FF08AFC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.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"; }; + 7ED25F696D0B9B0F935B188B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; + 7F55584DFEF4BEF0B1DC8DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; 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"; }; @@ -509,23 +619,32 @@ 8002BEBD6AD4EE01900CE16A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 802E9ACA0F0495F366FD61D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 804EF2A74F928AE02E380D38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 80CC4615D1FC598ABE3F01D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; 80CC6E5181AE8A06FAF7792A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; 80D99C9EB9437791B2317ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8125F4125F856212A716690F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; 81505916961455538E9B1A7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + 8161691C20EA2C09978908B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 82343F3D1688C6DEB208C3A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + 831523742EFC9D0FB8BFB3F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.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"; }; 83F1B63878AD351B064B301B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 84030B3A2263DEAB1A2EC8CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 844235B2D29429BEF2F7D184 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; 84C7DA39553A08EB2F357718 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8548A04BC8FD445C56E71D70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; 8563FE036E562AD98EAF4FE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; 856659253CBF8304601F4FBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 859DDF35ECBB53CEF93D80F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; 862FE36C50506109E33D6E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; 867C85D42A1C3296F16D4028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; + 86BBEFD5B93BFEF893F1A66C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; 86F9F3EDDA98B10C15901578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 87068D2C6B2EF98F548312B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 873BD4265902B4FB6CC3A0A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -534,6 +653,7 @@ 87E0E3F42A5E6C795C3769FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 881A14535E84A919974D8F84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 886CA18FAF31B80A3604C5B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 8876E60730FB901A1332DCCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; 88AA420D1FEF4EB95D8166FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 88F756FE30BD5DEA47C1725D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 89163E9DB0626DF42D686130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -556,6 +676,8 @@ 8BD3E08A5A6D32150E703D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; 8BFB376F26710685A2BFDE62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BFEC7409742F768017FC3D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C15F9D395DC823C0DD7AE6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; + 8C2C8AC9268D21F2BB82D60A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; 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"; }; @@ -564,12 +686,17 @@ 8D263509D4EB25038163FB5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 8D57F62E9C62502D6C8762D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; 8DC66AE55D8DDC757FEFC35D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 8E0C81DB0B094A1D72A14F7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; 8E6345C2A24786DB002C85A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; 902E481701585587D0AF4735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + 908B4E31839509B50EF0DF05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + 908F1FE4D50D7CD9DA88212F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; 90ACD3C39C69C46B567D1DAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; 90BDA0B8FE4A26E5298DAEE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 90D0993A08E71E212911B4E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; 9169D30719C69B4CF1EB6061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 91C088AA6AE523B1476ED6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 91E057273D03C8579B6CEF3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; 9214DF8A087BB905EEB1017B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 9257CFECF4696048B828768D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 929ED279A30C759680096CD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -583,46 +710,60 @@ 949131E58393C7020549AA11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 949FE95B13456FDD83BC4719 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; 94EA75B72A8361A33A498EDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94F34ABC822978B34CF71284 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; 94F37F7C1FF260E499DF95CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; 94FAAA6CF20DF5854F277026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; 9521308539218CF751ED1B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9570704662B9B890B540ACBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; 958E73D19425EE81B17EA8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + 95B81AF01C9ED31640ECB25C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; + 95BFF8347217476E96BE596B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; + 963AB3C7302E0DAAC4609764 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; 964D86CC6AD404519F939215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9708B38E625B426432C46439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 972A6F7946F6AD49363B086B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 973257D8FB62DAE78ACE85DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 97F0F9EB4F3131BE9C4684D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9837ED0D470BD0E633A71F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 98DFC6A85CB893442E014D84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 9952CCF0016EF6F0429A1366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; + 99CA6ADBC1E1D4393F828E63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 9A07C2A820D1A4D1C5429E6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 9B2B746361D674336D450164 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; 9B47191752AD5B64A858FC13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 9D6C27B0FB901C5AEF07A6BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 9DC7E8A153861BEC0C8205A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; 9E008BCB36772AA2445607FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 9E20217FB413D60F83A931AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9E67899F08C1CB65A37C728F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; 9E7E1945498A6BC57A2768EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; 9E8979F0765D76FDC54E0FA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 9EC352467F1AACE708FDB4C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; 9F0363632194A6415E392DE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; 9F14A2AA61821A565FF22D39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9FE0CD7594DBB296791F83E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; A003021CCCD1F8D2200E9066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; A08FAB7BE9C27D36087D4B45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; A091657F22DDCFFC2D0E3E68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; A0A94042C6D636512C7A41EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; A0B6BA5149627A02342A1691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; + A0F88827B74C3AC6C525A5FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; A16CAFD9F29F03D5A11457FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; A18B835EB367E1D27693517D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + A1B654DD3057E3897E5C20A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; A1CC4DCD28D612221D9B445C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; A1EFE173102C316855A3E277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; A20A2F639F28E15631EEEA35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; @@ -638,24 +779,32 @@ A4B3FB3D6F0A5EF90023F514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; A516757003C57D4D3E5C637A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A535408525D77AD8CD01315D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + A566883DA78BC9C542DF198D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; A594E86AD063F609FCD9888C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; A59C4B4BAC10B374D8CD17C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5CEAB1F6D372491DAA89571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; A64E0921A828155BF1F5455C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + A670FAB7E1B917B9FD22EC98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; A6810E5A98CB9E4244EE6361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; A6A6BF31BD4CE0ED3B3B472E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; A6B4D18AE0EA3236E07BAC6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A73F17EBDBDA9DDCB48D0432 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; + A75AFDF8F6AE64BD46D65B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + A80F5D54FFF0EE468EDCA9FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; + A82769B852E37C84785A8A53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; 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"; }; + A8CCF400E8D1FE6B477D20DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; A8CEABF70ECF7561C73604C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; A943021729B460E5CF76D54A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; A9AE20E7B5E5A3B47C18EC11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; A9B5EEEAFA441F850358281B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; A9B7641B8DC31EB20DA18BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9BC04CDBB89B5C69F451DBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; A9C0D755D2D644AB9B9EE13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; A9C31C52F36697E74384B83A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; A9E584C98134D88F8317056E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; @@ -666,6 +815,9 @@ AB8486AC595BB23DB29EDE78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; ABB6B2384A0390705A173633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; ABC57D52DD141A202B145B54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; + ABCD122A8F9A9EC72A03B762 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + ABEA9EF38E5D8889BABDB8D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; + AC0BAFA4938BCBE8B7935AE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; AC5BB40FA10713128CC9A2A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; AC8848FA6745CDFDFAF2F927 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; ACD7AEECAD82866A14BB111E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -674,6 +826,8 @@ 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"; }; + AE85D09C31178E0F749A81AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; 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"; }; @@ -683,6 +837,7 @@ AF601ABA3B20D0E5999328C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; AFA2ACD68CD580639886A60B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; AFD134A52E53280F52870EF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + B03EE3A801B1D66051E1854D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; B043471A2BE93BA496CA44C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; B04E7F101D9B104C6E4F180D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; B05B1D7ACE1C33319A87328A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; @@ -691,15 +846,23 @@ B0C8BABB5E59C2F7FAA37689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; B0F79D18A4A523D01E05A940 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; B0FFC533F760AED1CE7B2BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + B13EA4B367C04B6CC907A653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; B1BF44D54337520D281A4471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; + B1FEE99A7C2CBF89B415694B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + B224C0C216BEC2C7D4BA7D00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; + B24D811F4C0290F7B34071B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; B27AB74B32E014257ACF7EC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; B28EBA2EDF0E543EA1ED374B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; B2D1342CC46A382FEB8043BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; B307D90DA0DC9A76DC723878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B343ECF6364A1693C3E86562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; B35E6FA7FA077CB7887CB7EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + B3DA27C2A5A7518C12131958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; + B43FC525EC63E5977EAA1CAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; B463D24B6025AB064E03FBE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + B494C11AAED9D3B5C748FEBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; B4EBC54E160BF6EFDA54A708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; + B4FCFB0769B519DD59BE5C8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; B50129FF78D1FCC64DB4D51E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; B54E4A120CB79F8BB5BCA1E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; B595F0B82E93560FC2CE5EAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -713,20 +876,26 @@ 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"; }; + B82AD0CA59B47AB8FEE8015F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; 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"; }; + B8E5CC766BEAE2A75229D746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; B98D12869BACB1D0ECB4EE95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + B9A61DE2A3BCFDFDEE0915D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; BA118EFAC919B4F2D27F9821 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; BA27FD5D74A9F7C7D0660EEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; BA4268340FC48F04264E4992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; BA4496257844A6CA50995840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + BA57E0BF8A62C9F21B654314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; BA724CE76B93BA0DF39FCC6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; BACFDC91EDA31FACCF2B15DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; BADB10DBDB2B94E03AF14B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + BAF79F7AD61C6F9D075B7CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; + BB022F7F4B42FFA0EF0CA057 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; 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"; }; @@ -735,6 +904,7 @@ 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"; }; BCDA77D2C1C152DA77B2558F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + BCF963D2FA867396A95C761E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; BD106C3E071AA8FBBA28501F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; BD70FA4626657FF1DEBB10DA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; BD818EEF611179A02E2667BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -742,26 +912,38 @@ BDC870E69E95845672295AB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; BE187CBB955859129715DCEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; BE439FE1379CC46AD8DA5F78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + BECB43F9B14DF315A6427885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; + BEE2C263F84DD6846129ED1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; BEF6E9C8B9FE65A89F84DD3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; BF0600EC50B69C509612CCB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; BF44CE913E3ABC7CBD3A7005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; BF63AD2390FFED75EECD4FAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + BFA18696481DAFB502EA4BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; BFB539E4567CACD9D0DE55E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; C02300F6DDD1A5D705603B0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; C03B12980850005B9ECF2E17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + C04CB0D7E420CE20576F16AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; C0813C1842A72A80AEBC8D3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; C08F4E167F53BD59708ABC46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0B69D7BBADF0F4E657F3549 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; + C0CEF82465C13FF8B6C1B518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; C0F2634964D63D63A8A9E892 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1086888EDD846C241174E1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; C119EC562AC9BCE4E6B61067 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C15DEA359893E2ED3EDAF068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; + C1B7C3023580A6BA14147650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; C1E4AD74F8C069DBFBA4E782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; C2015BA8A41561F8A723C50F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; C22ABECEBF209672CC22F38D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + C270D33BB7063F3CA87060D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; C33A6A02E9F92ABA9618DD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; C3429B905F1744303CAE83AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; C35667BD04402DF29D3FEF8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; C3DE0ED05484B10615E59191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; C40EB67E7237BE2217C1E7A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; C4117C0CDD0F80BCA4E8E9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + C44A9F021B7493EBB381A996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + C486CF05AC76411C7DCCD1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; C4A9D089AA401E6F8244181C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; C4F60DBF5BC6169F4B7357A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; C4F92727F81156801D2F61E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -775,48 +957,70 @@ C751B4E213343FF77A0681B6 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; C771A511AA82C6C652D4FC70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; C772B460012E89562C4D93D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + C7BA2B70AA9CBEB4FA379BEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + C7C4A19968351E3714E3A92A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; + C7E2FCA48D1B8E4342E3764E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; + C7E4FDCBB6C2E749B4071D7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; C7ED330EB140FCC0B096E2E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; C803F9C7B980825563EF5C61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; C807A91F69CF02432499E1E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; C81CCF965B4C7E21308B305C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; C86F3258822428DB91009687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + C8931FE1A63291CBAFB35814 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; C8A3BA380B7DADEBA46EC1FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + C8F44509007C71B8E14E9ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; + C90DB58EB56DF71AAB5AEC5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; C92EDF999BB6D02D070A8A62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C9E07ED1F8A2B7DD090A44BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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"; }; + CACAE6283CCEC032802AD275 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; + CAE9781DFCC41E750EC5807B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; CB0B2A556417D63523EA8C83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; CB87E7F59C616A0E20ECB7EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; CBB3BF85622B9B875544C558 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; CBF985C3779D9B0BFE5F15D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; CC180EFFA43B485F1A6DE764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; CC27C420117D56ABAB4984C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CCB9E435244EFDEAD87747A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; CCD10DDE00405843C68CD278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; CD10CB521F53F36674738E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; CD13739C3599635DE5F687B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; CD8C53CF62B19A8E549D5C71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + CDC751103E8ABE9CADEF98BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; CDD9D8D1D0DEED5F91CD0503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; CDEFD12DAEF30B7A13DFF8F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; CE72F875E02FAFF5C9C3B4E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; + CEF47DFDD810B6A6633665BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; CF01DB44007FF6940848C91A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; CF16FBA5840B89D53711C89F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; CF412309E5514E05CBD2A30F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CF6B3F4DF15D7BAAEB2495BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; + CF6E0A89DA49E7D810CF49A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; CF6F99867E4ECCD2A2ED0B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; CF746C34F8DB1B073F1A4FA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + D12CAB967B7BDA38EB5E8026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; + D134AB1680C943C338D6B6D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + D1495753000159AD984DA123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; 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"; }; + D15983C0C4540641864D46DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; 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"; }; D34801677A2E2B17CD6CF93A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; D396F2D0FF34CC5C59FA3DC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; D3AE4AEF45E4694F90FA90BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; @@ -824,89 +1028,113 @@ D45B9852EE24763DB29A07CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; D45FA51540441FC7D57E016A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; D46770CDA754135BF9471DF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + D4E8524A7F793A309039F3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; D56D6ADB264AC3107EE2D5C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; D57B55B2B9CE6B6D9D6EFFCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; D583ED6D9DF5CADB3AE660C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + D59DF1631592A9A9955A5278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; D5A52E8FCFD2A574B140050F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5C975D1C3B065AC14FB6311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; D5E118687F94A7A960E7EC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; D5ECF9579C0C6725ECC5654B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; D61678919BFC783EC4062605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; + D64591D66210D08D4AA5DC05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + D651F8F1F8E732F91907DA71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + D67E6656B78F733781FF522F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; + D6CA7F8EDC19C7EFC48AB7B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + D6E6B7AD8FBD0DA7B3652409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; D73A06F366784CFAA87B7BEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; D74826F0CFF78A5C10D954C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; D78365C74082A1253E12AF17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; D7ADC23EB8DDCAA960EE5745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; D7E99FDE83844ECAA502376A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7EADA1D2664FD94DECE6B2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; D817A6C2192C3954C8B63045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; D8A9DA040BE1279C9863B422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; D8C1391D9B2819FC8257719A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + D91F375D1669E1088BA1DFEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; D9E37E3E825916FFC5391BCC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; DA0DD5BF97E3F28C9CCA4A74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; DA366F25CE709950B866C7D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; DA3C59A6D8FE2E93EF171A41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + DAA2C41F43AC328589D5B524 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; DAD5AF16CB91B3134BFDBA0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; DAF2DC4885AA5A5263A16E94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; DAFB41CC5DFEED6280C3D776 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; DB1613193F82A43CE17AAF88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; DB353F5970D6CF72284F6794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; DB3F9BFDECB17176CD53C029 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB45864369FB3F7582016B8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + DB52D2DCA420778599822007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; DB597523D1985EA60A403B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; DB6C3F30A7B477AA3A695B2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; DB7A3C83FB705898F07C13A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; DB8D923C776A1038384A10D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + DBD688A77C7F16965E26D0C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + DBDC4FE955863B57DBB892BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; DBEE524633668464C9593EE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; DC0D7D089158296DF472F703 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC3B8C3F2BB86DEAD6987048 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; DC52C218059FD576DD0937FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; DC63BD4245A44AA0E41382E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; DCA045C3BF4FAC134D479F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; DCCDC8D852E777EF63078AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + DCCE4FD3F2077865C242A6EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; DCE3EB6C3DF640697ADD3F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD7409CE181B8593F560FE27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + DE350A7B7F148EDE3EB542DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; 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"; }; DF8AC8795BBD9CC5918F5969 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; DFD0AFFFEC046CBD6E837825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + E002582CE609FB97FA74893D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; E0026785667979561D036936 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; E03B0CE2DF954597EDE01376 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; E238C3F270655B4324101263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + E2949305640841FE636D6D48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; E2B8FC5BD4B67250BA9335A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; E5AFBFD69831A70A1C8CC994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E5D8D693736794CBF24EAC22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; E6096A408885ECA69BCB15E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E6AC64E44D1F8E4167F606B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; 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"; }; + E78C359688C47C426B7C3F62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.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"; }; 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"; }; + E97CEC9453930F9D6CC74704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; E97F0C403AFAF4820EDB55F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; E9AFEB90653FD6CBE935D29D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; E9CAA6108E4CC9A8240EDDC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; E9CE9F9373D3557656DFD116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; EA07D9E1051E8FBBB8C21064 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + EA11535479BC5B2B7AB3EE10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; + EA7D39752C67C8D58FABD98B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; EA85ECBD920A5EE3E79B57E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; EAAA2AC12D38A7162C99E24B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; EB1D64642D7FA904D675770E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -927,32 +1155,45 @@ 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"; }; + EF49C6A72176805C4B23E761 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; 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"; }; EF9C89B3C7A5808769ADFD76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EFBD1FF8A3D831CF3F78C2DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; 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"; }; + F2CB1B58E23EB7061A08F5E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; 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"; }; + F3DF15EDAF61ED0FE6E2B145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; 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"; }; + F4B216F4F76CC414C29D0FCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.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"; }; + F5037B67510FDA52C9A83829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.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"; }; + F68C761355C8BEF77C6E0D07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; F8412676F1B3EAF03D7928FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; F84DED97A83644758D30181D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + F895935E3FED1346F72A6525 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; F8A71BF8EF7965A2F9B0E396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + F8B44A461A8B0DCDB970307E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; F8E04FA3724E51F271D61F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; F90C21F489684D23EDD78BCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + F93E820028869AA360740BE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; F940D16031F521E526383AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F950431A9C0864A8EADF9996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F987F1DEE4BE04FBC1C911C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + F9E839C89F925E89003CC552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; 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"; }; - F93E820028869AA360740BE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; FA01A4ACD8E51ECC2D1C1B63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA0B13EA5304BD704A327B75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; + FA4B359528AACF774A9D7C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + FAA94DDD935004D19E6BAFDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; 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"; }; FB4B0B7CB3B7693E633DF85D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -960,17 +1201,23 @@ FBABB528D9CB9FCA127D3702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; FC43C9F152FA300C417AD510 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; FC4F4A4607AA7CA722526B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC565E7FCDBE5C07DBDC342B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + FC740ACAF08CEF9F17D8B047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC8ED34F51FDE723B6EC610B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; FC9E35A083FC90411722B192 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; FD81229B12072A6A5D27465C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FD99146BE07F3D5D11E19ACE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; FDA2E20181EEDFABEE8CACCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; FDC2F46EDF05732F05628411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; FDD141E4E766AED3F01003B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + FDEEBD67174FB869B9CDBF6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; FE004044BFD20BEA4153C471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; FE0594A998F5C9FE8C2A11DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; FE069E74A6308FF79DF3DC29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; FE39247372F71DB8B9D7DDC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; FE87D270C0095EC7B0FC0F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; FE8F197A2BB3631561C8A694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + FECAF9513A9D6D717508DCB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; FEEE17569A737C486258BC9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; FF46CABD4A7C29380D4CAD26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; FF68B4C1DF411EED5E88DBAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -981,13 +1228,15 @@ D78365C74082A1253E12AF17, ); name = Source; sourceTree = ""; }; 24BF2D05D134C386864C4C7D = {isa = PBXGroup; children = ( C366FD2226833583ECDE68D2, ); name = AudioAppExample; sourceTree = ""; }; - F2E49DBAE98ABA5E5C031BCF = {isa = PBXGroup; children = ( + 9827D1759F7D4C6C17CA1F73 = {isa = PBXGroup; children = ( C2015BA8A41561F8A723C50F, 9E67899F08C1CB65A37C728F, 9169D30719C69B4CF1EB6061, 10F336062BF70F1171393EA0, 5AB7146863FE8F4F5AD7A092, ); name = buffers; sourceTree = ""; }; - E141FDB76076E9900A282A25 = {isa = PBXGroup; children = ( + BB1935752BECF62B1876C135 = {isa = PBXGroup; children = ( + C44A9F021B7493EBB381A996, + BCF963D2FA867396A95C761E, CDD9D8D1D0DEED5F91CD0503, 3F88D654099659A1CA38D409, 0C5E5B8CF7DEE3AC90CD251A, @@ -997,7 +1246,7 @@ 6F3004F968CFEFA5B776AA32, C803F9C7B980825563EF5C61, 75BAC34D9924B34C89B4D26F, ); name = effects; sourceTree = ""; }; - 177E3C8F145F08C8D31DF35F = {isa = PBXGroup; children = ( + 6C5A845067BB60D0AA7B522E = {isa = PBXGroup; children = ( 49245E8C5141A64C17209913, DB353F5970D6CF72284F6794, 3A0DE69457B7A75B13579949, @@ -1010,7 +1259,7 @@ 367C43A83F6BBA49141755B7, 67B09A8FEF0A70DBF68D573C, A84C613340F1766BB5D46145, ); name = midi; sourceTree = ""; }; - 270A7B39CC9DE46FC3B843F9 = {isa = PBXGroup; children = ( + 8AE817475609A6FD72A85139 = {isa = PBXGroup; children = ( CB87E7F59C616A0E20ECB7EE, BA118EFAC919B4F2D27F9821, 3F3F28559477D3C2CE6D85CC, @@ -1046,19 +1295,25 @@ 5435DECD3AC65DBAC5C2A267, 0407B0BEDEA7EC85B84197CD, 163C76000FCA6DEEC7C240EC, ); name = sources; sourceTree = ""; }; - 57F3A961E989E4F578F6B428 = {isa = PBXGroup; children = ( + 544EB6E6BA247AA5AC7CC6AA = {isa = PBXGroup; children = ( 84C7DA39553A08EB2F357718, 0AA4DFC6689DAC5C6C6D30B3, ); name = synthesisers; sourceTree = ""; }; 42D107F741897BBB52B61202 = {isa = PBXGroup; children = ( - F2E49DBAE98ABA5E5C031BCF, - E141FDB76076E9900A282A25, - 177E3C8F145F08C8D31DF35F, - 270A7B39CC9DE46FC3B843F9, + 9827D1759F7D4C6C17CA1F73, + BB1935752BECF62B1876C135, + 6C5A845067BB60D0AA7B522E, + 8AE817475609A6FD72A85139, DD62545F8D5941E384FB7D0E, - 57F3A961E989E4F578F6B428, - 02CF5AD726503AFB1193C81E, + 544EB6E6BA247AA5AC7CC6AA, + A5CEAB1F6D372491DAA89571, + 886CA18FAF31B80A3604C5B3, + 19DBF218B50AA295AED50CC2, 886CA18FAF31B80A3604C5B3, ); name = "juce_audio_basics"; sourceTree = ""; }; - CB1B7A138B91EEBE7BFE8C37 = {isa = PBXGroup; children = ( + 3E84E4C7BECC9CBA1261BFD9 = {isa = PBXGroup; children = ( + 81C9752ED058D6AAAE40E021, + FF68B4C1DF411EED5E88DBAD, + A9C0D755D2D644AB9B9EE13C, ); name = "audio_cd"; sourceTree = ""; }; + 49EAE50D648F855C75230204 = {isa = PBXGroup; children = ( ECD6FDB8D99D661E23915E85, 448B223113A96B6D7C026E0E, 782C982DE17D3619F58453B3, @@ -1066,22 +1321,13 @@ 37DDE4779BEE726B73257328, B043471A2BE93BA496CA44C9, 1E02091AE0A7BB79608FCC0D, ); name = "audio_io"; sourceTree = ""; }; - 11FB0A16BC11F8811563E23C = {isa = PBXGroup; children = ( + FFC332F3B408919CF7E5D42B = {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 = ( + 90ABF4F46983014ECB8AA7FB = {isa = PBXGroup; children = ( 80D99C9EB9437791B2317ED5, 802E9ACA0F0495F366FD61D5, FB4B0B7CB3B7693E633DF85D, @@ -1101,31 +1347,169 @@ 4E81FC636E217976041F8FD0, 0C28072364B08528A9AD5B85, A3E8C954C194E24AE1907AE2, ); name = native; sourceTree = ""; }; + 54C2976F1C8239E23DEA679D = {isa = PBXGroup; children = ( + 550A729142AB16A20BB99123, + 9E8979F0765D76FDC54E0FA3, + 7DDA47BB9CE313C8AE917F40, + FE39247372F71DB8B9D7DDC1, ); name = sources; sourceTree = ""; }; C1CFAF0419BB789AA0E38629 = {isa = PBXGroup; children = ( - CB1B7A138B91EEBE7BFE8C37, - 11FB0A16BC11F8811563E23C, - FA179D6940326B16EA8F4EBE, - DB3BC4FF9BBE474A50B1BD39, - 75059FB5256785C4D9234524, - 5AE6D28B2C36587A4F0E9DE3, + 3E84E4C7BECC9CBA1261BFD9, + 49EAE50D648F855C75230204, + FFC332F3B408919CF7E5D42B, + 90ABF4F46983014ECB8AA7FB, + 54C2976F1C8239E23DEA679D, + 04BAFE2FB1BAAF033BC699E8, + 41DC9C31FE8A27E721AC95C6, + D08758C4B60AE0ECD82D8EF6, 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 = ( + 351ECC2F5FF6F2525574D934 = {isa = PBXGroup; children = ( + A566883DA78BC9C542DF198D, + CDC751103E8ABE9CADEF98BE, + F8B44A461A8B0DCDB970307E, + 9D6C27B0FB901C5AEF07A6BE, + A8CCF400E8D1FE6B477D20DD, + C7C4A19968351E3714E3A92A, + DBD688A77C7F16965E26D0C0, + D5C975D1C3B065AC14FB6311, + 7C4332635F1B1A449C8612E4, + 6577147B7ACF69FEE808565B, + 04779277DC5D573E41039C76, + D1495753000159AD984DA123, + FA4B359528AACF774A9D7C51, + A75AFDF8F6AE64BD46D65B39, + 384E5A9C1C664C0DA41C93ED, + 376C162356A8B02C7D1F6225, ); name = private; sourceTree = ""; }; + ACC4F1B69A84670D947FF89A = {isa = PBXGroup; children = ( + 5E3F06FD782D2CD86F52DEE3, + FDEEBD67174FB869B9CDBF6F, + 33A7431EA11DA6EA2EB54B73, ); name = protected; sourceTree = ""; }; + 1F2969394D82C521B4BBE015 = {isa = PBXGroup; children = ( + 351ECC2F5FF6F2525574D934, + ACC4F1B69A84670D947FF89A, ); name = include; sourceTree = ""; }; + 1E8EEDBF3C9A41562D63B3F3 = {isa = PBXGroup; children = ( + 1F2969394D82C521B4BBE015, + 5A9801DF7974C88AE672FB0A, + 727D3B04CEC810C9E31818DF, + DB52D2DCA420778599822007, + FECAF9513A9D6D717508DCB5, + 520229603B80DDB9383B059A, + 17F3DB5C0DDFAC4C2CEB4BBD, + DAA2C41F43AC328589D5B524, + B13EA4B367C04B6CC907A653, + EFBD1FF8A3D831CF3F78C2DD, + BB022F7F4B42FFA0EF0CA057, + 95BFF8347217476E96BE596B, + C15DEA359893E2ED3EDAF068, + A0F88827B74C3AC6C525A5FD, + BFA18696481DAFB502EA4BD0, + BECB43F9B14DF315A6427885, ); name = libFLAC; sourceTree = ""; }; + 464F65E3CFD35FDCD8904B0E = {isa = PBXGroup; children = ( + 1E8EEDBF3C9A41562D63B3F3, + BAF79F7AD61C6F9D075B7CF6, + 42752DCFE332744F2EB9ECBC, + 56FBAC3B04D40AEA10F3A61A, + CACAE6283CCEC032802AD275, + DBDC4FE955863B57DBB892BF, + FA0B13EA5304BD704A327B75, + 4DD7367AB1AE0ED2B4D049C5, + 963AB3C7302E0DAAC4609764, + 0618D1485995FE91CF51D999, + D15983C0C4540641864D46DC, + 10D6995E32D2195B83AB6625, + C270D33BB7063F3CA87060D3, + B43FC525EC63E5977EAA1CAA, + 5A6EEC7D693AE53C8AED02A6, ); name = flac; sourceTree = ""; }; + FBFA293A3CD6F3619F8CD5BB = {isa = PBXGroup; children = ( + 2ABA77E8EBE6E6ECA2C52FBB, + C0CEF82465C13FF8B6C1B518, ); name = coupled; sourceTree = ""; }; + 0E1ECAD06321A905539C78FF = {isa = PBXGroup; children = ( + B224C0C216BEC2C7D4BA7D00, ); name = floor; sourceTree = ""; }; + 4DA22AAD786F75C9D85ED6A4 = {isa = PBXGroup; children = ( + 44CFB6C7A8EBD49B8A0A563F, ); name = uncoupled; sourceTree = ""; }; + ABEBFCCAA6FA1262E3E64B04 = {isa = PBXGroup; children = ( + FBFA293A3CD6F3619F8CD5BB, + 0E1ECAD06321A905539C78FF, + 4DA22AAD786F75C9D85ED6A4, ); name = books; sourceTree = ""; }; + CFAD3F18D9D6A6702A7E2B53 = {isa = PBXGroup; children = ( + A9BC04CDBB89B5C69F451DBB, + F4B216F4F76CC414C29D0FCE, + 74C339CCD1FF1B5FBD7B6A17, + 19BF0C0BE10BDADD223D83D7, + 6C293F5757B54DCE40E8778B, + 6EC940882CB75B0E1ECC7622, + B4FCFB0769B519DD59BE5C8D, + ABEA9EF38E5D8889BABDB8D6, + 050EA91C80B766D94E2D1A03, + 74354D8558613614ED20700B, + 908F1FE4D50D7CD9DA88212F, + E97CEC9453930F9D6CC74704, + C7E2FCA48D1B8E4342E3764E, + B03EE3A801B1D66051E1854D, + E78C359688C47C426B7C3F62, + C7E4FDCBB6C2E749B4071D7E, + 25AB0AA93E60D4643FCD41DB, + C04CB0D7E420CE20576F16AD, + 831523742EFC9D0FB8BFB3F4, ); name = modes; sourceTree = ""; }; + 6D34BFFCDDC00C704CCEB6CA = {isa = PBXGroup; children = ( + ABEBFCCAA6FA1262E3E64B04, + CFAD3F18D9D6A6702A7E2B53, + F3DF15EDAF61ED0FE6E2B145, + B24D811F4C0290F7B34071B4, + 1C6CEBD20314F54D2A8173CF, + 7ACBCD7055BDECB8D019C567, + 2C922B92B9EA409806048C75, + F68C761355C8BEF77C6E0D07, + 908B4E31839509B50EF0DF05, + FD99146BE07F3D5D11E19ACE, + 22C5222C774FADE4D6B804CC, + 8C15F9D395DC823C0DD7AE6F, + 68DAA6189E58E76EF24ECC45, + F9E839C89F925E89003CC552, + 41539BB2BB1380498B4A711B, + DD7409CE181B8593F560FE27, + EA11535479BC5B2B7AB3EE10, + 29618F0B1B0B284A8C715FCF, + E6AC64E44D1F8E4167F606B6, + 6F9CA852C2CD9FC39BD837E2, + 1ADF3DDB2F716EF700B0179C, + CEF47DFDD810B6A6633665BE, + E2949305640841FE636D6D48, + C8931FE1A63291CBAFB35814, + C90DB58EB56DF71AAB5AEC5B, + DE350A7B7F148EDE3EB542DC, + 95B81AF01C9ED31640ECB25C, + 582B4E5E61E1F8D32B6D01C2, + AE85D09C31178E0F749A81AA, + 82343F3D1688C6DEB208C3A1, + 8E0C81DB0B094A1D72A14F7D, + B3DA27C2A5A7518C12131958, + C0B69D7BBADF0F4E657F3549, + 49067AE0E1C2121ACBEE2374, + FAA94DDD935004D19E6BAFDC, + 8876E60730FB901A1332DCCD, + 5F1A204298557C9CDCBB4C7F, + 80CC4615D1FC598ABE3F01D6, + 438DFB77DE0AF090CA6A8C4A, + 9B2B746361D674336D450164, + C7BA2B70AA9CBEB4FA379BEC, + BEE2C263F84DD6846129ED1E, + 07E1A679F85B690EB658E772, ); name = lib; sourceTree = ""; }; + 74DC9BE7501B68A840310AED = {isa = PBXGroup; children = ( + 6D34BFFCDDC00C704CCEB6CA, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + 402DA9155D45B84C6A272757 = {isa = PBXGroup; children = ( + 74DC9BE7501B68A840310AED, + FC565E7FCDBE5C07DBDC342B, + 2A3AA70997DFB1C348CC04D8, + 859DDF35ECBB53CEF93D80F0, + 8C2C8AC9268D21F2BB82D60A, + 3097CA850D7EF5DAF2160DDE, + B82AD0CA59B47AB8FEE8015F, + C1086888EDD846C241174E1E, + F5037B67510FDA52C9A83829, + 4832B29659F5D97A106B5D48, ); name = oggvorbis; sourceTree = ""; }; + 91C348A4ABC2AF7C416F85D2 = {isa = PBXGroup; children = ( + 464F65E3CFD35FDCD8904B0E, + 402DA9155D45B84C6A272757, 7C47594E189DF41C1A9A697D, ACE73C5C489D1CF6D4824776, C95E510FB09338D7BB74781D, @@ -1144,16 +1528,51 @@ AF1DDB78AF70C25D07D77387, 881A14535E84A919974D8F84, D28E2CC83808A521E99BA3C9, ); name = codecs; sourceTree = ""; }; - 2A60CB51A3C591E01CB900F8 = {isa = PBXGroup; children = ( + A24D0B849E2326C6BB1D5425 = {isa = PBXGroup; children = ( + 3E9355CECB4C063F13CC481F, + 582CAD0FEF6DC8676068004C, + 1176710342A96CE5E736F504, + 0BA2BBE2C12EFD349C06114E, + 9A26AEA080345998826A7F9C, + 76F5916C8F6C275EBBC12901, + E0FBED51F796AF5616D51696, + 4B57EFAB122FF8AD8A15DD4D, + E6538FD6973A159756E2DC91, + 75A55732BFBBC2BAEE28AACF, + 62E68C38E001F2FE60397D3F, + D8C1391D9B2819FC8257719A, + F8A71BF8EF7965A2F9B0E396, + 87068D2C6B2EF98F548312B7, + C945BC507F2AFD320F0FA60D, ); name = format; sourceTree = ""; }; + 18847922511AFC4411F037E3 = {isa = PBXGroup; children = ( 0029311BFF31395FD00963CA, 75AB14C9D97B3563BE688EA8, ); name = sampler; sourceTree = ""; }; BCC969C3BC478853FD7E336F = {isa = PBXGroup; children = ( - A829EEC7C9D388964229DE57, - FA1254B776BFC3471DB96D0E, - 2A60CB51A3C591E01CB900F8, - 5BE6EA9AF8FB65EE6C5A2DDE, + 91C348A4ABC2AF7C416F85D2, + A24D0B849E2326C6BB1D5425, + 18847922511AFC4411F037E3, + 79C2499E9591E2C028D11EE9, + B28EBA2EDF0E543EA1ED374B, + C987F7105C386F9799C74AE5, B28EBA2EDF0E543EA1ED374B, ); name = "juce_audio_formats"; sourceTree = ""; }; - F94E85FEB3110173DE42317B = {isa = PBXGroup; children = ( + DEDC52AF030382BB5EE916EF = {isa = PBXGroup; children = ( + 21ED255865DBE1B9B27CE0CE, + A9B5EEEAFA441F850358281B, + BC77947BDED20C022DE3D8B8, + D45FA51540441FC7D57E016A, ); name = format; sourceTree = ""; }; + 4346DB4FF08B3FB0AA3D9C26 = {isa = PBXGroup; children = ( + 7FCEC7C5C54AB90A7709406F, + B905BFB6C174B284D84339A2, + 973257D8FB62DAE78ACE85DD, + 37737A4FE37D244DCF36F8AE, + 040F3CA16CF425185E82976D, + 6C32FCD6B87189C1F43BD462, + DB6C3F30A7B477AA3A695B2D, + 6D869E6ED7DF080A9FAF162C, + 6C4F8F17F78FE9C8B45941D3, + DD7C6F9CAF5CBA11B6024A83, + 5374AB638100ED67F198E888, ); name = "format_types"; sourceTree = ""; }; + E3B1FB08635B63FE110F2D04 = {isa = PBXGroup; children = ( D5ECF9579C0C6725ECC5654B, DCA045C3BF4FAC134D479F0B, E9AFEB90653FD6CBE935D29D, @@ -1170,24 +1589,7 @@ 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 = ( + B15BA9691F55085AEA9F9476 = {isa = PBXGroup; children = ( 1B92C858971081339CAC889E, FE004044BFD20BEA4153C471, DC63BD4245A44AA0E41382E0, @@ -1204,14 +1606,16 @@ 10F35EB3267D17EB21EE9EEF, 1859D1550F703A8B0E2E9678, ); name = utilities; sourceTree = ""; }; 0F1330B9E634C8C1D2A19EAD = {isa = PBXGroup; children = ( - F94E85FEB3110173DE42317B, - 9EEB441FDDAE7DD5F3E24041, - 2897EA058D69BF9B0C8A446D, - 83B7987F50AC8F2EE5E1C2A0, + DEDC52AF030382BB5EE916EF, + 4346DB4FF08B3FB0AA3D9C26, + E3B1FB08635B63FE110F2D04, + B15BA9691F55085AEA9F9476, D74F542E998B0A51BAB9D571, - 30E959B23AA2EBA0CB11D121, + 05205756F23E4CB8A2A2CEA5, + 5E151D89199CE9D3E7C3F0B8, + 768E5A86B7E84A146818B866, 5E151D89199CE9D3E7C3F0B8, ); name = "juce_audio_processors"; sourceTree = ""; }; - 785AC00FC0793B0127274AAB = {isa = PBXGroup; children = ( + A4DB99A85C6106C5D535CDFA = {isa = PBXGroup; children = ( 9CC7A321D4B4323FF06A03B9, 6D9E97482246DAD163EE58DB, 97F0F9EB4F3131BE9C4684D9, @@ -1226,72 +1630,24 @@ 8BD3E08A5A6D32150E703D8A, BACFDC91EDA31FACCF2B15DA, 0E8660300B58F0FF90907C93, ); name = gui; sourceTree = ""; }; - 7B29609B00A97DB47552F081 = {isa = PBXGroup; children = ( - 4DA82F4EA6B042B411DB20A7, - 59D6E450E7823A809631B85A, ); name = players; sourceTree = ""; }; - F097BDABFD6B0B58AA2A3418 = {isa = PBXGroup; children = ( + 811C70C42F8696F982B7C891 = {isa = PBXGroup; children = ( 449FB9CD81DD670CE4A577CA, 377814D716769899D3050668, 29C93739F97FE9FCA3AC4CF5, BA4496257844A6CA50995840, 36CCF902426491CC248117BD, ); name = native; sourceTree = ""; }; + 7CF196B147341997E63C0B10 = {isa = PBXGroup; children = ( + 4DA82F4EA6B042B411DB20A7, + 59D6E450E7823A809631B85A, ); name = players; sourceTree = ""; }; DCA2C59535A97CCC2E7E5D5B = {isa = PBXGroup; children = ( - 785AC00FC0793B0127274AAB, - 7B29609B00A97DB47552F081, - F097BDABFD6B0B58AA2A3418, - B896CB8307AD3EC317794847, + A4DB99A85C6106C5D535CDFA, + 811C70C42F8696F982B7C891, + 7CF196B147341997E63C0B10, + 70461AEAF24C0B949814DD79, + 5736EEAD19F704D8BC0D63CB, + 0D72F29AB05E80E6D8A57578, 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, ); 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 = ( + B8222A30EAF2E159516EA512 = {isa = PBXGroup; children = ( 12ED2DA2996DEFA911F07ECF, 303FE5650303C9D52133FDB9, 7A7925B71E4B01A22C6E7453, @@ -1313,37 +1669,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 = ( + 46C30BC6B025DEC1C32EAC07 = {isa = PBXGroup; children = ( 8BA6EF260D361C1FC16E338E, 873BD4265902B4FB6CC3A0A6, 6613704E18148830091DF585, @@ -1361,76 +1687,56 @@ 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 = ( + 6D553E274A448CC1B38A326C = {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 = ( + 428237B69EA3E56FCC5AB739 = {isa = PBXGroup; children = ( + A3C671FCF17ED732E654C652, + BEF6E9C8B9FE65A89F84DD3E, + C3429B905F1744303CAE83AD, + 87E0E3F42A5E6C795C3769FC, ); name = logging; sourceTree = ""; }; + 1571013102A3A807BB5AD822 = {isa = PBXGroup; children = ( + 52D2F52B7284090A8CC4F18E, + 449F72688745585AEC908DE3, + 8D263509D4EB25038163FB5D, + 15C4E5B79331FFEF10E553D5, + 59F516B1F82F487ED0B8A08C, + 5CC1850C4E76C0825DF9F9A2, + 1399DD492AC9998A6513E251, + A311FDC490ED65A08E3B8B61, + E88B889CB23D7A61B31FA1E9, + 315DDEAAB7818AE4F369C230, ); name = maths; sourceTree = ""; }; + B0E5D21B34B140663A8749FD = {isa = PBXGroup; children = ( + FE069E74A6308FF79DF3DC29, + 2651FD678A14B0751CB5D020, + 92A68AA34859E8DDC511D21F, + 53C3C3F56CEF7ED61F8451E2, + A3A119C6E5ACA90C03A77A04, + 8292A39754EAA00C8AA376B0, + 12D1ED411A617AB55887F19D, + 75C69A20FBFD837BC86D860D, + B06BCB5D9CE908831C7E81D0, + B05B1D7ACE1C33319A87328A, + 408AA1123D7BFE64D870013F, + F1666DBF5DC7FF6B94C0F0FF, + 7C3E3ACE7E74B1ED0C3BE343, + 3B39B66B640766E9B90E3046, ); name = memory; sourceTree = ""; }; + CCE186C41B7722255E0F4916 = {isa = PBXGroup; children = ( C0813C1842A72A80AEBC8D3B, 54905E0DBD3DFC08980F0635, + D0FD262EC7099AD662232BD3, + 9FE0CD7594DBB296791F83E9, 3E87A40BAA207A6F8491BE60, 3BF749BD7341CB6B695403F2, 38628669BA3E9CF7E2DFED16, ); name = misc; sourceTree = ""; }; - D9B6523138F19B60DEABC1CA = {isa = PBXGroup; children = ( + 5BE84F21CA00849893A68461 = {isa = PBXGroup; children = ( 35C33DF203333BE87587F1BC, 60E06352A02CFAEE12295CDA, 1F0ADEAEB1F4BFFDF96597D6, 722A961347F2FBFBADD22E88, + D306CB540CCDA3C2F37FA1CF, DA3C59A6D8FE2E93EF171A41, 8BFB376F26710685A2BFDE62, CBF985C3779D9B0BFE5F15D3, @@ -1455,87 +1761,204 @@ DA366F25CE709950B866C7D9, 1B6E61F45C2F5E81914A71A7, F0776755F05C2BF5C7AF4FDC, ); name = native; sourceTree = ""; }; - 134363737026CC80D69F48A5 = {isa = PBXGroup; children = ( - D4AD8131D5DDC542D8D8462D, - 66CEC72801EF9BE77D39B19F, - 9C56D83D3BDD05DEF239F71C, - 7F38B22DBF6D9255AD0FF626, - 0AB06DB5C2631EB668C528A2, - 403635C774A6BBC0F6980B64, - BC7512A77A4AB71F889C67BE, - 8BBFA220942050CA89C4222B, - 50B1E864B2356E8572B9A62F, - 401A32949AE4A75BF94D58BF, - 8C087A97055FFF267ADC28DA, - 03A962E8ACDBD0C24CD014AB, - 1F04306E8F4BD6AA8AFA3185, - EB6A51E5AA5A5C974F82075F, - D31BDA28674C941530C73CA9, - C9B1F8F814FE5B552A67C83D, - D9B6523138F19B60DEABC1CA, - 3CD98742CA1919AEE3F9D9BC, - FBABB528D9CB9FCA127D3702, ); name = "juce_core"; sourceTree = ""; }; - D7FE02721660A0F1ADDE0BED = {isa = PBXGroup; children = ( - 844235B2D29429BEF2F7D184, - CCD10DDE00405843C68CD278, - 46AE290C54ECEFF69D62C0A6, - 4F613FCE6F5079EBF19A2489, - A9AE20E7B5E5A3B47C18EC11, - 90ACD3C39C69C46B567D1DAE, ); name = encryption; sourceTree = ""; }; - 12A6E418E243AFC94B96A6E1 = {isa = PBXGroup; children = ( - E6096A408885ECA69BCB15E5, - 553AE1A4613ACE6750798D0A, - 3F2852F4D9EA9C67864288FE, - B9425E1F94E5E6337E390B9C, - A6B4D18AE0EA3236E07BAC6B, - 3CFFE0377EB4E2615F89AD16, ); name = hashing; sourceTree = ""; }; - 367D3E7B1A3582D5693B9FC3 = {isa = PBXGroup; children = ( - D7FE02721660A0F1ADDE0BED, - 12A6E418E243AFC94B96A6E1, - 6BAD62D1E379BB05328C035D, - 8563FE036E562AD98EAF4FE1, ); name = "juce_cryptography"; sourceTree = ""; }; - 1DD90061ACEAF4356BC3D3CE = {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 = ( + 13FBF638084BAD7E337556B1 = {isa = PBXGroup; children = ( + 51BE027208C01296F2E76054, + 74D736A2BED0751C2A3C1BFE, + 1FA8CE4825B48E4FECCD1FEA, + 3514CF0F5CB28BBD688539B4, + 2A48FAEC948B121B6EB34631, + 0FEA2018033238F713A9933D, + 13A8EAABA98838BC051D7ECD, + 1F293903C761D909018FDD67, + 0A4F90598876FBE7A67A13D0, + B59C7AFE7DA427E795F736CE, ); name = network; sourceTree = ""; }; + BCA23AD0BDC591CF6F02AEF0 = {isa = PBXGroup; children = ( + 490FFC3A7899AA8FBE8E2D0E, + E0EEC67C10363E4FB3C0B956, + BC4C2690333D8622D054E99A, + 083D342FECE0C296374EF291, + 2289F6AE28B501127D381EEC, + 422EAE67E128C8295A23F6A0, + 3B3AB4E5CE405BF348F634C8, + BDA38AB61C19E4924549ABD1, + 1FF55E3BBA8A22620289A59E, + F06CE10515F49B1DC5E87353, + D56D6ADB264AC3107EE2D5C8, + 58A314392D34735350431602, + DA0DD5BF97E3F28C9CCA4A74, + D1504817660ECE621AAA066F, + FB21D85F25FF7C468331BAEC, ); name = streams; sourceTree = ""; }; + B27E17F9BEA91CFB700DA943 = {isa = PBXGroup; children = ( + D26A4E01842FF08AAA34B9D7, + D583ED6D9DF5CADB3AE660C8, + C35667BD04402DF29D3FEF8F, + 94EA75B72A8361A33A498EDB, + D1A83AA1BCDB061B528DB415, + 820C05ED738EB5A0B1D48AD3, ); name = system; sourceTree = ""; }; + 85E178B6AC0A9B4EBC7E8CA8 = {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 = ""; }; + FD659B3F682E3ADAFE3BEB54 = {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 = ""; }; + A7EEBFB38871B4D3FE4A630F = {isa = PBXGroup; children = ( + D46770CDA754135BF9471DF2, + AFD134A52E53280F52870EF7, + DB3F9BFDECB17176CD53C029, + 248D8296344CFAC3E6CA732E, + 9521308539218CF751ED1B1D, + A8452D6DA370E42EF91F1555, ); name = time; sourceTree = ""; }; + 0B2A9ED90F6D65148798DCAD = {isa = PBXGroup; children = ( + A833D4B8902DBEF7D8B32E50, + 9D12A31934633A579D324B96, ); name = "unit_tests"; sourceTree = ""; }; + EAB08DB7DE3A2C26D01887F1 = {isa = PBXGroup; children = ( + B5CA0C1C957C04A44E778E85, + 10CCA4154B34E2601DF7E36C, + DFD0AFFFEC046CBD6E837825, + 1501B794994314589934734A, ); name = xml; sourceTree = ""; }; + 94B9CB970337C2A96AF0E9FC = {isa = PBXGroup; children = ( + F2CB1B58E23EB7061A08F5E6, + 54D6CA598592911CB81CFA0F, + D59DF1631592A9A9955A5278, + 972A6F7946F6AD49363B086B, + 6FD8262BFF8E9AFFADA58CE7, + C1B7C3023580A6BA14147650, + 75E3999637D58680266383A8, + C9E07ED1F8A2B7DD090A44BF, + D651F8F1F8E732F91907DA71, + D134AB1680C943C338D6B6D8, + DCCE4FD3F2077865C242A6EA, + 1C466F49D391FF41631F638D, + ABCD122A8F9A9EC72A03B762, + EA7D39752C67C8D58FABD98B, + 49F437436A7586BD474F5082, + 4F8AA2D9AC20DC38B1081404, + 22FCA89693665C10D3EBA275, + DB45864369FB3F7582016B8D, + 8548A04BC8FD445C56E71D70, + 6D0661D481DD282C9A4F6A40, + 7CD5A219F0DB391B3A8FA3E4, + D67E6656B78F733781FF522F, ); name = zlib; sourceTree = ""; }; + 086B34B8A4388C3DB4814F05 = {isa = PBXGroup; children = ( + 94B9CB970337C2A96AF0E9FC, + 363345C2BB552CE31BFAB6D2, + 740B836DA87A1C70DD06D1C5, + 16138611E29922ACCDB8DF97, + 4D8CBFA4ADFA41465A97C072, + 07721876CC21C0DBD17D00EE, + 6B2C313C20885C7B75D40ED2, ); name = zip; sourceTree = ""; }; + 134363737026CC80D69F48A5 = {isa = PBXGroup; children = ( + B8222A30EAF2E159516EA512, + 46C30BC6B025DEC1C32EAC07, + 6D553E274A448CC1B38A326C, + 428237B69EA3E56FCC5AB739, + 1571013102A3A807BB5AD822, + B0E5D21B34B140663A8749FD, + CCE186C41B7722255E0F4916, + 5BE84F21CA00849893A68461, + 13FBF638084BAD7E337556B1, + BCA23AD0BDC591CF6F02AEF0, + B27E17F9BEA91CFB700DA943, + 85E178B6AC0A9B4EBC7E8CA8, + FD659B3F682E3ADAFE3BEB54, + A7EEBFB38871B4D3FE4A630F, + 0B2A9ED90F6D65148798DCAD, + EAB08DB7DE3A2C26D01887F1, + 086B34B8A4388C3DB4814F05, + A670FAB7E1B917B9FD22EC98, + FBABB528D9CB9FCA127D3702, + 7DE30FBED9393A59FF08AFC4, + FBABB528D9CB9FCA127D3702, ); name = "juce_core"; sourceTree = ""; }; + D7FE02721660A0F1ADDE0BED = {isa = PBXGroup; children = ( + 844235B2D29429BEF2F7D184, + CCD10DDE00405843C68CD278, + 46AE290C54ECEFF69D62C0A6, + 4F613FCE6F5079EBF19A2489, + A9AE20E7B5E5A3B47C18EC11, + 90ACD3C39C69C46B567D1DAE, ); name = encryption; sourceTree = ""; }; + B0630957064EAEE1B8B719A9 = {isa = PBXGroup; children = ( + E6096A408885ECA69BCB15E5, + 553AE1A4613ACE6750798D0A, + 3F2852F4D9EA9C67864288FE, + B9425E1F94E5E6337E390B9C, + A6B4D18AE0EA3236E07BAC6B, + 3CFFE0377EB4E2615F89AD16, ); name = hashing; sourceTree = ""; }; + 367D3E7B1A3582D5693B9FC3 = {isa = PBXGroup; children = ( + D7FE02721660A0F1ADDE0BED, + B0630957064EAEE1B8B719A9, + 7F55584DFEF4BEF0B1DC8DA7, + 8563FE036E562AD98EAF4FE1, + 332B664DD5F1E87D1BC77715, + 8563FE036E562AD98EAF4FE1, ); name = "juce_cryptography"; sourceTree = ""; }; + D7FAF312716CE1A911A4A0FE = {isa = PBXGroup; children = ( F77BDA821AFA286E0B7CA733, A47A4A946381F45AE898A70D, FA01A4ACD8E51ECC2D1C1B63, 322590D8C7EE4F273C28A081, ); name = "app_properties"; sourceTree = ""; }; + 317726F5D8F04BFE7B5B2971 = {isa = PBXGroup; children = ( + BBA6F050F86F5DC509CBB4B1, + 737DE6483F59E9AAE31B8568, + DB597523D1985EA60A403B94, ); name = undomanager; sourceTree = ""; }; + C7EA4ACEEEC3988BD21CA167 = {isa = PBXGroup; children = ( + AC0BAFA4938BCBE8B7935AE9, + D4E8524A7F793A309039F3F6, + DC0D7D089158296DF472F703, + 41066A9B2DA06A8A42EB2302, + CB0B2A556417D63523EA8C83, + AFA2ACD68CD580639886A60B, + D058B5E13E7E22FC4ED27B5C, + EE0C799027CD87E32B7A3829, ); name = values; sourceTree = ""; }; 6BF9D16DF121408ADF8D243D = {isa = PBXGroup; children = ( - 1DD90061ACEAF4356BC3D3CE, - C283CAA3B222E566D9C79EC2, - 723121B288F8EB847FF98DE0, - E89A3BC0B3BD6CCAEE267855, + D7FAF312716CE1A911A4A0FE, + 317726F5D8F04BFE7B5B2971, + C7EA4ACEEEC3988BD21CA167, + 4EA2711A7AD55013D83AA8D6, + A943021729B460E5CF76D54A, + BBDC1C7DE652B571ED885097, A943021729B460E5CF76D54A, ); name = "juce_data_structures"; sourceTree = ""; }; - 017E9B99D428699F1C6D5087 = {isa = PBXGroup; children = ( - 3CEE794B62AEDD6CD0650F0B, - 427F2DF6378E91A673BD5805, - A64E0921A828155BF1F5455C, - AF3E236113F3DADC4F2D59D5, - A08FAB7BE9C27D36087D4B45, - A18B835EB367E1D27693517D, - 3655B7B8C77849CD422BE014, - 25A32EA2B5B35D951633212E, - 89163E9DB0626DF42D686130, - 37AC07521C58A8D0AB468D4F, - AB8486AC595BB23DB29EDE78, - 44D12A261F14400C108FE695, - 546E1DA09F73BB6E17FD63CB, ); name = messages; sourceTree = ""; }; - 39D10AF212D901043F60E411 = {isa = PBXGroup; children = ( - 01065486D2E254D02B75509F, - 4A4D808E73E64EAC75888392, - 2CA8A8FEF881E1400CE33991, - 1DA9D191A3312AAF11810745, ); name = timers; sourceTree = ""; }; - FA63A4FEAF47A149B05B2D7B = {isa = PBXGroup; children = ( + 8354F8C425E8BE1C394F2371 = {isa = PBXGroup; children = ( 9B28308E02810E07AA5D9FA7, E42E9716C4B77E32053284A9, 0B8CE7C2918A2BC3C86E3CF9, @@ -1551,7 +1974,21 @@ AE88491D97D08B1215C182B5, E663E110A4BE0E43ADCC7ADB, 72FDA2118BBEAF1B8AAB2D74, ); name = interprocess; sourceTree = ""; }; - 259A4043A2C33A2F7542D782 = {isa = PBXGroup; children = ( + F1A8B54888E286391FE2DF3D = {isa = PBXGroup; children = ( + 3CEE794B62AEDD6CD0650F0B, + 427F2DF6378E91A673BD5805, + A64E0921A828155BF1F5455C, + AF3E236113F3DADC4F2D59D5, + A08FAB7BE9C27D36087D4B45, + A18B835EB367E1D27693517D, + 3655B7B8C77849CD422BE014, + 25A32EA2B5B35D951633212E, + 89163E9DB0626DF42D686130, + 37AC07521C58A8D0AB468D4F, + AB8486AC595BB23DB29EDE78, + 44D12A261F14400C108FE695, + 546E1DA09F73BB6E17FD63CB, ); name = messages; sourceTree = ""; }; + 99ED55A73BE72176EFA1DC62 = {isa = PBXGroup; children = ( A6A6BF31BD4CE0ED3B3B472E, FE0594A998F5C9FE8C2A11DC, 87B85E49FC448CEE97FCE14E, @@ -1560,15 +1997,22 @@ 79703B85F426FD4DF5C0AC42, F8412676F1B3EAF03D7928FD, C86F3258822428DB91009687, ); name = native; sourceTree = ""; }; + 438FB8A0BA7EF3268349024D = {isa = PBXGroup; children = ( + 01065486D2E254D02B75509F, + 4A4D808E73E64EAC75888392, + 2CA8A8FEF881E1400CE33991, + 1DA9D191A3312AAF11810745, ); name = timers; sourceTree = ""; }; FB86CB37A490EC9DB740D91C = {isa = PBXGroup; children = ( - 017E9B99D428699F1C6D5087, - 39D10AF212D901043F60E411, - FA63A4FEAF47A149B05B2D7B, + 8354F8C425E8BE1C394F2371, 5F95B461A46B124271F4D4C2, - 259A4043A2C33A2F7542D782, - 641CEAEA5DDBA04D348E3E58, + F1A8B54888E286391FE2DF3D, + 99ED55A73BE72176EFA1DC62, + 438FB8A0BA7EF3268349024D, + FC740ACAF08CEF9F17D8B047, + 5765E0F55ADB4319F0F896D3, + 8C96A8A1170495B6693F2FF9, 5765E0F55ADB4319F0F896D3, ); name = "juce_events"; sourceTree = ""; }; - E969A83F4C0CF83A078F47F3 = {isa = PBXGroup; children = ( + 74F2603752D328F3894CF084 = {isa = PBXGroup; children = ( D8A9DA040BE1279C9863B422, B5FF1E4CC8E4177744F0833D, 319336062D169304F2BEDDD2, @@ -1578,7 +2022,7 @@ DC52C218059FD576DD0937FE, A0A94042C6D636512C7A41EB, 958E73D19425EE81B17EA8CD, ); name = colour; sourceTree = ""; }; - B886B1B89D7773E4E0B443C0 = {isa = PBXGroup; children = ( + 306E60A5AD4F647AC21BC07B = {isa = PBXGroup; children = ( 31C5DA5DD3FE3C167B4C6527, 0D748BB96C09FA6846E28D1A, 66FB9E52B611D5E118CED62D, @@ -1586,20 +2030,26 @@ 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 = ""; }; - 6E98284B2337B8ACB6DB657C = {isa = PBXGroup; children = ( + 35DD00A835430D3A0BF2C30D = {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 = ""; }; + 2784592BC0E1DA74D9D35CCF = {isa = PBXGroup; children = ( 0687C181905F8F3CE2CD9B8E, 14D79056503073B08ACAA92E, 55CFA008C55F190872354FF5, @@ -1615,30 +2065,105 @@ 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 = ( + 612A131BA1E02F79761D0D52 = {isa = PBXGroup; children = ( + 52863276575098E6DB87360F, + 696D6CFC64DC094A43301F72, + D91F375D1669E1088BA1DFEE, + A1B654DD3057E3897E5C20A3, + 91E057273D03C8579B6CEF3A, + F895935E3FED1346F72A6525, + D64591D66210D08D4AA5DC05, + BA57E0BF8A62C9F21B654314, + 0F18B5F01AB6DB7E681263F5, + 8125F4125F856212A716690F, + 5623635CC3C7AEBACF0BCFE5, + 94F34ABC822978B34CF71284, + D7EADA1D2664FD94DECE6B2E, + C8F44509007C71B8E14E9ACF, + 0E26AFFABF371B61F52C02F1, + 0BF74A070622B94E12727179, + 5B55232C142C11D27F21628F, + 2B2177CA084CC290011D5962, + 27425D315858662A35E7FDF2, + 1BF6BA43EA8F96D6CB9B08FC, + EF49C6A72176805C4B23E761, + CF6E0A89DA49E7D810CF49A7, + 6A56CAF70AD8E4DEFFD17ADC, + 1E3AE5DF03100E6A1B3592DE, + 018944DD5F5B86CBC5287903, + 3E9FB3411045A315EBEE5948, + DC3B8C3F2BB86DEAD6987048, + 246E4D95AADE7236843D8EF5, + 9EC352467F1AACE708FDB4C6, + 640A35CAD5EBB1AD0AB8BFA9, + 91C088AA6AE523B1476ED6A7, + 4C73FE9A0A6571542F55964C, + 5C80FAB7FECA678439516885, + 25481ECC1A5BD1E00E344AE0, + 2828BD010F79E4781BE87EF7, + 9952CCF0016EF6F0429A1366, + 2E1CCDE3DF0BA239EE636FC0, + FC8ED34F51FDE723B6EC610B, + 0B1EFD1D3E909C010C495E38, + 51D2D6C6DE1B44ED8EC2CDC4, + 86BBEFD5B93BFEF893F1A66C, + A82769B852E37C84785A8A53, + 7ED25F696D0B9B0F935B188B, + 06C7BB08A232BDDBBEE970E5, + E002582CE609FB97FA74893D, + 2A38693F2CAFA31AE153CDB0, + 243D4C62156CAE5435885728, + 00E811660870A5309B4A9C00, + C486CF05AC76411C7DCCD1EC, + B9A61DE2A3BCFDFDEE0915D6, + 78475701F8E01500E4CC12E2, + 7022359A8B3060B01A94B39A, + E5D8D693736794CBF24EAC22, + 65C64C4E25295D8C1F59EAC6, + 56746CAF299928212FAAB804, + B8E5CC766BEAE2A75229D746, + 99CA6ADBC1E1D4393F828E63, + 074142656323180FB7F224BA, + 1E7244B9F96D8FEB84C52D24, + 9570704662B9B890B540ACBA, ); name = jpglib; sourceTree = ""; }; + 01937467EFC395752B8916E0 = {isa = PBXGroup; children = ( + 4E9BB7AE6C210257A01AFA5C, + 45350ADDD4E9BF5652A3606C, + 0E2BB84D03FBCA69B988CFCB, + A80F5D54FFF0EE468EDCA9FD, + A73F17EBDBDA9DDCB48D0432, + 8161691C20EA2C09978908B3, + 127C3926E5A687E1BBD17FC0, + 43212521BA497D706D53B996, + D12CAB967B7BDA38EB5E8026, + D6E6B7AD8FBD0DA7B3652409, + 73351B2FB21CDA405FEA8578, + 293E8268A0BB8C630D4CEB27, + CCB9E435244EFDEAD87747A7, + B1FEE99A7C2CBF89B415694B, + 5C792C6474D873A4CF29CBE5, + F987F1DEE4BE04FBC1C911C6, + D6CA7F8EDC19C7EFC48AB7B7, + 33E0CFDAD6BD866CAF23EC85, + 146DBBB2BEDD287F1548F186, + 4B349C3E8C63963A9D83007F, + 60D27705167513091DDADD67, ); name = pnglib; sourceTree = ""; }; + 393A319882436F5ADE532416 = {isa = PBXGroup; children = ( + 612A131BA1E02F79761D0D52, + 01937467EFC395752B8916E0, + DD970DAD7E15CD399583110F, + 93B34B16D67C27ADD795D346, + 9A123AE56C9C5AE3BE0E2800, ); name = "image_formats"; sourceTree = ""; }; + 9244025EEE890FE616052925 = {isa = PBXGroup; children = ( + BDC870E69E95845672295AB9, + 359E9C5EB887770E3AA46B95, + 01490B3A4FE0E7503EF78A59, + FDA2E20181EEDFABEE8CACCC, + F5158122AABF8E950827F2CB, + AC8848FA6745CDFDFAF2F927, + 0C211C03FF27A92ADC7706A6, + DBEE524633668464C9593EE8, ); name = images; sourceTree = ""; }; + 1D8D989DC6637C22F6BF8B67 = {isa = PBXGroup; children = ( BF44CE913E3ABC7CBD3A7005, 613B39307B80D6D9C4D62739, C03B12980850005B9ECF2E17, @@ -1652,19 +2177,57 @@ 4A44D8CE1E8F932AD7F6E5A3, 5B267B0B84A4AE272AAD58A4, EF14BD536F709B7D6B9F68F4, ); name = native; sourceTree = ""; }; + C5F49EB5A3A69FD2A2E3E370 = {isa = PBXGroup; children = ( + E238C3F270655B4324101263, + 2C9F5746F9D3DEA41F12FE58, + D57B55B2B9CE6B6D9D6EFFCE, ); name = placement; sourceTree = ""; }; F7DD1006ED325822934CE941 = {isa = PBXGroup; children = ( - E969A83F4C0CF83A078F47F3, - B886B1B89D7773E4E0B443C0, - F309B3269E76DE120143DD91, - F59D71157F4D41C4D4816141, - 6E98284B2337B8ACB6DB657C, - 2E6FA1D06FBF4A4F13B37ACE, - 6018A5E91B7A26DA24103F9F, - AD6C56A11E3F985F7C7AA351, - 44131CDF742706D6C0E9EC66, - A7FC8A80F3BF7EDCBB40DBAF, + 74F2603752D328F3894CF084, + 306E60A5AD4F647AC21BC07B, + 35DD00A835430D3A0BF2C30D, + 2C7B862B0024AE23EEEDA0CD, + 2784592BC0E1DA74D9D35CCF, + 393A319882436F5ADE532416, + 9244025EEE890FE616052925, + 1D8D989DC6637C22F6BF8B67, + C5F49EB5A3A69FD2A2E3E370, + B494C11AAED9D3B5C748FEBA, + 9F0363632194A6415E392DE8, + 5E489080FFCF538C3170739B, 9F0363632194A6415E392DE8, ); name = "juce_graphics"; sourceTree = ""; }; - 2F1041C065A0A50307F614ED = {isa = PBXGroup; children = ( + 1620B214A15E66CAE681C462 = {isa = PBXGroup; children = ( + EBE6C07DB63AAA1F750C22F5, + 05864BC8C7804D05F485305F, ); name = application; sourceTree = ""; }; + BCE073DA3DF013E5E817984A = {isa = PBXGroup; children = ( + DB1613193F82A43CE17AAF88, + B50129FF78D1FCC64DB4D51E, + CDEFD12DAEF30B7A13DFF8F5, + FF8A2AE20EED8687EA5D2A00, + 7F9D7EC0BE80A6DA54A9805D, + C1E4AD74F8C069DBFBA4E782, + FE8F197A2BB3631561C8A694, + 2D8585823D0A4210D1B161DD, + 72DA84A591B2827C323332B3, + F43D110150D84A1CF0B65F0E, + C56587798EDC116C137A1DF5, + B98D12869BACB1D0ECB4EE95, + 32043671A35DA448332B557F, + C33A6A02E9F92ABA9618DD67, + 095864129E8B873229076D4F, + C4F60DBF5BC6169F4B7357A6, + 1AB3BEE546811801C8D4C377, + EC443EF07555D528F21945DF, ); name = buttons; sourceTree = ""; }; + 44636BE74B401B5C61F1E005 = {isa = PBXGroup; children = ( + D41591FF892A6E2E672C7A18, + DCE3EB6C3DF640697ADD3F0D, + 7552ACBC68EF48B063F619E2, + AE1746EE8E4FC95FC3635940, + 7A356CCD42F455D41990C69F, + A6E5EC33E5F9767654EFCB25, + 1E73665689A8CF1EAD07A410, + 7D5050E0DD69CB60EF1B677C, + 6D8FDB139E0FDCBD5641A097, ); name = commands; sourceTree = ""; }; + 4FD7DD7019FEE005F1910500 = {isa = PBXGroup; children = ( 3E8AACC53630A2225F4C5486, F84DED97A83644758D30181D, BF63AD2390FFED75EECD4FAB, @@ -1674,97 +2237,60 @@ 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 = ( - 221859580563CB895AAB6167, - 9E20217FB413D60F83A931AD, - D7E99FDE83844ECAA502376A, - 3E9420908A60B009C762593A, - 804EF2A74F928AE02E380D38, - 6173081C862DEC593FC80E05, - 41D8E7CFFC16D293F934DB74, - 28B97FFBC14A808881547FA7, - 1BF56B39CCF7CBAEF9BB9A84, - 4378029B012345D856709C2E, - 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 = ( + C9BF1A850BEBE188901C1CBA = {isa = PBXGroup; children = ( + B5CF56ECED7AB7108C7FA24A, + EC7A2DEE957A2B375201FC12, + B0FFC533F760AED1CE7B2BC2, + 8AD5C1E90DE18441407D769D, + D396F2D0FF34CC5C59FA3DC1, + 862FE36C50506109E33D6E88, + 2B4A4D4411B9314CEEE873F2, + 6E99388FCA0417BCE813EAE0, + 64515D56E168E26DE6679FF2, + B663B0FD7F2FEDCE59A40373, + 9708B38E625B426432C46439, + D3AE4AEF45E4694F90FA90BF, + A9C31C52F36697E74384B83A, + BA27FD5D74A9F7C7D0660EEC, + 070AE2690CA06010BDBB4644, ); name = drawables; 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 = ""; }; + 629A3CB2284F67C397F79910 = {isa = PBXGroup; children = ( + 221859580563CB895AAB6167, + 9E20217FB413D60F83A931AD, + D7E99FDE83844ECAA502376A, + 3E9420908A60B009C762593A, + 804EF2A74F928AE02E380D38, + 6173081C862DEC593FC80E05, + 41D8E7CFFC16D293F934DB74, + 28B97FFBC14A808881547FA7, + 1BF56B39CCF7CBAEF9BB9A84, + 4378029B012345D856709C2E, + 19FE66760D46BF77905C3B48, + 661F33F1EB949D590090D53E, + 1DA8B8E25372E8F00080877B, ); name = keyboard; sourceTree = ""; }; + 036E1906B50FDB054CE411DC = {isa = PBXGroup; children = ( 6B526A365078C24900C821B5, 24D34491A75D9158E571CE95, B0C8BABB5E59C2F7FAA37689, @@ -1801,72 +2327,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 = ( + BF75F433D9390D0B2122C9EC = {isa = PBXGroup; children = ( 202FBA54BE113F8E12628DF3, F93E820028869AA360740BE2, A3D1C2B1D20BB35EABEF5D56, @@ -1875,48 +2336,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 = ( + 61353AC102F2CBCB638862E1 = {isa = PBXGroup; children = ( + 098EE470BA8744AD218E09F7, + 41004038C181AC5C8CDDD02D, + F950431A9C0864A8EADF9996, + 26B0149626A30EF364609DDD, + EDE49EEE9EF8B5202426D948, + 32AA8C09B7A39118E3A4BFA6, ); name = menus; sourceTree = ""; }; + 987689FB9EC5BD8D562E368E = {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 = ""; }; + 5730180109C58390105452C8 = {isa = PBXGroup; children = ( 6776FE828D0C9AAC3F12EA59, 4013F4D715E43764169C2BF5, 1D05DBE68E45BED5B842F212, @@ -1933,27 +2386,107 @@ 46FBF3438B506BBBA1C08BE5, 1CCFA6CA5E8D3E8D1D9476B5, 584F5DA03ABAC58D8200F4DB, ); name = native; sourceTree = ""; }; + 550C10124E85076AC2F71D8B = {isa = PBXGroup; children = ( + 1C95AB2B2812BD8960870603, + E0026785667979561D036936, + 2B56C4638018F72794BEADC8, + 8E6345C2A24786DB002C85A0, + D73A06F366784CFAA87B7BEE, + 053462A035FADA4FDCE2A8D0, + 45CAA0CEA9DA2B4F3AF549FC, + 0CB6B999BF9DBA9D0F586C6F, + 49811A30680D278DA9591BE5, + 41FDE3C3197B773438925736, + DF0EBC428D40282CD24D2015, + B7C588B87E09F887C6CB73C0, + 06577256ACDA6ECA2DF0AE84, + E889D7DD7AC4FCA48517B2E8, ); name = positioning; sourceTree = ""; }; + 3A9CF02948B0B8BD5D180C9C = {isa = PBXGroup; children = ( + 1FB5E4B9CC25B15D872DDAF8, + 762FD953C2BB53F5DC9CD403, + 9A07C2A820D1A4D1C5429E6F, + 84030B3A2263DEAB1A2EC8CF, + 08BA9BF25A4A247BAEFA7C7B, + 44AF43F408DE59FEC7FC87C1, + A516757003C57D4D3E5C637A, + 8CC6758FB15124F3CF345CA0, + 4BB76738C3C05043BFDE3507, + 6E0D954E48998693A587F2DE, + 04CF614E82E5E0D67952963A, + BB3DB74A8843A5C315854394, + 5546974D4F68A427792B725E, + 3CAB0402E5EDD5A25D4DE907, ); name = properties; sourceTree = ""; }; + D03241B91D2951194208A6FA = {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 = ""; }; + 231196571B7FBE69EF726EE3 = {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, + 1620B214A15E66CAE681C462, + BCE073DA3DF013E5E817984A, + 44636BE74B401B5C61F1E005, + 4FD7DD7019FEE005F1910500, + C9BF1A850BEBE188901C1CBA, FC94936E6781852E6A5F5AAF, - 76533D71441DB73BC581D584, - A16C13AC925F01E513BC0632, - C25E9058EE7B0F2E900E3433, - 49D064C5B2141BD8D14AE294, - E10E5BBBE8515439D764CBBB, + 629A3CB2284F67C397F79910, + 036E1906B50FDB054CE411DC, + BF75F433D9390D0B2122C9EC, + 61353AC102F2CBCB638862E1, + 987689FB9EC5BD8D562E368E, + 3CB92BE112CF6432C7873973, + 5730180109C58390105452C8, + 550C10124E85076AC2F71D8B, + 3A9CF02948B0B8BD5D180C9C, + D03241B91D2951194208A6FA, + 231196571B7FBE69EF726EE3, + CAE9781DFCC41E750EC5807B, + 6A6347D9B543CE96713831B9, + DE6FBEE731028F230A86F223, 6A6347D9B543CE96713831B9, ); name = "juce_gui_basics"; sourceTree = ""; }; - 7DEF87B9C8D847F2840BF97D = {isa = PBXGroup; children = ( + F9A24A3DEF74BEEC6BF02073 = {isa = PBXGroup; children = ( 714F603CF16614D65F89340D, 33C4E091AF43E7CEA138F133, 964D86CC6AD404519F939215, @@ -1966,14 +2499,14 @@ 50EDCF1A36276EEDC8FE3C5D, FC4F4A4607AA7CA722526B99, 9837ED0D470BD0E633A71F04, ); name = "code_editor"; sourceTree = ""; }; - 276BB424622D00B2F6D6EF05 = {isa = PBXGroup; children = ( + E227B07B494903C0B9EF9871 = {isa = PBXGroup; children = ( CF16FBA5840B89D53711C89F, 9B8E99199DFF5A5588690C9E, ); name = documents; sourceTree = ""; }; - 66D132EDB56154912C007BA8 = {isa = PBXGroup; children = ( + 8684ED38AFDC57571C780B9B = {isa = PBXGroup; children = ( C5ACDF0DCF5337C0B0AE1AF6, 88AA420D1FEF4EB95D8166FB, 9A2D9A5DBD78446D8878717A, ); name = embedding; sourceTree = ""; }; - A53F5FF344A1D95EBBBDF3DC = {isa = PBXGroup; children = ( + 7B3438A59A450DE9E2BE05BF = {isa = PBXGroup; children = ( 2C34C4F10FEED10795237530, CC27C420117D56ABAB4984C6, 71AB2D9F86EE978F739150B8, @@ -1994,7 +2527,7 @@ EF0015657F3C994B1C76C306, 8CF06B5E9E25293F79B15242, 13852E700B8919909E360669, ); name = misc; sourceTree = ""; }; - DFD4E790D5E34260219E3AF7 = {isa = PBXGroup; children = ( + 9F568A06EACC5A6030B95B2A = {isa = PBXGroup; children = ( 2722B15F48A305F2ECD82429, E9CAA6108E4CC9A8240EDDC1, C4117C0CDD0F80BCA4E8E9A6, @@ -2008,14 +2541,29 @@ CC180EFFA43B485F1A6DE764, 64851AA6F4FAEAD9E3CB5D68, ); name = native; sourceTree = ""; }; F60E760717F10C7C5B1BFB7B = {isa = PBXGroup; children = ( - 7DEF87B9C8D847F2840BF97D, - 276BB424622D00B2F6D6EF05, - 66D132EDB56154912C007BA8, - A53F5FF344A1D95EBBBDF3DC, - DFD4E790D5E34260219E3AF7, - 5DB6DA27DC5C022696109EF8, + F9A24A3DEF74BEEC6BF02073, + E227B07B494903C0B9EF9871, + 8684ED38AFDC57571C780B9B, + 7B3438A59A450DE9E2BE05BF, + 9F568A06EACC5A6030B95B2A, + 46C374E77BAFF6DCC3C5C2EA, + 644E389974336014E8890F31, + 2E631361420FA9496ED300DF, 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 = ""; }; + 7B94758E8E88FCF1FAAE840E = {isa = PBXGroup; children = ( 86F9F3EDDA98B10C15901578, A003021CCCD1F8D2200E9066, EDAA8D220CC237DE5D612F47, @@ -2033,47 +2581,38 @@ AC5BB40FA10713128CC9A2A1, 3BAC3350B6CA12EFF6587DF6, 4055E0D3D92A96C8E797ACBD, ); name = opengl; sourceTree = ""; }; - 8EEFFBC75F21B6E21D802A38 = {isa = PBXGroup; children = ( - 8C7A9D19E4BF794F25112C92, - 8AF7405E7AF18A44BF24811B, - 6E2E587EC9DCB2595D73A5CD, - 44BFB21474150C54D8B45035, ); name = geometry; sourceTree = ""; }; - 72D293A3B38BAD3129DF1940 = {isa = PBXGroup; children = ( + B2C2975345C7F8D5E4031CCE = {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, + 7B94758E8E88FCF1FAAE840E, + B2C2975345C7F8D5E4031CCE, + 65562BE676379C2C89A2A528, + B4EBC54E160BF6EFDA54A708, + 1CA41F35C44145819921CF79, B4EBC54E160BF6EFDA54A708, ); name = "juce_opengl"; sourceTree = ""; }; - ABEEA81A9680F6A4F8ECA0EA = {isa = PBXGroup; children = ( - 7A32476DF07EE4C33512F01D, - F75D109BD33B5C057C150155, ); name = playback; sourceTree = ""; }; 1C67C665FD3B6D5133151E2D = {isa = PBXGroup; children = ( DB8D923C776A1038384A10D5, 5CD2D4CDAC75E50E78ABE46C, ); name = capture; sourceTree = ""; }; - 5CBF586DCC30079B9463982A = {isa = PBXGroup; children = ( + E7F489650D2787CBBE0D8475 = {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, + E7F489650D2787CBBE0D8475, + 920D42A2B5F1763CB6CFF5DD, + 1E364F9BD6E0C8A3364B6FF2, + A20A2F639F28E15631EEEA35, + B6FF0E28C1E186DD9E97F838, A20A2F639F28E15631EEEA35, ); name = "juce_video"; sourceTree = ""; }; E697CF5985AC7D206A214CE1 = {isa = PBXGroup; children = ( 42D107F741897BBB52B61202, @@ -2092,23 +2631,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, @@ -2125,7 +2664,7 @@ BC1276921CB154EB04E5EBAE, 095618F6D669589BD1DBD1ED, ); name = Frameworks; sourceTree = ""; }; 6F245D0C169B0E9060BD1033 = {isa = PBXGroup; children = ( - 4B8E8BD3DEAE0C479D04F571, ); name = Products; sourceTree = ""; }; + 9C71E9533EDADF610F789D88, ); name = Products; sourceTree = ""; }; 41A4B977F5588A439A066455 = {isa = PBXGroup; children = ( 24BF2D05D134C386864C4C7D, E697CF5985AC7D206A214CE1, @@ -2133,7 +2672,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; @@ -2149,11 +2688,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; @@ -2170,13 +2710,15 @@ 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; SDKROOT_ppc = macosx10.5; }; name = Release; }; 2DDD1A3A56EAB02179D1CFB6 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2205,32 +2747,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, @@ -2244,11 +2787,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; 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-App.plist b/examples/AudioAppExample/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..cee4219f --- /dev/null +++ b/examples/AudioAppExample/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AudioAppExample + CFBundleDisplayName + AudioAppExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/AudioAppExample/Builds/MacOSX/Info.plist b/examples/AudioAppExample/Builds/MacOSX/Info.plist deleted file mode 100644 index 555d84fe..00000000 --- a/examples/AudioAppExample/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.AudioAppExample - CFBundleName - AudioAppExample - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - - diff --git a/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj index e69abf14..00fe53c9 100644 --- a/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj +++ b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj @@ -131,6 +131,9 @@ true + + true + true @@ -209,6 +212,12 @@ true + + true + + + true + true @@ -224,15 +233,6 @@ true - - true - - - true - - - true - true @@ -281,289 +281,307 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + 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,21 +590,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -599,6 +626,9 @@ true + + true + true @@ -641,592 +671,940 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1250,6 +1628,9 @@ true + + true + true @@ -1277,6 +1658,9 @@ true + + true + true @@ -1292,25 +1676,29 @@ true - - - - - - - - - - - - - - + + true + + + + + + + + + + + + + + + + @@ -1343,6 +1731,9 @@ + + + @@ -1350,20 +1741,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1373,8 +1835,26 @@ + + + + + + + + + + + + + + + + + + @@ -1385,15 +1865,6 @@ - - - - - - - - - @@ -1404,6 +1875,7 @@ + @@ -1414,40 +1886,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1464,25 +1903,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1492,6 +1912,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1505,30 +1959,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1537,14 +2024,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1554,19 +2052,12 @@ - - - - - - - - - - + + + @@ -1577,10 +2068,15 @@ - - - - + + + + + + + + + @@ -1591,39 +2087,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1632,33 +2163,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1678,15 +2182,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1694,13 +2212,6 @@ - - - - - - - @@ -1708,31 +2219,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1758,20 +2269,11 @@ - - - - - - - - - + - @@ -1779,29 +2281,31 @@ + + + + + + + + + + + + - + - - - - - - - - - - - - - - + + + + diff --git a/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj.filters b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj.filters index 81ae5f6d..798d7b22 100644 --- a/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj.filters +++ b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj.filters @@ -35,45 +35,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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 +125,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 +152,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,29 +164,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -158,33 +200,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,80 +236,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -290,30 +338,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} @@ -331,6 +379,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -409,6 +460,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -424,15 +484,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,32 +538,140 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs Juce Modules\juce_audio_formats\codecs @@ -535,26 +694,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -574,6 +742,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 @@ -589,6 +775,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -607,9 +799,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -625,44 +814,14 @@ 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_audio_utils\players - - Juce Modules\juce_core\maths + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils Juce Modules\juce_core\containers @@ -679,33 +838,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 +862,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -772,36 +874,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -814,6 +904,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -871,16 +964,166 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_cryptography\hashing @@ -889,17 +1132,11 @@ 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_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -907,23 +1144,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -943,6 +1183,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 +1210,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -979,26 +1243,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1015,236 +1282,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1273,26 +1555,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1312,44 +1597,11 @@ 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\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables Juce Modules\juce_gui_basics\filebrowser @@ -1381,17 +1633,92 @@ Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + 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 @@ -1399,8 +1726,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1447,6 +1792,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1525,6 +1984,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1552,6 +2017,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1573,46 +2044,52 @@ Juce Modules\juce_video\native - + + Juce Modules\juce_video + + + Juce Modules\juce_video + + 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 @@ -1626,6 +2103,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1722,6 +2202,15 @@ Juce Modules\juce_audio_basics + + 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 @@ -1743,47 +2232,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1812,41 +2514,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -1875,6 +2574,36 @@ 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\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 @@ -1905,6 +2634,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -1935,50 +2667,95 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + 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\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\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1998,6 +2775,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -2037,197 +2817,194 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers - - - 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2235,50 +3012,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2304,14 +3081,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2319,15 +3096,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 @@ -2355,36 +3165,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 @@ -2394,6 +3174,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2424,17 +3213,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 @@ -2466,50 +3270,137 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands Juce Modules\juce_gui_basics\components @@ -2526,44 +3417,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2589,87 +3498,6 @@ 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 @@ -2724,35 +3552,77 @@ 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2775,27 +3645,6 @@ 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 @@ -2817,80 +3666,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2967,32 +3816,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -3006,9 +3831,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -3030,17 +3852,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_opengl + 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 Juce Modules\juce_video @@ -3053,47 +3911,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_gui_extra + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_opengl + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj b/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj index 93725938..aa568e4b 100644 --- a/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj +++ b/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj @@ -6,8 +6,11 @@ objectVersion = 46; objects = { + 5F8150BA71BC7BC278D19BDF = {isa = PBXBuildFile; fileRef = 9C71E9533EDADF610F789D88; }; 3286435E3CC944A630866B89 = {isa = PBXBuildFile; fileRef = 92CABA9C9B5148FCA22A0503; }; 7AC823C6BFA28E49D004E0E0 = {isa = PBXBuildFile; fileRef = BD70FA4626657FF1DEBB10DA; }; + 558C49788C323F72C879C219 = {isa = PBXBuildFile; fileRef = 440774261ADCDDE62F8611DE; }; + 2414893F5F6D7096A1350F6B = {isa = PBXBuildFile; fileRef = 0C37646FCADAFC29F28333C0; }; 66F2013AC2FE548DC181F672 = {isa = PBXBuildFile; fileRef = 3D75092F510176CC7F979ED9; }; F02410B634B6C9C29060A812 = {isa = PBXBuildFile; fileRef = 4286F1F40FC3E04B4AE701C2; }; 26E4E22AC7196AC405E218B9 = {isa = PBXBuildFile; fileRef = 7C86E886C3FCB671004E1CA2; }; @@ -19,48 +22,57 @@ 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"; }; + 00E811660870A5309B4A9C00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; 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"; }; + 018944DD5F5B86CBC5287903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; 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"; }; 040EAFDEB6C10752F3E53440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 040F3CA16CF425185E82976D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + 04779277DC5D573E41039C76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; 047A715B70BDCE0605F0CB1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + 04BAFE2FB1BAAF033BC699E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; 04CF614E82E5E0D67952963A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 050EA91C80B766D94E2D1A03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 05205756F23E4CB8A2A2CEA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; 053462A035FADA4FDCE2A8D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 054317A8EFDF8C80052EA0E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; 0580BF897CA7540D4B195702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 05864BC8C7804D05F485305F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; 06027E788981B5B21E48EDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + 0618D1485995FE91CF51D999 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; 06577256ACDA6ECA2DF0AE84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 06745837B0C272B8686ACF30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0687C181905F8F3CE2CD9B8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + 06C7BB08A232BDDBBEE970E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; 06D76C16465B649BF0CBCDAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; 06EB590F5B838B697CE72F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 06F692C85C20B60877A3E153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; 070AE2690CA06010BDBB4644 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 074142656323180FB7F224BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; 07721876CC21C0DBD17D00EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 07B9E706EBAAD4873E3914EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 07E1A679F85B690EB658E772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; 083D342FECE0C296374EF291 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 08BA9BF25A4A247BAEFA7C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 08CC510A823DA8A188233FB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -72,24 +84,32 @@ 0AA4DFC6689DAC5C6C6D30B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 0ACC027581F750956F3DBF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 0B17C68C630608414339685D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B1EFD1D3E909C010C495E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; 0B35461B91EE6372D40C26E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B8CE7C2918A2BC3C86E3CF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; 0BA2BBE2C12EFD349C06114E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 0BF74A070622B94E12727179 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; 0C211C03FF27A92ADC7706A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C28072364B08528A9AD5B85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0C37646FCADAFC29F28333C0 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 0C5E5B8CF7DEE3AC90CD251A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 0E26AFFABF371B61F52C02F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; + 0E2BB84D03FBCA69B988CFCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.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"; }; + 0F18B5F01AB6DB7E681263F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.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"; }; + 10D6995E32D2195B83AB6625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.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"; }; 1176710342A96CE5E736F504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -99,6 +119,7 @@ 121B842EB5C66CD392D7673F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 1246B7FA44AABAA2D9D19B7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 124D98B849980B7EAAE01068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 127C3926E5A687E1BBD17FC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; 12D1ED411A617AB55887F19D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 12ECDE0E70945E79B3C6FADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 12ED2DA2996DEFA911F07ECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -108,6 +129,7 @@ 1399DD492AC9998A6513E251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; 13A8EAABA98838BC051D7ECD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; 13BE8F3EF3319E21ADCF67CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 146DBBB2BEDD287F1548F186 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; 14D79056503073B08ACAA92E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; 14E46E9101177690C481518A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; 1501B794994314589934734A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; @@ -122,21 +144,27 @@ 169BA47FE95B0EFE39A1FACE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; 16A5D3C51A676B5EB96B07FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 16C249B2489B726FA38EB40C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 17F3DB5C0DDFAC4C2CEB4BBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 19BF0C0BE10BDADD223D83D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.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"; }; 1AA843725F045F4E0857830A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 1AB3BEE546811801C8D4C377 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1ADF3DDB2F716EF700B0179C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 1B2A91035699B80C11B8434D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; 1B6E61F45C2F5E81914A71A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 1B92C858971081339CAC889E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; 1BF56B39CCF7CBAEF9BB9A84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BF6BA43EA8F96D6CB9B08FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; + 1C466F49D391FF41631F638D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; 1C489FC83EA76D34A2043B23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; 1C50B35A818EC78F8FF81815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C6CEBD20314F54D2A8173CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; 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"; }; @@ -148,6 +176,10 @@ 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"; }; + 1E364F9BD6E0C8A3364B6FF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1E3AE5DF03100E6A1B3592DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 1E7244B9F96D8FEB84C52D24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; 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"; }; @@ -165,14 +197,20 @@ 221859580563CB895AAB6167 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2289F6AE28B501127D381EEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; 2296650D710569DE62A1ED84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + 22C5222C774FADE4D6B804CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; + 22FCA89693665C10D3EBA275 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; 24216587010F78821DEC47DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; + 243D4C62156CAE5435885728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 246E4D95AADE7236843D8EF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; 248D8296344CFAC3E6CA732E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 24B8757907ECF54548F90F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 24D34491A75D9158E571CE95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; 24F0BB17E458EBEC96E7360C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 25131D3A8F8DDF0094192DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; 2545022A0EE088A0C46EBD13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; + 25481ECC1A5BD1E00E344AE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; 25A32EA2B5B35D951633212E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25AB0AA93E60D4643FCD41DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; 25D592FB01574ECBD7AB256A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; 2651FD678A14B0751CB5D020 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 26A7E3CEB56737AB4E725BE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; @@ -180,33 +218,44 @@ 26BFF71147B21AEECB934431 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; 2706BDD74A8ED307B92B9BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; 2722B15F48A305F2ECD82429 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27425D315858662A35E7FDF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; 2763141DB90EDEB924F549B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 2828BD010F79E4781BE87EF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; 283761EE00FC441F1881E282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; 28B97FFBC14A808881547FA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; 28E18ED64628E325B734F817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + 293E8268A0BB8C630D4CEB27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 296031FF025F31DCE8472A08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 29618F0B1B0B284A8C715FCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 29C93739F97FE9FCA3AC4CF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 2A35B8768F9F47F2F4AE5223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A38693F2CAFA31AE153CDB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; + 2A3AA70997DFB1C348CC04D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; 2A48FAEC948B121B6EB34631 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2ABA77E8EBE6E6ECA2C52FBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; + 2B2177CA084CC290011D5962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; 2B4A4D4411B9314CEEE873F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B56C4638018F72794BEADC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BF48C4EED551C019F3D293D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; 2C255E6DCF96BD803B6EA875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 2C34C4F10FEED10795237530 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C5BAB180C4B0F64A76D265C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + 2C922B92B9EA409806048C75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; 2C9F5746F9D3DEA41F12FE58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CA8A8FEF881E1400CE33991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CB8EA303EA9DDA6A788E09C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; 2CBB52A96FFA3344C137AFB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2E1CCDE3DF0BA239EE636FC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; 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"; }; + 3097CA850D7EF5DAF2160DDE = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; 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"; }; 31BC85796D2F77677D4977C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 31C5DA5DD3FE3C167B4C6527 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -217,8 +266,11 @@ 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"; }; + 33A7431EA11DA6EA2EB54B73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; 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"; }; + 33E0CFDAD6BD866CAF23EC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; 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"; }; @@ -230,12 +282,14 @@ 367C43A83F6BBA49141755B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; 36CCF902426491CC248117BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 3737DB5B70CB03EB340745EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 376C162356A8B02C7D1F6225 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; 37737A4FE37D244DCF36F8AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 377814D716769899D3050668 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; 378103DF32A585A72D719289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 379CFA695DBA290674B9466F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; 37AC07521C58A8D0AB468D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 37DDE4779BEE726B73257328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 384E5A9C1C664C0DA41C93ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; 38628669BA3E9CF7E2DFED16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; 3A0DE69457B7A75B13579949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A22AD6926B2CC42F4E5988C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -248,7 +302,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; }; @@ -259,6 +312,7 @@ 3E8AACC53630A2225F4C5486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 3E9355CECB4C063F13CC481F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E9420908A60B009C762593A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 3E9FB3411045A315EBEE5948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; 3EF6C867CB55DBB90076ACF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F2852F4D9EA9C67864288FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F3F28559477D3C2CE6D85CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -276,66 +330,87 @@ 408AA1123D7BFE64D870013F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 41004038C181AC5C8CDDD02D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; 41066A9B2DA06A8A42EB2302 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + 41539BB2BB1380498B4A711B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; 41D8E7CFFC16D293F934DB74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; 41DC9C31FE8A27E721AC95C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 41FDE3C3197B773438925736 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; 421D944B78CB2925F3073FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; 422E3CE271E2064729DA6F46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 422EAE67E128C8295A23F6A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 42752DCFE332744F2EB9ECBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; 427F2DF6378E91A673BD5805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 4286F1F40FC3E04B4AE701C2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 42DEA9508C54A8DF43652AA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; 42FF47A125EA72E8CDA48650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4302CD9CA740EBE5891DC3BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 43212521BA497D706D53B996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; 433F5E9D26E0EDD4B309A0C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 434777F5069C5A1EBFD0ECFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 4366A35F3F091C0EEFD58817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4378029B012345D856709C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + 438DFB77DE0AF090CA6A8C4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + 440774261ADCDDE62F8611DE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; 448B223113A96B6D7C026E0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; 449F72688745585AEC908DE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; 449FB9CD81DD670CE4A577CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 44AF43F408DE59FEC7FC87C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 44BFB21474150C54D8B45035 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; + 44CFB6C7A8EBD49B8A0A563F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; 44D12A261F14400C108FE695 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; 44EB27DCDBCEC36F4DB760A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; 451266541F1F93099A252033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 45350ADDD4E9BF5652A3606C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; 45A893DD2D553ED62C5B4D63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 45CAA0CEA9DA2B4F3AF549FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; 46844E11FFE3314B7A4D1182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 46AE290C54ECEFF69D62C0A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46C374E77BAFF6DCC3C5C2EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; 46EC28DEB32461DC57FC8091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 46EE36AEA94A83975A5C36C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 46FBF3438B506BBBA1C08BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4832B29659F5D97A106B5D48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; }; 48348E65A2D505CD55F894CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; 48AEBE2829B0A312E3B598BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 49067AE0E1C2121ACBEE2374 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; 490FFC3A7899AA8FBE8E2D0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 49245E8C5141A64C17209913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 49811A30680D278DA9591BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 49E5DF4D47ADC97FB605F93F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; + 49F437436A7586BD474F5082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; 4A23CE84B566F4CB61C7E57E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; 4A44D8CE1E8F932AD7F6E5A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A4D808E73E64EAC75888392 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; 4AB25C5BAD57250C530830AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + 4B349C3E8C63963A9D83007F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 4B57EFAB122FF8AD8A15DD4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; 4BB76738C3C05043BFDE3507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4C73FE9A0A6571542F55964C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; 4CA0CF8181B0B7321AC02F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; 4CA0D374BA396AC331C7657E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D130A36E132798BA1BB53FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 4DD7367AB1AE0ED2B4D049C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; 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"; }; + 4E9BB7AE6C210257A01AFA5C = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + 4EA2711A7AD55013D83AA8D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; 4F0C38D878C6A40DB5E610F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; 4F613FCE6F5079EBF19A2489 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; + 4F8AA2D9AC20DC38B1081404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; 503351935DD85F70D491ED2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 506252B820D7D570B2D1928C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 50EDCF1A36276EEDC8FE3C5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 51686AA73651EE47EF5CE35E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; 51BE027208C01296F2E76054 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 51D2D6C6DE1B44ED8EC2CDC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; 51FA79658840D67F6DFB9C0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 520229603B80DDB9383B059A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; 5248E05CA643E149A0B9A8D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 52863276575098E6DB87360F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; 52D2F52B7284090A8CC4F18E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; 5374AB638100ED67F198E888 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 53C3C3F56CEF7ED61F8451E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -344,18 +419,24 @@ 54905E0DBD3DFC08980F0635 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; 54B29F8CAEE68EECEED7A088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 54CAC1382C1237BFA1B4D877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + 54D6CA598592911CB81CFA0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 550A729142AB16A20BB99123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; 553AE1A4613ACE6750798D0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; 5546974D4F68A427792B725E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 554835604BAE08C82511706E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 55AD9D2F0D75B19660C948C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 55CFA008C55F190872354FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + 5623635CC3C7AEBACF0BCFE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 56746CAF299928212FAAB804 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; 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"; }; + 56FBAC3B04D40AEA10F3A61A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.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"; }; 57AA11256FE770C2AC1CCF9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 582B4E5E61E1F8D32B6D01C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; 582CAD0FEF6DC8676068004C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 584F5DA03ABAC58D8200F4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 58A314392D34735350431602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -364,27 +445,33 @@ 59D6E450E7823A809631B85A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; 59F516B1F82F487ED0B8A08C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 5A1ECBE0BEAF6C2B976EE813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 5A6EEC7D693AE53C8AED02A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.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"; }; + 5A9801DF7974C88AE672FB0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; 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"; }; + 5B55232C142C11D27F21628F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; 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"; }; + 5C792C6474D873A4CF29CBE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; + 5C80FAB7FECA678439516885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; 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"; }; 5CC1850C4E76C0825DF9F9A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; 5CCF73F6CF5A9AF81DF09B12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5E3F06FD782D2CD86F52DEE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.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"; }; + 5F1A204298557C9CDCBB4C7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; 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"; }; 60B660A81EF1085EAD5184A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 60D27705167513091DDADD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; 60D5DF22E19891DE5F69CC8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 60E06352A02CFAEE12295CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 613B39307B80D6D9C4D62739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -393,12 +480,15 @@ 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"; }; + 640A35CAD5EBB1AD0AB8BFA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; 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"; }; 64E7DC1B23F237CD9F141439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65562BE676379C2C89A2A528 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6577147B7ACF69FEE808565B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 65B8AFC880FE18CAD80D0C4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65C64C4E25295D8C1F59EAC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 6613704E18148830091DF585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; 661F33F1EB949D590090D53E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; 664D7BAD62148780288B4904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; @@ -414,18 +504,22 @@ 6889C9ACCCA9F33FC94DBA07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 68B59FAC7073BD9305520B52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; 68CE13A021B91CD24AB856E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68DAA6189E58E76EF24ECC45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; 69279A43C4E5EFCD851E6E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + 696D6CFC64DC094A43301F72 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 697A591A67A38D7807665407 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; 698E098BB958CC4719E2166E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; 6A1102C4FB362652CB575CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6A56CAF70AD8E4DEFFD17ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; 6A6347D9B543CE96713831B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 6C293F5757B54DCE40E8778B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; 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"; }; + 6D0661D481DD282C9A4F6A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; 6D1F6926A1A3424AD520AEFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 6D275948B4E4F4B5A5390798 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; 6D749A9561547CBF4C9D55FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -436,10 +530,15 @@ 6E12A19A4995DE066C7130B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; 6E2E587EC9DCB2595D73A5CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; 6E99388FCA0417BCE813EAE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + 6EC940882CB75B0E1ECC7622 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; 6F3004F968CFEFA5B776AA32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 6F681F8D57B92084BD4DC38F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F689AC4B401D474507500C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F87BE5F4E3B7265969D48D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F9CA852C2CD9FC39BD837E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; + 6FD8262BFF8E9AFFADA58CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + 7022359A8B3060B01A94B39A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; + 70461AEAF24C0B949814DD79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; 705D210EADDE876947060561 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; 70A73FAF31B05C5DA4CE35AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; 70D98CAAD904CF7FC923F24D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -452,21 +551,26 @@ 71C44B75937129DA6001F9CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 722A961347F2FBFBADD22E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 727001681CC52AB3D9D0FDA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 727D3B04CEC810C9E31818DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; 7287E94D566F0CCB336585D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; 72DA84A591B2827C323332B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 72FDA2118BBEAF1B8AAB2D74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 73351B2FB21CDA405FEA8578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 7354BFA17F9565BE32B449D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; 737DE6483F59E9AAE31B8568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 7395529C7D5D264BCD3702F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 73B2312BC8C5D5A5A7AD87D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; 73C6D1CB1C5A500B6272A76A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; 740B836DA87A1C70DD06D1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 74354D8558613614ED20700B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; + 74C339CCD1FF1B5FBD7B6A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; 74D736A2BED0751C2A3C1BFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; 7552ACBC68EF48B063F619E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; 75A55732BFBBC2BAEE28AACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; 75AB14C9D97B3563BE688EA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; 75BAC34D9924B34C89B4D26F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; 75C69A20FBFD837BC86D860D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 75E3999637D58680266383A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -478,25 +582,35 @@ 778A0345A4F0B08ABA3ED5F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 78475701F8E01500E4CC12E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; 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"; }; + 79C2499E9591E2C028D11EE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; 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"; }; 7A356CCD42F455D41990C69F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; 7A7925B71E4B01A22C6E7453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 7ACBCD7055BDECB8D019C567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; 7B2895D4FB86B3B075610B53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 7C1FABF9A21D7211D6E1420D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; 7C3E3ACE7E74B1ED0C3BE343 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 7C4332635F1B1A449C8612E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; 7C47594E189DF41C1A9A697D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 7C86E886C3FCB671004E1CA2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 7CD5A219F0DB391B3A8FA3E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; 7D5050E0DD69CB60EF1B677C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D75EB56FF74B25CAC8B3B56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 7DDF974E74FDF5B5D29E2E27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 7DE30FBED9393A59FF08AFC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.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"; }; + 7ED25F696D0B9B0F935B188B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; + 7F55584DFEF4BEF0B1DC8DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; 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"; }; @@ -505,23 +619,32 @@ 8002BEBD6AD4EE01900CE16A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 802E9ACA0F0495F366FD61D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 804EF2A74F928AE02E380D38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 80CC4615D1FC598ABE3F01D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; 80CC6E5181AE8A06FAF7792A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; 80D99C9EB9437791B2317ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8125F4125F856212A716690F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; 81505916961455538E9B1A7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + 8161691C20EA2C09978908B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 82343F3D1688C6DEB208C3A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + 831523742EFC9D0FB8BFB3F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.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"; }; 83F1B63878AD351B064B301B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 84030B3A2263DEAB1A2EC8CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 844235B2D29429BEF2F7D184 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; 84C7DA39553A08EB2F357718 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8548A04BC8FD445C56E71D70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; 8563FE036E562AD98EAF4FE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; 856659253CBF8304601F4FBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 859DDF35ECBB53CEF93D80F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; 862FE36C50506109E33D6E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; 867C85D42A1C3296F16D4028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; + 86BBEFD5B93BFEF893F1A66C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; 86F9F3EDDA98B10C15901578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 87068D2C6B2EF98F548312B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 873BD4265902B4FB6CC3A0A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -530,6 +653,7 @@ 87E0E3F42A5E6C795C3769FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 881A14535E84A919974D8F84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 886CA18FAF31B80A3604C5B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 8876E60730FB901A1332DCCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; 88AA420D1FEF4EB95D8166FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 88F756FE30BD5DEA47C1725D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 89163E9DB0626DF42D686130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -552,6 +676,8 @@ 8BD3E08A5A6D32150E703D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; 8BFB376F26710685A2BFDE62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BFEC7409742F768017FC3D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C15F9D395DC823C0DD7AE6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; + 8C2C8AC9268D21F2BB82D60A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; 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"; }; @@ -560,12 +686,17 @@ 8D263509D4EB25038163FB5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 8D57F62E9C62502D6C8762D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; 8DC66AE55D8DDC757FEFC35D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 8E0C81DB0B094A1D72A14F7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; 8E6345C2A24786DB002C85A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; 902E481701585587D0AF4735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + 908B4E31839509B50EF0DF05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + 908F1FE4D50D7CD9DA88212F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; 90ACD3C39C69C46B567D1DAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; 90BDA0B8FE4A26E5298DAEE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 90D0993A08E71E212911B4E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; 9169D30719C69B4CF1EB6061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 91C088AA6AE523B1476ED6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 91E057273D03C8579B6CEF3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; 9214DF8A087BB905EEB1017B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 9257CFECF4696048B828768D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 929ED279A30C759680096CD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -579,47 +710,61 @@ 949131E58393C7020549AA11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 949FE95B13456FDD83BC4719 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; 94EA75B72A8361A33A498EDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94F34ABC822978B34CF71284 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; 94F37F7C1FF260E499DF95CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; 94FAAA6CF20DF5854F277026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; 9521308539218CF751ED1B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9570704662B9B890B540ACBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; 958E73D19425EE81B17EA8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + 95B81AF01C9ED31640ECB25C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; + 95BFF8347217476E96BE596B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; + 963AB3C7302E0DAAC4609764 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; 964D86CC6AD404519F939215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9708B38E625B426432C46439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 972A6F7946F6AD49363B086B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 973257D8FB62DAE78ACE85DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 97F0F9EB4F3131BE9C4684D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9837ED0D470BD0E633A71F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 98DFC6A85CB893442E014D84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 9952CCF0016EF6F0429A1366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; + 99CA6ADBC1E1D4393F828E63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 9A07C2A820D1A4D1C5429E6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 9B2B746361D674336D450164 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; 9B47191752AD5B64A858FC13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9B83CA7A03621F4DE0B0C3F5 = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = AudioAppExample/Images.xcassets; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 9D6C27B0FB901C5AEF07A6BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 9DC7E8A153861BEC0C8205A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; 9E008BCB36772AA2445607FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 9E20217FB413D60F83A931AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9E67899F08C1CB65A37C728F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; 9E7E1945498A6BC57A2768EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; 9E8979F0765D76FDC54E0FA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 9EC352467F1AACE708FDB4C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; 9F0363632194A6415E392DE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; 9F14A2AA61821A565FF22D39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9FE0CD7594DBB296791F83E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; A003021CCCD1F8D2200E9066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; A08FAB7BE9C27D36087D4B45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; A091657F22DDCFFC2D0E3E68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; A0A94042C6D636512C7A41EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; A0B6BA5149627A02342A1691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; + A0F88827B74C3AC6C525A5FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; A16CAFD9F29F03D5A11457FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; A18B835EB367E1D27693517D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + A1B654DD3057E3897E5C20A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; A1CC4DCD28D612221D9B445C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; A1EFE173102C316855A3E277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; A20A2F639F28E15631EEEA35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; @@ -635,24 +780,32 @@ A4B3FB3D6F0A5EF90023F514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; A516757003C57D4D3E5C637A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A535408525D77AD8CD01315D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + A566883DA78BC9C542DF198D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; A594E86AD063F609FCD9888C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; A59C4B4BAC10B374D8CD17C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5CEAB1F6D372491DAA89571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; A64E0921A828155BF1F5455C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + A670FAB7E1B917B9FD22EC98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; A6810E5A98CB9E4244EE6361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; A6A6BF31BD4CE0ED3B3B472E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; A6B4D18AE0EA3236E07BAC6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A73F17EBDBDA9DDCB48D0432 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; + A75AFDF8F6AE64BD46D65B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + A80F5D54FFF0EE468EDCA9FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; + A82769B852E37C84785A8A53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; 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"; }; + A8CCF400E8D1FE6B477D20DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; A8CEABF70ECF7561C73604C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; A943021729B460E5CF76D54A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; A9AE20E7B5E5A3B47C18EC11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; A9B5EEEAFA441F850358281B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; A9B7641B8DC31EB20DA18BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9BC04CDBB89B5C69F451DBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; A9C0D755D2D644AB9B9EE13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; A9C31C52F36697E74384B83A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; A9E584C98134D88F8317056E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; @@ -663,6 +816,9 @@ AB8486AC595BB23DB29EDE78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; ABB6B2384A0390705A173633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; ABC57D52DD141A202B145B54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; + ABCD122A8F9A9EC72A03B762 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + ABEA9EF38E5D8889BABDB8D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; + AC0BAFA4938BCBE8B7935AE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; AC5BB40FA10713128CC9A2A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; AC8848FA6745CDFDFAF2F927 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; ACD7AEECAD82866A14BB111E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -671,6 +827,8 @@ 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"; }; + AE85D09C31178E0F749A81AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; 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"; }; @@ -680,6 +838,7 @@ AF601ABA3B20D0E5999328C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; AFA2ACD68CD580639886A60B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; AFD134A52E53280F52870EF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + B03EE3A801B1D66051E1854D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; B043471A2BE93BA496CA44C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; B04E7F101D9B104C6E4F180D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; B05B1D7ACE1C33319A87328A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; @@ -688,15 +847,23 @@ B0C8BABB5E59C2F7FAA37689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; B0F79D18A4A523D01E05A940 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; B0FFC533F760AED1CE7B2BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + B13EA4B367C04B6CC907A653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; B1BF44D54337520D281A4471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; + B1FEE99A7C2CBF89B415694B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + B224C0C216BEC2C7D4BA7D00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; + B24D811F4C0290F7B34071B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; B27AB74B32E014257ACF7EC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; B28EBA2EDF0E543EA1ED374B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; B2D1342CC46A382FEB8043BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; B307D90DA0DC9A76DC723878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B343ECF6364A1693C3E86562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; B35E6FA7FA077CB7887CB7EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + B3DA27C2A5A7518C12131958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; + B43FC525EC63E5977EAA1CAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; B463D24B6025AB064E03FBE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + B494C11AAED9D3B5C748FEBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; B4EBC54E160BF6EFDA54A708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; + B4FCFB0769B519DD59BE5C8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; B50129FF78D1FCC64DB4D51E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; B54E4A120CB79F8BB5BCA1E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; B595F0B82E93560FC2CE5EAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -710,20 +877,26 @@ 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"; }; + B82AD0CA59B47AB8FEE8015F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; 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"; }; + B8E5CC766BEAE2A75229D746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; B98D12869BACB1D0ECB4EE95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + B9A61DE2A3BCFDFDEE0915D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; BA118EFAC919B4F2D27F9821 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; BA27FD5D74A9F7C7D0660EEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; BA4268340FC48F04264E4992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; BA4496257844A6CA50995840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + BA57E0BF8A62C9F21B654314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; BA724CE76B93BA0DF39FCC6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; BACFDC91EDA31FACCF2B15DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; BADB10DBDB2B94E03AF14B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + BAF79F7AD61C6F9D075B7CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; + BB022F7F4B42FFA0EF0CA057 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; 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"; }; @@ -731,6 +904,7 @@ 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"; }; BCDA77D2C1C152DA77B2558F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + BCF963D2FA867396A95C761E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; BD106C3E071AA8FBBA28501F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; BD70FA4626657FF1DEBB10DA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; BD818EEF611179A02E2667BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -738,26 +912,38 @@ BDC870E69E95845672295AB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; BE187CBB955859129715DCEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; BE439FE1379CC46AD8DA5F78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + BECB43F9B14DF315A6427885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; + BEE2C263F84DD6846129ED1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; BEF6E9C8B9FE65A89F84DD3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; BF0600EC50B69C509612CCB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; BF44CE913E3ABC7CBD3A7005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; BF63AD2390FFED75EECD4FAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + BFA18696481DAFB502EA4BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; BFB539E4567CACD9D0DE55E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; C02300F6DDD1A5D705603B0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; C03B12980850005B9ECF2E17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + C04CB0D7E420CE20576F16AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; C0813C1842A72A80AEBC8D3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; C08F4E167F53BD59708ABC46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0B69D7BBADF0F4E657F3549 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; + C0CEF82465C13FF8B6C1B518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; C0F2634964D63D63A8A9E892 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1086888EDD846C241174E1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; C119EC562AC9BCE4E6B61067 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C15DEA359893E2ED3EDAF068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; + C1B7C3023580A6BA14147650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; C1E4AD74F8C069DBFBA4E782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; C2015BA8A41561F8A723C50F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; C22ABECEBF209672CC22F38D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + C270D33BB7063F3CA87060D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; C33A6A02E9F92ABA9618DD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; C3429B905F1744303CAE83AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; C35667BD04402DF29D3FEF8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; C3DE0ED05484B10615E59191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; C40EB67E7237BE2217C1E7A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; C4117C0CDD0F80BCA4E8E9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + C44A9F021B7493EBB381A996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + C486CF05AC76411C7DCCD1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; C4A9D089AA401E6F8244181C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; C4F60DBF5BC6169F4B7357A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; C4F92727F81156801D2F61E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -770,48 +956,70 @@ C66D267FAFB0ECDB23F3C00A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; C771A511AA82C6C652D4FC70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; C772B460012E89562C4D93D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + C7BA2B70AA9CBEB4FA379BEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + C7C4A19968351E3714E3A92A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; + C7E2FCA48D1B8E4342E3764E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; + C7E4FDCBB6C2E749B4071D7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; C7ED330EB140FCC0B096E2E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; C803F9C7B980825563EF5C61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; C807A91F69CF02432499E1E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; C81CCF965B4C7E21308B305C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; C86F3258822428DB91009687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + C8931FE1A63291CBAFB35814 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; C8A3BA380B7DADEBA46EC1FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + C8F44509007C71B8E14E9ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; + C90DB58EB56DF71AAB5AEC5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; C92EDF999BB6D02D070A8A62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C9E07ED1F8A2B7DD090A44BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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"; }; + CACAE6283CCEC032802AD275 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; + CAE9781DFCC41E750EC5807B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; CB0B2A556417D63523EA8C83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; CB87E7F59C616A0E20ECB7EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; CBB3BF85622B9B875544C558 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; CBF985C3779D9B0BFE5F15D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; CC180EFFA43B485F1A6DE764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; CC27C420117D56ABAB4984C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CCB9E435244EFDEAD87747A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; CCD10DDE00405843C68CD278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; CD10CB521F53F36674738E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; CD13739C3599635DE5F687B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; CD8C53CF62B19A8E549D5C71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + CDC751103E8ABE9CADEF98BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; CDD9D8D1D0DEED5F91CD0503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; CDEFD12DAEF30B7A13DFF8F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; CE72F875E02FAFF5C9C3B4E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; + CEF47DFDD810B6A6633665BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; CF01DB44007FF6940848C91A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; CF16FBA5840B89D53711C89F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; CF412309E5514E05CBD2A30F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CF6B3F4DF15D7BAAEB2495BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; + CF6E0A89DA49E7D810CF49A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; CF6F99867E4ECCD2A2ED0B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; CF746C34F8DB1B073F1A4FA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + D12CAB967B7BDA38EB5E8026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; + D134AB1680C943C338D6B6D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + D1495753000159AD984DA123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; 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"; }; + D15983C0C4540641864D46DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; 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"; }; D34801677A2E2B17CD6CF93A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; D396F2D0FF34CC5C59FA3DC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; D3AE4AEF45E4694F90FA90BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; @@ -819,91 +1027,112 @@ D45B9852EE24763DB29A07CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; D45FA51540441FC7D57E016A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; D46770CDA754135BF9471DF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + D4E8524A7F793A309039F3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; D56D6ADB264AC3107EE2D5C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; D57B55B2B9CE6B6D9D6EFFCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; D583ED6D9DF5CADB3AE660C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + D59DF1631592A9A9955A5278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; D5A52E8FCFD2A574B140050F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5C975D1C3B065AC14FB6311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; D5E118687F94A7A960E7EC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; D5ECF9579C0C6725ECC5654B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; D61678919BFC783EC4062605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; + D64591D66210D08D4AA5DC05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + D651F8F1F8E732F91907DA71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + D67E6656B78F733781FF522F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; + D6CA7F8EDC19C7EFC48AB7B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + D6E6B7AD8FBD0DA7B3652409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; D73A06F366784CFAA87B7BEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; D74826F0CFF78A5C10D954C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; D78365C74082A1253E12AF17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; D7867DB9C17425E3F05EB860 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; D7ADC23EB8DDCAA960EE5745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; D7E99FDE83844ECAA502376A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7EADA1D2664FD94DECE6B2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; D817A6C2192C3954C8B63045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; D8A9DA040BE1279C9863B422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; D8C1391D9B2819FC8257719A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + D91F375D1669E1088BA1DFEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; DA0DD5BF97E3F28C9CCA4A74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; DA366F25CE709950B866C7D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; DA3C59A6D8FE2E93EF171A41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + DAA2C41F43AC328589D5B524 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; DAD5AF16CB91B3134BFDBA0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; DAF2DC4885AA5A5263A16E94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; DAFB41CC5DFEED6280C3D776 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; DB1613193F82A43CE17AAF88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB353F5970D6CF72284F6794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; DB3F9BFDECB17176CD53C029 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB45864369FB3F7582016B8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + DB52D2DCA420778599822007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; DB597523D1985EA60A403B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + DB6C3F30A7B477AA3A695B2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; DB7A3C83FB705898F07C13A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; DB8D923C776A1038384A10D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + DBD688A77C7F16965E26D0C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + DBDC4FE955863B57DBB892BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; DBEE524633668464C9593EE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; DC0D7D089158296DF472F703 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC3B8C3F2BB86DEAD6987048 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; DC52C218059FD576DD0937FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; DC63BD4245A44AA0E41382E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; DCA045C3BF4FAC134D479F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; DCCDC8D852E777EF63078AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + DCCE4FD3F2077865C242A6EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; DCE3EB6C3DF640697ADD3F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD7409CE181B8593F560FE27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + DE350A7B7F148EDE3EB542DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; 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"; }; DF8AC8795BBD9CC5918F5969 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; DFD0AFFFEC046CBD6E837825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + E002582CE609FB97FA74893D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; E0026785667979561D036936 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; E03B0CE2DF954597EDE01376 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; E238C3F270655B4324101263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + E2949305640841FE636D6D48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; E2B8FC5BD4B67250BA9335A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; E42E9716C4B77E32053284A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; 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"; }; - E6096A408885ECA69BCB15E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; 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"; }; - EE1C1CC80C5CB50CA2C69681 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; 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"; }; - DB353F5970D6CF72284F6794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; - DB6C3F30A7B477AA3A695B2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - DD7C6F9CAF5CBA11B6024A83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; 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"; }; - E223F2E916CC8884D48BB2F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; 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"; }; E5AFBFD69831A70A1C8CC994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E5D8D693736794CBF24EAC22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; + E6096A408885ECA69BCB15E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E6AC64E44D1F8E4167F606B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; 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"; }; + E78C359688C47C426B7C3F62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.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"; }; 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"; }; + E97CEC9453930F9D6CC74704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; E97F0C403AFAF4820EDB55F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; E9AFEB90653FD6CBE935D29D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; E9CAA6108E4CC9A8240EDDC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; E9CE9F9373D3557656DFD116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + EA11535479BC5B2B7AB3EE10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; + EA7D39752C67C8D58FABD98B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; EA85ECBD920A5EE3E79B57E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; EAAA2AC12D38A7162C99E24B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; EB1D64642D7FA904D675770E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -918,35 +1147,51 @@ 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"; }; + EF49C6A72176805C4B23E761 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; 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"; }; EF9C89B3C7A5808769ADFD76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EFBD1FF8A3D831CF3F78C2DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; 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"; }; + F2CB1B58E23EB7061A08F5E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; 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"; }; + F3DF15EDAF61ED0FE6E2B145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; 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"; }; + F4B216F4F76CC414C29D0FCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.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"; }; + F5037B67510FDA52C9A83829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.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; }; + F68C761355C8BEF77C6E0D07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; F8412676F1B3EAF03D7928FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; F84DED97A83644758D30181D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + F895935E3FED1346F72A6525 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; F8A71BF8EF7965A2F9B0E396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + F8B44A461A8B0DCDB970307E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; F8E04FA3724E51F271D61F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; F90C21F489684D23EDD78BCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; F93E820028869AA360740BE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; F940D16031F521E526383AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F950431A9C0864A8EADF9996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F987F1DEE4BE04FBC1C911C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + F9E839C89F925E89003CC552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; 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"; }; FA01A4ACD8E51ECC2D1C1B63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA0B13EA5304BD704A327B75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; + FA4B359528AACF774A9D7C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + FAA94DDD935004D19E6BAFDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; 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"; }; FB4B0B7CB3B7693E633DF85D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -954,17 +1199,23 @@ FBABB528D9CB9FCA127D3702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; FC43C9F152FA300C417AD510 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; FC4F4A4607AA7CA722526B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC565E7FCDBE5C07DBDC342B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + FC740ACAF08CEF9F17D8B047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC8ED34F51FDE723B6EC610B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; FC9E35A083FC90411722B192 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; FD81229B12072A6A5D27465C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FD99146BE07F3D5D11E19ACE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; FDA2E20181EEDFABEE8CACCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; FDC2F46EDF05732F05628411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; FDD141E4E766AED3F01003B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + FDEEBD67174FB869B9CDBF6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; FE004044BFD20BEA4153C471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; FE0594A998F5C9FE8C2A11DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; FE069E74A6308FF79DF3DC29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; FE39247372F71DB8B9D7DDC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; FE87D270C0095EC7B0FC0F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; FE8F197A2BB3631561C8A694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + FECAF9513A9D6D717508DCB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; FEEE17569A737C486258BC9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; FF46CABD4A7C29380D4CAD26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; FF68B4C1DF411EED5E88DBAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -975,13 +1226,15 @@ D78365C74082A1253E12AF17, ); name = Source; sourceTree = ""; }; 24BF2D05D134C386864C4C7D = {isa = PBXGroup; children = ( C366FD2226833583ECDE68D2, ); name = AudioAppExample; sourceTree = ""; }; - F2E49DBAE98ABA5E5C031BCF = {isa = PBXGroup; children = ( + 9827D1759F7D4C6C17CA1F73 = {isa = PBXGroup; children = ( C2015BA8A41561F8A723C50F, 9E67899F08C1CB65A37C728F, 9169D30719C69B4CF1EB6061, 10F336062BF70F1171393EA0, 5AB7146863FE8F4F5AD7A092, ); name = buffers; sourceTree = ""; }; - E141FDB76076E9900A282A25 = {isa = PBXGroup; children = ( + BB1935752BECF62B1876C135 = {isa = PBXGroup; children = ( + C44A9F021B7493EBB381A996, + BCF963D2FA867396A95C761E, CDD9D8D1D0DEED5F91CD0503, 3F88D654099659A1CA38D409, 0C5E5B8CF7DEE3AC90CD251A, @@ -991,7 +1244,7 @@ 6F3004F968CFEFA5B776AA32, C803F9C7B980825563EF5C61, 75BAC34D9924B34C89B4D26F, ); name = effects; sourceTree = ""; }; - 177E3C8F145F08C8D31DF35F = {isa = PBXGroup; children = ( + 6C5A845067BB60D0AA7B522E = {isa = PBXGroup; children = ( 49245E8C5141A64C17209913, DB353F5970D6CF72284F6794, 3A0DE69457B7A75B13579949, @@ -1004,7 +1257,7 @@ 367C43A83F6BBA49141755B7, 67B09A8FEF0A70DBF68D573C, A84C613340F1766BB5D46145, ); name = midi; sourceTree = ""; }; - 270A7B39CC9DE46FC3B843F9 = {isa = PBXGroup; children = ( + 8AE817475609A6FD72A85139 = {isa = PBXGroup; children = ( CB87E7F59C616A0E20ECB7EE, BA118EFAC919B4F2D27F9821, 3F3F28559477D3C2CE6D85CC, @@ -1040,19 +1293,25 @@ 5435DECD3AC65DBAC5C2A267, 0407B0BEDEA7EC85B84197CD, 163C76000FCA6DEEC7C240EC, ); name = sources; sourceTree = ""; }; - 57F3A961E989E4F578F6B428 = {isa = PBXGroup; children = ( + 544EB6E6BA247AA5AC7CC6AA = {isa = PBXGroup; children = ( 84C7DA39553A08EB2F357718, 0AA4DFC6689DAC5C6C6D30B3, ); name = synthesisers; sourceTree = ""; }; 42D107F741897BBB52B61202 = {isa = PBXGroup; children = ( - F2E49DBAE98ABA5E5C031BCF, - E141FDB76076E9900A282A25, - 177E3C8F145F08C8D31DF35F, - 270A7B39CC9DE46FC3B843F9, + 9827D1759F7D4C6C17CA1F73, + BB1935752BECF62B1876C135, + 6C5A845067BB60D0AA7B522E, + 8AE817475609A6FD72A85139, DD62545F8D5941E384FB7D0E, - 57F3A961E989E4F578F6B428, - 02CF5AD726503AFB1193C81E, + 544EB6E6BA247AA5AC7CC6AA, + A5CEAB1F6D372491DAA89571, + 886CA18FAF31B80A3604C5B3, + 19DBF218B50AA295AED50CC2, 886CA18FAF31B80A3604C5B3, ); name = "juce_audio_basics"; sourceTree = ""; }; - CB1B7A138B91EEBE7BFE8C37 = {isa = PBXGroup; children = ( + 3E84E4C7BECC9CBA1261BFD9 = {isa = PBXGroup; children = ( + 81C9752ED058D6AAAE40E021, + FF68B4C1DF411EED5E88DBAD, + A9C0D755D2D644AB9B9EE13C, ); name = "audio_cd"; sourceTree = ""; }; + 49EAE50D648F855C75230204 = {isa = PBXGroup; children = ( ECD6FDB8D99D661E23915E85, 448B223113A96B6D7C026E0E, 782C982DE17D3619F58453B3, @@ -1060,22 +1319,13 @@ 37DDE4779BEE726B73257328, B043471A2BE93BA496CA44C9, 1E02091AE0A7BB79608FCC0D, ); name = "audio_io"; sourceTree = ""; }; - 11FB0A16BC11F8811563E23C = {isa = PBXGroup; children = ( + FFC332F3B408919CF7E5D42B = {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 = ( + 90ABF4F46983014ECB8AA7FB = {isa = PBXGroup; children = ( 80D99C9EB9437791B2317ED5, 802E9ACA0F0495F366FD61D5, FB4B0B7CB3B7693E633DF85D, @@ -1095,31 +1345,169 @@ 4E81FC636E217976041F8FD0, 0C28072364B08528A9AD5B85, A3E8C954C194E24AE1907AE2, ); name = native; sourceTree = ""; }; + 54C2976F1C8239E23DEA679D = {isa = PBXGroup; children = ( + 550A729142AB16A20BB99123, + 9E8979F0765D76FDC54E0FA3, + 7DDA47BB9CE313C8AE917F40, + FE39247372F71DB8B9D7DDC1, ); name = sources; sourceTree = ""; }; C1CFAF0419BB789AA0E38629 = {isa = PBXGroup; children = ( - CB1B7A138B91EEBE7BFE8C37, - 11FB0A16BC11F8811563E23C, - FA179D6940326B16EA8F4EBE, - DB3BC4FF9BBE474A50B1BD39, - 75059FB5256785C4D9234524, - 5AE6D28B2C36587A4F0E9DE3, + 3E84E4C7BECC9CBA1261BFD9, + 49EAE50D648F855C75230204, + FFC332F3B408919CF7E5D42B, + 90ABF4F46983014ECB8AA7FB, + 54C2976F1C8239E23DEA679D, + 04BAFE2FB1BAAF033BC699E8, + 41DC9C31FE8A27E721AC95C6, + D08758C4B60AE0ECD82D8EF6, 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 = ( + 351ECC2F5FF6F2525574D934 = {isa = PBXGroup; children = ( + A566883DA78BC9C542DF198D, + CDC751103E8ABE9CADEF98BE, + F8B44A461A8B0DCDB970307E, + 9D6C27B0FB901C5AEF07A6BE, + A8CCF400E8D1FE6B477D20DD, + C7C4A19968351E3714E3A92A, + DBD688A77C7F16965E26D0C0, + D5C975D1C3B065AC14FB6311, + 7C4332635F1B1A449C8612E4, + 6577147B7ACF69FEE808565B, + 04779277DC5D573E41039C76, + D1495753000159AD984DA123, + FA4B359528AACF774A9D7C51, + A75AFDF8F6AE64BD46D65B39, + 384E5A9C1C664C0DA41C93ED, + 376C162356A8B02C7D1F6225, ); name = private; sourceTree = ""; }; + ACC4F1B69A84670D947FF89A = {isa = PBXGroup; children = ( + 5E3F06FD782D2CD86F52DEE3, + FDEEBD67174FB869B9CDBF6F, + 33A7431EA11DA6EA2EB54B73, ); name = protected; sourceTree = ""; }; + 1F2969394D82C521B4BBE015 = {isa = PBXGroup; children = ( + 351ECC2F5FF6F2525574D934, + ACC4F1B69A84670D947FF89A, ); name = include; sourceTree = ""; }; + 1E8EEDBF3C9A41562D63B3F3 = {isa = PBXGroup; children = ( + 1F2969394D82C521B4BBE015, + 5A9801DF7974C88AE672FB0A, + 727D3B04CEC810C9E31818DF, + DB52D2DCA420778599822007, + FECAF9513A9D6D717508DCB5, + 520229603B80DDB9383B059A, + 17F3DB5C0DDFAC4C2CEB4BBD, + DAA2C41F43AC328589D5B524, + B13EA4B367C04B6CC907A653, + EFBD1FF8A3D831CF3F78C2DD, + BB022F7F4B42FFA0EF0CA057, + 95BFF8347217476E96BE596B, + C15DEA359893E2ED3EDAF068, + A0F88827B74C3AC6C525A5FD, + BFA18696481DAFB502EA4BD0, + BECB43F9B14DF315A6427885, ); name = libFLAC; sourceTree = ""; }; + 464F65E3CFD35FDCD8904B0E = {isa = PBXGroup; children = ( + 1E8EEDBF3C9A41562D63B3F3, + BAF79F7AD61C6F9D075B7CF6, + 42752DCFE332744F2EB9ECBC, + 56FBAC3B04D40AEA10F3A61A, + CACAE6283CCEC032802AD275, + DBDC4FE955863B57DBB892BF, + FA0B13EA5304BD704A327B75, + 4DD7367AB1AE0ED2B4D049C5, + 963AB3C7302E0DAAC4609764, + 0618D1485995FE91CF51D999, + D15983C0C4540641864D46DC, + 10D6995E32D2195B83AB6625, + C270D33BB7063F3CA87060D3, + B43FC525EC63E5977EAA1CAA, + 5A6EEC7D693AE53C8AED02A6, ); name = flac; sourceTree = ""; }; + FBFA293A3CD6F3619F8CD5BB = {isa = PBXGroup; children = ( + 2ABA77E8EBE6E6ECA2C52FBB, + C0CEF82465C13FF8B6C1B518, ); name = coupled; sourceTree = ""; }; + 0E1ECAD06321A905539C78FF = {isa = PBXGroup; children = ( + B224C0C216BEC2C7D4BA7D00, ); name = floor; sourceTree = ""; }; + 4DA22AAD786F75C9D85ED6A4 = {isa = PBXGroup; children = ( + 44CFB6C7A8EBD49B8A0A563F, ); name = uncoupled; sourceTree = ""; }; + ABEBFCCAA6FA1262E3E64B04 = {isa = PBXGroup; children = ( + FBFA293A3CD6F3619F8CD5BB, + 0E1ECAD06321A905539C78FF, + 4DA22AAD786F75C9D85ED6A4, ); name = books; sourceTree = ""; }; + CFAD3F18D9D6A6702A7E2B53 = {isa = PBXGroup; children = ( + A9BC04CDBB89B5C69F451DBB, + F4B216F4F76CC414C29D0FCE, + 74C339CCD1FF1B5FBD7B6A17, + 19BF0C0BE10BDADD223D83D7, + 6C293F5757B54DCE40E8778B, + 6EC940882CB75B0E1ECC7622, + B4FCFB0769B519DD59BE5C8D, + ABEA9EF38E5D8889BABDB8D6, + 050EA91C80B766D94E2D1A03, + 74354D8558613614ED20700B, + 908F1FE4D50D7CD9DA88212F, + E97CEC9453930F9D6CC74704, + C7E2FCA48D1B8E4342E3764E, + B03EE3A801B1D66051E1854D, + E78C359688C47C426B7C3F62, + C7E4FDCBB6C2E749B4071D7E, + 25AB0AA93E60D4643FCD41DB, + C04CB0D7E420CE20576F16AD, + 831523742EFC9D0FB8BFB3F4, ); name = modes; sourceTree = ""; }; + 6D34BFFCDDC00C704CCEB6CA = {isa = PBXGroup; children = ( + ABEBFCCAA6FA1262E3E64B04, + CFAD3F18D9D6A6702A7E2B53, + F3DF15EDAF61ED0FE6E2B145, + B24D811F4C0290F7B34071B4, + 1C6CEBD20314F54D2A8173CF, + 7ACBCD7055BDECB8D019C567, + 2C922B92B9EA409806048C75, + F68C761355C8BEF77C6E0D07, + 908B4E31839509B50EF0DF05, + FD99146BE07F3D5D11E19ACE, + 22C5222C774FADE4D6B804CC, + 8C15F9D395DC823C0DD7AE6F, + 68DAA6189E58E76EF24ECC45, + F9E839C89F925E89003CC552, + 41539BB2BB1380498B4A711B, + DD7409CE181B8593F560FE27, + EA11535479BC5B2B7AB3EE10, + 29618F0B1B0B284A8C715FCF, + E6AC64E44D1F8E4167F606B6, + 6F9CA852C2CD9FC39BD837E2, + 1ADF3DDB2F716EF700B0179C, + CEF47DFDD810B6A6633665BE, + E2949305640841FE636D6D48, + C8931FE1A63291CBAFB35814, + C90DB58EB56DF71AAB5AEC5B, + DE350A7B7F148EDE3EB542DC, + 95B81AF01C9ED31640ECB25C, + 582B4E5E61E1F8D32B6D01C2, + AE85D09C31178E0F749A81AA, + 82343F3D1688C6DEB208C3A1, + 8E0C81DB0B094A1D72A14F7D, + B3DA27C2A5A7518C12131958, + C0B69D7BBADF0F4E657F3549, + 49067AE0E1C2121ACBEE2374, + FAA94DDD935004D19E6BAFDC, + 8876E60730FB901A1332DCCD, + 5F1A204298557C9CDCBB4C7F, + 80CC4615D1FC598ABE3F01D6, + 438DFB77DE0AF090CA6A8C4A, + 9B2B746361D674336D450164, + C7BA2B70AA9CBEB4FA379BEC, + BEE2C263F84DD6846129ED1E, + 07E1A679F85B690EB658E772, ); name = lib; sourceTree = ""; }; + 74DC9BE7501B68A840310AED = {isa = PBXGroup; children = ( + 6D34BFFCDDC00C704CCEB6CA, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + 402DA9155D45B84C6A272757 = {isa = PBXGroup; children = ( + 74DC9BE7501B68A840310AED, + FC565E7FCDBE5C07DBDC342B, + 2A3AA70997DFB1C348CC04D8, + 859DDF35ECBB53CEF93D80F0, + 8C2C8AC9268D21F2BB82D60A, + 3097CA850D7EF5DAF2160DDE, + B82AD0CA59B47AB8FEE8015F, + C1086888EDD846C241174E1E, + F5037B67510FDA52C9A83829, + 4832B29659F5D97A106B5D48, ); name = oggvorbis; sourceTree = ""; }; + 91C348A4ABC2AF7C416F85D2 = {isa = PBXGroup; children = ( + 464F65E3CFD35FDCD8904B0E, + 402DA9155D45B84C6A272757, 7C47594E189DF41C1A9A697D, ACE73C5C489D1CF6D4824776, C95E510FB09338D7BB74781D, @@ -1138,16 +1526,51 @@ AF1DDB78AF70C25D07D77387, 881A14535E84A919974D8F84, D28E2CC83808A521E99BA3C9, ); name = codecs; sourceTree = ""; }; - 2A60CB51A3C591E01CB900F8 = {isa = PBXGroup; children = ( + A24D0B849E2326C6BB1D5425 = {isa = PBXGroup; children = ( + 3E9355CECB4C063F13CC481F, + 582CAD0FEF6DC8676068004C, + 1176710342A96CE5E736F504, + 0BA2BBE2C12EFD349C06114E, + 9A26AEA080345998826A7F9C, + 76F5916C8F6C275EBBC12901, + E0FBED51F796AF5616D51696, + 4B57EFAB122FF8AD8A15DD4D, + E6538FD6973A159756E2DC91, + 75A55732BFBBC2BAEE28AACF, + 62E68C38E001F2FE60397D3F, + D8C1391D9B2819FC8257719A, + F8A71BF8EF7965A2F9B0E396, + 87068D2C6B2EF98F548312B7, + C945BC507F2AFD320F0FA60D, ); name = format; sourceTree = ""; }; + 18847922511AFC4411F037E3 = {isa = PBXGroup; children = ( 0029311BFF31395FD00963CA, 75AB14C9D97B3563BE688EA8, ); name = sampler; sourceTree = ""; }; BCC969C3BC478853FD7E336F = {isa = PBXGroup; children = ( - A829EEC7C9D388964229DE57, - FA1254B776BFC3471DB96D0E, - 2A60CB51A3C591E01CB900F8, - 5BE6EA9AF8FB65EE6C5A2DDE, + 91C348A4ABC2AF7C416F85D2, + A24D0B849E2326C6BB1D5425, + 18847922511AFC4411F037E3, + 79C2499E9591E2C028D11EE9, + B28EBA2EDF0E543EA1ED374B, + C987F7105C386F9799C74AE5, B28EBA2EDF0E543EA1ED374B, ); name = "juce_audio_formats"; sourceTree = ""; }; - F94E85FEB3110173DE42317B = {isa = PBXGroup; children = ( + DEDC52AF030382BB5EE916EF = {isa = PBXGroup; children = ( + 21ED255865DBE1B9B27CE0CE, + A9B5EEEAFA441F850358281B, + BC77947BDED20C022DE3D8B8, + D45FA51540441FC7D57E016A, ); name = format; sourceTree = ""; }; + 4346DB4FF08B3FB0AA3D9C26 = {isa = PBXGroup; children = ( + 7FCEC7C5C54AB90A7709406F, + B905BFB6C174B284D84339A2, + 973257D8FB62DAE78ACE85DD, + 37737A4FE37D244DCF36F8AE, + 040F3CA16CF425185E82976D, + 6C32FCD6B87189C1F43BD462, + DB6C3F30A7B477AA3A695B2D, + 6D869E6ED7DF080A9FAF162C, + 6C4F8F17F78FE9C8B45941D3, + DD7C6F9CAF5CBA11B6024A83, + 5374AB638100ED67F198E888, ); name = "format_types"; sourceTree = ""; }; + E3B1FB08635B63FE110F2D04 = {isa = PBXGroup; children = ( D5ECF9579C0C6725ECC5654B, DCA045C3BF4FAC134D479F0B, E9AFEB90653FD6CBE935D29D, @@ -1164,24 +1587,7 @@ 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 = ( + B15BA9691F55085AEA9F9476 = {isa = PBXGroup; children = ( 1B92C858971081339CAC889E, FE004044BFD20BEA4153C471, DC63BD4245A44AA0E41382E0, @@ -1198,14 +1604,16 @@ 10F35EB3267D17EB21EE9EEF, 1859D1550F703A8B0E2E9678, ); name = utilities; sourceTree = ""; }; 0F1330B9E634C8C1D2A19EAD = {isa = PBXGroup; children = ( - F94E85FEB3110173DE42317B, - 9EEB441FDDAE7DD5F3E24041, - 2897EA058D69BF9B0C8A446D, - 83B7987F50AC8F2EE5E1C2A0, + DEDC52AF030382BB5EE916EF, + 4346DB4FF08B3FB0AA3D9C26, + E3B1FB08635B63FE110F2D04, + B15BA9691F55085AEA9F9476, D74F542E998B0A51BAB9D571, - 30E959B23AA2EBA0CB11D121, + 05205756F23E4CB8A2A2CEA5, + 5E151D89199CE9D3E7C3F0B8, + 768E5A86B7E84A146818B866, 5E151D89199CE9D3E7C3F0B8, ); name = "juce_audio_processors"; sourceTree = ""; }; - 785AC00FC0793B0127274AAB = {isa = PBXGroup; children = ( + A4DB99A85C6106C5D535CDFA = {isa = PBXGroup; children = ( 9CC7A321D4B4323FF06A03B9, 6D9E97482246DAD163EE58DB, 97F0F9EB4F3131BE9C4684D9, @@ -1220,72 +1628,24 @@ 8BD3E08A5A6D32150E703D8A, BACFDC91EDA31FACCF2B15DA, 0E8660300B58F0FF90907C93, ); name = gui; sourceTree = ""; }; - 7B29609B00A97DB47552F081 = {isa = PBXGroup; children = ( - 4DA82F4EA6B042B411DB20A7, - 59D6E450E7823A809631B85A, ); name = players; sourceTree = ""; }; - F097BDABFD6B0B58AA2A3418 = {isa = PBXGroup; children = ( + 811C70C42F8696F982B7C891 = {isa = PBXGroup; children = ( 449FB9CD81DD670CE4A577CA, 377814D716769899D3050668, 29C93739F97FE9FCA3AC4CF5, BA4496257844A6CA50995840, 36CCF902426491CC248117BD, ); name = native; sourceTree = ""; }; + 7CF196B147341997E63C0B10 = {isa = PBXGroup; children = ( + 4DA82F4EA6B042B411DB20A7, + 59D6E450E7823A809631B85A, ); name = players; sourceTree = ""; }; DCA2C59535A97CCC2E7E5D5B = {isa = PBXGroup; children = ( - 785AC00FC0793B0127274AAB, - 7B29609B00A97DB47552F081, - F097BDABFD6B0B58AA2A3418, - B896CB8307AD3EC317794847, + A4DB99A85C6106C5D535CDFA, + 811C70C42F8696F982B7C891, + 7CF196B147341997E63C0B10, + 70461AEAF24C0B949814DD79, + 5736EEAD19F704D8BC0D63CB, + 0D72F29AB05E80E6D8A57578, 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, ); 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 = ( + B8222A30EAF2E159516EA512 = {isa = PBXGroup; children = ( 12ED2DA2996DEFA911F07ECF, 303FE5650303C9D52133FDB9, 7A7925B71E4B01A22C6E7453, @@ -1307,37 +1667,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 = ( + 46C30BC6B025DEC1C32EAC07 = {isa = PBXGroup; children = ( 8BA6EF260D361C1FC16E338E, 873BD4265902B4FB6CC3A0A6, 6613704E18148830091DF585, @@ -1355,76 +1685,56 @@ 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 = ( + 6D553E274A448CC1B38A326C = {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 = ( + 428237B69EA3E56FCC5AB739 = {isa = PBXGroup; children = ( + A3C671FCF17ED732E654C652, + BEF6E9C8B9FE65A89F84DD3E, + C3429B905F1744303CAE83AD, + 87E0E3F42A5E6C795C3769FC, ); name = logging; sourceTree = ""; }; + 1571013102A3A807BB5AD822 = {isa = PBXGroup; children = ( + 52D2F52B7284090A8CC4F18E, + 449F72688745585AEC908DE3, + 8D263509D4EB25038163FB5D, + 15C4E5B79331FFEF10E553D5, + 59F516B1F82F487ED0B8A08C, + 5CC1850C4E76C0825DF9F9A2, + 1399DD492AC9998A6513E251, + A311FDC490ED65A08E3B8B61, + E88B889CB23D7A61B31FA1E9, + 315DDEAAB7818AE4F369C230, ); name = maths; sourceTree = ""; }; + B0E5D21B34B140663A8749FD = {isa = PBXGroup; children = ( + FE069E74A6308FF79DF3DC29, + 2651FD678A14B0751CB5D020, + 92A68AA34859E8DDC511D21F, + 53C3C3F56CEF7ED61F8451E2, + A3A119C6E5ACA90C03A77A04, + 8292A39754EAA00C8AA376B0, + 12D1ED411A617AB55887F19D, + 75C69A20FBFD837BC86D860D, + B06BCB5D9CE908831C7E81D0, + B05B1D7ACE1C33319A87328A, + 408AA1123D7BFE64D870013F, + F1666DBF5DC7FF6B94C0F0FF, + 7C3E3ACE7E74B1ED0C3BE343, + 3B39B66B640766E9B90E3046, ); name = memory; sourceTree = ""; }; + CCE186C41B7722255E0F4916 = {isa = PBXGroup; children = ( C0813C1842A72A80AEBC8D3B, 54905E0DBD3DFC08980F0635, + D0FD262EC7099AD662232BD3, + 9FE0CD7594DBB296791F83E9, 3E87A40BAA207A6F8491BE60, 3BF749BD7341CB6B695403F2, 38628669BA3E9CF7E2DFED16, ); name = misc; sourceTree = ""; }; - D9B6523138F19B60DEABC1CA = {isa = PBXGroup; children = ( + 5BE84F21CA00849893A68461 = {isa = PBXGroup; children = ( 35C33DF203333BE87587F1BC, 60E06352A02CFAEE12295CDA, 1F0ADEAEB1F4BFFDF96597D6, 722A961347F2FBFBADD22E88, + D306CB540CCDA3C2F37FA1CF, DA3C59A6D8FE2E93EF171A41, 8BFB376F26710685A2BFDE62, CBF985C3779D9B0BFE5F15D3, @@ -1449,34 +1759,164 @@ DA366F25CE709950B866C7D9, 1B6E61F45C2F5E81914A71A7, F0776755F05C2BF5C7AF4FDC, ); name = native; sourceTree = ""; }; - 134363737026CC80D69F48A5 = {isa = PBXGroup; children = ( - D4AD8131D5DDC542D8D8462D, - 66CEC72801EF9BE77D39B19F, - 9C56D83D3BDD05DEF239F71C, - 7F38B22DBF6D9255AD0FF626, - 0AB06DB5C2631EB668C528A2, - 403635C774A6BBC0F6980B64, - BC7512A77A4AB71F889C67BE, - 8BBFA220942050CA89C4222B, - 50B1E864B2356E8572B9A62F, - 401A32949AE4A75BF94D58BF, - 8C087A97055FFF267ADC28DA, - 03A962E8ACDBD0C24CD014AB, - 1F04306E8F4BD6AA8AFA3185, - EB6A51E5AA5A5C974F82075F, - D31BDA28674C941530C73CA9, - C9B1F8F814FE5B552A67C83D, - D9B6523138F19B60DEABC1CA, - 3CD98742CA1919AEE3F9D9BC, - FBABB528D9CB9FCA127D3702, ); name = "juce_core"; sourceTree = ""; }; - D7FE02721660A0F1ADDE0BED = {isa = PBXGroup; children = ( - 844235B2D29429BEF2F7D184, - CCD10DDE00405843C68CD278, - 46AE290C54ECEFF69D62C0A6, + 13FBF638084BAD7E337556B1 = {isa = PBXGroup; children = ( + 51BE027208C01296F2E76054, + 74D736A2BED0751C2A3C1BFE, + 1FA8CE4825B48E4FECCD1FEA, + 3514CF0F5CB28BBD688539B4, + 2A48FAEC948B121B6EB34631, + 0FEA2018033238F713A9933D, + 13A8EAABA98838BC051D7ECD, + 1F293903C761D909018FDD67, + 0A4F90598876FBE7A67A13D0, + B59C7AFE7DA427E795F736CE, ); name = network; sourceTree = ""; }; + BCA23AD0BDC591CF6F02AEF0 = {isa = PBXGroup; children = ( + 490FFC3A7899AA8FBE8E2D0E, + E0EEC67C10363E4FB3C0B956, + BC4C2690333D8622D054E99A, + 083D342FECE0C296374EF291, + 2289F6AE28B501127D381EEC, + 422EAE67E128C8295A23F6A0, + 3B3AB4E5CE405BF348F634C8, + BDA38AB61C19E4924549ABD1, + 1FF55E3BBA8A22620289A59E, + F06CE10515F49B1DC5E87353, + D56D6ADB264AC3107EE2D5C8, + 58A314392D34735350431602, + DA0DD5BF97E3F28C9CCA4A74, + D1504817660ECE621AAA066F, + FB21D85F25FF7C468331BAEC, ); name = streams; sourceTree = ""; }; + B27E17F9BEA91CFB700DA943 = {isa = PBXGroup; children = ( + D26A4E01842FF08AAA34B9D7, + D583ED6D9DF5CADB3AE660C8, + C35667BD04402DF29D3FEF8F, + 94EA75B72A8361A33A498EDB, + D1A83AA1BCDB061B528DB415, + 820C05ED738EB5A0B1D48AD3, ); name = system; sourceTree = ""; }; + 85E178B6AC0A9B4EBC7E8CA8 = {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 = ""; }; + FD659B3F682E3ADAFE3BEB54 = {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 = ""; }; + A7EEBFB38871B4D3FE4A630F = {isa = PBXGroup; children = ( + D46770CDA754135BF9471DF2, + AFD134A52E53280F52870EF7, + DB3F9BFDECB17176CD53C029, + 248D8296344CFAC3E6CA732E, + 9521308539218CF751ED1B1D, + A8452D6DA370E42EF91F1555, ); name = time; sourceTree = ""; }; + 0B2A9ED90F6D65148798DCAD = {isa = PBXGroup; children = ( + A833D4B8902DBEF7D8B32E50, + 9D12A31934633A579D324B96, ); name = "unit_tests"; sourceTree = ""; }; + EAB08DB7DE3A2C26D01887F1 = {isa = PBXGroup; children = ( + B5CA0C1C957C04A44E778E85, + 10CCA4154B34E2601DF7E36C, + DFD0AFFFEC046CBD6E837825, + 1501B794994314589934734A, ); name = xml; sourceTree = ""; }; + 94B9CB970337C2A96AF0E9FC = {isa = PBXGroup; children = ( + F2CB1B58E23EB7061A08F5E6, + 54D6CA598592911CB81CFA0F, + D59DF1631592A9A9955A5278, + 972A6F7946F6AD49363B086B, + 6FD8262BFF8E9AFFADA58CE7, + C1B7C3023580A6BA14147650, + 75E3999637D58680266383A8, + C9E07ED1F8A2B7DD090A44BF, + D651F8F1F8E732F91907DA71, + D134AB1680C943C338D6B6D8, + DCCE4FD3F2077865C242A6EA, + 1C466F49D391FF41631F638D, + ABCD122A8F9A9EC72A03B762, + EA7D39752C67C8D58FABD98B, + 49F437436A7586BD474F5082, + 4F8AA2D9AC20DC38B1081404, + 22FCA89693665C10D3EBA275, + DB45864369FB3F7582016B8D, + 8548A04BC8FD445C56E71D70, + 6D0661D481DD282C9A4F6A40, + 7CD5A219F0DB391B3A8FA3E4, + D67E6656B78F733781FF522F, ); name = zlib; sourceTree = ""; }; + 086B34B8A4388C3DB4814F05 = {isa = PBXGroup; children = ( + 94B9CB970337C2A96AF0E9FC, + 363345C2BB552CE31BFAB6D2, + 740B836DA87A1C70DD06D1C5, + 16138611E29922ACCDB8DF97, + 4D8CBFA4ADFA41465A97C072, + 07721876CC21C0DBD17D00EE, + 6B2C313C20885C7B75D40ED2, ); name = zip; sourceTree = ""; }; + 134363737026CC80D69F48A5 = {isa = PBXGroup; children = ( + B8222A30EAF2E159516EA512, + 46C30BC6B025DEC1C32EAC07, + 6D553E274A448CC1B38A326C, + 428237B69EA3E56FCC5AB739, + 1571013102A3A807BB5AD822, + B0E5D21B34B140663A8749FD, + CCE186C41B7722255E0F4916, + 5BE84F21CA00849893A68461, + 13FBF638084BAD7E337556B1, + BCA23AD0BDC591CF6F02AEF0, + B27E17F9BEA91CFB700DA943, + 85E178B6AC0A9B4EBC7E8CA8, + FD659B3F682E3ADAFE3BEB54, + A7EEBFB38871B4D3FE4A630F, + 0B2A9ED90F6D65148798DCAD, + EAB08DB7DE3A2C26D01887F1, + 086B34B8A4388C3DB4814F05, + A670FAB7E1B917B9FD22EC98, + FBABB528D9CB9FCA127D3702, + 7DE30FBED9393A59FF08AFC4, + FBABB528D9CB9FCA127D3702, ); name = "juce_core"; sourceTree = ""; }; + D7FE02721660A0F1ADDE0BED = {isa = PBXGroup; children = ( + 844235B2D29429BEF2F7D184, + CCD10DDE00405843C68CD278, + 46AE290C54ECEFF69D62C0A6, 4F613FCE6F5079EBF19A2489, A9AE20E7B5E5A3B47C18EC11, 90ACD3C39C69C46B567D1DAE, ); name = encryption; sourceTree = ""; }; - 12A6E418E243AFC94B96A6E1 = {isa = PBXGroup; children = ( + B0630957064EAEE1B8B719A9 = {isa = PBXGroup; children = ( E6096A408885ECA69BCB15E5, 553AE1A4613ACE6750798D0A, 3F2852F4D9EA9C67864288FE, @@ -1485,51 +1925,38 @@ 3CFFE0377EB4E2615F89AD16, ); name = hashing; sourceTree = ""; }; 367D3E7B1A3582D5693B9FC3 = {isa = PBXGroup; children = ( D7FE02721660A0F1ADDE0BED, - 12A6E418E243AFC94B96A6E1, - 6BAD62D1E379BB05328C035D, + B0630957064EAEE1B8B719A9, + 7F55584DFEF4BEF0B1DC8DA7, + 8563FE036E562AD98EAF4FE1, + 332B664DD5F1E87D1BC77715, 8563FE036E562AD98EAF4FE1, ); name = "juce_cryptography"; sourceTree = ""; }; - 1DD90061ACEAF4356BC3D3CE = {isa = PBXGroup; children = ( + D7FAF312716CE1A911A4A0FE = {isa = PBXGroup; children = ( + F77BDA821AFA286E0B7CA733, + A47A4A946381F45AE898A70D, + FA01A4ACD8E51ECC2D1C1B63, + 322590D8C7EE4F273C28A081, ); name = "app_properties"; sourceTree = ""; }; + 317726F5D8F04BFE7B5B2971 = {isa = PBXGroup; children = ( + BBA6F050F86F5DC509CBB4B1, + 737DE6483F59E9AAE31B8568, + DB597523D1985EA60A403B94, ); name = undomanager; sourceTree = ""; }; + C7EA4ACEEEC3988BD21CA167 = {isa = PBXGroup; children = ( + AC0BAFA4938BCBE8B7935AE9, + D4E8524A7F793A309039F3F6, 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, - C283CAA3B222E566D9C79EC2, - 723121B288F8EB847FF98DE0, - E89A3BC0B3BD6CCAEE267855, + D7FAF312716CE1A911A4A0FE, + 317726F5D8F04BFE7B5B2971, + C7EA4ACEEEC3988BD21CA167, + 4EA2711A7AD55013D83AA8D6, + A943021729B460E5CF76D54A, + BBDC1C7DE652B571ED885097, A943021729B460E5CF76D54A, ); name = "juce_data_structures"; sourceTree = ""; }; - 017E9B99D428699F1C6D5087 = {isa = PBXGroup; children = ( - 3CEE794B62AEDD6CD0650F0B, - 427F2DF6378E91A673BD5805, - A64E0921A828155BF1F5455C, - AF3E236113F3DADC4F2D59D5, - A08FAB7BE9C27D36087D4B45, - A18B835EB367E1D27693517D, - 3655B7B8C77849CD422BE014, - 25A32EA2B5B35D951633212E, - 89163E9DB0626DF42D686130, - 37AC07521C58A8D0AB468D4F, - AB8486AC595BB23DB29EDE78, - 44D12A261F14400C108FE695, - 546E1DA09F73BB6E17FD63CB, ); name = messages; sourceTree = ""; }; - 39D10AF212D901043F60E411 = {isa = PBXGroup; children = ( - 01065486D2E254D02B75509F, - 4A4D808E73E64EAC75888392, - 2CA8A8FEF881E1400CE33991, - 1DA9D191A3312AAF11810745, ); name = timers; sourceTree = ""; }; - FA63A4FEAF47A149B05B2D7B = {isa = PBXGroup; children = ( + 8354F8C425E8BE1C394F2371 = {isa = PBXGroup; children = ( 9B28308E02810E07AA5D9FA7, E42E9716C4B77E32053284A9, 0B8CE7C2918A2BC3C86E3CF9, @@ -1545,7 +1972,21 @@ AE88491D97D08B1215C182B5, E663E110A4BE0E43ADCC7ADB, 72FDA2118BBEAF1B8AAB2D74, ); name = interprocess; sourceTree = ""; }; - 259A4043A2C33A2F7542D782 = {isa = PBXGroup; children = ( + F1A8B54888E286391FE2DF3D = {isa = PBXGroup; children = ( + 3CEE794B62AEDD6CD0650F0B, + 427F2DF6378E91A673BD5805, + A64E0921A828155BF1F5455C, + AF3E236113F3DADC4F2D59D5, + A08FAB7BE9C27D36087D4B45, + A18B835EB367E1D27693517D, + 3655B7B8C77849CD422BE014, + 25A32EA2B5B35D951633212E, + 89163E9DB0626DF42D686130, + 37AC07521C58A8D0AB468D4F, + AB8486AC595BB23DB29EDE78, + 44D12A261F14400C108FE695, + 546E1DA09F73BB6E17FD63CB, ); name = messages; sourceTree = ""; }; + 99ED55A73BE72176EFA1DC62 = {isa = PBXGroup; children = ( A6A6BF31BD4CE0ED3B3B472E, FE0594A998F5C9FE8C2A11DC, 87B85E49FC448CEE97FCE14E, @@ -1554,15 +1995,22 @@ 79703B85F426FD4DF5C0AC42, F8412676F1B3EAF03D7928FD, C86F3258822428DB91009687, ); name = native; sourceTree = ""; }; + 438FB8A0BA7EF3268349024D = {isa = PBXGroup; children = ( + 01065486D2E254D02B75509F, + 4A4D808E73E64EAC75888392, + 2CA8A8FEF881E1400CE33991, + 1DA9D191A3312AAF11810745, ); name = timers; sourceTree = ""; }; FB86CB37A490EC9DB740D91C = {isa = PBXGroup; children = ( - 017E9B99D428699F1C6D5087, - 39D10AF212D901043F60E411, - FA63A4FEAF47A149B05B2D7B, + 8354F8C425E8BE1C394F2371, 5F95B461A46B124271F4D4C2, - 259A4043A2C33A2F7542D782, - 641CEAEA5DDBA04D348E3E58, + F1A8B54888E286391FE2DF3D, + 99ED55A73BE72176EFA1DC62, + 438FB8A0BA7EF3268349024D, + FC740ACAF08CEF9F17D8B047, + 5765E0F55ADB4319F0F896D3, + 8C96A8A1170495B6693F2FF9, 5765E0F55ADB4319F0F896D3, ); name = "juce_events"; sourceTree = ""; }; - E969A83F4C0CF83A078F47F3 = {isa = PBXGroup; children = ( + 74F2603752D328F3894CF084 = {isa = PBXGroup; children = ( D8A9DA040BE1279C9863B422, B5FF1E4CC8E4177744F0833D, 319336062D169304F2BEDDD2, @@ -1572,7 +2020,7 @@ DC52C218059FD576DD0937FE, A0A94042C6D636512C7A41EB, 958E73D19425EE81B17EA8CD, ); name = colour; sourceTree = ""; }; - B886B1B89D7773E4E0B443C0 = {isa = PBXGroup; children = ( + 306E60A5AD4F647AC21BC07B = {isa = PBXGroup; children = ( 31C5DA5DD3FE3C167B4C6527, 0D748BB96C09FA6846E28D1A, 66FB9E52B611D5E118CED62D, @@ -1580,20 +2028,26 @@ 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 = ""; }; - 6E98284B2337B8ACB6DB657C = {isa = PBXGroup; children = ( + 35DD00A835430D3A0BF2C30D = {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 = ""; }; + 2784592BC0E1DA74D9D35CCF = {isa = PBXGroup; children = ( 0687C181905F8F3CE2CD9B8E, 14D79056503073B08ACAA92E, 55CFA008C55F190872354FF5, @@ -1609,30 +2063,105 @@ 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 = ( + 612A131BA1E02F79761D0D52 = {isa = PBXGroup; children = ( + 52863276575098E6DB87360F, + 696D6CFC64DC094A43301F72, + D91F375D1669E1088BA1DFEE, + A1B654DD3057E3897E5C20A3, + 91E057273D03C8579B6CEF3A, + F895935E3FED1346F72A6525, + D64591D66210D08D4AA5DC05, + BA57E0BF8A62C9F21B654314, + 0F18B5F01AB6DB7E681263F5, + 8125F4125F856212A716690F, + 5623635CC3C7AEBACF0BCFE5, + 94F34ABC822978B34CF71284, + D7EADA1D2664FD94DECE6B2E, + C8F44509007C71B8E14E9ACF, + 0E26AFFABF371B61F52C02F1, + 0BF74A070622B94E12727179, + 5B55232C142C11D27F21628F, + 2B2177CA084CC290011D5962, + 27425D315858662A35E7FDF2, + 1BF6BA43EA8F96D6CB9B08FC, + EF49C6A72176805C4B23E761, + CF6E0A89DA49E7D810CF49A7, + 6A56CAF70AD8E4DEFFD17ADC, + 1E3AE5DF03100E6A1B3592DE, + 018944DD5F5B86CBC5287903, + 3E9FB3411045A315EBEE5948, + DC3B8C3F2BB86DEAD6987048, + 246E4D95AADE7236843D8EF5, + 9EC352467F1AACE708FDB4C6, + 640A35CAD5EBB1AD0AB8BFA9, + 91C088AA6AE523B1476ED6A7, + 4C73FE9A0A6571542F55964C, + 5C80FAB7FECA678439516885, + 25481ECC1A5BD1E00E344AE0, + 2828BD010F79E4781BE87EF7, + 9952CCF0016EF6F0429A1366, + 2E1CCDE3DF0BA239EE636FC0, + FC8ED34F51FDE723B6EC610B, + 0B1EFD1D3E909C010C495E38, + 51D2D6C6DE1B44ED8EC2CDC4, + 86BBEFD5B93BFEF893F1A66C, + A82769B852E37C84785A8A53, + 7ED25F696D0B9B0F935B188B, + 06C7BB08A232BDDBBEE970E5, + E002582CE609FB97FA74893D, + 2A38693F2CAFA31AE153CDB0, + 243D4C62156CAE5435885728, + 00E811660870A5309B4A9C00, + C486CF05AC76411C7DCCD1EC, + B9A61DE2A3BCFDFDEE0915D6, + 78475701F8E01500E4CC12E2, + 7022359A8B3060B01A94B39A, + E5D8D693736794CBF24EAC22, + 65C64C4E25295D8C1F59EAC6, + 56746CAF299928212FAAB804, + B8E5CC766BEAE2A75229D746, + 99CA6ADBC1E1D4393F828E63, + 074142656323180FB7F224BA, + 1E7244B9F96D8FEB84C52D24, + 9570704662B9B890B540ACBA, ); name = jpglib; sourceTree = ""; }; + 01937467EFC395752B8916E0 = {isa = PBXGroup; children = ( + 4E9BB7AE6C210257A01AFA5C, + 45350ADDD4E9BF5652A3606C, + 0E2BB84D03FBCA69B988CFCB, + A80F5D54FFF0EE468EDCA9FD, + A73F17EBDBDA9DDCB48D0432, + 8161691C20EA2C09978908B3, + 127C3926E5A687E1BBD17FC0, + 43212521BA497D706D53B996, + D12CAB967B7BDA38EB5E8026, + D6E6B7AD8FBD0DA7B3652409, + 73351B2FB21CDA405FEA8578, + 293E8268A0BB8C630D4CEB27, + CCB9E435244EFDEAD87747A7, + B1FEE99A7C2CBF89B415694B, + 5C792C6474D873A4CF29CBE5, + F987F1DEE4BE04FBC1C911C6, + D6CA7F8EDC19C7EFC48AB7B7, + 33E0CFDAD6BD866CAF23EC85, + 146DBBB2BEDD287F1548F186, + 4B349C3E8C63963A9D83007F, + 60D27705167513091DDADD67, ); name = pnglib; sourceTree = ""; }; + 393A319882436F5ADE532416 = {isa = PBXGroup; children = ( + 612A131BA1E02F79761D0D52, + 01937467EFC395752B8916E0, + DD970DAD7E15CD399583110F, + 93B34B16D67C27ADD795D346, + 9A123AE56C9C5AE3BE0E2800, ); name = "image_formats"; sourceTree = ""; }; + 9244025EEE890FE616052925 = {isa = PBXGroup; children = ( + BDC870E69E95845672295AB9, + 359E9C5EB887770E3AA46B95, + 01490B3A4FE0E7503EF78A59, + FDA2E20181EEDFABEE8CACCC, + F5158122AABF8E950827F2CB, + AC8848FA6745CDFDFAF2F927, + 0C211C03FF27A92ADC7706A6, + DBEE524633668464C9593EE8, ); name = images; sourceTree = ""; }; + 1D8D989DC6637C22F6BF8B67 = {isa = PBXGroup; children = ( BF44CE913E3ABC7CBD3A7005, 613B39307B80D6D9C4D62739, C03B12980850005B9ECF2E17, @@ -1646,19 +2175,57 @@ 4A44D8CE1E8F932AD7F6E5A3, 5B267B0B84A4AE272AAD58A4, EF14BD536F709B7D6B9F68F4, ); name = native; sourceTree = ""; }; + C5F49EB5A3A69FD2A2E3E370 = {isa = PBXGroup; children = ( + E238C3F270655B4324101263, + 2C9F5746F9D3DEA41F12FE58, + D57B55B2B9CE6B6D9D6EFFCE, ); name = placement; sourceTree = ""; }; F7DD1006ED325822934CE941 = {isa = PBXGroup; children = ( - E969A83F4C0CF83A078F47F3, - B886B1B89D7773E4E0B443C0, - F309B3269E76DE120143DD91, - F59D71157F4D41C4D4816141, - 6E98284B2337B8ACB6DB657C, - 2E6FA1D06FBF4A4F13B37ACE, - 6018A5E91B7A26DA24103F9F, - AD6C56A11E3F985F7C7AA351, - 44131CDF742706D6C0E9EC66, - A7FC8A80F3BF7EDCBB40DBAF, + 74F2603752D328F3894CF084, + 306E60A5AD4F647AC21BC07B, + 35DD00A835430D3A0BF2C30D, + 2C7B862B0024AE23EEEDA0CD, + 2784592BC0E1DA74D9D35CCF, + 393A319882436F5ADE532416, + 9244025EEE890FE616052925, + 1D8D989DC6637C22F6BF8B67, + C5F49EB5A3A69FD2A2E3E370, + B494C11AAED9D3B5C748FEBA, + 9F0363632194A6415E392DE8, + 5E489080FFCF538C3170739B, 9F0363632194A6415E392DE8, ); name = "juce_graphics"; sourceTree = ""; }; - 2F1041C065A0A50307F614ED = {isa = PBXGroup; children = ( + 1620B214A15E66CAE681C462 = {isa = PBXGroup; children = ( + EBE6C07DB63AAA1F750C22F5, + 05864BC8C7804D05F485305F, ); name = application; sourceTree = ""; }; + BCE073DA3DF013E5E817984A = {isa = PBXGroup; children = ( + DB1613193F82A43CE17AAF88, + B50129FF78D1FCC64DB4D51E, + CDEFD12DAEF30B7A13DFF8F5, + FF8A2AE20EED8687EA5D2A00, + 7F9D7EC0BE80A6DA54A9805D, + C1E4AD74F8C069DBFBA4E782, + FE8F197A2BB3631561C8A694, + 2D8585823D0A4210D1B161DD, + 72DA84A591B2827C323332B3, + F43D110150D84A1CF0B65F0E, + C56587798EDC116C137A1DF5, + B98D12869BACB1D0ECB4EE95, + 32043671A35DA448332B557F, + C33A6A02E9F92ABA9618DD67, + 095864129E8B873229076D4F, + C4F60DBF5BC6169F4B7357A6, + 1AB3BEE546811801C8D4C377, + EC443EF07555D528F21945DF, ); name = buttons; sourceTree = ""; }; + 44636BE74B401B5C61F1E005 = {isa = PBXGroup; children = ( + D41591FF892A6E2E672C7A18, + DCE3EB6C3DF640697ADD3F0D, + 7552ACBC68EF48B063F619E2, + AE1746EE8E4FC95FC3635940, + 7A356CCD42F455D41990C69F, + A6E5EC33E5F9767654EFCB25, + 1E73665689A8CF1EAD07A410, + 7D5050E0DD69CB60EF1B677C, + 6D8FDB139E0FDCBD5641A097, ); name = commands; sourceTree = ""; }; + 4FD7DD7019FEE005F1910500 = {isa = PBXGroup; children = ( 3E8AACC53630A2225F4C5486, F84DED97A83644758D30181D, BF63AD2390FFED75EECD4FAB, @@ -1668,97 +2235,60 @@ 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 = ( - 221859580563CB895AAB6167, - 9E20217FB413D60F83A931AD, - D7E99FDE83844ECAA502376A, - 3E9420908A60B009C762593A, - 804EF2A74F928AE02E380D38, - 6173081C862DEC593FC80E05, - 41D8E7CFFC16D293F934DB74, - 28B97FFBC14A808881547FA7, - 1BF56B39CCF7CBAEF9BB9A84, - 4378029B012345D856709C2E, - 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 = ( + C9BF1A850BEBE188901C1CBA = {isa = PBXGroup; children = ( + B5CF56ECED7AB7108C7FA24A, + EC7A2DEE957A2B375201FC12, + B0FFC533F760AED1CE7B2BC2, + 8AD5C1E90DE18441407D769D, + D396F2D0FF34CC5C59FA3DC1, + 862FE36C50506109E33D6E88, + 2B4A4D4411B9314CEEE873F2, + 6E99388FCA0417BCE813EAE0, + 64515D56E168E26DE6679FF2, + B663B0FD7F2FEDCE59A40373, + 9708B38E625B426432C46439, + D3AE4AEF45E4694F90FA90BF, + A9C31C52F36697E74384B83A, + BA27FD5D74A9F7C7D0660EEC, + 070AE2690CA06010BDBB4644, ); name = drawables; 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 = ""; }; + 629A3CB2284F67C397F79910 = {isa = PBXGroup; children = ( + 221859580563CB895AAB6167, + 9E20217FB413D60F83A931AD, + D7E99FDE83844ECAA502376A, + 3E9420908A60B009C762593A, + 804EF2A74F928AE02E380D38, + 6173081C862DEC593FC80E05, + 41D8E7CFFC16D293F934DB74, + 28B97FFBC14A808881547FA7, + 1BF56B39CCF7CBAEF9BB9A84, + 4378029B012345D856709C2E, + 19FE66760D46BF77905C3B48, + 661F33F1EB949D590090D53E, + 1DA8B8E25372E8F00080877B, ); name = keyboard; sourceTree = ""; }; + 036E1906B50FDB054CE411DC = {isa = PBXGroup; children = ( 6B526A365078C24900C821B5, 24D34491A75D9158E571CE95, B0C8BABB5E59C2F7FAA37689, @@ -1795,72 +2325,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 = ( + BF75F433D9390D0B2122C9EC = {isa = PBXGroup; children = ( 202FBA54BE113F8E12628DF3, F93E820028869AA360740BE2, A3D1C2B1D20BB35EABEF5D56, @@ -1869,48 +2334,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 = ( + 61353AC102F2CBCB638862E1 = {isa = PBXGroup; children = ( + 098EE470BA8744AD218E09F7, + 41004038C181AC5C8CDDD02D, + F950431A9C0864A8EADF9996, + 26B0149626A30EF364609DDD, + EDE49EEE9EF8B5202426D948, + 32AA8C09B7A39118E3A4BFA6, ); name = menus; sourceTree = ""; }; + 987689FB9EC5BD8D562E368E = {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 = ""; }; + 5730180109C58390105452C8 = {isa = PBXGroup; children = ( 6776FE828D0C9AAC3F12EA59, 4013F4D715E43764169C2BF5, 1D05DBE68E45BED5B842F212, @@ -1927,27 +2384,107 @@ 46FBF3438B506BBBA1C08BE5, 1CCFA6CA5E8D3E8D1D9476B5, 584F5DA03ABAC58D8200F4DB, ); name = native; sourceTree = ""; }; + 550C10124E85076AC2F71D8B = {isa = PBXGroup; children = ( + 1C95AB2B2812BD8960870603, + E0026785667979561D036936, + 2B56C4638018F72794BEADC8, + 8E6345C2A24786DB002C85A0, + D73A06F366784CFAA87B7BEE, + 053462A035FADA4FDCE2A8D0, + 45CAA0CEA9DA2B4F3AF549FC, + 0CB6B999BF9DBA9D0F586C6F, + 49811A30680D278DA9591BE5, + 41FDE3C3197B773438925736, + DF0EBC428D40282CD24D2015, + B7C588B87E09F887C6CB73C0, + 06577256ACDA6ECA2DF0AE84, + E889D7DD7AC4FCA48517B2E8, ); name = positioning; sourceTree = ""; }; + 3A9CF02948B0B8BD5D180C9C = {isa = PBXGroup; children = ( + 1FB5E4B9CC25B15D872DDAF8, + 762FD953C2BB53F5DC9CD403, + 9A07C2A820D1A4D1C5429E6F, + 84030B3A2263DEAB1A2EC8CF, + 08BA9BF25A4A247BAEFA7C7B, + 44AF43F408DE59FEC7FC87C1, + A516757003C57D4D3E5C637A, + 8CC6758FB15124F3CF345CA0, + 4BB76738C3C05043BFDE3507, + 6E0D954E48998693A587F2DE, + 04CF614E82E5E0D67952963A, + BB3DB74A8843A5C315854394, + 5546974D4F68A427792B725E, + 3CAB0402E5EDD5A25D4DE907, ); name = properties; sourceTree = ""; }; + D03241B91D2951194208A6FA = {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 = ""; }; + 231196571B7FBE69EF726EE3 = {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, + 1620B214A15E66CAE681C462, + BCE073DA3DF013E5E817984A, + 44636BE74B401B5C61F1E005, + 4FD7DD7019FEE005F1910500, + C9BF1A850BEBE188901C1CBA, FC94936E6781852E6A5F5AAF, - 76533D71441DB73BC581D584, - A16C13AC925F01E513BC0632, - C25E9058EE7B0F2E900E3433, - 49D064C5B2141BD8D14AE294, - E10E5BBBE8515439D764CBBB, + 629A3CB2284F67C397F79910, + 036E1906B50FDB054CE411DC, + BF75F433D9390D0B2122C9EC, + 61353AC102F2CBCB638862E1, + 987689FB9EC5BD8D562E368E, + 3CB92BE112CF6432C7873973, + 5730180109C58390105452C8, + 550C10124E85076AC2F71D8B, + 3A9CF02948B0B8BD5D180C9C, + D03241B91D2951194208A6FA, + 231196571B7FBE69EF726EE3, + CAE9781DFCC41E750EC5807B, + 6A6347D9B543CE96713831B9, + DE6FBEE731028F230A86F223, 6A6347D9B543CE96713831B9, ); name = "juce_gui_basics"; sourceTree = ""; }; - 7DEF87B9C8D847F2840BF97D = {isa = PBXGroup; children = ( + F9A24A3DEF74BEEC6BF02073 = {isa = PBXGroup; children = ( 714F603CF16614D65F89340D, 33C4E091AF43E7CEA138F133, 964D86CC6AD404519F939215, @@ -1960,14 +2497,14 @@ 50EDCF1A36276EEDC8FE3C5D, FC4F4A4607AA7CA722526B99, 9837ED0D470BD0E633A71F04, ); name = "code_editor"; sourceTree = ""; }; - 276BB424622D00B2F6D6EF05 = {isa = PBXGroup; children = ( + E227B07B494903C0B9EF9871 = {isa = PBXGroup; children = ( CF16FBA5840B89D53711C89F, 9B8E99199DFF5A5588690C9E, ); name = documents; sourceTree = ""; }; - 66D132EDB56154912C007BA8 = {isa = PBXGroup; children = ( + 8684ED38AFDC57571C780B9B = {isa = PBXGroup; children = ( C5ACDF0DCF5337C0B0AE1AF6, 88AA420D1FEF4EB95D8166FB, 9A2D9A5DBD78446D8878717A, ); name = embedding; sourceTree = ""; }; - A53F5FF344A1D95EBBBDF3DC = {isa = PBXGroup; children = ( + 7B3438A59A450DE9E2BE05BF = {isa = PBXGroup; children = ( 2C34C4F10FEED10795237530, CC27C420117D56ABAB4984C6, 71AB2D9F86EE978F739150B8, @@ -1988,7 +2525,7 @@ EF0015657F3C994B1C76C306, 8CF06B5E9E25293F79B15242, 13852E700B8919909E360669, ); name = misc; sourceTree = ""; }; - DFD4E790D5E34260219E3AF7 = {isa = PBXGroup; children = ( + 9F568A06EACC5A6030B95B2A = {isa = PBXGroup; children = ( 2722B15F48A305F2ECD82429, E9CAA6108E4CC9A8240EDDC1, C4117C0CDD0F80BCA4E8E9A6, @@ -2002,14 +2539,29 @@ CC180EFFA43B485F1A6DE764, 64851AA6F4FAEAD9E3CB5D68, ); name = native; sourceTree = ""; }; F60E760717F10C7C5B1BFB7B = {isa = PBXGroup; children = ( - 7DEF87B9C8D847F2840BF97D, - 276BB424622D00B2F6D6EF05, - 66D132EDB56154912C007BA8, - A53F5FF344A1D95EBBBDF3DC, - DFD4E790D5E34260219E3AF7, - 5DB6DA27DC5C022696109EF8, + F9A24A3DEF74BEEC6BF02073, + E227B07B494903C0B9EF9871, + 8684ED38AFDC57571C780B9B, + 7B3438A59A450DE9E2BE05BF, + 9F568A06EACC5A6030B95B2A, + 46C374E77BAFF6DCC3C5C2EA, + 644E389974336014E8890F31, + 2E631361420FA9496ED300DF, 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 = ""; }; + 7B94758E8E88FCF1FAAE840E = {isa = PBXGroup; children = ( 86F9F3EDDA98B10C15901578, A003021CCCD1F8D2200E9066, EDAA8D220CC237DE5D612F47, @@ -2027,47 +2579,38 @@ AC5BB40FA10713128CC9A2A1, 3BAC3350B6CA12EFF6587DF6, 4055E0D3D92A96C8E797ACBD, ); name = opengl; sourceTree = ""; }; - 8EEFFBC75F21B6E21D802A38 = {isa = PBXGroup; children = ( - 8C7A9D19E4BF794F25112C92, - 8AF7405E7AF18A44BF24811B, - 6E2E587EC9DCB2595D73A5CD, - 44BFB21474150C54D8B45035, ); name = geometry; sourceTree = ""; }; - 72D293A3B38BAD3129DF1940 = {isa = PBXGroup; children = ( + B2C2975345C7F8D5E4031CCE = {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, + 7B94758E8E88FCF1FAAE840E, + B2C2975345C7F8D5E4031CCE, + 65562BE676379C2C89A2A528, + B4EBC54E160BF6EFDA54A708, + 1CA41F35C44145819921CF79, B4EBC54E160BF6EFDA54A708, ); name = "juce_opengl"; sourceTree = ""; }; - ABEEA81A9680F6A4F8ECA0EA = {isa = PBXGroup; children = ( - 7A32476DF07EE4C33512F01D, - F75D109BD33B5C057C150155, ); name = playback; sourceTree = ""; }; 1C67C665FD3B6D5133151E2D = {isa = PBXGroup; children = ( DB8D923C776A1038384A10D5, 5CD2D4CDAC75E50E78ABE46C, ); name = capture; sourceTree = ""; }; - 5CBF586DCC30079B9463982A = {isa = PBXGroup; children = ( + E7F489650D2787CBBE0D8475 = {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, + E7F489650D2787CBBE0D8475, + 920D42A2B5F1763CB6CFF5DD, + 1E364F9BD6E0C8A3364B6FF2, + A20A2F639F28E15631EEEA35, + B6FF0E28C1E186DD9E97F838, A20A2F639F28E15631EEEA35, ); name = "juce_video"; sourceTree = ""; }; E697CF5985AC7D206A214CE1 = {isa = PBXGroup; children = ( 42D107F741897BBB52B61202, @@ -2086,27 +2629,29 @@ 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, BD70FA4626657FF1DEBB10DA, + 440774261ADCDDE62F8611DE, + 0C37646FCADAFC29F28333C0, 3D75092F510176CC7F979ED9, 4286F1F40FC3E04B4AE701C2, 7C86E886C3FCB671004E1CA2, @@ -2116,7 +2661,7 @@ B06A9120276E8875161CFC7D, 1D29F6A21F927F10EB8C5EEF, ); name = Frameworks; sourceTree = ""; }; 6F245D0C169B0E9060BD1033 = {isa = PBXGroup; children = ( - 4B8E8BD3DEAE0C479D04F571, ); name = Products; sourceTree = ""; }; + 9C71E9533EDADF610F789D88, ); name = Products; sourceTree = ""; }; 41A4B977F5588A439A066455 = {isa = PBXGroup; children = ( 24BF2D05D134C386864C4C7D, E697CF5985AC7D206A214CE1, @@ -2124,7 +2669,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"; @@ -2142,9 +2687,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; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; - EA0243E56EC3EAF286B53CA6 = {isa = XCBuildConfiguration; buildSettings = { + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AudioAppExample; }; name = Debug; }; + F8E0347F1E2A6CDA40CBAFC1 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2163,12 +2709,14 @@ 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 = "$(HOME)/Applications"; }; name = Release; }; + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AudioAppExample; }; name = Release; }; 2DDD1A3A56EAB02179D1CFB6 = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2202,34 +2750,37 @@ 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, + 2414893F5F6D7096A1350F6B, 66F2013AC2FE548DC181F672, F02410B634B6C9C29060A812, 26E4E22AC7196AC405E218B9, @@ -2238,11 +2789,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; 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/AudioAppExample/Images.xcassets/AppIcon.appiconset/Contents.json b/examples/AudioAppExample/Builds/iOS/AudioAppExample/Images.xcassets/AppIcon.appiconset/Contents.json index 5ca51e92..c0af172f 100644 --- a/examples/AudioAppExample/Builds/iOS/AudioAppExample/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/examples/AudioAppExample/Builds/iOS/AudioAppExample/Images.xcassets/AppIcon.appiconset/Contents.json @@ -3,19 +3,19 @@ { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small.png", + "filename": "Icon-29.png", "scale": "1x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@2x.png", + "filename": "Icon-29@2x.png", "scale": "2x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@3x.png", + "filename": "Icon-29@3x.png", "scale": "3x" }, { @@ -113,6 +113,12 @@ "size": "76x76", "filename": "Icon-76@2x.png", "scale": "2x" + }, + { + "idiom": "ipad", + "size": "83.5x83.5", + "filename": "Icon-83.5@2x.png", + "scale": "2x" } ], "info": { diff --git a/examples/AudioAppExample/Builds/iOS/Info-App.plist b/examples/AudioAppExample/Builds/iOS/Info-App.plist new file mode 100644 index 00000000..8d396bbd --- /dev/null +++ b/examples/AudioAppExample/Builds/iOS/Info-App.plist @@ -0,0 +1,43 @@ + + + + + + LSRequiresIPhoneOS + + UIViewControllerBasedStatusBarAppearance + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AudioAppExample + CFBundleDisplayName + AudioAppExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + UIRequiresFullScreen + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIBackgroundModes + + + diff --git a/examples/AudioAppExample/Builds/iOS/Info.plist b/examples/AudioAppExample/Builds/iOS/Info.plist deleted file mode 100644 index 995e2c08..00000000 --- a/examples/AudioAppExample/Builds/iOS/Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - LSRequiresIPhoneOS - - UIViewControllerBasedStatusBarAppearance - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.AudioAppExample - CFBundleName - AudioAppExample - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - UIRequiresFullScreen - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/examples/AudioAppExample/JuceLibraryCode/AppConfig.h b/examples/AudioAppExample/JuceLibraryCode/AppConfig.h index b5c654d1..c32dfe4b 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 80978b88..ff78c6f8 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..97bd2c56 --- /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 00000000..8eae7c6e --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 7d4583db..00000000 --- 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 bb997d30..00000000 --- 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 06e88f93..00000000 --- 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 e4574f47..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 718392ff..00000000 --- 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 0dd1636e..00000000 --- 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 dd48f969..62a3610a 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 91d734c0..08938a1c 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 d9cb1764..7080672e 100644 --- a/examples/BouncingBallWavetableDemo/BouncingBallWavetableDemo.jucer +++ b/examples/BouncingBallWavetableDemo/BouncingBallWavetableDemo.jucer @@ -2,7 +2,7 @@ + includeBinaryInAppConfig="1" jucerVersion="4.2.1"> + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + BouncingBallWavetableDemo + CFBundleDisplayName + BouncingBallWavetableDemo + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/BouncingBallWavetableDemo/Builds/MacOSX/Info.plist b/examples/BouncingBallWavetableDemo/Builds/MacOSX/Info.plist deleted file mode 100644 index 3c44a6e1..00000000 --- a/examples/BouncingBallWavetableDemo/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.juce.BouncingBallWavetableDemo - CFBundleName - BouncingBallWavetableDemo - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - - diff --git a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj index 35614f72..000ce2ab 100644 --- a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj +++ b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj @@ -137,6 +137,9 @@ true + + true + true @@ -215,6 +218,12 @@ true + + true + + + true + true @@ -230,15 +239,6 @@ true - - true - - - true - - - true - true @@ -287,289 +287,307 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -578,21 +596,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -605,6 +632,9 @@ true + + true + true @@ -647,592 +677,940 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1256,6 +1634,9 @@ true + + true + true @@ -1271,24 +1652,28 @@ true - - - - - - - - - - - - - + + true + + + + + + + + + + + + + + + @@ -1321,6 +1706,9 @@ + + + @@ -1328,20 +1716,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1351,8 +1810,26 @@ + + + + + + + + + + + + + + + + + + @@ -1363,15 +1840,6 @@ - - - - - - - - - @@ -1382,6 +1850,7 @@ + @@ -1392,40 +1861,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1442,25 +1878,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1470,6 +1887,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1483,30 +1934,63 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - - - - - - - - - + @@ -1515,14 +1999,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1532,19 +2027,12 @@ - - - - - - - - - - + + + @@ -1555,10 +2043,15 @@ - - - - + + + + + + + + + @@ -1569,39 +2062,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1610,33 +2138,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1656,15 +2157,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1672,13 +2187,6 @@ - - - - - - - @@ -1686,31 +2194,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1736,27 +2244,20 @@ + + - + - - - - - - - - - - - - - + + + + diff --git a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj.filters b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj.filters index 70a45a1e..7ab11ab1 100644 --- a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj.filters +++ b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj.filters @@ -35,45 +35,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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 +125,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 +152,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,29 +164,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -158,33 +200,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,80 +236,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -290,15 +338,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} @@ -316,6 +364,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -394,6 +445,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -409,15 +469,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 @@ -472,74 +523,191 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -559,6 +727,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,6 +760,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -592,9 +784,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -610,44 +799,14 @@ 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_audio_utils\players - - Juce Modules\juce_core\maths + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils Juce Modules\juce_core\containers @@ -664,33 +823,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 +847,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -757,36 +859,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -799,6 +889,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -856,7 +949,157 @@ 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core + + Juce Modules\juce_cryptography\encryption @@ -874,17 +1117,11 @@ 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_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -892,23 +1129,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -928,6 +1168,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 @@ -943,6 +1195,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -964,26 +1228,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1000,236 +1267,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1258,26 +1540,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1303,39 +1588,6 @@ 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 @@ -1366,26 +1618,119 @@ Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\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 + + + 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\native @@ -1432,6 +1777,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1510,6 +1969,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_video\capture @@ -1531,43 +1996,49 @@ Juce Modules\juce_video\native - + + Juce Modules\juce_video + + + Juce Modules\juce_video + + 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 @@ -1581,6 +2052,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1677,6 +2151,15 @@ Juce Modules\juce_audio_basics + + 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 @@ -1698,47 +2181,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1767,41 +2463,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -1830,6 +2523,36 @@ 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\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 @@ -1860,6 +2583,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -1890,74 +2616,122 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text + + 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\maths + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\maths + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\maths + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\maths + + Juce Modules\juce_core\files - - Juce Modules\juce_core\maths + + Juce Modules\juce_core\files - - Juce Modules\juce_core\maths + + Juce Modules\juce_core\files - - Juce Modules\juce_core\memory + + Juce Modules\juce_core\files - - Juce Modules\juce_core\memory + + Juce Modules\juce_core\files + + + 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 + + + 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 @@ -1992,53 +2766,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 @@ -2097,152 +2952,68 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files + + Juce Modules\juce_core\unit_tests - - Juce Modules\juce_core\files + + Juce Modules\juce_core\xml - - Juce Modules\juce_core\files + + Juce Modules\juce_core\xml - - Juce Modules\juce_core\files + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\files + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\files + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\files + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\files + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\files + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\network + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\network + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\network + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\network + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\network + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\streams + + Juce Modules\juce_core - - Juce Modules\juce_core\streams + + Juce Modules\juce_core - - Juce Modules\juce_core\streams + + Juce Modules\juce_cryptography\encryption - - 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\native - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_cryptography\encryption Juce Modules\juce_cryptography\encryption @@ -2259,14 +3030,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2274,15 +3045,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values Juce Modules\juce_data_structures + + 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 @@ -2310,36 +3114,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 @@ -2349,6 +3123,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2379,17 +3162,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 @@ -2421,38 +3219,71 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -2463,167 +3294,158 @@ 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_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -2682,32 +3504,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native Juce Modules\juce_gui_basics\positioning @@ -2730,27 +3594,6 @@ 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 @@ -2772,80 +3615,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2922,14 +3765,20 @@ Juce Modules\juce_gui_extra + + 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 Juce Modules\juce_video @@ -2942,44 +3791,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_gui_basics + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_gui_extra + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/AppConfig.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/AppConfig.h index bf84f485..4c9d7608 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 32b74760..73dea3a9 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..97bd2c56 --- /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 00000000..8eae7c6e --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 7d4583db..00000000 --- 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 bb997d30..00000000 --- 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 06e88f93..00000000 --- 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 e4574f47..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 0dd1636e..00000000 --- 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 1918f6aa..3c10a527 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 b016d4a7..cf55f6ae 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 d759d2fd..c90bb9a8 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,26 +15,37 @@ 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; }; + 0002AB33B2B1E2A83F861C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 00A034C410DBA61297D65E37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; 00CDCA76917B831BBA098886 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 016711C25CA1C36A4746C73A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; 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"; }; + 02AC52ADEDEF62D9BAD91D1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 02D01D1B088BE4F597ED748C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; 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"; }; + 0337C98E5F43F9318BB902E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; 038A941B607C1FFDB9E808DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + 038C0DBB08FAB84ACE73E6F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; + 0393286D5722938DD268A9DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 042A6506F7508AC4A48527E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 0431BBE1A6560B6109FDAABB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; 045771320DE8188DA10004C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 0483EF8F3E1F3AC39B75A368 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 04DED4CDAFEAD5632C354DC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; 05837FE8DA660AC504863A13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0629B604077D9C038FD82523 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; 06D9A86CD966602EE667D435 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 07240BB5DBD357FA56236AC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 07CABA5DCB7723822DC14CB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 096BC84F2B28F93E4E015C4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 0981B4D390F9DCEE43876E0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 09A3978224AE8188C57FF664 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; 09E291FF5AC3FC1CDC71BDF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 09F281AE3F5FD2BC2AA8278B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; 0AD83C1EE3236FD96A0DC3E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; @@ -47,24 +59,32 @@ 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"; }; + 10998145E06E2F67DF49E532 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; + 11A90720D9E237182CF6FB4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; 11C5710EA92501AB02D34FB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 12594FC06752AD68EED5B944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + 127AF128B4FBEB7436EE4758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; + 12EB732D45B2E6CFB0825C61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 13244912438C72EF5116A744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; 13C05F42165ABB9D466A6818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; 14844695DDFBFB4A706C9E43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + 14B52EBD78A0464265AB81E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; 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"; }; + 17D7D6EC290E72CF79A2FE4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; 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"; }; 181B35AA4E9C24FC3F8802FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 19B751A2FABD391AA3A88C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; 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"; }; @@ -73,21 +93,23 @@ 1B11FC519DD0C51A0544D316 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; 1B82291CB84778C3CDB9B0B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; 1BDF54419661E3039EF7BD09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 1C64C84A12159DC73BA5607A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; 1C798B30897FA52206ADEAD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1CFAB191C8DD1D534F640C86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; 1D09C10B2DB3292D00064927 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; 1D28208335706167AF610367 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; 1D7E4C081546D77F309C7D32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; 1DAB4ECAA88DBC526F0AAAB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 1DB11F074FFB0EDE1247FBEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; 1DC7C1BCA084FC90311A7DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; 1DEB4A5A01A5E5C158AC83B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E20289FEEA19E76E4EAAC32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 1E6443D23400D619098E53A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; 1E6FB96EB00E216CE7FB9717 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; 1E91708BC8D948E257DEF2DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -95,23 +117,34 @@ 2205447329487F1D5F4B1F82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 2328AE195EE96739592F77E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 23DC725C20C9095CD53D65BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 23E2008B1E0281431E22BF29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; 2425E90D3BC5D9815BE3F5F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 244C8B3E6704734599792ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; 247783DC4582BB568FCE7041 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 24C8272BA80B3904ED7F2942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; 24D10EAC2EB1F9B8B12C6006 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 24EF05203880D31E6BDF764E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 253A7B64A2386F9B99C9EBDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; + 25C0F16829BDD6D73E65473F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; 25D4714AAF1398A441C4F694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26638516F48CF36358AABE5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; 26D0BE8B10D7A06EFF8F2EC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 26D3EE09D7CA6B3F63053B8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; 26E386602EADD2CA4E01F810 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2746797C44E7CE623594BBA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; 27B48619C98100E8155F2C50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + 28A393F47BE8EECCA71F283E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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"; }; + 28E3C6EA66CF3C9CAC3190B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; + 2A15CF34361FFBC342699FCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; + 2AE53363609B96383125FE29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 2AE9B178500D97B20209CFB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + 2B268BC6053ED860C56F6D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 2B9DCD7E2F603F1CD08E71D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2BACF4241ABBECFE80739E40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C5516C7385DDAA74A06E64A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; @@ -123,11 +156,15 @@ 2E8E72B14A0C7B3F11C874FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; 2ECE40057317870A56B5760A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; 30869ACC071344489A8FEA84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + 30A3A37DABAB577F80E0A815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; 30E7C41BB43E7DA18E8FCE44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; 310476A937DB40FE6E631248 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 313CE233A0F9BA82CFD80904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + 31617E3099B25FA4D4C9AC5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 32344FE799CF184165EB9322 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 32A0DB4B8B342145E4EEC589 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; 32DD6D458DD1AD9BC369D080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + 350E89C4358F2396A6648015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; 35380E5CC9DAAF269D776D51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 35757D7DC5382C1E944DAD62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; 35C05B4324D01FCB9D5D2CB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -140,12 +177,16 @@ 386E1A4EE3A9D43D88017E2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 38E7BEC583F6C31FDEAEFDC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; 397AA679D9FFCC027D7D162A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + 39CE7C225AB432074042922C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; 39D624AD64D9F218505785CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A69E45311DEFE84CAA8D684 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 3AABE46761DA4F8999A0EF19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 3ABA28D6E392E38064F199E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 3AE15739CCDC0407119D424E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; 3BAE564AE20C18828B113A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 3BB9B66FF80EAE11FF6ECB0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + 3C1E8697AF1554C62284A9E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; + 3C61CEA27872A4270BD27D1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; 3CC23F48464F0261882AA5AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 3CCBA52E5C016CC1BC1869F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D1422040B6295665C2D3347 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -155,16 +196,21 @@ 3DCB680CCF300E780C14191D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; 3E107FA4E814233893FBAE7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; 3E10C3A46814DBCDF6396341 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3E357E56483383C7BB02A758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; 3E5192D29EE372AD29E3A418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3EA3D9C24F2DCF38243677A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; 3EE0DB2CDFA6450E9C28B69E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F897B47781A48B9598FEEBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 402018188EE23072590E0121 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; 40503EE739CFE126592D4874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 4080FAF7F08156B09DBD2C3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; 408593E7A015C37B1A8CCBC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; 40FF72766C3C2DFF691063DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 411B25C5CBD8F8D3A944A90B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; 41B2962E2D6D62E82D740909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; 41B6B68A857645A4B014E126 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + 41EDE61217584C1EB76ED6F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; + 427B368E2D3B0C78613373D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; 42E8523B865B22592A7E3F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 43049B5866B107AE98473650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 436E30DBA6DFD6ECD8ED3C91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -189,30 +235,39 @@ 485A3CAD9F91FABA6E6AFB21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; 485A947C026394035F6C9034 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 488FCCC5FA54373BFD3FE2A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; + 489BFE802C32940B8F922BAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; 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"; }; + 49CC1277C84932EFC493A717 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; 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"; }; 4A888E6D6036915063F81ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 4AADEAF26CC75A838A6F5309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; 4B1B7EEBA562CA00751F0AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; 4B2827D2AA7D37461D08A57E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; 4B586C1DD2F0162A6C950FFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + 4C2750D978B8C9DCB147C680 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 4C4226EE88B57B50941BED3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C60CCBC615CF0F57B411334 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4C689F9EE6BE5920054343C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; 4C9C4F6E57C0B6BA419B2EBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; 4D2B08451DACC0440FC48EF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 4E824D2CC871797D8038B96D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; 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"; }; 501C3170F0813A6DAA6A0374 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 505D6D2449F59885C8D32D34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 507D85E1D366E33D9A7A6295 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; 5091C75EBE7358C51951F60A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 50B9601279058C7F795ED630 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; 50E159046A4BF7FD427B119C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 512E7DB8313E9CFBBCC92BE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; 517D2ABA7FA5D8461CC3FA6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5194143614FFC2ACAA9AA65F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; 51AF8733D0FF3C9FE02D2262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -221,6 +276,7 @@ 5353C6550DCE7DCCF03AD24A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 53899C203D86F82461F643CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 53C6B37954625E771B948308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53D62BC45B6611C710A4CE0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; 54369FA543B7248A1A9B4FD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 5458D1969D7DEBFE0088005B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 54A6565D93B72819E9CBA571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; @@ -248,6 +304,7 @@ 5A6E440527A143F6F72BDD3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 5AAE2BA6EDC3F1025B66E77F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5BA542F025C9C53790A4D58D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5BC67DB1C038802A57C2E96C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; 5C5A9A762BA677C5FA586A6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; 5D135CECDDDDB61BCDAD9998 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D73359EE90795951A3BE065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -256,8 +313,10 @@ 5DF243A00205294566B6BB0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 5DF2EF36E765E4BABA289E50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E524D1FBE1C281344EC02F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 5E6342E33EA0E4BE3E125E31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; 5EDB8DDE1131B18E305235C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; 5F1E8ED69FCF7F96354C415E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 5FBBEC8B1C34916324D0EFE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; 605AFA1DDC1AFBDBCA53CA53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; 60678CF99DD18E0768F98752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; 60990A4EFC76C11CB6B446E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; @@ -275,16 +334,19 @@ 638B7CB622129B85ED325883 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; 643D6DA4FD85627D1876D13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; 644EE481AA56B73F81B98787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + 647549A83D6750014BD2B831 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 652BC72B8B26D59DD3744D27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; 652D1E59C9F6AC0BD57194BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; 65BC11167B6AD696C353F18E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 696B53B2113C83A6EF2ED417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 69C9284BCC81DD0EF2C4D062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; 69D130699972E26940BF30B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 69DE139DE47C5393ABB7330F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; 69FC147780BB490CE7CDA03F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -298,15 +360,21 @@ 6E22163D4FE5D958E743BA0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; 6E8276D211239CDBB95D4887 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6ECF03C9831A6498A6C4C002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 6EE6E05E7167A2AB6707F3ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6EF466D442FFD97C175C9B11 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; 6FF4A0EA89A10BE0663234C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 705DCBFD0A3E534AF18311A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + 7082C93DB09637300889E0DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; 70C9B37F525F43832BA28C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 70E4B7F2E6C60D45E3BEBD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; 718EE8B669527322117C070F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; 71A5CA08C0F0E039BE09A653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 71C3973C5A1F0F0D9CCD41BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; 720DD1FA654200322D9DCFED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; 72112C244DF6A84EE9921E6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 7213082B4D91E509363B3632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 72387783A5021937F4564634 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; + 72B05EC8B677908C0ECA9F92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; 7345EECE08EB3218EAE780F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 735FE3463FE45A1D974A8528 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 737A72A9D7F3D081BD2217EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -318,6 +386,7 @@ 74EF840AC5C93ED2888DF3C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 759171C8E82372A9F65994BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; 75A7129697D536F1B35805A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 75A90DB8083ACDAC3F7D13FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; 7611935F12792CB6F92FD6A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7649D4157DCCF92903C883EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; 767CBBD58A107FCA005D38E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; @@ -325,27 +394,35 @@ 770E3E9EE460FA39F5D11135 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 77F780A1027086DABE090075 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; 7805AB0B72F8F0E01363D2D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 78F08B1A3E20C34EE41E3CBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; 7930AEB1DE4DE093043061DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 79990D77027355E069D22BF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 79AAF7089E7C4B3181087B8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + 79B6C211B09A7BCA4E0E6A19 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 7A04B95BA723FD5B383F85F5 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 7A5EBE29CAD36FCC920319B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; 7ACC0D9EBB7DB3BFF8F2E8C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 7ACEA163CBF01E2AFC3B8182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7AF502D1CD8BCD2A7922505F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; 7B1E8345DE0F2267B5922DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B78FBA2323E1D9D5E0A5175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; 7BB9A1D163900F576A96EFC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 7C019A0BE9A9EF783740447A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; 7C4795478AA6519EC1F3B994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7CCDD4516869B13CF0B6D99E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; + 7CE0F22BFEAB620A3FBEDAAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; 7D8DD873165325F10A8E5205 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 7E0BEAA4180921BB69B2EE86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 7E5FC79C3C09EF858C569522 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; 7E83B557C36CD3723440F282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 7EB8EBE9B30DAD89CBB4781B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F17394F0989BA98E2B1C9E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; 7F2A5C07C71F9C0D79544D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; 7F652089DB6EDEC175CEEC16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F6D26515E72BE3262056CDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 7F7D06B0FD8D9DDA9CD621D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; 7F86667F456F48414BDEDF49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7FF39A1B543CF0374511F92C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; 8032B1C137C27BBCE736A009 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 807DFCB4C0A394E05EDD89C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; 8100885853F8204825F01B32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; @@ -353,12 +430,15 @@ 81836BEE0714A1E385B2B3BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 818E22F85684F7EF88EAB18B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; 81C8F0975AB02A38B2730E4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 82134D6C51E905071DBADD10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; 8234DF87078EC929238C5679 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; 8236074D2BFEB3C35D7AD0E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; 824F46C15A285B77B2CCD4E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 8275073C9C88CD2553D74D2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; 82A4C550DFC35854F0BAF2F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 832394D0615C3E8D1470BCC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + 83C890881E261221CD4411CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + 83C890C37D96B1F0A426EE10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; 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"; }; @@ -370,25 +450,31 @@ 84EF3FB46EDD14F32934A85E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 8515E9B2C9E01DF87F18FA0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; 8525D73EC1EFA6518551C3C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 85A392A5ED9A8C025C3EA6BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; 85A746B00A2DA96D05DB3226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; 85FAA35DD263DD133CC67497 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; 86A81310640DFCD57EB71BA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + 8734FD394413C215C5439CE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; 8750BC513481A187A8CA3731 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 88A9D411ADE9399E55FA0139 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 88AC21B9EF5322867045E590 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 88D37A3C39827817A01D6902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; 891B14FF053DF9A2853BEF7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 89805D9153F89B2C4C53EE81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + 89A94E0115DF815B0344BCB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; 89B0D712AF39801CD97392EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 89E53FD2ACB49E1AA152EBC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; 89E825E71659A55D5BFBE676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 89F1E29F501319BF488ECF28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 8A84AC4483BBADF6A7A004B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A8C19C2ED45616FAC78EB78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8AEF70673FF810778EFC6D08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; 8B11018691CF485F1067F278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8BB34D1B1519891162B0DBFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -397,6 +483,8 @@ 8F37D8EABFC4A5CCEBF809B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; 8F59B3CA4C1B71E1DEF4AAC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; 8FAC091FAAB3CBC5FA3A0E77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + 8FB27B60D105659FC6B41580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 8FC09226A70A03796A45B00B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; 907F09189AFB79FECB1B7ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 9159888223D9009D0AB6DD6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 9190C814ED9373282AB550CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -413,11 +501,13 @@ 93E2D767D95DFFC8AFFB6295 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; 93E52BF9F07E5FDCF23288D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 93EDE5393667D5773723DE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + 94047E0341D08BDF2319EB61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; 94181F520BF85FA7D9E40C73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 94AF7493D3BEFA608436A94E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; 94B555395941CEE57FEBD110 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 9533E8D0BD5EF547D9103C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; 95373A4F0D28EC19461D4023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + 953D96AAE313A21568336B44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; 9568EA7ED7C859B626D038FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; 957F25AE21D2FD7AEA5B4FE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 95A8F9961DCD1AE8BCFC026D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; @@ -432,20 +522,24 @@ 98F09E7FD01AAF26FCF7B01B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 99606AA3E888CF431EAA6374 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 9A4CC59FB76DF21933FD92B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A548C149CE68716514792C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 9A801690D4D34780084E7878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; 9A98353E0E7E28EEC92EC0A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; 9AE95605823935BE3AE8E180 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9AF5B1D7BF0B9280F15AD61E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C745732F0E710143CA7BBAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C8C2F6687C807C124F0406D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; 9D10737160BF62BCC98418A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 9D2DE2345B997FE0AA3D95A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 9D84F602774715575E922DB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; 9DEECA10F34A4BA80F5B5463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9DFD7E4BD89693A20E1A2204 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; 9E125145B6A81E9432EF7F76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 9E523258934C448A4F23B45B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -454,6 +548,7 @@ A26A523A1F0039DF2A88FF1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A2896C8BAAF744BB0A5F6BC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; A2CC0F227CDF2FE627EA8B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + A34D32B73BD9ADDFC729E76A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; A3ACA966A2F3DB3DB09E0203 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; A428D55AD9CD7AA72A5B3556 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; A49B802763CCE16871D76B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; @@ -461,23 +556,27 @@ 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"; }; + A57B807EE3E2C4378CDEF1C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; 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"; }; A6CDA3D301E2DF90B4693040 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; A712D26A8F9249EC156B6EB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; A7220770FDA088EC533BDE74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; + A7E128D5BC1767916C80652C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; A7E1DDDC3B554B92985D87C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; A9F118735B042547AD717A49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; AA518347E2E68E414FF265CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; AA781B9435A57FB2A2E03224 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA9D09A7352BD3B7EF0F6C37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; + AB05CA5CE80346C3602E6A0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; AB5B23D7224F113ED73A98A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; AB77F3FC20046038C386B654 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; ABD8244234DE74EA3393856F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; @@ -499,6 +598,7 @@ B1ED2F91307EBCB04C7ADAAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; B1FFBD2ADC44C0C9AA69F355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; B25647FF011FB3F56E940C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + B270498E793DE6D223DD8179 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; B322FCB47080AA220277FF85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; B34C7797CE3F67F6A2CFE08F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; B3A6A6012DBCC4F758AC6FA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -513,11 +613,13 @@ B655283927C605BCAC7A14D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; B6811E2AB21C42FC486939AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; B696624D5ABF6876591E0362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + B6AA257D044677A140886528 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; B6AAF345264A07BF49ED7FE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; B6CE0CDB954B662DE01F21AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; B6E1814BE1E753B8791962F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; B731F59C6868BE055F007329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + B95F8C80E0D44391899531B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; 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"; }; @@ -528,6 +630,7 @@ BC94C99B4FE656CD3ED85010 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; BCA1E53B85C06F5A2791F90E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; BCCC42CC360C6B8F08C7009B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + BD1E462C99D9D2EA6D5404DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; BD2F0D4467D5FEA53744C153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; BD8DF3D439FAFC072A484968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; BDAF8239A83116274C089C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -535,15 +638,16 @@ 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"; }; C13A484FF4BC3590C8130423 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; C1F24188E1527450B90DA222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; C2342958F9A698FFFD02735B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + C2412B58CD149FA32AF6366E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; C2B49F664B59909C9BA59FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; C3640E2CA11B2524C3EA9A1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; + C46187E70020E8E537EA5153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; C4CFD579D6C4139D32AEAC05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; C4FA36540D8C2EE2955C963A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; C5A00A687712DF549E44983C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -558,42 +662,46 @@ 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"; }; + C8F7374086344C5E0AB65EBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; 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"; }; + C9766DDB06B8BCE05ED3125E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; + C97F68F2C3F8916DF087E2FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; 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"; }; + CB12990AAB952CDA1F811B57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.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"; }; D08753E461EFFCE55CC7115F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + D168E2F214E2AB87724A7867 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; D2570710CAAF0D58CB187005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; D258A8E415E9907EE72BC7D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D28991051D77CBE0BB2EC67A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D429D9422422BC6951ADCB53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; D43A3E4752F468B49C311957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + D482BA3284F2E7EAE67CC557 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; D59B6942FDD2642025761C5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -601,18 +709,20 @@ 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"; }; + DA99BB2B1AB6C63977037B5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; 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"; }; DD11383968A7BDA570D56BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; DDCC0DFC4F4124AF9A86C827 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; + DEB1DB336E6EBA09E1397395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; DEB26153C51B075E77B222F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; DF4BAED6B56FC9D322D4CD8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; E0233A7B8DC433E01A5BD7D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; E053E8A2E815F8C2BB3E0EA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; E111C720F05F3F8940F42FDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; E16F883568F30BCFCA341E6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + E18133A723BBD20894E0D55F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; E1B699EF2C40151AECB26BAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; E1FBDDE0E86BA12213D1543A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; E23C13A4447852E032B363E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -623,6 +733,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"; }; @@ -640,7 +751,9 @@ 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"; }; + F0F6266E3700513C02B2A07A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.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"; }; F1504F23F699088696B19598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -654,6 +767,7 @@ F63F8CF80EF8A14BEC1FCEEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; F6FB8FC72C99063A9189CDF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; F73BDDCA2D4DFE13C9B40329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + F8335CEBB0A0B02FBF2B4575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; F8AE2AC129497AE2FDBA8704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; F9D52539486A1F851469A123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; FA1C3EDDF82DF9294C53131A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -667,9 +781,11 @@ FC57AB2A2F759F6A2F4A8BFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; FCE71E7801655888C431BAD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; FD1C103133C0DF2A399FAC60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + FD6EA3754690687A083F5DBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; FDBF5DA326F54172E9C5E42B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; FDD421B9FDCF923F52B27D2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; FE6F25D5AC165353A7FA4E82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE9AD84305C2493469F01C41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; FEC24BD2D3268F6CEB4B7794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; FEC4E647FDC0F1A65B755533 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; FED5E4E648C2AFC83F011EF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; @@ -686,57 +802,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, ); 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 = ( + A64DE9E9A24D0FD8EF666514 = {isa = PBXGroup; children = ( A4C5A6BF529B557AB3A34067, 9E8FB8112E671A1A9F16C150, B583B13ED831162C84A1D35E, @@ -758,37 +824,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 = ( + 7A7A0750FA02319841E64BFC = {isa = PBXGroup; children = ( 3D940AB6C66B2B0DBAA353BD, 505D6D2449F59885C8D32D34, E609CCF7D874D6C915DF1D14, @@ -806,7 +842,81 @@ DDCC0DFC4F4124AF9A86C827, 7ACEA163CBF01E2AFC3B8182, BA51067FE0DB7FA0DB2F755E, ); name = files; sourceTree = ""; }; - 65F7FBFC55C08B811D7DACB9 = {isa = PBXGroup; children = ( + 19F737C559567EA41757D46A = {isa = PBXGroup; children = ( + C5A00A687712DF549E44983C, + B573A8EA7729B1C7CBC3D41A, + DC0305B007A964049E14C1B0, + 4925FA4EBF60DC4F55EF1B50, ); name = javascript; sourceTree = ""; }; + 81CF3218E8CED6AD2A0FD1E2 = {isa = PBXGroup; children = ( + 1023FB1681CB8ED3FDBDAC3E, + 9568EA7ED7C859B626D038FA, + 92A25F46FCA96485EEEDE684, + 1EC357C30EDF2ACC28550388, ); name = logging; sourceTree = ""; }; + 64440FE421B52CFD84639112 = {isa = PBXGroup; children = ( + 35C05B4324D01FCB9D5D2CB2, + E16F883568F30BCFCA341E6D, + 3D1422040B6295665C2D3347, + 77F780A1027086DABE090075, + 467D7FF76C8BC4B5EFDEB5C4, + 5091C75EBE7358C51951F60A, + 4D2B08451DACC0440FC48EF4, + C0267C31BFB99FEF6F462FD6, + A49B802763CCE16871D76B0C, + 411B25C5CBD8F8D3A944A90B, ); name = maths; sourceTree = ""; }; + 2C740710B921CFF0865F2DDD = {isa = PBXGroup; children = ( + 397AA679D9FFCC027D7D162A, + 86A81310640DFCD57EB71BA7, + 4B2827D2AA7D37461D08A57E, + 38E7BEC583F6C31FDEAEFDC3, + E40ABF33AA84CFA3BE76723E, + ABD8244234DE74EA3393856F, + 25D4714AAF1398A441C4F694, + BACE2817B8035EA6D1B5A39E, + F1504F23F699088696B19598, + 66A655E29F120C74079E7104, + 89E825E71659A55D5BFBE676, + E111C720F05F3F8940F42FDC, + 665681C9CB52840DE1E6CE46, + 605AFA1DDC1AFBDBCA53CA53, ); name = memory; sourceTree = ""; }; + 14CC30334A820A5BF4378AAE = {isa = PBXGroup; children = ( + CACE9B0E811F67FB846FFEC6, + A18B84F4C980C668933CFD74, + 31617E3099B25FA4D4C9AC5D, + D6CD400F55B95272D1F181AD, + 07240BB5DBD357FA56236AC5, + 7B78FBA2323E1D9D5E0A5175, + EB704FF0C3E6B7D03D02E257, ); name = misc; sourceTree = ""; }; + 148F96F28BA0A7F6B3FACE7F = {isa = PBXGroup; children = ( + CA05480E91368621A3646604, + A428D55AD9CD7AA72A5B3556, + 818E22F85684F7EF88EAB18B, + BC94C99B4FE656CD3ED85010, + 6EE6E05E7167A2AB6707F3ED, + 73953F5801BCF3777DC50817, + 88AC21B9EF5322867045E590, + E1B699EF2C40151AECB26BAD, + E83E1B54848E977DED3C67B4, + 43B97EF68BD61467DEAC30D8, + C7FE51A69A301750179B2DD8, + 501C3170F0813A6DAA6A0374, + 53C6B37954625E771B948308, + 2072DEFC75F338D907B077D1, + E053E8A2E815F8C2BB3E0EA5, + 4451A2866EA224F1CDA51598, + 27B48619C98100E8155F2C50, + 3BB9B66FF80EAE11FF6ECB0F, + 720DD1FA654200322D9DCFED, + 2CA9D6A8CAB654AAF7047FA7, + BE71914A5AF08367D39854BF, + 2328AE195EE96739592F77E3, + 60AAEBEBDFBB184261A09A35, + F73BDDCA2D4DFE13C9B40329, + C5CAE7BB4FF2B17B095E312A, + 843F671C3010F444223FD191, + D429D9422422BC6951ADCB53, + 48B1C8EBEBC834F81B4CDFBE, + 94B555395941CEE57FEBD110, ); name = native; sourceTree = ""; }; + FBB1F6339A8C2A303074A3AF = {isa = PBXGroup; children = ( AD0B1EF09A5E59ED3774A329, B45F39A01AD22A682B37C7E1, 436E30DBA6DFD6ECD8ED3C91, @@ -817,7 +927,7 @@ CFCFC70957F4DD653811999F, 89E53FD2ACB49E1AA152EBC2, 1FF2AE7CAF095DB8217FA194, ); name = network; sourceTree = ""; }; - BD64CD087430BDE8E72DEC21 = {isa = PBXGroup; children = ( + 381DF8BBC822C0B989B99208 = {isa = PBXGroup; children = ( FB55E4055FFC9161143DDDFF, AA518347E2E68E414FF265CD, 5458D1969D7DEBFE0088005B, @@ -833,135 +943,156 @@ 2E16CE1C3E5BCC2C2BEA148E, 43B262CC940FF302F2173A12, A651FF7A322080340CC5D2D5, ); name = streams; sourceTree = ""; }; - BFB8BA87A3C2F74B9014A6EB = {isa = PBXGroup; children = ( - 1023FB1681CB8ED3FDBDAC3E, - 9568EA7ED7C859B626D038FA, - 92A25F46FCA96485EEEDE684, - 1EC357C30EDF2ACC28550388, ); name = logging; sourceTree = ""; }; - 2745FAC904CFF3C3F40F208A = {isa = PBXGroup; children = ( + 70F3DF8FBB840E944CBB2F33 = {isa = PBXGroup; children = ( 74759C4DA8F3247D4C6A285C, F9D52539486A1F851469A123, 19947125AEF05A8508F43CB3, 847A793C7708E6C015E63569, 473CE105CFA7EBFD51153EAF, B43C9D6019C2118F629C7024, ); name = system; sourceTree = ""; }; - D4D89963B7EF7CB993932996 = {isa = PBXGroup; children = ( + DD8D599A56BFF44D349AD74C = {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 = ""; }; + D1CF69F536F7DCDCC6153169 = {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 = ""; }; + AC57F9CBDFAC68D9E1CBBAE5 = {isa = PBXGroup; children = ( + CCFE667DD53C16AB1935F669, + 622B4D97C8DED6228AE40388, + D02A95BDF7062A728550168D, + 54369FA543B7248A1A9B4FD8, + FEF791E5D51F5DBEF1CCC97F, + B34C7797CE3F67F6A2CFE08F, ); name = time; sourceTree = ""; }; + BB506DDCEC6EBD8171BB37F8 = {isa = PBXGroup; children = ( + 9DEECA10F34A4BA80F5B5463, + A0C534C784C326275EDB67CF, ); name = "unit_tests"; sourceTree = ""; }; + 49C44118D1EC34A5A27C2FF3 = {isa = PBXGroup; children = ( 045771320DE8188DA10004C7, D2570710CAAF0D58CB187005, C2342958F9A698FFFD02735B, 673C84E79DE00E085CC517E3, ); name = xml; sourceTree = ""; }; - FC9D0B03172F3A5D3305DD33 = {isa = PBXGroup; children = ( - C5A00A687712DF549E44983C, - B573A8EA7729B1C7CBC3D41A, - DC0305B007A964049E14C1B0, - 4925FA4EBF60DC4F55EF1B50, ); name = javascript; sourceTree = ""; }; - 6D0DE22D568EB5EF7D87CD0F = {isa = PBXGroup; children = ( + 1C24882C7F5AEC6863170820 = {isa = PBXGroup; children = ( + 2A15CF34361FFBC342699FCB, + 9A548C149CE68716514792C1, + 3C1E8697AF1554C62284A9E2, + 3A69E45311DEFE84CAA8D684, + 1C64C84A12159DC73BA5607A, + 02D01D1B088BE4F597ED748C, + 10998145E06E2F67DF49E532, + 28A393F47BE8EECCA71F283E, + 32A0DB4B8B342145E4EEC589, + 5FBBEC8B1C34916324D0EFE0, + 507D85E1D366E33D9A7A6295, + 49CC1277C84932EFC493A717, + 1DB11F074FFB0EDE1247FBEE, + 71C3973C5A1F0F0D9CCD41BB, + 350E89C4358F2396A6648015, + A57B807EE3E2C4378CDEF1C7, + 23E2008B1E0281431E22BF29, + 3E357E56483383C7BB02A758, + 4080FAF7F08156B09DBD2C3B, + B6AA257D044677A140886528, + 127AF128B4FBEB7436EE4758, + 5BC67DB1C038802A57C2E96C, ); name = zlib; sourceTree = ""; }; + AA121C567C10B74F0B3818D7 = {isa = PBXGroup; children = ( + 1C24882C7F5AEC6863170820, EF97B5375AA0EA0CE103F06C, 69D130699972E26940BF30B4, BDAF8239A83116274C089C2E, 79990D77027355E069D22BF7, 619B8CC5E433B291428C70B8, B6CE0CDB954B662DE01F21AF, ); name = zip; sourceTree = ""; }; - 3FE4374FBE7904050BEE105F = {isa = PBXGroup; children = ( - 9DEECA10F34A4BA80F5B5463, - A0C534C784C326275EDB67CF, ); name = "unit_tests"; sourceTree = ""; }; - 0E675747650E9D96BD34FAD5 = {isa = PBXGroup; children = ( - CACE9B0E811F67FB846FFEC6, - A18B84F4C980C668933CFD74, - 07240BB5DBD357FA56236AC5, - 7B78FBA2323E1D9D5E0A5175, - EB704FF0C3E6B7D03D02E257, ); name = misc; sourceTree = ""; }; - 65B3088DEC0DFDD6B7CB9607 = {isa = PBXGroup; children = ( - CA05480E91368621A3646604, - A428D55AD9CD7AA72A5B3556, - 818E22F85684F7EF88EAB18B, - BC94C99B4FE656CD3ED85010, - 73953F5801BCF3777DC50817, - 88AC21B9EF5322867045E590, - E1B699EF2C40151AECB26BAD, - E83E1B54848E977DED3C67B4, - 43B97EF68BD61467DEAC30D8, - C7FE51A69A301750179B2DD8, - 501C3170F0813A6DAA6A0374, - 53C6B37954625E771B948308, - 2072DEFC75F338D907B077D1, - E053E8A2E815F8C2BB3E0EA5, - 4451A2866EA224F1CDA51598, - 27B48619C98100E8155F2C50, - 3BB9B66FF80EAE11FF6ECB0F, - 720DD1FA654200322D9DCFED, - 2CA9D6A8CAB654AAF7047FA7, - BE71914A5AF08367D39854BF, - 2328AE195EE96739592F77E3, - 60AAEBEBDFBB184261A09A35, - F73BDDCA2D4DFE13C9B40329, - C5CAE7BB4FF2B17B095E312A, - 843F671C3010F444223FD191, - D429D9422422BC6951ADCB53, - 48B1C8EBEBC834F81B4CDFBE, - 94B555395941CEE57FEBD110, ); name = native; sourceTree = ""; }; C90657B6622A41E312FCB1BA = {isa = PBXGroup; children = ( - E7A75A828F30AB9D123BE2D4, - B0BBFF5D5452C9224EF54F55, - A38380539F845E3E78B1BF08, - D51FA8CF7613731204C6C7C9, - 2D6F7A0F937A92639374051B, - EDB6E3A49E9EF00489FABCBC, - F5E1689C8C183B6784C9F23C, - 65F7FBFC55C08B811D7DACB9, - BD64CD087430BDE8E72DEC21, - BFB8BA87A3C2F74B9014A6EB, - 2745FAC904CFF3C3F40F208A, - D4D89963B7EF7CB993932996, - FC9D0B03172F3A5D3305DD33, - 6D0DE22D568EB5EF7D87CD0F, - 3FE4374FBE7904050BEE105F, - 0E675747650E9D96BD34FAD5, - 65B3088DEC0DFDD6B7CB9607, - DA6889A0B8950FD510CD0D80, + A64DE9E9A24D0FD8EF666514, + 7A7A0750FA02319841E64BFC, + 19F737C559567EA41757D46A, + 81CF3218E8CED6AD2A0FD1E2, + 64440FE421B52CFD84639112, + 2C740710B921CFF0865F2DDD, + 14CC30334A820A5BF4378AAE, + 148F96F28BA0A7F6B3FACE7F, + FBB1F6339A8C2A303074A3AF, + 381DF8BBC822C0B989B99208, + 70F3DF8FBB840E944CBB2F33, + DD8D599A56BFF44D349AD74C, + D1CF69F536F7DCDCC6153169, + AC57F9CBDFAC68D9E1CBBAE5, + BB506DDCEC6EBD8171BB37F8, + 49C44118D1EC34A5A27C2FF3, + AA121C567C10B74F0B3818D7, + C46187E70020E8E537EA5153, + 1CFAB191C8DD1D534F640C86, + 1613DDD895A055CA5B8EF0C7, 1CFAB191C8DD1D534F640C86, ); name = "juce_core"; sourceTree = ""; }; - 5F2E5AA2947BC2CDE25722A3 = {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 = ( + 15643F4FD8BAA3C82EFB3F58 = {isa = PBXGroup; children = ( 0251FE0DE5ED2D9D43022582, 1D09C10B2DB3292D00064927, 4D791CBB68C387098A031376, 89805D9153F89B2C4C53EE81, ); name = "app_properties"; sourceTree = ""; }; + 7781A4B1ECC56CF96C6642B5 = {isa = PBXGroup; children = ( + 96D694EA41570A461CEB7C73, + D8B0DE77AD69B6EF9912BFFF, + EAD3F95BA32E79C92298C479, ); name = undomanager; sourceTree = ""; }; + 95776A9BD9708699A7F219BD = {isa = PBXGroup; children = ( + 0393286D5722938DD268A9DA, + 00A034C410DBA61297D65E37, + FF81F9A67E4B9973B5485F0D, + 767CBBD58A107FCA005D38E8, + 891B14FF053DF9A2853BEF7A, + 630154507B0430ED5F3DD472, + 3E10C3A46814DBCDF6396341, + C4CFD579D6C4139D32AEAC05, ); name = values; sourceTree = ""; }; DD674EC5F36959188E76056E = {isa = PBXGroup; children = ( - 5F2E5AA2947BC2CDE25722A3, - DD489BBC25121D3100BA45CB, - A5875E8801325CC52A3344B0, - BFAD4AB98245F033BE68E8B0, + 15643F4FD8BAA3C82EFB3F58, + 7781A4B1ECC56CF96C6642B5, + 95776A9BD9708699A7F219BD, + CB12990AAB952CDA1F811B57, + FA79D9C65FFB09641076D108, + 19E904C25329105CDD300652, FA79D9C65FFB09641076D108, ); name = "juce_data_structures"; sourceTree = ""; }; - 0F3640D49D5D956D9E5CFDFA = {isa = PBXGroup; children = ( - CCCB92A0E760E29F2A995809, - 3CC23F48464F0261882AA5AA, - E7199F938539959B02955A43, - 57E8A3E804D838412F6C709C, - 13C05F42165ABB9D466A6818, - 5EDB8DDE1131B18E305235C5, - EC2C677FD9ABD28AB91398BF, - 82A4C550DFC35854F0BAF2F5, - B3F452436CCF7A90B60F0DC4, - A3ACA966A2F3DB3DB09E0203, - 8275073C9C88CD2553D74D2F, - 65BC11167B6AD696C353F18E, - 8E36C0957D12569557DA8FC6, ); name = messages; sourceTree = ""; }; - 1BB7328DB3D839E981F865B9 = {isa = PBXGroup; children = ( - A9F118735B042547AD717A49, - A8C6E57CF011EB43FDBF3386, - 624DA39544AB7B0838E15F53, - 386E1A4EE3A9D43D88017E2C, ); name = timers; sourceTree = ""; }; - 2BB03F78D512DA0F004237AB = {isa = PBXGroup; children = ( + 6EB2B7AE3ECCC71B3DE6D913 = {isa = PBXGroup; children = ( DC476FA8298A033B1C1912C6, 4DD71A8D04137ECB09B39428, ACAFF5D19589B91947E49F00, @@ -977,7 +1108,21 @@ 95F8728F0BBBAC6937DDD9C3, BE1B089CD42159BFD2020268, 93E2D767D95DFFC8AFFB6295, ); name = interprocess; sourceTree = ""; }; - A37A96EE69F7C5BAEF0C5D01 = {isa = PBXGroup; children = ( + 7CFB5C67EAF73F5FABB6E723 = {isa = PBXGroup; children = ( + CCCB92A0E760E29F2A995809, + 3CC23F48464F0261882AA5AA, + E7199F938539959B02955A43, + 57E8A3E804D838412F6C709C, + 13C05F42165ABB9D466A6818, + 5EDB8DDE1131B18E305235C5, + EC2C677FD9ABD28AB91398BF, + 82A4C550DFC35854F0BAF2F5, + B3F452436CCF7A90B60F0DC4, + A3ACA966A2F3DB3DB09E0203, + 8275073C9C88CD2553D74D2F, + 65BC11167B6AD696C353F18E, + 8E36C0957D12569557DA8FC6, ); name = messages; sourceTree = ""; }; + 6240B71B5970A762B684440A = {isa = PBXGroup; children = ( 54D586E881C14632DFED5307, FAE5284B8D2DE9C96E48FBA9, 46EC5ABEC7369DE270103BD0, @@ -986,15 +1131,22 @@ 770E3E9EE460FA39F5D11135, 35757D7DC5382C1E944DAD62, B6811E2AB21C42FC486939AB, ); name = native; sourceTree = ""; }; + 7D54D37ECD7D18B38C5955AE = {isa = PBXGroup; children = ( + A9F118735B042547AD717A49, + A8C6E57CF011EB43FDBF3386, + 624DA39544AB7B0838E15F53, + 386E1A4EE3A9D43D88017E2C, ); name = timers; sourceTree = ""; }; A62BCE98B69FF46150DA8A15 = {isa = PBXGroup; children = ( - 0F3640D49D5D956D9E5CFDFA, - 1BB7328DB3D839E981F865B9, - 2BB03F78D512DA0F004237AB, + 6EB2B7AE3ECCC71B3DE6D913, 3716523F2790BE616E4A18E4, - A37A96EE69F7C5BAEF0C5D01, - 6844A1032F464C6EEF0E8198, + 7CFB5C67EAF73F5FABB6E723, + 6240B71B5970A762B684440A, + 7D54D37ECD7D18B38C5955AE, + A7E128D5BC1767916C80652C, + E51D2439AA7758DDD46856FE, + 84101E2D18716179E7CA2350, E51D2439AA7758DDD46856FE, ); name = "juce_events"; sourceTree = ""; }; - A066D9E7064B0F5035A4C22A = {isa = PBXGroup; children = ( + 06E69E459BD4B2640759BB4B = {isa = PBXGroup; children = ( 446E81F01BF3462388C8C9EA, 9D84F602774715575E922DB8, B731F59C6868BE055F007329, @@ -1004,7 +1156,7 @@ F8AE2AC129497AE2FDBA8704, AD36943B7208B78A6D5C135D, 705DCBFD0A3E534AF18311A2, ); name = colour; sourceTree = ""; }; - 6D979C329CFDB8A670FDA77D = {isa = PBXGroup; children = ( + E9D231EEB2C090936DB94B98 = {isa = PBXGroup; children = ( EE006ACCD79BB835F06B94FD, 96623D075BE4AD20A203E073, 8032B1C137C27BBCE736A009, @@ -1012,20 +1164,26 @@ 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 = ""; }; - 7191B0EE29E2BDBD38A031C4 = {isa = PBXGroup; children = ( + D00F406DCD644198363685C3 = {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 = ""; }; + A7685BC5D3C7606881B10F08 = {isa = PBXGroup; children = ( 02FE1889D2DD692F77799F1D, CEFA4256D87E7986F79F3649, AD1FA8AA0E7DC1A0D0E4DEE9, @@ -1041,30 +1199,105 @@ 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 = ( + 7F55785361532284710F0B85 = {isa = PBXGroup; children = ( + 0337C98E5F43F9318BB902E2, + 79B6C211B09A7BCA4E0E6A19, + 02AC52ADEDEF62D9BAD91D1A, + 7FF39A1B543CF0374511F92C, + BD1E462C99D9D2EA6D5404DF, + 8AEF70673FF810778EFC6D08, + 12EB732D45B2E6CFB0825C61, + 1E6443D23400D619098E53A0, + 94047E0341D08BDF2319EB61, + 28E3C6EA66CF3C9CAC3190B6, + 19B751A2FABD391AA3A88C0A, + 7F17394F0989BA98E2B1C9E0, + 85A392A5ED9A8C025C3EA6BB, + 53D62BC45B6611C710A4CE0D, + B95F8C80E0D44391899531B6, + C8F7374086344C5E0AB65EBB, + 09A3978224AE8188C57FF664, + 016711C25CA1C36A4746C73A, + 7CE0F22BFEAB620A3FBEDAAE, + 30A3A37DABAB577F80E0A815, + F8335CEBB0A0B02FBF2B4575, + DEB1DB336E6EBA09E1397395, + 75A90DB8083ACDAC3F7D13FD, + AA9D09A7352BD3B7EF0F6C37, + 652BC72B8B26D59DD3744D27, + A34D32B73BD9ADDFC729E76A, + B270498E793DE6D223DD8179, + 8734FD394413C215C5439CE1, + 83C890881E261221CD4411CF, + 953D96AAE313A21568336B44, + AB05CA5CE80346C3602E6A0C, + E18133A723BBD20894E0D55F, + 7AF502D1CD8BCD2A7922505F, + 41EDE61217584C1EB76ED6F7, + 0002AB33B2B1E2A83F861C49, + D168E2F214E2AB87724A7867, + 7CCDD4516869B13CF0B6D99E, + 647549A83D6750014BD2B831, + 489BFE802C32940B8F922BAA, + C9766DDB06B8BCE05ED3125E, + 9DFD7E4BD89693A20E1A2204, + 69C9284BCC81DD0EF2C4D062, + 26638516F48CF36358AABE5F, + 5E6342E33EA0E4BE3E125E31, + 4AADEAF26CC75A838A6F5309, + 4C689F9EE6BE5920054343C9, + 8FB27B60D105659FC6B41580, + 4E824D2CC871797D8038B96D, + 50B9601279058C7F795ED630, + 78F08B1A3E20C34EE41E3CBB, + 8FC09226A70A03796A45B00B, + 512E7DB8313E9CFBBCC92BE7, + 72B05EC8B677908C0ECA9F92, + 038C0DBB08FAB84ACE73E6F6, + 72387783A5021937F4564634, + 39CE7C225AB432074042922C, + 7F6D26515E72BE3262056CDC, + FE9AD84305C2493469F01C41, + 9C8C2F6687C807C124F0406D, + 3C61CEA27872A4270BD27D1C, ); name = jpglib; sourceTree = ""; }; + 49FF259E13D3729472375EF0 = {isa = PBXGroup; children = ( + 6EF466D442FFD97C175C9B11, + 82134D6C51E905071DBADD10, + D482BA3284F2E7EAE67CC557, + 0629B604077D9C038FD82523, + FD6EA3754690687A083F5DBA, + 14B52EBD78A0464265AB81E0, + 7082C93DB09637300889E0DF, + 89A94E0115DF815B0344BCB0, + C97F68F2C3F8916DF087E2FF, + 4C2750D978B8C9DCB147C680, + 253A7B64A2386F9B99C9EBDD, + 2B268BC6053ED860C56F6D68, + 0431BBE1A6560B6109FDAABB, + 427B368E2D3B0C78613373D2, + DA99BB2B1AB6C63977037B5F, + C2412B58CD149FA32AF6366E, + 17D7D6EC290E72CF79A2FE4C, + 24C8272BA80B3904ED7F2942, + 11A90720D9E237182CF6FB4B, + 88A9D411ADE9399E55FA0139, + 25C0F16829BDD6D73E65473F, ); name = pnglib; sourceTree = ""; }; + 62B975700FE614961A1AC288 = {isa = PBXGroup; children = ( + 7F55785361532284710F0B85, + 49FF259E13D3729472375EF0, + 735FE3463FE45A1D974A8528, + 843F183093EA237684B2E258, + 84EF3FB46EDD14F32934A85E, ); name = "image_formats"; sourceTree = ""; }; + 2D83E592D36354BEF666DA3F = {isa = PBXGroup; children = ( + 7E5FC79C3C09EF858C569522, + 92DBAA56A6941045E2A1D7C1, + 59619DAA2203630E7E577460, + 832394D0615C3E8D1470BCC3, + 9190C814ED9373282AB550CF, + BCCC42CC360C6B8F08C7009B, + 73AAF6B948D43A277D2C31B7, + 8C96219754DE2C8425EA7FE8, ); name = images; sourceTree = ""; }; + 8FDDEA855E788CD9E459B99E = {isa = PBXGroup; children = ( F108EC68FFBA13B85E95E4F0, EF3C64A21A3D411EDF9D41DB, 07CABA5DCB7723822DC14CB9, @@ -1078,19 +1311,57 @@ 98F09E7FD01AAF26FCF7B01B, 7ACC0D9EBB7DB3BFF8F2E8C7, E9B5F6F7F95E60BCEF3E67F8, ); name = native; sourceTree = ""; }; + 11B83ED77D4546DA1F083610 = {isa = PBXGroup; children = ( + BEA7187E0477E3D8C907B305, + 05837FE8DA660AC504863A13, + 8C6B183C4F37DF95D7478817, ); name = placement; sourceTree = ""; }; 3E664A006A0EFB272D19BD81 = {isa = PBXGroup; children = ( - A066D9E7064B0F5035A4C22A, - 6D979C329CFDB8A670FDA77D, - ABB613396FE2882B90885016, - E4467E5FC633B3634F8059B6, - 7191B0EE29E2BDBD38A031C4, - 65A11F48168CBC2445C2EBEC, - 3B8222F409ACCC126A2C9914, - 6A9BAA8C30E9ACC8705EF126, - 22DE53066E911A3F6E29D56F, - A5D0644E15010BCC82D09CE8, + 06E69E459BD4B2640759BB4B, + E9D231EEB2C090936DB94B98, + D00F406DCD644198363685C3, + A95B60FF5F870C79529A3CEE, + A7685BC5D3C7606881B10F08, + 62B975700FE614961A1AC288, + 2D83E592D36354BEF666DA3F, + 8FDDEA855E788CD9E459B99E, + 11B83ED77D4546DA1F083610, + 2AE53363609B96383125FE29, + BAB4EA25FDB2FCA22655967C, + BA573E7FBB99B40146613BB3, BAB4EA25FDB2FCA22655967C, ); name = "juce_graphics"; sourceTree = ""; }; - 9241E64B7FF3F21F2B2B2BF6 = {isa = PBXGroup; children = ( + 34DE36C77B65878355306E66 = {isa = PBXGroup; children = ( + A9E44F79C25915233A9291B8, + C1F24188E1527450B90DA222, ); name = application; sourceTree = ""; }; + AE15D4766E79481ABDBE038F = {isa = PBXGroup; children = ( + 23DC725C20C9095CD53D65BC, + D968E1D4D8E5A98346EC822B, + A2CC0F227CDF2FE627EA8B91, + 4B586C1DD2F0162A6C950FFC, + 0EBD49CAE74E76734FF9A2C0, + DC397955C3D54C2A6A306474, + C7C30DE6E4BA526E8CCCA43E, + 9159888223D9009D0AB6DD6B, + A6CDA3D301E2DF90B4693040, + 0B4391EC2F180A71343F9F39, + 3ABA28D6E392E38064F199E5, + 038A941B607C1FFDB9E808DD, + 2425E90D3BC5D9815BE3F5F5, + 45A2D90F6DD432F2250421DC, + 907F09189AFB79FECB1B7ABE, + 09F281AE3F5FD2BC2AA8278B, + 39D624AD64D9F218505785CE, + 0B392087C6C6DDAFEF5B09DD, ); name = buttons; sourceTree = ""; }; + 61132C0B49F34F2D72639F63 = {isa = PBXGroup; children = ( + 177963253EF46F6C85731453, + 7B1E8345DE0F2267B5922DA7, + D0458D7AE3F0E35321D7D532, + 54DD09B5405BF69675BBFA81, + 454054374D6980D2CBEA4CB0, + 6211FB5E6B90292B8218EF22, + 62C594010A82EB5FD9EA6CF4, + 199D4CAA3766BBDD8FD358A6, + 9A98353E0E7E28EEC92EC0A2, ); name = commands; sourceTree = ""; }; + A1A89825A1091D2B915B08D0 = {isa = PBXGroup; children = ( 99606AA3E888CF431EAA6374, C6FA47D71213F054C353F139, 2E8E72B14A0C7B3F11C874FB, @@ -1100,28 +1371,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 = ( + 6FCAE83B5702CC6A0BD6AEE7 = {isa = PBXGroup; children = ( + C3640E2CA11B2524C3EA9A1D, + FEC24BD2D3268F6CEB4B7794, + A7E1DDDC3B554B92985D87C5, + C83788FA99D8D90C862F0ADF, + 6FF4A0EA89A10BE0663234C1, + 7C019A0BE9A9EF783740447A, + FAABAEF271A54187E971A758, + 54A6565D93B72819E9CBA571, + D59B6942FDD2642025761C5D, + 14B72B364348CC438D4C0BCC, + 8BB34D1B1519891162B0DBFE, + 95373A4F0D28EC19461D4023, + 6B8769223ACE955EDC8D92E0, + 5C5A9A762BA677C5FA586A6C, + 737A72A9D7F3D081BD2217EE, ); name = drawables; 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 = ""; }; + FE4F02D66690EE9F4E3BE15D = {isa = PBXGroup; children = ( 8A84AC4483BBADF6A7A004B8, 69034A8A56F5D2A6C1FFCC65, FDD421B9FDCF923F52B27D2B, @@ -1135,62 +1424,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 = ( + DAB3C2B5B0185393F57DB70B = {isa = PBXGroup; children = ( 2ECE40057317870A56B5760A, 36D761D28DD7AD5E435DA5EE, 5DEB44A4239D3F9B9C2D736D, @@ -1227,72 +1461,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 = ( + 8878FB20A86106FF7D953F75 = {isa = PBXGroup; children = ( 3AE15739CCDC0407119D424E, C61DCFD910CFA3E84AEADDB3, 9533E8D0BD5EF547D9103C92, @@ -1301,48 +1470,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 = ( + AC64419557B792149ED528B0 = {isa = PBXGroup; children = ( + AD0668BFAF21C58ED2A307C8, + AC1BEABD9F4763F79C386771, + AA781B9435A57FB2A2E03224, + C025EE160EC2638DF3A52B2A, + 3EA3D9C24F2DCF38243677A8, + 81C8F0975AB02A38B2730E4D, ); name = menus; sourceTree = ""; }; + 9B6EC4B3C5027E88E38FF473 = {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 = ""; }; + F70B2C317BFDE402ABA6A884 = {isa = PBXGroup; children = ( CDA25BD03F26A4EB2D0268CD, 560EF8EDA00C258C5EEE0FE3, B7FB20F3D5020CD8988242FB, @@ -1359,27 +1520,107 @@ 578192335A99BEBF7C29D9D3, 985225BD693D490BCC25FDB8, 9391E9EC0F6BC79109DADDB1, ); name = native; sourceTree = ""; }; + 570BFACF14072E63BE742CD6 = {isa = PBXGroup; children = ( + FC57AB2A2F759F6A2F4A8BFE, + 41B2962E2D6D62E82D740909, + 0F46D61F1395598ECD58D13B, + 85A746B00A2DA96D05DB3226, + CF51391F83A4DE939326DA11, + 32DD6D458DD1AD9BC369D080, + 1AE8E55EA1A66292DBEFF555, + 2AE9B178500D97B20209CFB1, + 7EB8EBE9B30DAD89CBB4781B, + E5B07EBBF53E541E904E672E, + C4FA36540D8C2EE2955C963A, + 479995FFDDC014D4E47F209E, + A0095E097562F35F1368991C, + AB77F3FC20046038C386B654, ); name = positioning; sourceTree = ""; }; + 6F5D542F9DABADB7DC3166CF = {isa = PBXGroup; children = ( + 58ACAEFBBFB48C058D6DBAC7, + 0483EF8F3E1F3AC39B75A368, + E23EFD9F458C3CAA34F313F8, + BAEF7A9BA31820606D33CEF3, + 26E386602EADD2CA4E01F810, + C61DEBD72624C27DC4BCB04D, + 3E5192D29EE372AD29E3A418, + 5BA542F025C9C53790A4D58D, + DD11383968A7BDA570D56BA5, + 8C43F022980ECACBD7EEE3AD, + 0981B4D390F9DCEE43876E0B, + B426A92DF7339E0D8414A8CB, + 9AE95605823935BE3AE8E180, + E1FBDDE0E86BA12213D1543A, ); name = properties; sourceTree = ""; }; + FCA3709ABF116DDF99DA09BE = {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 = ""; }; + BAE96B325792D13AE8462EC5 = {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, + 34DE36C77B65878355306E66, + AE15D4766E79481ABDBE038F, + 61132C0B49F34F2D72639F63, + A1A89825A1091D2B915B08D0, + 6FCAE83B5702CC6A0BD6AEE7, 3293EB60EBAE0075BD8A448E, - B9874210A4993B0D9CCED8D9, - 2FB99FC625D2EBCFA066312C, - 4DBA6D1837A565C91D523DA1, - DA56482322011B0B353B6580, - 4DDD2D269468402FEC270B7A, + FE4F02D66690EE9F4E3BE15D, + DAB3C2B5B0185393F57DB70B, + 8878FB20A86106FF7D953F75, + AC64419557B792149ED528B0, + 9B6EC4B3C5027E88E38FF473, + 80D573ACA3518F15D7905328, + F70B2C317BFDE402ABA6A884, + 570BFACF14072E63BE742CD6, + 6F5D542F9DABADB7DC3166CF, + FCA3709ABF116DDF99DA09BE, + BAE96B325792D13AE8462EC5, + F0F6266E3700513C02B2A07A, + 4C9C4F6E57C0B6BA419B2EBC, + B4371B7705C00F493AF23340, 4C9C4F6E57C0B6BA419B2EBC, ); name = "juce_gui_basics"; sourceTree = ""; }; - 662B58AF292299C0B41E86E8 = {isa = PBXGroup; children = ( + EDE35DCE3A6650324D0339B7 = {isa = PBXGroup; children = ( 69283B9BE6110FE7346F6524, 40503EE739CFE126592D4874, 97B723276A86C78A6EEA4577, @@ -1392,14 +1633,14 @@ 58AEA35CEB35B7457664F844, 17A6A826E4A8887E2C6BF4E8, A9E14111B38FBFA37C6ACA72, ); name = "code_editor"; sourceTree = ""; }; - C5C5F4D45DFCD057EC9E759A = {isa = PBXGroup; children = ( + 0A249CA68C8247A9C0A1A85C = {isa = PBXGroup; children = ( 94181F520BF85FA7D9E40C73, 59E080C5486C138E5BF6E223, ); name = documents; sourceTree = ""; }; - 7A1B435A59410A3A04537AA9 = {isa = PBXGroup; children = ( + 7EFB988D9B0136F977E60F45 = {isa = PBXGroup; children = ( 55DFA734C7AEB7AD1FA75ACB, F6FB8FC72C99063A9189CDF1, 06D9A86CD966602EE667D435, ); name = embedding; sourceTree = ""; }; - E9DF5682EC7A63CB9EBDF6C9 = {isa = PBXGroup; children = ( + 4137F663128F4E123AE245AC = {isa = PBXGroup; children = ( 696B53B2113C83A6EF2ED417, 8B11018691CF485F1067F278, 4FC6BA3F88DEF2F349D09076, @@ -1420,7 +1661,7 @@ 58CF7569194B3BB33A4F8F7F, 2746797C44E7CE623594BBA2, F2BB06D28AA885AE090A1FC2, ); name = misc; sourceTree = ""; }; - F3479E6B7AD5FCAD847999D7 = {isa = PBXGroup; children = ( + 51F63C1AD41589CD83D65ADC = {isa = PBXGroup; children = ( 29D63A0E8C13E383014DD75D, 181B35AA4E9C24FC3F8802FE, 2953006D4EEDABBC7DC7F217, @@ -1434,12 +1675,14 @@ 9C745732F0E710143CA7BBAC, 5AAE2BA6EDC3F1025B66E77F, ); name = native; sourceTree = ""; }; 58FF205F12F3E4B3B71D0388 = {isa = PBXGroup; children = ( - 662B58AF292299C0B41E86E8, - C5C5F4D45DFCD057EC9E759A, - 7A1B435A59410A3A04537AA9, - E9DF5682EC7A63CB9EBDF6C9, - F3479E6B7AD5FCAD847999D7, - 1FAB0F968375D7C703A232DC, + EDE35DCE3A6650324D0339B7, + 0A249CA68C8247A9C0A1A85C, + 7EFB988D9B0136F977E60F45, + 4137F663128F4E123AE245AC, + 51F63C1AD41589CD83D65ADC, + 83C890C37D96B1F0A426EE10, + A7220770FDA088EC533BDE74, + 9217310887FB766C896B4E3F, A7220770FDA088EC533BDE74, ); name = "juce_gui_extra"; sourceTree = ""; }; 7B49C7503D580E53881D68B2 = {isa = PBXGroup; children = ( C90657B6622A41E312FCB1BA, @@ -1450,15 +1693,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, @@ -1467,7 +1710,7 @@ 7A04B95BA723FD5B383F85F5, 8234DF87078EC929238C5679, ); name = Frameworks; sourceTree = ""; }; 72B1FF7E8BB5B7DE3D5AA374 = {isa = PBXGroup; children = ( - 7676A9F9E2BC8FA7334CDA3E, ); name = Products; sourceTree = ""; }; + 48DBB774ADD58780B75FD130, ); name = Products; sourceTree = ""; }; D0953BB62CDDA1D6C60E6893 = {isa = PBXGroup; children = ( 232DE569E6951C8B8D9053A0, 7B49C7503D580E53881D68B2, @@ -1475,7 +1718,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; @@ -1491,11 +1734,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; @@ -1512,13 +1756,15 @@ 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; SDKROOT_ppc = macosx10.5; }; name = Release; }; 5D049546B6C238AD8CC74EDE = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -1547,34 +1793,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; 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-App.plist b/examples/ComponentTutorialExample/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..8b8c676a --- /dev/null +++ b/examples/ComponentTutorialExample/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + ComponentTutorialExample + CFBundleDisplayName + ComponentTutorialExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/ComponentTutorialExample/Builds/MacOSX/Info.plist b/examples/ComponentTutorialExample/Builds/MacOSX/Info.plist deleted file mode 100644 index 181a2387..00000000 --- a/examples/ComponentTutorialExample/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.ComponentTutorialExample - CFBundleName - ComponentTutorialExample - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - - diff --git a/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj b/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj index 60cd1cc8..bcdd9f6f 100644 --- a/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj +++ b/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj @@ -125,31 +125,55 @@ - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -164,70 +188,67 @@ true - - true - - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true @@ -266,106 +287,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 @@ -374,22 +404,22 @@ true - + true - + true - + true - + true - + true - + true @@ -410,6 +440,18 @@ true + + true + + + true + + + true + + + true + true @@ -419,6 +461,15 @@ true + + true + + + true + + + true + true @@ -440,25 +491,28 @@ true - + true - + true - + true - + true - + true - + true - + + true + + true @@ -476,229 +530,241 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + true @@ -728,25 +794,28 @@ true - + true - + true - + true - + true - + true - + true - + + true + + true @@ -773,79 +842,121 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -854,7 +965,25 @@ true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -881,120 +1010,200 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + @@ -1008,25 +1217,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1036,6 +1226,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1049,39 +1273,82 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - - - - - - - - - + + + + + + - - - - + + + + + + + + + @@ -1091,19 +1358,12 @@ - - - - - - - - - - + + + @@ -1114,10 +1374,15 @@ - - - - + + + + + + + + + @@ -1128,39 +1393,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1169,33 +1469,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1215,15 +1488,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1231,13 +1518,6 @@ - - - - - - - @@ -1245,31 +1525,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1295,16 +1575,13 @@ + - - - - - - + + diff --git a/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj.filters b/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj.filters index 786ab4eb..5fb45b54 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} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -41,60 +44,60 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {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,80 +107,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -208,45 +217,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 +232,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,77 +256,35 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - 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 @@ -397,6 +298,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -454,17 +358,155 @@ Juce Modules\juce_core\native - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\undomanager + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core Juce Modules\juce_data_structures\app_properties @@ -472,23 +514,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -508,6 +553,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 @@ -523,6 +580,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -544,26 +613,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -580,236 +652,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -838,26 +925,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -883,80 +973,122 @@ Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - 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\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\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 @@ -964,8 +1096,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1012,6 +1162,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1090,22 +1354,28 @@ Juce Modules\juce_gui_extra\native - - Juce Library Code + + Juce Modules\juce_gui_extra - + + Juce Modules\juce_gui_extra + + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + + Juce Library Code + + Juce Library Code @@ -1119,50 +1389,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 @@ -1182,6 +1494,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1221,137 +1536,35 @@ 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\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native Juce Modules\juce_core\network @@ -1392,12 +1605,6 @@ Juce Modules\juce_core\streams - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - Juce Modules\juce_core\system @@ -1413,60 +1620,180 @@ 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 + + + 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\unit_tests + Juce Modules\juce_core\xml Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core 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 + Juce Modules\juce_data_structures\values @@ -1476,20 +1803,35 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures + + 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 @@ -1518,36 +1860,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 @@ -1557,6 +1869,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -1587,17 +1908,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 @@ -1629,38 +1965,71 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -1671,167 +2040,158 @@ 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_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -1890,32 +2250,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native Juce Modules\juce_gui_basics\positioning @@ -1938,27 +2340,6 @@ 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 @@ -1980,80 +2361,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2130,6 +2511,9 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_gui_extra + Juce Library Code @@ -2138,23 +2522,11 @@ - - 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_graphics\image_formats\jpglib - - Juce Modules\juce_gui_extra + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj b/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj index 3c378131..19399fc4 100644 --- a/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj +++ b/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj @@ -131,31 +131,55 @@ - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -170,70 +194,67 @@ true - - true - - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true @@ -272,106 +293,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 +410,22 @@ true - + true - + true - + true - + true - + true - + true @@ -416,6 +446,18 @@ true + + true + + + true + + + true + + + true + true @@ -425,6 +467,15 @@ true + + true + + + true + + + true + true @@ -446,25 +497,28 @@ true - + true - + true - + true - + true - + true - + true - + + true + + true @@ -482,229 +536,241 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + true @@ -734,25 +800,28 @@ true - + true - + true - + true - + true - + true - + true - + + true + + true @@ -779,79 +848,121 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + 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,7 +971,25 @@ true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -887,120 +1016,200 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + @@ -1014,25 +1223,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1042,6 +1232,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1055,39 +1279,82 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - - - - - - - - - + + + + + + - - - - + + + + + + + + + @@ -1097,19 +1364,12 @@ - - - - - - - - - - + + + @@ -1120,10 +1380,15 @@ - - - - + + + + + + + + + @@ -1134,39 +1399,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1175,33 +1475,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1221,15 +1494,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1237,13 +1524,6 @@ - - - - - - - @@ -1251,31 +1531,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1301,16 +1581,13 @@ + - - - - - - + + diff --git a/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj.filters b/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj.filters index 786ab4eb..5fb45b54 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} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -41,60 +44,60 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {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,80 +107,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -208,45 +217,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 +232,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,77 +256,35 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - 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 @@ -397,6 +298,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -454,17 +358,155 @@ Juce Modules\juce_core\native - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\undomanager + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core Juce Modules\juce_data_structures\app_properties @@ -472,23 +514,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -508,6 +553,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 @@ -523,6 +580,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -544,26 +613,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -580,236 +652,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -838,26 +925,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -883,80 +973,122 @@ Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - 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\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\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 @@ -964,8 +1096,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1012,6 +1162,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1090,22 +1354,28 @@ Juce Modules\juce_gui_extra\native - - Juce Library Code + + Juce Modules\juce_gui_extra - + + Juce Modules\juce_gui_extra + + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + + Juce Library Code + + Juce Library Code @@ -1119,50 +1389,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 @@ -1182,6 +1494,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1221,137 +1536,35 @@ 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\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native Juce Modules\juce_core\network @@ -1392,12 +1605,6 @@ Juce Modules\juce_core\streams - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - Juce Modules\juce_core\system @@ -1413,60 +1620,180 @@ 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 + + + 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\unit_tests + Juce Modules\juce_core\xml Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core 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 + Juce Modules\juce_data_structures\values @@ -1476,20 +1803,35 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures + + 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 @@ -1518,36 +1860,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 @@ -1557,6 +1869,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -1587,17 +1908,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 @@ -1629,38 +1965,71 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -1671,167 +2040,158 @@ 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_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -1890,32 +2250,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native Juce Modules\juce_gui_basics\positioning @@ -1938,27 +2340,6 @@ 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 @@ -1980,80 +2361,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2130,6 +2511,9 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_gui_extra + Juce Library Code @@ -2138,23 +2522,11 @@ - - 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_graphics\image_formats\jpglib - - Juce Modules\juce_gui_extra + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/ComponentTutorialExample/ComponentTutorialExample.jucer b/examples/ComponentTutorialExample/ComponentTutorialExample.jucer index 6de54152..91b1f385 100644 --- a/examples/ComponentTutorialExample/ComponentTutorialExample.jucer +++ b/examples/ComponentTutorialExample/ComponentTutorialExample.jucer @@ -2,7 +2,7 @@ + includeBinaryInAppConfig="1" jucerVersion="4.2.1"> +#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 f6c3564e..091a5aa6 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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 06e88f93..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 cd43410b..fc240f43 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/AndroidManifest.xml b/examples/Demo/Builds/Android/AndroidManifest.xml index 4e004d54..ee46cf8f 100644 --- a/examples/Demo/Builds/Android/AndroidManifest.xml +++ b/examples/Demo/Builds/Android/AndroidManifest.xml @@ -3,12 +3,14 @@ - + - - + + diff --git a/examples/Demo/Builds/Android/jni/Android.mk b/examples/Demo/Builds/Android/jni/Android.mk index 7b8f434a..163e55cb 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=10" -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=10" -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=10" -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=10" -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 90707b18..36539974 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-10 -NDK_TOOLCHAIN_VERSION := 4.8 +APP_PLATFORM := android-23 +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 45d3a8b7..f4c6289f 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/project.properties b/examples/Demo/Builds/Android/project.properties index ace3051b..c05f8f09 100644 --- a/examples/Demo/Builds/Android/project.properties +++ b/examples/Demo/Builds/Android/project.properties @@ -1,5 +1,5 @@ # This file is used to override default values used by the Ant build system. # It is automatically generated - DO NOT EDIT IT or your changes will be lost!. -target=android-10 +target=android-23 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/Android/src/com/juce/jucedemo/JuceDemo.java b/examples/Demo/Builds/Android/src/com/juce/jucedemo/JuceDemo.java index 2d71b755..60e96a28 100644 --- a/examples/Demo/Builds/Android/src/com/juce/jucedemo/JuceDemo.java +++ b/examples/Demo/Builds/Android/src/com/juce/jucedemo/JuceDemo.java @@ -30,14 +30,14 @@ import android.content.DialogInterface; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; +import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; import android.os.Looper; import android.os.Handler; -import android.os.Build; -import android.os.Process; import android.os.ParcelUuid; +import android.os.Environment; import android.view.*; import android.view.inputmethod.BaseInputConnection; import android.view.inputmethod.EditorInfo; @@ -49,20 +49,20 @@ import android.text.InputType; import android.util.DisplayMetrics; import android.util.Log; import java.lang.Runnable; -import java.util.List; -import java.util.Arrays; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Hashtable; -import java.util.TimerTask; +import java.util.*; import java.io.*; import java.net.URL; import java.net.HttpURLConnection; import android.media.AudioManager; import android.media.MediaScannerConnection; import android.media.MediaScannerConnection.MediaScannerConnectionClient; +import android.support.v4.content.ContextCompat; +import android.support.v4.app.ActivityCompat; +import android.Manifest; - +import android.media.midi.*; +import android.bluetooth.*; +import android.bluetooth.le.*; //============================================================================== @@ -74,6 +74,86 @@ public class JuceDemo extends Activity System.loadLibrary ("juce_jni"); } + //============================================================================== + public boolean isPermissionDeclaredInManifest (int permissionID) + { + String permissionToCheck = getAndroidPermissionName(permissionID); + + try + { + PackageInfo info = getPackageManager().getPackageInfo(getApplicationContext().getPackageName(), PackageManager.GET_PERMISSIONS); + + if (info.requestedPermissions != null) + for (String permission : info.requestedPermissions) + if (permission.equals (permissionToCheck)) + return true; + } + catch (PackageManager.NameNotFoundException e) + { + Log.d ("JUCE", "isPermissionDeclaredInManifest: PackageManager.NameNotFoundException = " + e.toString()); + } + + Log.d ("JUCE", "isPermissionDeclaredInManifest: could not find requested permission " + permissionToCheck); + return false; + } + + //============================================================================== + // these have to match the values of enum PermissionID in C++ class RuntimePermissions: + private static final int JUCE_PERMISSIONS_RECORD_AUDIO = 1; + private static final int JUCE_PERMISSIONS_BLUETOOTH_MIDI = 2; + + private static String getAndroidPermissionName (int permissionID) + { + switch (permissionID) + { + case JUCE_PERMISSIONS_RECORD_AUDIO: return Manifest.permission.RECORD_AUDIO; + case JUCE_PERMISSIONS_BLUETOOTH_MIDI: return Manifest.permission.ACCESS_COARSE_LOCATION; + } + + // unknown permission ID! + assert false; + return new String(); + } + + public boolean isPermissionGranted (int permissionID) + { + return ContextCompat.checkSelfPermission (this, getAndroidPermissionName (permissionID)) == PackageManager.PERMISSION_GRANTED; + } + + private Map permissionCallbackPtrMap; + + public void requestRuntimePermission (int permissionID, long ptrToCallback) + { + String permissionName = getAndroidPermissionName (permissionID); + + if (ContextCompat.checkSelfPermission (this, permissionName) != PackageManager.PERMISSION_GRANTED) + { + // remember callbackPtr, request permissions, and let onRequestPermissionResult call callback asynchronously + permissionCallbackPtrMap.put (permissionID, ptrToCallback); + ActivityCompat.requestPermissions (this, new String[]{permissionName}, permissionID); + } + else + { + // permissions were already granted before, we can call callback directly + androidRuntimePermissionsCallback (true, ptrToCallback); + } + } + + private native void androidRuntimePermissionsCallback (boolean permissionWasGranted, long ptrToCallback); + + @Override + public void onRequestPermissionsResult (int permissionID, String permissions[], int[] grantResults) + { + boolean permissionsGranted = (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED); + + if (! permissionsGranted) + Log.d ("JUCE", "onRequestPermissionsResult: runtime permission was DENIED: " + getAndroidPermissionName (permissionID)); + + Long ptrToCallback = permissionCallbackPtrMap.get (permissionID); + permissionCallbackPtrMap.remove (permissionID); + androidRuntimePermissionsCallback (permissionsGranted, ptrToCallback); + } + //============================================================================== public static class MidiPortID extends Object { @@ -124,85 +204,839 @@ public class JuceDemo extends Activity //============================================================================== //============================================================================== - public class BluetoothManager + public class BluetoothManager extends ScanCallback { BluetoothManager() { + ScanFilter.Builder scanFilterBuilder = new ScanFilter.Builder(); + scanFilterBuilder.setServiceUuid (ParcelUuid.fromString (bluetoothLEMidiServiceUUID)); + + ScanSettings.Builder scanSettingsBuilder = new ScanSettings.Builder(); + scanSettingsBuilder.setCallbackType (ScanSettings.CALLBACK_TYPE_ALL_MATCHES) + .setScanMode (ScanSettings.SCAN_MODE_LOW_POWER) + .setScanMode (ScanSettings.MATCH_MODE_STICKY); + + BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); + + if (bluetoothAdapter == null) + { + Log.d ("JUCE", "BluetoothManager error: could not get default Bluetooth adapter"); + return; + } + + BluetoothLeScanner bluetoothLeScanner = bluetoothAdapter.getBluetoothLeScanner(); + + if (bluetoothLeScanner == null) + { + Log.d ("JUCE", "BluetoothManager error: could not get Bluetooth LE scanner"); + return; + } + + bluetoothLeScanner.startScan (Arrays.asList (scanFilterBuilder.build()), + scanSettingsBuilder.build(), + this); } public String[] getMidiBluetoothAddresses() { - String[] bluetoothAddresses = new String[0]; - return bluetoothAddresses; + return bluetoothMidiDevices.toArray (new String[bluetoothMidiDevices.size()]); } public String getHumanReadableStringForBluetoothAddress (String address) { - return address; + BluetoothDevice btDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice (address); + return btDevice.getName(); } public boolean isBluetoothDevicePaired (String address) { - return false; + return getAndroidMidiDeviceManager().isBluetoothDevicePaired (address); } public boolean pairBluetoothMidiDevice(String address) { + BluetoothDevice btDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice (address); + + if (btDevice == null) + { + Log.d ("JUCE", "failed to create buletooth device from address"); + return false; + } + + MidiManager mm = (MidiManager) getSystemService (MIDI_SERVICE); + + PhysicalMidiDevice midiDevice = PhysicalMidiDevice.fromBluetoothLeDevice (btDevice, mm); + + if (midiDevice != null) + { + getAndroidMidiDeviceManager().addDeviceToList (midiDevice); + return true; + } + return false; } public void unpairBluetoothMidiDevice (String address) { + getAndroidMidiDeviceManager().unpairBluetoothDevice (address); + } + + public void onScanFailed (int errorCode) + { + } + + public void onScanResult (int callbackType, ScanResult result) + { + if (callbackType == ScanSettings.CALLBACK_TYPE_ALL_MATCHES + || callbackType == ScanSettings.CALLBACK_TYPE_FIRST_MATCH) + { + BluetoothDevice device = result.getDevice(); + + if (device != null) + bluetoothMidiDevices.add (device.getAddress()); + } + + if (callbackType == ScanSettings.CALLBACK_TYPE_MATCH_LOST) + { + Log.d ("JUCE", "ScanSettings.CALLBACK_TYPE_MATCH_LOST"); + BluetoothDevice device = result.getDevice(); + + if (device != null) + { + bluetoothMidiDevices.remove (device.getAddress()); + unpairBluetoothMidiDevice (device.getAddress()); + } + } + } + + public void onBatchScanResults (List results) + { + for (ScanResult result : results) + onScanResult (ScanSettings.CALLBACK_TYPE_ALL_MATCHES, result); + } + + private BluetoothLeScanner scanner; + private static final String bluetoothLEMidiServiceUUID = "03B80E5A-EDE8-4B33-A751-6CE34EC4C700"; + + private HashSet bluetoothMidiDevices = new HashSet(); + } + + public static class JuceMidiInputPort extends MidiReceiver implements JuceMidiPort + { + private native void handleReceive (long host, byte[] msg, int offset, int count, long timestamp); + + public JuceMidiInputPort (PhysicalMidiDevice device, long host, MidiOutputPort midiPort) + { + parent = device; + juceHost = host; + port = midiPort; + } + + @Override + public boolean isInputPort() + { + return true; + } + + @Override + public void start() + { + port.connect (this); + } + + @Override + public void stop() + { + port.disconnect (this); + } + + @Override + public void close() + { + stop(); + + try + { + port.close(); + } + catch (IOException e) + { + Log.d ("JUCE", "JuceMidiInputPort::close: IOException = " + e.toString()); + } + + if (parent != null) + { + parent.removePort (port.getPortNumber(), true); + parent = null; + } + } + + public void onSend (byte[] msg, int offset, int count, long timestamp) + { + if (count > 0) + handleReceive (juceHost, msg, offset, count, timestamp); + } + + @Override + public MidiPortID getPortId() + { + return new MidiPortID (port.getPortNumber(), true); + } + + @Override + public void sendMidi (byte[] msg, int offset, int count) + { + } + + private PhysicalMidiDevice parent = null; + private long juceHost = 0; + private MidiOutputPort port; + } + + public static class JuceMidiOutputPort implements JuceMidiPort + { + public JuceMidiOutputPort (PhysicalMidiDevice device, MidiInputPort midiPort) + { + parent = device; + port = midiPort; + } + + @Override + public boolean isInputPort() + { + return false; + } + + @Override + public void start() + { + } + + @Override + public void stop() + { + } + + @Override + public void sendMidi (byte[] msg, int offset, int count) + { + try + { + port.send(msg, offset, count); + } + catch (IOException e) + { + Log.d ("JUCE", "JuceMidiOutputPort::sendMidi: IOException = " + e.toString()); + } + } + + @Override + public void close() + { + try + { + port.close(); + } + catch (IOException e) + { + Log.d ("JUCE", "JuceMidiOutputPort::close: IOException = " + e.toString()); + } + + if (parent != null) + { + parent.removePort (port.getPortNumber(), false); + parent = null; + } + } + + + @Override + public MidiPortID getPortId() + { + return new MidiPortID (port.getPortNumber(), false); + } + + private PhysicalMidiDevice parent = null; + private MidiInputPort port; + } + + public static class PhysicalMidiDevice + { + private static class MidiDeviceThread extends Thread + { + public Handler handler = null; + public Object sync = null; + + public MidiDeviceThread (Object syncrhonization) + { + sync = syncrhonization; + } + + public void run() + { + Looper.prepare(); + + synchronized (sync) + { + handler = new Handler(); + sync.notifyAll(); + } + + Looper.loop(); + } + } + + private static class MidiDeviceOpenCallback implements MidiManager.OnDeviceOpenedListener + { + public Object sync = null; + public boolean isWaiting = true; + public android.media.midi.MidiDevice theDevice = null; + + public MidiDeviceOpenCallback (Object waiter) + { + sync = waiter; + } + + public void onDeviceOpened (MidiDevice device) + { + synchronized (sync) + { + theDevice = device; + isWaiting = false; + sync.notifyAll(); + } + } + } + + public static PhysicalMidiDevice fromBluetoothLeDevice (BluetoothDevice bluetoothDevice, MidiManager mm) + { + Object waitForCreation = new Object(); + MidiDeviceThread thread = new MidiDeviceThread (waitForCreation); + thread.start(); + + synchronized (waitForCreation) + { + while (thread.handler == null) + { + try + { + waitForCreation.wait(); + } + catch (InterruptedException e) + { + Log.d ("JUCE", "Wait was interrupted but we don't care"); + } + } + } + + Object waitForDevice = new Object(); + + MidiDeviceOpenCallback openCallback = new MidiDeviceOpenCallback (waitForDevice); + + synchronized (waitForDevice) + { + mm.openBluetoothDevice (bluetoothDevice, openCallback, thread.handler); + + while (openCallback.isWaiting) + { + try + { + waitForDevice.wait(); + } + catch (InterruptedException e) + { + Log.d ("JUCE", "Wait was interrupted but we don't care"); + } + } + } + + if (openCallback.theDevice == null) + { + Log.d ("JUCE", "openBluetoothDevice failed"); + return null; + } + + PhysicalMidiDevice device = new PhysicalMidiDevice(); + + device.handle = openCallback.theDevice; + device.info = device.handle.getInfo(); + device.bluetoothAddress = bluetoothDevice.getAddress(); + device.midiManager = mm; + + return device; + } + + public void unpair() + { + if (! bluetoothAddress.equals ("") && handle != null) + { + JuceMidiPort ports[] = new JuceMidiPort[0]; + ports = juceOpenedPorts.values().toArray(ports); + + for (int i = 0; i < ports.length; ++i) + ports[i].close(); + + juceOpenedPorts.clear(); + + try + { + handle.close(); + } + catch (IOException e) + { + Log.d ("JUCE", "handle.close(): IOException = " + e.toString()); + } + + handle = null; + } + } + + public static PhysicalMidiDevice fromMidiDeviceInfo (MidiDeviceInfo info, MidiManager mm) + { + PhysicalMidiDevice device = new PhysicalMidiDevice(); + device.info = info; + device.midiManager = mm; + return device; + } + + public PhysicalMidiDevice() + { + bluetoothAddress = ""; + juceOpenedPorts = new Hashtable(); + handle = null; + } + + public MidiDeviceInfo.PortInfo[] getPorts() + { + return info.getPorts(); + } + + public String getHumanReadableNameForPort (MidiDeviceInfo.PortInfo port, int portIndexToUseInName) + { + String portName = port.getName(); + + if (portName.equals ("")) + portName = ((port.getType() == MidiDeviceInfo.PortInfo.TYPE_OUTPUT) ? "Out " : "In ") + + Integer.toString (portIndexToUseInName); + + return getHumanReadableDeviceName() + " " + portName; + } + + public String getHumanReadableNameForPort (int portType, int androidPortID, int portIndexToUseInName) + { + MidiDeviceInfo.PortInfo[] ports = info.getPorts(); + + for (MidiDeviceInfo.PortInfo port : ports) + { + if (port.getType() == portType) + { + if (port.getPortNumber() == androidPortID) + return getHumanReadableNameForPort (port, portIndexToUseInName); + } + } + + return "Unknown"; + } + + public String getHumanReadableDeviceName() + { + Bundle bundle = info.getProperties(); + return bundle.getString (MidiDeviceInfo.PROPERTY_NAME , "Unknown device"); + } + + public void checkIfDeviceCanBeClosed() + { + if (juceOpenedPorts.size() == 0) + { + // never close bluetooth LE devices, otherwise they unpair and we have + // no idea how many ports they have. + // Only remove bluetooth devices when we specifically unpair + if (bluetoothAddress.equals ("")) + { + try + { + handle.close(); + handle = null; + } + catch (IOException e) + { + Log.d ("JUCE", "PhysicalMidiDevice::checkIfDeviceCanBeClosed: IOException = " + e.toString()); + } + } + } + } + + public void removePort (int portIdx, boolean isInput) + { + MidiPortID portID = new MidiPortID (portIdx, isInput); + JuceMidiPort port = juceOpenedPorts.get (portID); + + if (port != null) + { + juceOpenedPorts.remove (portID); + checkIfDeviceCanBeClosed(); + return; + } + + // tried to remove a port that was never added + assert false; + } + + public JuceMidiPort openPort (int portIdx, boolean isInput, long host) + { + open(); + + if (handle == null) + { + Log.d ("JUCE", "PhysicalMidiDevice::openPort: handle = null, device not open"); + return null; + } + + // make sure that the port is not already open + if (findPortForIdx (portIdx, isInput) != null) + { + Log.d ("JUCE", "PhysicalMidiDevice::openInputPort: port already open, not opening again!"); + return null; + } + + JuceMidiPort retval = null; + + if (isInput) + { + MidiOutputPort androidPort = handle.openOutputPort (portIdx); + + if (androidPort == null) + { + Log.d ("JUCE", "PhysicalMidiDevice::openPort: MidiDevice::openOutputPort (portIdx = " + + Integer.toString (portIdx) + ") failed!"); + return null; + } + + retval = new JuceMidiInputPort (this, host, androidPort); + } + else + { + MidiInputPort androidPort = handle.openInputPort (portIdx); + + if (androidPort == null) + { + Log.d ("JUCE", "PhysicalMidiDevice::openPort: MidiDevice::openInputPort (portIdx = " + + Integer.toString (portIdx) + ") failed!"); + return null; + } + + retval = new JuceMidiOutputPort (this, androidPort); + } + + juceOpenedPorts.put (new MidiPortID (portIdx, isInput), retval); + return retval; + } + + private JuceMidiPort findPortForIdx (int idx, boolean isInput) + { + return juceOpenedPorts.get (new MidiPortID (idx, isInput)); + } + + // opens the device + private synchronized void open() + { + if (handle != null) + return; + + Object waitForCreation = new Object(); + MidiDeviceThread thread = new MidiDeviceThread (waitForCreation); + thread.start(); + + synchronized(waitForCreation) + { + while (thread.handler == null) + { + try + { + waitForCreation.wait(); + } + catch (InterruptedException e) + { + Log.d ("JUCE", "wait was interrupted but we don't care"); + } + } + } + + Object waitForDevice = new Object(); + + MidiDeviceOpenCallback openCallback = new MidiDeviceOpenCallback (waitForDevice); + + synchronized (waitForDevice) + { + midiManager.openDevice (info, openCallback, thread.handler); + + while (openCallback.isWaiting) + { + try + { + waitForDevice.wait(); + } + catch (InterruptedException e) + { + Log.d ("JUCE", "wait was interrupted but we don't care"); + } + } + } + + handle = openCallback.theDevice; } + + private MidiDeviceInfo info; + private Hashtable juceOpenedPorts; + public MidiDevice handle; + public String bluetoothAddress; + private MidiManager midiManager; } //============================================================================== - public class MidiDeviceManager + public class MidiDeviceManager extends MidiManager.DeviceCallback { + public class MidiPortPath + { + public PhysicalMidiDevice midiDevice; + public int androidMidiPortID; + public int portIndexToUseInName; + } + + public class JuceDeviceList + { + public ArrayList inPorts = new ArrayList(); + public ArrayList outPorts = new ArrayList(); + } + + // We need to keep a thread local copy of the devices + // which we returned the last time + // getJuceAndroidMidiIn/OutputDevices() was called + private final ThreadLocal lastDevicesReturned = + new ThreadLocal() + { + @Override protected JuceDeviceList initialValue() + { + return new JuceDeviceList(); + } + }; + public MidiDeviceManager() { + physicalMidiDevices = new ArrayList(); + manager = (MidiManager) getSystemService (MIDI_SERVICE); + + if (manager == null) + { + Log.d ("JUCE", "MidiDeviceManager error: could not get MidiManager system service"); + return; + } + + manager.registerDeviceCallback (this, null); + + MidiDeviceInfo[] foundDevices = manager.getDevices(); + + for (MidiDeviceInfo info : foundDevices) + physicalMidiDevices.add (PhysicalMidiDevice.fromMidiDeviceInfo (info, manager)); + } + + // specifically add a device to the list + public void addDeviceToList (PhysicalMidiDevice device) + { + physicalMidiDevices.add (device); + } + + public void unpairBluetoothDevice (String address) + { + for (int i = 0; i < physicalMidiDevices.size(); ++i) + { + PhysicalMidiDevice device = physicalMidiDevices.get(i); + + if (device.bluetoothAddress.equals (address)) + { + physicalMidiDevices.remove (i); + device.unpair(); + return; + } + } + } + + public boolean isBluetoothDevicePaired (String address) + { + for (int i = 0; i < physicalMidiDevices.size(); ++i) + { + PhysicalMidiDevice device = physicalMidiDevices.get(i); + + if (device.bluetoothAddress.equals (address)) + return true; + } + + return false; } public String[] getJuceAndroidMidiInputDevices() { - return new String[0]; + return getJuceAndroidMidiDevices (MidiDeviceInfo.PortInfo.TYPE_INPUT); } public String[] getJuceAndroidMidiOutputDevices() { - return new String[0]; + return getJuceAndroidMidiDevices (MidiDeviceInfo.PortInfo.TYPE_OUTPUT); + } + + private String[] getJuceAndroidMidiDevices (int portType) + { + ArrayList listOfReturnedDevices = new ArrayList(); + List deviceNames = new ArrayList(); + + for (PhysicalMidiDevice physicalMidiDevice : physicalMidiDevices) + { + int portIdx = 0; + MidiDeviceInfo.PortInfo[] ports = physicalMidiDevice.getPorts(); + + for (MidiDeviceInfo.PortInfo port : ports) + { + if (port.getType() == portType) + { + MidiPortPath path = new MidiPortPath(); + path.midiDevice = physicalMidiDevice; + path.androidMidiPortID = port.getPortNumber(); + path.portIndexToUseInName = ++portIdx; + listOfReturnedDevices.add (path); + + deviceNames.add (physicalMidiDevice.getHumanReadableNameForPort (port, + path.portIndexToUseInName)); + } + } + } + + String[] deviceNamesArray = new String[deviceNames.size()]; + + if (portType == MidiDeviceInfo.PortInfo.TYPE_INPUT) + { + lastDevicesReturned.get().inPorts.clear(); + lastDevicesReturned.get().inPorts.addAll (listOfReturnedDevices); + } + else + { + lastDevicesReturned.get().outPorts.clear(); + lastDevicesReturned.get().outPorts.addAll (listOfReturnedDevices); + } + + return deviceNames.toArray(deviceNamesArray); } public JuceMidiPort openMidiInputPortWithJuceIndex (int index, long host) { - return null; + ArrayList lastDevices = lastDevicesReturned.get().inPorts; + + if (index >= lastDevices.size() || index < 0) + return null; + + MidiPortPath path = lastDevices.get (index); + return path.midiDevice.openPort (path.androidMidiPortID, true, host); } public JuceMidiPort openMidiOutputPortWithJuceIndex (int index) { - return null; + ArrayList lastDevices = lastDevicesReturned.get().outPorts; + + if (index >= lastDevices.size() || index < 0) + return null; + + MidiPortPath path = lastDevices.get (index); + return path.midiDevice.openPort (path.androidMidiPortID, false, 0); } public String getInputPortNameForJuceIndex (int index) { - return ""; + ArrayList lastDevices = lastDevicesReturned.get().inPorts; + + if (index >= lastDevices.size() || index < 0) + return ""; + + MidiPortPath path = lastDevices.get (index); + + return path.midiDevice.getHumanReadableNameForPort (MidiDeviceInfo.PortInfo.TYPE_INPUT, + path.androidMidiPortID, + path.portIndexToUseInName); } public String getOutputPortNameForJuceIndex (int index) { - return ""; + ArrayList lastDevices = lastDevicesReturned.get().outPorts; + + if (index >= lastDevices.size() || index < 0) + return ""; + + MidiPortPath path = lastDevices.get (index); + + return path.midiDevice.getHumanReadableNameForPort (MidiDeviceInfo.PortInfo.TYPE_OUTPUT, + path.androidMidiPortID, + path.portIndexToUseInName); } - } + public void onDeviceAdded (MidiDeviceInfo info) + { + PhysicalMidiDevice device = PhysicalMidiDevice.fromMidiDeviceInfo (info, manager); + + // Do not add bluetooth devices as they are already added by the native bluetooth dialog + if (info.getType() != MidiDeviceInfo.TYPE_BLUETOOTH) + physicalMidiDevices.add (device); + } + + public void onDeviceRemoved (MidiDeviceInfo info) + { + for (int i = 0; i < physicalMidiDevices.size(); ++i) + { + if (physicalMidiDevices.get(i).info.getId() == info.getId()) + { + physicalMidiDevices.remove (i); + return; + } + } + // Don't assert here as this may be called again after a bluetooth device is unpaired + } + + public void onDeviceStatusChanged (MidiDeviceStatus status) + { + } + + private ArrayList physicalMidiDevices; + private MidiManager manager; + } public MidiDeviceManager getAndroidMidiDeviceManager() { - return null; + if (getSystemService (MIDI_SERVICE) == null) + return null; + + synchronized (JuceDemo.class) + { + if (midiDeviceManager == null) + midiDeviceManager = new MidiDeviceManager(); + } + + return midiDeviceManager; } public BluetoothManager getAndroidBluetoothManager() { - return null; + BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); + + if (adapter == null) + return null; + + if (adapter.getBluetoothLeScanner() == null) + return null; + + synchronized (JuceDemo.class) + { + if (bluetoothManager == null) + bluetoothManager = new BluetoothManager(); + } + + return bluetoothManager; } //============================================================================== @@ -212,10 +1046,13 @@ public class JuceDemo extends Activity super.onCreate (savedInstanceState); isScreenSaverEnabled = true; + hideActionBar(); viewHolder = new ViewHolder (this); setContentView (viewHolder); setVolumeControlStream (AudioManager.STREAM_MUSIC); + + permissionCallbackPtrMap = new HashMap(); } @Override @@ -254,6 +1091,49 @@ public class JuceDemo extends Activity getApplicationInfo().dataDir); } + private void hideActionBar() + { + // get "getActionBar" method + java.lang.reflect.Method getActionBarMethod = null; + try + { + getActionBarMethod = this.getClass().getMethod ("getActionBar"); + } + catch (SecurityException e) { return; } + catch (NoSuchMethodException e) { return; } + if (getActionBarMethod == null) return; + + // invoke "getActionBar" method + Object actionBar = null; + try + { + actionBar = getActionBarMethod.invoke (this); + } + catch (java.lang.IllegalArgumentException e) { return; } + catch (java.lang.IllegalAccessException e) { return; } + catch (java.lang.reflect.InvocationTargetException e) { return; } + if (actionBar == null) return; + + // get "hide" method + java.lang.reflect.Method actionBarHideMethod = null; + try + { + actionBarHideMethod = actionBar.getClass().getMethod ("hide"); + } + catch (SecurityException e) { return; } + catch (NoSuchMethodException e) { return; } + if (actionBarHideMethod == null) return; + + // invoke "hide" method + try + { + actionBarHideMethod.invoke (actionBar); + } + catch (java.lang.IllegalArgumentException e) {} + catch (java.lang.IllegalAccessException e) {} + catch (java.lang.reflect.InvocationTargetException e) {} + } + //============================================================================== private native void launchApp (String appFile, String appDataDir); private native void quitApp(); @@ -771,7 +1651,7 @@ public class JuceDemo extends Activity int format, int width, int height); } - public NativeSurfaceView createNativeSurfaceView(long nativeSurfacePtr) + public NativeSurfaceView createNativeSurfaceView (long nativeSurfacePtr) { return new NativeSurfaceView (this, nativeSurfacePtr); } @@ -997,6 +1877,17 @@ public class JuceDemo extends Activity : locale.getDisplayLanguage (java.util.Locale.US); } + private static final String getFileLocation (String type) + { + return Environment.getExternalStoragePublicDirectory (type).getAbsolutePath(); + } + + public static final String getDocumentsFolder() { return Environment.getDataDirectory().getAbsolutePath(); } + public static final String getPicturesFolder() { return getFileLocation (Environment.DIRECTORY_PICTURES); } + public static final String getMusicFolder() { return getFileLocation (Environment.DIRECTORY_MUSIC); } + public static final String getMoviesFolder() { return getFileLocation (Environment.DIRECTORY_MOVIES); } + public static final String getDownloadsFolder() { return getFileLocation (Environment.DIRECTORY_DOWNLOADS); } + //============================================================================== private final class SingleMediaScanner implements MediaScannerConnectionClient { @@ -1121,23 +2012,24 @@ public class JuceDemo extends Activity return null; java.lang.reflect.Method method; - try { + + try + { method = obj.getClass().getMethod ("getProperty", String.class); - } catch (SecurityException e) { - return null; - } catch (NoSuchMethodException e) { - return null; } + catch (SecurityException e) { return null; } + catch (NoSuchMethodException e) { return null; } if (method == null) return null; - try { + try + { return (String) method.invoke (obj, property); - } catch (java.lang.IllegalArgumentException e) { - } catch (java.lang.IllegalAccessException e) { - } catch (java.lang.reflect.InvocationTargetException e) { } + catch (java.lang.IllegalArgumentException e) {} + catch (java.lang.IllegalAccessException e) {} + catch (java.lang.reflect.InvocationTargetException e) {} return null; } @@ -1155,8 +2047,9 @@ public class JuceDemo extends Activity private static class JuceThread extends Thread { - public JuceThread (long host) + public JuceThread (long host, String threadName, long threadStackSize) { + super (null, null, threadName, threadStackSize); _this = host; } @@ -1169,9 +2062,8 @@ public class JuceDemo extends Activity private long _this; } - public final Thread createNewThread(long host) + public final Thread createNewThread(long host, String threadName, long threadStackSize) { - return new JuceThread(host); + return new JuceThread(host, threadName, threadStackSize); } - } diff --git a/examples/Demo/Builds/Linux/Makefile b/examples/Demo/Builds/Linux/Makefile index 7e8a9735..26d57411 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 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 literal 44836 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 z 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 diff --git a/examples/Demo/Builds/MacOSX/Info-App.plist b/examples/Demo/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..71c5339c --- /dev/null +++ b/examples/Demo/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + Icon.icns + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + JuceDemo + CFBundleDisplayName + JuceDemo + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 3.0.0 + CFBundleVersion + 3.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/Demo/Builds/MacOSX/Info.plist b/examples/Demo/Builds/MacOSX/Info.plist deleted file mode 100644 index 3d311e8a..00000000 --- a/examples/Demo/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - Icon.icns - CFBundleIdentifier - com.yourcompany.JuceDemo - CFBundleName - JuceDemo - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 3.0.0 - CFBundleVersion - 3.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - - diff --git a/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj b/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj index d6d6e9ec..ba9e0482 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,23 +63,24 @@ 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"; }; + 009E483D2993902748AEEFE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; 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"; }; 00DE0C93FE719DC72E20A63B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 014BF4937EAC7618FB1BCC69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CameraDemo.cpp; path = ../../Source/Demos/CameraDemo.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -91,6 +93,7 @@ 02659911BD886D2E8431B912 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 030B047C95BEA80469F28E35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2EdgeAndCircleContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndCircleContact.h"; 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"; }; @@ -102,9 +105,12 @@ 0443FA799896F7D084DED278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WavefrontObjParser.h; path = ../../Source/Demos/WavefrontObjParser.h; sourceTree = "SOURCE_ROOT"; }; 0453D6FB24F82E92A6BEDA49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; 047E385F21CC5AD6238B120E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + 04ABAB5151BDC73BF265167F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; 04C5FED8AEA4109C4ED07111 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 057A64839BFE9AD0864752C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; 05AFEDB1F65A8C2C8E9620E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 05DCF1D105D327102D02ADD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + 0615C44ADB0F1EB55726FC33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2RopeJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RopeJoint.h"; sourceTree = "SOURCE_ROOT"; }; 063357A85BA244642BE1274A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; 0638493DAFCB6148E77159B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; 06496C804633EAB2003E5B19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -113,6 +119,8 @@ 06AE69217982DB82E0F47554 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; 06B6D19CE5691310DEF50DBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 06BD2631BF3C52F26B9981E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; + 06C06A48BB269847BA36AA3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2ContactSolver.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ContactSolver.h"; sourceTree = "SOURCE_ROOT"; }; + 06D514A7B2556A07D2398433 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 06DE336A39A9FEC47A8C2F06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; 06FACF171E0DE0AC6318AE4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; 0732CB9291291C9854197B28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Box2D.h; path = "../../../../modules/juce_box2d/box2d/Box2D.h"; sourceTree = "SOURCE_ROOT"; }; @@ -123,38 +131,50 @@ 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"; }; + 08F27F768CB242347E402318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.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"; }; + 0A189F6BF4FCE2D3FBF6FF4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; 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"; }; + 0A912DDCDF5336D520DF06F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; 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"; }; 0AF54289591CEBFBC19EDB40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WebBrowserDemo.cpp; path = ../../Source/Demos/WebBrowserDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 0B08631AE709ADF41AB3B780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; 0B3662D1FFE3102476FD60D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 0B53DC9C735B3B307C65836A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; + 0B543B1E23AC1D74483632D2 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; 0B54F1B0CB17ABD0C3E40658 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 0B5B86BA8E4C60B999A45034 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; 0B82DF796E577809EB03B874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B9867D5674933AF753A2CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 0BD502F6196E1FE7D9888A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 0C13B04875D9B8903BCE30B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.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"; }; + 0CF03118A8723AF780D2A170 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; 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"; }; + 0DD213E13669B821F91D3FAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; + 0DF176A2BC5C338AF984036D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2BroadPhase.h; path = "../../../../modules/juce_box2d/box2d/Collision/b2BroadPhase.h"; 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"; }; 0E1D85B025D93DAFA8404824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; 0E1F414FCC996E155B4DB5DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 0E26995340F6E559281691DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0E2F5CD3AB59E19A1ADFF875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 0E39FF2E9AD2BDC94CC015E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E501BDAF7993A70A4300040 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; 0EA8F0AB668E3B77E8088139 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; 0EAB2E0BB8C3BE2725FA093A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; 0F0B65D33F71F27C1E366CF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0F28BC4F61D1898E4C68E8BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2CircleShape.h; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2CircleShape.h"; sourceTree = "SOURCE_ROOT"; }; 0F2AFC09338BE08479886B0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IntroScreen.cpp; path = ../../Source/IntroScreen.cpp; sourceTree = "SOURCE_ROOT"; }; 0F3360D13458198A3A88B1A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; 0F517EA07DBFE31E5C9367F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; 0F518E75055A9D954B52DAC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; 0F82F90D72AD536CC3DFE217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; 0F88F061C51BE43F53B27094 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FC37E13A65710E3B9750BA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; 0FF2403BC335E710BE391DEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 104B96755BED457D7CEA42EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 1065FE461C00EABD9485BB93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -163,61 +183,82 @@ 10B6D087BD60ECFE08F157AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; 10DF2A823B97BBC0BD840B9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 11005DEC79FC6A6057FCFA7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + 112164BE5067BB3274FDAED8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; + 119E106357BA987590551255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2PolygonContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonContact.cpp"; sourceTree = "SOURCE_ROOT"; }; 11A95002F7CE796B7C27EAA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 11CB66B1CBA64B205FDF2767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; 11F6937FC766E1E9568311C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; 1225AF360A43D61516016CF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; + 123D3579B74D9D5781B0BD1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2CircleContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.h"; sourceTree = "SOURCE_ROOT"; }; 12E4EED0370A1733C6629D86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 12FD27ECE82A3298E3A8675D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2ChainAndCircleContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndCircleContact.h"; sourceTree = "SOURCE_ROOT"; }; + 1334EA2BB30D70E30E929919 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 14594884413DA08D26106A81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; 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"; }; 14A37C392DF6CF1CDB64612D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; 14A6170C094E7786C521A4DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 14EAA74C473506EC4920A160 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DemoUtilities.h; path = ../../Source/DemoUtilities.h; sourceTree = "SOURCE_ROOT"; }; + 14EED3F7B3E7AD8A7041BF3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2MouseJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2MouseJoint.h"; sourceTree = "SOURCE_ROOT"; }; 151ADDBE74B99337BC2C2586 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; 15348CE8667592D8F3841601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; 155D25867B048DB7685E6F11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 155EF3FCA61BEF035E1D7C8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 15F205032C5F811EC319B6D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 1669962FEA6685A54CD44F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; 1676147A3FADD6D79FF42CDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + 168363BEFCBAD9F40E9636DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 17D0D2AD3243F65FADB94446 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; 17FDEA6209B7444B117E63C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 182223C68F452171BE479C01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1827E39781E7FCD3FFEA879F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; 184C5CCD9457D17375F9AE1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 1890C5F569F315E5F8EBB1F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1913719A1E4E1803CD54D11F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; 192EE3C990E80213984A44C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 193F42507FBE4E7A62D81E2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1945AFAFBEF562B3CE0B32B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; 1A1C23D2F16F880FCD3B565E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A379B56FED4D3EEF75539F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; 1A3DE76CA275CEE7DAD501A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; 1AD3E125B61DD653C03FAC05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_box2d.h"; path = "../../../../modules/juce_box2d/juce_box2d.h"; sourceTree = "SOURCE_ROOT"; }; + 1AE91BCC794B0ED9C7C0EF9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + 1B03ED2B0D5B73B876954081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Contact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2Contact.h"; sourceTree = "SOURCE_ROOT"; }; + 1B0F7F7A6B9627B92F989632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Settings.h; path = "../../../../modules/juce_box2d/box2d/Common/b2Settings.h"; sourceTree = "SOURCE_ROOT"; }; 1B9B4E12F53F8350757CD4D2 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = README.txt; path = "../../../../modules/juce_box2d/box2d/README.txt"; sourceTree = "SOURCE_ROOT"; }; 1BBECE3C619C157F072748D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; 1BE105DE7C738CCF8D6F2A54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 1BE21633CDF618F8D993F3BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 1C9321B265A6894A2E51CCD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 1CD8799B8784A91FC13E6641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + 1D43B002D877CDF3DA85E602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; 1D4E674C38566E14B4B73F49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; 1D62103CFAB9245F2CF523EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 1E74912578DEAF430E69D738 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; 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"; }; + 1FCFCE4595E8313E1773B00D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + 1FF4527EB0D8AC7B141CF989 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; 200A1B6B96E1089110CEAD48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; 201E7DB01624212F01B85F5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2060347D582A8E45F58AE1C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -228,12 +269,16 @@ 217D243937EB2507494A4D34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 218E36147FA4309F072C1949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; 21CE480826B56F0B5C8C4A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + 21D71A36ABFDADD9A882857B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; 220344E43675A2A7D64D3A44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; 2274B9A5BC921FE3B877D0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 22CF0BEE62FB551A68223B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 234392598E5388F29CFD6B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 236E11A53CE927AAA6681994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; 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"; }; + 23D96CC5CE35DC9458F64A77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.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"; }; @@ -247,8 +292,11 @@ 263BE0BDE184A7184A118B46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; 2699A70E9610104CB8D30EC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; 26A65E5DA320A85F90F1F58F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26ECEE2D25C933C4B8CF0B49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2TimeOfImpact.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2TimeOfImpact.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27436247FFB648C821348A91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; 277ADB563604EE1FB51FDAE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2781E458566701273B805E8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 279EE7599C1DAE9EF83A59F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; 2859FDF0CCD1ED788910E9D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 28A254DF535233A82D5D79BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; 28A7CFB0B6DF367A9830817C = {isa = PBXFileReference; lastKnownFileType = file.xml; name = treedemo.xml; path = ../../Resources/treedemo.xml; sourceTree = "SOURCE_ROOT"; }; @@ -261,16 +309,22 @@ 29C7AE377B006C00D4293C59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; 2A155BD926FEB91142E6A638 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; 2A1FF908BB6FEBAD912CDE8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + 2A42C9B40A6A73C0CBE727B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; 2A5FA90E69311FB8A18EC3B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A5FF3EB0E2C32BF08080C7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2BEE810D30D4C6FB88206B42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; 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"; }; 2C26D37BEDBDC3B1DF19388D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 2CC5542D7C142042D3A1D86B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 2CD4306102317989E6321924 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; 2D13D48857E2530BF41F70CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + 2D68B7EF20BC3D11B3028648 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; 2DA02BCCDBFD5BF2DA2D2FA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLDemo.cpp; path = ../../Source/Demos/OpenGLDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 2DAD09E643C29B6DE7F26EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 2DDE8684F3C5CB4A781D72A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; @@ -278,20 +332,26 @@ 2E093A5506319EC68DA184F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2E29C6A0CF15C32A35119DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 2E524CE76F1B735AE8072E03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 2E8E52B63BFBEF408E55B678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + 2EB0FBA99B4F54DC67C391B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; 2EB37CCC4FF8C40B015C0555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; 2EE8E77D21471265869C9B4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2EFA7470343EBFC6E338F7A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; 2F1324CBA29604BD3E2003B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 2F19C814598FC304CA841242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 2F66B42AF6C0B5ED381937C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; 2F7F13C84464F8409BBDBEB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 2F8041ECBF70D78604686D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; 2F8D57F15D63118E33CB0639 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FCF501B503F3915AB871C8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; 3008922C531303C24B8791AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 3009F5CB4D15119D2C680F98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 30212C3F1731BD8F19412A38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + 305ADD801E4BA9EFDBBCA4FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2PolygonShape.h; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2PolygonShape.h"; sourceTree = "SOURCE_ROOT"; }; 30CA850D191ECD5F1F7B6A70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 30D828B153772EC3FBADF543 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; 30DA52AA554A0249429AC3FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31A98E30E965B03150B381FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; 31D74E7CF149EF5B569417A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 3240A232A5C82A812A837A2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; 324452D7F5B5EA3B393FF4FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -305,12 +365,16 @@ 34176F324CF7EBCDE741B2DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; 346CEC10C4A7DF779A799311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; 3482A5FDDEE5E5D405047999 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WidgetsDemo.cpp; path = ../../Source/Demos/WidgetsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; + 3506BB2D001EAE3244ABE2AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + 3529CDDF14775FE48C57039E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; 355DBB46C4283779C367E97B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 358C6A8FDD14AF0BADFC200E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 359FD60323CE3BA7B25008DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 35E35B099E2A7906A7AA2EDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 35F5E95BA127E63BA136DACC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 360291D0346F776DDD3F43E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 360FC75BBB17079A50D83F82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; + 364888A8E80B59503995FE18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; 3649E7CD2BD6A37FCF7D72F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; 366C0E8D559D37FF92B64F47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; 36711C0D24EB22FABF8E7BCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; @@ -320,26 +384,38 @@ 37355CCC05D407D665AA6604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 3741E4C0CE5C7C0828D09BA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; 376F6150287E759E77B824BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 379876C6391E331282D9C4D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; + 37B638D91C9915F8A747998C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; 37C7B4ECD40F15EFB12D58AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; 37E835EA1318A5D504282D90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38271EF6B109065F290717DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2BroadPhase.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2BroadPhase.cpp"; sourceTree = "SOURCE_ROOT"; }; 384887ECD58A0B42E3669617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 3855013A39E97B76B46E055E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 38B737F6F0007F752EE380B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 38FB6ABB883ECAD52027CE19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 3924287A67ED97279455625B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 393A46D91FB481557E4DF792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3994BC23A01CD8FA2A634654 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2WheelJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.h"; sourceTree = "SOURCE_ROOT"; }; 39A06D3252DDA6F97FB09495 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLDemo2D.cpp; path = ../../Source/Demos/OpenGLDemo2D.cpp; sourceTree = "SOURCE_ROOT"; }; 39E23931E56560C294237428 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 39E4404D57A8B66DF520B66F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 3A2ABBB84632B201DC78CC65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; 3A42694A047942A44E8216F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3AB4D648738323B910F9857F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; 3AB9E51994CD35A10F87EFF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 3ADE61DBFBB6901CE2F1DB17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 3B4867D990EA8802B4A319AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2PolygonAndCircleContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonAndCircleContact.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 3BC7A4DF55FD436E8C4D190B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; 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"; }; + 3C169AF805125BDB30041647 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; 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"; }; + 3C37FCA5B754E496D13066B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Draw.h; path = "../../../../modules/juce_box2d/box2d/Common/b2Draw.h"; sourceTree = "SOURCE_ROOT"; }; + 3C48BCAFBB2B5332DB3FF7A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; 3C776A3FADACB361BD4B3D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 3CF67E6BCC6B52EFD6E6A458 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D0EA5C831C347728313FDFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -348,46 +424,64 @@ 3D2FFA1F349A15621962C064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D8A83C53BAF22EEEA014D90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DA95E7AE1D0DC64AF09EB66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3DC0549B351FDD471AC643AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; }; + 3DF9D537778948BCCFAA6F90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; + 3E265486EFE462E632F47FD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2EdgeShape.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E27B6E7641EFD605545DF18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3EB15B173754AE2C7B96AE5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2ChainAndPolygonContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.h"; sourceTree = "SOURCE_ROOT"; }; 3EC73BE7C098A631E5D5107D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 3ED5A2B64359FED05CF309C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; 3EF890CB40C6FFCAE055B7B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; 3F2BBE4509B19BFAC929D8DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + 3F4D37C15B02AA087A3A685F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 3F58D27B17343BF1030AF92A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; 3F8C313EC9C1E6E234108098 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 3FBF109F3AD6DE221EFB1BA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 409B6897E764E49BCB4A9277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.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"; }; + 4150459DAF5A300EE3646771 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; 4151602FFED0B1AE7B36CEF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 417FED446C0B953AB2DDB633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2ContactSolver.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ContactSolver.cpp"; sourceTree = "SOURCE_ROOT"; }; 4198EE3311A171C884A5FA9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 41F65957FAEED268DBFFE925 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; + 420516E3BCE114E11526E916 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; 4212EA9CE0B9AA4986108D9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; 42386AD366F1AD43B6B29364 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4253F39382D064BA90766895 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2CollidePolygon.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2CollidePolygon.cpp"; sourceTree = "SOURCE_ROOT"; }; 428FA66F7D6FB46A64B438E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; 4290825CEF87C19A113CA9F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 429974B1B4C361F218093A41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 42DC5D8CEC7445468A96C227 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; 436BAE91A167BB6107F261B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; 437B4DC39531BF8DE5A12E02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 437C63D80EDD563A91265CE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; 43B80E11AC5121A2F4B8DD78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 4407A352B303B27AA0B7D579 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 447B5BEAEF972DECD5F5A949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 44879946DE89AF141BE428B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 44BB5D71E35E65F5209292B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 44D1D1D5A6F855F920FD03A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2ChainAndCircleContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndCircleContact.cpp"; sourceTree = "SOURCE_ROOT"; }; 44F4A9351C2B03F98A0D23E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; 456837CE387595EFF549939B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + 45BEA8B0139968C92A30EF34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + 45F089CBDED5CC39009A2FAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 46118CBA9C3CD3B354D93B30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; 4621682C1A4E85A088F7CEE0 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; 462F10FC0057AA53CC71472E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46ACD125ABF2078BD7250307 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; 46C5401358EA7CF2D22FFC26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 47091E4F83A415C063855A74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; 475B1787F548E4FB11C63CD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 47817D36A37758981DEDCAAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + 47962D8ADD22B8DC0CC4FF58 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 4825D1B0C0AC0FD325F55C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; + 48879AF101C3CFF70E2A6D6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; 4895DA77962B46806EB0147F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; 48A0FC60EFF6334C161519FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 49412C044B88516D9AF59FDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CryptographyDemo.cpp; path = ../../Source/Demos/CryptographyDemo.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -399,11 +493,14 @@ 49FCD3BBF372EE7F6F143EA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A2C25FD55809F1489963FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A4D3CCCDD2C972CA6715014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + 4A73387280D58204ABCA6D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; 4ABF4B55F979F2A88EB1B331 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 4AEA921081036DD4C259B45F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; 4AF5BD29C935D0EB7CB0F6AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 4B310AA3DF4F6188B2E6FAF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 4B4A489613828AC28F25417C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; 4C13F19ECFF6CA7AB9C801AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 4C5649C5D9290FA9385B6CE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Rope.h; path = "../../../../modules/juce_box2d/box2d/Rope/b2Rope.h"; sourceTree = "SOURCE_ROOT"; }; 4C66D04A6A5FA514A10AA406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C9033415E05CD39408389AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D569839066D92C393F58EB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GraphicsDemo.cpp; path = ../../Source/Demos/GraphicsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -412,31 +509,43 @@ 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"; }; + 4ECEF417A3156D46464E6B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; + 4F2F2A6C3D3451EF896D71CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + 4F35D7B6179D00C91BB63AF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2WheelJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.cpp"; 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"; }; 5125E77EBA8500EAA778F51F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 512D5182047E0B46E971A13D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 5155F4A9D709CC0A8CC1A7F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 518DE93C8782835E470BC7F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; 519F11BE9C786A7F9B221BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; 51DD2ECC1AED271892E87814 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; + 51FD353EA1F98D94A6A14B48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; 5232B9F7E62CD5C41C3ABFED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 52455CCE9E92ED0C59F41734 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; + 52A8B69825B08106E9175D2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; 52A95B5754438C999343869A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 52D7400A47B19848EFCB5B51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; 52E4BE1BCD56D3676C84BEB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MDIDemo.cpp; path = ../../Source/Demos/MDIDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 531D198DE52845A4B641B6B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; 533B6E74A9F84B4D319E2F16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; 534098C590927D6768E57ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 538250B9DBD536733027C345 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; + 5398AD39345A757DAAFC7F97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2PrismaticJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PrismaticJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 53AA2F507FD9DE263E43B277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53F2E8E42E27BCFA8130465A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; 541E0CB92DCF5EDA093EDC7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 541E4974C73E294DBA415BA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; 5434953F55BD35F74D59D980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5459E2489D23B5764B4C919B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; 5496F73539DA26FD9C899223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5509449631045CDCA7654270 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; 55273A59F96B3C775EB71FAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 554678AFD58E3E3A2B0BE43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; 556EFB307E14C15D5EA0242D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainWindow.cpp; path = ../../Source/MainWindow.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -450,25 +559,37 @@ 569187442B514D114A483D29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; 56BCAE594E40E21699F9337E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 56C55F22CADABBA171D41BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; + 56E74B5D9FEE2F25B15B50EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; + 575D4B7FECA71BBCB194C30B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; }; 577378064273DA54B9BED3F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 5784E19E01D5B23BDDFFA5AE = {isa = PBXFileReference; lastKnownFileType = file.obj; name = teapot.obj; path = ../../Resources/teapot.obj; sourceTree = "SOURCE_ROOT"; }; 57B7A9C37305D4D7F876344C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; 57D6E8A8E8D871EB1DEF6A5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 57F10A97F9AA52EF7B344208 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2ChainShape.h; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2ChainShape.h"; sourceTree = "SOURCE_ROOT"; }; + 57F36E18E098F0CADDA05309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; 581E68F4E33DBA5837FB7F9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 58201275FBC0DEF77D010733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; 586A4398FE1B9F7D6104BB70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 5897A924018C9D26438796A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + 589812C6DA03A2299270F7D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2CircleShape.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2CircleShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 58E53BE69281E3105C66FF07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; 58EE7977BC7FBB3523A910D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; 58F81EC0B3505F092DEBAA30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 58FB0C4FE674CC5BB7B1DCA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + 592EFD580F6FC53E161A66EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; + 59305C17D5656ADD56682C87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; 59810BDD671438F997D32061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 599036DC07DB54E446ECA054 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 59A4EE8F8C7CAC439DF95A91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; + 59C6CE0327D10524BC789A72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2CollideCircle.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2CollideCircle.cpp"; sourceTree = "SOURCE_ROOT"; }; 59E2B82491E344257F84FC40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + 5A2481A419E5A9D88B640A7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; 5A3C2298934C0F77CC60D336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A73A448137344953ED2BD32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5B20570CB36A5765EE06DB95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; 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"; }; @@ -480,19 +601,24 @@ 5DA9EA3E74C2AB870EC9CACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5EF33D6281C6FCD1040FDC9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; 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"; }; + 5F4304885211C2F40AC66E25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2World.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2World.h"; 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"; }; + 603014A5B777586F4F1C98D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 607FA0800596585429F6C22B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; 60849B046145D3BACDFA6A84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 608B8EFDDEBB7573425846B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 60B755F5684959E78C556810 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; 60BCBC74A3C12630E82631DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60EEA1369C0AD22C3EA05B69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2CircleContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.cpp"; sourceTree = "SOURCE_ROOT"; }; 6141692AC9282411091C8157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 6163B3DFD893F55523113A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; 61F28F9E82D39EFF702793D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; 6209255CD43AA4EDC1C955DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + 6218A4FF5FB036AA0B7B77A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; 6257CEA3C6EADCB94E25010F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 62D20AFF94117B99556BF56C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 62F9B202D524E33A2843ED84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -501,31 +627,44 @@ 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"; }; + 6438540B318F456A76A57197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; 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"; }; + 653C6D41CCDB5D556F00D17B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; + 653E2E92DFD20A216DC5E698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; 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"; }; + 66C35D440440937001697D0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; 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"; }; 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"; }; 6808473BBCC2E4D8E2CA0E71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6813D2FE050F9518A7BF3728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2EdgeShape.h; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.h"; sourceTree = "SOURCE_ROOT"; }; + 68944F99BABCA83A0440CDB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; 68AD6A94C88A46A483B823E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 68D5182872CF48CC8A07EF88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2BlockAllocator.cpp; path = "../../../../modules/juce_box2d/box2d/Common/b2BlockAllocator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 69048AB4DDE300C5326BF2AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + 690DC0717A03CB51D3C34382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; 69249A7E30512BBF13CB8A09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; 6940E5FE7BC1ED1BB2258886 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 6976B92D19F4FA1BA89A8922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; 69CC80F5871F1AA06689E3BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + 69DA0CE5CD8627CA01BA0781 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; 6A299D9BED7D078CB2F1C007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; 6A3315B465362CD3AF66D306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; 6A4AE0C59C1210D28A8C8AF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 6A643B44198DCE6FFE057E9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; 6A6A22EF81805BE907DB5DA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6A766394ABB39B5A0E3EF182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; 6ACBD7C68EE20A8E8C5CC1AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; 6B1FEA349A6C8F51AB27E23C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; 6B3772278F9398D0AC7CE250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B4AF4E4BE36B99E00BFE839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B67DE0FF4487B060DCF31E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + 6B78EA517CE2D6A7C7B42C21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; 6B83E4AE241F0EAC9574923D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; 6BA2D0C9FB49A5C3E0554000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; 6BD1D463E40A463C69C065C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; @@ -534,6 +673,10 @@ 6C52D68EDEA2D7ECA4CCC2BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6C57333FC4ACEBC7C451A414 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 6CF95925EA874CFABAF7C284 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D095BAE8ECFCA14A483B980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; + 6D680FDE137012CFCDEEA7FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Rope.cpp; path = "../../../../modules/juce_box2d/box2d/Rope/b2Rope.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D6A08D5532A95D22E74371D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2PolygonContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonContact.h"; sourceTree = "SOURCE_ROOT"; }; + 6DDAF504B8C1BFDBF9F0DBB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; 6DDDB822BBF3D557CA7AB427 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; 6E125672C42D84CCD54F9B0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; 6E176584A871F8C956918182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -543,16 +686,26 @@ 6E9BFA2B6260E09B2B3948E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; 6EA8B0940C4486B9F03BA19C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 6EBA81213324106593EF5DF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + 6F21AA1FF466F570DD76E329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; 6F2A90834846C810CCD39DF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; 6F5B9777B802707C4A747E46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F6C75B9F875DFACEF086245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Timer.h; path = "../../../../modules/juce_box2d/box2d/Common/b2Timer.h"; sourceTree = "SOURCE_ROOT"; }; + 6F8FAEA15628DF26DAFF73A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2GearJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2GearJoint.h"; sourceTree = "SOURCE_ROOT"; }; 70276A64A50E5B56492853DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; 703C1FBF6632A8078BBE05AC = {isa = PBXFileReference; lastKnownFileType = file.wav; name = cello.wav; path = ../../Resources/cello.wav; sourceTree = "SOURCE_ROOT"; }; + 706E3A30C486843B267D27C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; 70A5CABA464ECFC6A8449A87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; 70F33D8D2F48D64188861C6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 70F3590A122BFEBB8CF6049D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; + 71B244396C01790820BDB08E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; + 71B9B558197CF23EC530D57F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2DistanceJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.h"; sourceTree = "SOURCE_ROOT"; }; 71E5E55D76D83B711B6263C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 720C3CA9E28181C76434D465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + 72370D6EFB4C549A2745C2B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Joint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.h"; sourceTree = "SOURCE_ROOT"; }; + 728155B591553FEF209516CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 7286D6380C74734603D098EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 728E67FDBD3660742A33C7B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 72A21240D2F87F857F10D246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; 7319ADBC735F957219774263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; 73267FE8DDE50FD1E6E31ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 7338D006521EDC5C10EEF974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -566,30 +719,43 @@ 74BE52ADFCAEFACF704E1269 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 74CEBA45E0A8ECA5CFA9BEF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; 74D283E02B3A2A293678FF9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74D9D04AA36E9167899526F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; 753D9A91CFBFAA027F828C02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 754710498EE8C41F085A2B11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 75944B175ADD077F59AADFCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; 75B60B919D8CB88C6E0E0566 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + 75DCF8CC61D7B790251356A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 764F36E2597540348F960404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + 767818AB549833C6A3695680 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; 76B8E770835968F565292D1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 77179735C0CB2D89D9C61466 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../Resources/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 771D8CDD1499DEDAC2E38D25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 7761FFBFAC88B7157D65EE1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 78677F16A1356879D6F99EA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; 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"; }; + 78D08E88D61781FC020AFE3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 78DAC3299488E0CC70EDB206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 791B204F13E056DA2644175D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + 797A5C7982E0CD14F93B3C54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; 79C8D0C6D1444EAB781C46F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 79EB99F04FC9B1ADB0810935 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; + 7A2009F14F7AFEEF7F233EBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; 7AD412430D3AEB0468089AF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + 7AE34C0CF7EABE461F4FE5FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Body.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2Body.h"; sourceTree = "SOURCE_ROOT"; }; 7AF9EF500482C84F02849647 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; 7B5560AEA0CB3E507C16140C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7B81083FC4CCD2D096D93162 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; 7B83011366B95CC61212E5D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7B8FADFD12EC0B9EC8A4ED09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BBD4B2D9A9EF13CE4357979 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BD4AC17C70E6771254B962A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7BE5C4D52D35AEC60DEC2F0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2MouseJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2MouseJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BE8C42578F5E2E59D63F615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 7C70EC5AB0A3B9B14C0C0F05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; 7C7FF651870B180BABD63D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -601,28 +767,37 @@ 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"; }; + 7DE7EDED3797A71816EA7F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2EdgeAndCircleContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndCircleContact.cpp"; 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; }; 7F2A233FFE5CDB2681F0DC28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F539606D07BB39F04614D94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; + 7F53A16CB1E2055C27A1AD8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; + 7F5DD7707E3EAC2A12F83072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 7F7EAF366320BA71741B68C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 7FC3D3D142D1B4398D07FFC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 80202384D81020DAE2072A1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; 806A7A3BFC684B4D9E25ABDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 807F5EE489018BC1956AAD5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; 80A57920E6EA9C2E881BC3E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 80E4E835F2D35DA1E67B19E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; 80E5245755DC2ECC4C6BABD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; 810292CC81EC98F57F64D79B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 8139DFF71A397BB4FC1C4413 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; 81516145E8F737D290135758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; 818729A3311F3A7B8DB03764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + 81B55F41498F2C7AEF8EF849 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2RevoluteJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RevoluteJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 81D03597CE85238988E0F45D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 81DA6F8C2D59F6DBBB96F9E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2StackAllocator.cpp; path = "../../../../modules/juce_box2d/box2d/Common/b2StackAllocator.cpp"; sourceTree = "SOURCE_ROOT"; }; 824822F2A6A539B2D797DE23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; 825690E8512078D4F8595CCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 827374BD9EE76A6B90DE88A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; 82AABF91CB005E5463F1D522 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 82CDD7D8E38202F102788090 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 82DF136532B2A68A19CBD0C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2ChainShape.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2ChainShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 830A4891F6838B2A60C54C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 831F5A6F03F8ECD18E2427D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; 8329E2A86DF3E781B790F128 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; 8366D5DB3CBA57E06C1D896C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 8396EA11DD261260F1A96DF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -631,76 +806,112 @@ 8430FB57248237DDAD4CE4AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8452076B5EAE822DD445458F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 84BAF97675BE522B63DC9A4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SystemInfoDemo.cpp; path = ../../Source/Demos/SystemInfoDemo.cpp; sourceTree = "SOURCE_ROOT"; }; + 84FCF3E5B30EB7CF5EEFB983 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 851BE5F4B476FCC76DF56FEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8554F3107BAF434F9AFE3875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; + 85677259EC513883D8D2076E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2WorldCallbacks.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2WorldCallbacks.h"; sourceTree = "SOURCE_ROOT"; }; 857CE7D1DC614FCDD19F617D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 85D328C928A4CD6A1AEAB644 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 869FEB02E31658BD16664F1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; + 86B1E971DDB1413BF596B130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2TimeStep.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2TimeStep.h"; sourceTree = "SOURCE_ROOT"; }; 86BFE5D66623DB207CEA3F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 8717F2B47F51F0473C041760 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; 872C4AF5B81B1664032594A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; 877B42968286AAD56527516A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 87B4302733FC6319FC9B1CB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; + 87C10F97FD75475F541A2236 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2DynamicTree.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87F30C283F01D6DE78677AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; 8838FC2F76E6D775B2E75F23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 885A0F1B41FFAF32ADC70925 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; 88A8F1D957ED293712DE0E23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; 88D689399C7F69D687208673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; 88E9F6A65110F4753E115FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; 891BBF2E19D80372FA886E62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + 898999A1030D94C6808D5148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; + 8994E8A4FE0432DB2C9F5C32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; 89C47678AF8B46702EC0EE66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; 89F0B6B952BC68FD271A652E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; 89FD2460344D6B0FF04F70D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + 8A0109D195A8A98F3D316671 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; + 8A81C6BE773B2895357F469C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 8A89A7C0DEC85C7773251B15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A8CA6C781EFD5F0997E7507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; 8AE56D2F4E33B015C3D73EB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; 8AF04828A59F79DF2FD31E9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + 8AF24276EFD548D2DE81B6E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; + 8B24B1B5F68C57B014D709EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2DistanceJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8B65B18F6411C38CE37289AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2FrictionJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2FrictionJoint.h"; sourceTree = "SOURCE_ROOT"; }; 8BB3867A9236FF57B46581A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BBC5E2D4753E8DB74E7BF8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; 8BDC3161654344162ECDCB32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BFDB525631BDAD3A71CB307 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; 8C4D0CE8E6E62BDD83F4432E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 8D121C4BCB6A36684EC59FB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; 8D3B18C8A23499AB88F6B700 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8D437AEAA6F7E3F0DCA43E8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D67ED9898F9BE8652B8EE2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Math.h; path = "../../../../modules/juce_box2d/box2d/Common/b2Math.h"; sourceTree = "SOURCE_ROOT"; }; 8D70A7277DDD7B7974E9F178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; 8D7BDA5CDDCCD2F7BE67037A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; 8DA438AAAFBC64C11DE329B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8DC36D3C2FF85554B208793F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; 8DDCA7803625CF8DA817326A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; 8DDE64B4A0EF76038498B47D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 8E1CA5F01D04FA8F6CCFF91B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8E28FF1F25D4B95ABA616BAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2PulleyJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PulleyJoint.h"; sourceTree = "SOURCE_ROOT"; }; + 8E8283D81F04E954670F2636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; 8EF11A0D1370915CA7AF4F64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; + 8F05BFCFFAC8273150ABE262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; + 8F54927EB7C415884F445CD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2TimeOfImpact.h; path = "../../../../modules/juce_box2d/box2d/Collision/b2TimeOfImpact.h"; sourceTree = "SOURCE_ROOT"; }; 8F5B02778218DDD357C40D7D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; 8F61AE043AEF6DCD47A36787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 904A7BB9AF3500FCC5393750 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; 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"; }; + 90C0455F5170CBCB8BB425E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + 911A7962AD32375D7003FD41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 913BF3D4458ADD6A17F1BECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2WorldCallbacks.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2WorldCallbacks.cpp"; sourceTree = "SOURCE_ROOT"; }; + 919095530634BCA10AB9AE95 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; 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"; }; + 92E2C82B141DD4A923F03580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2WeldJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WeldJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 930C2398BC534B8387E867BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; 9327D6AA8805BE7AD971D68C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; 937A2E7B951F5D527DF54245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 93A03C37C749EEAEA8CDE62C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2FrictionJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2FrictionJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 93B3667FE4186CD75426EA53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 945E090A8DE2E776F7033143 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 94FDE7DB4503F1DA55B7A47D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; 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"; }; + 9627C56BF9BE509ABEF3B0DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; + 96B7036D28E7BF24703EECAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; 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"; }; + 977900010F61AF4676582E87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; + 97C2F5225DC78ED6569FA916 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; 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"; }; + 9813895C24F80C5948DF41B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + 982A6760536A0D76070BFD3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2CollideEdge.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2CollideEdge.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"; }; 991F4C3B42036B549C321789 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 99E8C71CC462DDDBC52D360C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 99E9746687DD6E518585DB09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; 9A4190B5B7E788B732637F2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A4D6196AE49BEDAE4054729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A60BF3F27FD10A058F4E956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A895B323AC3DDD249D99CB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; 9ADA045A14202C9CF4F8CD40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; @@ -709,52 +920,72 @@ 9B9E034C5761096ACB8A76C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 9B9F578EC77AA988C919AC6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 9BAE20FD7E2CBA120DDA82B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C0B4B92D8179B2B2EA27DCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Island.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2Island.h"; sourceTree = "SOURCE_ROOT"; }; 9C734938D5FF5DA7827C74C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CA3071EC654EB7FFEC70736 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainWindow.h; path = ../../Source/MainWindow.h; sourceTree = "SOURCE_ROOT"; }; + 9CABA28CDB2F38B933D7D5AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Distance.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2Distance.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CC0810F5BAF70D00033FD22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CDE3A30398FB033E5AE8498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; 9CED8F32B3718A90481EEDE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 9D0B40C4BF8FD939C33E3D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 9D17E29319340B927D1BC51D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 9E0670BC105AC4CAE8569F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 9E14C2C627D2F7B3C817468E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; A166FEC488A2EE5290FF0722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + A167A41D05FA3B4AC6CA1E9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2GrowableStack.h; path = "../../../../modules/juce_box2d/box2d/Common/b2GrowableStack.h"; sourceTree = "SOURCE_ROOT"; }; A169179FE554C215416FCD7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; A1A8D19C2E587194909B2913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; A1EFF3DBE5F7B0C07AE59D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; A1F10BB1A2745DC95DDDE0D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; A22726A53515D845743DFF84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; A235B5113FB4E5DA6267975F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + A2C836847DB29C151CB09E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2PulleyJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PulleyJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; A2EBD42F94D37FFF10F25985 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; A2F0B85560090CFAC7D95132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; A2F403F649AC0AA7CA47EF65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + A2FD673C8D6D86B048C9E035 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; + A3BC97F67B5567379214CECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; A3BDCE78A0AE63BEA0DDE600 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; A3D5134838BA1CEAF4284E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; + A457A6844324E461FF142768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; A464874D0B8C63AA78C937B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4961A58A7D5F765D1EE083C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; A4A64EF73E28AFFBD826AD60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; A4A7D4C4EF2A24F743D107B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4EAA590C3776FF63123E093 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; A507AD139DCC0A43765C1FE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; A539F7B46DD001B3BF03B16F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + A60864C9398414445F587C91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A670765B72A94519A5F66E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; 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"; }; + A6AFF35305010E3E7C46D818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2PolygonShape.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2PolygonShape.cpp"; 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"; }; + A6F5FCBD2F26BF994727FBFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; 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"; }; + A7C772D36E8964ADDCB7D096 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Draw.cpp; path = "../../../../modules/juce_box2d/box2d/Common/b2Draw.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"; }; A8878B1B86367E161868E49E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; A88B3DDBD1939456E225E36E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + A89CE9DD8363BF699DBAD4A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; A90C7FF8F98D21494524B726 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; A90EA62A0A4A1B5E62CF0BE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; A966B620E1FB219BD4A4F3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -763,16 +994,22 @@ AA920A77D326B0F5E53F567F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; AA967AC6E8FDCD7502272DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; AAA2590D363C6DE624D320A6 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; + AAC3A67363234D151DA6BFF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; AAC68E522F44DA7AD25574C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; AAEBF0976E57F4756E4AE31E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + AAF6B6F2F129303FB8682109 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + AB19F2DAD8930809EC63CF89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; AB3C484314062E809AC41132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AB589E1E7EC83EA620B7F780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; AB92BC8961EE90E0F23FD6C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; ABDFE5D85E6ED3CBB8AE1F50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + ABFAD9653637328D6FB7F06B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; AC043128E8D43D6EA4E29824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; AC25983CE9B938D1DB002A98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; + AC2CA767DC0B09749E9EC53E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; AC3132AD4826E77E807ACD3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; AC3600881A53014EFC1CB8D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + AC67D402C4C5DD1F6F036044 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2GearJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2GearJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; AC70FAD27248857B6D16BD33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioSynthesiserDemo.cpp; path = ../../Source/Demos/AudioSynthesiserDemo.cpp; sourceTree = "SOURCE_ROOT"; }; AC7A214BA7B1A172F5B31735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; ACDD5519D82FDB831085B8B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; @@ -782,19 +1019,28 @@ ADDA92448B0EC5EC1C6D5A2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; AE68B9AA74EE6F138B3E0B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; AEF26EF11BEBA847F152A1D5 = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = "SOURCE_ROOT"; }; + AF08C54E4F91D5E480A48EFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2ContactManager.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2ContactManager.cpp"; sourceTree = "SOURCE_ROOT"; }; AF396B7AE1BE00099A19D191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; AF98F62B0DD92F26D0018A98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + B02086DEB7D97B8B2DCBBF65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; B0287B0EE6C4EE20EBF95FDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + B02CAD037D993AC554573415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; }; B033B7729D2D204BBD71BDD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; B0DA13336DA07392C689323C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0E867D448609AFBA718729D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2EdgeAndPolygonContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.h"; sourceTree = "SOURCE_ROOT"; }; B10A9A3B4A4C2507F514D5F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; B13A8EA6840489EB88D77800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + B1608DC2A0212CE5D68585A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; 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"; }; + B1F568A29AE97695819566D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.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"; }; + B2C2CE1C54B3F7BF754EB506 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; + B2E3E18FA4A5EB53BADA5072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.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"; }; + B31051BBF74FADEA48D39B22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; B341BC1AD30CCDDAD967EB0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; B3569FEFF39695CCD1E060AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; B36D9787DD79D0DED8D791F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -803,18 +1049,21 @@ 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"; }; + B63430A7E4A342907B763957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; 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"; }; + B66569933AFA114078589944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2ContactManager.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2ContactManager.h"; 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"; }; + B6BAAFF929DCAD7D8D0D0C95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2DynamicTree.h; path = "../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.h"; sourceTree = "SOURCE_ROOT"; }; B731664FB9EEEBC618BAB5A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TimersAndEventsDemo.cpp; path = ../../Source/Demos/TimersAndEventsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; + B731BB6DF7C0468A42BBFEBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; 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"; }; B84A6E341207FA1F60EB5AF1 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "juce_icon.png"; path = "../../Resources/juce_icon.png"; sourceTree = "SOURCE_ROOT"; }; @@ -825,16 +1074,21 @@ 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"; }; + BA376DEB932E4D8C79105456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Body.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2Body.cpp"; 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"; }; + BA87061C6A6FFC374FB92371 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; 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"; }; BADD02151C3951E4853DA06D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; BB29289B196047505CF5EE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + BBBBA7BB82E61F6A4906B2F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; BBC3C77A4D771DFCCB08B874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + BC5C356A2C2BCF10C0110E05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; + BC69E52F734ECCF2DAFF1CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.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"; }; + BE092C995070D86673E0CA21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.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"; }; BF2CAEB6EC641789133B627E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -843,33 +1097,45 @@ 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"; }; + BFEBB2645034DC82B723A79A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; 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"; }; + C02B87CFD478C01111DEC2AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; 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"; }; C06F64DF6D95D5C9C8B2D5F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + C07500D8FFE6CAAC69A45845 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; C0918662F3E28570DF17B041 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; C09840AD421A11A244964AB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; C0A9EF3D27D21B307649111B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Box2DRenderer.cpp"; path = "../../../../modules/juce_box2d/utils/juce_Box2DRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; C0C8D6D7D14DFAFB169FFDCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ValueTreesDemo.cpp; path = ../../Source/Demos/ValueTreesDemo.cpp; sourceTree = "SOURCE_ROOT"; }; C0F898298ABF2458D6C5AF17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; C1CBC5B338453DA492698C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + C1EA39F83282A1255996C0F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; C20FD8D605E6714D473D5C9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; C2FFDDA61218A94403D5FE56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + C310CD4992AAC4FEB72694AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; + C350AC724B75E0B996FAB6EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; C411A91DC3B306E2C417F1BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; C416D60EFF7F25E0080A94D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C43CFE8A48F03CCBCAE08D24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Box2DRenderer.h"; path = "../../../../modules/juce_box2d/utils/juce_Box2DRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + C4422D6B71C3EC8AB4CF661D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + C45AB6B9BE8ED011F1846B34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; C47BAAAD3DF91B17A7787941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; C4B8D5FC3E906DA9F6A4379E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; C4CE4565F5D41303888F6A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C4E873C0CD6E9C76EA2997C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; C509F69A37C9A9053D6E9546 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + C5333852BC17403BEE42815C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; C549EFF977C210EB398C9A33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; C5A932A82042E2DAEBE1C302 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; C60CE259EE4CFE6AC61044FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + C628426662C41516184AA5B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; + C657A3FCA08E4022C085889D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2EdgeAndPolygonContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp"; sourceTree = "SOURCE_ROOT"; }; + C66610F2227199720C6D6D71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Fixture.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2Fixture.h"; sourceTree = "SOURCE_ROOT"; }; C6D9D6E03D4B740DDF9B3C57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; C7026BE1C751908FEA9E5AAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; C7089BDB2F572546643160C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + C73A51DC1F01D988D7293995 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; C77F148F8E8E9F805D730386 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; C784392363846286D29F207F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; C7A943716B2FD728EFAC84D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; @@ -877,38 +1143,61 @@ 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"; }; + C9285E46E758A36E7BE10F1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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"; }; + C9A6F7104C8DF1694159B166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2World.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2World.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9B2CD80C0B08241D7B4AAC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2ChainAndPolygonContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.cpp"; sourceTree = "SOURCE_ROOT"; }; C9C1FC1B4628557AE5C7E7ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; C9DA15073F3BF252BAFF9D69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; C9DAF05F2DAF78159647512B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; CA0E3166C77EB91555893286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; CAD3749B6A5BDB2BB00D3498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; CAD598C03B7C93B4AF912E66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + CADD66B495B2180CA8A267FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; + CB3B1B31A502CFEFFBE3AB88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; CBDC7CC5CE4132A5D63B583F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; CC5F6FD5F339E1811037EABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; CC79B254C68555B4FFEBC692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC9D900E9D8A5997076C8614 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; CCD2ED6F6F3ABCC172DC4957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + CCD337188E562E1273DAF2E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; + CCEA3C304A87D1B80D2A8AE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; CCEC8F9385AE939B24D27954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JavaScript.cpp; path = ../../Source/Demos/JavaScript.cpp; sourceTree = "SOURCE_ROOT"; }; + CD4DB45FA0E529AD1A38DA8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; CD8B9E60EFE0A0ED368EE3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; CD9B8C96642C7F691FCB3EC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + CDAD8C8558CF8FB2299D1916 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Settings.cpp; path = "../../../../modules/juce_box2d/box2d/Common/b2Settings.cpp"; sourceTree = "SOURCE_ROOT"; }; CDB41763FDE907C3C0E75374 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; CE045161909A4EADCE49629F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; CE276E0CAE722EA80F7985BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; CE7D4E7030BF4BB4B1093B5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + CE7F627E873D9A1380271F7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2PrismaticJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PrismaticJoint.h"; sourceTree = "SOURCE_ROOT"; }; CE89334A964AFF33758CBDEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + CEA314CE7BCC5304D9CF2617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; CF1DA3CB41AA43B349D3A6B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; CF626DE27EB763C9BCFD4F15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; CF7CEC8C260AC623C222264C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF8ED7DAF793C404D5AB68E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Collision.h; path = "../../../../modules/juce_box2d/box2d/Collision/b2Collision.h"; sourceTree = "SOURCE_ROOT"; }; + D026D56600A2F8328CD8DC2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; D04960564D2860B19FA5D1CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; D057633F8F7684AB7B4B28AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; D0736DBF1DA74CBA695DE54C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; D0A84ED14FC2F7A143679258 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; D0ADA33F00B3BD83C1D5AE37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; D100B2EDF88F2C019E4D2311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + D185139B980081A6E950B572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + D19A55AA2BD9028ED50F1941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; D1D8A53A7614F106942DADED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; D1E31AC47CCAB97418EB646D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + D22CF9580AC80B5AB6D97ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + D25576B0B80B36DC4C9830E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; + D2CD51975BB4D1630629B620 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; + D31B7C2ABFDACEDFBF3230E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2BlockAllocator.h; path = "../../../../modules/juce_box2d/box2d/Common/b2BlockAllocator.h"; sourceTree = "SOURCE_ROOT"; }; + D32A6DB271947C7583815465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + D38060D21F6AC8F6A935A6BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; D3A84810AE56991562B6F252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; D3D86F3CDD057C174A16E382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; D400C8DFE9DA635FDDBF57BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; @@ -916,6 +1205,7 @@ D574F24273E747525891B11C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; D5942A1C95986841CA286736 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; D5C59D717CF1C0F15164AD43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + D5E0E9C7BE4512793747276F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Island.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2Island.cpp"; sourceTree = "SOURCE_ROOT"; }; D61BA88D3AC9556266FE4368 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; D6238E383F396236E3A4C054 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; D65129253734C1917354C08E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -923,11 +1213,13 @@ D6B8E586D30632EA07C48D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; D74B19291F4B0370A2742A63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; D767A88B0BC208DECCC1AA3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + D769F1AEAE71E490F5E6CEFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; D7A951371F530DA0A350AF44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; D7B1BBA8FE789A80E86CEA03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; D7D048CFDB58B67E9BAB7448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; D80487E6482EB12BF2C6BD22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; D807B4138306397F8A93FA16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D862A1AE0227E6565606415A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Collision.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2Collision.cpp"; sourceTree = "SOURCE_ROOT"; }; D8AE63002C7273F98226394B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; D8DFE1C66668C30215288BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; D8EB3FEADD047C7AEFF9C8C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -936,35 +1228,44 @@ D999C4C8DE51CDFB861B863D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; D99C0F89D572BBF219A7B991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; D9AAC6516BAD4F5BAE9CF297 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + D9D55F689FB9EBF41830E597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; D9DFC1CE9A4EF9230B49D697 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; DA78B13D87626C49A2140FDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; DAACF5AFA6B6994384BA4984 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; DADF2C478777BA8EEBB55CDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; DAF2C8E641253779B6DFF139 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; DAFB19E49A6221854341BE2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; + DB333E69879020687C4DEE40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; DB748B0D9227F5345683CF7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; DB8FAF091C9E78AE5F64701F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + DBA2AA024D68F286B07E32AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; + DBA6A4314768BEA9B73ADA2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; DC0AE99EFE4F88987CA2F705 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; DC6930EE56EEA5221CFECAB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + DCAB5AE95227A13D9822058F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; DD24BAA1E8104B6D3554A222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = XMLandJSONDemo.cpp; path = ../../Source/Demos/XMLandJSONDemo.cpp; sourceTree = "SOURCE_ROOT"; }; DD4A812225F47E590FCF2E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; DD5F4BFEA497212883A869A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD710105BDB9E94D4D137061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; DDDB707A59DB489D195BF99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; DDF02BD16454102C353FCD18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + DEEF4C52F6D21B716534F2A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.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"; }; + E20323737D800CE8CDCFAFA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; 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"; }; + E22ACD275523DA9CFA935974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; 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"; }; @@ -973,45 +1274,59 @@ E34DFFF51D0F7C34FB826C4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; E3DC9C2BBC81EC0B035AA32C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; E3E3CD4660C20BE120E8BB1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E3EA85354D9EE49DD8F21968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; E41A387D233A436131D7910E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; E4369FFC0E1A6547580D671F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + E463B9F4796E34B8082A4EE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; E489FF0264C957A8F71F346A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E579D4E4BEF679C5E543E1EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; 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"; }; + E6AA10B691E44C8C1ED5A8E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; + E7800E0F7C31379D0EE87F75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; + E795BB191E062484B1FA776B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Fixture.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2Fixture.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"; }; - 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"; }; - E682A3A52BD15D5CA4933C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; 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"; }; + E868383557CF3FA6D9DCCF7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2RevoluteJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RevoluteJoint.h"; 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"; }; + E8D77909D3D8E10550164EE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.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"; }; + E97D7A1408F6EDDAE48E1837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.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"; }; + E9A11D2BB2A05BBF2819EDA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Shape.h; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2Shape.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"; }; + EA374E11C3C4C144F70E9763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2StackAllocator.h; path = "../../../../modules/juce_box2d/box2d/Common/b2StackAllocator.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"; }; + EAA0943602A39C1090D4BB0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Contact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2Contact.cpp"; sourceTree = "SOURCE_ROOT"; }; + EACCBFA17F4D07ECE058EEBB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + EAFE3EC4FDC03DC6929446E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Timer.cpp; path = "../../../../modules/juce_box2d/box2d/Common/b2Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + EBDC7D0B732C39AE0D0E66A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + EC0F56A4059858E05BAB98BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; 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"; }; + ED60462270C52F6FA0844E31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.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"; }; @@ -1019,12 +1334,18 @@ EEAA1BB6254EDE07A7ABAD65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; EF8055850F3DEA173761E3B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; EFD1BD42000EE640A17EE1ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFDA611057B66032D2F06E53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Joint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.cpp"; sourceTree = "SOURCE_ROOT"; }; + F020CAD810CE79FDB1032B27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; F037091D4A3012EBBA1E808F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; F043752E829829CE2A364F39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; + F04AC34216D2378E32F0B07A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; F0ACCF70936A0BBA2A2AB289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + F15C7935F9F6BC83AB51C529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.cpp"; sourceTree = "SOURCE_ROOT"; }; F1A30E40F7388D16BA35B0DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; F1A9F544E889DDA995415F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; F1E995A1E00C6545A4C3297B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = KeyMappingsDemo.cpp; path = ../../Source/Demos/KeyMappingsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; + F23C2044AD3C7D2B333ABE1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; + F2609029E69B0B5CB8A24D5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; F26339EFC03BD8D22016EEB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; F29F6395C4935C1A663A1D15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; F2A15E99B15FBE0CC5F3712E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1032,43 +1353,57 @@ F3A9E0AE5ED05CA1AD6F56E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; F3AF542BB3A9E6CC1D6E37DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F3B746DC92EFE7A9B8EA9E43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + F3E98B138E54B8434CB3E34F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; + F400958FAF55C6818735E008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2PolygonAndCircleContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonAndCircleContact.cpp"; sourceTree = "SOURCE_ROOT"; }; F42FE65C750920656EA22BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; F43CED7548EE5C9F841CB1FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + F44EEB349CFFF332AABDD46D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2RopeJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RopeJoint.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"; }; + F4877166B6AEA79289FE123A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2WeldJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WeldJoint.h"; 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"; }; + F4B11F898B7FAF9370F36BCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; 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"; }; + F505192F2FE344F52DD681A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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"; }; F58760A8EE18630F97C7B646 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; F5B288379859F5C9F4FB83BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; F667601C17DC912B73B817DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; F696BA0801B1A34571346EDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; + F6A32897F123B06226205866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; + F6A48D53B5FE3830E3078B20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; F6DB1C1E0D9315245E87CBC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; F704F70F80BA62A48F3651BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + F762EA210E2AA9560F3CF100 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; 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"; }; + F922253CBC7353685623728E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.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"; }; + F9AF8317EEF3297C1D616049 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; 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"; }; + FA2DA6E207768A7B20EC8197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Math.cpp; path = "../../../../modules/juce_box2d/box2d/Common/b2Math.cpp"; 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"; }; FCA788F92D5BB1640CD2AC35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioSettingsDemo.cpp; path = ../../Source/Demos/AudioSettingsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; FCAC296E92A219D70EB96AD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD22F7A808D3B534354FD7E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Distance.h; path = "../../../../modules/juce_box2d/box2d/Collision/b2Distance.h"; sourceTree = "SOURCE_ROOT"; }; FD2A08CE74C6EBC90CD44A49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; FD46383E356A5DDC1AD53380 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkingDemo.cpp; path = ../../Source/Demos/NetworkingDemo.cpp; sourceTree = "SOURCE_ROOT"; }; FDB35D95490B931CC376A943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1078,7 +1413,9 @@ FE4C496CFA9A1E786253B005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; FE613A570CE31071FD22DC06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; FEB688750213D0C64F18AA37 = {isa = PBXFileReference; lastKnownFileType = file.zip; name = icons.zip; path = ../../Resources/icons.zip; sourceTree = "SOURCE_ROOT"; }; + FEE40D6560981264BFB46189 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; FF34F4ED0C44B2BA4FBF22AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; + FFF76FBE6229D1D034294843 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; 5D279CE438F706BB32D767C7 = {isa = PBXGroup; children = ( 9617B3B5FA9439D342F23ADC, 01C6528C4A0646873D4C3429, @@ -1140,13 +1477,15 @@ 0BC17C2D6DC6B34C6F308432, ); name = Source; sourceTree = ""; }; DAD5A945FFB6D6920BF0D1F6 = {isa = PBXGroup; children = ( 41B2F9FB15FB255A0DEDCA00, ); name = JuceDemo; sourceTree = ""; }; - 40D617E4CBC4C51B6B0DBBF3 = {isa = PBXGroup; children = ( + 2093B556368390D49E2342DD = {isa = PBXGroup; children = ( 26A65E5DA320A85F90F1F58F, 2699A70E9610104CB8D30EC4, C0F898298ABF2458D6C5AF17, CBDC7CC5CE4132A5D63B583F, E34DFFF51D0F7C34FB826C4C, ); name = buffers; sourceTree = ""; }; - A4AEAF285B0FCDC5B0E621A5 = {isa = PBXGroup; children = ( + D371E50FD0BB84FA82E3A424 = {isa = PBXGroup; children = ( + C4422D6B71C3EC8AB4CF661D, + F98920AB20377A95CCA8CDF1, EA7D346CAE6A07C0B395816B, 29AA7E6AE1C062B740F4D80C, 4983B8B7E3666DCAC1A1644B, @@ -1156,7 +1495,7 @@ 541E0CB92DCF5EDA093EDC7D, BA008864E9E4F195E61A21F8, B51567633F44A10D4543B219, ); name = effects; sourceTree = ""; }; - 6FF3AFF30E2CFC40F54FE711 = {isa = PBXGroup; children = ( + 502A008A9C99DA991728E9F6 = {isa = PBXGroup; children = ( 7F2A233FFE5CDB2681F0DC28, 68AD6A94C88A46A483B823E0, 2BFAB8AE52821D3786BD7ECA, @@ -1169,7 +1508,7 @@ 49BFC515C915A4AB53EC15C4, F696BA0801B1A34571346EDC, 586A4398FE1B9F7D6104BB70, ); name = midi; sourceTree = ""; }; - 7C828ECEE88D9245ACDC4E6F = {isa = PBXGroup; children = ( + 2D1D7250A8A643E6B24DE045 = {isa = PBXGroup; children = ( 66F8C7EB6520AB9439433DF3, F2A15E99B15FBE0CC5F3712E, 6E386DC2F80B9C90264AB60E, @@ -1205,19 +1544,25 @@ 384887ECD58A0B42E3669617, 35F5E95BA127E63BA136DACC, 7D7A6251E976BF292861510F, ); name = sources; sourceTree = ""; }; - 3C7D76B7DB18A3929B2EBE2F = {isa = PBXGroup; children = ( + 0ABB6F58FB7C91DF58902D87 = {isa = PBXGroup; children = ( 42386AD366F1AD43B6B29364, B341BC1AD30CCDDAD967EB0E, ); name = synthesisers; sourceTree = ""; }; EAD085E39B98D2F88E2854DA = {isa = PBXGroup; children = ( - 40D617E4CBC4C51B6B0DBBF3, - A4AEAF285B0FCDC5B0E621A5, - 6FF3AFF30E2CFC40F54FE711, - 7C828ECEE88D9245ACDC4E6F, + 2093B556368390D49E2342DD, + D371E50FD0BB84FA82E3A424, + 502A008A9C99DA991728E9F6, + 2D1D7250A8A643E6B24DE045, 9EF5C5A4E05F24140BA571CC, - 3C7D76B7DB18A3929B2EBE2F, - 7DD8FCFA80D230B432ECD149, + 0ABB6F58FB7C91DF58902D87, + 7F5DD7707E3EAC2A12F83072, + 249A454A7EF1C3A07A66F453, + 0349FEE5DA18067918536934, 249A454A7EF1C3A07A66F453, ); name = "juce_audio_basics"; sourceTree = ""; }; - 2C5B1CB88811CFEAD0B763E7 = {isa = PBXGroup; children = ( + 313B8FCE2372026DE010FD3D = {isa = PBXGroup; children = ( + C9DAF05F2DAF78159647512B, + AAEBF0976E57F4756E4AE31E, + 61F28F9E82D39EFF702793D9, ); name = "audio_cd"; sourceTree = ""; }; + 4EDBEC466E17596FD31D793B = {isa = PBXGroup; children = ( 64F04FAD3BAAEE3D0BA279B8, 3ADE61DBFBB6901CE2F1DB17, F53D12880F3354B4FFA480E5, @@ -1225,22 +1570,13 @@ 70A5CABA464ECFC6A8449A87, A9BA8E7E434AC82F4604C773, F3A9E0AE5ED05CA1AD6F56E5, ); name = "audio_io"; sourceTree = ""; }; - ACE42B83631F91D837D30DBF = {isa = PBXGroup; children = ( + 194C5968627521DBFFAD1E78 = {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 = ( + E8E3D5C4CD168878BC935EE4 = {isa = PBXGroup; children = ( F881704607DB79F9A3CF7491, 088687334FC51A5136881578, 7416BF201FBFE7F978FD774A, @@ -1260,31 +1596,169 @@ 74D283E02B3A2A293678FF9C, 5FCCFCEE3F6C4C51BB581572, 52D7400A47B19848EFCB5B51, ); name = native; sourceTree = ""; }; + 278366845208ACAA6EFD0C95 = {isa = PBXGroup; children = ( + E6E0FE3CBDBE2554B527CF60, + F1A9F544E889DDA995415F6D, + DDDB707A59DB489D195BF99D, + AAC68E522F44DA7AD25574C7, ); name = sources; sourceTree = ""; }; B5BC400B03F73362F263D1FC = {isa = PBXGroup; children = ( - 2C5B1CB88811CFEAD0B763E7, - ACE42B83631F91D837D30DBF, - 06540B00B960F62D8C50A952, - 5E43CCDE66C0FD9A873CF9A1, - FD6512AC0A0ECDCA3416F735, - BD14CA532122022C26920DF8, + 313B8FCE2372026DE010FD3D, + 4EDBEC466E17596FD31D793B, + 194C5968627521DBFFAD1E78, + E8E3D5C4CD168878BC935EE4, + 278366845208ACAA6EFD0C95, + 2EB0FBA99B4F54DC67C391B3, + 806A7A3BFC684B4D9E25ABDF, + 1E0453D8A9741695357567E3, 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 = ( + FE22719A1A7C0DE8788CC66C = {isa = PBXGroup; children = ( + 1334EA2BB30D70E30E929919, + 58201275FBC0DEF77D010733, + 71B244396C01790820BDB08E, + 8A81C6BE773B2895357F469C, + D026D56600A2F8328CD8DC2C, + 767818AB549833C6A3695680, + A6F5FCBD2F26BF994727FBFB, + 2A5FF3EB0E2C32BF08080C7E, + 59A4EE8F8C7CAC439DF95A91, + 5EF33D6281C6FCD1040FDC9B, + 0E501BDAF7993A70A4300040, + AC2CA767DC0B09749E9EC53E, + 603014A5B777586F4F1C98D6, + C1EA39F83282A1255996C0F6, + 5459E2489D23B5764B4C919B, + C73A51DC1F01D988D7293995, ); name = private; sourceTree = ""; }; + 81AE9D60457672A787004F0B = {isa = PBXGroup; children = ( + BFEBB2645034DC82B723A79A, + 84FCF3E5B30EB7CF5EEFB983, + A60864C9398414445F587C91, ); name = protected; sourceTree = ""; }; + A86DDFF9892CA2A05D173C4C = {isa = PBXGroup; children = ( + FE22719A1A7C0DE8788CC66C, + 81AE9D60457672A787004F0B, ); name = include; sourceTree = ""; }; + ABA74055DA2EEFA5423CD500 = {isa = PBXGroup; children = ( + A86DDFF9892CA2A05D173C4C, + 7A2009F14F7AFEEF7F233EBC, + 3DF9D537778948BCCFAA6F90, + 4150459DAF5A300EE3646771, + 3C169AF805125BDB30041647, + DCAB5AE95227A13D9822058F, + 706E3A30C486843B267D27C5, + 96B7036D28E7BF24703EECAE, + 4ECEF417A3156D46464E6B9C, + 6218A4FF5FB036AA0B7B77A3, + B2C2CE1C54B3F7BF754EB506, + 653C6D41CCDB5D556F00D17B, + 1827E39781E7FCD3FFEA879F, + CB3B1B31A502CFEFFBE3AB88, + E20323737D800CE8CDCFAFA2, + B02086DEB7D97B8B2DCBBF65, ); name = libFLAC; sourceTree = ""; }; + E7D99E2666990279C9A11700 = {isa = PBXGroup; children = ( + ABA74055DA2EEFA5423CD500, + 59305C17D5656ADD56682C87, + 08F27F768CB242347E402318, + C45AB6B9BE8ED011F1846B34, + 5A2481A419E5A9D88B640A7D, + BBBBA7BB82E61F6A4906B2F5, + 1A379B56FED4D3EEF75539F9, + F2609029E69B0B5CB8A24D5E, + 46ACD125ABF2078BD7250307, + 6A766394ABB39B5A0E3EF182, + 771D8CDD1499DEDAC2E38D25, + C02B87CFD478C01111DEC2AD, + B1F568A29AE97695819566D0, + E97D7A1408F6EDDAE48E1837, + 9813895C24F80C5948DF41B1, ); name = flac; sourceTree = ""; }; + AF8051C8C57B1E4263F065DA = {isa = PBXGroup; children = ( + 898999A1030D94C6808D5148, + 87F30C283F01D6DE78677AE1, ); name = coupled; sourceTree = ""; }; + 5D0A7B0AFE0FBA8B36493D58 = {isa = PBXGroup; children = ( + 4B4A489613828AC28F25417C, ); name = floor; sourceTree = ""; }; + C965B188AD1E330F076AD73E = {isa = PBXGroup; children = ( + C07500D8FFE6CAAC69A45845, ); name = uncoupled; sourceTree = ""; }; + 7CA0AFF5DBB536581B83B491 = {isa = PBXGroup; children = ( + AF8051C8C57B1E4263F065DA, + 5D0A7B0AFE0FBA8B36493D58, + C965B188AD1E330F076AD73E, ); name = books; sourceTree = ""; }; + 5165857850ECFA377F30097C = {isa = PBXGroup; children = ( + 930C2398BC534B8387E867BD, + 2FCF501B503F3915AB871C8E, + BC69E52F734ECCF2DAFF1CE3, + 5509449631045CDCA7654270, + 57F36E18E098F0CADDA05309, + A457A6844324E461FF142768, + F922253CBC7353685623728E, + B31051BBF74FADEA48D39B22, + 5155F4A9D709CC0A8CC1A7F1, + 6F21AA1FF466F570DD76E329, + 74D9D04AA36E9167899526F6, + 797A5C7982E0CD14F93B3C54, + 009E483D2993902748AEEFE5, + C628426662C41516184AA5B6, + BA87061C6A6FFC374FB92371, + 6438540B318F456A76A57197, + D32A6DB271947C7583815465, + 1E74912578DEAF430E69D738, + D22CF9580AC80B5AB6D97ED4, ); name = modes; sourceTree = ""; }; + D217546A2DC92083CC566233 = {isa = PBXGroup; children = ( + 7CA0AFF5DBB536581B83B491, + 5165857850ECFA377F30097C, + 1D43B002D877CDF3DA85E602, + 8AF24276EFD548D2DE81B6E6, + 0A189F6BF4FCE2D3FBF6FF4B, + 69DA0CE5CD8627CA01BA0781, + 827374BD9EE76A6B90DE88A3, + DBA6A4314768BEA9B73ADA2C, + 1945AFAFBEF562B3CE0B32B3, + 5B20570CB36A5765EE06DB95, + C310CD4992AAC4FEB72694AA, + F23C2044AD3C7D2B333ABE1D, + B63430A7E4A342907B763957, + 78677F16A1356879D6F99EA9, + 31A98E30E965B03150B381FC, + AB19F2DAD8930809EC63CF89, + 48879AF101C3CFF70E2A6D6D, + 3F4D37C15B02AA087A3A685F, + 0C13B04875D9B8903BCE30B9, + 3AB4D648738323B910F9857F, + 2CC5542D7C142042D3A1D86B, + 56E74B5D9FEE2F25B15B50EC, + DB333E69879020687C4DEE40, + 3A2ABBB84632B201DC78CC65, + F020CAD810CE79FDB1032B27, + 8554F3107BAF434F9AFE3875, + 1FF4527EB0D8AC7B141CF989, + 23D96CC5CE35DC9458F64A77, + 360FC75BBB17079A50D83F82, + 575D4B7FECA71BBCB194C30B, + 37B638D91C9915F8A747998C, + F4B11F898B7FAF9370F36BCB, + 518DE93C8782835E470BC7F3, + E579D4E4BEF679C5E543E1EB, + 8A0109D195A8A98F3D316671, + E7800E0F7C31379D0EE87F75, + 420516E3BCE114E11526E916, + 2A42C9B40A6A73C0CBE727B7, + EBDC7D0B732C39AE0D0E66A5, + 3C48BCAFBB2B5332DB3FF7A5, + 3506BB2D001EAE3244ABE2AD, + AAC3A67363234D151DA6BFF5, + 6B78EA517CE2D6A7C7B42C21, ); name = lib; sourceTree = ""; }; + 7D81CE6323AD99718724B32D = {isa = PBXGroup; children = ( + D217546A2DC92083CC566233, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + C3A04D1AB6018BB0FEF74D7B = {isa = PBXGroup; children = ( + 7D81CE6323AD99718724B32D, + 05DCF1D105D327102D02ADD8, + 8F05BFCFFAC8273150ABE262, + 52455CCE9E92ED0C59F41734, + 168363BEFCBAD9F40E9636DC, + 0B543B1E23AC1D74483632D2, + B2E3E18FA4A5EB53BADA5072, + 6D095BAE8ECFCA14A483B980, + F04AC34216D2378E32F0B07A, + 3DC0549B351FDD471AC643AC, ); name = oggvorbis; sourceTree = ""; }; + 3777DD37A1736028694C8335 = {isa = PBXGroup; children = ( + E7D99E2666990279C9A11700, + C3A04D1AB6018BB0FEF74D7B, 35E35B099E2A7906A7AA2EDE, 019352D78DBBEE2AC10ED6BC, F4676BB721F96DC5DDDAE746, @@ -1303,16 +1777,51 @@ 2859FDF0CCD1ED788910E9D3, 60849B046145D3BACDFA6A84, 6C57333FC4ACEBC7C451A414, ); name = codecs; sourceTree = ""; }; - CB4068ADFA9C76E778DD19AF = {isa = PBXGroup; children = ( + 5952FC3AAEC16A94E549213E = {isa = PBXGroup; children = ( + D999C4C8DE51CDFB861B863D, + B305C104F5A573E8AFEFA763, + 63D09BD18653F6A0134C8195, + DC6930EE56EEA5221CFECAB7, + 991F4C3B42036B549C321789, + 7F7EAF366320BA71741B68C3, + EFD1BD42000EE640A17EE1ED, + 1F2CB36A86AA1A4FFF89CD88, + E8128A35828C860977FEC54C, + 324452D7F5B5EA3B393FF4FF, + E7EE6BDC0E3A0739529AED91, + 0E1D85B025D93DAFA8404824, + CA0E3166C77EB91555893286, + 00DE0C93FE719DC72E20A63B, + E31FB2C8B34A146D28A4C611, ); name = format; sourceTree = ""; }; + 2767F18F4CBCF8D4BAD5511F = {isa = PBXGroup; children = ( 807F5EE489018BC1956AAD5C, D04960564D2860B19FA5D1CE, ); name = sampler; sourceTree = ""; }; 43D650FDDBAA28AE94A8942B = {isa = PBXGroup; children = ( - 22448345537DACFE2F258ACF, - 892E3C641B2CBBE66606A2C6, - CB4068ADFA9C76E778DD19AF, - 50AB15E26F6E4A55B0BE8AE6, + 3777DD37A1736028694C8335, + 5952FC3AAEC16A94E549213E, + 2767F18F4CBCF8D4BAD5511F, + FEE40D6560981264BFB46189, + 05AFEDB1F65A8C2C8E9620E0, + 40D267701C8FF75121454D79, 05AFEDB1F65A8C2C8E9620E0, ); name = "juce_audio_formats"; sourceTree = ""; }; - F5E14DC1BD0B02032813E53F = {isa = PBXGroup; children = ( + FE5FF3B06216363423589217 = {isa = PBXGroup; children = ( + 7BBD4B2D9A9EF13CE4357979, + 4B310AA3DF4F6188B2E6FAF1, + E2127416236840EE3AF32D5C, + 96F43E8EB364D3E40689D368, ); name = format; sourceTree = ""; }; + CA6EE03DD8ACDF1A15DDE60C = {isa = PBXGroup; children = ( + D1E31AC47CCAB97418EB646D, + 58FB0C4FE674CC5BB7B1DCA7, + 8396EA11DD261260F1A96DF9, + A6FADD9A009BA1F1D36239FD, + B2C11FB8D4762ABB6CB9B934, + 9750423DB3DB6570382DA3C1, + 9B9E034C5761096ACB8A76C3, + 73267FE8DDE50FD1E6E31ED4, + 8AE56D2F4E33B015C3D73EB8, + 52A95B5754438C999343869A, + C8A42EE493A1DF2E283C245E, ); name = "format_types"; sourceTree = ""; }; + 923A7DC58042E1A0FB99D390 = {isa = PBXGroup; children = ( 6645C09E7FCFF0E498C3C400, 0F82F90D72AD536CC3DFE217, 25412CD3F6855849D8B7FE98, @@ -1329,24 +1838,7 @@ 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 = ( + F29CDD16F3F0451F4D5EE3EA = {isa = PBXGroup; children = ( 6E125672C42D84CCD54F9B0D, 55FBB9F8900F753766A22BE6, F843FC09B4C2A10C76D8D35C, @@ -1363,14 +1855,16 @@ 631FD2CAE69A3D5DD8C2E1B6, FC14A2D9F860584459B762F7, ); name = utilities; sourceTree = ""; }; 326CA890D2481B82367C6F3A = {isa = PBXGroup; children = ( - F5E14DC1BD0B02032813E53F, - 44B5DCFCAB48CED4E27F0F7C, - 961C00EDB46D39EFDB238950, - 1766FC3A6258C18585F98105, + FE5FF3B06216363423589217, + CA6EE03DD8ACDF1A15DDE60C, + 923A7DC58042E1A0FB99D390, + F29CDD16F3F0451F4D5EE3EA, 453BF0685F30EA92520392E4, - 5FB5AE3F2ECCD8AC1A49CA18, + 27436247FFB648C821348A91, + 6BD1D463E40A463C69C065C7, + 66C5D2F0D9B9ABA7F4A386E8, 6BD1D463E40A463C69C065C7, ); name = "juce_audio_processors"; sourceTree = ""; }; - EE85F21BD60AE1C7926DA310 = {isa = PBXGroup; children = ( + 54EE75FA42A15F716F409593 = {isa = PBXGroup; children = ( 5A3C2298934C0F77CC60D336, A90C7FF8F98D21494524B726, 081472DAF6208CF7FDD4466B, @@ -1385,83 +1879,140 @@ E3DC9C2BBC81EC0B035AA32C, E7A5AF3EBCFEEF8787F2D14F, D057633F8F7684AB7B4B28AD, ); name = gui; sourceTree = ""; }; - D7A76D9B15CE0C2AA2F1831B = {isa = PBXGroup; children = ( - 4140669501152D9FB9A244B9, - E1107017C2BF7ECC847DF01A, ); name = players; sourceTree = ""; }; - 729ED0EF005668B4140C1996 = {isa = PBXGroup; children = ( + EDE41A20104F2FF0339F0224 = {isa = PBXGroup; children = ( DDF02BD16454102C353FCD18, 5232B9F7E62CD5C41C3ABFED, 8DA438AAAFBC64C11DE329B4, 4151602FFED0B1AE7B36CEF4, 37355CCC05D407D665AA6604, ); name = native; sourceTree = ""; }; + 39AB8377F208E9C9E3CC10A2 = {isa = PBXGroup; children = ( + 4140669501152D9FB9A244B9, + E1107017C2BF7ECC847DF01A, ); name = players; sourceTree = ""; }; BE68248271118CC1AB328F34 = {isa = PBXGroup; children = ( - EE85F21BD60AE1C7926DA310, - D7A76D9B15CE0C2AA2F1831B, - 729ED0EF005668B4140C1996, - B66D06DC55FFC2B99D43F4E2, + 54EE75FA42A15F716F409593, + EDE41A20104F2FF0339F0224, + 39AB8377F208E9C9E3CC10A2, + 8DC36D3C2FF85554B208793F, + 89C47678AF8B46702EC0EE66, + 5B466272F3B821BE88BAC205, 89C47678AF8B46702EC0EE66, ); name = "juce_audio_utils"; sourceTree = ""; }; + 7111D29BC4EFFF98C14B5AE1 = {isa = PBXGroup; children = ( + 82DF136532B2A68A19CBD0C7, + 57F10A97F9AA52EF7B344208, + 589812C6DA03A2299270F7D0, + 0F28BC4F61D1898E4C68E8BA, + 3E265486EFE462E632F47FD5, + 6813D2FE050F9518A7BF3728, + A6AFF35305010E3E7C46D818, + 305ADD801E4BA9EFDBBCA4FC, + E9A11D2BB2A05BBF2819EDA7, ); name = Shapes; sourceTree = ""; }; + 9C66986B0146B23B5C90F910 = {isa = PBXGroup; children = ( + 7111D29BC4EFFF98C14B5AE1, + 38271EF6B109065F290717DE, + 0DF176A2BC5C338AF984036D, + 59C6CE0327D10524BC789A72, + 982A6760536A0D76070BFD3D, + 4253F39382D064BA90766895, + D862A1AE0227E6565606415A, + CF8ED7DAF793C404D5AB68E1, + 9CABA28CDB2F38B933D7D5AB, + FD22F7A808D3B534354FD7E1, + 87C10F97FD75475F541A2236, + B6BAAFF929DCAD7D8D0D0C95, + 26ECEE2D25C933C4B8CF0B49, + 8F54927EB7C415884F445CD3, ); name = Collision; sourceTree = ""; }; + 4F512B3A2785674337E1996C = {isa = PBXGroup; children = ( + 68D5182872CF48CC8A07EF88, + D31B7C2ABFDACEDFBF3230E1, + A7C772D36E8964ADDCB7D096, + 3C37FCA5B754E496D13066B5, + A167A41D05FA3B4AC6CA1E9D, + FA2DA6E207768A7B20EC8197, + 8D67ED9898F9BE8652B8EE2C, + CDAD8C8558CF8FB2299D1916, + 1B0F7F7A6B9627B92F989632, + 81DA6F8C2D59F6DBBB96F9E2, + EA374E11C3C4C144F70E9763, + EAFE3EC4FDC03DC6929446E3, + 6F6C75B9F875DFACEF086245, ); name = Common; sourceTree = ""; }; + 585099A9330962B6D173449D = {isa = PBXGroup; children = ( + 44D1D1D5A6F855F920FD03A5, + 12FD27ECE82A3298E3A8675D, + C9B2CD80C0B08241D7B4AAC1, + 3EB15B173754AE2C7B96AE5F, + 60EEA1369C0AD22C3EA05B69, + 123D3579B74D9D5781B0BD1D, + EAA0943602A39C1090D4BB0E, + 1B03ED2B0D5B73B876954081, + 417FED446C0B953AB2DDB633, + 06C06A48BB269847BA36AA3D, + 7DE7EDED3797A71816EA7F01, + 030B047C95BEA80469F28E35, + C657A3FCA08E4022C085889D, + B0E867D448609AFBA718729D, + F400958FAF55C6818735E008, + 3B4867D990EA8802B4A319AE, + 119E106357BA987590551255, + 6D6A08D5532A95D22E74371D, ); name = Contacts; sourceTree = ""; }; + DB28F0BB99DA5A11FFFCE184 = {isa = PBXGroup; children = ( + 8B24B1B5F68C57B014D709EF, + 71B9B558197CF23EC530D57F, + 93A03C37C749EEAEA8CDE62C, + 8B65B18F6411C38CE37289AF, + AC67D402C4C5DD1F6F036044, + 6F8FAEA15628DF26DAFF73A5, + EFDA611057B66032D2F06E53, + 72370D6EFB4C549A2745C2B8, + 7BE5C4D52D35AEC60DEC2F0F, + 14EED3F7B3E7AD8A7041BF3F, + 5398AD39345A757DAAFC7F97, + CE7F627E873D9A1380271F7F, + A2C836847DB29C151CB09E6B, + 8E28FF1F25D4B95ABA616BAA, + 81B55F41498F2C7AEF8EF849, + E868383557CF3FA6D9DCCF7C, + F44EEB349CFFF332AABDD46D, + 0615C44ADB0F1EB55726FC33, + 92E2C82B141DD4A923F03580, + F4877166B6AEA79289FE123A, + 4F35D7B6179D00C91BB63AF7, + 3994BC23A01CD8FA2A634654, ); name = Joints; sourceTree = ""; }; + CA0505816BEC0949E8FF5EED = {isa = PBXGroup; children = ( + 585099A9330962B6D173449D, + DB28F0BB99DA5A11FFFCE184, + BA376DEB932E4D8C79105456, + 7AE34C0CF7EABE461F4FE5FF, + AF08C54E4F91D5E480A48EFA, + B66569933AFA114078589944, + E795BB191E062484B1FA776B, + C66610F2227199720C6D6D71, + D5E0E9C7BE4512793747276F, + 9C0B4B92D8179B2B2EA27DCB, + 86B1E971DDB1413BF596B130, + C9A6F7104C8DF1694159B166, + 5F4304885211C2F40AC66E25, + 913BF3D4458ADD6A17F1BECC, + 85677259EC513883D8D2076E, ); name = Dynamics; sourceTree = ""; }; + 88BC1F717EB8F779194FF888 = {isa = PBXGroup; children = ( + 6D680FDE137012CFCDEEA7FE, + 4C5649C5D9290FA9385B6CE0, ); name = Rope; sourceTree = ""; }; 7AF3E75ABE7FFA5936475F7E = {isa = PBXGroup; children = ( + 9C66986B0146B23B5C90F910, + 4F512B3A2785674337E1996C, + CA0505816BEC0949E8FF5EED, + 88BC1F717EB8F779194FF888, 0732CB9291291C9854197B28, 1B9B4E12F53F8350757CD4D2, ); name = box2d; sourceTree = ""; }; - F025DD9DC1A82BB3FC45DE34 = {isa = PBXGroup; children = ( + 6B9A23A5A3DDDC23A6B9E0E7 = {isa = PBXGroup; children = ( C0A9EF3D27D21B307649111B, C43CFE8A48F03CCBCAE08D24, ); name = utils; sourceTree = ""; }; B92F6CB95B8D46F185B51F43 = {isa = PBXGroup; children = ( 7AF3E75ABE7FFA5936475F7E, - F025DD9DC1A82BB3FC45DE34, - DEFD6AD8B2BBA57017DB4A13, + 6B9A23A5A3DDDC23A6B9E0E7, + ED6224ABC715AAB68661F4D4, + 1AD3E125B61DD653C03FAC05, 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, ); 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 = ( + E0066AC466DB544165B25C93 = {isa = PBXGroup; children = ( 1A3DE76CA275CEE7DAD501A4, D100B2EDF88F2C019E4D2311, E7EA99CD84E1EC598F4984DD, @@ -1483,37 +2034,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 = ( + 87941A88EB5477A35AE58282 = {isa = PBXGroup; children = ( CF7CEC8C260AC623C222264C, 366C0E8D559D37FF92B64F47, 6B83E4AE241F0EAC9574923D, @@ -1531,76 +2052,56 @@ 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 = ( + BC5183F7CB9EB07B19F0DAF9 = {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 = ( + BB0D6B9597130E0569A377E0 = {isa = PBXGroup; children = ( + AB589E1E7EC83EA620B7F780, + 88D689399C7F69D687208673, + DD4A812225F47E590FCF2E29, + 6141692AC9282411091C8157, ); name = logging; sourceTree = ""; }; + 46C240D133177910EC7257A6 = {isa = PBXGroup; children = ( + BADD02151C3951E4853DA06D, + 21CE480826B56F0B5C8C4A43, + A763B4ADDB7BDD941FFE51CF, + D7A951371F530DA0A350AF44, + 5125E77EBA8500EAA778F51F, + 519F11BE9C786A7F9B221BA5, + CC79B254C68555B4FFEBC692, + 220344E43675A2A7D64D3A44, + 2432B5DFCDB8D39150029E01, + D769F1AEAE71E490F5E6CEFD, ); name = maths; sourceTree = ""; }; + 5C3DD8859FD4ABA9978A896C = {isa = PBXGroup; children = ( + 0EAB2E0BB8C3BE2725FA093A, + 4AF5BD29C935D0EB7CB0F6AE, + DE3BEA732CBC57AE71E94159, + F26339EFC03BD8D22016EEB6, + A235B5113FB4E5DA6267975F, + 14933D0F3C598C38A113CE8D, + C60CE259EE4CFE6AC61044FB, + DF9B26660FAF5ECF2EF620B8, + A2F0B85560090CFAC7D95132, + 734C43C3F7918061F2DDD214, + AA967AC6E8FDCD7502272DA7, + 7319ADBC735F957219774263, + D1D8A53A7614F106942DADED, + 6B1FEA349A6C8F51AB27E23C, ); name = memory; sourceTree = ""; }; + E02451B1F1D00BF2FC0044CA = {isa = PBXGroup; children = ( 55273A59F96B3C775EB71FAB, 44F4A9351C2B03F98A0D23E4, + 06D514A7B2556A07D2398433, + F7CDE069A32CA0EAD1BE7D43, 4A2C25FD55809F1489963FC3, 360291D0346F776DDD3F43E8, 28E65398C8CF95EB12A5734D, ); name = misc; sourceTree = ""; }; - BD98C1BE7812F052CB13F901 = {isa = PBXGroup; children = ( + 658C72E6E7F52541C5F63652 = {isa = PBXGroup; children = ( 599036DC07DB54E446ECA054, B63933880C456903722F46A4, 60B755F5684959E78C556810, B97B2C0C6A4322FFAACE1C39, + 78D08E88D61781FC020AFE3F, 4290825CEF87C19A113CA9F9, 3CF67E6BCC6B52EFD6E6A458, FA8B6B0F6D43146BAAE04D4D, @@ -1625,87 +2126,204 @@ 50677353DB2766A800988656, 48A0FC60EFF6334C161519FD, 6F5B9777B802707C4A747E46, ); name = native; sourceTree = ""; }; - 7AB76D65BF8ACD7C0CCB6169 = {isa = PBXGroup; children = ( - 9F8E4C02B09E172A04638A04, - F06CAD4E176B4B5D59F3D92A, - B800FC93901BFB2AAB84B357, - 29FD491D882C7A35353517C8, - F6C37A1A9BE55FD210811ED5, - 18CBD980606B9896AE7EDB66, - 15BAE5B68F98DAF50032DA20, - 23F9726B9A73EF92F1209DC4, - E6D63506374A755883B95CD0, - 1CAC2BF524350D8F0B5FD356, - C8E2FB2013388FB97CB0E404, - 9E69FDED50CC01056C1E3A3F, - 649BC7DF20650B1753E12AF4, - 2D8DDEA5DED7302CBA238934, - 94F54CCBAAF1F7BECBE15D38, - 6C6F5F4F0570E2CE9AA515B7, - BD98C1BE7812F052CB13F901, - BFE7C09CA4AFAC973C267D11, - 824822F2A6A539B2D797DE23, ); name = "juce_core"; sourceTree = ""; }; - D819E535B50B941C9A6E8FAB = {isa = PBXGroup; children = ( - 4E0A9537FFDE89E4B46710CB, - E9B8B3FAECC80B66257B14F9, - 8F8DD95844D647749BA662B7, - 607FA0800596585429F6C22B, - 15348CE8667592D8F3841601, - 32F1D9C9FD2C0796E2E66C6A, ); name = encryption; sourceTree = ""; }; - 3C9C844C356DB55BB284218A = {isa = PBXGroup; children = ( - 0EA8F0AB668E3B77E8088139, - 8D121C4BCB6A36684EC59FB7, - F1A30E40F7388D16BA35B0DB, - 9A895B323AC3DDD249D99CB7, - 30D828B153772EC3FBADF543, - 869FEB02E31658BD16664F1C, ); name = hashing; sourceTree = ""; }; + 9007E874A2FEEDAD24A9F7F0 = {isa = PBXGroup; children = ( + 9D0B40C4BF8FD939C33E3D59, + 0E11770AD343D8A0780C54BE, + 80A57920E6EA9C2E881BC3E5, + 39E4404D57A8B66DF520B66F, + 2274B9A5BC921FE3B877D0C1, + A1EFF3DBE5F7B0C07AE59D7C, + CD9B8C96642C7F691FCB3EC4, + 6EA8B0940C4486B9F03BA19C, + D61BA88D3AC9556266FE4368, + 24E2AF695F11B9BAEB8FBE3D, ); name = network; sourceTree = ""; }; + 32C5ED6A8EEB53DF786EA273 = {isa = PBXGroup; children = ( + 945E090A8DE2E776F7033143, + 9CED8F32B3718A90481EEDE6, + 9B9F578EC77AA988C919AC6F, + 49D1B40749401475B52A6F85, + BFC3C3EBCDDABF1529A317FF, + 62D20AFF94117B99556BF56C, + AD593F766DC27414A94FABEE, + 429974B1B4C361F218093A41, + B7AE6C1C50421EE6E02045DC, + CC5F6FD5F339E1811037EABE, + 03CB1183519203936C33025A, + 86BFE5D66623DB207CEA3F9F, + 3FBF109F3AD6DE221EFB1BA2, + DC0AE99EFE4F88987CA2F705, + F9F4D5D9783B88F2DE889023, ); name = streams; sourceTree = ""; }; + 701F4D4F2F738CF7491C920F = {isa = PBXGroup; children = ( + 80202384D81020DAE2072A1A, + 218E36147FA4309F072C1949, + 33F3182598E9A84AD25A9184, + 8BDC3161654344162ECDCB32, + 6BDAB94A88B565A734534368, + 12E4EED0370A1733C6629D86, ); name = system; sourceTree = ""; }; + 8B0950BB3801C1CB7418F5F6 = {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 = ""; }; + 0FB4DDC3457DFB5C76DFA9E5 = {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 = ""; }; + 613E319C4446EECCB1C11EDF = {isa = PBXGroup; children = ( + CCD2ED6F6F3ABCC172DC4957, + 2060347D582A8E45F58AE1C2, + 3D2D6313C0A3397C4839B29B, + 0B3662D1FFE3102476FD60D7, + 78979AFF44F164451516C986, + 23A853ADC54A69406C7A49C6, ); name = time; sourceTree = ""; }; + 917E7615AED717BFFD2B2748 = {isa = PBXGroup; children = ( + 46118CBA9C3CD3B354D93B30, + 3EF890CB40C6FFCAE055B7B1, ); name = "unit_tests"; sourceTree = ""; }; + 48AC852C4D58B1A43FF5CF19 = {isa = PBXGroup; children = ( + 8A89A7C0DEC85C7773251B15, + 2E29C6A0CF15C32A35119DCA, + 16DC590DCFE57F583E99F9C9, + 6BEA46E3C64DD2FD8946CD35, ); name = xml; sourceTree = ""; }; + DD25B4337F2CF8FFF14D1177 = {isa = PBXGroup; children = ( + 41F65957FAEED268DBFFE925, + 94FDE7DB4503F1DA55B7A47D, + A3BC97F67B5567379214CECA, + CD4DB45FA0E529AD1A38DA8E, + A670765B72A94519A5F66E81, + DBA2AA024D68F286B07E32AC, + 608B8EFDDEBB7573425846B6, + C9285E46E758A36E7BE10F1E, + 409B6897E764E49BCB4A9277, + ED60462270C52F6FA0844E31, + F9AF8317EEF3297C1D616049, + 364888A8E80B59503995FE18, + AAF6B6F2F129303FB8682109, + 8E8283D81F04E954670F2636, + 3529CDDF14775FE48C57039E, + CC9D900E9D8A5997076C8614, + 0A912DDCDF5336D520DF06F9, + C5333852BC17403BEE42815C, + 79EB99F04FC9B1ADB0810935, + D2CD51975BB4D1630629B620, + 2EFA7470343EBFC6E338F7A9, + 1669962FEA6685A54CD44F3A, ); name = zlib; sourceTree = ""; }; + 912A12990074F09386E96068 = {isa = PBXGroup; children = ( + DD25B4337F2CF8FFF14D1177, + 50D167857CCBE08F692604BB, + D65129253734C1917354C08E, + 5FC58B5FBBBB09878E3F2230, + F29F6395C4935C1A663A1D15, + 55F9178934DDF31583323625, + 2F66B42AF6C0B5ED381937C3, ); name = zip; sourceTree = ""; }; + 7AB76D65BF8ACD7C0CCB6169 = {isa = PBXGroup; children = ( + E0066AC466DB544165B25C93, + 87941A88EB5477A35AE58282, + BC5183F7CB9EB07B19F0DAF9, + BB0D6B9597130E0569A377E0, + 46C240D133177910EC7257A6, + 5C3DD8859FD4ABA9978A896C, + E02451B1F1D00BF2FC0044CA, + 658C72E6E7F52541C5F63652, + 9007E874A2FEEDAD24A9F7F0, + 32C5ED6A8EEB53DF786EA273, + 701F4D4F2F738CF7491C920F, + 8B0950BB3801C1CB7418F5F6, + 0FB4DDC3457DFB5C76DFA9E5, + 613E319C4446EECCB1C11EDF, + 917E7615AED717BFFD2B2748, + 48AC852C4D58B1A43FF5CF19, + 912A12990074F09386E96068, + ABFAD9653637328D6FB7F06B, + 824822F2A6A539B2D797DE23, + 4E49D12CA5C42721F532DCD6, + 824822F2A6A539B2D797DE23, ); name = "juce_core"; sourceTree = ""; }; + D819E535B50B941C9A6E8FAB = {isa = PBXGroup; children = ( + 4E0A9537FFDE89E4B46710CB, + E9B8B3FAECC80B66257B14F9, + 8F8DD95844D647749BA662B7, + 607FA0800596585429F6C22B, + 15348CE8667592D8F3841601, + 32F1D9C9FD2C0796E2E66C6A, ); name = encryption; sourceTree = ""; }; + EE6612FF2E3D0EC70FC024BB = {isa = PBXGroup; children = ( + 0EA8F0AB668E3B77E8088139, + 8D121C4BCB6A36684EC59FB7, + F1A30E40F7388D16BA35B0DB, + 9A895B323AC3DDD249D99CB7, + 30D828B153772EC3FBADF543, + 869FEB02E31658BD16664F1C, ); name = hashing; sourceTree = ""; }; AED3AAA07A81C88CC540827D = {isa = PBXGroup; children = ( D819E535B50B941C9A6E8FAB, - 3C9C844C356DB55BB284218A, - E52756E1DB553ED02D829F61, + EE6612FF2E3D0EC70FC024BB, + B02CAD037D993AC554573415, + 06BD2631BF3C52F26B9981E8, + B9D26C6C4CED62E6708B6865, 06BD2631BF3C52F26B9981E8, ); name = "juce_cryptography"; sourceTree = ""; }; - D4863F7EB960C2709BB3076B = {isa = PBXGroup; children = ( + 35030E2E43A56D85963D945C = {isa = PBXGroup; children = ( + 5B0A45CD67D62B0BF9FC22F9, + 9327D6AA8805BE7AD971D68C, + ABDFE5D85E6ED3CBB8AE1F50, + 93B3667FE4186CD75426EA53, ); name = "app_properties"; sourceTree = ""; }; + 1D71BB83807483ADA73BDA10 = {isa = PBXGroup; children = ( + F3B746DC92EFE7A9B8EA9E43, + 5FD5503AB0E161315DD5CD70, + 171E2FEB6097B9D059BCD196, ); name = undomanager; sourceTree = ""; }; + F4291B2AB46BA9F37B0894B0 = {isa = PBXGroup; children = ( + 7B8FADFD12EC0B9EC8A4ED09, + 99E9746687DD6E518585DB09, 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, - E635F16A3A42F4C92EB0E043, - 4E83EFA92EA783E37B892C4B, - 8FDA4FBF31997AEBF3AE10E4, + 35030E2E43A56D85963D945C, + 1D71BB83807483ADA73BDA10, + F4291B2AB46BA9F37B0894B0, + BE092C995070D86673E0CA21, + 11005DEC79FC6A6057FCFA7A, + 63AC834818EFF45708101F9A, 11005DEC79FC6A6057FCFA7A, ); name = "juce_data_structures"; sourceTree = ""; }; - A34FC16C72F52B0B801CEF25 = {isa = PBXGroup; children = ( - C20FD8D605E6714D473D5C9B, - C784392363846286D29F207F, - 9CDE3A30398FB033E5AE8498, - 6DDDB822BBF3D557CA7AB427, - 3411D087E2F8C3962E73F64F, - F6DB1C1E0D9315245E87CBC2, - 06FACF171E0DE0AC6318AE4A, - 2F7F13C84464F8409BBDBEB0, - C5A932A82042E2DAEBE1C302, - EF8055850F3DEA173761E3B5, - 6E9BFA2B6260E09B2B3948E9, - 3C18AC0F75E68A8601DD8F08, - 3F2BBE4509B19BFAC929D8DF, ); name = messages; sourceTree = ""; }; - F46AC40E7CD6D4DBE5062442 = {isa = PBXGroup; children = ( - 5F3E8B08EE74B0023DA176B1, - F42FE65C750920656EA22BF8, - DB8FAF091C9E78AE5F64701F, - F91A3C07D81BE2D4A191C9A2, ); name = timers; sourceTree = ""; }; - EDB1CEFD978D97AA80C44D11 = {isa = PBXGroup; children = ( + AD02336B808FDDCEFFD714A8 = {isa = PBXGroup; children = ( 9A60BF3F27FD10A058F4E956, 5AB81EDAFED264951169F1B3, 0F3360D13458198A3A88B1A1, @@ -1721,7 +2339,21 @@ 1CD8799B8784A91FC13E6641, 17C0612B5BA94849EA9768CC, E30009C6743474CD6195F5F8, ); name = interprocess; sourceTree = ""; }; - 604E5DA5952F5D6A87D74C8A = {isa = PBXGroup; children = ( + F80940DC484E417EAD307ABD = {isa = PBXGroup; children = ( + C20FD8D605E6714D473D5C9B, + C784392363846286D29F207F, + 9CDE3A30398FB033E5AE8498, + 6DDDB822BBF3D557CA7AB427, + 3411D087E2F8C3962E73F64F, + F6DB1C1E0D9315245E87CBC2, + 06FACF171E0DE0AC6318AE4A, + 2F7F13C84464F8409BBDBEB0, + C5A932A82042E2DAEBE1C302, + EF8055850F3DEA173761E3B5, + 6E9BFA2B6260E09B2B3948E9, + 3C18AC0F75E68A8601DD8F08, + 3F2BBE4509B19BFAC929D8DF, ); name = messages; sourceTree = ""; }; + C29F1875B66EDED24B79C393 = {isa = PBXGroup; children = ( E7113B21A18CD89165BAFD4B, EB369EA30D31CD710A09B7FD, 82CDD7D8E38202F102788090, @@ -1730,15 +2362,22 @@ 78DAC3299488E0CC70EDB206, C77F148F8E8E9F805D730386, 4407A352B303B27AA0B7D579, ); name = native; sourceTree = ""; }; + C255EBE3A74D88CE9A29A303 = {isa = PBXGroup; children = ( + 5F3E8B08EE74B0023DA176B1, + F42FE65C750920656EA22BF8, + DB8FAF091C9E78AE5F64701F, + F91A3C07D81BE2D4A191C9A2, ); name = timers; sourceTree = ""; }; C217E6D7051F0944FFE75A52 = {isa = PBXGroup; children = ( - A34FC16C72F52B0B801CEF25, - F46AC40E7CD6D4DBE5062442, - EDB1CEFD978D97AA80C44D11, + AD02336B808FDDCEFFD714A8, 7F49B97D06C9CA8E7C5888A7, - 604E5DA5952F5D6A87D74C8A, - E243FC2BD3446D9518049538, + F80940DC484E417EAD307ABD, + C29F1875B66EDED24B79C393, + C255EBE3A74D88CE9A29A303, + 9A4D6196AE49BEDAE4054729, + B17EF578E9B736B1C5A5E8BF, + 9079FD325609A4E67E44F3ED, B17EF578E9B736B1C5A5E8BF, ); name = "juce_events"; sourceTree = ""; }; - 509EE811D5F7C5DCF8D66EC5 = {isa = PBXGroup; children = ( + 3948C1E25575B3E3F3C2C1B3 = {isa = PBXGroup; children = ( 885A0F1B41FFAF32ADC70925, D400C8DFE9DA635FDDBF57BB, AF396B7AE1BE00099A19D191, @@ -1748,7 +2387,7 @@ 11F6937FC766E1E9568311C2, 33B829EE652FAA7EFB9E7460, 73E670E23A2523F7A1B14775, ); name = colour; sourceTree = ""; }; - ACB6D23DBA7C941FEC62F935 = {isa = PBXGroup; children = ( + 45610FB37AA41F443C79FF61 = {isa = PBXGroup; children = ( 6808473BBCC2E4D8E2CA0E71, A8243EDBF34E3E3D4338D6F7, 04C5FED8AEA4109C4ED07111, @@ -1756,20 +2395,26 @@ 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 = ""; }; - 54810F7DAE8AD92E99472AAB = {isa = PBXGroup; children = ( + C578CCF8A53588B0F1831D03 = {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 = ""; }; + 9A5C589D98959551C5780AEF = {isa = PBXGroup; children = ( E199DDD8F06741F21D8F9CFD, E41A387D233A436131D7910E, 9ADA045A14202C9CF4F8CD40, @@ -1785,30 +2430,105 @@ 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 = ( + 56B253C0C10EA8B44FD155A0 = {isa = PBXGroup; children = ( + 1AE91BCC794B0ED9C7C0EF9B, + 47962D8ADD22B8DC0CC4FF58, + BC5C356A2C2BCF10C0110E05, + 72A21240D2F87F857F10D246, + FFF76FBE6229D1D034294843, + A4961A58A7D5F765D1EE083C, + B1608DC2A0212CE5D68585A8, + F6A32897F123B06226205866, + 80E4E835F2D35DA1E67B19E3, + E6AA10B691E44C8C1ED5A8E6, + E463B9F4796E34B8082A4EE5, + 977900010F61AF4676582E87, + A89CE9DD8363BF699DBAD4A4, + 2D68B7EF20BC3D11B3028648, + EC0F56A4059858E05BAB98BA, + 1FCFCE4595E8313E1773B00D, + 0FC37E13A65710E3B9750BA3, + F3E98B138E54B8434CB3E34F, + D185139B980081A6E950B572, + 21D71A36ABFDADD9A882857B, + 15F205032C5F811EC319B6D3, + 68944F99BABCA83A0440CDB0, + 2E8E52B63BFBEF408E55B678, + DD710105BDB9E94D4D137061, + 97C2F5225DC78ED6569FA916, + CCEA3C304A87D1B80D2A8AE5, + 45F089CBDED5CC39009A2FAD, + CCD337188E562E1273DAF2E9, + 4F2F2A6C3D3451EF896D71CC, + 592EFD580F6FC53E161A66EB, + E3EA85354D9EE49DD8F21968, + 538250B9DBD536733027C345, + 9627C56BF9BE509ABEF3B0DC, + F505192F2FE344F52DD681A2, + 437C63D80EDD563A91265CE0, + D25576B0B80B36DC4C9830E8, + 51FD353EA1F98D94A6A14B48, + 04ABAB5151BDC73BF265167F, + 70F3590A122BFEBB8CF6049D, + 7F539606D07BB39F04614D94, + 236E11A53CE927AAA6681994, + 279EE7599C1DAE9EF83A59F6, + 0CF03118A8723AF780D2A170, + 0DD213E13669B821F91D3FAE, + D19A55AA2BD9028ED50F1941, + F6A48D53B5FE3830E3078B20, + 690DC0717A03CB51D3C34382, + 728155B591553FEF209516CC, + 53F2E8E42E27BCFA8130465A, + CEA314CE7BCC5304D9CF2617, + 904A7BB9AF3500FCC5393750, + 7F53A16CB1E2055C27A1AD8B, + 379876C6391E331282D9C4D8, + 14594884413DA08D26106A81, + 6DDAF504B8C1BFDBF9F0DBB0, + D38060D21F6AC8F6A935A6BC, + CADD66B495B2180CA8A267FA, + D9D55F689FB9EBF41830E597, + E22ACD275523DA9CFA935974, + E8D77909D3D8E10550164EE4, ); name = jpglib; sourceTree = ""; }; + F0CCB9C5F0BA177450F7F0FA = {isa = PBXGroup; children = ( + 919095530634BCA10AB9AE95, + A4EAA590C3776FF63123E093, + 2BEE810D30D4C6FB88206B42, + 911A7962AD32375D7003FD41, + A2FD673C8D6D86B048C9E035, + 52A8B69825B08106E9175D2B, + 4A73387280D58204ABCA6D6A, + 8BBC5E2D4753E8DB74E7BF8B, + 1C9321B265A6894A2E51CCD3, + 69048AB4DDE300C5326BF2AF, + 9E0670BC105AC4CAE8569F04, + F762EA210E2AA9560F3CF100, + B731BB6DF7C0468A42BBFEBA, + 45BEA8B0139968C92A30EF34, + 831F5A6F03F8ECD18E2427D2, + 90C0455F5170CBCB8BB425E4, + 75944B175ADD077F59AADFCC, + C350AC724B75E0B996FAB6EF, + 8994E8A4FE0432DB2C9F5C32, + 87B4302733FC6319FC9B1CB3, + 653E2E92DFD20A216DC5E698, ); name = pnglib; sourceTree = ""; }; + F7E2B18722D25139EC4DED3B = {isa = PBXGroup; children = ( + 56B253C0C10EA8B44FD155A0, + F0CCB9C5F0BA177450F7F0FA, + F584FC21C26C72A81D840840, + 3A42694A047942A44E8216F5, + 0F88F061C51BE43F53B27094, ); name = "image_formats"; sourceTree = ""; }; + 01511FDCFDF07798F149E5C7 = {isa = PBXGroup; children = ( + 3DA95E7AE1D0DC64AF09EB66, + 8DDCA7803625CF8DA817326A, + 29919F82CA5311BEA61649D9, + 0638493DAFCB6148E77159B1, + 0C73944DB76DB5DA61210A33, + 62F9B202D524E33A2843ED84, + BF2CAEB6EC641789133B627E, + B8D4B6843E55CC07167085AB, ); name = images; sourceTree = ""; }; + FD1C946DC2DC878FEB78451C = {isa = PBXGroup; children = ( 3D0EA5C831C347728313FDFE, 31D74E7CF149EF5B569417A7, 9EB305226A801CB7012884F0, @@ -1822,19 +2542,57 @@ F43CED7548EE5C9F841CB1FA, 6A6A22EF81805BE907DB5DA2, 3008922C531303C24B8791AA, ); name = native; sourceTree = ""; }; + EDF93544F0E0C0528D799FF8 = {isa = PBXGroup; children = ( + E5058DD199CEC42ECE922239, + D74B19291F4B0370A2742A63, + 88E9F6A65110F4753E115FF5, ); name = placement; sourceTree = ""; }; A3212051A49A69AC9D00F91B = {isa = PBXGroup; children = ( - 509EE811D5F7C5DCF8D66EC5, - ACB6D23DBA7C941FEC62F935, - 5F88ECDF0F4610C51B00F5BE, - EEE338C2B3F2C4EE365FF019, - 54810F7DAE8AD92E99472AAB, - E92E581D7C45CBF3D826649F, - 006806660141E87655AADFBF, - 4557FCCC2DAA4803E4145C52, - 3F44D4EFF1ABC95BADCF6424, - 94F15602279A81777504F22C, + 3948C1E25575B3E3F3C2C1B3, + 45610FB37AA41F443C79FF61, + C578CCF8A53588B0F1831D03, + 75A548DB882C9629FFFA850E, + 9A5C589D98959551C5780AEF, + F7E2B18722D25139EC4DED3B, + 01511FDCFDF07798F149E5C7, + FD1C946DC2DC878FEB78451C, + EDF93544F0E0C0528D799FF8, + 75DCF8CC61D7B790251356A1, + 6ACBD7C68EE20A8E8C5CC1AB, + B27A7B237782F9E15E4BF8D5, 6ACBD7C68EE20A8E8C5CC1AB, ); name = "juce_graphics"; sourceTree = ""; }; - F1DA02E10E12854B9398E8C0 = {isa = PBXGroup; children = ( + 931170B47480060D59E2B7E4 = {isa = PBXGroup; children = ( + 5434953F55BD35F74D59D980, + 6A3315B465362CD3AF66D306, ); name = application; sourceTree = ""; }; + 27A66F8D80CC3A05EC51C9C6 = {isa = PBXGroup; children = ( + 182223C68F452171BE479C01, + 3240A232A5C82A812A837A2F, + 912E1A63093C3FA3BD2AFE61, + AE68B9AA74EE6F138B3E0B94, + 7338D006521EDC5C10EEF974, + 791B204F13E056DA2644175D, + 6CF95925EA874CFABAF7C284, + A166FEC488A2EE5290FF0722, + 215D455CD5A3BD7537F88630, + 5595C04B0C1D8D8EBA119C8A, + 38B737F6F0007F752EE380B6, + 74CEBA45E0A8ECA5CFA9BEF7, + B688441D29BB51A9C4E83CFC, + 1339BD00EBF554E995968B6D, + 4ABF4B55F979F2A88EB1B331, + C2FFDDA61218A94403D5FE56, + 355DBB46C4283779C367E97B, + 09EB2AA32041290412E00D8B, ); name = buttons; sourceTree = ""; }; + 90A2F8E8D2AFC78187045A0D = {isa = PBXGroup; children = ( + 06903FD63E508771C576431D, + F779C79AC37C83A60B997641, + 151ADDBE74B99337BC2C2586, + CF626DE27EB763C9BCFD4F15, + 01AD7BA1E1B20309DC969EE2, + CAD3749B6A5BDB2BB00D3498, + 3B61B715F29A0AEAEF73CCBA, + 2BC7AB69474D7E280098B893, + 818729A3311F3A7B8DB03764, ); name = commands; sourceTree = ""; }; + 2CCD7698C19BBD088CE96913 = {isa = PBXGroup; children = ( 2F1324CBA29604BD3E2003B5, 2108383000B0A3564DFF340D, C549EFF977C210EB398C9A33, @@ -1844,97 +2602,60 @@ 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 = ( - 73F0F1FA09AE9F7308AFCC3B, - C6D9D6E03D4B740DDF9B3C57, - F037091D4A3012EBBA1E808F, - 0C6B7C49C4630C18F995C738, - 10932841EA586B6969446549, - A2EBD42F94D37FFF10F25985, - B2BD3F284DBA9EDFFF80ECE1, - 4E892CB7335853F8FE91B26F, - 5DA9EA3E74C2AB870EC9CACB, - 17D0D2AD3243F65FADB94446, - 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 = ( + 997D0DE45FD1E3EFA4E529C6 = {isa = PBXGroup; children = ( + 02F0BF69062E8D9583F13C83, + A99853D3CB536CFDB6C91F98, + FE4C496CFA9A1E786253B005, + B3976635944EC69837499F9F, + B033B7729D2D204BBD71BDD3, + 2EB37CCC4FF8C40B015C0555, + 77BD025036C8B02426E61C79, + 7DE074DF0D3074275DBBF9B1, + 6940E5FE7BC1ED1BB2258886, + 2DAD09E643C29B6DE7F26EDF, + 3855013A39E97B76B46E055E, + 11CB66B1CBA64B205FDF2767, + 02ABF8C447E1A47845F6027D, + 842FE973E11AAEF49D77AFE3, + 9461C1D2300CC3A91EC2D169, ); name = drawables; 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 = ""; }; + 86FB4343774246D5644E05AB = {isa = PBXGroup; children = ( + 73F0F1FA09AE9F7308AFCC3B, + C6D9D6E03D4B740DDF9B3C57, + F037091D4A3012EBBA1E808F, + 0C6B7C49C4630C18F995C738, + 10932841EA586B6969446549, + A2EBD42F94D37FFF10F25985, + B2BD3F284DBA9EDFFF80ECE1, + 4E892CB7335853F8FE91B26F, + 5DA9EA3E74C2AB870EC9CACB, + 17D0D2AD3243F65FADB94446, + 70F33D8D2F48D64188861C6C, + AC3600881A53014EFC1CB8D2, + 0E1F414FCC996E155B4DB5DF, ); name = keyboard; sourceTree = ""; }; + 5933B882E6CCF71DDAD3290F = {isa = PBXGroup; children = ( 1676147A3FADD6D79FF42CDF, CD8B9E60EFE0A0ED368EE3D9, 7890AB8CBF31F9788E10DBD5, @@ -1971,72 +2692,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 = ( + EEF495E9ED24783E1A3352EC = {isa = PBXGroup; children = ( 4F56EAB8D09665602226930F, 73EC10FBCA420227E5A145F9, 4AEA921081036DD4C259B45F, @@ -2045,48 +2701,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 = ( + 36588B3B34796BF3C473D6CA = {isa = PBXGroup; children = ( + 10DF2A823B97BBC0BD840B9F, + 989CD2B68A4EF90456E19ED9, + E32D1C481161F063918F76AA, + C06F64DF6D95D5C9C8B2D5F8, + D94C07E10FC25EE303D64992, + 937A2E7B951F5D527DF54245, ); name = menus; sourceTree = ""; }; + 59799D2C3AB2B87C03A2E4E8 = {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 = ""; }; + F0AED22B6C1D16B4A92A3274 = {isa = PBXGroup; children = ( 01F49D3FD943424005FB512F, DD5F4BFEA497212883A869A9, 7DA062415E40E3BEC0B847FE, @@ -2103,27 +2751,107 @@ 70276A64A50E5B56492853DD, 6A4AE0C59C1210D28A8C8AF7, 2F19C814598FC304CA841242, ); name = native; sourceTree = ""; }; + 71E0F58372DB2B15C7236D7A = {isa = PBXGroup; children = ( + BB29289B196047505CF5EE6B, + 541E4974C73E294DBA415BA0, + F4BBD7DEBE0F1DD2CE45C411, + 1BE21633CDF618F8D993F3BE, + 193F42507FBE4E7A62D81E2C, + F89584972F16A8EC49E5E74D, + 531D198DE52845A4B641B6B3, + E682A3A52BD15D5CA4933C12, + A631CD93C2809211DD926938, + 7CDA22D66C8FEDF1B644D041, + 0B9867D5674933AF753A2CF6, + 2F8041ECBF70D78604686D6B, + 82AABF91CB005E5463F1D522, + 2551FA5B61BFBEB5E0310B66, ); name = positioning; sourceTree = ""; }; + FBE6D791C444D882314E9FC6 = {isa = PBXGroup; children = ( + 4F6768F8EF9CB4A34A501966, + 4C13F19ECFF6CA7AB9C801AC, + 8430FB57248237DDAD4CE4AD, + 7B5560AEA0CB3E507C16140C, + 5C5F8713DA326B5C6C559767, + 98D55DE4706A31BCD28458C3, + A966B620E1FB219BD4A4F3D9, + F99F73DEBB0EB724142FA930, + 4C9033415E05CD39408389AC, + 99E8C71CC462DDDBC52D360C, + E9A3E96E32C301EE817059C1, + BC30642EEF908E1C7757690B, + D45AD25E5AC67424EAE5A85F, + 825690E8512078D4F8595CCD, ); name = properties; sourceTree = ""; }; + E44032DFED9905AFC6749239 = {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 = ""; }; + B8437EA646A5AFBC4DFB5A9D = {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, + 931170B47480060D59E2B7E4, + 27A66F8D80CC3A05EC51C9C6, + 90A2F8E8D2AFC78187045A0D, + 2CCD7698C19BBD088CE96913, + 997D0DE45FD1E3EFA4E529C6, 1B6365C0EB9F304B264DC487, - 2761E2946DEDCB0AA51DE683, - 9E82D25138749954193F1450, - 0D77CC5C0E81446BEBBFA067, - 23D479C4AE179B8DDF9FE026, - FAC5DDBFB00254C35D8987F2, + 86FB4343774246D5644E05AB, + 5933B882E6CCF71DDAD3290F, + EEF495E9ED24783E1A3352EC, + 36588B3B34796BF3C473D6CA, + 59799D2C3AB2B87C03A2E4E8, + 96E9E79B573DB15989229616, + F0AED22B6C1D16B4A92A3274, + 71E0F58372DB2B15C7236D7A, + FBE6D791C444D882314E9FC6, + E44032DFED9905AFC6749239, + B8437EA646A5AFBC4DFB5A9D, + 3BC7A4DF55FD436E8C4D190B, + 063357A85BA244642BE1274A, + 09D51FD6DE5DF526BB36B4D3, 063357A85BA244642BE1274A, ); name = "juce_gui_basics"; sourceTree = ""; }; - DF114C5936833878A46997BB = {isa = PBXGroup; children = ( + A979E39F17412D6727CF5163 = {isa = PBXGroup; children = ( DB748B0D9227F5345683CF7A, 436BAE91A167BB6107F261B4, 728E67FDBD3660742A33C7B6, @@ -2136,14 +2864,14 @@ D8EB3FEADD047C7AEFF9C8C8, D7B1BBA8FE789A80E86CEA03, ED3DE86815324354C48631D0, ); name = "code_editor"; sourceTree = ""; }; - DB2F1179FFAFF392444F4FDE = {isa = PBXGroup; children = ( + 6F7EA6D458ED8668BF71C7A9 = {isa = PBXGroup; children = ( E4981056661C3F251FECEC32, F704F70F80BA62A48F3651BF, ); name = documents; sourceTree = ""; }; - 1562C9D9FEDD7C31F674E2BB = {isa = PBXGroup; children = ( + 8A078F21816B96546F8C9F27 = {isa = PBXGroup; children = ( 20A4427A1F9CCC5FC58AA159, 57D6E8A8E8D871EB1DEF6A5F, 17ADC8ECFA616CF392783757, ); name = embedding; sourceTree = ""; }; - 488105705659833F97300471 = {isa = PBXGroup; children = ( + 42D23522D61396640C03114D = {isa = PBXGroup; children = ( 0876934F047839205147DB99, 408C5E78F7DE038844E18D31, 6EBA81213324106593EF5DF8, @@ -2164,7 +2892,7 @@ 00869109FF554F8DB553761D, 6163B3DFD893F55523113A40, D80487E6482EB12BF2C6BD22, ); name = misc; sourceTree = ""; }; - D9F37F228663829FCEC732D3 = {isa = PBXGroup; children = ( + 1D1BEEE67D4DAA513D47FBB1 = {isa = PBXGroup; children = ( 106F27CF32C79FAEE768ABA3, D93CE990D75211F4A5EBB4F7, 4FE6B5F0E1AC94CFA6BCC19A, @@ -2178,14 +2906,29 @@ 37E835EA1318A5D504282D90, B589CF5248A17A319E5EC80D, ); name = native; sourceTree = ""; }; 7FE4C9E90512F2CE899CFC51 = {isa = PBXGroup; children = ( - DF114C5936833878A46997BB, - DB2F1179FFAFF392444F4FDE, - 1562C9D9FEDD7C31F674E2BB, - 488105705659833F97300471, - D9F37F228663829FCEC732D3, - B6EFD8D461F7BC1CA4954B69, + A979E39F17412D6727CF5163, + 6F7EA6D458ED8668BF71C7A9, + 8A078F21816B96546F8C9F27, + 42D23522D61396640C03114D, + 1D1BEEE67D4DAA513D47FBB1, + 112164BE5067BB3274FDAED8, + 1F2FF9F4A1F8325AD3F19EA7, + 141036E097DAC47FB6F9CA80, 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 = ""; }; + DB5439F4B71A086E30BFBE45 = {isa = PBXGroup; children = ( A1F10BB1A2745DC95DDDE0D6, D6AB846628BE74C5349C95CA, 6257CEA3C6EADCB94E25010F, @@ -2203,47 +2946,38 @@ FC1BA0654179A585DF5B9DC5, 6BA2D0C9FB49A5C3E0554000, AC25983CE9B938D1DB002A98, ); name = opengl; sourceTree = ""; }; - F873F1C35B16AE04A75E99A0 = {isa = PBXGroup; children = ( - FF34F4ED0C44B2BA4FBF22AA, - E8DBB02B17A6E144D08E4CC7, - 6308DABB4145FBD330B7DA5A, - 8EF11A0D1370915CA7AF4F64, ); name = geometry; sourceTree = ""; }; - 8EEE76AA4EC057A4D2507E39 = {isa = PBXGroup; children = ( + E811DB2F6FE958CD58944456 = {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, + DB5439F4B71A086E30BFBE45, + E811DB2F6FE958CD58944456, + DEEF4C52F6D21B716534F2A9, + 14A37C392DF6CF1CDB64612D, + 786CF1CA66289DB77845F8E9, 14A37C392DF6CF1CDB64612D, ); name = "juce_opengl"; sourceTree = ""; }; - D0F919BD5E25E00651040936 = {isa = PBXGroup; children = ( - 29930414E0C7FD5EFC7F2095, - 36C9E79611229727DF5E5836, ); name = playback; sourceTree = ""; }; DBDA6BAA1B84CA0C6F838008 = {isa = PBXGroup; children = ( 3EC73BE7C098A631E5D5107D, 29C7AE377B006C00D4293C59, ); name = capture; sourceTree = ""; }; - 75E1163D29EDCDF203433D84 = {isa = PBXGroup; children = ( + AD173B0CF96B83CD29987F05 = {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, + AD173B0CF96B83CD29987F05, + 7DEFA7A7E23C0A137CEA6069, + F15C7935F9F6BC83AB51C529, + B6874BAE87F275944C07B498, + 9895036432E9AE55EE16323F, B6874BAE87F275944C07B498, ); name = "juce_video"; sourceTree = ""; }; 713498D20048E6A3D46E2D0B = {isa = PBXGroup; children = ( EAD085E39B98D2F88E2854DA, @@ -2265,24 +2999,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 = ( @@ -2300,7 +3034,7 @@ AAA2590D363C6DE624D320A6, 1796A99F33AD5998FE4A6035, ); name = Frameworks; sourceTree = ""; }; 9EB09FCC1FD3F263F24203C5 = {isa = PBXGroup; children = ( - 229D2DAADACF15540C3BBD15, ); name = Products; sourceTree = ""; }; + 90B1185950EF7670F87EAA3F, ); name = Products; sourceTree = ""; }; 605D88E415A9989447F78548 = {isa = PBXGroup; children = ( DAD5A945FFB6D6920BF0D1F6, 713498D20048E6A3D46E2D0B, @@ -2308,7 +3042,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; @@ -2325,13 +3059,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; @@ -2349,15 +3084,17 @@ 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; OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.JuceDemo; SDKROOT_ppc = macosx10.5; }; name = Release; }; A16C0416417EF9DF7B09973F = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2386,16 +3123,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, @@ -2437,22 +3175,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, @@ -2466,11 +3204,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; 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 975b6710..ecb6a582 100644 --- a/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj +++ b/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj @@ -169,6 +169,9 @@ true + + true + true @@ -247,6 +250,12 @@ true + + true + + + true + true @@ -262,15 +271,6 @@ true - - true - - - true - - - true - true @@ -319,982 +319,1501 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1318,6 +1837,9 @@ true + + true + true @@ -1333,22 +1855,25 @@ true + + true + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -1359,6 +1884,7 @@ + @@ -1391,6 +1917,9 @@ + + + @@ -1398,20 +1927,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1421,8 +2021,26 @@ + + + + + + + + + + + + + + + + + + @@ -1433,15 +2051,6 @@ - - - - - - - - - @@ -1452,6 +2061,7 @@ + @@ -1462,43 +2072,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1515,25 +2138,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1543,6 +2147,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1556,30 +2194,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1588,14 +2259,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1605,19 +2287,12 @@ - - - - - - - - - - + + + @@ -1628,10 +2303,15 @@ - - - - + + + + + + + + + @@ -1642,39 +2322,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1683,33 +2398,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1729,15 +2417,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1745,13 +2447,6 @@ - - - - - - - @@ -1759,31 +2454,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1809,20 +2504,11 @@ - - - - - - - - - + - @@ -1830,10 +2516,22 @@ + + + + + + + + + + + + - + @@ -1849,22 +2547,11 @@ - - - - - + + - - - - - - - - - - + + diff --git a/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters b/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters index b151feae..2cfd39ba 100644 --- a/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters +++ b/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters @@ -41,45 +41,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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,26 +131,56 @@ {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} {141B1452-6821-88F4-FFF8-F13BC738929D} + + {D788F8CE-816F-E50B-0137-362EA8202CD8} + + + {2F7C09E9-B2E5-4570-B21C-4B7380C2DECE} + + + {811DEACE-EEEF-A25E-BA5D-69D777C4AC93} + + + {D2A5FD6A-3D6F-A91D-1565-50F7DA71C436} + + + {EF6F967F-1105-9944-3B6F-A65C987E517B} + + + {C3146994-CDF2-4547-65EA-A3FF3A0E5B3A} + + + {B15524AD-C161-4E76-F3FD-D6E68A3C6FF6} + {E3D8F4B4-33E2-B3AA-1F4F-CD78351C6C37} {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 +188,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -137,29 +200,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -173,33 +236,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,80 +272,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -305,30 +374,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} @@ -460,6 +529,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -538,6 +610,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -553,15 +634,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 @@ -616,26 +688,134 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -664,26 +844,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -703,6 +892,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 @@ -718,6 +925,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -736,9 +949,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -754,47 +964,155 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_box2d\utils + + Juce Modules\juce_audio_utils\players - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Collision + + + Juce Modules\juce_box2d\box2d\Collision + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Rope + + + Juce Modules\juce_box2d\utils + + + Juce Modules\juce_box2d Juce Modules\juce_core\containers @@ -811,33 +1129,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 @@ -862,88 +1153,49 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\native - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\native - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\native - - 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 @@ -1003,6 +1255,156 @@ 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core + Juce Modules\juce_cryptography\encryption @@ -1021,17 +1423,11 @@ 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_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -1039,23 +1435,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -1075,6 +1474,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 @@ -1090,6 +1501,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -1111,26 +1534,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1147,236 +1573,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1405,26 +1846,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1450,80 +1894,122 @@ Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\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 @@ -1531,8 +2017,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1579,6 +2083,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1657,7 +2275,13 @@ Juce Modules\juce_gui_extra\native - + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\opengl @@ -1684,6 +2308,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1705,52 +2335,58 @@ Juce Modules\juce_video\native + + Juce Modules\juce_video + + + Juce Modules\juce_video + 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 @@ -1779,6 +2415,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1875,6 +2514,15 @@ Juce Modules\juce_audio_basics + + 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 @@ -1896,47 +2544,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1965,41 +2826,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -2028,6 +2886,36 @@ 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\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 @@ -2058,6 +2946,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -2088,116 +2979,155 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_box2d\box2d + + Juce Modules\juce_audio_utils - - Juce Modules\juce_box2d\utils + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_box2d + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Rope + + + Juce Modules\juce_box2d\box2d + + + Juce Modules\juce_box2d\utils + + + Juce Modules\juce_box2d + + + Juce Modules\juce_box2d Juce Modules\juce_core\containers @@ -2247,89 +3177,134 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\time + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\time + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\time + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\files + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + 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\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\network @@ -2370,12 +3345,6 @@ Juce Modules\juce_core\streams - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - Juce Modules\juce_core\system @@ -2391,56 +3360,161 @@ Juce Modules\juce_core\system - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\text - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\text - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\text - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\text - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\text - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\text - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\text - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\text - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\text - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + 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\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core Juce Modules\juce_core @@ -2466,14 +3540,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2481,15 +3555,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 @@ -2517,36 +3624,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 @@ -2556,6 +3633,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2586,17 +3672,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 @@ -2628,38 +3729,71 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -2670,9 +3804,63 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + 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 @@ -2688,44 +3876,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2751,87 +3957,6 @@ 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 @@ -2889,32 +4014,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2937,27 +4104,6 @@ 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 @@ -2979,80 +4125,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -3129,32 +4275,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -3168,9 +4290,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -3192,17 +4311,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + Juce Modules\juce_opengl + + 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 Juce Modules\juce_video @@ -3245,53 +4400,20 @@ 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_formats\codecs\flac - - Juce Modules\juce_audio_utils + + Juce Modules\juce_audio_formats\codecs\oggvorbis 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_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib 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 @@ -253,6 +256,12 @@ true + + true + + + true + true @@ -268,15 +277,6 @@ true - - true - - - true - - - true - true @@ -325,982 +325,1501 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1324,6 +1843,9 @@ true + + true + true @@ -1339,22 +1861,25 @@ true + + true + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -1365,6 +1890,7 @@ + @@ -1397,6 +1923,9 @@ + + + @@ -1404,20 +1933,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1427,8 +2027,26 @@ + + + + + + + + + + + + + + + + + + @@ -1439,15 +2057,6 @@ - - - - - - - - - @@ -1458,6 +2067,7 @@ + @@ -1468,43 +2078,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1521,25 +2144,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1549,6 +2153,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1562,30 +2200,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1594,14 +2265,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1611,19 +2293,12 @@ - - - - - - - - - - + + + @@ -1634,10 +2309,15 @@ - - - - + + + + + + + + + @@ -1648,39 +2328,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1689,33 +2404,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1735,15 +2423,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1751,13 +2453,6 @@ - - - - - - - @@ -1765,31 +2460,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1815,20 +2510,11 @@ - - - - - - - - - + - @@ -1836,10 +2522,22 @@ + + + + + + + + + + + + - + @@ -1855,22 +2553,11 @@ - - - - - + + - - - - - - - - - - + + diff --git a/examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters b/examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters index b151feae..2cfd39ba 100644 --- a/examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters +++ b/examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters @@ -41,45 +41,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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,26 +131,56 @@ {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} {141B1452-6821-88F4-FFF8-F13BC738929D} + + {D788F8CE-816F-E50B-0137-362EA8202CD8} + + + {2F7C09E9-B2E5-4570-B21C-4B7380C2DECE} + + + {811DEACE-EEEF-A25E-BA5D-69D777C4AC93} + + + {D2A5FD6A-3D6F-A91D-1565-50F7DA71C436} + + + {EF6F967F-1105-9944-3B6F-A65C987E517B} + + + {C3146994-CDF2-4547-65EA-A3FF3A0E5B3A} + + + {B15524AD-C161-4E76-F3FD-D6E68A3C6FF6} + {E3D8F4B4-33E2-B3AA-1F4F-CD78351C6C37} {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 +188,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -137,29 +200,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -173,33 +236,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,80 +272,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -305,30 +374,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} @@ -460,6 +529,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -538,6 +610,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -553,15 +634,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 @@ -616,26 +688,134 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -664,26 +844,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -703,6 +892,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 @@ -718,6 +925,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -736,9 +949,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -754,47 +964,155 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_box2d\utils + + Juce Modules\juce_audio_utils\players - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Collision + + + Juce Modules\juce_box2d\box2d\Collision + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Rope + + + Juce Modules\juce_box2d\utils + + + Juce Modules\juce_box2d Juce Modules\juce_core\containers @@ -811,33 +1129,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 @@ -862,88 +1153,49 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\native - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\native - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\native - - 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 @@ -1003,6 +1255,156 @@ 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core + Juce Modules\juce_cryptography\encryption @@ -1021,17 +1423,11 @@ 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_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -1039,23 +1435,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -1075,6 +1474,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 @@ -1090,6 +1501,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -1111,26 +1534,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1147,236 +1573,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1405,26 +1846,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1450,80 +1894,122 @@ Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\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 @@ -1531,8 +2017,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1579,6 +2083,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1657,7 +2275,13 @@ Juce Modules\juce_gui_extra\native - + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\opengl @@ -1684,6 +2308,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1705,52 +2335,58 @@ Juce Modules\juce_video\native + + Juce Modules\juce_video + + + Juce Modules\juce_video + 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 @@ -1779,6 +2415,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1875,6 +2514,15 @@ Juce Modules\juce_audio_basics + + 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 @@ -1896,47 +2544,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1965,41 +2826,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -2028,6 +2886,36 @@ 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\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 @@ -2058,6 +2946,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -2088,116 +2979,155 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_box2d\box2d + + Juce Modules\juce_audio_utils - - Juce Modules\juce_box2d\utils + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_box2d + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Rope + + + Juce Modules\juce_box2d\box2d + + + Juce Modules\juce_box2d\utils + + + Juce Modules\juce_box2d + + + Juce Modules\juce_box2d Juce Modules\juce_core\containers @@ -2247,89 +3177,134 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\time + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\time + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\time + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\files + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + 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\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\network @@ -2370,12 +3345,6 @@ Juce Modules\juce_core\streams - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - Juce Modules\juce_core\system @@ -2391,56 +3360,161 @@ Juce Modules\juce_core\system - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\text - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\text - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\text - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\text - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\text - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\text - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\text - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\text - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\text - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + 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\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core Juce Modules\juce_core @@ -2466,14 +3540,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2481,15 +3555,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 @@ -2517,36 +3624,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 @@ -2556,6 +3633,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2586,17 +3672,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 @@ -2628,38 +3729,71 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -2670,9 +3804,63 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + 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 @@ -2688,44 +3876,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2751,87 +3957,6 @@ 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 @@ -2889,32 +4014,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2937,27 +4104,6 @@ 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 @@ -2979,80 +4125,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -3129,32 +4275,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -3168,9 +4290,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -3192,17 +4311,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + Juce Modules\juce_opengl + + 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 Juce Modules\juce_video @@ -3245,53 +4400,20 @@ 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_formats\codecs\flac - - Juce Modules\juce_audio_utils + + Juce Modules\juce_audio_formats\codecs\oggvorbis 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_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib 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 @@ -253,6 +256,12 @@ true + + true + + + true + true @@ -268,15 +277,6 @@ true - - true - - - true - - - true - true @@ -325,982 +325,1501 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1324,6 +1843,9 @@ true + + true + true @@ -1339,22 +1861,25 @@ true + + true + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -1365,6 +1890,7 @@ + @@ -1397,6 +1923,9 @@ + + + @@ -1404,20 +1933,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1427,8 +2027,26 @@ + + + + + + + + + + + + + + + + + + @@ -1439,15 +2057,6 @@ - - - - - - - - - @@ -1458,6 +2067,7 @@ + @@ -1468,43 +2078,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1521,25 +2144,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1549,6 +2153,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1562,30 +2200,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1594,14 +2265,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1611,19 +2293,12 @@ - - - - - - - - - - + + + @@ -1634,10 +2309,15 @@ - - - - + + + + + + + + + @@ -1648,39 +2328,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1689,33 +2404,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1735,15 +2423,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1751,13 +2453,6 @@ - - - - - - - @@ -1765,31 +2460,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1815,20 +2510,11 @@ - - - - - - - - - + - @@ -1836,10 +2522,22 @@ + + + + + + + + + + + + - + @@ -1855,22 +2553,11 @@ - - - - - + + - - - - - - - - - - + + diff --git a/examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters b/examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters index 7a1d3cfa..71b50c0a 100644 --- a/examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters +++ b/examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters @@ -41,45 +41,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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,26 +131,56 @@ {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} {141B1452-6821-88F4-FFF8-F13BC738929D} + + {D788F8CE-816F-E50B-0137-362EA8202CD8} + + + {2F7C09E9-B2E5-4570-B21C-4B7380C2DECE} + + + {811DEACE-EEEF-A25E-BA5D-69D777C4AC93} + + + {D2A5FD6A-3D6F-A91D-1565-50F7DA71C436} + + + {EF6F967F-1105-9944-3B6F-A65C987E517B} + + + {C3146994-CDF2-4547-65EA-A3FF3A0E5B3A} + + + {B15524AD-C161-4E76-F3FD-D6E68A3C6FF6} + {E3D8F4B4-33E2-B3AA-1F4F-CD78351C6C37} {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 +188,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -137,29 +200,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -173,33 +236,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,80 +272,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -305,30 +374,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} @@ -460,6 +529,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -538,6 +610,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -553,15 +634,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 @@ -616,26 +688,134 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -664,26 +844,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -703,6 +892,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 @@ -718,6 +925,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -736,9 +949,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -754,47 +964,155 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_box2d\utils + + Juce Modules\juce_audio_utils\players - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Collision + + + Juce Modules\juce_box2d\box2d\Collision + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Rope + + + Juce Modules\juce_box2d\utils + + + Juce Modules\juce_box2d Juce Modules\juce_core\containers @@ -811,33 +1129,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 @@ -862,88 +1153,49 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\native - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\native - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\native - - 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 @@ -1003,6 +1255,156 @@ 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core + Juce Modules\juce_cryptography\encryption @@ -1021,17 +1423,11 @@ 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_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -1039,23 +1435,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -1075,6 +1474,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 @@ -1090,6 +1501,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -1111,26 +1534,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1147,236 +1573,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1405,26 +1846,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1450,80 +1894,122 @@ Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\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 @@ -1531,8 +2017,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1579,6 +2083,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1657,7 +2275,13 @@ Juce Modules\juce_gui_extra\native - + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\opengl @@ -1684,6 +2308,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1705,52 +2335,58 @@ Juce Modules\juce_video\native + + Juce Modules\juce_video + + + Juce Modules\juce_video + 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 @@ -1779,6 +2415,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1875,6 +2514,15 @@ Juce Modules\juce_audio_basics + + 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 @@ -1896,47 +2544,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1965,41 +2826,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -2028,6 +2886,36 @@ 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\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 @@ -2058,6 +2946,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -2088,116 +2979,155 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_box2d\box2d + + Juce Modules\juce_audio_utils - - Juce Modules\juce_box2d\utils + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_box2d + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Rope + + + Juce Modules\juce_box2d\box2d + + + Juce Modules\juce_box2d\utils + + + Juce Modules\juce_box2d + + + Juce Modules\juce_box2d Juce Modules\juce_core\containers @@ -2247,89 +3177,134 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\time + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\time + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\time + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\files + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + 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\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\network @@ -2370,12 +3345,6 @@ Juce Modules\juce_core\streams - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - Juce Modules\juce_core\system @@ -2391,56 +3360,161 @@ Juce Modules\juce_core\system - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\text - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\text - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\text - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\text - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\text - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\text - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\text - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\text - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\text - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + 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\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core Juce Modules\juce_core @@ -2466,14 +3540,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2481,15 +3555,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 @@ -2517,36 +3624,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 @@ -2556,6 +3633,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2586,17 +3672,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 @@ -2628,38 +3729,71 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -2670,9 +3804,63 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + 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 @@ -2688,44 +3876,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2751,87 +3957,6 @@ 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 @@ -2889,32 +4014,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2937,27 +4104,6 @@ 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 @@ -2979,80 +4125,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -3129,32 +4275,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -3168,9 +4290,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -3192,17 +4311,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + Juce Modules\juce_opengl + + 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 Juce Modules\juce_video @@ -3245,53 +4400,20 @@ 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_formats\codecs\flac - - Juce Modules\juce_audio_utils + + Juce Modules\juce_audio_formats\codecs\oggvorbis 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_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib 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 @@ -253,6 +256,12 @@ true + + true + + + true + true @@ -268,15 +277,6 @@ true - - true - - - true - - - true - true @@ -325,982 +325,1501 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1324,6 +1843,9 @@ true + + true + true @@ -1339,22 +1861,25 @@ true + + true + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -1365,6 +1890,7 @@ + @@ -1397,6 +1923,9 @@ + + + @@ -1404,20 +1933,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1427,8 +2027,26 @@ + + + + + + + + + + + + + + + + + + @@ -1439,15 +2057,6 @@ - - - - - - - - - @@ -1458,6 +2067,7 @@ + @@ -1468,43 +2078,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1521,25 +2144,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1549,6 +2153,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1562,30 +2200,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1594,14 +2265,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1611,19 +2293,12 @@ - - - - - - - - - - + + + @@ -1634,10 +2309,15 @@ - - - - + + + + + + + + + @@ -1648,39 +2328,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1689,33 +2404,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1735,15 +2423,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1751,13 +2453,6 @@ - - - - - - - @@ -1765,31 +2460,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1815,20 +2510,11 @@ - - - - - - - - - + - @@ -1836,10 +2522,22 @@ + + + + + + + + + + + + - + @@ -1855,22 +2553,11 @@ - - - - - + + - - - - - - - - - - + + diff --git a/examples/Demo/Builds/VisualStudio2015/JuceDemo.vcxproj.filters b/examples/Demo/Builds/VisualStudio2015/JuceDemo.vcxproj.filters index 518f7eae..c08383b9 100644 --- a/examples/Demo/Builds/VisualStudio2015/JuceDemo.vcxproj.filters +++ b/examples/Demo/Builds/VisualStudio2015/JuceDemo.vcxproj.filters @@ -41,45 +41,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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,26 +131,56 @@ {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} {141B1452-6821-88F4-FFF8-F13BC738929D} + + {D788F8CE-816F-E50B-0137-362EA8202CD8} + + + {2F7C09E9-B2E5-4570-B21C-4B7380C2DECE} + + + {811DEACE-EEEF-A25E-BA5D-69D777C4AC93} + + + {D2A5FD6A-3D6F-A91D-1565-50F7DA71C436} + + + {EF6F967F-1105-9944-3B6F-A65C987E517B} + + + {C3146994-CDF2-4547-65EA-A3FF3A0E5B3A} + + + {B15524AD-C161-4E76-F3FD-D6E68A3C6FF6} + {E3D8F4B4-33E2-B3AA-1F4F-CD78351C6C37} {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 +188,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -137,29 +200,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -173,33 +236,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,80 +272,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -305,30 +374,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} @@ -460,6 +529,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -538,6 +610,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -553,15 +634,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 @@ -616,26 +688,134 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -664,26 +844,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -703,6 +892,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 @@ -718,6 +925,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -736,9 +949,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -754,47 +964,155 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_box2d\utils + + Juce Modules\juce_audio_utils\players - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Collision + + + Juce Modules\juce_box2d\box2d\Collision + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Common + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Rope + + + Juce Modules\juce_box2d\utils + + + Juce Modules\juce_box2d Juce Modules\juce_core\containers @@ -811,33 +1129,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 @@ -862,88 +1153,49 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\native - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\native - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\native - - 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 @@ -1003,6 +1255,156 @@ 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core + Juce Modules\juce_cryptography\encryption @@ -1021,17 +1423,11 @@ 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_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -1039,23 +1435,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -1075,6 +1474,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 @@ -1090,6 +1501,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -1111,26 +1534,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1147,236 +1573,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1405,26 +1846,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1450,80 +1894,122 @@ Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\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 @@ -1531,8 +2017,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1579,6 +2083,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1657,7 +2275,13 @@ Juce Modules\juce_gui_extra\native - + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\opengl @@ -1684,6 +2308,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1705,52 +2335,58 @@ Juce Modules\juce_video\native + + Juce Modules\juce_video + + + Juce Modules\juce_video + 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 @@ -1779,6 +2415,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1875,6 +2514,15 @@ Juce Modules\juce_audio_basics + + 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 @@ -1896,47 +2544,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1965,41 +2826,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -2028,6 +2886,36 @@ 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\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 @@ -2058,6 +2946,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -2088,116 +2979,155 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_box2d\box2d + + Juce Modules\juce_audio_utils - - Juce Modules\juce_box2d\utils + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_box2d + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision\Shapes - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Collision - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\text + + Juce Modules\juce_box2d\box2d\Common - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\maths + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Contacts - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints - - Juce Modules\juce_core\memory + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics\Joints + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Dynamics + + + Juce Modules\juce_box2d\box2d\Rope + + + Juce Modules\juce_box2d\box2d + + + Juce Modules\juce_box2d\utils + + + Juce Modules\juce_box2d + + + Juce Modules\juce_box2d Juce Modules\juce_core\containers @@ -2247,89 +3177,134 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\time + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\time + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\time + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\files + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\files + + 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\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\network @@ -2370,12 +3345,6 @@ Juce Modules\juce_core\streams - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - Juce Modules\juce_core\system @@ -2391,56 +3360,161 @@ Juce Modules\juce_core\system - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\text - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\text - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\text - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\text - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\text - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\text - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\text - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\text - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\text - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + Juce Modules\juce_core\text - - Juce Modules\juce_core\native + + 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\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core Juce Modules\juce_core @@ -2466,14 +3540,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2481,15 +3555,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 @@ -2517,36 +3624,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 @@ -2556,6 +3633,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2586,17 +3672,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 @@ -2628,38 +3729,71 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -2670,9 +3804,63 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + 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 @@ -2688,44 +3876,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2751,87 +3957,6 @@ 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 @@ -2889,32 +4014,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2937,27 +4104,6 @@ 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 @@ -2979,80 +4125,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -3129,32 +4275,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -3168,9 +4290,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -3192,17 +4311,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + Juce Modules\juce_opengl + + 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 Juce Modules\juce_video @@ -3245,53 +4400,20 @@ 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_formats\codecs\flac - - Juce Modules\juce_audio_utils + + Juce Modules\juce_audio_formats\codecs\oggvorbis 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_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib 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 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 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 diff --git a/examples/Demo/Builds/iOS/Info-App.plist b/examples/Demo/Builds/iOS/Info-App.plist new file mode 100644 index 00000000..756003b2 --- /dev/null +++ b/examples/Demo/Builds/iOS/Info-App.plist @@ -0,0 +1,43 @@ + + + + + + LSRequiresIPhoneOS + + UIViewControllerBasedStatusBarAppearance + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + JuceDemo + CFBundleDisplayName + JuceDemo + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 3.0.0 + CFBundleVersion + 3.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + UIRequiresFullScreen + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIBackgroundModes + + + diff --git a/examples/Demo/Builds/iOS/Info.plist b/examples/Demo/Builds/iOS/Info.plist deleted file mode 100644 index b6f4a273..00000000 --- a/examples/Demo/Builds/iOS/Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - LSRequiresIPhoneOS - - UIViewControllerBasedStatusBarAppearance - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.JuceDemo - CFBundleName - JuceDemo - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 3.0.0 - CFBundleVersion - 3.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - UIRequiresFullScreen - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj b/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj index 387635f0..62a25694 100644 --- a/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj +++ b/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj @@ -6,8 +6,11 @@ objectVersion = 46; objects = { + D469537A9CC9E7691868A9CB = {isa = PBXBuildFile; fileRef = 90B1185950EF7670F87EAA3F; }; E16EA7E816B50766F3AE4F88 = {isa = PBXBuildFile; fileRef = 8D7BDA5CDDCCD2F7BE67037A; }; BB7001D6FD448E6C0AAE4F30 = {isa = PBXBuildFile; fileRef = 8452076B5EAE822DD445458F; }; + 5CA55A61B4ECF6BE53DB459A = {isa = PBXBuildFile; fileRef = ED6ADC3F084F9F3B6177B0C8; }; + 3A285384585A5F664BB4C652 = {isa = PBXBuildFile; fileRef = A078E4C69AFA4FAE8DCC66BD; }; 213167931DD11DF54592222E = {isa = PBXBuildFile; fileRef = 5FAB9E7F62B84DBAA98A0004; }; D8AC2AB9573F991BFDFB431E = {isa = PBXBuildFile; fileRef = 37CB4A819F38E7AF9C77A8CB; }; 4E306BFA283851066E0DA96E = {isa = PBXBuildFile; fileRef = EACCBFA17F4D07ECE058EEBB; }; @@ -59,23 +62,24 @@ 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"; }; + 009E483D2993902748AEEFE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; 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"; }; 00DE0C93FE719DC72E20A63B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 014BF4937EAC7618FB1BCC69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CameraDemo.cpp; path = ../../Source/Demos/CameraDemo.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -88,6 +92,7 @@ 02659911BD886D2E8431B912 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 030B047C95BEA80469F28E35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2EdgeAndCircleContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndCircleContact.h"; 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"; }; @@ -98,9 +103,12 @@ 0443FA799896F7D084DED278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WavefrontObjParser.h; path = ../../Source/Demos/WavefrontObjParser.h; sourceTree = "SOURCE_ROOT"; }; 0453D6FB24F82E92A6BEDA49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; 047E385F21CC5AD6238B120E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + 04ABAB5151BDC73BF265167F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; 04C5FED8AEA4109C4ED07111 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 057A64839BFE9AD0864752C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; 05AFEDB1F65A8C2C8E9620E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 05DCF1D105D327102D02ADD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + 0615C44ADB0F1EB55726FC33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2RopeJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RopeJoint.h"; sourceTree = "SOURCE_ROOT"; }; 063357A85BA244642BE1274A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; 0638493DAFCB6148E77159B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; 06496C804633EAB2003E5B19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -109,6 +117,8 @@ 06AE69217982DB82E0F47554 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; 06B6D19CE5691310DEF50DBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 06BD2631BF3C52F26B9981E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; + 06C06A48BB269847BA36AA3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2ContactSolver.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ContactSolver.h"; sourceTree = "SOURCE_ROOT"; }; + 06D514A7B2556A07D2398433 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 06DE336A39A9FEC47A8C2F06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; 06FACF171E0DE0AC6318AE4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; 0732CB9291291C9854197B28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Box2D.h; path = "../../../../modules/juce_box2d/box2d/Box2D.h"; sourceTree = "SOURCE_ROOT"; }; @@ -119,38 +129,50 @@ 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"; }; + 08F27F768CB242347E402318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.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"; }; + 0A189F6BF4FCE2D3FBF6FF4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; 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"; }; + 0A912DDCDF5336D520DF06F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; 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"; }; 0AF54289591CEBFBC19EDB40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WebBrowserDemo.cpp; path = ../../Source/Demos/WebBrowserDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 0B08631AE709ADF41AB3B780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; 0B3662D1FFE3102476FD60D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 0B53DC9C735B3B307C65836A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; + 0B543B1E23AC1D74483632D2 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; 0B54F1B0CB17ABD0C3E40658 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 0B5B86BA8E4C60B999A45034 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; 0B82DF796E577809EB03B874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B9867D5674933AF753A2CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 0BD502F6196E1FE7D9888A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 0C13B04875D9B8903BCE30B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.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"; }; + 0CF03118A8723AF780D2A170 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; 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"; }; + 0DD213E13669B821F91D3FAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; + 0DF176A2BC5C338AF984036D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2BroadPhase.h; path = "../../../../modules/juce_box2d/box2d/Collision/b2BroadPhase.h"; 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"; }; 0E1D85B025D93DAFA8404824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; 0E1F414FCC996E155B4DB5DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 0E26995340F6E559281691DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0E2F5CD3AB59E19A1ADFF875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 0E39FF2E9AD2BDC94CC015E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E501BDAF7993A70A4300040 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; 0EA8F0AB668E3B77E8088139 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; 0EAB2E0BB8C3BE2725FA093A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; 0F0B65D33F71F27C1E366CF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0F28BC4F61D1898E4C68E8BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2CircleShape.h; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2CircleShape.h"; sourceTree = "SOURCE_ROOT"; }; 0F2AFC09338BE08479886B0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IntroScreen.cpp; path = ../../Source/IntroScreen.cpp; sourceTree = "SOURCE_ROOT"; }; 0F3360D13458198A3A88B1A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; 0F517EA07DBFE31E5C9367F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; 0F518E75055A9D954B52DAC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; 0F82F90D72AD536CC3DFE217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; 0F88F061C51BE43F53B27094 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FC37E13A65710E3B9750BA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; 0FF2403BC335E710BE391DEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 104B96755BED457D7CEA42EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 1065FE461C00EABD9485BB93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -159,60 +181,81 @@ 10B6D087BD60ECFE08F157AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; 10DF2A823B97BBC0BD840B9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 11005DEC79FC6A6057FCFA7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + 112164BE5067BB3274FDAED8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; + 119E106357BA987590551255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2PolygonContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonContact.cpp"; sourceTree = "SOURCE_ROOT"; }; 11A95002F7CE796B7C27EAA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 11CB66B1CBA64B205FDF2767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; 11F6937FC766E1E9568311C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; 1225AF360A43D61516016CF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; + 123D3579B74D9D5781B0BD1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2CircleContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.h"; sourceTree = "SOURCE_ROOT"; }; 12E4EED0370A1733C6629D86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 12FD27ECE82A3298E3A8675D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2ChainAndCircleContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndCircleContact.h"; sourceTree = "SOURCE_ROOT"; }; + 1334EA2BB30D70E30E929919 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 14594884413DA08D26106A81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; 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"; }; 14A37C392DF6CF1CDB64612D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; 14A6170C094E7786C521A4DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 14EAA74C473506EC4920A160 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DemoUtilities.h; path = ../../Source/DemoUtilities.h; sourceTree = "SOURCE_ROOT"; }; + 14EED3F7B3E7AD8A7041BF3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2MouseJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2MouseJoint.h"; sourceTree = "SOURCE_ROOT"; }; 151ADDBE74B99337BC2C2586 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; 15348CE8667592D8F3841601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; 155D25867B048DB7685E6F11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 155EF3FCA61BEF035E1D7C8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 15F205032C5F811EC319B6D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 1669962FEA6685A54CD44F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; 1676147A3FADD6D79FF42CDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + 168363BEFCBAD9F40E9636DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 17FDEA6209B7444B117E63C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 182223C68F452171BE479C01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1827E39781E7FCD3FFEA879F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; 184C5CCD9457D17375F9AE1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 1890C5F569F315E5F8EBB1F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1913719A1E4E1803CD54D11F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; 192EE3C990E80213984A44C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 193F42507FBE4E7A62D81E2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1945AFAFBEF562B3CE0B32B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; 1A1C23D2F16F880FCD3B565E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A379B56FED4D3EEF75539F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; 1A3DE76CA275CEE7DAD501A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; 1AD3E125B61DD653C03FAC05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_box2d.h"; path = "../../../../modules/juce_box2d/juce_box2d.h"; sourceTree = "SOURCE_ROOT"; }; + 1AE91BCC794B0ED9C7C0EF9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + 1B03ED2B0D5B73B876954081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Contact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2Contact.h"; sourceTree = "SOURCE_ROOT"; }; + 1B0F7F7A6B9627B92F989632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Settings.h; path = "../../../../modules/juce_box2d/box2d/Common/b2Settings.h"; sourceTree = "SOURCE_ROOT"; }; 1B9B4E12F53F8350757CD4D2 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = README.txt; path = "../../../../modules/juce_box2d/box2d/README.txt"; sourceTree = "SOURCE_ROOT"; }; 1BBECE3C619C157F072748D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; 1BE105DE7C738CCF8D6F2A54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 1BE21633CDF618F8D993F3BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 1C9321B265A6894A2E51CCD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 1CD8799B8784A91FC13E6641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + 1D43B002D877CDF3DA85E602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; 1D4E674C38566E14B4B73F49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; 1D62103CFAB9245F2CF523EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 1E74912578DEAF430E69D738 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; 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"; }; + 1FCFCE4595E8313E1773B00D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + 1FF4527EB0D8AC7B141CF989 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; 200A1B6B96E1089110CEAD48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; 201E7DB01624212F01B85F5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2060347D582A8E45F58AE1C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -223,12 +266,16 @@ 217D243937EB2507494A4D34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 218E36147FA4309F072C1949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; 21CE480826B56F0B5C8C4A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + 21D71A36ABFDADD9A882857B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; 220344E43675A2A7D64D3A44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; 2274B9A5BC921FE3B877D0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 22CF0BEE62FB551A68223B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 234392598E5388F29CFD6B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 236E11A53CE927AAA6681994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; 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"; }; + 23D96CC5CE35DC9458F64A77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.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"; }; @@ -242,8 +289,11 @@ 263BE0BDE184A7184A118B46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; 2699A70E9610104CB8D30EC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; 26A65E5DA320A85F90F1F58F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26ECEE2D25C933C4B8CF0B49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2TimeOfImpact.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2TimeOfImpact.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27436247FFB648C821348A91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; 277ADB563604EE1FB51FDAE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2781E458566701273B805E8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 279EE7599C1DAE9EF83A59F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; 2859FDF0CCD1ED788910E9D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 28A254DF535233A82D5D79BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; 28A7CFB0B6DF367A9830817C = {isa = PBXFileReference; lastKnownFileType = file.xml; name = treedemo.xml; path = ../../Resources/treedemo.xml; sourceTree = "SOURCE_ROOT"; }; @@ -256,16 +306,22 @@ 29C7AE377B006C00D4293C59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; 2A155BD926FEB91142E6A638 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; 2A1FF908BB6FEBAD912CDE8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + 2A42C9B40A6A73C0CBE727B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; 2A5FA90E69311FB8A18EC3B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A5FF3EB0E2C32BF08080C7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2BEE810D30D4C6FB88206B42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; 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"; }; 2C26D37BEDBDC3B1DF19388D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 2CC5542D7C142042D3A1D86B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 2CD4306102317989E6321924 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; 2D13D48857E2530BF41F70CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + 2D68B7EF20BC3D11B3028648 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; 2DA02BCCDBFD5BF2DA2D2FA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLDemo.cpp; path = ../../Source/Demos/OpenGLDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 2DAD09E643C29B6DE7F26EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 2DDE8684F3C5CB4A781D72A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; @@ -273,20 +329,26 @@ 2E093A5506319EC68DA184F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2E29C6A0CF15C32A35119DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 2E524CE76F1B735AE8072E03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 2E8E52B63BFBEF408E55B678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + 2EB0FBA99B4F54DC67C391B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; 2EB37CCC4FF8C40B015C0555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; 2EE8E77D21471265869C9B4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2EFA7470343EBFC6E338F7A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; 2F1324CBA29604BD3E2003B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 2F19C814598FC304CA841242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 2F66B42AF6C0B5ED381937C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; 2F7F13C84464F8409BBDBEB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 2F8041ECBF70D78604686D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; 2F8D57F15D63118E33CB0639 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FCF501B503F3915AB871C8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; 3008922C531303C24B8791AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 3009F5CB4D15119D2C680F98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 30212C3F1731BD8F19412A38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + 305ADD801E4BA9EFDBBCA4FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2PolygonShape.h; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2PolygonShape.h"; sourceTree = "SOURCE_ROOT"; }; 30CA850D191ECD5F1F7B6A70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 30D828B153772EC3FBADF543 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; 30DA52AA554A0249429AC3FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31A98E30E965B03150B381FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; 31D74E7CF149EF5B569417A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 3240A232A5C82A812A837A2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; 324452D7F5B5EA3B393FF4FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -300,12 +362,16 @@ 34176F324CF7EBCDE741B2DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; 346CEC10C4A7DF779A799311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; 3482A5FDDEE5E5D405047999 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WidgetsDemo.cpp; path = ../../Source/Demos/WidgetsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; + 3506BB2D001EAE3244ABE2AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + 3529CDDF14775FE48C57039E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; 355DBB46C4283779C367E97B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 358C6A8FDD14AF0BADFC200E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 359FD60323CE3BA7B25008DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 35E35B099E2A7906A7AA2EDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 35F5E95BA127E63BA136DACC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 360291D0346F776DDD3F43E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 360FC75BBB17079A50D83F82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; + 364888A8E80B59503995FE18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; 3649E7CD2BD6A37FCF7D72F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; 366C0E8D559D37FF92B64F47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; 36711C0D24EB22FABF8E7BCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; @@ -315,27 +381,39 @@ 37355CCC05D407D665AA6604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 3741E4C0CE5C7C0828D09BA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; 376F6150287E759E77B824BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 379876C6391E331282D9C4D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; + 37B638D91C9915F8A747998C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; 37C7B4ECD40F15EFB12D58AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; 37CB4A819F38E7AF9C77A8CB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 37E835EA1318A5D504282D90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38271EF6B109065F290717DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2BroadPhase.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2BroadPhase.cpp"; sourceTree = "SOURCE_ROOT"; }; 384887ECD58A0B42E3669617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 3855013A39E97B76B46E055E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 38B737F6F0007F752EE380B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 38FB6ABB883ECAD52027CE19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 3924287A67ED97279455625B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 393A46D91FB481557E4DF792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3994BC23A01CD8FA2A634654 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2WheelJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.h"; sourceTree = "SOURCE_ROOT"; }; 39A06D3252DDA6F97FB09495 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLDemo2D.cpp; path = ../../Source/Demos/OpenGLDemo2D.cpp; sourceTree = "SOURCE_ROOT"; }; 39E23931E56560C294237428 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 39E4404D57A8B66DF520B66F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 3A2ABBB84632B201DC78CC65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; 3A42694A047942A44E8216F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3AB4D648738323B910F9857F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; 3AB9E51994CD35A10F87EFF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 3ADE61DBFBB6901CE2F1DB17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 3B4867D990EA8802B4A319AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2PolygonAndCircleContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonAndCircleContact.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 3BC7A4DF55FD436E8C4D190B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; 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"; }; + 3C169AF805125BDB30041647 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; 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"; }; + 3C37FCA5B754E496D13066B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Draw.h; path = "../../../../modules/juce_box2d/box2d/Common/b2Draw.h"; sourceTree = "SOURCE_ROOT"; }; + 3C48BCAFBB2B5332DB3FF7A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; 3C776A3FADACB361BD4B3D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 3CF67E6BCC6B52EFD6E6A458 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D0EA5C831C347728313FDFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -344,45 +422,63 @@ 3D2FFA1F349A15621962C064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D8A83C53BAF22EEEA014D90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DA95E7AE1D0DC64AF09EB66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3DC0549B351FDD471AC643AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; }; + 3DF9D537778948BCCFAA6F90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; + 3E265486EFE462E632F47FD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2EdgeShape.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E27B6E7641EFD605545DF18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3EB15B173754AE2C7B96AE5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2ChainAndPolygonContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.h"; sourceTree = "SOURCE_ROOT"; }; 3EC73BE7C098A631E5D5107D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 3ED5A2B64359FED05CF309C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; 3EF890CB40C6FFCAE055B7B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; 3F2BBE4509B19BFAC929D8DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + 3F4D37C15B02AA087A3A685F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 3F58D27B17343BF1030AF92A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; 3F8C313EC9C1E6E234108098 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 3FBF109F3AD6DE221EFB1BA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 409B6897E764E49BCB4A9277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.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"; }; + 4150459DAF5A300EE3646771 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; 4151602FFED0B1AE7B36CEF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 417FED446C0B953AB2DDB633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2ContactSolver.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ContactSolver.cpp"; sourceTree = "SOURCE_ROOT"; }; 4198EE3311A171C884A5FA9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 41F65957FAEED268DBFFE925 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; + 420516E3BCE114E11526E916 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; 4212EA9CE0B9AA4986108D9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; 42386AD366F1AD43B6B29364 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4253F39382D064BA90766895 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2CollidePolygon.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2CollidePolygon.cpp"; sourceTree = "SOURCE_ROOT"; }; 428FA66F7D6FB46A64B438E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; 4290825CEF87C19A113CA9F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 429974B1B4C361F218093A41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 42DC5D8CEC7445468A96C227 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; 436BAE91A167BB6107F261B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; 437B4DC39531BF8DE5A12E02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 437C63D80EDD563A91265CE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; 43B80E11AC5121A2F4B8DD78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 4407A352B303B27AA0B7D579 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 447B5BEAEF972DECD5F5A949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 44879946DE89AF141BE428B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 44BB5D71E35E65F5209292B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 44D1D1D5A6F855F920FD03A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2ChainAndCircleContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndCircleContact.cpp"; sourceTree = "SOURCE_ROOT"; }; 44F4A9351C2B03F98A0D23E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; 456837CE387595EFF549939B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + 45BEA8B0139968C92A30EF34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + 45F089CBDED5CC39009A2FAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 46118CBA9C3CD3B354D93B30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; 462F10FC0057AA53CC71472E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46ACD125ABF2078BD7250307 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; 46C5401358EA7CF2D22FFC26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 47091E4F83A415C063855A74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; 475B1787F548E4FB11C63CD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 47817D36A37758981DEDCAAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + 47962D8ADD22B8DC0CC4FF58 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 4825D1B0C0AC0FD325F55C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; + 48879AF101C3CFF70E2A6D6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; 4895DA77962B46806EB0147F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; 48A0FC60EFF6334C161519FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 49412C044B88516D9AF59FDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CryptographyDemo.cpp; path = ../../Source/Demos/CryptographyDemo.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -394,11 +490,14 @@ 49FCD3BBF372EE7F6F143EA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A2C25FD55809F1489963FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A4D3CCCDD2C972CA6715014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + 4A73387280D58204ABCA6D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; 4ABF4B55F979F2A88EB1B331 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 4AEA921081036DD4C259B45F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; 4AF5BD29C935D0EB7CB0F6AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 4B310AA3DF4F6188B2E6FAF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 4B4A489613828AC28F25417C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; 4C13F19ECFF6CA7AB9C801AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 4C5649C5D9290FA9385B6CE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Rope.h; path = "../../../../modules/juce_box2d/box2d/Rope/b2Rope.h"; sourceTree = "SOURCE_ROOT"; }; 4C66D04A6A5FA514A10AA406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C9033415E05CD39408389AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D569839066D92C393F58EB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GraphicsDemo.cpp; path = ../../Source/Demos/GraphicsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -407,31 +506,43 @@ 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"; }; + 4ECEF417A3156D46464E6B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; + 4F2F2A6C3D3451EF896D71CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + 4F35D7B6179D00C91BB63AF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2WheelJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.cpp"; 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"; }; 5125E77EBA8500EAA778F51F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 512D5182047E0B46E971A13D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 5155F4A9D709CC0A8CC1A7F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 518DE93C8782835E470BC7F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; 519F11BE9C786A7F9B221BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; 51DD2ECC1AED271892E87814 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; + 51FD353EA1F98D94A6A14B48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; 5232B9F7E62CD5C41C3ABFED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 52455CCE9E92ED0C59F41734 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; + 52A8B69825B08106E9175D2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; 52A95B5754438C999343869A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 52D7400A47B19848EFCB5B51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; 52E4BE1BCD56D3676C84BEB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MDIDemo.cpp; path = ../../Source/Demos/MDIDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 531D198DE52845A4B641B6B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; 533B6E74A9F84B4D319E2F16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; 534098C590927D6768E57ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 538250B9DBD536733027C345 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; + 5398AD39345A757DAAFC7F97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2PrismaticJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PrismaticJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 53AA2F507FD9DE263E43B277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53F2E8E42E27BCFA8130465A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; 541E0CB92DCF5EDA093EDC7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 541E4974C73E294DBA415BA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; 5434953F55BD35F74D59D980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5459E2489D23B5764B4C919B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; 5496F73539DA26FD9C899223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5509449631045CDCA7654270 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; 55273A59F96B3C775EB71FAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 554678AFD58E3E3A2B0BE43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; 556EFB307E14C15D5EA0242D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainWindow.cpp; path = ../../Source/MainWindow.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -445,26 +556,38 @@ 569187442B514D114A483D29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; 56BCAE594E40E21699F9337E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 56C55F22CADABBA171D41BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; + 56E74B5D9FEE2F25B15B50EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; + 575D4B7FECA71BBCB194C30B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; }; 577378064273DA54B9BED3F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 5784E19E01D5B23BDDFFA5AE = {isa = PBXFileReference; lastKnownFileType = file.obj; name = teapot.obj; path = ../../Resources/teapot.obj; sourceTree = "SOURCE_ROOT"; }; 57B7A9C37305D4D7F876344C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; 57D6E8A8E8D871EB1DEF6A5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 57F10A97F9AA52EF7B344208 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2ChainShape.h; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2ChainShape.h"; sourceTree = "SOURCE_ROOT"; }; + 57F36E18E098F0CADDA05309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; 581E68F4E33DBA5837FB7F9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 58201275FBC0DEF77D010733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; 586A4398FE1B9F7D6104BB70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 5897A924018C9D26438796A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + 589812C6DA03A2299270F7D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2CircleShape.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2CircleShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 58E53BE69281E3105C66FF07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; 58EE7977BC7FBB3523A910D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; 58F81EC0B3505F092DEBAA30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 58FB0C4FE674CC5BB7B1DCA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + 592EFD580F6FC53E161A66EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; + 59305C17D5656ADD56682C87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; 59810BDD671438F997D32061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 599036DC07DB54E446ECA054 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 59A4EE8F8C7CAC439DF95A91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; + 59C6CE0327D10524BC789A72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2CollideCircle.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2CollideCircle.cpp"; sourceTree = "SOURCE_ROOT"; }; 59E2B82491E344257F84FC40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + 5A2481A419E5A9D88B640A7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; 5A3C2298934C0F77CC60D336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A73A448137344953ED2BD32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 5B1433D89E82F55DA4D004B1 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; + 5B20570CB36A5765EE06DB95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; 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"; }; @@ -476,20 +599,25 @@ 5DA9EA3E74C2AB870EC9CACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5EF33D6281C6FCD1040FDC9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; 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"; }; + 5F4304885211C2F40AC66E25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2World.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2World.h"; 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"; }; + 603014A5B777586F4F1C98D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 607FA0800596585429F6C22B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; 60849B046145D3BACDFA6A84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 608B8EFDDEBB7573425846B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 60B755F5684959E78C556810 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; 60BCBC74A3C12630E82631DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60EEA1369C0AD22C3EA05B69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2CircleContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.cpp"; sourceTree = "SOURCE_ROOT"; }; 6141692AC9282411091C8157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 6163B3DFD893F55523113A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; 61F28F9E82D39EFF702793D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; 6209255CD43AA4EDC1C955DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + 6218A4FF5FB036AA0B7B77A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; 6257CEA3C6EADCB94E25010F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 62D20AFF94117B99556BF56C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 62F9B202D524E33A2843ED84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -498,31 +626,44 @@ 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"; }; + 6438540B318F456A76A57197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; 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"; }; + 653C6D41CCDB5D556F00D17B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; + 653E2E92DFD20A216DC5E698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; 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"; }; + 66C35D440440937001697D0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; 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"; }; 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"; }; 6808473BBCC2E4D8E2CA0E71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6813D2FE050F9518A7BF3728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2EdgeShape.h; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.h"; sourceTree = "SOURCE_ROOT"; }; + 68944F99BABCA83A0440CDB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; 68AD6A94C88A46A483B823E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 68D5182872CF48CC8A07EF88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2BlockAllocator.cpp; path = "../../../../modules/juce_box2d/box2d/Common/b2BlockAllocator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 69048AB4DDE300C5326BF2AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + 690DC0717A03CB51D3C34382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; 69249A7E30512BBF13CB8A09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; 6940E5FE7BC1ED1BB2258886 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 6976B92D19F4FA1BA89A8922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; 69CC80F5871F1AA06689E3BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + 69DA0CE5CD8627CA01BA0781 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; 6A299D9BED7D078CB2F1C007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; 6A3315B465362CD3AF66D306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; 6A4AE0C59C1210D28A8C8AF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 6A643B44198DCE6FFE057E9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; 6A6A22EF81805BE907DB5DA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6A766394ABB39B5A0E3EF182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; 6ACBD7C68EE20A8E8C5CC1AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; 6B1FEA349A6C8F51AB27E23C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; 6B3772278F9398D0AC7CE250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B4AF4E4BE36B99E00BFE839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B67DE0FF4487B060DCF31E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + 6B78EA517CE2D6A7C7B42C21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; 6B83E4AE241F0EAC9574923D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; 6BA2D0C9FB49A5C3E0554000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; 6BD1D463E40A463C69C065C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; @@ -531,6 +672,10 @@ 6C52D68EDEA2D7ECA4CCC2BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6C57333FC4ACEBC7C451A414 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 6CF95925EA874CFABAF7C284 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D095BAE8ECFCA14A483B980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; + 6D680FDE137012CFCDEEA7FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Rope.cpp; path = "../../../../modules/juce_box2d/box2d/Rope/b2Rope.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D6A08D5532A95D22E74371D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2PolygonContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonContact.h"; sourceTree = "SOURCE_ROOT"; }; + 6DDAF504B8C1BFDBF9F0DBB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; 6DDDB822BBF3D557CA7AB427 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; 6E125672C42D84CCD54F9B0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; 6E176584A871F8C956918182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -540,16 +685,26 @@ 6E9BFA2B6260E09B2B3948E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; 6EA8B0940C4486B9F03BA19C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 6EBA81213324106593EF5DF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + 6F21AA1FF466F570DD76E329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; 6F2A90834846C810CCD39DF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; 6F5B9777B802707C4A747E46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F6C75B9F875DFACEF086245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Timer.h; path = "../../../../modules/juce_box2d/box2d/Common/b2Timer.h"; sourceTree = "SOURCE_ROOT"; }; + 6F8FAEA15628DF26DAFF73A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2GearJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2GearJoint.h"; sourceTree = "SOURCE_ROOT"; }; 70276A64A50E5B56492853DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; 703C1FBF6632A8078BBE05AC = {isa = PBXFileReference; lastKnownFileType = file.wav; name = cello.wav; path = ../../Resources/cello.wav; sourceTree = "SOURCE_ROOT"; }; + 706E3A30C486843B267D27C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; 70A5CABA464ECFC6A8449A87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; 70F33D8D2F48D64188861C6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 70F3590A122BFEBB8CF6049D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; + 71B244396C01790820BDB08E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; + 71B9B558197CF23EC530D57F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2DistanceJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.h"; sourceTree = "SOURCE_ROOT"; }; 71E5E55D76D83B711B6263C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 720C3CA9E28181C76434D465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + 72370D6EFB4C549A2745C2B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Joint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.h"; sourceTree = "SOURCE_ROOT"; }; + 728155B591553FEF209516CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 7286D6380C74734603D098EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 728E67FDBD3660742A33C7B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 72A21240D2F87F857F10D246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; 7319ADBC735F957219774263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; 73267FE8DDE50FD1E6E31ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 7338D006521EDC5C10EEF974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -563,29 +718,42 @@ 74BE52ADFCAEFACF704E1269 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 74CEBA45E0A8ECA5CFA9BEF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; 74D283E02B3A2A293678FF9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74D9D04AA36E9167899526F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; 753D9A91CFBFAA027F828C02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 754710498EE8C41F085A2B11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 75944B175ADD077F59AADFCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 75DCF8CC61D7B790251356A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 764F36E2597540348F960404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + 767818AB549833C6A3695680 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; 76B8E770835968F565292D1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 77179735C0CB2D89D9C61466 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../Resources/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 771D8CDD1499DEDAC2E38D25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 7761FFBFAC88B7157D65EE1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 78677F16A1356879D6F99EA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; 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"; }; + 78D08E88D61781FC020AFE3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 78DAC3299488E0CC70EDB206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 791B204F13E056DA2644175D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + 797A5C7982E0CD14F93B3C54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; 79C8D0C6D1444EAB781C46F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 79EB99F04FC9B1ADB0810935 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; + 7A2009F14F7AFEEF7F233EBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; 7AD412430D3AEB0468089AF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + 7AE34C0CF7EABE461F4FE5FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Body.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2Body.h"; sourceTree = "SOURCE_ROOT"; }; 7AF9EF500482C84F02849647 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; 7B5560AEA0CB3E507C16140C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7B81083FC4CCD2D096D93162 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; 7B83011366B95CC61212E5D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7B8FADFD12EC0B9EC8A4ED09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BBD4B2D9A9EF13CE4357979 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BD4AC17C70E6771254B962A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7BE5C4D52D35AEC60DEC2F0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2MouseJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2MouseJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BE8C42578F5E2E59D63F615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 7C70EC5AB0A3B9B14C0C0F05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; 7C7FF651870B180BABD63D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -597,27 +765,36 @@ 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"; }; + 7DE7EDED3797A71816EA7F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2EdgeAndCircleContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndCircleContact.cpp"; 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"; }; + 7F539606D07BB39F04614D94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; + 7F53A16CB1E2055C27A1AD8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; + 7F5DD7707E3EAC2A12F83072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 7F7EAF366320BA71741B68C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 7FC3D3D142D1B4398D07FFC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 80202384D81020DAE2072A1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; 806A7A3BFC684B4D9E25ABDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 807F5EE489018BC1956AAD5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; 80A57920E6EA9C2E881BC3E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 80E4E835F2D35DA1E67B19E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; 80E5245755DC2ECC4C6BABD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; 810292CC81EC98F57F64D79B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 8139DFF71A397BB4FC1C4413 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; 81516145E8F737D290135758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; 818729A3311F3A7B8DB03764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + 81B55F41498F2C7AEF8EF849 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2RevoluteJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RevoluteJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 81D03597CE85238988E0F45D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 81DA6F8C2D59F6DBBB96F9E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2StackAllocator.cpp; path = "../../../../modules/juce_box2d/box2d/Common/b2StackAllocator.cpp"; sourceTree = "SOURCE_ROOT"; }; 824822F2A6A539B2D797DE23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; 825690E8512078D4F8595CCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 827374BD9EE76A6B90DE88A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; 82AABF91CB005E5463F1D522 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 82CDD7D8E38202F102788090 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 82DF136532B2A68A19CBD0C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2ChainShape.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2ChainShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 830A4891F6838B2A60C54C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 831F5A6F03F8ECD18E2427D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; 8329E2A86DF3E781B790F128 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; 8366D5DB3CBA57E06C1D896C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 8396EA11DD261260F1A96DF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -626,75 +803,111 @@ 8430FB57248237DDAD4CE4AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8452076B5EAE822DD445458F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 84BAF97675BE522B63DC9A4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SystemInfoDemo.cpp; path = ../../Source/Demos/SystemInfoDemo.cpp; sourceTree = "SOURCE_ROOT"; }; + 84FCF3E5B30EB7CF5EEFB983 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 851BE5F4B476FCC76DF56FEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8554F3107BAF434F9AFE3875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; + 85677259EC513883D8D2076E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2WorldCallbacks.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2WorldCallbacks.h"; sourceTree = "SOURCE_ROOT"; }; 857CE7D1DC614FCDD19F617D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 85D328C928A4CD6A1AEAB644 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 869FEB02E31658BD16664F1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; + 86B1E971DDB1413BF596B130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2TimeStep.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2TimeStep.h"; sourceTree = "SOURCE_ROOT"; }; 86BFE5D66623DB207CEA3F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 8717F2B47F51F0473C041760 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; 872C4AF5B81B1664032594A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; 877B42968286AAD56527516A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 87B4302733FC6319FC9B1CB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; + 87C10F97FD75475F541A2236 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2DynamicTree.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87F30C283F01D6DE78677AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; 8838FC2F76E6D775B2E75F23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 885A0F1B41FFAF32ADC70925 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; 88A8F1D957ED293712DE0E23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; 88D689399C7F69D687208673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; 88E9F6A65110F4753E115FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; 891BBF2E19D80372FA886E62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + 898999A1030D94C6808D5148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; + 8994E8A4FE0432DB2C9F5C32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; 89C47678AF8B46702EC0EE66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; 89FD2460344D6B0FF04F70D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + 8A0109D195A8A98F3D316671 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; + 8A81C6BE773B2895357F469C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 8A89A7C0DEC85C7773251B15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A8CA6C781EFD5F0997E7507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; 8AE56D2F4E33B015C3D73EB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; 8AF04828A59F79DF2FD31E9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + 8AF24276EFD548D2DE81B6E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; + 8B24B1B5F68C57B014D709EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2DistanceJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8B65B18F6411C38CE37289AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2FrictionJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2FrictionJoint.h"; sourceTree = "SOURCE_ROOT"; }; 8BB3867A9236FF57B46581A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BBC5E2D4753E8DB74E7BF8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; 8BDC3161654344162ECDCB32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BFDB525631BDAD3A71CB307 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; 8C4D0CE8E6E62BDD83F4432E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 8D121C4BCB6A36684EC59FB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; 8D3B18C8A23499AB88F6B700 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8D437AEAA6F7E3F0DCA43E8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D67ED9898F9BE8652B8EE2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Math.h; path = "../../../../modules/juce_box2d/box2d/Common/b2Math.h"; sourceTree = "SOURCE_ROOT"; }; 8D70A7277DDD7B7974E9F178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; 8D7BDA5CDDCCD2F7BE67037A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; 8DA438AAAFBC64C11DE329B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8DC36D3C2FF85554B208793F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; 8DDCA7803625CF8DA817326A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; 8DDE64B4A0EF76038498B47D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 8E1CA5F01D04FA8F6CCFF91B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8E28FF1F25D4B95ABA616BAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2PulleyJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PulleyJoint.h"; sourceTree = "SOURCE_ROOT"; }; + 8E8283D81F04E954670F2636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; 8E87696FD85E6134968D4341 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 8EF11A0D1370915CA7AF4F64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; + 8F05BFCFFAC8273150ABE262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; + 8F54927EB7C415884F445CD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2TimeOfImpact.h; path = "../../../../modules/juce_box2d/box2d/Collision/b2TimeOfImpact.h"; sourceTree = "SOURCE_ROOT"; }; 8F61AE043AEF6DCD47A36787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 904A7BB9AF3500FCC5393750 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; 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"; }; + 90C0455F5170CBCB8BB425E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + 911A7962AD32375D7003FD41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 913BF3D4458ADD6A17F1BECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2WorldCallbacks.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2WorldCallbacks.cpp"; sourceTree = "SOURCE_ROOT"; }; + 919095530634BCA10AB9AE95 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; 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"; }; + 92E2C82B141DD4A923F03580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2WeldJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WeldJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 930C2398BC534B8387E867BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; 9327D6AA8805BE7AD971D68C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; 937A2E7B951F5D527DF54245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 93A03C37C749EEAEA8CDE62C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2FrictionJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2FrictionJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 93B3667FE4186CD75426EA53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 945E090A8DE2E776F7033143 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 94FDE7DB4503F1DA55B7A47D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; 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"; }; + 9627C56BF9BE509ABEF3B0DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; + 96B7036D28E7BF24703EECAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; 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"; }; + 977900010F61AF4676582E87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; + 97C2F5225DC78ED6569FA916 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; 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"; }; + 9813895C24F80C5948DF41B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + 982A6760536A0D76070BFD3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2CollideEdge.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2CollideEdge.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"; }; 991F4C3B42036B549C321789 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 99E8C71CC462DDDBC52D360C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 99E9746687DD6E518585DB09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; 9A4190B5B7E788B732637F2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A4D6196AE49BEDAE4054729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A60BF3F27FD10A058F4E956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A895B323AC3DDD249D99CB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; 9ADA045A14202C9CF4F8CD40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; @@ -703,51 +916,72 @@ 9B9E034C5761096ACB8A76C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 9B9F578EC77AA988C919AC6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 9BAE20FD7E2CBA120DDA82B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C0B4B92D8179B2B2EA27DCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Island.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2Island.h"; sourceTree = "SOURCE_ROOT"; }; 9C734938D5FF5DA7827C74C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CA3071EC654EB7FFEC70736 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainWindow.h; path = ../../Source/MainWindow.h; sourceTree = "SOURCE_ROOT"; }; + 9CABA28CDB2F38B933D7D5AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Distance.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2Distance.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CC0810F5BAF70D00033FD22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CDE3A30398FB033E5AE8498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; 9CED8F32B3718A90481EEDE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 9D0B40C4BF8FD939C33E3D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 9D17E29319340B927D1BC51D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 9E0670BC105AC4CAE8569F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 9E14C2C627D2F7B3C817468E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; A166FEC488A2EE5290FF0722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + A167A41D05FA3B4AC6CA1E9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2GrowableStack.h; path = "../../../../modules/juce_box2d/box2d/Common/b2GrowableStack.h"; sourceTree = "SOURCE_ROOT"; }; A169179FE554C215416FCD7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; A1A8D19C2E587194909B2913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; A1EFF3DBE5F7B0C07AE59D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; A1F10BB1A2745DC95DDDE0D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; A22726A53515D845743DFF84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; A235B5113FB4E5DA6267975F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + A2C836847DB29C151CB09E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2PulleyJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PulleyJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; A2EBD42F94D37FFF10F25985 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; A2F0B85560090CFAC7D95132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; A2F403F649AC0AA7CA47EF65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + A2FD673C8D6D86B048C9E035 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; + A3BC97F67B5567379214CECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; A3BDCE78A0AE63BEA0DDE600 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; A3D5134838BA1CEAF4284E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; + A457A6844324E461FF142768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; A464874D0B8C63AA78C937B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4961A58A7D5F765D1EE083C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; A4A64EF73E28AFFBD826AD60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; A4A7D4C4EF2A24F743D107B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4EAA590C3776FF63123E093 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; A507AD139DCC0A43765C1FE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; A539F7B46DD001B3BF03B16F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + A60864C9398414445F587C91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A670765B72A94519A5F66E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; 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"; }; + A6AFF35305010E3E7C46D818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2PolygonShape.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2PolygonShape.cpp"; 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"; }; + A6F5FCBD2F26BF994727FBFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; 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"; }; + A7C772D36E8964ADDCB7D096 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Draw.cpp; path = "../../../../modules/juce_box2d/box2d/Common/b2Draw.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"; }; A8878B1B86367E161868E49E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; A88B3DDBD1939456E225E36E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + A89CE9DD8363BF699DBAD4A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; A90C7FF8F98D21494524B726 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; A90EA62A0A4A1B5E62CF0BE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; A966B620E1FB219BD4A4F3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -755,16 +989,22 @@ A9BA8E7E434AC82F4604C773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; AA920A77D326B0F5E53F567F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; AA967AC6E8FDCD7502272DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + AAC3A67363234D151DA6BFF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; AAC68E522F44DA7AD25574C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; AAEBF0976E57F4756E4AE31E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + AAF6B6F2F129303FB8682109 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + AB19F2DAD8930809EC63CF89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; AB3C484314062E809AC41132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AB589E1E7EC83EA620B7F780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; AB92BC8961EE90E0F23FD6C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; ABDFE5D85E6ED3CBB8AE1F50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + ABFAD9653637328D6FB7F06B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; AC043128E8D43D6EA4E29824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; AC25983CE9B938D1DB002A98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; + AC2CA767DC0B09749E9EC53E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; AC3132AD4826E77E807ACD3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; AC3600881A53014EFC1CB8D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + AC67D402C4C5DD1F6F036044 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2GearJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2GearJoint.cpp"; sourceTree = "SOURCE_ROOT"; }; AC70FAD27248857B6D16BD33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioSynthesiserDemo.cpp; path = ../../Source/Demos/AudioSynthesiserDemo.cpp; sourceTree = "SOURCE_ROOT"; }; AC7A214BA7B1A172F5B31735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; ACDD5519D82FDB831085B8B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; @@ -774,19 +1014,28 @@ ADDA92448B0EC5EC1C6D5A2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; AE68B9AA74EE6F138B3E0B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; AEF26EF11BEBA847F152A1D5 = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = "SOURCE_ROOT"; }; + AF08C54E4F91D5E480A48EFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2ContactManager.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2ContactManager.cpp"; sourceTree = "SOURCE_ROOT"; }; AF396B7AE1BE00099A19D191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; AF98F62B0DD92F26D0018A98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + B02086DEB7D97B8B2DCBBF65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; B0287B0EE6C4EE20EBF95FDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + B02CAD037D993AC554573415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; }; B033B7729D2D204BBD71BDD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; B0DA13336DA07392C689323C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0E867D448609AFBA718729D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2EdgeAndPolygonContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.h"; sourceTree = "SOURCE_ROOT"; }; B10A9A3B4A4C2507F514D5F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; B13A8EA6840489EB88D77800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + B1608DC2A0212CE5D68585A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; 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"; }; + B1F568A29AE97695819566D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.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"; }; + B2C2CE1C54B3F7BF754EB506 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; + B2E3E18FA4A5EB53BADA5072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.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"; }; + B31051BBF74FADEA48D39B22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; B341BC1AD30CCDDAD967EB0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; B3569FEFF39695CCD1E060AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; B36D9787DD79D0DED8D791F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -795,18 +1044,21 @@ 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"; }; + B63430A7E4A342907B763957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; 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"; }; + B66569933AFA114078589944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2ContactManager.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2ContactManager.h"; 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"; }; + B6BAAFF929DCAD7D8D0D0C95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2DynamicTree.h; path = "../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.h"; sourceTree = "SOURCE_ROOT"; }; B731664FB9EEEBC618BAB5A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TimersAndEventsDemo.cpp; path = ../../Source/Demos/TimersAndEventsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; + B731BB6DF7C0468A42BBFEBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; 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"; }; B84A6E341207FA1F60EB5AF1 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "juce_icon.png"; path = "../../Resources/juce_icon.png"; sourceTree = "SOURCE_ROOT"; }; @@ -817,16 +1069,21 @@ 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"; }; + BA376DEB932E4D8C79105456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Body.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2Body.cpp"; 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"; }; + BA87061C6A6FFC374FB92371 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; 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"; }; BADD02151C3951E4853DA06D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; BB29289B196047505CF5EE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + BBBBA7BB82E61F6A4906B2F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; BBC3C77A4D771DFCCB08B874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + BC5C356A2C2BCF10C0110E05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; + BC69E52F734ECCF2DAFF1CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.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"; }; + BE092C995070D86673E0CA21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.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"; }; BF2CAEB6EC641789133B627E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -835,34 +1092,46 @@ 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"; }; + BFEBB2645034DC82B723A79A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; 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"; }; + C02B87CFD478C01111DEC2AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; 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"; }; C06F64DF6D95D5C9C8B2D5F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + C07500D8FFE6CAAC69A45845 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; C0918662F3E28570DF17B041 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; C09840AD421A11A244964AB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; C0A9EF3D27D21B307649111B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Box2DRenderer.cpp"; path = "../../../../modules/juce_box2d/utils/juce_Box2DRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; C0C8D6D7D14DFAFB169FFDCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ValueTreesDemo.cpp; path = ../../Source/Demos/ValueTreesDemo.cpp; sourceTree = "SOURCE_ROOT"; }; C0F898298ABF2458D6C5AF17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; C1CBC5B338453DA492698C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + C1EA39F83282A1255996C0F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; C20FD8D605E6714D473D5C9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; C2FFDDA61218A94403D5FE56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + C310CD4992AAC4FEB72694AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; + C350AC724B75E0B996FAB6EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; C411A91DC3B306E2C417F1BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; C416D60EFF7F25E0080A94D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C43CFE8A48F03CCBCAE08D24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Box2DRenderer.h"; path = "../../../../modules/juce_box2d/utils/juce_Box2DRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + C4422D6B71C3EC8AB4CF661D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + C45AB6B9BE8ED011F1846B34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; C47BAAAD3DF91B17A7787941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; C4B8D5FC3E906DA9F6A4379E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; C4CE4565F5D41303888F6A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C4E873C0CD6E9C76EA2997C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; C509F69A37C9A9053D6E9546 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + C5333852BC17403BEE42815C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; C549EFF977C210EB398C9A33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; C5A932A82042E2DAEBE1C302 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; C60CE259EE4CFE6AC61044FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + C628426662C41516184AA5B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; + C657A3FCA08E4022C085889D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2EdgeAndPolygonContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp"; sourceTree = "SOURCE_ROOT"; }; + C66610F2227199720C6D6D71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Fixture.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2Fixture.h"; sourceTree = "SOURCE_ROOT"; }; C68A1D6B6EAA0B70553FF6D3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; C6D9D6E03D4B740DDF9B3C57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; C7026BE1C751908FEA9E5AAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; C7089BDB2F572546643160C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + C73A51DC1F01D988D7293995 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; C77F148F8E8E9F805D730386 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; C784392363846286D29F207F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; C7A943716B2FD728EFAC84D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; @@ -870,38 +1139,61 @@ 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"; }; + C9285E46E758A36E7BE10F1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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"; }; + C9A6F7104C8DF1694159B166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2World.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2World.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9B2CD80C0B08241D7B4AAC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2ChainAndPolygonContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.cpp"; sourceTree = "SOURCE_ROOT"; }; C9C1FC1B4628557AE5C7E7ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; C9DA15073F3BF252BAFF9D69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; C9DAF05F2DAF78159647512B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; CA0E3166C77EB91555893286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; CAD3749B6A5BDB2BB00D3498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; CAD598C03B7C93B4AF912E66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + CADD66B495B2180CA8A267FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; + CB3B1B31A502CFEFFBE3AB88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; CBDC7CC5CE4132A5D63B583F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; CC5F6FD5F339E1811037EABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; CC79B254C68555B4FFEBC692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC9D900E9D8A5997076C8614 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; CCD2ED6F6F3ABCC172DC4957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + CCD337188E562E1273DAF2E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; + CCEA3C304A87D1B80D2A8AE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; CCEC8F9385AE939B24D27954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JavaScript.cpp; path = ../../Source/Demos/JavaScript.cpp; sourceTree = "SOURCE_ROOT"; }; + CD4DB45FA0E529AD1A38DA8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; CD8B9E60EFE0A0ED368EE3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; CD9B8C96642C7F691FCB3EC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + CDAD8C8558CF8FB2299D1916 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Settings.cpp; path = "../../../../modules/juce_box2d/box2d/Common/b2Settings.cpp"; sourceTree = "SOURCE_ROOT"; }; CDB41763FDE907C3C0E75374 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; CE045161909A4EADCE49629F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; CE276E0CAE722EA80F7985BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; CE7D4E7030BF4BB4B1093B5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + CE7F627E873D9A1380271F7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2PrismaticJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PrismaticJoint.h"; sourceTree = "SOURCE_ROOT"; }; CE89334A964AFF33758CBDEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + CEA314CE7BCC5304D9CF2617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; CF1DA3CB41AA43B349D3A6B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; CF626DE27EB763C9BCFD4F15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; CF7CEC8C260AC623C222264C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF8ED7DAF793C404D5AB68E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Collision.h; path = "../../../../modules/juce_box2d/box2d/Collision/b2Collision.h"; sourceTree = "SOURCE_ROOT"; }; + D026D56600A2F8328CD8DC2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; D04960564D2860B19FA5D1CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; D057633F8F7684AB7B4B28AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; D0736DBF1DA74CBA695DE54C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; D0A84ED14FC2F7A143679258 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; D0ADA33F00B3BD83C1D5AE37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; D100B2EDF88F2C019E4D2311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + D185139B980081A6E950B572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + D19A55AA2BD9028ED50F1941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; D1D8A53A7614F106942DADED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; D1E31AC47CCAB97418EB646D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + D22CF9580AC80B5AB6D97ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + D25576B0B80B36DC4C9830E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; + D2CD51975BB4D1630629B620 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; + D31B7C2ABFDACEDFBF3230E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2BlockAllocator.h; path = "../../../../modules/juce_box2d/box2d/Common/b2BlockAllocator.h"; sourceTree = "SOURCE_ROOT"; }; + D32A6DB271947C7583815465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + D38060D21F6AC8F6A935A6BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; D3A84810AE56991562B6F252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; D3D86F3CDD057C174A16E382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; D400C8DFE9DA635FDDBF57BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; @@ -909,6 +1201,7 @@ D574F24273E747525891B11C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; D5942A1C95986841CA286736 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; D5C59D717CF1C0F15164AD43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + D5E0E9C7BE4512793747276F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Island.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2Island.cpp"; sourceTree = "SOURCE_ROOT"; }; D61BA88D3AC9556266FE4368 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; D6238E383F396236E3A4C054 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; D65129253734C1917354C08E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -916,11 +1209,13 @@ D6B8E586D30632EA07C48D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; D74B19291F4B0370A2742A63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; D767A88B0BC208DECCC1AA3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + D769F1AEAE71E490F5E6CEFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; D7A951371F530DA0A350AF44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; D7B1BBA8FE789A80E86CEA03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; D7D048CFDB58B67E9BAB7448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; D80487E6482EB12BF2C6BD22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; D807B4138306397F8A93FA16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D862A1AE0227E6565606415A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Collision.cpp; path = "../../../../modules/juce_box2d/box2d/Collision/b2Collision.cpp"; sourceTree = "SOURCE_ROOT"; }; D8AE63002C7273F98226394B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; D8DFE1C66668C30215288BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; D8EB3FEADD047C7AEFF9C8C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -929,36 +1224,44 @@ D999C4C8DE51CDFB861B863D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; D99C0F89D572BBF219A7B991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; D9AAC6516BAD4F5BAE9CF297 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + D9D55F689FB9EBF41830E597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; D9DFC1CE9A4EF9230B49D697 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; DA78B13D87626C49A2140FDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; DAACF5AFA6B6994384BA4984 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; DADF2C478777BA8EEBB55CDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; DAF2C8E641253779B6DFF139 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; DAFB19E49A6221854341BE2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; + DB333E69879020687C4DEE40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; DB748B0D9227F5345683CF7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; DB8FAF091C9E78AE5F64701F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + DBA2AA024D68F286B07E32AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; + DBA6A4314768BEA9B73ADA2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; DC0AE99EFE4F88987CA2F705 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; DC6930EE56EEA5221CFECAB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + DCAB5AE95227A13D9822058F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; DD24BAA1E8104B6D3554A222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = XMLandJSONDemo.cpp; path = ../../Source/Demos/XMLandJSONDemo.cpp; sourceTree = "SOURCE_ROOT"; }; DD4A812225F47E590FCF2E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; DD5F4BFEA497212883A869A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD710105BDB9E94D4D137061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; DDDB707A59DB489D195BF99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; DDF02BD16454102C353FCD18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 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"; }; + DEEF4C52F6D21B716534F2A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.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"; }; + E20323737D800CE8CDCFAFA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; 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"; }; + E22ACD275523DA9CFA935974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; 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"; }; @@ -967,56 +1270,79 @@ E34DFFF51D0F7C34FB826C4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; E3DC9C2BBC81EC0B035AA32C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; E3E3CD4660C20BE120E8BB1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E3EA85354D9EE49DD8F21968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; E41A387D233A436131D7910E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; E4369FFC0E1A6547580D671F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + E463B9F4796E34B8082A4EE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; E489FF0264C957A8F71F346A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E579D4E4BEF679C5E543E1EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; 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"; }; + E6AA10B691E44C8C1ED5A8E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; + E7800E0F7C31379D0EE87F75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; + E795BB191E062484B1FA776B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Fixture.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/b2Fixture.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"; }; E8128A35828C860977FEC54C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + E868383557CF3FA6D9DCCF7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2RevoluteJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RevoluteJoint.h"; 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"; }; + E8D77909D3D8E10550164EE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.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"; }; + E97D7A1408F6EDDAE48E1837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.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"; }; + E9A11D2BB2A05BBF2819EDA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Shape.h; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2Shape.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"; }; + EA374E11C3C4C144F70E9763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2StackAllocator.h; path = "../../../../modules/juce_box2d/box2d/Common/b2StackAllocator.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"; }; + EAA0943602A39C1090D4BB0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Contact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2Contact.cpp"; sourceTree = "SOURCE_ROOT"; }; EACCBFA17F4D07ECE058EEBB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + EAFE3EC4FDC03DC6929446E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Timer.cpp; path = "../../../../modules/juce_box2d/box2d/Common/b2Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + EBDC7D0B732C39AE0D0E66A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + EC0F56A4059858E05BAB98BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; 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"; }; + ED60462270C52F6FA0844E31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.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"; }; EEA020419EF58E90C10AAE26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; EEAA1BB6254EDE07A7ABAD65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; EF8055850F3DEA173761E3B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; EFD1BD42000EE640A17EE1ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFDA611057B66032D2F06E53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Joint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.cpp"; sourceTree = "SOURCE_ROOT"; }; + F020CAD810CE79FDB1032B27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; F037091D4A3012EBBA1E808F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; F043752E829829CE2A364F39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; + F04AC34216D2378E32F0B07A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; F0ACCF70936A0BBA2A2AB289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + F15C7935F9F6BC83AB51C529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.cpp"; sourceTree = "SOURCE_ROOT"; }; F1A30E40F7388D16BA35B0DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; F1A9F544E889DDA995415F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; F1E995A1E00C6545A4C3297B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = KeyMappingsDemo.cpp; path = ../../Source/Demos/KeyMappingsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; F2066125C7C0B19E1065BF1D = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = JuceDemo/Images.xcassets; sourceTree = "SOURCE_ROOT"; }; + F23C2044AD3C7D2B333ABE1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; + F2609029E69B0B5CB8A24D5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; F26339EFC03BD8D22016EEB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; F29F6395C4935C1A663A1D15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; F2A15E99B15FBE0CC5F3712E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1024,45 +1350,58 @@ F3A9E0AE5ED05CA1AD6F56E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; F3AF542BB3A9E6CC1D6E37DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F3B746DC92EFE7A9B8EA9E43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + F3E98B138E54B8434CB3E34F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; + F400958FAF55C6818735E008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2PolygonAndCircleContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonAndCircleContact.cpp"; sourceTree = "SOURCE_ROOT"; }; F42FE65C750920656EA22BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; F43CED7548EE5C9F841CB1FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + F44EEB349CFFF332AABDD46D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2RopeJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RopeJoint.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"; }; + F4877166B6AEA79289FE123A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2WeldJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WeldJoint.h"; 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"; }; + F4B11F898B7FAF9370F36BCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; 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"; }; + F505192F2FE344F52DD681A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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"; }; F58760A8EE18630F97C7B646 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; F5B288379859F5C9F4FB83BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; F667601C17DC912B73B817DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; F696BA0801B1A34571346EDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; + F6A32897F123B06226205866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; + F6A48D53B5FE3830E3078B20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; F6DB1C1E0D9315245E87CBC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; F704F70F80BA62A48F3651BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + F762EA210E2AA9560F3CF100 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; 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"; }; + F922253CBC7353685623728E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.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"; }; - F97F775EDCD2D1C497625D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + F9AF8317EEF3297C1D616049 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; 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"; }; + FA2DA6E207768A7B20EC8197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2Math.cpp; path = "../../../../modules/juce_box2d/box2d/Common/b2Math.cpp"; 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"; }; FCA788F92D5BB1640CD2AC35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioSettingsDemo.cpp; path = ../../Source/Demos/AudioSettingsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; FCAC296E92A219D70EB96AD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD22F7A808D3B534354FD7E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Distance.h; path = "../../../../modules/juce_box2d/box2d/Collision/b2Distance.h"; sourceTree = "SOURCE_ROOT"; }; FD2A08CE74C6EBC90CD44A49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; FD46383E356A5DDC1AD53380 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkingDemo.cpp; path = ../../Source/Demos/NetworkingDemo.cpp; sourceTree = "SOURCE_ROOT"; }; FDB35D95490B931CC376A943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1072,7 +1411,9 @@ FE4C496CFA9A1E786253B005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; FE613A570CE31071FD22DC06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; FEB688750213D0C64F18AA37 = {isa = PBXFileReference; lastKnownFileType = file.zip; name = icons.zip; path = ../../Resources/icons.zip; sourceTree = "SOURCE_ROOT"; }; + FEE40D6560981264BFB46189 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; FF34F4ED0C44B2BA4FBF22AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; + FFF76FBE6229D1D034294843 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; 5D279CE438F706BB32D767C7 = {isa = PBXGroup; children = ( 9617B3B5FA9439D342F23ADC, 01C6528C4A0646873D4C3429, @@ -1134,13 +1475,15 @@ 0BC17C2D6DC6B34C6F308432, ); name = Source; sourceTree = ""; }; DAD5A945FFB6D6920BF0D1F6 = {isa = PBXGroup; children = ( 41B2F9FB15FB255A0DEDCA00, ); name = JuceDemo; sourceTree = ""; }; - 40D617E4CBC4C51B6B0DBBF3 = {isa = PBXGroup; children = ( + 2093B556368390D49E2342DD = {isa = PBXGroup; children = ( 26A65E5DA320A85F90F1F58F, 2699A70E9610104CB8D30EC4, C0F898298ABF2458D6C5AF17, CBDC7CC5CE4132A5D63B583F, E34DFFF51D0F7C34FB826C4C, ); name = buffers; sourceTree = ""; }; - A4AEAF285B0FCDC5B0E621A5 = {isa = PBXGroup; children = ( + D371E50FD0BB84FA82E3A424 = {isa = PBXGroup; children = ( + C4422D6B71C3EC8AB4CF661D, + F98920AB20377A95CCA8CDF1, EA7D346CAE6A07C0B395816B, 29AA7E6AE1C062B740F4D80C, 4983B8B7E3666DCAC1A1644B, @@ -1150,7 +1493,7 @@ 541E0CB92DCF5EDA093EDC7D, BA008864E9E4F195E61A21F8, B51567633F44A10D4543B219, ); name = effects; sourceTree = ""; }; - 6FF3AFF30E2CFC40F54FE711 = {isa = PBXGroup; children = ( + 502A008A9C99DA991728E9F6 = {isa = PBXGroup; children = ( 7F2A233FFE5CDB2681F0DC28, 68AD6A94C88A46A483B823E0, 2BFAB8AE52821D3786BD7ECA, @@ -1163,7 +1506,7 @@ 49BFC515C915A4AB53EC15C4, F696BA0801B1A34571346EDC, 586A4398FE1B9F7D6104BB70, ); name = midi; sourceTree = ""; }; - 7C828ECEE88D9245ACDC4E6F = {isa = PBXGroup; children = ( + 2D1D7250A8A643E6B24DE045 = {isa = PBXGroup; children = ( 66F8C7EB6520AB9439433DF3, F2A15E99B15FBE0CC5F3712E, 6E386DC2F80B9C90264AB60E, @@ -1199,19 +1542,25 @@ 384887ECD58A0B42E3669617, 35F5E95BA127E63BA136DACC, 7D7A6251E976BF292861510F, ); name = sources; sourceTree = ""; }; - 3C7D76B7DB18A3929B2EBE2F = {isa = PBXGroup; children = ( + 0ABB6F58FB7C91DF58902D87 = {isa = PBXGroup; children = ( 42386AD366F1AD43B6B29364, B341BC1AD30CCDDAD967EB0E, ); name = synthesisers; sourceTree = ""; }; EAD085E39B98D2F88E2854DA = {isa = PBXGroup; children = ( - 40D617E4CBC4C51B6B0DBBF3, - A4AEAF285B0FCDC5B0E621A5, - 6FF3AFF30E2CFC40F54FE711, - 7C828ECEE88D9245ACDC4E6F, + 2093B556368390D49E2342DD, + D371E50FD0BB84FA82E3A424, + 502A008A9C99DA991728E9F6, + 2D1D7250A8A643E6B24DE045, 9EF5C5A4E05F24140BA571CC, - 3C7D76B7DB18A3929B2EBE2F, - 7DD8FCFA80D230B432ECD149, + 0ABB6F58FB7C91DF58902D87, + 7F5DD7707E3EAC2A12F83072, + 249A454A7EF1C3A07A66F453, + 0349FEE5DA18067918536934, 249A454A7EF1C3A07A66F453, ); name = "juce_audio_basics"; sourceTree = ""; }; - 2C5B1CB88811CFEAD0B763E7 = {isa = PBXGroup; children = ( + 313B8FCE2372026DE010FD3D = {isa = PBXGroup; children = ( + C9DAF05F2DAF78159647512B, + AAEBF0976E57F4756E4AE31E, + 61F28F9E82D39EFF702793D9, ); name = "audio_cd"; sourceTree = ""; }; + 4EDBEC466E17596FD31D793B = {isa = PBXGroup; children = ( 64F04FAD3BAAEE3D0BA279B8, 3ADE61DBFBB6901CE2F1DB17, F53D12880F3354B4FFA480E5, @@ -1219,22 +1568,13 @@ 70A5CABA464ECFC6A8449A87, A9BA8E7E434AC82F4604C773, F3A9E0AE5ED05CA1AD6F56E5, ); name = "audio_io"; sourceTree = ""; }; - ACE42B83631F91D837D30DBF = {isa = PBXGroup; children = ( + 194C5968627521DBFFAD1E78 = {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 = ( + E8E3D5C4CD168878BC935EE4 = {isa = PBXGroup; children = ( F881704607DB79F9A3CF7491, 088687334FC51A5136881578, 7416BF201FBFE7F978FD774A, @@ -1254,31 +1594,169 @@ 74D283E02B3A2A293678FF9C, 5FCCFCEE3F6C4C51BB581572, 52D7400A47B19848EFCB5B51, ); name = native; sourceTree = ""; }; + 278366845208ACAA6EFD0C95 = {isa = PBXGroup; children = ( + E6E0FE3CBDBE2554B527CF60, + F1A9F544E889DDA995415F6D, + DDDB707A59DB489D195BF99D, + AAC68E522F44DA7AD25574C7, ); name = sources; sourceTree = ""; }; B5BC400B03F73362F263D1FC = {isa = PBXGroup; children = ( - 2C5B1CB88811CFEAD0B763E7, - ACE42B83631F91D837D30DBF, - 06540B00B960F62D8C50A952, - 5E43CCDE66C0FD9A873CF9A1, - FD6512AC0A0ECDCA3416F735, - BD14CA532122022C26920DF8, + 313B8FCE2372026DE010FD3D, + 4EDBEC466E17596FD31D793B, + 194C5968627521DBFFAD1E78, + E8E3D5C4CD168878BC935EE4, + 278366845208ACAA6EFD0C95, + 2EB0FBA99B4F54DC67C391B3, + 806A7A3BFC684B4D9E25ABDF, + 1E0453D8A9741695357567E3, 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 = ( + FE22719A1A7C0DE8788CC66C = {isa = PBXGroup; children = ( + 1334EA2BB30D70E30E929919, + 58201275FBC0DEF77D010733, + 71B244396C01790820BDB08E, + 8A81C6BE773B2895357F469C, + D026D56600A2F8328CD8DC2C, + 767818AB549833C6A3695680, + A6F5FCBD2F26BF994727FBFB, + 2A5FF3EB0E2C32BF08080C7E, + 59A4EE8F8C7CAC439DF95A91, + 5EF33D6281C6FCD1040FDC9B, + 0E501BDAF7993A70A4300040, + AC2CA767DC0B09749E9EC53E, + 603014A5B777586F4F1C98D6, + C1EA39F83282A1255996C0F6, + 5459E2489D23B5764B4C919B, + C73A51DC1F01D988D7293995, ); name = private; sourceTree = ""; }; + 81AE9D60457672A787004F0B = {isa = PBXGroup; children = ( + BFEBB2645034DC82B723A79A, + 84FCF3E5B30EB7CF5EEFB983, + A60864C9398414445F587C91, ); name = protected; sourceTree = ""; }; + A86DDFF9892CA2A05D173C4C = {isa = PBXGroup; children = ( + FE22719A1A7C0DE8788CC66C, + 81AE9D60457672A787004F0B, ); name = include; sourceTree = ""; }; + ABA74055DA2EEFA5423CD500 = {isa = PBXGroup; children = ( + A86DDFF9892CA2A05D173C4C, + 7A2009F14F7AFEEF7F233EBC, + 3DF9D537778948BCCFAA6F90, + 4150459DAF5A300EE3646771, + 3C169AF805125BDB30041647, + DCAB5AE95227A13D9822058F, + 706E3A30C486843B267D27C5, + 96B7036D28E7BF24703EECAE, + 4ECEF417A3156D46464E6B9C, + 6218A4FF5FB036AA0B7B77A3, + B2C2CE1C54B3F7BF754EB506, + 653C6D41CCDB5D556F00D17B, + 1827E39781E7FCD3FFEA879F, + CB3B1B31A502CFEFFBE3AB88, + E20323737D800CE8CDCFAFA2, + B02086DEB7D97B8B2DCBBF65, ); name = libFLAC; sourceTree = ""; }; + E7D99E2666990279C9A11700 = {isa = PBXGroup; children = ( + ABA74055DA2EEFA5423CD500, + 59305C17D5656ADD56682C87, + 08F27F768CB242347E402318, + C45AB6B9BE8ED011F1846B34, + 5A2481A419E5A9D88B640A7D, + BBBBA7BB82E61F6A4906B2F5, + 1A379B56FED4D3EEF75539F9, + F2609029E69B0B5CB8A24D5E, + 46ACD125ABF2078BD7250307, + 6A766394ABB39B5A0E3EF182, + 771D8CDD1499DEDAC2E38D25, + C02B87CFD478C01111DEC2AD, + B1F568A29AE97695819566D0, + E97D7A1408F6EDDAE48E1837, + 9813895C24F80C5948DF41B1, ); name = flac; sourceTree = ""; }; + AF8051C8C57B1E4263F065DA = {isa = PBXGroup; children = ( + 898999A1030D94C6808D5148, + 87F30C283F01D6DE78677AE1, ); name = coupled; sourceTree = ""; }; + 5D0A7B0AFE0FBA8B36493D58 = {isa = PBXGroup; children = ( + 4B4A489613828AC28F25417C, ); name = floor; sourceTree = ""; }; + C965B188AD1E330F076AD73E = {isa = PBXGroup; children = ( + C07500D8FFE6CAAC69A45845, ); name = uncoupled; sourceTree = ""; }; + 7CA0AFF5DBB536581B83B491 = {isa = PBXGroup; children = ( + AF8051C8C57B1E4263F065DA, + 5D0A7B0AFE0FBA8B36493D58, + C965B188AD1E330F076AD73E, ); name = books; sourceTree = ""; }; + 5165857850ECFA377F30097C = {isa = PBXGroup; children = ( + 930C2398BC534B8387E867BD, + 2FCF501B503F3915AB871C8E, + BC69E52F734ECCF2DAFF1CE3, + 5509449631045CDCA7654270, + 57F36E18E098F0CADDA05309, + A457A6844324E461FF142768, + F922253CBC7353685623728E, + B31051BBF74FADEA48D39B22, + 5155F4A9D709CC0A8CC1A7F1, + 6F21AA1FF466F570DD76E329, + 74D9D04AA36E9167899526F6, + 797A5C7982E0CD14F93B3C54, + 009E483D2993902748AEEFE5, + C628426662C41516184AA5B6, + BA87061C6A6FFC374FB92371, + 6438540B318F456A76A57197, + D32A6DB271947C7583815465, + 1E74912578DEAF430E69D738, + D22CF9580AC80B5AB6D97ED4, ); name = modes; sourceTree = ""; }; + D217546A2DC92083CC566233 = {isa = PBXGroup; children = ( + 7CA0AFF5DBB536581B83B491, + 5165857850ECFA377F30097C, + 1D43B002D877CDF3DA85E602, + 8AF24276EFD548D2DE81B6E6, + 0A189F6BF4FCE2D3FBF6FF4B, + 69DA0CE5CD8627CA01BA0781, + 827374BD9EE76A6B90DE88A3, + DBA6A4314768BEA9B73ADA2C, + 1945AFAFBEF562B3CE0B32B3, + 5B20570CB36A5765EE06DB95, + C310CD4992AAC4FEB72694AA, + F23C2044AD3C7D2B333ABE1D, + B63430A7E4A342907B763957, + 78677F16A1356879D6F99EA9, + 31A98E30E965B03150B381FC, + AB19F2DAD8930809EC63CF89, + 48879AF101C3CFF70E2A6D6D, + 3F4D37C15B02AA087A3A685F, + 0C13B04875D9B8903BCE30B9, + 3AB4D648738323B910F9857F, + 2CC5542D7C142042D3A1D86B, + 56E74B5D9FEE2F25B15B50EC, + DB333E69879020687C4DEE40, + 3A2ABBB84632B201DC78CC65, + F020CAD810CE79FDB1032B27, + 8554F3107BAF434F9AFE3875, + 1FF4527EB0D8AC7B141CF989, + 23D96CC5CE35DC9458F64A77, + 360FC75BBB17079A50D83F82, + 575D4B7FECA71BBCB194C30B, + 37B638D91C9915F8A747998C, + F4B11F898B7FAF9370F36BCB, + 518DE93C8782835E470BC7F3, + E579D4E4BEF679C5E543E1EB, + 8A0109D195A8A98F3D316671, + E7800E0F7C31379D0EE87F75, + 420516E3BCE114E11526E916, + 2A42C9B40A6A73C0CBE727B7, + EBDC7D0B732C39AE0D0E66A5, + 3C48BCAFBB2B5332DB3FF7A5, + 3506BB2D001EAE3244ABE2AD, + AAC3A67363234D151DA6BFF5, + 6B78EA517CE2D6A7C7B42C21, ); name = lib; sourceTree = ""; }; + 7D81CE6323AD99718724B32D = {isa = PBXGroup; children = ( + D217546A2DC92083CC566233, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + C3A04D1AB6018BB0FEF74D7B = {isa = PBXGroup; children = ( + 7D81CE6323AD99718724B32D, + 05DCF1D105D327102D02ADD8, + 8F05BFCFFAC8273150ABE262, + 52455CCE9E92ED0C59F41734, + 168363BEFCBAD9F40E9636DC, + 0B543B1E23AC1D74483632D2, + B2E3E18FA4A5EB53BADA5072, + 6D095BAE8ECFCA14A483B980, + F04AC34216D2378E32F0B07A, + 3DC0549B351FDD471AC643AC, ); name = oggvorbis; sourceTree = ""; }; + 3777DD37A1736028694C8335 = {isa = PBXGroup; children = ( + E7D99E2666990279C9A11700, + C3A04D1AB6018BB0FEF74D7B, 35E35B099E2A7906A7AA2EDE, 019352D78DBBEE2AC10ED6BC, F4676BB721F96DC5DDDAE746, @@ -1297,16 +1775,51 @@ 2859FDF0CCD1ED788910E9D3, 60849B046145D3BACDFA6A84, 6C57333FC4ACEBC7C451A414, ); name = codecs; sourceTree = ""; }; - CB4068ADFA9C76E778DD19AF = {isa = PBXGroup; children = ( + 5952FC3AAEC16A94E549213E = {isa = PBXGroup; children = ( + D999C4C8DE51CDFB861B863D, + B305C104F5A573E8AFEFA763, + 63D09BD18653F6A0134C8195, + DC6930EE56EEA5221CFECAB7, + 991F4C3B42036B549C321789, + 7F7EAF366320BA71741B68C3, + EFD1BD42000EE640A17EE1ED, + 1F2CB36A86AA1A4FFF89CD88, + E8128A35828C860977FEC54C, + 324452D7F5B5EA3B393FF4FF, + E7EE6BDC0E3A0739529AED91, + 0E1D85B025D93DAFA8404824, + CA0E3166C77EB91555893286, + 00DE0C93FE719DC72E20A63B, + E31FB2C8B34A146D28A4C611, ); name = format; sourceTree = ""; }; + 2767F18F4CBCF8D4BAD5511F = {isa = PBXGroup; children = ( 807F5EE489018BC1956AAD5C, D04960564D2860B19FA5D1CE, ); name = sampler; sourceTree = ""; }; 43D650FDDBAA28AE94A8942B = {isa = PBXGroup; children = ( - 22448345537DACFE2F258ACF, - 892E3C641B2CBBE66606A2C6, - CB4068ADFA9C76E778DD19AF, - 50AB15E26F6E4A55B0BE8AE6, + 3777DD37A1736028694C8335, + 5952FC3AAEC16A94E549213E, + 2767F18F4CBCF8D4BAD5511F, + FEE40D6560981264BFB46189, + 05AFEDB1F65A8C2C8E9620E0, + 40D267701C8FF75121454D79, 05AFEDB1F65A8C2C8E9620E0, ); name = "juce_audio_formats"; sourceTree = ""; }; - F5E14DC1BD0B02032813E53F = {isa = PBXGroup; children = ( + FE5FF3B06216363423589217 = {isa = PBXGroup; children = ( + 7BBD4B2D9A9EF13CE4357979, + 4B310AA3DF4F6188B2E6FAF1, + E2127416236840EE3AF32D5C, + 96F43E8EB364D3E40689D368, ); name = format; sourceTree = ""; }; + CA6EE03DD8ACDF1A15DDE60C = {isa = PBXGroup; children = ( + D1E31AC47CCAB97418EB646D, + 58FB0C4FE674CC5BB7B1DCA7, + 8396EA11DD261260F1A96DF9, + A6FADD9A009BA1F1D36239FD, + B2C11FB8D4762ABB6CB9B934, + 9750423DB3DB6570382DA3C1, + 9B9E034C5761096ACB8A76C3, + 73267FE8DDE50FD1E6E31ED4, + 8AE56D2F4E33B015C3D73EB8, + 52A95B5754438C999343869A, + C8A42EE493A1DF2E283C245E, ); name = "format_types"; sourceTree = ""; }; + 923A7DC58042E1A0FB99D390 = {isa = PBXGroup; children = ( 6645C09E7FCFF0E498C3C400, 0F82F90D72AD536CC3DFE217, 25412CD3F6855849D8B7FE98, @@ -1323,24 +1836,7 @@ 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 = ( + F29CDD16F3F0451F4D5EE3EA = {isa = PBXGroup; children = ( 6E125672C42D84CCD54F9B0D, 55FBB9F8900F753766A22BE6, F843FC09B4C2A10C76D8D35C, @@ -1357,14 +1853,16 @@ 631FD2CAE69A3D5DD8C2E1B6, FC14A2D9F860584459B762F7, ); name = utilities; sourceTree = ""; }; 326CA890D2481B82367C6F3A = {isa = PBXGroup; children = ( - F5E14DC1BD0B02032813E53F, - 44B5DCFCAB48CED4E27F0F7C, - 961C00EDB46D39EFDB238950, - 1766FC3A6258C18585F98105, + FE5FF3B06216363423589217, + CA6EE03DD8ACDF1A15DDE60C, + 923A7DC58042E1A0FB99D390, + F29CDD16F3F0451F4D5EE3EA, 453BF0685F30EA92520392E4, - 5FB5AE3F2ECCD8AC1A49CA18, + 27436247FFB648C821348A91, + 6BD1D463E40A463C69C065C7, + 66C5D2F0D9B9ABA7F4A386E8, 6BD1D463E40A463C69C065C7, ); name = "juce_audio_processors"; sourceTree = ""; }; - EE85F21BD60AE1C7926DA310 = {isa = PBXGroup; children = ( + 54EE75FA42A15F716F409593 = {isa = PBXGroup; children = ( 5A3C2298934C0F77CC60D336, A90C7FF8F98D21494524B726, 081472DAF6208CF7FDD4466B, @@ -1379,83 +1877,140 @@ E3DC9C2BBC81EC0B035AA32C, E7A5AF3EBCFEEF8787F2D14F, D057633F8F7684AB7B4B28AD, ); name = gui; sourceTree = ""; }; - D7A76D9B15CE0C2AA2F1831B = {isa = PBXGroup; children = ( - 4140669501152D9FB9A244B9, - E1107017C2BF7ECC847DF01A, ); name = players; sourceTree = ""; }; - 729ED0EF005668B4140C1996 = {isa = PBXGroup; children = ( + EDE41A20104F2FF0339F0224 = {isa = PBXGroup; children = ( DDF02BD16454102C353FCD18, 5232B9F7E62CD5C41C3ABFED, 8DA438AAAFBC64C11DE329B4, 4151602FFED0B1AE7B36CEF4, 37355CCC05D407D665AA6604, ); name = native; sourceTree = ""; }; + 39AB8377F208E9C9E3CC10A2 = {isa = PBXGroup; children = ( + 4140669501152D9FB9A244B9, + E1107017C2BF7ECC847DF01A, ); name = players; sourceTree = ""; }; BE68248271118CC1AB328F34 = {isa = PBXGroup; children = ( - EE85F21BD60AE1C7926DA310, - D7A76D9B15CE0C2AA2F1831B, - 729ED0EF005668B4140C1996, - B66D06DC55FFC2B99D43F4E2, + 54EE75FA42A15F716F409593, + EDE41A20104F2FF0339F0224, + 39AB8377F208E9C9E3CC10A2, + 8DC36D3C2FF85554B208793F, + 89C47678AF8B46702EC0EE66, + 5B466272F3B821BE88BAC205, 89C47678AF8B46702EC0EE66, ); name = "juce_audio_utils"; sourceTree = ""; }; + 7111D29BC4EFFF98C14B5AE1 = {isa = PBXGroup; children = ( + 82DF136532B2A68A19CBD0C7, + 57F10A97F9AA52EF7B344208, + 589812C6DA03A2299270F7D0, + 0F28BC4F61D1898E4C68E8BA, + 3E265486EFE462E632F47FD5, + 6813D2FE050F9518A7BF3728, + A6AFF35305010E3E7C46D818, + 305ADD801E4BA9EFDBBCA4FC, + E9A11D2BB2A05BBF2819EDA7, ); name = Shapes; sourceTree = ""; }; + 9C66986B0146B23B5C90F910 = {isa = PBXGroup; children = ( + 7111D29BC4EFFF98C14B5AE1, + 38271EF6B109065F290717DE, + 0DF176A2BC5C338AF984036D, + 59C6CE0327D10524BC789A72, + 982A6760536A0D76070BFD3D, + 4253F39382D064BA90766895, + D862A1AE0227E6565606415A, + CF8ED7DAF793C404D5AB68E1, + 9CABA28CDB2F38B933D7D5AB, + FD22F7A808D3B534354FD7E1, + 87C10F97FD75475F541A2236, + B6BAAFF929DCAD7D8D0D0C95, + 26ECEE2D25C933C4B8CF0B49, + 8F54927EB7C415884F445CD3, ); name = Collision; sourceTree = ""; }; + 4F512B3A2785674337E1996C = {isa = PBXGroup; children = ( + 68D5182872CF48CC8A07EF88, + D31B7C2ABFDACEDFBF3230E1, + A7C772D36E8964ADDCB7D096, + 3C37FCA5B754E496D13066B5, + A167A41D05FA3B4AC6CA1E9D, + FA2DA6E207768A7B20EC8197, + 8D67ED9898F9BE8652B8EE2C, + CDAD8C8558CF8FB2299D1916, + 1B0F7F7A6B9627B92F989632, + 81DA6F8C2D59F6DBBB96F9E2, + EA374E11C3C4C144F70E9763, + EAFE3EC4FDC03DC6929446E3, + 6F6C75B9F875DFACEF086245, ); name = Common; sourceTree = ""; }; + 585099A9330962B6D173449D = {isa = PBXGroup; children = ( + 44D1D1D5A6F855F920FD03A5, + 12FD27ECE82A3298E3A8675D, + C9B2CD80C0B08241D7B4AAC1, + 3EB15B173754AE2C7B96AE5F, + 60EEA1369C0AD22C3EA05B69, + 123D3579B74D9D5781B0BD1D, + EAA0943602A39C1090D4BB0E, + 1B03ED2B0D5B73B876954081, + 417FED446C0B953AB2DDB633, + 06C06A48BB269847BA36AA3D, + 7DE7EDED3797A71816EA7F01, + 030B047C95BEA80469F28E35, + C657A3FCA08E4022C085889D, + B0E867D448609AFBA718729D, + F400958FAF55C6818735E008, + 3B4867D990EA8802B4A319AE, + 119E106357BA987590551255, + 6D6A08D5532A95D22E74371D, ); name = Contacts; sourceTree = ""; }; + DB28F0BB99DA5A11FFFCE184 = {isa = PBXGroup; children = ( + 8B24B1B5F68C57B014D709EF, + 71B9B558197CF23EC530D57F, + 93A03C37C749EEAEA8CDE62C, + 8B65B18F6411C38CE37289AF, + AC67D402C4C5DD1F6F036044, + 6F8FAEA15628DF26DAFF73A5, + EFDA611057B66032D2F06E53, + 72370D6EFB4C549A2745C2B8, + 7BE5C4D52D35AEC60DEC2F0F, + 14EED3F7B3E7AD8A7041BF3F, + 5398AD39345A757DAAFC7F97, + CE7F627E873D9A1380271F7F, + A2C836847DB29C151CB09E6B, + 8E28FF1F25D4B95ABA616BAA, + 81B55F41498F2C7AEF8EF849, + E868383557CF3FA6D9DCCF7C, + F44EEB349CFFF332AABDD46D, + 0615C44ADB0F1EB55726FC33, + 92E2C82B141DD4A923F03580, + F4877166B6AEA79289FE123A, + 4F35D7B6179D00C91BB63AF7, + 3994BC23A01CD8FA2A634654, ); name = Joints; sourceTree = ""; }; + CA0505816BEC0949E8FF5EED = {isa = PBXGroup; children = ( + 585099A9330962B6D173449D, + DB28F0BB99DA5A11FFFCE184, + BA376DEB932E4D8C79105456, + 7AE34C0CF7EABE461F4FE5FF, + AF08C54E4F91D5E480A48EFA, + B66569933AFA114078589944, + E795BB191E062484B1FA776B, + C66610F2227199720C6D6D71, + D5E0E9C7BE4512793747276F, + 9C0B4B92D8179B2B2EA27DCB, + 86B1E971DDB1413BF596B130, + C9A6F7104C8DF1694159B166, + 5F4304885211C2F40AC66E25, + 913BF3D4458ADD6A17F1BECC, + 85677259EC513883D8D2076E, ); name = Dynamics; sourceTree = ""; }; + 88BC1F717EB8F779194FF888 = {isa = PBXGroup; children = ( + 6D680FDE137012CFCDEEA7FE, + 4C5649C5D9290FA9385B6CE0, ); name = Rope; sourceTree = ""; }; 7AF3E75ABE7FFA5936475F7E = {isa = PBXGroup; children = ( + 9C66986B0146B23B5C90F910, + 4F512B3A2785674337E1996C, + CA0505816BEC0949E8FF5EED, + 88BC1F717EB8F779194FF888, 0732CB9291291C9854197B28, 1B9B4E12F53F8350757CD4D2, ); name = box2d; sourceTree = ""; }; - F025DD9DC1A82BB3FC45DE34 = {isa = PBXGroup; children = ( + 6B9A23A5A3DDDC23A6B9E0E7 = {isa = PBXGroup; children = ( C0A9EF3D27D21B307649111B, C43CFE8A48F03CCBCAE08D24, ); name = utils; sourceTree = ""; }; B92F6CB95B8D46F185B51F43 = {isa = PBXGroup; children = ( 7AF3E75ABE7FFA5936475F7E, - F025DD9DC1A82BB3FC45DE34, - DEFD6AD8B2BBA57017DB4A13, + 6B9A23A5A3DDDC23A6B9E0E7, + ED6224ABC715AAB68661F4D4, + 1AD3E125B61DD653C03FAC05, 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, ); 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 = ( + E0066AC466DB544165B25C93 = {isa = PBXGroup; children = ( 1A3DE76CA275CEE7DAD501A4, D100B2EDF88F2C019E4D2311, E7EA99CD84E1EC598F4984DD, @@ -1477,37 +2032,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 = ( + 87941A88EB5477A35AE58282 = {isa = PBXGroup; children = ( CF7CEC8C260AC623C222264C, 366C0E8D559D37FF92B64F47, 6B83E4AE241F0EAC9574923D, @@ -1525,76 +2050,56 @@ 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 = ( + BC5183F7CB9EB07B19F0DAF9 = {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 = ( + BB0D6B9597130E0569A377E0 = {isa = PBXGroup; children = ( + AB589E1E7EC83EA620B7F780, + 88D689399C7F69D687208673, + DD4A812225F47E590FCF2E29, + 6141692AC9282411091C8157, ); name = logging; sourceTree = ""; }; + 46C240D133177910EC7257A6 = {isa = PBXGroup; children = ( + BADD02151C3951E4853DA06D, + 21CE480826B56F0B5C8C4A43, + A763B4ADDB7BDD941FFE51CF, + D7A951371F530DA0A350AF44, + 5125E77EBA8500EAA778F51F, + 519F11BE9C786A7F9B221BA5, + CC79B254C68555B4FFEBC692, + 220344E43675A2A7D64D3A44, + 2432B5DFCDB8D39150029E01, + D769F1AEAE71E490F5E6CEFD, ); name = maths; sourceTree = ""; }; + 5C3DD8859FD4ABA9978A896C = {isa = PBXGroup; children = ( + 0EAB2E0BB8C3BE2725FA093A, + 4AF5BD29C935D0EB7CB0F6AE, + DE3BEA732CBC57AE71E94159, + F26339EFC03BD8D22016EEB6, + A235B5113FB4E5DA6267975F, + 14933D0F3C598C38A113CE8D, + C60CE259EE4CFE6AC61044FB, + DF9B26660FAF5ECF2EF620B8, + A2F0B85560090CFAC7D95132, + 734C43C3F7918061F2DDD214, + AA967AC6E8FDCD7502272DA7, + 7319ADBC735F957219774263, + D1D8A53A7614F106942DADED, + 6B1FEA349A6C8F51AB27E23C, ); name = memory; sourceTree = ""; }; + E02451B1F1D00BF2FC0044CA = {isa = PBXGroup; children = ( 55273A59F96B3C775EB71FAB, 44F4A9351C2B03F98A0D23E4, + 06D514A7B2556A07D2398433, + F7CDE069A32CA0EAD1BE7D43, 4A2C25FD55809F1489963FC3, 360291D0346F776DDD3F43E8, 28E65398C8CF95EB12A5734D, ); name = misc; sourceTree = ""; }; - BD98C1BE7812F052CB13F901 = {isa = PBXGroup; children = ( + 658C72E6E7F52541C5F63652 = {isa = PBXGroup; children = ( 599036DC07DB54E446ECA054, B63933880C456903722F46A4, 60B755F5684959E78C556810, B97B2C0C6A4322FFAACE1C39, + 78D08E88D61781FC020AFE3F, 4290825CEF87C19A113CA9F9, 3CF67E6BCC6B52EFD6E6A458, FA8B6B0F6D43146BAAE04D4D, @@ -1619,87 +2124,204 @@ 50677353DB2766A800988656, 48A0FC60EFF6334C161519FD, 6F5B9777B802707C4A747E46, ); name = native; sourceTree = ""; }; - 7AB76D65BF8ACD7C0CCB6169 = {isa = PBXGroup; children = ( - 9F8E4C02B09E172A04638A04, - F06CAD4E176B4B5D59F3D92A, - B800FC93901BFB2AAB84B357, - 29FD491D882C7A35353517C8, - F6C37A1A9BE55FD210811ED5, - 18CBD980606B9896AE7EDB66, - 15BAE5B68F98DAF50032DA20, - 23F9726B9A73EF92F1209DC4, - E6D63506374A755883B95CD0, - 1CAC2BF524350D8F0B5FD356, - C8E2FB2013388FB97CB0E404, - 9E69FDED50CC01056C1E3A3F, - 649BC7DF20650B1753E12AF4, - 2D8DDEA5DED7302CBA238934, - 94F54CCBAAF1F7BECBE15D38, - 6C6F5F4F0570E2CE9AA515B7, - BD98C1BE7812F052CB13F901, - BFE7C09CA4AFAC973C267D11, - 824822F2A6A539B2D797DE23, ); name = "juce_core"; sourceTree = ""; }; - D819E535B50B941C9A6E8FAB = {isa = PBXGroup; children = ( - 4E0A9537FFDE89E4B46710CB, - E9B8B3FAECC80B66257B14F9, - 8F8DD95844D647749BA662B7, - 607FA0800596585429F6C22B, - 15348CE8667592D8F3841601, - 32F1D9C9FD2C0796E2E66C6A, ); name = encryption; sourceTree = ""; }; - 3C9C844C356DB55BB284218A = {isa = PBXGroup; children = ( - 0EA8F0AB668E3B77E8088139, - 8D121C4BCB6A36684EC59FB7, - F1A30E40F7388D16BA35B0DB, - 9A895B323AC3DDD249D99CB7, - 30D828B153772EC3FBADF543, - 869FEB02E31658BD16664F1C, ); name = hashing; sourceTree = ""; }; - AED3AAA07A81C88CC540827D = {isa = PBXGroup; children = ( - D819E535B50B941C9A6E8FAB, - 3C9C844C356DB55BB284218A, - E52756E1DB553ED02D829F61, + 9007E874A2FEEDAD24A9F7F0 = {isa = PBXGroup; children = ( + 9D0B40C4BF8FD939C33E3D59, + 0E11770AD343D8A0780C54BE, + 80A57920E6EA9C2E881BC3E5, + 39E4404D57A8B66DF520B66F, + 2274B9A5BC921FE3B877D0C1, + A1EFF3DBE5F7B0C07AE59D7C, + CD9B8C96642C7F691FCB3EC4, + 6EA8B0940C4486B9F03BA19C, + D61BA88D3AC9556266FE4368, + 24E2AF695F11B9BAEB8FBE3D, ); name = network; sourceTree = ""; }; + 32C5ED6A8EEB53DF786EA273 = {isa = PBXGroup; children = ( + 945E090A8DE2E776F7033143, + 9CED8F32B3718A90481EEDE6, + 9B9F578EC77AA988C919AC6F, + 49D1B40749401475B52A6F85, + BFC3C3EBCDDABF1529A317FF, + 62D20AFF94117B99556BF56C, + AD593F766DC27414A94FABEE, + 429974B1B4C361F218093A41, + B7AE6C1C50421EE6E02045DC, + CC5F6FD5F339E1811037EABE, + 03CB1183519203936C33025A, + 86BFE5D66623DB207CEA3F9F, + 3FBF109F3AD6DE221EFB1BA2, + DC0AE99EFE4F88987CA2F705, + F9F4D5D9783B88F2DE889023, ); name = streams; sourceTree = ""; }; + 701F4D4F2F738CF7491C920F = {isa = PBXGroup; children = ( + 80202384D81020DAE2072A1A, + 218E36147FA4309F072C1949, + 33F3182598E9A84AD25A9184, + 8BDC3161654344162ECDCB32, + 6BDAB94A88B565A734534368, + 12E4EED0370A1733C6629D86, ); name = system; sourceTree = ""; }; + 8B0950BB3801C1CB7418F5F6 = {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 = ""; }; + 0FB4DDC3457DFB5C76DFA9E5 = {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 = ""; }; + 613E319C4446EECCB1C11EDF = {isa = PBXGroup; children = ( + CCD2ED6F6F3ABCC172DC4957, + 2060347D582A8E45F58AE1C2, + 3D2D6313C0A3397C4839B29B, + 0B3662D1FFE3102476FD60D7, + 78979AFF44F164451516C986, + 23A853ADC54A69406C7A49C6, ); name = time; sourceTree = ""; }; + 917E7615AED717BFFD2B2748 = {isa = PBXGroup; children = ( + 46118CBA9C3CD3B354D93B30, + 3EF890CB40C6FFCAE055B7B1, ); name = "unit_tests"; sourceTree = ""; }; + 48AC852C4D58B1A43FF5CF19 = {isa = PBXGroup; children = ( + 8A89A7C0DEC85C7773251B15, + 2E29C6A0CF15C32A35119DCA, + 16DC590DCFE57F583E99F9C9, + 6BEA46E3C64DD2FD8946CD35, ); name = xml; sourceTree = ""; }; + DD25B4337F2CF8FFF14D1177 = {isa = PBXGroup; children = ( + 41F65957FAEED268DBFFE925, + 94FDE7DB4503F1DA55B7A47D, + A3BC97F67B5567379214CECA, + CD4DB45FA0E529AD1A38DA8E, + A670765B72A94519A5F66E81, + DBA2AA024D68F286B07E32AC, + 608B8EFDDEBB7573425846B6, + C9285E46E758A36E7BE10F1E, + 409B6897E764E49BCB4A9277, + ED60462270C52F6FA0844E31, + F9AF8317EEF3297C1D616049, + 364888A8E80B59503995FE18, + AAF6B6F2F129303FB8682109, + 8E8283D81F04E954670F2636, + 3529CDDF14775FE48C57039E, + CC9D900E9D8A5997076C8614, + 0A912DDCDF5336D520DF06F9, + C5333852BC17403BEE42815C, + 79EB99F04FC9B1ADB0810935, + D2CD51975BB4D1630629B620, + 2EFA7470343EBFC6E338F7A9, + 1669962FEA6685A54CD44F3A, ); name = zlib; sourceTree = ""; }; + 912A12990074F09386E96068 = {isa = PBXGroup; children = ( + DD25B4337F2CF8FFF14D1177, + 50D167857CCBE08F692604BB, + D65129253734C1917354C08E, + 5FC58B5FBBBB09878E3F2230, + F29F6395C4935C1A663A1D15, + 55F9178934DDF31583323625, + 2F66B42AF6C0B5ED381937C3, ); name = zip; sourceTree = ""; }; + 7AB76D65BF8ACD7C0CCB6169 = {isa = PBXGroup; children = ( + E0066AC466DB544165B25C93, + 87941A88EB5477A35AE58282, + BC5183F7CB9EB07B19F0DAF9, + BB0D6B9597130E0569A377E0, + 46C240D133177910EC7257A6, + 5C3DD8859FD4ABA9978A896C, + E02451B1F1D00BF2FC0044CA, + 658C72E6E7F52541C5F63652, + 9007E874A2FEEDAD24A9F7F0, + 32C5ED6A8EEB53DF786EA273, + 701F4D4F2F738CF7491C920F, + 8B0950BB3801C1CB7418F5F6, + 0FB4DDC3457DFB5C76DFA9E5, + 613E319C4446EECCB1C11EDF, + 917E7615AED717BFFD2B2748, + 48AC852C4D58B1A43FF5CF19, + 912A12990074F09386E96068, + ABFAD9653637328D6FB7F06B, + 824822F2A6A539B2D797DE23, + 4E49D12CA5C42721F532DCD6, + 824822F2A6A539B2D797DE23, ); name = "juce_core"; sourceTree = ""; }; + D819E535B50B941C9A6E8FAB = {isa = PBXGroup; children = ( + 4E0A9537FFDE89E4B46710CB, + E9B8B3FAECC80B66257B14F9, + 8F8DD95844D647749BA662B7, + 607FA0800596585429F6C22B, + 15348CE8667592D8F3841601, + 32F1D9C9FD2C0796E2E66C6A, ); name = encryption; sourceTree = ""; }; + EE6612FF2E3D0EC70FC024BB = {isa = PBXGroup; children = ( + 0EA8F0AB668E3B77E8088139, + 8D121C4BCB6A36684EC59FB7, + F1A30E40F7388D16BA35B0DB, + 9A895B323AC3DDD249D99CB7, + 30D828B153772EC3FBADF543, + 869FEB02E31658BD16664F1C, ); name = hashing; sourceTree = ""; }; + AED3AAA07A81C88CC540827D = {isa = PBXGroup; children = ( + D819E535B50B941C9A6E8FAB, + EE6612FF2E3D0EC70FC024BB, + B02CAD037D993AC554573415, + 06BD2631BF3C52F26B9981E8, + B9D26C6C4CED62E6708B6865, 06BD2631BF3C52F26B9981E8, ); name = "juce_cryptography"; sourceTree = ""; }; - D4863F7EB960C2709BB3076B = {isa = PBXGroup; children = ( + 35030E2E43A56D85963D945C = {isa = PBXGroup; children = ( + 5B0A45CD67D62B0BF9FC22F9, + 9327D6AA8805BE7AD971D68C, + ABDFE5D85E6ED3CBB8AE1F50, + 93B3667FE4186CD75426EA53, ); name = "app_properties"; sourceTree = ""; }; + 1D71BB83807483ADA73BDA10 = {isa = PBXGroup; children = ( + F3B746DC92EFE7A9B8EA9E43, + 5FD5503AB0E161315DD5CD70, + 171E2FEB6097B9D059BCD196, ); name = undomanager; sourceTree = ""; }; + F4291B2AB46BA9F37B0894B0 = {isa = PBXGroup; children = ( + 7B8FADFD12EC0B9EC8A4ED09, + 99E9746687DD6E518585DB09, 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, - E635F16A3A42F4C92EB0E043, - 4E83EFA92EA783E37B892C4B, - 8FDA4FBF31997AEBF3AE10E4, + 35030E2E43A56D85963D945C, + 1D71BB83807483ADA73BDA10, + F4291B2AB46BA9F37B0894B0, + BE092C995070D86673E0CA21, + 11005DEC79FC6A6057FCFA7A, + 63AC834818EFF45708101F9A, 11005DEC79FC6A6057FCFA7A, ); name = "juce_data_structures"; sourceTree = ""; }; - A34FC16C72F52B0B801CEF25 = {isa = PBXGroup; children = ( - C20FD8D605E6714D473D5C9B, - C784392363846286D29F207F, - 9CDE3A30398FB033E5AE8498, - 6DDDB822BBF3D557CA7AB427, - 3411D087E2F8C3962E73F64F, - F6DB1C1E0D9315245E87CBC2, - 06FACF171E0DE0AC6318AE4A, - 2F7F13C84464F8409BBDBEB0, - C5A932A82042E2DAEBE1C302, - EF8055850F3DEA173761E3B5, - 6E9BFA2B6260E09B2B3948E9, - 3C18AC0F75E68A8601DD8F08, - 3F2BBE4509B19BFAC929D8DF, ); name = messages; sourceTree = ""; }; - F46AC40E7CD6D4DBE5062442 = {isa = PBXGroup; children = ( - 5F3E8B08EE74B0023DA176B1, - F42FE65C750920656EA22BF8, - DB8FAF091C9E78AE5F64701F, - F91A3C07D81BE2D4A191C9A2, ); name = timers; sourceTree = ""; }; - EDB1CEFD978D97AA80C44D11 = {isa = PBXGroup; children = ( + AD02336B808FDDCEFFD714A8 = {isa = PBXGroup; children = ( 9A60BF3F27FD10A058F4E956, 5AB81EDAFED264951169F1B3, 0F3360D13458198A3A88B1A1, @@ -1715,7 +2337,21 @@ 1CD8799B8784A91FC13E6641, 17C0612B5BA94849EA9768CC, E30009C6743474CD6195F5F8, ); name = interprocess; sourceTree = ""; }; - 604E5DA5952F5D6A87D74C8A = {isa = PBXGroup; children = ( + F80940DC484E417EAD307ABD = {isa = PBXGroup; children = ( + C20FD8D605E6714D473D5C9B, + C784392363846286D29F207F, + 9CDE3A30398FB033E5AE8498, + 6DDDB822BBF3D557CA7AB427, + 3411D087E2F8C3962E73F64F, + F6DB1C1E0D9315245E87CBC2, + 06FACF171E0DE0AC6318AE4A, + 2F7F13C84464F8409BBDBEB0, + C5A932A82042E2DAEBE1C302, + EF8055850F3DEA173761E3B5, + 6E9BFA2B6260E09B2B3948E9, + 3C18AC0F75E68A8601DD8F08, + 3F2BBE4509B19BFAC929D8DF, ); name = messages; sourceTree = ""; }; + C29F1875B66EDED24B79C393 = {isa = PBXGroup; children = ( E7113B21A18CD89165BAFD4B, EB369EA30D31CD710A09B7FD, 82CDD7D8E38202F102788090, @@ -1724,15 +2360,22 @@ 78DAC3299488E0CC70EDB206, C77F148F8E8E9F805D730386, 4407A352B303B27AA0B7D579, ); name = native; sourceTree = ""; }; + C255EBE3A74D88CE9A29A303 = {isa = PBXGroup; children = ( + 5F3E8B08EE74B0023DA176B1, + F42FE65C750920656EA22BF8, + DB8FAF091C9E78AE5F64701F, + F91A3C07D81BE2D4A191C9A2, ); name = timers; sourceTree = ""; }; C217E6D7051F0944FFE75A52 = {isa = PBXGroup; children = ( - A34FC16C72F52B0B801CEF25, - F46AC40E7CD6D4DBE5062442, - EDB1CEFD978D97AA80C44D11, + AD02336B808FDDCEFFD714A8, 7F49B97D06C9CA8E7C5888A7, - 604E5DA5952F5D6A87D74C8A, - E243FC2BD3446D9518049538, + F80940DC484E417EAD307ABD, + C29F1875B66EDED24B79C393, + C255EBE3A74D88CE9A29A303, + 9A4D6196AE49BEDAE4054729, + B17EF578E9B736B1C5A5E8BF, + 9079FD325609A4E67E44F3ED, B17EF578E9B736B1C5A5E8BF, ); name = "juce_events"; sourceTree = ""; }; - 509EE811D5F7C5DCF8D66EC5 = {isa = PBXGroup; children = ( + 3948C1E25575B3E3F3C2C1B3 = {isa = PBXGroup; children = ( 885A0F1B41FFAF32ADC70925, D400C8DFE9DA635FDDBF57BB, AF396B7AE1BE00099A19D191, @@ -1742,7 +2385,7 @@ 11F6937FC766E1E9568311C2, 33B829EE652FAA7EFB9E7460, 73E670E23A2523F7A1B14775, ); name = colour; sourceTree = ""; }; - ACB6D23DBA7C941FEC62F935 = {isa = PBXGroup; children = ( + 45610FB37AA41F443C79FF61 = {isa = PBXGroup; children = ( 6808473BBCC2E4D8E2CA0E71, A8243EDBF34E3E3D4338D6F7, 04C5FED8AEA4109C4ED07111, @@ -1750,20 +2393,26 @@ 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 = ""; }; - 54810F7DAE8AD92E99472AAB = {isa = PBXGroup; children = ( + C578CCF8A53588B0F1831D03 = {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 = ""; }; + 9A5C589D98959551C5780AEF = {isa = PBXGroup; children = ( E199DDD8F06741F21D8F9CFD, E41A387D233A436131D7910E, 9ADA045A14202C9CF4F8CD40, @@ -1779,30 +2428,105 @@ 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 = ( + 56B253C0C10EA8B44FD155A0 = {isa = PBXGroup; children = ( + 1AE91BCC794B0ED9C7C0EF9B, + 47962D8ADD22B8DC0CC4FF58, + BC5C356A2C2BCF10C0110E05, + 72A21240D2F87F857F10D246, + FFF76FBE6229D1D034294843, + A4961A58A7D5F765D1EE083C, + B1608DC2A0212CE5D68585A8, + F6A32897F123B06226205866, + 80E4E835F2D35DA1E67B19E3, + E6AA10B691E44C8C1ED5A8E6, + E463B9F4796E34B8082A4EE5, + 977900010F61AF4676582E87, + A89CE9DD8363BF699DBAD4A4, + 2D68B7EF20BC3D11B3028648, + EC0F56A4059858E05BAB98BA, + 1FCFCE4595E8313E1773B00D, + 0FC37E13A65710E3B9750BA3, + F3E98B138E54B8434CB3E34F, + D185139B980081A6E950B572, + 21D71A36ABFDADD9A882857B, + 15F205032C5F811EC319B6D3, + 68944F99BABCA83A0440CDB0, + 2E8E52B63BFBEF408E55B678, + DD710105BDB9E94D4D137061, + 97C2F5225DC78ED6569FA916, + CCEA3C304A87D1B80D2A8AE5, + 45F089CBDED5CC39009A2FAD, + CCD337188E562E1273DAF2E9, + 4F2F2A6C3D3451EF896D71CC, + 592EFD580F6FC53E161A66EB, + E3EA85354D9EE49DD8F21968, + 538250B9DBD536733027C345, + 9627C56BF9BE509ABEF3B0DC, + F505192F2FE344F52DD681A2, + 437C63D80EDD563A91265CE0, + D25576B0B80B36DC4C9830E8, + 51FD353EA1F98D94A6A14B48, + 04ABAB5151BDC73BF265167F, + 70F3590A122BFEBB8CF6049D, + 7F539606D07BB39F04614D94, + 236E11A53CE927AAA6681994, + 279EE7599C1DAE9EF83A59F6, + 0CF03118A8723AF780D2A170, + 0DD213E13669B821F91D3FAE, + D19A55AA2BD9028ED50F1941, + F6A48D53B5FE3830E3078B20, + 690DC0717A03CB51D3C34382, + 728155B591553FEF209516CC, + 53F2E8E42E27BCFA8130465A, + CEA314CE7BCC5304D9CF2617, + 904A7BB9AF3500FCC5393750, + 7F53A16CB1E2055C27A1AD8B, + 379876C6391E331282D9C4D8, + 14594884413DA08D26106A81, + 6DDAF504B8C1BFDBF9F0DBB0, + D38060D21F6AC8F6A935A6BC, + CADD66B495B2180CA8A267FA, + D9D55F689FB9EBF41830E597, + E22ACD275523DA9CFA935974, + E8D77909D3D8E10550164EE4, ); name = jpglib; sourceTree = ""; }; + F0CCB9C5F0BA177450F7F0FA = {isa = PBXGroup; children = ( + 919095530634BCA10AB9AE95, + A4EAA590C3776FF63123E093, + 2BEE810D30D4C6FB88206B42, + 911A7962AD32375D7003FD41, + A2FD673C8D6D86B048C9E035, + 52A8B69825B08106E9175D2B, + 4A73387280D58204ABCA6D6A, + 8BBC5E2D4753E8DB74E7BF8B, + 1C9321B265A6894A2E51CCD3, + 69048AB4DDE300C5326BF2AF, + 9E0670BC105AC4CAE8569F04, + F762EA210E2AA9560F3CF100, + B731BB6DF7C0468A42BBFEBA, + 45BEA8B0139968C92A30EF34, + 831F5A6F03F8ECD18E2427D2, + 90C0455F5170CBCB8BB425E4, + 75944B175ADD077F59AADFCC, + C350AC724B75E0B996FAB6EF, + 8994E8A4FE0432DB2C9F5C32, + 87B4302733FC6319FC9B1CB3, + 653E2E92DFD20A216DC5E698, ); name = pnglib; sourceTree = ""; }; + F7E2B18722D25139EC4DED3B = {isa = PBXGroup; children = ( + 56B253C0C10EA8B44FD155A0, + F0CCB9C5F0BA177450F7F0FA, + F584FC21C26C72A81D840840, + 3A42694A047942A44E8216F5, + 0F88F061C51BE43F53B27094, ); name = "image_formats"; sourceTree = ""; }; + 01511FDCFDF07798F149E5C7 = {isa = PBXGroup; children = ( + 3DA95E7AE1D0DC64AF09EB66, + 8DDCA7803625CF8DA817326A, + 29919F82CA5311BEA61649D9, + 0638493DAFCB6148E77159B1, + 0C73944DB76DB5DA61210A33, + 62F9B202D524E33A2843ED84, + BF2CAEB6EC641789133B627E, + B8D4B6843E55CC07167085AB, ); name = images; sourceTree = ""; }; + FD1C946DC2DC878FEB78451C = {isa = PBXGroup; children = ( 3D0EA5C831C347728313FDFE, 31D74E7CF149EF5B569417A7, 9EB305226A801CB7012884F0, @@ -1816,19 +2540,57 @@ F43CED7548EE5C9F841CB1FA, 6A6A22EF81805BE907DB5DA2, 3008922C531303C24B8791AA, ); name = native; sourceTree = ""; }; + EDF93544F0E0C0528D799FF8 = {isa = PBXGroup; children = ( + E5058DD199CEC42ECE922239, + D74B19291F4B0370A2742A63, + 88E9F6A65110F4753E115FF5, ); name = placement; sourceTree = ""; }; A3212051A49A69AC9D00F91B = {isa = PBXGroup; children = ( - 509EE811D5F7C5DCF8D66EC5, - ACB6D23DBA7C941FEC62F935, - 5F88ECDF0F4610C51B00F5BE, - EEE338C2B3F2C4EE365FF019, - 54810F7DAE8AD92E99472AAB, - E92E581D7C45CBF3D826649F, - 006806660141E87655AADFBF, - 4557FCCC2DAA4803E4145C52, - 3F44D4EFF1ABC95BADCF6424, - 94F15602279A81777504F22C, + 3948C1E25575B3E3F3C2C1B3, + 45610FB37AA41F443C79FF61, + C578CCF8A53588B0F1831D03, + 75A548DB882C9629FFFA850E, + 9A5C589D98959551C5780AEF, + F7E2B18722D25139EC4DED3B, + 01511FDCFDF07798F149E5C7, + FD1C946DC2DC878FEB78451C, + EDF93544F0E0C0528D799FF8, + 75DCF8CC61D7B790251356A1, + 6ACBD7C68EE20A8E8C5CC1AB, + B27A7B237782F9E15E4BF8D5, 6ACBD7C68EE20A8E8C5CC1AB, ); name = "juce_graphics"; sourceTree = ""; }; - F1DA02E10E12854B9398E8C0 = {isa = PBXGroup; children = ( + 931170B47480060D59E2B7E4 = {isa = PBXGroup; children = ( + 5434953F55BD35F74D59D980, + 6A3315B465362CD3AF66D306, ); name = application; sourceTree = ""; }; + 27A66F8D80CC3A05EC51C9C6 = {isa = PBXGroup; children = ( + 182223C68F452171BE479C01, + 3240A232A5C82A812A837A2F, + 912E1A63093C3FA3BD2AFE61, + AE68B9AA74EE6F138B3E0B94, + 7338D006521EDC5C10EEF974, + 791B204F13E056DA2644175D, + 6CF95925EA874CFABAF7C284, + A166FEC488A2EE5290FF0722, + 215D455CD5A3BD7537F88630, + 5595C04B0C1D8D8EBA119C8A, + 38B737F6F0007F752EE380B6, + 74CEBA45E0A8ECA5CFA9BEF7, + B688441D29BB51A9C4E83CFC, + 1339BD00EBF554E995968B6D, + 4ABF4B55F979F2A88EB1B331, + C2FFDDA61218A94403D5FE56, + 355DBB46C4283779C367E97B, + 09EB2AA32041290412E00D8B, ); name = buttons; sourceTree = ""; }; + 90A2F8E8D2AFC78187045A0D = {isa = PBXGroup; children = ( + 06903FD63E508771C576431D, + F779C79AC37C83A60B997641, + 151ADDBE74B99337BC2C2586, + CF626DE27EB763C9BCFD4F15, + 01AD7BA1E1B20309DC969EE2, + CAD3749B6A5BDB2BB00D3498, + 3B61B715F29A0AEAEF73CCBA, + 2BC7AB69474D7E280098B893, + 818729A3311F3A7B8DB03764, ); name = commands; sourceTree = ""; }; + 2CCD7698C19BBD088CE96913 = {isa = PBXGroup; children = ( 2F1324CBA29604BD3E2003B5, 2108383000B0A3564DFF340D, C549EFF977C210EB398C9A33, @@ -1838,97 +2600,60 @@ 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 = ( - 73F0F1FA09AE9F7308AFCC3B, - C6D9D6E03D4B740DDF9B3C57, - F037091D4A3012EBBA1E808F, - 0C6B7C49C4630C18F995C738, - 10932841EA586B6969446549, - A2EBD42F94D37FFF10F25985, - B2BD3F284DBA9EDFFF80ECE1, - 4E892CB7335853F8FE91B26F, - 5DA9EA3E74C2AB870EC9CACB, - 17D0D2AD3243F65FADB94446, - 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 = ( + 997D0DE45FD1E3EFA4E529C6 = {isa = PBXGroup; children = ( + 02F0BF69062E8D9583F13C83, + A99853D3CB536CFDB6C91F98, + FE4C496CFA9A1E786253B005, + B3976635944EC69837499F9F, + B033B7729D2D204BBD71BDD3, + 2EB37CCC4FF8C40B015C0555, + 77BD025036C8B02426E61C79, + 7DE074DF0D3074275DBBF9B1, + 6940E5FE7BC1ED1BB2258886, + 2DAD09E643C29B6DE7F26EDF, + 3855013A39E97B76B46E055E, + 11CB66B1CBA64B205FDF2767, + 02ABF8C447E1A47845F6027D, + 842FE973E11AAEF49D77AFE3, + 9461C1D2300CC3A91EC2D169, ); name = drawables; 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 = ""; }; + 86FB4343774246D5644E05AB = {isa = PBXGroup; children = ( + 73F0F1FA09AE9F7308AFCC3B, + C6D9D6E03D4B740DDF9B3C57, + F037091D4A3012EBBA1E808F, + 0C6B7C49C4630C18F995C738, + 10932841EA586B6969446549, + A2EBD42F94D37FFF10F25985, + B2BD3F284DBA9EDFFF80ECE1, + 4E892CB7335853F8FE91B26F, + 5DA9EA3E74C2AB870EC9CACB, + 17D0D2AD3243F65FADB94446, + 70F33D8D2F48D64188861C6C, + AC3600881A53014EFC1CB8D2, + 0E1F414FCC996E155B4DB5DF, ); name = keyboard; sourceTree = ""; }; + 5933B882E6CCF71DDAD3290F = {isa = PBXGroup; children = ( 1676147A3FADD6D79FF42CDF, CD8B9E60EFE0A0ED368EE3D9, 7890AB8CBF31F9788E10DBD5, @@ -1965,72 +2690,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 = ( + EEF495E9ED24783E1A3352EC = {isa = PBXGroup; children = ( 4F56EAB8D09665602226930F, 73EC10FBCA420227E5A145F9, 4AEA921081036DD4C259B45F, @@ -2039,48 +2699,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 = ( + 36588B3B34796BF3C473D6CA = {isa = PBXGroup; children = ( + 10DF2A823B97BBC0BD840B9F, + 989CD2B68A4EF90456E19ED9, + E32D1C481161F063918F76AA, + C06F64DF6D95D5C9C8B2D5F8, + D94C07E10FC25EE303D64992, + 937A2E7B951F5D527DF54245, ); name = menus; sourceTree = ""; }; + 59799D2C3AB2B87C03A2E4E8 = {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 = ""; }; + F0AED22B6C1D16B4A92A3274 = {isa = PBXGroup; children = ( 01F49D3FD943424005FB512F, DD5F4BFEA497212883A869A9, 7DA062415E40E3BEC0B847FE, @@ -2097,27 +2749,107 @@ 70276A64A50E5B56492853DD, 6A4AE0C59C1210D28A8C8AF7, 2F19C814598FC304CA841242, ); name = native; sourceTree = ""; }; + 71E0F58372DB2B15C7236D7A = {isa = PBXGroup; children = ( + BB29289B196047505CF5EE6B, + 541E4974C73E294DBA415BA0, + F4BBD7DEBE0F1DD2CE45C411, + 1BE21633CDF618F8D993F3BE, + 193F42507FBE4E7A62D81E2C, + F89584972F16A8EC49E5E74D, + 531D198DE52845A4B641B6B3, + E682A3A52BD15D5CA4933C12, + A631CD93C2809211DD926938, + 7CDA22D66C8FEDF1B644D041, + 0B9867D5674933AF753A2CF6, + 2F8041ECBF70D78604686D6B, + 82AABF91CB005E5463F1D522, + 2551FA5B61BFBEB5E0310B66, ); name = positioning; sourceTree = ""; }; + FBE6D791C444D882314E9FC6 = {isa = PBXGroup; children = ( + 4F6768F8EF9CB4A34A501966, + 4C13F19ECFF6CA7AB9C801AC, + 8430FB57248237DDAD4CE4AD, + 7B5560AEA0CB3E507C16140C, + 5C5F8713DA326B5C6C559767, + 98D55DE4706A31BCD28458C3, + A966B620E1FB219BD4A4F3D9, + F99F73DEBB0EB724142FA930, + 4C9033415E05CD39408389AC, + 99E8C71CC462DDDBC52D360C, + E9A3E96E32C301EE817059C1, + BC30642EEF908E1C7757690B, + D45AD25E5AC67424EAE5A85F, + 825690E8512078D4F8595CCD, ); name = properties; sourceTree = ""; }; + E44032DFED9905AFC6749239 = {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 = ""; }; + B8437EA646A5AFBC4DFB5A9D = {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, + 931170B47480060D59E2B7E4, + 27A66F8D80CC3A05EC51C9C6, + 90A2F8E8D2AFC78187045A0D, + 2CCD7698C19BBD088CE96913, + 997D0DE45FD1E3EFA4E529C6, 1B6365C0EB9F304B264DC487, - 2761E2946DEDCB0AA51DE683, - 9E82D25138749954193F1450, - 0D77CC5C0E81446BEBBFA067, - 23D479C4AE179B8DDF9FE026, - FAC5DDBFB00254C35D8987F2, + 86FB4343774246D5644E05AB, + 5933B882E6CCF71DDAD3290F, + EEF495E9ED24783E1A3352EC, + 36588B3B34796BF3C473D6CA, + 59799D2C3AB2B87C03A2E4E8, + 96E9E79B573DB15989229616, + F0AED22B6C1D16B4A92A3274, + 71E0F58372DB2B15C7236D7A, + FBE6D791C444D882314E9FC6, + E44032DFED9905AFC6749239, + B8437EA646A5AFBC4DFB5A9D, + 3BC7A4DF55FD436E8C4D190B, + 063357A85BA244642BE1274A, + 09D51FD6DE5DF526BB36B4D3, 063357A85BA244642BE1274A, ); name = "juce_gui_basics"; sourceTree = ""; }; - DF114C5936833878A46997BB = {isa = PBXGroup; children = ( + A979E39F17412D6727CF5163 = {isa = PBXGroup; children = ( DB748B0D9227F5345683CF7A, 436BAE91A167BB6107F261B4, 728E67FDBD3660742A33C7B6, @@ -2130,14 +2862,14 @@ D8EB3FEADD047C7AEFF9C8C8, D7B1BBA8FE789A80E86CEA03, ED3DE86815324354C48631D0, ); name = "code_editor"; sourceTree = ""; }; - DB2F1179FFAFF392444F4FDE = {isa = PBXGroup; children = ( + 6F7EA6D458ED8668BF71C7A9 = {isa = PBXGroup; children = ( E4981056661C3F251FECEC32, F704F70F80BA62A48F3651BF, ); name = documents; sourceTree = ""; }; - 1562C9D9FEDD7C31F674E2BB = {isa = PBXGroup; children = ( + 8A078F21816B96546F8C9F27 = {isa = PBXGroup; children = ( 20A4427A1F9CCC5FC58AA159, 57D6E8A8E8D871EB1DEF6A5F, 17ADC8ECFA616CF392783757, ); name = embedding; sourceTree = ""; }; - 488105705659833F97300471 = {isa = PBXGroup; children = ( + 42D23522D61396640C03114D = {isa = PBXGroup; children = ( 0876934F047839205147DB99, 408C5E78F7DE038844E18D31, 6EBA81213324106593EF5DF8, @@ -2158,7 +2890,7 @@ 00869109FF554F8DB553761D, 6163B3DFD893F55523113A40, D80487E6482EB12BF2C6BD22, ); name = misc; sourceTree = ""; }; - D9F37F228663829FCEC732D3 = {isa = PBXGroup; children = ( + 1D1BEEE67D4DAA513D47FBB1 = {isa = PBXGroup; children = ( 106F27CF32C79FAEE768ABA3, D93CE990D75211F4A5EBB4F7, 4FE6B5F0E1AC94CFA6BCC19A, @@ -2172,14 +2904,29 @@ 37E835EA1318A5D504282D90, B589CF5248A17A319E5EC80D, ); name = native; sourceTree = ""; }; 7FE4C9E90512F2CE899CFC51 = {isa = PBXGroup; children = ( - DF114C5936833878A46997BB, - DB2F1179FFAFF392444F4FDE, - 1562C9D9FEDD7C31F674E2BB, - 488105705659833F97300471, - D9F37F228663829FCEC732D3, - B6EFD8D461F7BC1CA4954B69, + A979E39F17412D6727CF5163, + 6F7EA6D458ED8668BF71C7A9, + 8A078F21816B96546F8C9F27, + 42D23522D61396640C03114D, + 1D1BEEE67D4DAA513D47FBB1, + 112164BE5067BB3274FDAED8, + 1F2FF9F4A1F8325AD3F19EA7, + 141036E097DAC47FB6F9CA80, 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 = ""; }; + DB5439F4B71A086E30BFBE45 = {isa = PBXGroup; children = ( A1F10BB1A2745DC95DDDE0D6, D6AB846628BE74C5349C95CA, 6257CEA3C6EADCB94E25010F, @@ -2197,47 +2944,38 @@ FC1BA0654179A585DF5B9DC5, 6BA2D0C9FB49A5C3E0554000, AC25983CE9B938D1DB002A98, ); name = opengl; sourceTree = ""; }; - F873F1C35B16AE04A75E99A0 = {isa = PBXGroup; children = ( - FF34F4ED0C44B2BA4FBF22AA, - E8DBB02B17A6E144D08E4CC7, - 6308DABB4145FBD330B7DA5A, - 8EF11A0D1370915CA7AF4F64, ); name = geometry; sourceTree = ""; }; - 8EEE76AA4EC057A4D2507E39 = {isa = PBXGroup; children = ( + E811DB2F6FE958CD58944456 = {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, + DB5439F4B71A086E30BFBE45, + E811DB2F6FE958CD58944456, + DEEF4C52F6D21B716534F2A9, + 14A37C392DF6CF1CDB64612D, + 786CF1CA66289DB77845F8E9, 14A37C392DF6CF1CDB64612D, ); name = "juce_opengl"; sourceTree = ""; }; - D0F919BD5E25E00651040936 = {isa = PBXGroup; children = ( - 29930414E0C7FD5EFC7F2095, - 36C9E79611229727DF5E5836, ); name = playback; sourceTree = ""; }; DBDA6BAA1B84CA0C6F838008 = {isa = PBXGroup; children = ( 3EC73BE7C098A631E5D5107D, 29C7AE377B006C00D4293C59, ); name = capture; sourceTree = ""; }; - 75E1163D29EDCDF203433D84 = {isa = PBXGroup; children = ( + AD173B0CF96B83CD29987F05 = {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, + AD173B0CF96B83CD29987F05, + 7DEFA7A7E23C0A137CEA6069, + F15C7935F9F6BC83AB51C529, + B6874BAE87F275944C07B498, + 9895036432E9AE55EE16323F, B6874BAE87F275944C07B498, ); name = "juce_video"; sourceTree = ""; }; 713498D20048E6A3D46E2D0B = {isa = PBXGroup; children = ( EAD085E39B98D2F88E2854DA, @@ -2259,29 +2997,31 @@ 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 = ( 8D7BDA5CDDCCD2F7BE67037A, 8452076B5EAE822DD445458F, + ED6ADC3F084F9F3B6177B0C8, + A078E4C69AFA4FAE8DCC66BD, 5FAB9E7F62B84DBAA98A0004, 37CB4A819F38E7AF9C77A8CB, EACCBFA17F4D07ECE058EEBB, @@ -2291,7 +3031,7 @@ 033BE48C56ED09055876AFB9, C68A1D6B6EAA0B70553FF6D3, ); name = Frameworks; sourceTree = ""; }; 9EB09FCC1FD3F263F24203C5 = {isa = PBXGroup; children = ( - 229D2DAADACF15540C3BBD15, ); name = Products; sourceTree = ""; }; + 90B1185950EF7670F87EAA3F, ); name = Products; sourceTree = ""; }; 605D88E415A9989447F78548 = {isa = PBXGroup; children = ( DAD5A945FFB6D6920BF0D1F6, 713498D20048E6A3D46E2D0B, @@ -2299,7 +3039,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"; @@ -2318,9 +3058,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; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; - 80E4DBEBE0CE7D218C89F78C = {isa = XCBuildConfiguration; buildSettings = { + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.JuceDemo; }; name = Debug; }; + 903E7C1C8383FB576E8BA554 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2340,12 +3081,14 @@ 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 = "$(HOME)/Applications"; }; name = Release; }; + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.JuceDemo; }; name = Release; }; A16C0416417EF9DF7B09973F = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2379,16 +3122,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, @@ -2430,24 +3174,26 @@ 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, + 3A285384585A5F664BB4C652, 213167931DD11DF54592222E, D8AC2AB9573F991BFDFB431E, 4E306BFA283851066E0DA96E, @@ -2456,11 +3202,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; 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/Contents.json b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Contents.json index 5ca51e92..c0af172f 100644 --- a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Contents.json @@ -3,19 +3,19 @@ { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small.png", + "filename": "Icon-29.png", "scale": "1x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@2x.png", + "filename": "Icon-29@2x.png", "scale": "2x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@3x.png", + "filename": "Icon-29@3x.png", "scale": "3x" }, { @@ -113,6 +113,12 @@ "size": "76x76", "filename": "Icon-76@2x.png", "scale": "2x" + }, + { + "idiom": "ipad", + "size": "83.5x83.5", + "filename": "Icon-83.5@2x.png", + "scale": "2x" } ], "info": { 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 new file mode 100644 index 0000000000000000000000000000000000000000..fab6ec160a4a3fa3898c1cb13d39dcad059c0f7d GIT binary patch literal 1896 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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 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/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 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 literal 0 HcmV?d00001 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 zcmaJ|Wm}s~w+$ZL-5rWM6nD1*#idZ(-91pGxVvkMOK~m1U5mTBJ15Wk15U0a_qUm3 zwyd@HtR1PQB8!SdgaiNpQ03*MzCfOh|9yb)kZ<8}cuvRz)>T4Y69{?v0l!B802Bau zDRE7&?6VwCFOvDrhwg*1v2(lG^Gdz7`c?B$c*4;3UXa=tEr_2+3|cMKUIm=Bi~xrAbnHT@2f!|quP$be^2scd3ZcnE>x(USOm&M~C9YWmi8b_#}@Y@wMuEda7F!ZHy>)tlEVx>C{&#WD7xf1^GJ`@FZty-rdMpb1c za}(!OVoJakkQ+5>JLwk>>I;tiN;PM5G*U6$5`j?X!JoZx1T+eqjZ|59dGQ~T_xk^R!nvy1M#_X!vs zbaN}8RIlud5W0=m2RmP1VbPJqkY8uk+xB#V+9R4WJHppsQfM^=ouL{MM6YCRXqIc@ zbMCtPr#EspQ^N4WX=0xVRdF^b&z+_lRu7AaJbIFh(W~O0*K@;-?-l7B@b?v|Kp;Tk zFe4BO#qgk=49{c#6OzR9gCzy535t={f`@he*K^0Tb-_pC4{%fzQmZk!5Q;zzZ0C1G z{`ce7#n1IsqFlPIh)U+KWi}^pC@4f4;^N=91QHncDMr5rF)Okf?7J1Guht@=MP%a& zVfLt_0rELeqwpluP{c8SQs@VT~o zpN+UUJEZrb?WY^rrGwD?Bjp-qhNcz}lQ$XP4PF2zffX|!C%Y3URMLr3YfPe20Gn`u zLn+baP?6mv$K&T|z zyA~qTQFHkK%MG?gZB0!Rsc2s*W#TV|7~{6YcEx#tC-zHcs+hGXE}Il}Z* z5d_^-0}QNLF_A-d_C|Q(x-xU*dtOIrvs$#AFT|R7(RHD6lr^tyr>MgI+nW`gCuuoI zXkI@M5-@2GX(z{WH_7Zf^RSP2l8e08T4@Lfy!y;ckHaAA62sj)4>j)g{f!J=+~Uu- zqU1(UEvjt5deLh(bv)q(&6zw;Sx}yWhYQrxg1muq>9z< zG$%8ku=Q@9o|`H#czxO|92<3-Kg`<8E=CKIwKcmjLiY>~|UV3)XFxHVwRbV*EJm2yf?tcXu z{R{16(XVT-Ao;QEDLzdj_2LbrjHmTZBbf@=Xx+KJ#vMgN(P!JO#l0+j{mAd(AcN+)8~;==qPC(UQMCqF;($JPuP1ht8NgWzr33?n z+k#Cm3nVN}95_5b&>~ut{QSzDzKxI%m2da}1F(c|+6{44g-PRu$u@)Tk$#I>qq3!( zdr{qr898t+_UE&DIN6RT(G;y-nfDnD4A4=ZFN6P){*C?+?hjtnPM2nfPA$?XgDjnF zdn{HI#{|~cco!1>_py^4cL|Mxr_2KPISG3KsHQE7xqXG&d;|&{;deWbMD`PEI-SwK zy*ps2xV28)X0I`no@z8dJUc4rPiW~+n1f8D2@bTsndqM^pfn?%m^iGKHtI=rY}?7@n2)-`YaK4Ftn2Sh35j?dEnj&vFdF_ zgJe%F#%)Lm^5ZGu@ptXEGq?#Q3mN_9B@oWom>%dCl4D59pTXOIO4kx6<)MCd!n}0Qbld$P)!Zb z6zt01&_7Gs=PhsaQv`jomF-Xtc9i>}*Npz7)x8h-dE#IMmWAz3B`NGZT`ket4b_Zj zgcEe?$-c1Nfle z={HAEX3xLqo>n%1=&_5MzPOU-!jsB&(K4U9QTONPGOh*6rzT^4#D`rC?V9ryCfoSK zX;#F>unP=ps9Uzs)s8(w zpY#CA(yw{;@CBQuP8CJ{aqz?ibDhMN;@CmfCSQ;>Cj*9>9E0IhLS27e)Tg>(V{fy! zvh$o_{q$7r4_-Kn*X+y-!!X5@@~OZ{RwQ8^T`3c>R#-~-{0+{3bQBqkxA)H&M?=Y& z4{5I$WNPzF+hX4Lz~0M4x`vc!t){Okw*Em5D-wXIaHirG)`7Z<93{@cjnOy)u|E?F2YpNqgEY2APM!pd7nVCqZ99LmSMl4B;)NE2o^0p7pn@M5T zLi`(NWoOEB3x*K5iLU!H}YsXx^^wNn|EzL7yKRFeX*^bWaBq88s-fBJ|fb;LJ+ zpw3Jz?(BL;)Ax%{3Bp_B|&hOpFER&PW^`()4w4g%+y<{~%`)zb5aqw#S0~ZgdXL%6wa|a#NfDp+M zQYO-=A5iH$!e<`#!EIIK2~)?bGcOt=@tZvEhg-jEg9Z9`)pj#ESV*X*{dC7^-zZ4N zk;!#U&wk8f6zzpDj5W|_&Y>TRV%GfWIIafYre1mCRiy)WFx`|z&ol1%zetD5!G_=d zMr35_YW91FgIU#;gg2ZrpG-l#XCACU{Bf0VKtRx?`D(A^X1sJ}$xaK2>j#XC9T}0z z1AxwMGF6D5FNXushoO@cd7lEoaI<+-V9RxGUEPn*;7D=Y+Z@PBB}cIv*HoUQk?B${ zpg}(RHw^O(WFI661WiKbxi|FO;tO^jfYsU{1ttb$m!Ow2QAF3`r0^gop&WfD_i0gw zx6u%BMN5-*%dd7mmD*JsPim|qEUvw?= zBkSWU;nkr979iUdiMd44H)X~hPlBPEr49Az-nq>+nO-{9;D9_;$Y{YnGSZ8EGi0K@ za8qwxswOU*)GaJ%JyuE4Az6@6hXKek1w}{9rWWxJ%6TDYlav1MpVrSEl$SY88)DCLmX^NfxX>sy zL43IG5zQdkJ!7jQV;Jj|yc=o*tc|hsgjU?YH|1A_Q4bDs+OnXc(xKQ*5x?OTyP^5w zb$)q;<5K-4LL&gyhKIl)9cB0fie~a8-tQOX%V+^3>ZX#JSj7AIF?Shde`3rV%SwJO z_LvlK%Nx7X}Qh=^L!Dn;SZKA7sYY58@kV;*9O+l%*?E9^X$30$Zmya z7otIdFP|8yn$(12)buJTN#6)u)-cltjSEMM=|X@azMmSwl2d*xFn1|F!KKxbp(%+lRTTTCLJDAyoj1pbAjF zu0`3^PSg8o&S5g>^fS9!_a|qdvhgO%>U;t{a|fN$hs2rH0v|)En8Bm}rMLOj6Z`>Gwkzjf#yF4p$A};fQE2-~s$G5bP9>mb30`pX z0U&f7n!j(y6;5%J_mbvIaBA$!b<0Yvn@J-d1-TD|yW=H|yRi}Ug?|BauX1k%?5;$k zULc?P;lHb{!!{nCpKflATLr$UTN%CSN9$>P%kag2TrIvUqHjq?#88A7V{|dcj2U2j zlN8@^0i*7jWd?lWqdI)b+WP0lLF}m%FjpS(t0(KI(=*jTgd!FMh3Q7IDY__@HX%Ulh(oSE1{5j zmlmN`WhmEc?#)NA-XCJ*R_%YKBoMp=BwLMW-b0r>vzo~%THw}U^Tm+p9b0#Q7YcG! z4l`e#L^<(bA4fO7!H)0v^^H4)J)Gju8%~KUb}B2+mBpa6@zR4JbilsrWIu2$Z+7(j zLCyfq|G?EeL~zolTU~x7LpPdz`J0K68Ol59h1loj&c(B^%7+58`I`JER2iEFnC;(! ziFBQ=`OOmP^h8pSxD#}ik7LZ;4Yt^YTEOudxPP0P_adzPJE_>jI+-0|C0uJZMyx!kn=TtgLGt)_H znLEh+&g1`Pqca+eNJVInMb-musUfEadfjujRz%gJ-hJu0G-!6`rfa{W)0$>AaNUV+ zz#AxmiO9>hK0Zt)mvxvb;y`t6s0mS?(zi;dDsWxP>rH;d4MHSaj<^pLf*u!}o6CeB z?eOh6aL*HBPkfx4uxkXo&T%hh!I`L90ey_PNJ_@DBf`9mr&1(LPz>~(N6f{mdO_Lv`U_>EQ)@Pm=l%&W6MDnYpqO~iyD@zh zw=ZhP3ks)h0Ew;KaAfWKz?g}^F6Y9hcjZ6-R{)Qu7uhBON}{XTa&hDCcc`osqnyka zMS>3e*tcrGpZ-DZm)M(4xx9$-gqxTIk{wSJry-q~qld7yc!@2m!18Nb^OXv05YDdp zMr;iEvBJ7IA>dfoZ2e>V`GhCMO63)af$vyo93gx1_H{0icGC;FlhH+Ew62*--fJ%=q7(`M#{+h(HYY)l96-fT&MFv7uZDl!|32in!Q zT#{+yN1}Z$AC<-3OqNQ-LNo| zs9c4g95I&SIBGR9e1ufgVBFAfYQxf2a?knS(LvTCk1M(2Ll4vWx6)|Ik|`%{g93eK zde0{eGT-D`$E6X(68*#=6Bo+VN%3r6rS`D5!V#e)DQ3Fw&PpUmLsM z&2|!&kHh&71UF?;Q1k-fk!;w)b*?eWc~m`P>nQwKx@Csi;orE%2he6;fsLY;Uez@2 z;SLwXV1h3$13wfUhmV~PHqH;z@*SCTJtK!dfl{bVOwu!2fvhl&$;$ymT~$o%OM7jQ zWVWe$SNu&3n?ukfBarPedq(_BL#QD33X(dPVh}F9hl1k}I*na6%@`;ttc$Sx#2$tSN(uw>9>w=4!?ssI>1n&yU z{`1t=t&E8Q0Y#IH=N*R9)~>%6f3cDN{Q=jW2?%KSvPwzGu{+TbdrJSyF|WJOF0-wR z^Sjw-I0MnUQXk-AYp{X1s0iQ=GX)i8|ClmFGltvT7ZnL6t+Oj0JljDLu-KfR4hgx< zm+WqmNwzmeMp-I!O1JcTfBt1x*E!kx!ynJhGAVVynP%)x5^ZKvMC#+7IHxyaw1 z)d3dWUgE_zPW;SjF6U*gSUdfZPIy8KsqVHc|7)n1#W+IXsN=+6E_C|}1g(m28}>6m z&~OEpN#WKz&WPC;*Q&V#^^(aD-hZHhdl$L=|r5gSCOsu|9Rdr4EC?6S%?)ue4arljm0MQ1L+18 z(A-g_qbSJ9Bk+kM)2ydX_xA4@(g{0eov)T186bXt%ZIo`nUI~(xQY0qo{vHn(Wgc( zx_&2yEvIi_p*1|0jtmQxx7QXCE&b!9eB=WQzt{?9yB2dmX$dh6g%wiBi>OjM^MM@1 z;U~zf6o7&}P56@8uVUz>t&f8ie~|@roJ&h(`IA=7*>ARPtdz|$47U$n zW>hY;ngJbFdk4}B<)h7bL@Ioms?^D)8vaKs`Itg2TS})t>f~#fbo4GQvT%q^mJmu@AA((S>gi>%`rDMN~u^18bR(Sx1XUyvS8XebqOTV%aCv}7a(E{)iK7Z zQxjO806+BDD?4ao$SVn&+H0MpWDV{e+;!FMvVvRzWc~QPjPHNRHmK_vT^{ zb#3==HuPxU1*+9P@0hyTzfw{>cLR*J( zC)cWfnAC@*gv9!3gtFzpV$5BvyhbExQ_0=XWsk~7TmPf2n{Q3 z7UxQrEsOs5d6slGXf-3F(`Ei%VXAd@R)K1VkD(x(n7xv8d@4M$l@%{U_D|uPv1nZG z#QY$V@_(#n=KK?puzx9VOfFbl<1Qf5QWi7`a{ zGZD3$KvLV9eIEOpUERJv+ZP$|25qy{&&@u*?ijL2y!>iq@H;7b4m6};y$sB9X;J3tcl8Pd9CGyYUK;hzcG8>fP zFZBSiN&!VaAQlE?CxAoyB~I7*-_F_BzUkUsX?TnDHB><9D;mG{ zuXsO$xh&JoSfj{pNc4tkqoVLO`$%bFzlM$!TGkm}(_-}X{xOG3POZeWyyK5{JH=** zp*Q(-s_%iUkwp>ror5drI)h!XIz0V)uRJYs4oRV<76lKwuf+1R87n4UL%uzsrWHB{ z5uGJ;gn=hIda(QcU9Eu^Pja}Knx2hJ@m^>Y8c<-zw~KxG%>eI|Fiu?KhvllGs+tIP zwly;lb9${fsEp1DGXx%r2QlP|EJ!8~^CXN8d_~h2rz}PpPi7N>0ZkQwajihHi|YSL zLqY=f(sY}47mYVrO|1`#zl;ErdX8$@bisNI+aPvFAV?aR88id6W+*W19X?Se4wyEL z(k-L*9Z22nptcbI^+_EHtGUw5qzza>BmW#)9Yh_JPZH(5g?qCqrS-jORO#v;Q!oT& zeU?JAIoNfB7p4)b3JBF?*I~r$@Gir=0UN}FCzkB+jW0BE*T7eMpb0iy1T=aq7gFLQ z3Ygn428|s|W6Zu!PPgA3)Ge9#&0H@%pD?tTsGVaH%is^;d*C}lL1;=4bDUCMa1Z6# zk+DSj@*k5Av~CdJ9}-C`SR^6rb>!vG^19=&8 zCHy3T_4L?NBjw2;M{XZ}fZvUfH2HIzdTy9Xi2#|kW)X2D&y?e4$mO5fY_`{Y$u^W3 z3JWQe-8wml#x`9vmS93K~XdwP^3HV!afpz%j6|IrzeLKUFL_Y;#-n} z(l*cun$~?@x=sL9a?JgCMwxWCW^_?enA;aN+95`X(4Df4dVs~r2y3keQd*%LjtW8r z?H|F;%H(QaGW)5EWTUUaWmW|GS5m@}x}Qzqyk+Z{qtLHFUn)HFrRi?6m(lEkhg~G;xiPN|jF3fSqfVzcz$* z!Sba?v`!z_-<+PFso3j9L2nnLBvLD!53Zr7^p^XdV@Cm&QCzH z3PdQ_2_5{q_fPRac^k@kjn*ojcMUXv36dbD_ixG(;JA4)wEAa}Y)mjt&(o4;@1FU| zL0W+SPbWtAsqE%`~6=h)X zfZeHK^&ROVDYEyx4S<8~ug|X*$plAO$MW&18F8-Lm)|I!O0+v$2KNB|Q0s7#c=fA? z@$!l(;T!de^1IE1hq%JwvW<&XW~UZAAF^vs(^z|QJPZKuw8@7;X~DE{kzjTCn3rfY z!>z*9IKt-#Y*vHmsM37p8A}P*qY8@s1nf=6OirkYJP|-ZW7qdklH|I*40NZ{{?LfA zsEf#^l<^kJc_>Ns6)C8+)cpbzsmRP8hiQaHZ*$1y($;i12+InKi!}m2%n0#$DSQ@z zn`hN+5R(iw;H@!Khh_67X0{=mxGx>L`1R7EKS4JE=hUx>q)AZqNU;w*RQ-(h`rV#( z8Rq%uht)Q_r@}-;MnD7|+Si8lw`r2{#kT+uwEK!ag38p7g@vY(_e-j75JvXBHldN@ zr>xJXq0h?r$vtI{uFlaI+KFlS$x)>HkE<1!`!rf;38$RLMYoUJ^)vfVWlukKD2P|0 zvMT2BRlu6teXP)FI*P8JSj%vG%z0lPzQ|4!*%z}8i>LZNX5JE*F${6%isamDQ*-92 zp)tswFddsUI|2NG~fcyo^*P^H#MTkivsn=W^(_5v7v z_uck?hsQhhYX1H$O{#j_I_?jr6OPUp+{4GocS?_)OUBqOJ-MT>#ma=nZ2yiarZF6A z^k;g7SQG5QfhR)pMf-%?Vi`ro=2ynxD`V>rS-6ACk9pYka$^j59MR?C%Q0^WpoGy=(t7i>t++-! zk(T+l_j9xg+_S{4L<~TBX$s0Opy0RdB~}h%7CGRE$ zBO-W>1Ct{~CFBGjoe*p>1Vxzj@hH9s?Gz-lFDFuN2VVPymOpK4H`8vXCxXQFWAHW< zBji+b=P5AeBK;jz)k#mi#iyURtza=kwk@X&UU|&&i1Ub)Cp*B61*hT1fP^{@f6FO&c*R%0`55{GQBryK zN14h)bB+;mTOqUyL%Ch-skoLU?Q#gb7Okv#(Byo3BsSvgEmlk3BPKufY_=$T z>h6ti{4T|PP|s;Y9|2X_XW^UaOhXiOHt$=O-WM4DsV~8D$g&I!7e;TI<~1;XUvTWE zYk%3JmOQ`qt+D94En(ft$PS#O4PF;r+kIe%DtP zBs22=>r~vF?lqQ`xJ1`^s>!6(ArihL_d;fP2wMOP6?ZT4T>A{Ez&4E9Z37wdLH~XO zfe-~oSm9Bi(@mc)g=tOm2my{#Nz&%~Q)swpDh#D&M+c#nKGTnUOR!yqO@IFdDF^pa zBpq3rs_Lr19Z2ZUIe{6G2X~dIM)XehPSk>jmHB*WSL5s-ra%I(-p||! zcQ;;{$01%vry!z|ut>8lgJ)qUIG=|OEJ&*P=g!}}H5DH>mf+{sVf#G2&BuNe3B9j6 zE^QQ|D_Xz$wfOTbOeXzYc;!S<+m3k6>(_y(9dL!3@YKPhN}z^SNhuX`Qof{(qGOt1hV?O^0?$(z+zYj_l)}6*Gz_ZltngWmYxYcq>td7+P^Jb`gAdn`#FCz&Wa}fFJc2;6Cf=L zjFCyO1GEVWA_)On{t^Yk3MdFo@>_7<`GM2DhgR~u!D&W z7D0agPuIkma%AW3t1l9+dOpRss}yV);ViXNy;Rp$1)nT{HL`M zoad)zZ8w9BMSX9kS&92qo!qd@iW73`KdQ+ZN17FUZC(tT>Ms~+NAsWbLM}9ja+NW@ zgg)j!=RKbw2JhVG5H?OnxT;h{@OSw1lQHOK`UM3h21mYkkSzeDu_yb({>w#bC9lxq1f^M0ZpL5- zB;62&cpWqU8Fyl>vEp18ZZgnLPxu14Ti-kMeY0*b4yi6Lk6$?nQA9)}UzDf>b+Uj3 z`2`%h3FmmcsKNh~u!}I%1Sre~H~5O4la^*nu~O`L$b_!nF}Y@03}wC# zmJn88u;u*M&nsj?xI_r=eH!`KSP_SYwvr%__+JcPRKkQqDf6oL^v$e_W4jxLlRErZ zpReM?ZO-IUs^0|0CDgXzcp+}cKyqp zq-Ax7-;KZK4XP#V`Yr#cz2_PZrPx<|#Xi~X)w4hIAIEt+=GXx(h#fX0c!MIJn8`JH zcLdkcZ{gb{G*U-HR=Ib6?5}BzZl(0c5d5^xQBvQCkX>=cyuI4+*DQc-I@^*(jBUIC zL-Z2Q#9nBzzFly~KR@DpnhVvr%Z4EUC3APbWtMruWVurjBV%*(&#fA&eCn@yR4Z-k zCaO*SoKKvY>zj>K<}vWF;O(ROEa{hEVhhmc&4;0@Z6YryzLqi=3+=>Kn==1!wy(S& z{)NvGmIJ7B#PmOYw*4bq+5`gQd9Uu&Dh}sb6MMB5{gGdV9v%3O44fg1ET}@-I$Yho z9v#ysuVKNm;AkxXcR0F|YvKur{?d z(s}B*NT0G&H`*v!XHh98e1F5jTx%#v>ZmmqhSfp@J{Vu_ieTMKdfuyQf}GxnOO%ra zd!Ldnh`-t6@(fnoyBnx<7|Dt=l}skQWxlTJ(}RfUefi-4a(3ql6R z0;Bh?@qPQ2E97z{>)7VOroN5tm7#YyR`Rjdqhw2XU)Q{L?KVt=4MSOjzVE34p@~N-Ek#{g>(D)r`}T>+u^c`5p;aAb`_tk4 zgO&oRd+YrQgcEO_lzDkStbNPK@cLu^!G0Fu{Wi2E4Z$#ArId8t z;wWqvRvn5yZ zK|z^~<}%?ScI?qJ>Lz08y_^%12#VJZ*!$Z+-nG%b{xBvs*KW?M^^(I}@vWc)1tsfb zV}K*B`VvbFIEHTwd^zKTf(Jj!Jr+XqlXnrXmMg8bvd*r`Xa-_+N6ApfMCqZEd0)sS zBPsjU6yAal+9083{%C27wD3*&PSkxxsXXedmhtR;&+}bf+Hgz?6yxUWSlZ&tZqPLX zpbc>)5B(Jj70UmgCZIO(OtF?ZbET?WR5@z|@^>_^{wVY7R!@e=VNL97*n2&8Iw<*Y z6ua(~tZ+C+Ig6{Pmg7!dyfEVUKZX{DFU^{}N59}UV8#Sj%1tz%^LH8~;N-+LP|t-w z{4(Mj6NaU&4LtaI317+wz@WpCRn1ELZs+a65^Jy2@t@PaU431B$P2YPqsw8^;~@T} z+w)ugUw9ZkPw6+qapG`WI%RYEU+V%_tMw3hG)<625AU&q-bS&7s&kFv)OkNs{^Rz+nY9K<(Eko~9P3q3v!pPr9OAE1g zX|qjM6yw?jPld;W_1SP|G|Ap06~waT&=&p;#9tV!2)RWJV+v4#rF1Qk2b;A>3`1_F z->g}`ppY;CoLc30wf5?7$a(iN#Y zX^ZodN`HbqLq={+h^T=eVTOlULO2d?ePM7Bjz#b>--CdpMm}2i+MU1Ql?yxrrQ_i= zK7P%Kr<9>5$|D^EDgE(RD*<6!z*kKXVt0LhHKfdKKw1KPrYRpz1J&@-m4bkc z2Tf}F59;<~!CG#GFuHtOx8_J_DQtYLF_9AN8d84+dW(Ffrpl5}muW2?%Rx~1w^8lr zUiz^J=ZiSX+P=+TUlPY$FZu3nR}`zLDEq+mpdDf~dOMGMr=5N?mdAI&A5+$~dj`xM zfyeHe%_mhlN@mLTJi)%&0hZBSjbF0~lkF?NuC`uDS=w(BE17+haRYPP33fKC7K*e! z9cC>3Ou)>}V@S@k=^qu0@#Kw$hv^5meV8cUAxWL;K*Q5L5rukod7Omjs5`_lg*IPg zy8Sk9-_{5q#k7NyU|3kJmUudv=Lk&w^s9W$8H=WOzkoWdN-NhWW~M!B^lJYq%`L%= zA_!~B$m+^#=UgljoR8=;P!Cg3xzm^QrL3OQMWhOX>iqXYv7RImM-6lFAtpbr0;c7k zRb|z}jTam_Or;brxs3#`5nxe0oYW+jt7m=vM4u-EwQp_oBj4G}1g=I^)sir7LdR>s+~~E`(ePLm6Gu)o15^@dlRUhwjdaVerC=D zduZENw%W`~?m0)g#-@mG9J^0C-ao#cjdTLs&LvV9bpm!D)JG$8!uXJf(&KaZc@Hqb zyGnvzP@0Vd(@MoijRal=AI(FnLor6`!A^!^c5_7W=YINnGsQ@HSVsx#Wbhs#put zE*(3u-7LBvnBgWvg!SVs+J3$#yn)fL8$UU680qsLFSpfwwr z$1>(K%0FNLT#?ouPtp_;%+vxlnYD6cFZrhhI*w!a?~lt1We*r&Tb9I!tvBPTW=2IO;?Too(5UbSK2 zlu5_c+amIA#`%(Skz^oJD&3EC2VAwev!Q-B_BHJ>6)-i2D96@jyL5DvmECwLX_#A; zL&MKvPPQ-%hMM9yZq+a)*liTZR>O`C%N=F&*YM|)c*;>ibuzoNnts-Ytb`nB3!0;V zL}N5w1ynS0H$0a0iIAkxKdbLQ$-_FCn4H|kyS|$Qq8M;-z@Sf%hmJ91J!P9~tgU$6 zJSv8l3P=Ev;pRTpv5 z)R;`Y5j(4z-{9d@%i#pGcq!HrW0Y*G*VlaDduPmlk#Pl5`Nfc4{&~)441H{;kH{wk zB$TBmocwiNRPEKm=4_MMV_39R>fgH0d7SMk`HwL0=3vb%`}BFfY;@PZ&j+9S8q4vE z!}Roe9#_&ECA?5N?v<)3AW=;+W&V6)$;(%^k!Wth_)6*X+)05n)Ljld+K~yyfOgcN z=QhVE^+BYt;(|2Dor%t~xQI4di!lh*p|2;m5t}yGD))5Uw`(qk!Du4NX6=6C!H!)n zH{qTLg_CczlyIm3-*@+8Zui7M^H`76Ym3h!F8OL1Q8tdW_l?O#OS;gO$&5e%hQhZ= zCGqpHqJ+R{0xx30DfJDJ+J$&ZoW>D?(!Ju%BU?qM(OVLnGTkCQ_K6vs--BGf+ZWh#(NQ6mnr>fE{#IlSHDa!3h-Pg+a17hVyUZ0^$0e?66u%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 zcmV;YAz0q^L+wM5J%4GCUB#8>f0=iATUEWwUtB2%j&D363l}als~%5R`3eK`g(+qW$rOaB zkhUz82vZAf2q6R-p|w_Mp)}f2j@yJ5by{&)xq4q)gWh>~ee}%=`-zY+s zFJCUt-MA(gJAbVT%%JZY!!PbMOnIX)L^(s0RS2}}sM9LNTGw&kS4s6bW^Q9!$`@O? zbfr5?moQ{}BM4dY#?9g4JUPoXsFs?Wgvqs1%3`{aPY8)m`th3qOle~Z6DbS;6be_R zNvkwTH%`)xqqN)IX;4}>XjgC4T7M!OxwW-1y7!gud>Gy|(%0G-E-E2+KX+~J__Ex4 zg~dHWG9Q!D0Yx=%RV|2}uA|;>I}(5Ul^Au9 zS;NWbFL;qLD;5|2f7tLDPY85H`>YrfEa#?*2e>SM9{Ijv3}JTds2tq0U*VkGg?s)W zD&CAv#lcCSofJY!jMB^SU-g&B{Bo~L{1mA}zrtzS1=>YO8;k(L3?S@$jNHpG3ac^l zXJ0^$t6f@>4IFOS%c{CJsgEAV(_>npsdrQQ#VsiCdV&AS$FOJI4nmNw z|0Bt-{uQ*-Yd2}x>49e!xPU`e_OHHv;MQ;Gkz+hoPj{(T48Rj zdWc1p%NQ4`%C^^ublQjWwVKc8%tknV4f|fe^SY`*53f(C^=wR_NGC z+{SIVEeF79MFz?ch97{iUBqPt^T@OFIT1ZZ(v1rtM5&bGx_~e4pE$pC%l?l}^gbO2 zh+!pUf633T4&+QPd|KM_AA}G^0LA`s{9w*cnN##<1k8}vP%GT}UBuS?Z_>xVK((C# zHMr{<5+Uu-E;@M*w|Ot_`7aQ@Vq|bU2#Ia@DbJb0?4qkU+`5;xR5L<|Tp`8vff8To zRduE@w<$U548f6H{ zToo|#<~=-l^NyE~49l8jSO{72v#SHa3BI2grtu>oL{K2OX6&upGx0Ae@RfLt+!W4< ze{Cc-{f6}M4Fgt9Jz-c0X@_=EZ3l6ib|LIMq<<_(6Wj1JIXn|bIn+iD0vJMy`Gz1g z_s_?CvE$vkA#zY%0Yf8KQbMu59wZ*3~j7{|dlo1h}PQ3FAT&0MJg7*w*)meEK{p-iDD^Lg@Ns1h2XeVOaR)Jpj@q zweLN2DmKueM-{^GW0l{7e?8%0FnoYZGV&pb*4I$Z8H5br&wChO?%fFCrz9|*MU@Zn z`(rNZf-%%j_{C6q2K_KPy!pm7yxy)OEYfbXt7erP) zgNn6yo7kxssoFi@I@pzS5Qc?WdKtp>;hsAP?$D#zBQZmS5x}Zie}+Bb!7Lex*0)Kt zyo`36yz^@ZH+>Yt9E)L9A%sDZe=KKWb)1gXq0u2B2+mnHb@k2_hx`5O8;}igWpaTK zECpeh(&CoNrR3QK-m$jxL_b@B+t$#fk50vju78#2=PS^z<1MhJFT$RE55l-`f8wG; zT3F@xVprau3DGN(e{JuQXjy?)kuFWO+d`uCb(C`sfRL5Pt(6a989sy%QkwD}TcxiZ z$ngE1AwT+Hkxy9q8DYw)01L<8#dYIu%Sfh(u6>F4zSZ4#RxVEcL4@VU8h;tWFfmJ} zf^ty}M~Ad(AJ!QnZO>**e58w-inqRuR^7Yp+HD4%#0p#qe@OD|0$lBKxOoo<3}J}L zm)$(+mEG?g?Uy>}_Y6sDXR){K3S)v5EUH@8aqRFGqMQG{*ZwLQC9>uPqU&EpJ86&> zzWEQ}o4*uchx#kVh(Q+!j&I%r2y0MY;;=wSA6C_a*p&}-vKem?Z+-#ow)A}hohIJ$63X?|wciMG zbHxMg+tI=oH2&M;&tG5CA6fcE$oR70y&63MpfYzFf79~kX9Us2cYcV|P}iT+cwL+n z(G4q!ZFm#yq`2Aeb{BT#VsB<>hh*fBBwAlb>;CW7y3QF=(GMZB zkvJ)DCX>Unyn{lI@s$Ub(hptQCn4YYU{Rj1je7*bHiXISqASVwd8=->%1E~ z0O(Ylf5^Ju65ISv*3kRrEykX6@2JicVfeAj@5P?S||UQq2NBxp^lb`R;W`VNTwGq zAe{N}3YeQe#y6+0bM#8c^5x5=FsK%Si2!4RRaE6p1wgxL68qM8nIMCNPR59S{tD60 ze%Ij=U$zL}oO=cWM#jvnv-HAQx&XFNS+Sp}xVpnArecB-z`4fqjf!U0n;3RjW(kB2f%jU|`Z?zv1 z!VouI=2*Q>|6U1+omK@xifh43@0?Y5e`Uw9ZSVEVv+56YyGy*`^$ztl?*Y&I8b4eDcwUG+=@Z}Xt#7Y{7=CdlUf_lWB{yWhPuK3njWqP!agfmI1ko>EC;G)3 z9qMcPZJzoXic8$ZwQW~Ze<0ENDq0PHkW=dzPGV>Fb9L#B9S2Q$SFfV>bYS7ag{EQ3 z8v%SqkjeQS$!*Can;EI3N1aX(fBo!bVw>OYaEa&Mk3Hw^LCq9l__53G@xmcpT-z0B zHFC-A>BRQz|K*`cg#Y*htb+2+>};!1527B9Qw21e~g~`^+-rw zNnk#iX)rce)y2C~ZH>bxc@NOZD3Q-r5Lx%zE>U9N-1`t_KXx9ajaB&ocEx=leR!_z zJ0zNaH*5yHHz>Ci<(%0fAU=0$|aq`A;ag|_D}dY$~o(aBMeFcW!XbQs#!gC>v54H zOs0TW)0gin$yP48ZRdxy7#t{cGDc+0i=Y(2YaZy>c{FTNdwzeR+(rPa{66f74`pVC zOEUT=;w?j4^bJ^U70(761%j|$h$$_vC`dB3r+&Sy8Y=;O(ofLLf60ESqRj)yP9Gkq zM1;0AzdHNA*uT38J5^Ain#fKJQ05_63R7 z6&X)wbmatr>6?M+ug=P2NeinZo70?mWod`n>4a`)NMV)Xe~)TyAOxl`F=R(Gv#5f+ z+y0j1ku9i5&-D#nnbuU3`ToNA16;#@~!o#UoRyP4brfphfp zBi&Ble{Q8+`_kH^UY(m zwO2{Lp|+X#4xAOR>z+n<?W7bkXTs>&6w8$4 z20TKPR-BF3XOAhxzMlH^C|#t99SF~V?ecG%Yk6hYsjN+zKe>c?lZ&yWUypnkmyS-PN(HD}A;>B$zS+TP|J5y#) zC}Pfpk#UJlLo&XoBLKSf>^j=RJ+9-v-$OT`4?E(>y1Ma z`s)w@KcR>3>*CrT{$xM9S8gU58Tx)kB<1jnjWxWq?PM31c)^t6S6>sy=4D;pv`Vt; ze71HZl1zwIz4h(==V9hHYFBRrh^4(}6t*L9_pJ!q>apuU;JLPo2|aRumW%^`*u|~^ z+Kj%?mUQ^V##(;W$t9jWf1$`DWta@T5Q13~I+ENEwd|oec^&}QQQM_RpX#lDuY|Ov zd@-%{CpuH~u=UKEY=F!dSAtzVZ;0Z1u5IYP+Xy~%cUDauTD6~jzu!hWK5S1t$|B*o zys+&=mzgrFvXI#mi-yG|9$OHkAQQjRXttcmmicMzs84)nBfah=fA=cE%B3q^;mEDt zb8X>d^cW}FjsV_`^ndGGgn#g>cH#FCTzosBzkDcbz>lu|l0ENiB^@8Rz-7WwJiDci zS9W%Ci6@mXZ&ESV5N3)Y1(U{wv&5c>)p5M_O8~S|r$KJ$>p_}*{v=u(qkA>%LZe$! zjeOa(-CL6gfjw^qf7aBAgA(2ghb$)Ndk<&T)K`CMUxAN&R*UBn*YM2dPA>7}5~_z_ zQwnnZj4uo!1Zb@|(6pVFWP8f3*b|NFU45OSPeNY#&gV^N{hk&&<)}3K8aLCN@&+-+ zjlp;QRS0WfwnW%AIm_<#T-(f|@5>K%v-{00!(zbui%81hf7e^;__s}+T;i(1xx`Wk zDoS#*dmydpX7)8~@z!sew3}9cdU^53=lVQPe+Fwg7=IhhNq}RmUvi{5v#t?>z-`~g z7~gA#eHRGJBzW(w+1QkF6h~I?XWtNA+rh#Mvz*}NogHD8*%OMGGjU*HmYjga^zs5k zX0x!S?JEwqf9wH32+l>$CSIc-+j;#O@s%Hb-sB|Rr_gAn6(65?lepvACRq?B_pcu5 zm&YXnenQLc?c~~Oj;uMr?l-rPijHosS7$_1F2CGZ!^=DBNx3?!zAm3q(l75z3c=-5 zO3BH@u2L$=s@j#=4XI>I{d~ovpY`fpWzW@Lp_^JGf3LZ&-T+V^InJuOH?zll*Iq&3 zj+=Y!pACon#gb00?M`;SzHwMx+rgqO>F}=`Yxw2HnygKkH?i0Yv-CmA#rcCIz zudqx)fA`<+MQty{NBn$Vc_mQVi+o zsxz?@d~p0_v{rz2Q*rh5ibps1JG*;8mdkL`n{`^hqqSC!o8qII*NLRPbV;M6h|nX8 zk@;OC!NO+~y#IDWk1a*mmgm~8Il!KGwq6vQf6*6`j^g>Pb*$J~kE1kF2IX6~fo z3-(idmchJ9#aUGqcOraP`zk3ni3X({{Ri#$;(`6efCzc^?zIhWT0MuRUZeS{c_-V? zt;5wWNQv*dD+oP!7s9qdYh*Z=obN6n=ldP5?ZFTCu=9;gB-<`RdS^e;uD+h#T-Vhl zf1WyqfX~Ydk(rIJiDUB+LZGx_*ZB?XYutiHBhY8H!>^ye>C>|V8GE34S(>`0b#7JB zi>6=vW88`IVeRWo%b&;CU?sxuC%EJ;eAixqTXzbhd@M#~8N%{r#+QHC&7OC*;3P+X zPkx|?BpsgFTua*3{P5~ZEW=yTmlx;Ie-cfS8?Xt7?5um-lswCyYF{Cm_A>01qu*#~ z4S&?Wr_^5zcm=fW{ZlGuva_MMqUdHJMOo5~i^HvZxxC~CY{QQ*4P-$+=7e%&VLrkz z(5~X>+ArDt_LgB^ftOAn$Cw#qAO+j&TiHL%o>x6DFp%Be?Gj=2HMEUjpr>Kt{2S6*mCwVOL$cjfl9I&@CsNl`oCuSr%X3@mINsF#y^W+>cEwLa%2)l+46T)TU)V-1>+C!a*^U!QtMIqFwhdtsHe_3!an{RbDc4HSm3 z{KFHfzZkF#L3#MXOq)%oSFx(@Ez+6rh;sA`jT=t9_M~`n&`b9BSE(DJ;f^CS;z31Ey^uOoQgy^SG(uHRvO0Ljb~llgAg7bJLU}tc(Fq zxN+8>{v&T6{WY$3(BPo;tI6Y$zhCiRwhw8QJLFxN{U4ohuDYvyjS3ifLW=pI%|k7_ zaa4-&ITP_40i+=*tSTm_e>9J_Q_aJ=G9O7os`3N;&2xW!xJuKT~TUOSj<~=-lv(!3ANEQIbiO5kJlV_NkKNs8Z zBTa*FSs`VYSK%hpG@ocftD&dPj|3rx6x=zzl&Ai~Wn5Jr#-9nDf5e;!|9_6S8A~gh(M+P!{I#>T({hF6Y*1#pHGJ z2G7J!@b0k}SXciZElDr0N-GXIY4uO~Si}E)?upIA9;P0V^u3z3HR_JZj~r+yJigkr z<&{E+GDoF3e;uu3^Vv^OT2YZZ8Pj{s1HN281rv&?x_Sx~S588^n#h?}R3F7QLJG>O zCsI6ZEJ6qlH^f+fyotUhTEH^6eR?VX{3dyX$B?ex6h$K{}DbNjSJ^2O$N;Q^!*M-Rmi+^wMsQ zHpY2s^@YMmfdyWL@8s|-W*1(? z^uh&<4^8N{VA4sXiJWUAdcKW#QeYrV9B$dux%A9Ye`)oBcKCHeYxtv;OIMEg=FMo9sfx!x zSX69jb)DhkC(@MF?c-b0Cf`>~W$sk2D7}$s`Sb7@BU|#2R!I)E>}Bhj)f{jAlIG<3 ztZD*qUA0@M)YFEWUiZs8)}9$?)ON7AD0Rb+{PvcRzlg_tA>+S-9t)z&qkZ!10_GN7 ze?#?{g_MUpTO);6=RMGpV~x%_M@fbN00EduL_t)(!rN62^|9k@JG+)$=fB8i6n1Ky z)a3mz|`y(BiV z$4#q0wbVslf9-o;)PKFvXyKv~l7U#ZVqsCZ*q*C|zS}nP~DUk0W*Y8 z2Cxj`sq6be^4q}(Jal_2g!JIctu4n@Ru^>(fGC)&{)V{vw7@}@?;^1d^^e+h(S zk$LZWNVVxP(kH%+Dep2(ah)(lc*wU&fO2)Ka`gtCbU$!Y;$ugoPx;P9qNDMi^#0-- zMM!s8@^@DUg4YCQ`f`oSg%q=dWU4gecp*gqFwq$83ka>X76KQ6gR2vcqfeprVb{_7 zQ_47h^md7)*+IEA%fQ?8Zv;kuS0tFDtIRT1QC6!|3m*2hT%!m8xRTZk7 z#G0l5TD4Zach9+J-}`@O?|t^!`(C(&OSptfxP(i%g#RxfE`PQFgTkwkLeCr#0HFRn`h`eMsDP<-PFS+r=8Irg!1RbF9WfiT4!A(?^@ z71EZ45@Bkg4IzX;Bed2EEtEz(%5j^}qE0IgD_8GtYtXw6Z)iTY{h96Qi+xSK;TuKB ziWMv5xf|97V}GYrff+QfHvHxthAD3lhA3xs-fuPbJl7n7NH@DPL^W zvQ_RdUBZy@jUZ&{>o(%0G-E-E2+J$p^=__Ex4 zgvH%R76_Bl0Y!hbt7-*em+Pqa+K$BEdijSJkC=->$dBG%>`OY%5;MnGfuKqt?9O+| zZw8rJu#kl%f6nCmIrwD&DU8gY?CsPSKxu{2E=s$kRFb2u2iS4$Qw}t4C6Swr%5Uk-zqtA1Mn=hF z8x=wptyyGFk6Tw6w(&h-uuKRM@CFxD=1yZy(G|=nSV&dww5&bo0_C8h4XDUDbi5Ir zXhld1WBh+yWZw8LO?BclPQwmR34|3!_==GJ5`?b=q~Gw{@zyU; zT6yO}C$*#Ba#QL#>YCO+^H(G9p^Z2p)sI(OmoF*&v0)jH3#lvGXT_LcIX70^&-DEH z1|Gk~!3F>Q@HV}ez{U1qw`LCdzUb{&<4|D8ISmSR)_{V^>=zJ^UPK4EU zZ}7>Pktz4FfTbz4`}qy{B?HyAcT9)JC&aBza}C(;x@5<>V* zX)>$ua=t(3pC}EKdFuzQ(eXx7d)_3m?YHPyBj};2;$b1A9a^E&tvKg5qEmm37&#LW zhPMXFvBF$davcqcvz$+yLZb{JnWub4-u#CqZ`t|MkzrZ03=1Jke|A+MIKlT5!!&** zga`@*SC74gyC?o71-=rmk(1%`hhH1E&He7^IYx*^Y$ArtcW)74hajKZffGb1R3;O5F@ z+*-Aqu&>Z-6B z{^#gq+fat<79&Xr0B!=+vLCbLdW4-1fF*4vhi795D?#Gb){1hRo0A>^{N=rv!V>T?orRSUE2mg!Exm+=mQSbbCB(7qWkB$`2{anbh84mYr|B zu=HnF1qL(TfNjX4HH*yoGjo4zSn~S_M2;Qi2Xj_X8t~#t+DW6DPve|Ej8+cP7Xrh? zD4GN+jeGv^kX_x*7*QJ{E$p&8u_r7C!vrj4{jukXJ5dZ%e%GleTmyf6!~jC~1DYX!{od^b($9aF zlIsOh&M3T$#g)sw6}Z+UzxtfW>Zeh$77zlRijk__3$BA*ITvAAn5EMZrVsbrSKtmk znmrOTL>K|As^!=d9>|iBXnl)B%S&jt$veMxaMMRI%&{0&6+##k`Nwi5R>$dB9U2`% z5S+Vw>Y9IDD-ZYk*Eb*=;>zSgAy@{&Fr~%KmCMMp3%p}(=ZSv061T0POCOzz6W#C% z(a%<*UB_Es%~*^*=Wc{?;r_%$hqSQD@4>FTFB76yB-`F0(XtY)B3+tlw}nLOYbfU& z03j=nTPh#KGJFUjq%`H-hDu*Ekm371Lw@xBVxNDu^wZLmQvnu@zmsdn-I|e15ncBp z@%?MM@2p&$`mYd{A8Y({gkfTqOa%X{8F+Anp`?-`PGoF(42D~t(Nu()b@$Faj( ziEe-S_g?#}WR%F-=ZS831?{9kTKE>+k8i;;gdOUy7$XK@1hA_fz@GFd7=FMd+4dgs zmKV`(Yp;Ei(bc458?v9jU4AbWxl=Odm6!XA+(-K>N52TU>)C5^tz7e;K^OwTO%+SB z>kSoerR~FCq0@bDq^U%N$l4c(ta}0NdZd5YGjGE;|9*ruC@*nXAfykg>H+M^`#af; zH;Fetk9J%7K7mdXZ+Q{rdg|J51i7i={`T!?;S1RR?Xl;sE9s9c{UT(1S@0f>o&Zpp zJB?}i3o?Re;=4Y;X{hVZX}m5@is;5w#5TTxc2Zzi*fVd%o^|`hu_@BRD!UWAa*2O8 zGqgi8@<$S_uc3AScWYhe45{b`kl9F_lsAjX;n|rn^cY`xU>W_;rF|0e(EE$?gl*g{ z5Vj#q<`i8)zRz2AyDeu(99-|+*a1MN;zZW}me`iJvxeR`e+l;7dq#Dp2*ZzEeh>Df zM>-66^h4q;zw6Ov^a$;cj&DXervQJ*vkRG1cqNv!0bvVE-nM+@qCUeFeG(FsY7T-0 z2t?Rd$c%z&FCjr|Qnh60whv-Y`fk={ zB--BUznba>Zt56LVlSYPLNcRpAz@#ZgL%1Qd~^FcN3VpeSg}G1gK8m|2rz#(SVdLt zQ~ zzl2tUk4S5sA{ASQ)}BK(J~V;K%>9y5lnGZ~wP?+vUKiuN5_0Z_wLvNLjqT~3mzOT; z$fIpNNAmENK?|R~2q#74^VffgZGOv}DTakT`wr~ccZ>`v(#9^k1G_4-=+h3#$e&2G z49sTq1Sh!%l|BJ@SvFUceyjbE5QeyMx?}Y^{d*-Oc3Kq(DXsx8y>oWq6&=U6zuPa* zsz1=}F7d|KI@H(v`#tY#7}b|B0@#(yGOlfAoe_QCb8S`cu5EvzwM&08@=o^iwEX$m z#j`ZT6{<~->8*dSgqT6!)tM}GW)@UuU0v;_iSPX55Jm3_&n14*vnlN^@vJ-WEf^k` zSQviKwXItAHP`lqLEDU;kczHHYcE>jGXfpqc_H$oPkg(#zP%D+_{AM~fg2WIEh`^ z&()wwMdgst?n$(E{!z6b1@Lb~OiLU=`Czp8OVV10GJGrxK`}T;asjtIL9Y$-9 za8p{@4J>JjaOls1GkfaSBO!Sufdyoy!PsC`7w<~7H4dNTJwPX;L_S?fWc_cuM2UU# z?nRjW*m;yTR^@;F*cJDJ^x?U-ZL-LM((-k{u8lyk-tMM%cCXKZS)!*XGdV)t}F z2$9uMV}fN_Lfq!l=;Y`mEO=p-*NJU@vm?wh>vrtfeS}%0<+-+%OFM-_hR?O_pYU;% zbJi0_7?cFcvWEm>c2C`UT%-t-Dd5%g<@-vql}m2h`5}KT1_uhAj1gJ;0w_iB>iau( z9u1q+-rrv+w-LZ9zZZMrgPED(l8pX|c+1cheFK(T#k0Xifgo%bVoJ*^3X)9isb6oa z#!3L6^b<65vR|rb^8m8bhX*PVp>6GNP{}Aci~a&(TKMMNjSLnbtPltZLSW=fLQHua zYuwEl1MYv4Y<-h>>uUp#O$`xRr_idyPWjCs0W(Bfsu{yJ#!-#Mb}rZ>>6VbiKU(ZF zOkL=mD1guC(AmPYGc`A(Tkfq>38EWbMOZ#U*DgmGCf1a$F1=B7Wv3mt_Wg{PM^8<4 zhL8whWk1@|k5Bq(1B4(r_sYtgz1wRqC@$^RhLnHJ%MBsDk|wY8xYLOzRbyAp^?sG; zQT@|Sg6O9!iSPNa&-;;%eNLivWyaGPT{%Hu`etJKtF!W0(!%P<<}_zrQQDz)I-%Pc zQdnj9qgopXfhkN3+0o1_svz&yza@EOD=N}B`gOb-q`%v1=>j4A_(Hdhf_JXLiU{s zUe>I%usC0)@(!3Ae+oKTT@KK2(2m%P3WEcZSBCG7;a^)xEZ=Z-{cX`Qjww z`E8SNg+aohj_m{O-O0=cty|h6-IgtMOUU^niKMO)t^iz>#_d#Y=AJrB>;HL<)Ye_- z)aXB0M+E%j{inzJY!^$W*?sgpDQEQ6suY6pMIo-9HIDoYDUNnJ9!wx`+s;I~UCe)V zt8?~!(iGJh1Cdr~9Nlr_Q(JeD+OZFvc0h&U8+=DxLs$SPM`4 z1!3C+@4c1KBljb08?7|8n~zYxyB2?~y-M3Oz1AJa(Wkmwr9&^lMXfjtptMVK@_g2?%i=;rVD#!dgx^Qb!}k$feovN+FaEHH z-LGvX*?Qp$ye;MMtIak1a#L-Vl-X59ESy}5WscrVu?$Jj?=7e`nzmFEX_Zk~S|9GI zUyl;HX_eXZ5S)#l%sdDTj4^*Dh~VhtP6^8*c+X;j58RFL`%sSJ@Fxe@_s({lWX}#o z(owv)<0QY^QBTroC#8_N6GqRbSf(U5;1Qy<;%vM=drT?z_tdXP=^{<+M0if^sc21> z5LsG`EC>&i*gZq|eT446ot*!;9O3h9#?f^L+56@;(y_i1^Wtfjf7^dj%geh@Wo^oW z$tBF6T#Rjwy!!H4CbyeP{&umYtv|0y{aAO>8J(xXaU9n)8#J&*1wg^3N z7r_Va%6d~@{BbXP-`qwjGVri}H0AQ#wmP2KQkR`6vnmT&FsWojy|41(j;-cXvE#I+ zyj@o1=#B3^vAxF?Yp)WyY5iXN|2xmE&wg*upM?zP4nf@RA#8uoW`rKP58?BnT*Z;K z2RZQ0j$Um>Ur0KN7q*{d<*xedOqnyGh`AF+#w9il$@rp<0O+=}>uC@7xQ_c?58Z%1 z2vJG(nbNueV1MJ*toti$i@+^63`yv(Lj?SUzH@IE*Y@zo2iUV}3(3gP_cJ0XhhJ=} z;l=GIyST&)rwo6;`kFX4FYEHARg&H3Gqod%NHQT-_tv-fpNE;-s9n7YAeQ!?QP_^a zUAG`?tH-Vbf#=#TA@uNlSuzg(VK=)6XfygkThiedn`-%0Czp86gd&fWVKVeW2xd>{ zNOC{avX|!Mc>r9cc1V#v)m#5w3296DVp{8ub*AWH+nIm0*#Ma_t^~V!{t(6YT-(sS zw-S8tuB@6mwE6)1f4`k{eAu3PltsdEd4BteE;D6zWg&AW77dF_JhmW6K_-5s(QG}F zE%VdbQ6KxxMta>#?p1F;27{0lXXO|JF4K|KL~c!tW!vF~&{-k28A+?MQ z8LWThNc=4nCjpMNe!-FE%(_Mh0=Iq}V|=d}_FW(>li)qKWMfmxQ5;!wfc-;sZ3hc4 z%yNR4c6EeV=1eGJ?!qRzk0Y|9+!Uz_z5k)r;}@|IkNU3d*0YeDmuEkUY!w5 zx%_fd4KMAiC*|s_`nqgNNx!@=DFl~IDJ3TpyGp4ft7}(fH>8p=_4AdFeA=sbl|5H~ zg>Gt%yz07oBS3xRIIHX4$R6`ub2)+AZ|b#wHXQO7OFOx?yV&*GreSq$2aC3(!@qxS zs^OQLYO*$E{={N0%+d!blgEXbJgy_Y_i6om9BcDxFI`vdi8VAo(_cCIO~|Tco8sw| z`;ix&m5*%ccXs!HESKS= zx9GHfTWhTxH^qlFuMtUm>5@iC5ut~dAoIIMf`!i}c;9V=9$kj8Ezh-Gdyu_vZ@VZq zqc0>K#dF*0Sh=enM`@%G%$roqyh+6u?5FrFgZYz+v#KiYMEIcg6;f^z4N8AG`VZRg z#RL0`0TJ@dUF#a$w0agzy+-q8^DcIrTaT+7D&VyZU-&OI=r&cwBD^MdcpLIe~dd(KB#?-Y5DUR8>~e5{REfZiSL@r zaqCWDl#j)zEJIk{%=qFDd)WK-R-EMM@5v7ok)*@ZTWU$Wnjc|+;SbyQl=_PSuYk6{cS_|MK9#%{!&D8D}NB=wQw0BEK6CXYoPUirue z1NK%16}(yZL`@ev#H3O2yQ7fAhW12UUzR=xAES&NYX$qy9x}T@SFgVH2xs-{_K| z(vE0Dgy^}^E0!5PBmVbCc^%nz{At(=Dm}#^5^lDbuy-7L~9#M{d zzH#G;SDz414EiabL)rwWSy!VbE-2j^DDjOEl6jzwLoItSg~j;Lgv^t0z_cxdY0zAI z9yc|-27M%L2ta?>Z}Ql}a&DYbgq1Pi2{+D$(|_cxqrb-04jLS^ekFN4^7kwM%Z?$f za)-PtbKt`h&XsqTuT?%HPZ(kWX!B6Z9vqcoe9lDtMgVC@3ag6ADb1tpRP(T|%tw-t zs{8Y=#PK<=!PNJS`W)M+16Dx zsre60-XgWm5t4;~aUyb*#^f2M=Fh`6{7BOvTvkZgWmUMzG|eZP&}!(Z^CLlsAq98L zDCNojFr6#Q!}v3ylb93X-;X}WhEpHl=rkG}t@R5y>K~uKckQq|+G5x?lXt#!BtCD^ zm<>kQS1Nx5a}~-s6|Lc5(+;NP&nIYxkWylYe2kl4NqBq#O||E766qlkGn|B&QZPQx z&)?rLnIHUFC51r?nOXETCC~Ef{ZF#DVY9a%q)DUoD=nv@KOQbJV3^;qv-6$0)WkbV zJ`VVOE{GXIklU7OVo$?He1@MQ|5$9phmeABc_Dw5S5Ct6+c?QIsYqf_#0&=^wjr5O z5@N}mas1?4lew}yKO38hI}vuAThB{h{XFyLHqV>V4!=wuZ~KSgP*a^T?Ac-mR-JG{ z6U#T0j5lhLdX^BPIN`>`k=Fg3iPupYD9b*s$O_n$%os=M%<+WF3UE^nvBoG`_n(-~ zgzSGDAR$r+7M6v1th$`Xs>``$S}}Q@yumZE6TEZmdDhpzOH0zrtI~=?PFnqwKGyJm zpM8AGu!pHfBz>=DU5&bZ^1}xk3XiWbZFz+dqRdfgPDkt5a`t1CR#fCp#`IqEfG^ii z!GvO}u9`x{6_e1eCUT|~)km?7kb?5+i4=cN8;cNv!woSu9B-npi59R7Zktic|G0T7 zk5-qnV0ev)A2NC_MhO?o;n(jpC^A6 zNsvyYa1st~+CfM`@zk+YfA=~HD!sIuqm6N%TyvPMCt7fo#%D@`mLz1Gg#9KnNRyq3hkdDq*anbE&JGZW(~(%zo0pJKC7C*+v(FO^_1bJ*Z=bNb!P?|wH+)jO5O0o zzr8u+FXB;O$oQ|I$AakcXrDa0fO$n%Q$1!8^R%cu4DK4&$E9Sg`FCwHTqmS?*2U1(E7|kcKU`37xe}AkG+0fi7y;j zCMy1VW7nOgI48-!4i;BX< z_BZY^^m?3;JfMwX;?8y+KP`Jt=&_nq-gAS8=LYZjT)9V?{T^cd+A-^P@8nx?o`m?Avn+ay4_ zx>dPqqmxwcr&8i0DbjzZd}kxk(RfdKfANhXq&qDAyQ>1hs{^xqxyEHeirGk}8ipJ% zqzC{e8l!yyp|#dR;39Bvb;5D%Zamz<9kj;w{EI$?Wy$m5-#BqF5w;$F5wa`VZ`zO0Q=)G U`v`YURR91007*qoM6N<$f;RCLh`woxTSB+`Opnh;{H!G%zKT`o3W?_#gl-u2GT z&h48%0BgYOCZXzi{51dboBuhZ^PK^nJ;?u8=z<&=?DhH`!)utltVoJSW>m^i%QR5X zIo&95HlI7Z_tX*y-2Vycx*$Ir?2U4at*I2NcPoN_2hZ_cB9$scDpHG?j%gby)3t_m zQ#(Ifm^x$HWIS^2gG7Hn*q4SLIMM4<0><`Q-

zmD=w#OLd`o5<)pt$es{5e+67K z3EfO1<>WDCWpGQI&fL#WAD_y`{>mG;czEBb>=%Z+37BicV8Ida7&vZ3mwZ zZttnRIm+pmj>Aq(L+Sn@+@(0&{Ia9foKkNK#Eu_B*Z&4f{}`&E5F)NATQC>d{p!!I zTz)r}U3Th%@RHJ6<*j?EEhA8K{34j4!JNE-%m;76v-5S(aMOQvNWIPQYE_#&<6KG$v6NwFxcy@@I-bu2{j>pItFJk`KaiyX2y{I%P%2q zJpfwS4iN518sR|w9T3+ZL~h~Nu+356;e25B9C-T{nte5a3QtYXD+4|LBGm5~UYYmq zth4>FW=2=IuoL50Jo!5aZTmp0IswW*;1M1)uogn=e&lm+!#2lOXdNqtIwb&E@a`Z) z@&W)40EWrSloPtbjtnC`Q?h(kd>BjT-h;YrA4p*qL{vdN&w&JMP%uxzHbzS7n3X`e zDnp=Rr^G`kLKR8zNK~p&hc$B>%BDRaA_s^JhVckMsdG!&L$c#!Nl_>R9L$2KomR&5F004;PgIge=6^+OjQdl(B!*Xqawaok7QZ{W2NUi zPdRK}Bfw%NvmM=d1ciZuZZcy|&!r>wR2*y}vr^4*5Z8A?Z)r#3(j;ahVcg(FY^hQ~ zIfA*20oPr5t9b+p&CpP=^J$aV8u0Mz<#eN9Ip#>pqk&dOO1`ns-U57oKW+}qA$fBK zTHeIPdy9DcS^|-15S2l>q|T>^$gx?N%o@qNj=l`F`CP%$2B&?C50XD!qLv0oKYtBF z1GkYJo&mER0D$E%d>YT-x96wO)l!La|4MLqKt|fRgMzJ{=WKha2tB;_)KWs9K6Bf> zmvPoLfL2v3J8W%)?^kbN@Yq$%jwRqe)jNl|_}5GZzc@XC9naOGJg^K_Jpw|0Ag+xr z&1q8uM|uVx8-oO{?dTKt^V7%28gwRfZvs(d2+7;0?(ngLd60ZVafdT3B$0)$ir2pIPkyObVr+sl;wFvdA_=FV>lRXBJK;j zaP=SKn43sG0gwX|Gl{G$265QpRtL>YriS~Wc#(V zXV1FJP671ygYgC~j;Du?TvaEM`b*tNq%5Q-Q~3N<>p{2xM(1+4lE|XAnjxm0OO7oJ z9W`w8LVtgMu`f?t;+K!bj150(yqnG^iRqf{<$;J-hL;%G0xW&m(P~a3UI{&|W!O@$ zV?1*v`DyaQKQ58^ci!4Hkb0c6VqLlN?nJI@f6dsu5ziW)d{d~UysW;Vm3V`G5JJE# z2cDn`sV$0s>o#=DL2J2+UCm*<*yTriz#%)j&dodYX|`Kl|y!N2eE zGY{>q^EH1jqSk%8mTL}#^(cHs2&&=(tqvll*;pv#z(@*=o5X@KzLd;QpNQvTe>QCM z!qKk}l$bJ~vxoHc^>OL1U8<&>&{pB8>5&ER4uKOpJ-i$iIFYlM$qIHpZ8B@5U~A{+ zw5b8Zu*NDcbjKg>;g^CI!v#5bX^+p$Q6Ht2EHPD;d5@&q1;gMp&2a?Xb&cGSo`Ed+ i0vrCbhx_dRGXDY9WJ6DEEljGM2#l( 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 delta 4334 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 diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/examples/Demo/Builds/iOS/JuceDemo/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/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 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 + bundleIdentifier="com.yourcompany.JuceDemo" jucerVersion="4.2.1" + defines="JUCE_UNIT_TESTS=1" includeBinaryInAppConfig="1"> @@ -39,7 +33,7 @@ + objCExtraSuffix="Lpywnl" bigIcon="BvyE0d" iosScreenOrientation="portraitlandscape"> + androidBluetoothNeeded="0" androidTheme="@android:style/Theme.NoTitleBar" + androidScreenOrientation="unspecified"> @@ -197,11 +190,11 @@ - + diff --git a/examples/Demo/JuceLibraryCode/AppConfig.h b/examples/Demo/JuceLibraryCode/AppConfig.h index 0036f73a..37e2bd9d 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 3f59dc05..261b42a1 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..97bd2c56 --- /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 00000000..8eae7c6e --- /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 00000000..2f1e1f81 --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 7d4583db..00000000 --- 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 bb997d30..00000000 --- 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 c45c83e1..00000000 --- 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 06e88f93..00000000 --- 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 e4574f47..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 718392ff..00000000 --- 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 0dd1636e..00000000 --- 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/AnimationDemo.cpp b/examples/Demo/Source/Demos/AnimationDemo.cpp index bdbbfc5a..54d8bd9a 100644 --- a/examples/Demo/Source/Demos/AnimationDemo.cpp +++ b/examples/Demo/Source/Demos/AnimationDemo.cpp @@ -102,7 +102,7 @@ struct BallComponent : public Component return position.y < 400.0f && position.x >= -10.0f; } - void paint (Graphics& g) + void paint (Graphics& g) override { g.setColour (colour); g.fillEllipse (2.0f, 2.0f, getWidth() - 4.0f, getHeight() - 4.0f); diff --git a/examples/Demo/Source/Demos/Box2DDemo.cpp b/examples/Demo/Source/Demos/Box2DDemo.cpp index 2b22d954..014f3b15 100644 --- a/examples/Demo/Source/Demos/Box2DDemo.cpp +++ b/examples/Demo/Source/Demos/Box2DDemo.cpp @@ -136,7 +136,7 @@ struct Box2DRenderComponent : public Component setOpaque (true); } - void paint (Graphics& g) + void paint (Graphics& g) override { g.fillAll (Colours::white); diff --git a/examples/Demo/Source/Demos/CodeEditorDemo.cpp b/examples/Demo/Source/Demos/CodeEditorDemo.cpp index 08c714e6..836f27fe 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/DialogsDemo.cpp b/examples/Demo/Source/Demos/DialogsDemo.cpp index b1bbf552..2c9284da 100644 --- a/examples/Demo/Source/Demos/DialogsDemo.cpp +++ b/examples/Demo/Source/Demos/DialogsDemo.cpp @@ -249,8 +249,7 @@ private: { // this is the item they chose in the drop-down list.. const int optionIndexChosen = w.getComboBoxComponent ("option")->getSelectedItemIndex(); - (void) optionIndexChosen; // (just avoids a compiler warning about unused variables) - + ignoreUnused (optionIndexChosen); // this is the text they entered.. String text = w.getTextEditorContents ("text"); diff --git a/examples/Demo/Source/Demos/GraphicsDemo.cpp b/examples/Demo/Source/Demos/GraphicsDemo.cpp index b9c935b8..7ca7e6da 100644 --- a/examples/Demo/Source/Demos/GraphicsDemo.cpp +++ b/examples/Demo/Source/Demos/GraphicsDemo.cpp @@ -208,7 +208,7 @@ public: pathSize * 0.5f, clipPathAngle.getValue()); - g.reduceClipRegion (p, AffineTransform::identity); + g.reduceClipRegion (p, AffineTransform()); } void clipToImage (Graphics& g) @@ -384,7 +384,7 @@ public: PathStrokeType stroke (0.5f + 10.0f * thickness.getValue()); g.setColour (Colours::purple.withAlpha (getAlpha())); - g.strokePath (p, stroke, AffineTransform::identity); + g.strokePath (p, stroke, AffineTransform()); } SlowerBouncingNumber points[2 + 4 * 8], thickness; @@ -569,13 +569,13 @@ public: setOpaque (true); } - void paint (Graphics& g) + void paint (Graphics& g) override { g.fillCheckerBoard (getLocalBounds(), 48, 48, Colours::lightgrey, Colours::white); } - void timerCallback() + void timerCallback() override { if (currentDemo != nullptr) currentDemo->repaint(); @@ -596,7 +596,7 @@ public: } } - void resized() + void resized() override { if (currentDemo != nullptr) currentDemo->setBounds (getLocalBounds()); diff --git a/examples/Demo/Source/Demos/LiveConstantDemo.cpp b/examples/Demo/Source/Demos/LiveConstantDemo.cpp index 61b894ee..8768706c 100644 --- a/examples/Demo/Source/Demos/LiveConstantDemo.cpp +++ b/examples/Demo/Source/Demos/LiveConstantDemo.cpp @@ -30,7 +30,7 @@ struct LiveConstantDemoComponent : public Component { LiveConstantDemoComponent() {} - void paint (Graphics& g) + void paint (Graphics& g) override { g.fillAll (JUCE_LIVE_CONSTANT (Colour (0xffe5e7a7))); diff --git a/examples/Demo/Source/Demos/MidiDemo.cpp b/examples/Demo/Source/Demos/MidiDemo.cpp index fed2a254..3310aecc 100644 --- a/examples/Demo/Source/Demos/MidiDemo.cpp +++ b/examples/Demo/Source/Demos/MidiDemo.cpp @@ -24,32 +24,6 @@ #include "../JuceDemoHeader.h" -static String getMidiMessageDescription (const MidiMessage& m) -{ - if (m.isNoteOn()) return "Note on " + MidiMessage::getMidiNoteName (m.getNoteNumber(), true, true, 3); - if (m.isNoteOff()) return "Note off " + MidiMessage::getMidiNoteName (m.getNoteNumber(), true, true, 3); - if (m.isProgramChange()) return "Program change " + String (m.getProgramChangeNumber()); - if (m.isPitchWheel()) return "Pitch wheel " + String (m.getPitchWheelValue()); - if (m.isAftertouch()) return "After touch " + MidiMessage::getMidiNoteName (m.getNoteNumber(), true, true, 3) + ": " + String (m.getAfterTouchValue()); - if (m.isChannelPressure()) return "Channel pressure " + String (m.getChannelPressureValue()); - if (m.isAllNotesOff()) return "All notes off"; - if (m.isAllSoundOff()) return "All sound off"; - if (m.isMetaEvent()) return "Meta event"; - - if (m.isController()) - { - String name (MidiMessage::getControllerName (m.getControllerNumber())); - - if (name.isEmpty()) - name = "[" + String (m.getControllerNumber()) + "]"; - - return "Controler " + name + ": " + String (m.getControllerValue()); - } - - return String::toHexString (m.getRawData(), m.getRawDataSize()); -} - -//============================================================================== /** Simple list box that just displays a StringArray. */ class MidiLogListBoxModel : public ListBoxModel { @@ -77,7 +51,7 @@ public: ((int) (time / 3600.0)) % 24, ((int) (time / 60.0)) % 60, ((int) time) % 60) - + " - " + getMidiMessageDescription (message), + + " - " + message.getDescription(), Rectangle (width, height).reduced (4, 0), Justification::centredLeft, true); } @@ -214,7 +188,7 @@ private: { currentMidiOutput = MidiOutput::openDevice (index); jassert (currentMidiOutput); - } + } } void comboBoxChanged (ComboBox* box) override diff --git a/examples/Demo/Source/Demos/NetworkingDemo.cpp b/examples/Demo/Source/Demos/NetworkingDemo.cpp index 501f9730..531513b0 100644 --- a/examples/Demo/Source/Demos/NetworkingDemo.cpp +++ b/examples/Demo/Source/Demos/NetworkingDemo.cpp @@ -28,6 +28,7 @@ //============================================================================== class NetworkingDemo : public Component, private Button::Listener, + private TextEditor::Listener, private Thread { public: @@ -38,7 +39,8 @@ public: setOpaque (true); addAndMakeVisible (urlBox); - urlBox.setText ("http://www.google.com"); + urlBox.setText ("https://www.google.com"); + urlBox.addListener (this); addAndMakeVisible (fetchButton); fetchButton.setButtonText ("Download URL Contents"); @@ -47,11 +49,6 @@ public: addAndMakeVisible (resultsBox); } - ~NetworkingDemo() - { - fetchButton.removeListener (this); - } - void paint (Graphics& g) override { fillStandardDemoBackground (g); @@ -114,6 +111,11 @@ private: startThread(); } + void textEditorReturnKeyPressed (TextEditor&) override + { + fetchButton.triggerClick(); + } + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (NetworkingDemo) }; diff --git a/examples/Demo/Source/Demos/OpenGLDemo.cpp b/examples/Demo/Source/Demos/OpenGLDemo.cpp index b0a1a335..71a9f00f 100644 --- a/examples/Demo/Source/Demos/OpenGLDemo.cpp +++ b/examples/Demo/Source/Demos/OpenGLDemo.cpp @@ -589,7 +589,7 @@ struct OpenGLDemoClasses OpenGLDemo() : doBackgroundDrawing (false), scale (0.5f), rotationSpeed (0.0f), rotation (0.0f), - textureToUse (nullptr) + textureToUse (nullptr), lastTexture (nullptr) { if (MainAppWindow* mw = MainAppWindow::getMainAppWindow()) mw->setRenderingEngine (0); @@ -624,6 +624,9 @@ struct OpenGLDemoClasses // When the context is about to close, you must use this callback to delete // any GPU resources while the context is still current. freeAllContextObjects(); + + if (lastTexture != nullptr) + setTexture (lastTexture); } void freeAllContextObjects() @@ -719,7 +722,7 @@ struct OpenGLDemoClasses void setTexture (DemoTexture* t) { - textureToUse = t; + lastTexture = textureToUse = t; } void setShaderProgram (const String& vertexShader, const String& fragmentShader) @@ -789,7 +792,7 @@ struct OpenGLDemoClasses ScopedPointer uniforms; OpenGLTexture texture; - DemoTexture* textureToUse; + DemoTexture* textureToUse, *lastTexture; String newVertexShader, newFragmentShader; diff --git a/examples/Demo/Source/Demos/SystemInfoDemo.cpp b/examples/Demo/Source/Demos/SystemInfoDemo.cpp index ab383ecc..f1fa50e6 100644 --- a/examples/Demo/Source/Demos/SystemInfoDemo.cpp +++ b/examples/Demo/Source/Demos/SystemInfoDemo.cpp @@ -120,15 +120,20 @@ static String getAllSystemInfo() << "User language: " << SystemStats::getUserLanguage() << newLine << "Display language: " << SystemStats::getDisplayLanguage() << newLine << newLine - << "Number of CPUs: " << SystemStats::getNumCpus() << newLine - << "Memory size: " << SystemStats::getMemorySizeInMegabytes() << " MB" << newLine - << "CPU vendor: " << SystemStats::getCpuVendor() << newLine - << "CPU speed: " << SystemStats::getCpuSpeedInMegaherz() << " MHz" << newLine - << "CPU has MMX: " << (SystemStats::hasMMX() ? "yes" : "no") << newLine - << "CPU has SSE: " << (SystemStats::hasSSE() ? "yes" : "no") << newLine - << "CPU has SSE2: " << (SystemStats::hasSSE2() ? "yes" : "no") << newLine - << "CPU has SSE3: " << (SystemStats::hasSSE3() ? "yes" : "no") << newLine - << "CPU has 3DNOW: " << (SystemStats::has3DNow() ? "yes" : "no") << newLine + << "Number of CPUs: " << SystemStats::getNumCpus() << newLine + << "Memory size: " << SystemStats::getMemorySizeInMegabytes() << " MB" << newLine + << "CPU vendor: " << SystemStats::getCpuVendor() << newLine + << "CPU speed: " << SystemStats::getCpuSpeedInMegaherz() << " MHz" << newLine + << "CPU has MMX: " << (SystemStats::hasMMX() ? "yes" : "no") << newLine + << "CPU has SSE: " << (SystemStats::hasSSE() ? "yes" : "no") << newLine + << "CPU has SSE2: " << (SystemStats::hasSSE2() ? "yes" : "no") << newLine + << "CPU has SSE3: " << (SystemStats::hasSSE3() ? "yes" : "no") << newLine + << "CPU has SSSE3: " << (SystemStats::hasSSSE3() ? "yes" : "no") << newLine + << "CPU has SSE4.1: " << (SystemStats::hasSSE41() ? "yes" : "no") << newLine + << "CPU has SSE4.2: " << (SystemStats::hasSSE42() ? "yes" : "no") << newLine + << "CPU has 3DNOW: " << (SystemStats::has3DNow() ? "yes" : "no") << newLine + << "CPU has AVX: " << (SystemStats::hasAVX() ? "yes" : "no") << newLine + << "CPU has AVX2: " << (SystemStats::hasAVX2() ? "yes" : "no") << newLine << newLine << "Current working directory: " << File::getCurrentWorkingDirectory().getFullPathName() << newLine << "Current application file: " << File::getSpecialLocation (File::currentApplicationFile).getFullPathName() << newLine diff --git a/examples/Demo/Source/Demos/VideoDemo.cpp b/examples/Demo/Source/Demos/VideoDemo.cpp index ea13de35..2d29227f 100644 --- a/examples/Demo/Source/Demos/VideoDemo.cpp +++ b/examples/Demo/Source/Demos/VideoDemo.cpp @@ -113,13 +113,9 @@ private: } else { - AlertWindow::showMessageBox (AlertWindow::WarningIcon, - "Couldn't load the file!", - #if JUCE_QUICKTIME - "Sorry, QuickTime didn't manage to load that file!"); - #elif JUCE_DIRECTSHOW - "Sorry, DirectShow didn't manage to load that file!"); - #endif + AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, + "Couldn't load the file!", + r.getErrorMessage()); } } diff --git a/examples/Demo/Source/Demos/WebBrowserDemo.cpp b/examples/Demo/Source/Demos/WebBrowserDemo.cpp index c41f20df..78341e57 100644 --- a/examples/Demo/Source/Demos/WebBrowserDemo.cpp +++ b/examples/Demo/Source/Demos/WebBrowserDemo.cpp @@ -80,7 +80,7 @@ public: // Create an address box.. addAndMakeVisible (addressTextBox); - addressTextBox.setTextToShowWhenEmpty ("Enter a web address, e.g. http://www.juce.com", Colours::grey); + addressTextBox.setTextToShowWhenEmpty ("Enter a web address, e.g. https://www.juce.com", Colours::grey); addressTextBox.addListener (this); // create the actual browser component @@ -95,7 +95,7 @@ public: forwardButton.addListener (this); // send the browser to a start page.. - webView->goToURL ("http://www.juce.com"); + webView->goToURL ("https://www.juce.com"); } void paint (Graphics& g) override diff --git a/examples/Demo/Source/Demos/WindowsDemo.cpp b/examples/Demo/Source/Demos/WindowsDemo.cpp index cfb5a6ea..8f68f1cb 100644 --- a/examples/Demo/Source/Demos/WindowsDemo.cpp +++ b/examples/Demo/Source/Demos/WindowsDemo.cpp @@ -51,7 +51,9 @@ class ColourSelectorWindow : public DocumentWindow, public: ColourSelectorWindow (const String& name, Colour backgroundColour, int buttonsNeeded) : DocumentWindow (name, backgroundColour, buttonsNeeded), - selector (ColourSelector::showColourAtTop | ColourSelector::showSliders | ColourSelector::showColourspace) + selector (ColourSelector::showColourAtTop + | ColourSelector::showSliders + | ColourSelector::showColourspace) { selector.setCurrentColour (backgroundColour); selector.setColour (ColourSelector::backgroundColourId, Colours::transparentWhite); @@ -108,13 +110,13 @@ public: startTimer (60); } - void paint (Graphics& g) + void paint (Graphics& g) override { g.setColour (colour); g.fillEllipse (ballBounds - getPosition().toFloat()); } - void timerCallback() + void timerCallback() override { ballBounds += direction; @@ -148,18 +150,18 @@ public: } } - void mouseDown (const MouseEvent& e) + void mouseDown (const MouseEvent& e) override { dragger.startDraggingComponent (this, e); } - void mouseDrag (const MouseEvent& e) + void mouseDrag (const MouseEvent& e) override { // as there's no titlebar we have to manage the dragging ourselves dragger.dragComponent (this, e, 0); } - void paint (Graphics& g) + void paint (Graphics& g) override { if (isOpaque()) g.fillAll (Colours::white); @@ -271,6 +273,7 @@ private: options.content.setOwned (label); Rectangle area (0, 0, 300, 200); + options.content->setSize (area.getWidth(), area.getHeight()); options.dialogTitle = "Dialog Window"; @@ -279,8 +282,6 @@ private: options.useNativeTitleBar = false; options.resizable = true; - const RectanglePlacement placement (RectanglePlacement::xRight + RectanglePlacement::yBottom + RectanglePlacement::doNotResize); - DialogWindow* dw = options.launchAsync(); dw->centreWithSize (300, 200); } @@ -291,9 +292,14 @@ private: windows.add (dw); Rectangle area (0, 0, 300, 400); - const RectanglePlacement placement ((native ? RectanglePlacement::xLeft : RectanglePlacement::xRight) - + RectanglePlacement::yTop + RectanglePlacement::doNotResize); - Rectangle result (placement.appliedTo (area, Desktop::getInstance().getDisplays().getMainDisplay().userArea.reduced (20))); + + RectanglePlacement placement ((native ? RectanglePlacement::xLeft + : RectanglePlacement::xRight) + | RectanglePlacement::yTop + | RectanglePlacement::doNotResize); + + Rectangle result (placement.appliedTo (area, Desktop::getInstance().getDisplays() + .getMainDisplay().userArea.reduced (20))); dw->setBounds (result); dw->setResizable (true, ! native); @@ -308,8 +314,13 @@ private: windows.add (balls); Rectangle area (0, 0, 200, 200); - const RectanglePlacement placement (RectanglePlacement::xLeft + RectanglePlacement::yBottom + RectanglePlacement::doNotResize); - Rectangle result (placement.appliedTo (area, Desktop::getInstance().getDisplays().getMainDisplay().userArea.reduced (20))); + + RectanglePlacement placement (RectanglePlacement::xLeft + | RectanglePlacement::yBottom + | RectanglePlacement::doNotResize); + + Rectangle result (placement.appliedTo (area, Desktop::getInstance().getDisplays() + .getMainDisplay().userArea.reduced (20))); balls->setBounds (result); balls->setVisible (true); diff --git a/examples/Demo/Source/MainWindow.cpp b/examples/Demo/Source/MainWindow.cpp index 2dd84a41..24261480 100644 --- a/examples/Demo/Source/MainWindow.cpp +++ b/examples/Demo/Source/MainWindow.cpp @@ -558,7 +558,14 @@ AudioDeviceManager& MainAppWindow::getSharedAudioDeviceManager() if (sharedAudioDeviceManager == nullptr) { sharedAudioDeviceManager = new AudioDeviceManager(); - sharedAudioDeviceManager->initialise (2, 2, 0, true, String(), 0); + + RuntimePermissions::request ( + RuntimePermissions::recordAudio, + [] (bool wasGranted) { + int numInputChannels = wasGranted ? 2 : 0; + sharedAudioDeviceManager->initialise (numInputChannels, 2, nullptr, true, String(), nullptr); + } + ); } return *sharedAudioDeviceManager; diff --git a/examples/ExpressiveMidiTest/Builds/LinuxMakefile/Makefile b/examples/ExpressiveMidiTest/Builds/LinuxMakefile/Makefile deleted file mode 100644 index 86ab5772..00000000 --- a/examples/ExpressiveMidiTest/Builds/LinuxMakefile/Makefile +++ /dev/null @@ -1,160 +0,0 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! - -# (this disables dependency generation if multiple architectures are set) -DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) - -ifndef CONFIG - CONFIG=Debug -endif - -ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_6D53C8B4=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 - 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 := ExpressiveMidiTest - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) -endif - -ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_6D53C8B4=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 - 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 := ExpressiveMidiTest - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) -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 \ - -.PHONY: clean - -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) - @echo Linking ExpressiveMidiTest - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) - @$(BLDCMD) - -clean: - @echo Cleaning ExpressiveMidiTest - @$(CLEANCMD) - -strip: - @echo Stripping ExpressiveMidiTest - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) - -$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_audio_basics_399a455e.o: ../../../../modules/juce_audio_basics/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 - -@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 - -@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 - -@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 - -@mkdir -p $(OBJDIR) - @echo "Compiling juce_audio_utils.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/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 - -@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 - -@mkdir -p $(OBJDIR) - @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/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 - -@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 - -@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 - -@mkdir -p $(OBJDIR) - @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_opengl_1890bee0.o: ../../../../modules/juce_opengl/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 - -@mkdir -p $(OBJDIR) - @echo "Compiling juce_video.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - --include $(OBJECTS:%.o=%.d) diff --git a/examples/ExpressiveMidiTest/Builds/MacOSX/ExpressiveMidiTest.xcodeproj/project.pbxproj b/examples/ExpressiveMidiTest/Builds/MacOSX/ExpressiveMidiTest.xcodeproj/project.pbxproj deleted file mode 100644 index f5ac2fde..00000000 --- a/examples/ExpressiveMidiTest/Builds/MacOSX/ExpressiveMidiTest.xcodeproj/project.pbxproj +++ /dev/null @@ -1,2244 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - - CE2807371257B52B1D2B06E0 = {isa = PBXBuildFile; fileRef = D8FF2E14B072C8B9544C95BF; }; - 189A987224B9646B9AA0D399 = {isa = PBXBuildFile; fileRef = C64527E74752ECF0B056A9F5; }; - 354BBD7645C4F76503133A20 = {isa = PBXBuildFile; fileRef = 90E350DA6DF0535788EDA0C7; }; - C568BD20102D15116F05E6D4 = {isa = PBXBuildFile; fileRef = AE90B98838251D28244F281D; }; - A3BEED6474CF4D29FB8CA568 = {isa = PBXBuildFile; fileRef = 87D653D986B3CB91809A6AA1; }; - 62B45B3673D1655B7418C1E6 = {isa = PBXBuildFile; fileRef = FC7EF3CDEE50B555E15E362D; }; - 02EF462BC2B7477532926CB4 = {isa = PBXBuildFile; fileRef = DCC6CD0D96DF5D56628DC513; }; - 5C9DA179BB22AE2F8A500E54 = {isa = PBXBuildFile; fileRef = CD39F20F8A8273B62632EBCC; }; - 06DE20E82AAD9548CAFD1E56 = {isa = PBXBuildFile; fileRef = D69B16D06E21D1FBEA756A3D; }; - 98683F976996F65C9839FF5B = {isa = PBXBuildFile; fileRef = 2F9C29AEE0C8D4BE771F59A8; }; - 9A24423E8EB4E7B5AA0FD499 = {isa = PBXBuildFile; fileRef = 32C1BC49BCC54FEED453CFD0; }; - 88E739BEDD7197917839D7C6 = {isa = PBXBuildFile; fileRef = AB17BDF654E684FC179BB7DD; }; - 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; }; - 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"; }; - 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"; }; - 030A438E1EE9564FF921DC9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 033CF8E14902A81FF64A0EF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; - 035F7E38035024592C9CC7BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; - 0364DE831A6E6B4B0A83D3D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; - 03D75F52F5707AB35D6BA8EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; - 04713D6B292066E0E5F9E3BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 04A9E8ACA19D89D3B4EE5FBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; - 05238D17EC276B357390E5D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0575302FD50DFE761DAE40B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 076628E712D4AD6AAA111947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0772E67E5B580EAE2C4A248A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 07898F72AF374731C8D58113 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; - 07986389020D0AB5D139286C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; - 07A30AAAFC7A005BE5BD13CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 07B0233D286E466E20AC2887 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; - 0881FC00E66C06A97AE5D44E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 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"; }; - 0A8CD57178A1419CC58AE215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; - 0AB0EB7DB8293C2AB03F001B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; - 0B4BE6C38E70E7391A88B4CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; - 0B544DB0EBE315150B7DB69E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; - 0C03AA02839664626F4DEECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0C0752466019BB68BD8A77AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0C1AE743A7F57659EDCAFEC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0C614464266C8D7861BB4688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; - 0D8E6523CB4D0315377B874D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0DC3165A5F3B775232531A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0DC3607C9300A572222E9668 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0E4A876D029AF3B748C520E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; - 0E4DE3F2A6C3A5DF58A717DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0E9623E6E7FF23C09E3B1AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; - 0ED6AF00F8FD440991D6E9B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; - 0F4BDA5EDC7B99927EDE3F84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0FD3D4A7B7481F8361E14D82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; - 109575E72FCBE619A842EADB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 10DCFDBEB5A9192F4AF351D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; - 10E32F03CD02144B4E150066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1130B7A258A90A3443048D10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; - 11A3D99C5AF2C6619ABBF176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; - 121DCBEAD9B2A41250FE1A8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 12321A80AB65526F1CBCC467 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; - 12A38F9DB2A92D7E4D566697 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; - 12ACB548CCAA9C20A91F671A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 12DA948C2F890AFCEC584E18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; - 12DCC9E84F6D9B4191F0059E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1319CFA9BEB6EF9A0CCA5DE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; - 131E8EC2DA7B6E7AA27A6D9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; - 135B6889C5DB189F0BD5E5D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; - 143EBC60EF7CD518951B3DFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; - 148CD006F32196E97DB2E15F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; - 149DDBEC3F5A2D3920A7C974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 152F9CC2FD2D12CD202427EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; - 15326497248BF0C5248444F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; - 15586852872DD0E50CE31622 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; - 1672341168714E02AED9122E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1683945897B57B67297DE68E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1693F25ED160AF15F12B1EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 19F1E0A1D16107BC0A21D8B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; - 1A88388BE44AED2870102576 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; - 1A9CD64FD02DC991351F79D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1AD6B4D9A3ABFC32D70230D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; - 1ADE791CC67330FE1018794F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; - 1BBE5A8CC950364880DE6DA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; - 1C3DEE2DA57222B58398ADB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1C4B851DCA88F1B74D37A957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; - 1C5D3E2D967DCB9B6171F8D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1C75EA4C7928F352F3C5843A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; - 1D60F9B4132C6DEF087C6102 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1D6DA0212DB2562D54FE2E33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1D766E0719754559EDA33816 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 1D78EC4983FF07EF7F5B90F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1DB0E5D44E06C20E9596193D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 1DB6C92024C5D0273B576FFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; - 1DD6065C0B6DFD88EA23F7D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 1E1A13BFC2C3B8C2F85EEED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1E471A2744F7DAA2E2746F59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1E566116CD030074BE41AE7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; - 1EE89A61F329252103888090 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1F08617D548E6203B649283C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; - 1F2C3B261C75AFE0815B4F6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; - 1F7B60B2FB93D6B84720AA08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1F80940BD86054B4AA0369A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; - 1F9241B5C167C0419181B5E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; - 1F9EF1E392691DF9CC82A715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; - 208C1446FD1A325C1AB92D7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; - 20A2A473C608297870499BDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; - 21FC0D072DCC9C6AC57D6C45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; - 226FD52F4533F8CE03C8DF20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; - 22A8E10FA861E5E3824C37C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; - 22FF2F2FF1B698E1712DE7BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; - 230A9419C6C9B6D00D2BB8A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; - 231871077A08BA845DA197F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; - 237324C3262FA4A6854BAE69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; - 23986EADB0FA1118A421AB50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; - 23B55CF0886E4D70AD727E19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; - 23D167475E6FE0FAA20C55CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; - 23F3CC2C225B17A90D900CD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 275924B6B61ADC7DC45DF465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; - 27642EB0181BACE6A55FA013 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - 27F112C058EF5A258E9AC6BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; - 281EDA11196A278E6AB4B7FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 294E38D35B22AEDC556CDDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; - 29565FA867CDE49665585AC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 29FC11849A8427D248E2D21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2A5FD9B8CEF55D9CB0BD863F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 2AAAEBE53A14BA001544D40D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2B6313BEE19952B09B892F97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2B700EED388A0D5BCD27119C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; - 2BC851F3F90C739945A358E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2BF9277EE9D23E6756DDEAAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2C8137E945F72BA9105D65C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; - 2CB483940897747625E0DEF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2D096B9C273751E74770F8A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2DDDB0D5D31784DE584658A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; - 2E156BE3E6DBAA7865B0F3C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2E19514EB12ED8C007D02BED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; - 2E216EC91202D5C65AE63F7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2E4AA3AC87FCE4E51218FCAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2F0226716C7B97307DC10F14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; - 2F9C29AEE0C8D4BE771F59A8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; - 2FD97DD724D2656CF1E0D166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 2FDF6E187E8341031460DC5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; - 30B0695DFBFC7FF870A58DE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 30EAE83CBD3493EA5E75C943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; - 313744A137B12D90ABC32ADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; - 3138762B0FB6AE1FEB2A444D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 31400B4D421980AB72921D8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; - 31B770F0F6BD21F867E24035 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; - 31C21E360B87491DCA771EDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 325027EE270BBF650E805564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 32C1BC49BCC54FEED453CFD0 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - 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"; }; - 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"; }; - 34F6D81CDDA0736524995278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; - 350B2C6A55A8CC92FE9FACD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; - 35303BDED3573FD025AA6BF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3530734CC3320BD8D4AAAFAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 355BB193F5BCA256A8F08E02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 37769779C54F5EAA72386EA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; - 380CF7E6B4A92C10348D923E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; - 380DE52CF0881D08E28EF459 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 381C61E5D8990308F006A622 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 391E4320D4B26E7C1D1E77BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3926A9B46D728AA024FA23B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; - 394EB2D6CECEDF1C9BA4555B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; - 3953B849E9B19989A39B9268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 398F6C198EC4DB253F24A2ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; - 39A0C2C528E433AB151366CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - 39D44FF56380385B8384F81C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; - 3A44297947691ABDFE965AD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; - 3B86FA979F365227E1EB9592 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; - 3BC401D5C6F376B3E8A98BE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 3C3914CF4EB61FC23AEA3490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; - 3C5EB4E00CDBA4EAE7C96902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3CBCE009F649A76261CC81C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3D0A72C575B21608CC08323F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 3D1B0F640AC066EDBE4FCA90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3D23A96B33496215A0A41752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3DA4C013F3A87FB9066D9A06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 3E298D7161D5A18EA25B0852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3E3006AC0AD8CBA944F20C19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; - 3E77C173AE32F62B892CF01F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3E994268B5F30A3299CAFB5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3EA36ED5181F96146B13E1A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; - 3EF6F6A74D6521ADC75318C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3F23E79E8D215B53423F66EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; - 3F38B8657F25B4ED7A44AA58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3F5354BF6BADA9E5AB9C8762 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; - 3F73AB01E7AFDF8672EF6E53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 424EE6A1FC2ED9C33D5F25A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; - 42671DCA829C86E21A41AA48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4329C1D2114988B6B33E4ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4339E4AC89EC3FA5C5F4CCD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; - 435805944C64D39060796749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; - 4383EC8C6E41BF29C8C6D228 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - 43C676DCCF3EF43C3E461DBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; - 44144EB6BBF8C91984B24B26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; - 4432F3C2A9B250C270BC8C98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; - 44524BF33AC80E3F57C0522B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; - 445B50E2E1C2C48FC9C938CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4473E95B23F65C8E5F7FE05B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; - 44888289A2CF2F4FAE8A7216 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 44B170978A7B6AFAA7528EFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; - 44E830CE4F46500243B0F095 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; - 44F7EDE4220F31B641051082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; - 459847CA0F57CBD0381236E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; - 45F17D16348AC92ABF12AE4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 46EE2A1578E998C3FDAF9E90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; - 4709326ADD1AEB0FAE3F0E28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; - 47BBFABAEE4BB9362BBF81CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; - 47CA6B2483E98530ED21101E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; - 47F996A2BA101821A84B1294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 481F5349D5FC0457C31ECCEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 483B36334E2D7C2A6F6D5C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 483FDD4DC1AAE6377594EBC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; - 486B26EF01146242F3C661F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; - 49100F48E2E4004CF5473D49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; - 498D7E415C0E24045E8CC34A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 49E4C6DD3893245B406C90BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; - 49F2723942EAE756E456ECF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4A13A7A56AAF148FE41452A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; - 4A150B258184228CDB6E3065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 4A17352DBA7235663A22CA37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; - 4A7DE0647A682256D4E61BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 4E247FD4978713561FAD3C42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4EB5C90296983797A68A25B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4F19EA0D6C57032FB00BA151 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4F371455D5C271A26FB4272C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4F7F3DF2110623AD17177CC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; - 4FB8831B363370118A37844C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 4FD427089A9CDE1B5B0C4664 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - 508ECF11083AD7BE530896DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; - 511C8FD7DF51C5D0ECA87751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 51FB54FB93F826E8B4207DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; - 522CD93708D62677267D572C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; - 522EB405E3DDB9138DBB4704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 53F6ABA12780FECACEB5B595 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; - 54683E42FA3E4E644B5BA342 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; - 55318EBDA23C2918FC8D838E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 55774BDDEFF8D07E7657F2D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; - 55B57622C00BFCBD2B2AC3AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; - 55B994CF8C32B8FAE0C8BD29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 55E7B636B43C78D7D5A2F3BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5623335C91C27A0ED7A4CBEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; - 562D0A3E3BC11FEEC83922A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 563C94CB5AD0F745076DF69B = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; - 56612A865FA5B0E49552BA7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; - 569FA642C1BD9436D90CAE02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; - 570B9DC717F39CD9455B6A4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; - 571B4FA4AE8176E2B4328567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 5975D093AA16540D75DFC05E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; - 5984276E446D5C9A035D9FC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; - 59BE5C6F0A513D6CCF776C33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; - 59C5684A0F1049099993BD31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5A28DED9BBEDC2E03C6AECFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; - 5A2CA150FB56C7A955847790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 5A69C1F35C3FB44D42654DC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5A917183D906C359DC72C343 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5B1A209CBE6AEB1063FB149F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; - 5BCFBCD0F10A1CA1755A6496 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; - 5C0DAC2F2E64A243C0EE8A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5C198C39CC5322356263DE10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; - 5C2CB310BBE49D88B96FDEF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5CE908DBC0AD9E238B960303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5D9714FDF6CC158ED499F67A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 5DA875ED1131E5FF6529B0CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5DAA0C0CDF8A539F6FCEFAA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5DAC8E916AE370AAAB459391 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; - 5DE9D9EBA17102EFC3DECDBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; - 5E45C2171455CA101B0782EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; - 5E85FF9DADED1BF2F393CA7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; - 5EEB8F8B7C5FE167380BE097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; - 5F4AB4FE887CEE13DD04B691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5F5EC6184D029A61D4EAFEB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5F652BEA513040A30DF9B82E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5F906D2606C9F07B104120B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 5FE360FAE9A403ABFF04FBFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5FF0AE9C309D0F00EE9D93B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; - 604A0F57022215439EBAF444 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - 61205D36742D1BFA2C342241 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; - 6135C09E481C8C987F2DBB0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 61C15F781039DFD34048F987 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 61E9F7EEC1E8A9BC83431E55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; - 62500028F4BBCC38D0CED34D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 6285DDA600803EFB4D1F8EC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; - 6338FC98FAF82F3C9A15E943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; - 6401226633396ABB651ACF9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 66B6F0A0B4CFBAB1C1352742 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 66DB34EE165CA04ACACB104D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 687D3BEBD01B7089DA7EBAD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6996A01131F6EC782335849A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - 69E514BDB41278F42D52E932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6AADF3E468257D223D3942CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6B08381BCFD3448AB40EB764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6B4A3C085C5D53EA256808B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6BCD122B109FEA7382F86B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; - 6C03D708D1A0BE6E3315D8AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; - 6CB919D0572583A79239C10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; - 6CE9869F76A0BDBBAAFC2AD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; - 6D45A9F8D00AF9F3FBF43394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6DBAA8FC487AE3C94BF0EA9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; - 6E515F0982E797C04C1B4612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; - 6E52C52B8794D97378E70B01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 6FF0F98B0B0A872157CE5D60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; - 703E93210140FC510B4C30B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; - 70401CA75FB474FF0D1052E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7060321468CD7FF42AAF182E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 70D59B63181ABCB009B6248D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7120C1DA3DF4C3FE1E82AD0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; - 715049CBFF51DD0B6C96C4AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - 71C76E49F379F9B05389C3CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7257482194FCB2E6510D816C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - 72FA76AAEC0B844D6A97B04F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; - 734A9DABB685FB4C6FBFF63A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; - 73F442AEA16947270FABB59A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; - 74A2BEFDB54B8061082429CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; - 74C004337047593335F0EB2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; - 74D28D21EF6BAA38475B5DC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; - 74EAE983AF79D27EE6858539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; - 75160F42498EEF24CDFF6C1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 75321A674B370F32E25E4FBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; - 7585B4D0AF0B0B94FFF5754B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; - 7597D668A9F5F71F9D02D8DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; - 75C8387A8EA8DE5E856952DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 76053E841EC59CD6923EF248 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; - 762F1D3C34A3070C92736819 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 7678218746FA8A0FE22E8BF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; - 768ED0B52F40AF137ABB4B23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 7816A52096E7A88C501B1130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7861AA53364025BA5B10E816 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7911CEDEA3547CAB3813DA45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 797024ADCC2EBD68FDC1C5A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; - 79C500C091AF9E639F37C514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; - 7A08DDF75B40A0BB8EC435D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; - 7A389934F2E8BE092DABF7F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7A4BC1998983615017DC2BF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; - 7A5F3AA95E30A442F123B2C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; - 7B3E7CFDA9BE759870114F56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 7B4BED87BE117AF628DDC1EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7BD2190159E33306493A2F15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; - 7BF0F10BC424F0558F6E346C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; - 7C263AD6FB3F219F513FC2AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; - 7C4B94E6E74999267FF81409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7C997A5BA57D7568AB3E0F79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7CB98E68960B2BB58EE8A903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; - 7CCCB8DF5D4F39091A296F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; 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"; }; - 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"; }; - 7F3776EEB353DCFCE936872F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; - 7F555DDE48B74E14F99C805F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; - 807FB66424227F43DB1E720A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 80888401EE0F8AC038266306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 80A4083D5F12CF76E89D3772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 80DA8A6E51A23964A6590918 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; - 8105E14C122672883486A562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; - 812D84E4F3A82B1C61214191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; - 814ED3A6EFB59ADEF6747D30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 839BB72EB3C380942B175961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Synth.h; path = ../../Source/Synth.h; 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"; }; - 8533CFE78DDDAB7BD643071C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; - 854311676B3921D8DD3D0157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; - 85608CBD070076019F0A5AAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 85843AACDFA8061F182556AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; - 859A3E99E9C43B195F80F648 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; - 861B3C3F2D0A1C24E85233EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 862E55A52A3835786CABBA97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - 864B819B16A5912645B76472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; - 8665D9D9CE72D78FA1DB8400 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; - 866DF75570266BD14E146D0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; - 86CCBF0A2BA002DD4F6EF744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; - 87077F5EFF965C2D201F6E14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8740DC474D052F86D39902A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; - 87C79B3F7798AA8550362662 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; - 87D653D986B3CB91809A6AA1 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - 87F331B36CC2CA9730B478D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; - 87F84688081C0FAAF3BB8BE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; - 88A6977E6C431A7B8E41B87A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; - 88D60BD76FD4D2DDDEC812BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; - 8937E49637ED97118277A146 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; - 89A9ABEAE3260E88A8286832 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; - 89DADBB730BD793525216677 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8A00D34ABCC62F277B89FED1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; - 8A05FE986C91C1BB9EA88AE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Setup.h; path = ../../Source/Setup.h; sourceTree = "SOURCE_ROOT"; }; - 8B2483DC502CFB85054091C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8B4618262B4BB0A436C51B6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8B64303D4A4877BE3D9ECA23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 8E21F6EF4E830FF170C5B569 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8EAB66AFD0A5824AF6C38F56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; - 8EC8237E53FD84E9697F2C34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; - 8ED647B92C0CB084AB1756B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; - 8F48D8208E29A75118A98737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 8FC849BFEF9953E872591AE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; - 90054A29105E825D9737130B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 906858F4D1A91AE92FE33431 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; - 90E350DA6DF0535788EDA0C7 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; - 9123CC1339B2671E33A3BF0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 91CC923684BB3404154A74E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; - 922591A6E5E820CB10974DA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; - 92306B69EF888E52654C7A26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; - 92340E879472D423470A8ACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9241AB0AAE9428D1D3404DAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 925C571487EEB3DCE49D5767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; - 92691651B73E582D8419516E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9287FEB418423DF0B158B3BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; - 92AB3D8F15EC41F68BD98735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; - 92E263576EE09D2FFB2488D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 95EBA44CEF397A39E5A4FB18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; - 96FA1FB83212CA1F7B24340F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; - 975DC4180E69ABD56CFBD45B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; - 97BA5E8EABCECBF2507DCB31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 97C8203B745D9AFE10D00FDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; - 97EE4852EA4CC6213A4DB03D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; - 98249E2CE3DB75CC7E110B95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; - 988A1AF75EB5E8F25AAD1632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; - 98A33952B59DC73987AB3F3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; - 9915F52C7A0F1EB8A2C19B55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 991C62245D7F40A04BF7A7A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9963DA20A3A169F096DA9FCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9993C464C5F2B833CCB80E73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 9B3CF30A3919BE54493D59FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9B941207317C228D2E7FEA4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9BAF53E9F559484E89236B95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; - 9C0AAFB1E56B8FF6CB8F614B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9C731D9984CC3858193A2C17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; - 9C9DC2BD4FEE0C379DE12571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9D50273101DC464219A633AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; - 9DA161A15B4C68C62A63A0D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; - 9DB04269AF81BBB96EA3BB19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; - 9E4BB78272577D198F7CEA4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 9E5D3DF0A5372D0EE20D7C52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; - 9E757FCCA80FD5CDE38CE39C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9E801E5784DD299F44CCC555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; - 9EAEC4C3DC466EB31FBDA4E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; - 9ED8CA84B312E34694E2A6AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - 9EE84FBC6D21836516BE409A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; - 9F0EEFDFFB29330643715D31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9F5F2836C2D83C3F53254241 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; - 9F73DCCD91827818100240F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9F9ABD34F4E3D415CD8E3548 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9FD19371668CCB2116D7D7BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9FED900E158DF7D8CD3C3157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; - A004966E7468D0F909B144B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - A016A16A72E6597E19D0117C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; - A070B9FA4EEB5C5AEED5561A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; - A084D01ED9334EBAFB966862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; - A0C8388A92088676B9F60B7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - A2515767F54BBB1189F67674 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; - A2579D66249C62C1DEE92E1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; - A2B7929C90425363F8F88BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; - A2CDBE41FA1F8EC3E492683C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; - A2F3BC68972901383B331361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - A510130632DD97A188B6C814 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; - A5136F150AC3C3D48C8B5BEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; - A55F7E43C7EBDAB0936E49DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - A59547388F399186B5559860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; - A5C776304CEA43636F46A5FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; - A60F4908677D0C613FB1737C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; - A62B2A3C8BD64FCB92519B71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; - A6352E758302225B3893D9BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - A82DBA408269C87D418906BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; - A843CE531AEC32940221ABA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; - A8DE43E4A9F916584738AA7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - A9235E9E60C4A238FA54047B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - AA21DA98CEF52C5F09BEEC38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - AB0F764CBA1600621049FAE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; - AB17BDF654E684FC179BB7DD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; - 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"; }; - ACF5C8CA1E6228ACCFB67F2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; - ACF70D3C6DFCF9CE58921468 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - ACF8C9B787F071A59D0D7EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; - AD47911F727BBE2907742B6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; - ADE8A1AFA8463F99F681D830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - ADF727BFA0B03E4BB95B2E21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - AE071AE60A488A88983388A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; - AE90B98838251D28244F281D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; - AECE3E00CA23B8BC04DC0326 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; - AF04AAABB333D46EAE2FD387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; - AF7854B0FC7EB465C1A31A3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - AF8A2C37DFCE17AAC5976773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; - AF9CDD2400A6940A7E8DFE5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - AF9E7DC232E9C7125103A08E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - AFEEDEBED70B5B1D1B0AE490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; - B0037C53204AAC9C8255C2BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; - B021D4BF80511343AF4D9652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; - B02859F63C4DB6CFB687B30F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; - B03367C60569B1910FD00AC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; - B05E72AB3D6C98EE78B78396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - B0BDEB05BCB1301C1931075B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - B0C68D7A03725EB5C4D6B2F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; - B0EC575BAE9C7CA8148B2814 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; - B1A70491D38102254282A55B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - B1D0E807C8AA03DCD59D95CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; - B233151970C7D711A52DF35B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; - B28125595ED641D8D708A672 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; - B28A031B821E7D99B96609CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; - B2CE1594EB33B071195025DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; - B3345A12095B5451B31BC2B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; - B346F61236D50FFFAA93DB58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - B3B09D930294921308A25479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; - B3CBFBDBA3189C6F33B4C980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; - B3D740F535AE6C7211B7F346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; - B4066FBC70F48956A5613954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - B4627ACD9DAE391505B47CC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; - B492A15E9ED021566DDDF527 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; - B4EF43855D18382AC6F26A01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; - B50A8EE15B6ED3D2A655C0F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; - B53A535D45DC0A485F1D7A03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; - B59F17512F4995C0DA023400 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; - B5A05D33611D8BAC85D43C8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; - B5C2E2E572443EBC683A308B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; - B5EA0961ABF5E581D4DA94C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; - B654E7DD258B9A755CCA7BEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; - B66835ECFEB59CEE77211F94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; - B66D5720A6D53D145235B680 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; - B6AC3B42995EFACA5218BBCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; - B6B15C5ACA212627415B92A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; - B737F86A97583158D47EED8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; - B76CFD3BC6CEDC9DBA1E63EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; - B7995F7528DB0AFA151402D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; - B82A885925538D2A750B5077 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; - B84ECC2C7B1E0C5283C5DE92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; - B8CA9856C1004FCC5CC4F710 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; - B8E4371A1812FB6544696147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; - B8F33A418BB2AEEA980B25FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; - B97AF825D9F4F24DF5751FB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; - BA24E4AEE7BD1C7CDF793728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; - BA74CBA07F7E462B824D155B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; - BADDBE325E0F54D65375A0E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; - BAFFF07065ABA4EF9E038D2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; - BB43F941001F9EDECDEC4836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; - BBA80FB6E7B8CC2B36236750 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; - BBBDDFA136909E051E416C80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - BD22F15779DC50BF4A27B33F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - BDA1F22AECB324960FD04B8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; - BDA5300CE231168A0DFD9706 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; - BDE06F7154D61ECE453CB356 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; - BE353035E54BBD637701274C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; - BF1DED2E1BA1C076425B8CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; - BF4B42874613F1E620EB9A7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; - BF636F03555370A34F3E92E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; - C00E40B39075B28FE2A6CFA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; - C0294ADFDB35341825074EB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - C2B858DF72CD2801C22C109C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; - C2C02D2BE263F8050442D47A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - C35854B72C47F401808A93D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; - C3C6ED0B48A81623AAE57AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - C3DAB6E6D5D1C1CF8AD15E8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; - C495993112F10E9129851E8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.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"; }; - C75AB0FC6F1A4F57D95397EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; - C762137F95A067D877B2DDB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; - C7D441D167E579678DA387D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; - C80BA373E25BE1EBCA733FDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - C897DAA514552248B4BEB8B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - C8CF6019DC71E9EBC2AF7640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; - C8DB56C59EEE6F10765F1880 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; - C9D87BCB93AFB0E715801097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; - CAD2314B200074610B2B3CC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; - CADCB071D5B0B5B6C355EBFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - CD33944EC8F554BA64242262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; - CD39F20F8A8273B62632EBCC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; - CD4D4588493F1466A53E7CD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; - CD58F563ABCAA111263D8255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; - CDCA935BA045154E92DEE09D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; - CE02BE1A0291F4C6C55DD14D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; - CE37C0B005EECA7D52093A82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - CE5EFD0B93A7DD3687B3FA11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; - CE6199FD4EDDB4537A206D63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; - CEBF81D1689753BB5F3FDBE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - CED4C734633F91C89BFD3829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; - CF9C14069C105C1A217F194A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - D01042D887575822E0081B0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; - D02AAF5A413CDBA06CC7DFE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; - D04BA00975A92412026A237A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; - D078B13C5448B055AD1587EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; - D0BBABAF387DC7B741787440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; - D19CD21192E82B0ADDEA153F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; - D19E7811EB87D4AAB4FBF421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Visualiser.h; path = ../../Source/Visualiser.h; sourceTree = "SOURCE_ROOT"; }; - D1E4737C60EBD969197A6FA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; - D254890C63ADC9C6812BDF93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - D2A8BDAAD64FF5A5442F1C3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; - D2B89986858D8B327441661A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; - D2BC77B38E85C0126AEDC3F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; - D30D77B2572852C5C9FF86C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; - D3FE216B5EAC55834446D659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; - D408CA86079E3FE98FEAFF99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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; }; - D6DBFE153ED66744A79FD7C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - D6E871933044DB7C729653D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - D6F4411BCCEA6358FADA3BC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - D7021C3CB4B5DC28A2BEB886 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - D7402ACDB1AAA5A345B61529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - D7694A3176492013902BBF3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; - D783DFE1BF328D75FA4EB7EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - D8275ED6BFD4AAD7BF13CC2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; - D8D65FD4A2F1B4572540A21D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; - D8DDE8B0AB11A6FFB9C7A8B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; - D8F87300D82C3F5E989A9011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; - D8FF2E14B072C8B9544C95BF = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; - D97D04E27CEBD97B988F3F7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; - DA03D10FD1896F49D3AA2D81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; - DAA02F90C34CFED97483236C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - DB096C620CC605E3347E49DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; - DB130B7171062DA7585C54F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; - DB3CD0B067F5FABA895758A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; - DB68CB04F33818FB58F304B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; - DB895ABF03BA62DAC80F9B7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - DBFBB4E07B66E9FB6EFC0CA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - DC40896B34539B4CDFD98A83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; - DC8568B8091FCF34F5F2B264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; - DCC6CD0D96DF5D56628DC513 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; - DD5088088E2F96F2A90F846C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - DD814F83C89F94E61871C009 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; - DDD9956A34EECD84627E4D23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; - DE21CD502DCDD7D2934F72BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; - DE51539BA5A479C76A8BB82E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - DE5BD7F4C4C455FAE894D657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; - DE96C095E423324993DCAC8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - DE9C13FD08D8717984C5306B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; - DEE0007C38531B281E20A2A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; - DF0BF35672EB45AE2A8E0966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; - DF1EA5A6EA5F6AE282F2A49B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - DF63EBB2114464E14D80E087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; - DF65E154752472424051E11B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; - DF77C09D912D32A137200C50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - DFF18D2054F756B486247AF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - E012ACB1A57FAAF6CB476741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - E22DA44980799F3DA64DDE25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; - E2867ABC0D315CD6C4239554 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - E28C99608B801215B814EE25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - E2A4A21072EC5C3AF96939AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - E2D1B06DF3B78955E6076686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; - E2DA6A821B25A153D3860A13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; - E2EDD6CB9434A89412CB83D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; - E3432D2DC4E51EA2B58C49F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - E37337FE5F1EA5C0675E05EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; - E39A3A161533974224B415C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - E3EBACD5CB6769BBB22735D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; - E41EFBEDF1FCC35FA46E0758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; - E42FD3B1912D5F551179D1DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; - E55E5BA2A453E87D427CB4FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; - E5B599378BB30FA87B3E360C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; - E62F93F0E69F1FDDBC40E5FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; - E630DE24659C252E9EBFE366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; - E6BBD52DEEF5BB309A5E0D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - E6C36657CECAF4AA1AD8558D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - E746C564E0175FB54090D87A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; - E75814074C88E2E781498AAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; - E79180FB373A881C6F5B60E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; - E7ABB8B409A117BB3FEEEE0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; - E7E7C43041E9BA05EB4FCBD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; - E81E701E50B80CD8D7ADD9A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; - E833D66716056A926C5C89F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; - E84138DC7565FE1416315C8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - EC102CE64BE3F8AF1D3B720C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - ECDBA884241B6AAA334E0D23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; - ED067DE4926598C42B4EBC8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; - ED6A7341ECDCC395ABB50FF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; - ED8B57E5C91C21AE53C2693F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - EF2B4989E0D155EE1D678F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - F24DBB309D44148115EE7202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; - F2ED06DE39A6A3BB84A23F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; - F2EE77BFC5289905F345230C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - F4479BE62D0A08B4D2C02DB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.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"; }; - F6892B7A65D34CEA069065ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; - F6A72C0BF37C9ECC315FEE8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; - 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 = ExpressiveMidiTest.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"; }; - 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"; }; - 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"; }; - FDB6B9D5EBB59B8C2069A0E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; - FDC14145C1B7FCA7797DF38A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; - FDC95CF6C957C43FF646C7DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; - FE207453DEB0158B218F1EEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; - FE31FF67DA4B994486AF30B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; - FE3743EE4D35B41B46F938D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; - FE3B1B765FD79B42BAB31946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; - FEA9025EC5AFF06C3119E2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; - FF8B79CC34C6EEEAE3C31C7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - FFA933744B1A866F8733BA0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - FFA9C3C0C173CB01D1AB7EC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; - FFBF68910D82B4BC2BB3D5E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; - FFD0216F53E975D8EF78328B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; - 47DF0B5F0B14AE411808F7CE = {isa = PBXGroup; children = ( - 24A91402E8066EE92308ED53, - F7E832627C87C46DCDFEE64C, - 8A05FE986C91C1BB9EA88AE6, - 839BB72EB3C380942B175961, - D19E7811EB87D4AAB4FBF421, ); name = Source; sourceTree = ""; }; - C69BCE512948465235B05858 = {isa = PBXGroup; children = ( - 47DF0B5F0B14AE411808F7CE, ); name = ExpressiveMidiTest; sourceTree = ""; }; - 5489D521ADF9019843119414 = {isa = PBXGroup; children = ( - A2579D66249C62C1DEE92E1D, - DC40896B34539B4CDFD98A83, - 033CF8E14902A81FF64A0EF7, - 9F0EEFDFFB29330643715D31, - 0A078E86A69712204CD5256A, ); name = buffers; sourceTree = ""; }; - 217610183EA8BD76B32A1091 = {isa = PBXGroup; children = ( - 8EAB66AFD0A5824AF6C38F56, - 294E38D35B22AEDC556CDDEA, - BF636F03555370A34F3E92E8, - 3CBCE009F649A76261CC81C7, - 92AB3D8F15EC41F68BD98735, - EA305103C28E10C02723A54C, - 906858F4D1A91AE92FE33431, - 4A7DE0647A682256D4E61BB6, ); name = effects; sourceTree = ""; }; - 5FA8DBD6DF93443F73A1872B = {isa = PBXGroup; children = ( - F244FC45098CF46687C0437E, - AECE3E00CA23B8BC04DC0326, - 12DA948C2F890AFCEC584E18, - A802D4B2EC2895FC9409844A, - B2CE1594EB33B071195025DF, - 74D28D21EF6BAA38475B5DC4, - D2A8BDAAD64FF5A5442F1C3B, - 814EF966AA71A45BCC8C4A30, - 2B6313BEE19952B09B892F97, - B53A535D45DC0A485F1D7A03, - B28125595ED641D8D708A672, - 02AF229CB188EEBE3B0213B4, ); name = midi; sourceTree = ""; }; - 9BCB14578B2C8CC21FDA6382 = {isa = PBXGroup; children = ( - A353726F76D426E1528DF4E5, - 22A8E10FA861E5E3824C37C8, - E2DA6A821B25A153D3860A13, - 3F5354BF6BADA9E5AB9C8762, - B59F17512F4995C0DA023400, - 7678218746FA8A0FE22E8BF6, - 6AADF3E468257D223D3942CA, - 6847021E92EA605C660B2E95, - 6FF0F98B0B0A872157CE5D60, - 12321A80AB65526F1CBCC467, - F339D1DFAAD5B0D011B72AC7, - 5DAC8E916AE370AAAB459391, - 098829F7BA0AC367A8DBD55E, - 4A13A7A56AAF148FE41452A5, ); name = mpe; sourceTree = ""; }; - 40898647F35D01F6A2699106 = {isa = PBXGroup; children = ( - 55B994CF8C32B8FAE0C8BD29, - CE37C0B005EECA7D52093A82, - 149DDBEC3F5A2D3920A7C974, - 25CFE2B2F50BF6AC1F57C0CF, - CB0C9A0921B30250FE6A1E31, - 991C62245D7F40A04BF7A7A9, - 030A438E1EE9564FF921DC9C, - 5A917183D906C359DC72C343, - E28C99608B801215B814EE25, - BCF92E9C27C5F13C1CECF184, - 97BA5E8EABCECBF2507DCB31, - 3729299D2A64E43C1F08345D, - B1A70491D38102254282A55B, - 30B0695DFBFC7FF870A58DE6, - 42371152802017F57D1D7E7A, - 8F48D8208E29A75118A98737, ); name = sources; sourceTree = ""; }; - 4E643F9CD9EE691AE833B64B = {isa = PBXGroup; children = ( - 75C8387A8EA8DE5E856952DF, - DC8568B8091FCF34F5F2B264, ); name = synthesisers; sourceTree = ""; }; - 6D6BD190E0292674F39E8980 = {isa = PBXGroup; children = ( - 5489D521ADF9019843119414, - 217610183EA8BD76B32A1091, - 5FA8DBD6DF93443F73A1872B, - 9BCB14578B2C8CC21FDA6382, - 40898647F35D01F6A2699106, - 4E643F9CD9EE691AE833B64B, - 4C5018AA4799F86499662B0E, - 9EE84FBC6D21836516BE409A, ); name = "juce_audio_basics"; sourceTree = ""; }; - 4E68B457C9E7F2B65A5B88DA = {isa = PBXGroup; children = ( - 3FC1061502C287C1D0099B21, - 44E830CE4F46500243B0F095, - 334367A18F54C928DC48ACA8, - 0E9623E6E7FF23C09E3B1AFC, - 001595A5B01C0F1EBB38054F, - 58587BC050F0D9A45940FE62, - 570B9DC717F39CD9455B6A4C, ); name = "audio_io"; sourceTree = ""; }; - 8163EFE6597F8420428189E3 = {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 = ( - 3F38B8657F25B4ED7A44AA58, - 226FD52F4533F8CE03C8DF20, - 44524BF33AC80E3F57C0522B, - 6401226633396ABB651ACF9A, - FDC14145C1B7FCA7797DF38A, - 6E993A8C1ED9ECC3852FE787, - F8A78774C3D5B868C9B284F4, - B66835ECFEB59CEE77211F94, - 80DA8A6E51A23964A6590918, - 821E625B06C44D6189F224D4, - 22FF2F2FF1B698E1712DE7BF, - CD4D4588493F1466A53E7CD0, - DE9C13FD08D8717984C5306B, - 2D096B9C273751E74770F8A6, - C8CF6019DC71E9EBC2AF7640, - 5DA875ED1131E5FF6529B0CA, - A5136F150AC3C3D48C8B5BEF, - 08B60F139B2A313DB825ED18, - 34F6D81CDDA0736524995278, ); name = native; sourceTree = ""; }; - 6FA8D51AF51DE1C29574C6FE = {isa = PBXGroup; children = ( - 4E68B457C9E7F2B65A5B88DA, - 8163EFE6597F8420428189E3, - BFE026E2BC00A379694115B9, - 72B1340F1020F9087F37A76F, - 2B2C179AA15B3FF9075EECC3, - 4CD401D9D010608EA9D68C35, - 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 = ( - DB895ABF03BA62DAC80F9B7D, - 1DB0E5D44E06C20E9596193D, - 9241AB0AAE9428D1D3404DAE, - A0C8388A92088676B9F60B7D, - D7021C3CB4B5DC28A2BEB886, - E0513862E1966494CD8EC68A, - 82AB090E4FDB3EE467CC1D5E, - FF8B79CC34C6EEEAE3C31C7F, - 5C0DAC2F2E64A243C0EE8A23, - CC2A62060FD202B17EACBC03, - DD5088088E2F96F2A90F846C, - 04713D6B292066E0E5F9E3BA, - CF9C14069C105C1A217F194A, - 096393D9E6EBD72262AF3D77, - 4329C1D2114988B6B33E4ECA, - 1D766E0719754559EDA33816, - E1E2599D827CB64258EC9EB0, - 0A7749697A76FDBB036E1B55, ); name = codecs; sourceTree = ""; }; - 8ABF3BD4A9FEBEC19699733B = {isa = PBXGroup; children = ( - 54683E42FA3E4E644B5BA342, - 6651651E2DB80985AE11BC2A, ); name = sampler; sourceTree = ""; }; - B0157000DB5FEB5AF75E4F9E = {isa = PBXGroup; children = ( - D9636748AB4515EA6F70F6F1, - 0FE231DB06C13D3823C690EC, - 8ABF3BD4A9FEBEC19699733B, - 6572780DEF7C396030F7E88F, - BA74CBA07F7E462B824D155B, ); name = "juce_audio_formats"; sourceTree = ""; }; - B141FE8425056D7A1111F49C = {isa = PBXGroup; children = ( - DEE0007C38531B281E20A2A3, - 51FB54FB93F826E8B4207DAA, - 8B4618262B4BB0A436C51B6C, - 571B4FA4AE8176E2B4328567, - 8D2FC9A82A2C76FAB8AFA963, - E79180FB373A881C6F5B60E1, - 772FC3C9E091EF0A66C077C1, - 035F7E38035024592C9CC7BC, - D078B13C5448B055AD1587EF, - 9DB04269AF81BBB96EA3BB19, - B05E72AB3D6C98EE78B78396, - 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, - D48FE428CE33968C024759F7, - A68450207C4150B561E61A30, - 861B3C3F2D0A1C24E85233EF, - 418A6B140F02F7642B04C53D, ); name = scanning; sourceTree = ""; }; - D8411DCED586C411659DD219 = {isa = PBXGroup; children = ( - 5DE9D9EBA17102EFC3DECDBE, - 6E52C52B8794D97378E70B01, - 38E9379C8C6490ED44B87159, - 670D4EE6E16AB62126E09DE8, - E7E7C43041E9BA05EB4FCBD2, - AB209E34B329FDEFA3032277, - 9C0AAFB1E56B8FF6CB8F614B, - 39D44FF56380385B8384F81C, ); name = utilities; sourceTree = ""; }; - AB48A58D44AEFCA3F21E8D14 = {isa = PBXGroup; children = ( - B141FE8425056D7A1111F49C, - 56224860442B325B89B3D560, - 8399A36C496E0E4B8C36120B, - 4AE5724854053F8845688903, - D8411DCED586C411659DD219, - 01982E7F111EA0F64A134DAB, - 3B86FA979F365227E1EB9592, ); name = "juce_audio_processors"; sourceTree = ""; }; - BD867FD0796BCA4D85BA1A2B = {isa = PBXGroup; children = ( - D6DBFE153ED66744A79FD7C7, - 85608CBD070076019F0A5AAB, - 7060321468CD7FF42AAF182E, - 35B0BB5C14EA49DAB3BFC581, - 59C5684A0F1049099993BD31, - CAD2314B200074610B2B3CC5, - 5296588DFEE115D050FFDBE4, - 1130B7A258A90A3443048D10, - 9599D7A27E31328EB5BAE931, - D665353CD91C952945B5C0CD, - A441178DDFDC6458E849F535, - E81E701E50B80CD8D7ADD9A0, - 6B08381BCFD3448AB40EB764, - 109575E72FCBE619A842EADB, ); name = gui; sourceTree = ""; }; - 53729100FC8FB30CBB91B28A = {isa = PBXGroup; children = ( - BE353035E54BBD637701274C, - 703E93210140FC510B4C30B7, ); name = players; sourceTree = ""; }; - FCAEACFE743F52A057EB2683 = {isa = PBXGroup; children = ( - 07986389020D0AB5D139286C, - D3FE216B5EAC55834446D659, - 5FF0AE9C309D0F00EE9D93B8, - 5975D093AA16540D75DFC05E, - 360380932997DAF4065415CC, ); name = native; sourceTree = ""; }; - B41158B4484EA0875E08A9DA = {isa = PBXGroup; children = ( - BD867FD0796BCA4D85BA1A2B, - 53729100FC8FB30CBB91B28A, - FCAEACFE743F52A057EB2683, - 40596589E6A4CA47E84EE943, - 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, ); 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 = ( - 9963DA20A3A169F096DA9FCF, - CE5EFD0B93A7DD3687B3FA11, - E833D66716056A926C5C89F4, - 5623335C91C27A0ED7A4CBEB, - C1CDE97113A08C356493680A, - F43667EA56F363AEB2B05633, - A60F4908677D0C613FB1737C, - 1C75EA4C7928F352F3C5843A, - A510130632DD97A188B6C814, - 97C8203B745D9AFE10D00FDC, - 1672341168714E02AED9122E, - D02AAF5A413CDBA06CC7DFE1, - C2B858DF72CD2801C22C109C, - AB25A2883C749400DBBD2F3A, - 6EEB164FC6C3D32E231A15C0, - 0E4A876D029AF3B748C520E4, - 5E45C2171455CA101B0782EF, - 4709326ADD1AEB0FAE3F0E28, - 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 = ( - 42671DCA829C86E21A41AA48, - B5C2E2E572443EBC683A308B, - 1EE89A61F329252103888090, - 64CE05BF5F2A115665AFE76B, - 10DCFDBEB5A9192F4AF351D5, - 20A2A473C608297870499BDE, - 3530734CC3320BD8D4AAAFAE, - 539990B2CDD50F397B743256, - 70D59B63181ABCB009B6248D, - 3953B849E9B19989A39B9268, - 508ECF11083AD7BE530896DE, - E5B599378BB30FA87B3E360C, - BF4B42874613F1E620EB9A7F, - 58DC77B1478A9F35AC2DFB36, - 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 = ( - 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 = ( - FEA9025EC5AFF06C3119E2DE, - 7CCCB8DF5D4F39091A296F19, - 6F47E5D0F6E40ED2846E6572, - 814ED3A6EFB59ADEF6747D30, - 44144EB6BBF8C91984B24B26, ); name = misc; sourceTree = ""; }; - F38C88E1DC944F4C43265644 = {isa = PBXGroup; children = ( - 4129D412D114068734D0831B, - 5F906D2606C9F07B104120B3, - 25679A32335DD3ADDA3902E2, - 862E55A52A3835786CABBA97, - 2484173D7D4BA02BB498C49E, - 6B4A3C085C5D53EA256808B2, - A62B2A3C8BD64FCB92519B71, - 4383EC8C6E41BF29C8C6D228, - BAFFF07065ABA4EF9E038D2D, - 49100F48E2E4004CF5473D49, - 9FD19371668CCB2116D7D7BB, - AF9E7DC232E9C7125103A08E, - 92340E879472D423470A8ACB, - 25908D5017FC87CB6E801484, - 1ADE791CC67330FE1018794F, - B7995F7528DB0AFA151402D3, - 44B170978A7B6AFAA7528EFB, - 459847CA0F57CBD0381236E7, - EE25A55A433D3F49D9CEB7E2, - 5CE908DBC0AD9E238B960303, - 93841F898FCD5F4D7E8DBCE5, - E9812566DAAA2B50B3A21FBF, - FFD0216F53E975D8EF78328B, - 7DCDF71BCE61BDA76974A47E, - 391416CDD6D0F5ED2F788D1C, - DAA02F90C34CFED97483236C, - 5F4AB4FE887CEE13DD04B691, ); name = native; sourceTree = ""; }; - A8FC72E4F19FEC8B91E632C8 = {isa = PBXGroup; children = ( - 93B788DFC1C7243528F1FA3D, - 316F29C45111629E4CFADFD9, - 4D4790E42CCA98AACE00B679, - 5992DD47776CE4F001ECE043, - CCB563EF33548D5CC941B744, - 6184FF3D83820107C5B1024A, - 22310530F28620B8D9BA128C, - D6B10605190A8ACEDF432FF1, - 5ACD43AB3DA26EA8E78D5F52, - C18471B46EC423B7B641B6DC, - 25774FF13894F0C8069E0942, - D3D244BE0B0E2F4909304C21, - D10F20151607501065C2E850, - 2588A788741DCD917C0F5756, - BBD3ACD1D6192688C7E8FE6C, - C4F26089A6CEE0C99EC8FA55, - F38C88E1DC944F4C43265644, - F229305EABC54A0360E3F43D, - 3C3914CF4EB61FC23AEA3490, ); name = "juce_core"; sourceTree = ""; }; - A87A8F3E687B87185D390390 = {isa = PBXGroup; children = ( - F47E8376EC7BDC4528239031, - 3FD9075B28C4450CFC36F949, - 87077F5EFF965C2D201F6E14, - 8937E49637ED97118277A146, - F6B6B1365187B9519FC0A206, - 866DF75570266BD14E146D0E, ); name = encryption; sourceTree = ""; }; - 5A9B169E349FCD88C8D3FFF1 = {isa = PBXGroup; children = ( - EDEA57CD386F98DE9E17C6BA, - D2BC77B38E85C0126AEDC3F1, - 7816A52096E7A88C501B1130, - 4339E4AC89EC3FA5C5F4CCD5, - 8FC849BFEF9953E872591AE4, - 8EC8237E53FD84E9697F2C34, ); name = hashing; sourceTree = ""; }; - 0FF7D030BAE4E164EAF53EED = {isa = PBXGroup; children = ( - A87A8F3E687B87185D390390, - 5A9B169E349FCD88C8D3FFF1, - F069C0B7A0FA2E1ABCDDCC59, - D97D04E27CEBD97B988F3F7E, ); name = "juce_cryptography"; sourceTree = ""; }; - C187B575F71B5C6F3B2A3A89 = {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, - D05C3DF63345D322742D3539, - C42F76D7A76EDD94516EDDA6, - A11E58F0D28254BF0C5E6CBC, - E2D1B06DF3B78955E6076686, ); name = "juce_data_structures"; sourceTree = ""; }; - 11E41E38163B29A096760242 = {isa = PBXGroup; children = ( - 020EE4DB59648F4FB8516FA9, - BBA80FB6E7B8CC2B36236750, - 2711898DEDADE22BFD3A59E4, - ACF5C8CA1E6228ACCFB67F2B, - 812D84E4F3A82B1C61214191, - 1319CFA9BEB6EF9A0CCA5DE1, - DF65E154752472424051E11B, - 576F07120DA4768B0CB14570, - 7120C1DA3DF4C3FE1E82AD0D, - 39A0C2C528E433AB151366CE, - 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 = ( - 23986EADB0FA1118A421AB50, - 148CD006F32196E97DB2E15F, - EE7FAEA30D9CE2164584A78A, - CE02BE1A0291F4C6C55DD14D, - 4D082B7993A7A8B7A84E5AA4, - 1BBE5A8CC950364880DE6DA1, - 481F5349D5FC0457C31ECCEB, - 09D41C26F44CB7D5AE9C3303, ); name = native; sourceTree = ""; }; - 2FE035201A22BC055E791509 = {isa = PBXGroup; children = ( - 11E41E38163B29A096760242, - F9AA32A6D2CD2C9600C49E58, - 0D3B940E483EED260C9233E8, - F7E869FCC6C7B5E60166E628, - FB1C700442C42DFDF562E24E, - E8BF6B3522E318AF306DB68D, - 3F23E79E8D215B53423F66EF, ); name = "juce_events"; sourceTree = ""; }; - F9847817E9BB5512AE44F69D = {isa = PBXGroup; children = ( - 687D3BEBD01B7089DA7EBAD1, - 84BDA14D7DC9213E854ACD09, - F234E0468AAAF83CC3181F58, - 0A5EA78978E6DAD9B563ED02, - 8740DC474D052F86D39902A7, - B021D4BF80511343AF4D9652, - F008D0FCAC412A662ACF8CE3, - 522EB405E3DDB9138DBB4704, - 23D167475E6FE0FAA20C55CD, ); name = colour; sourceTree = ""; }; - D1572B954DD1F694A3F2F6B9 = {isa = PBXGroup; children = ( - 49F2723942EAE756E456ECF9, - 9A24B551B171C6CE823CC0E5, - 002DBBBB1D4CAA23FF7991DD, - 70401CA75FB474FF0D1052E7, - 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 = ""; }; - 5422E92020E708C5C9AD48AB = {isa = PBXGroup; children = ( - 2AAAEBE53A14BA001544D40D, - 1A88388BE44AED2870102576, - 77BDC4AE92BEEEFA03C6C05D, - B233151970C7D711A52DF35B, - DE21CD502DCDD7D2934F72BB, - 8D4C070861B82AC3C9018A6D, - 4EB5C90296983797A68A25B7, - BADDBE325E0F54D65375A0E6, - 83A6706DABCA6472080498B5, - D8F87300D82C3F5E989A9011, - 1E471A2744F7DAA2E2746F59, - D0BBABAF387DC7B741787440, - 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 = ( - 36EBA0C5C75594F6432CAA0F, - EF5C5733F527839385058414, - E6C36657CECAF4AA1AD8558D, - AF7854B0FC7EB465C1A31A3B, - F038C05A3CE96C4713D2A1C2, - 74A2BEFDB54B8061082429CD, - 847246F31A8A11B09027094D, - B3CBFBDBA3189C6F33B4C980, - DFF18D2054F756B486247AF6, - FE207453DEB0158B218F1EEB, - 3D1B0F640AC066EDBE4FCA90, - 076628E712D4AD6AAA111947, - 0C0752466019BB68BD8A77AD, ); name = native; sourceTree = ""; }; - 03B60629C9CC9D1D5FC4272B = {isa = PBXGroup; children = ( - F9847817E9BB5512AE44F69D, - D1572B954DD1F694A3F2F6B9, - 372BE2FD5F53BE0867B3023B, - E36FF72E9ACA557159FF17DF, - 5422E92020E708C5C9AD48AB, - 20228E5F8C3C731001D0A5FC, - 7052E1E31883BD4DA5A9A70E, - D57E40A1961685032E00EBDD, - 5AFC1E3D3E4C607478ADEB41, - A6BC9FC87555B39B73778711, - 75321A674B370F32E25E4FBD, ); name = "juce_graphics"; sourceTree = ""; }; - DCE64BC7DA75227D26FEFF4D = {isa = PBXGroup; children = ( - 8522BED67A89A1DFEAE4FD54, - FA41FA5168778882CD66481B, - F4EF587736A179433A6784CA, - 388594124789651D112746E2, - 424EE6A1FC2ED9C33D5F25A4, - 845F400AE7591D486FD12323, - 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 = ( - 6D45A9F8D00AF9F3FBF43394, - C9D87BCB93AFB0E715801097, - 252D26C60E79A2C069E172E5, - A82DBA408269C87D418906BF, - EF2B4989E0D155EE1D678F08, - EB151DF44C739572E4BC1E16, - A6352E758302225B3893D9BC, - A0D33AB1C8AEDB4245670498, - B4EF43855D18382AC6F26A01, - 92306B69EF888E52654C7A26, - 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 = ( - FC847EE9B175571189CEB522, - 135B6889C5DB189F0BD5E5D5, - 85843AACDFA8061F182556AE, - A6C0EBBD5187121DDE0C45AE, - 2E216EC91202D5C65AE63F7D, - 2F0226716C7B97307DC10F14, - CD309FAA7F85CA991A489A08, - 1F08617D548E6203B649283C, - 9B06BBF43F6B0721E7616790, - B97AF825D9F4F24DF5751FB1, - A6A60C3C36A7788E8226E80D, - E42FD3B1912D5F551179D1DB, - 29565FA867CDE49665585AC3, - E1EFD62896E03997AD0B77AF, - DB130B7171062DA7585C54F9, - EED0A429D445855F953C216C, - CEBF81D1689753BB5F3FDBE6, - 5D9714FDF6CC158ED499F67A, - EC102CE64BE3F8AF1D3B720C, - 0881FC00E66C06A97AE5D44E, - C6D05CB8E473C762FB2FCD7F, - B5A05D33611D8BAC85D43C8C, - C80BA373E25BE1EBCA733FDF, - E84138DC7565FE1416315C8C, - A4C684C69EC69A6FCA57E4F8, - 9E801E5784DD299F44CCC555, - 5F652BEA513040A30DF9B82E, - E746C564E0175FB54090D87A, - 23F3CC2C225B17A90D900CD0, - 1F80940BD86054B4AA0369A6, - AF9CDD2400A6940A7E8DFE5F, - 5349789C9506EED7C8705BC1, - C3C6ED0B48A81623AAE57AFC, - 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 = ( - F6B60D635CDCF67189D36226, - DF0BF35672EB45AE2A8E0966, - 1693F25ED160AF15F12B1EDF, - 53F6ABA12780FECACEB5B595, - A13E91A475BACB16352E4536, - 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 = ( - 76DFDF2933729C113013EA3E, - 3D0A72C575B21608CC08323F, - 95EBA44CEF397A39E5A4FB18, - D408CA86079E3FE98FEAFF99, ); name = misc; sourceTree = ""; }; - FAFE45DB3117768DDB36C10B = {isa = PBXGroup; children = ( - 7C4B94E6E74999267FF81409, - 8B64303D4A4877BE3D9ECA23, ); name = application; sourceTree = ""; }; - FF33525A8F472392FB59EDCE = {isa = PBXGroup; children = ( - 0D8E6523CB4D0315377B874D, - 4C66A0301EF302CE34C09C92, - 87F84688081C0FAAF3BB8BE1, - 7CB98E68960B2BB58EE8A903, - F99DE3F007FFF9F697C63849, - 00643E30A5A0B008BE0F35CA, - FDC95CF6C957C43FF646C7DA, - 4432F3C2A9B250C270BC8C98, - 9287FEB418423DF0B158B3BB, - FBA615F612FB406896AEFE5E, - CD58F563ABCAA111263D8255, - 87F331B36CC2CA9730B478D3, - A2B7929C90425363F8F88BD0, - BCC009DED67EBAE7E35C74DE, - E853BEF233C01DBAFE0DDD63, - A4D41578D2FC92EBF6D6157F, ); name = native; sourceTree = ""; }; - DC7A247CC600A1D363C7E386 = {isa = PBXGroup; children = ( - DCE64BC7DA75227D26FEFF4D, - 14FC85DB4914D81BFBFBD76E, - E5C9AB6C3BBCB8C77E074B9C, - F3E951F87E31E5EF048AAE41, - EE0090F4548A821EE653E4CD, - 29473F02ECE1905E01BEB82A, - 694D48159B04EAE4F7521F78, - 2C4FD197868903FA32A10559, - 35E72F0F5305CCDA027D8FD0, - 5CBE527B5452FBD68EF69F25, - 0E9D9BA8DBBC6609F085ED08, - 9454110AC9CFB425E28985EA, - 2E79909678FCA63C13A6342E, - D93EB826B373D2EF3A582BF6, - 15F986546C5C25997A7B0342, - FAFE45DB3117768DDB36C10B, - FF33525A8F472392FB59EDCE, - 53111224BD873CB59FD4E6AD, - BF1DED2E1BA1C076425B8CA0, ); name = "juce_gui_basics"; sourceTree = ""; }; - 908BC53083FC3B9D6BB417EE = {isa = PBXGroup; children = ( - 55B57622C00BFCBD2B2AC3AD, - A1697BA9955319A199576BC6, - 94F9D3988E9B53DA9BC5F37B, - 4B6C721DBA89F46FB5134D7E, - B0BDEB05BCB1301C1931075B, - 1C3DEE2DA57222B58398ADB2, - D7402ACDB1AAA5A345B61529, - FE3743EE4D35B41B46F938D2, - 325027EE270BBF650E805564, - 9ED8CA84B312E34694E2A6AE, - E2A4A21072EC5C3AF96939AF, - 27642EB0181BACE6A55FA013, ); name = "code_editor"; sourceTree = ""; }; - 9D7A116479131A33668EB9E0 = {isa = PBXGroup; children = ( - 02570D7EEA9EECE2355D09A2, - 975DC4180E69ABD56CFBD45B, ); name = documents; sourceTree = ""; }; - 29DA925FB1C79A3D2F60DD2C = {isa = PBXGroup; children = ( - 9123CC1339B2671E33A3BF0C, - 07304207015792AD04B49951, - 47F996A2BA101821A84B1294, ); name = embedding; sourceTree = ""; }; - EEC35FA255E758C24F5C3887 = {isa = PBXGroup; children = ( - 405855C9B41EB9CAC7DDDD17, - 77DA69E8D9174B38C4F330EF, - 76053E841EC59CD6923EF248, - 0165787521D72C0F5D608B29, - 1DD6065C0B6DFD88EA23F7D4, - 391E4320D4B26E7C1D1E77BD, - 34CDFC07974C484C788CCEF3, - 0E4DE3F2A6C3A5DF58A717DA, - 2A5FD9B8CEF55D9CB0BD863F, - FFA933744B1A866F8733BA0C, - B6AC3B42995EFACA5218BBCC, - 2BC851F3F90C739945A358E9, - 98249E2CE3DB75CC7E110B95, - 12DCC9E84F6D9B4191F0059E, - E41EFBEDF1FCC35FA46E0758, - 5C2CB310BBE49D88B96FDEF0, - F7ACBF56597C2D60F4795F64, - 063919C782AAE385A7A829A1, - 5A2CA150FB56C7A955847790, - 8D0FED07A31C8C9F84ECDAD8, ); name = misc; sourceTree = ""; }; - CEFBCB523E84D6B602487BFB = {isa = PBXGroup; children = ( - 12ACB548CCAA9C20A91F671A, - C63E20DAEDFA5299CE44D5B4, - F966FD65D75BE3D11D0C5FF6, - ADE8A1AFA8463F99F681D830, - 9D50273101DC464219A633AC, - F242D93EC6CECD96C182FFEC, - ECDBA884241B6AAA334E0D23, - F10DC52CBB1B254FC223A215, - 4B3B9FF56E20E06A7CCA6EBD, - E3432D2DC4E51EA2B58C49F8, - 9FED900E158DF7D8CD3C3157, - C6E0CA97537C58A56F34EA44, ); name = native; sourceTree = ""; }; - F15DB15FFB9331BA2613D133 = {isa = PBXGroup; children = ( - 908BC53083FC3B9D6BB417EE, - 9D7A116479131A33668EB9E0, - 29DA925FB1C79A3D2F60DD2C, - EEC35FA255E758C24F5C3887, - CEFBCB523E84D6B602487BFB, - C6072BB69D5A3F12142BC115, - B3345A12095B5451B31BC2B9, ); name = "juce_gui_extra"; sourceTree = ""; }; - 0C071A8378C82B49A8B5C3F5 = {isa = PBXGroup; children = ( - 95166B9DCE9F8F0C5704AAFB, - 1768D1D4C1D416203C163E00, - 9915F52C7A0F1EB8A2C19B55, - 3F73AB01E7AFDF8672EF6E53, - B0C68D7A03725EB5C4D6B2F5, - 7257482194FCB2E6510D816C, - 231871077A08BA845DA197F3, - 511C8FD7DF51C5D0ECA87751, - A808793AE99B03FF99E3FADA, - 398F6C198EC4DB253F24A2ED, - 445B50E2E1C2C48FC9C938CE, - 4A150B258184228CDB6E3065, - 7A5F3AA95E30A442F123B2C0, - 1D6DA0212DB2562D54FE2E33, - E8859539419AFAB74AD0E592, - 3C5EB4E00CDBA4EAE7C96902, - EEAA56CA1D734C607F3CDDA8, ); name = opengl; sourceTree = ""; }; - D25566AFCC8A2DC64ECC7C4A = {isa = PBXGroup; children = ( - 1F9EF1E392691DF9CC82A715, - D424D907C93822CBBABB39D4, - 208C1446FD1A325C1AB92D7B, - 1E566116CD030074BE41AE7C, ); name = geometry; sourceTree = ""; }; - C77A8EF5C52BD85E7C709F21 = {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, - 9DA161A15B4C68C62A63A0D1, ); name = "juce_opengl"; sourceTree = ""; }; - DFC0B79DDB8F8248544C34F8 = {isa = PBXGroup; children = ( - 90054A29105E825D9737130B, - 80A4083D5F12CF76E89D3772, ); name = playback; sourceTree = ""; }; - 61DD27E50054ABB8A4C4B8EA = {isa = PBXGroup; children = ( - 1E1A13BFC2C3B8C2F85EEED5, - 6E515F0982E797C04C1B4612, ); name = capture; sourceTree = ""; }; - CCE2EB560C10174C66B79CAC = {isa = PBXGroup; children = ( - C0624E7928A6685285622AA2, - 24F636F42CCC4684B24491B2, - 16DA36707AE772CAA1B6810E, - DB3CD0B067F5FABA895758A1, - E2867ABC0D315CD6C4239554, - 77831CE7DF0F7C089A0E8EC9, ); name = native; sourceTree = ""; }; - 73ECFA6363C272906389BC2F = {isa = PBXGroup; children = ( - DFC0B79DDB8F8248544C34F8, - 61DD27E50054ABB8A4C4B8EA, - CCE2EB560C10174C66B79CAC, - 676612F907956EE00D5C9856, - 4DB650E1059524F73A732BC1, ); name = "juce_video"; sourceTree = ""; }; - 38592324982B511EF7CF4FE1 = {isa = PBXGroup; children = ( - 6D6BD190E0292674F39E8980, - 6FA8D51AF51DE1C29574C6FE, - B0157000DB5FEB5AF75E4F9E, - AB48A58D44AEFCA3F21E8D14, - B41158B4484EA0875E08A9DA, - A8FC72E4F19FEC8B91E632C8, - 0FF7D030BAE4E164EAF53EED, - E97E404EBE9BAAE69CF6EBF1, - 2FE035201A22BC055E791509, - 03B60629C9CC9D1D5FC4272B, - DC7A247CC600A1D363C7E386, - F15DB15FFB9331BA2613D133, - 9A05C793DA07104EA1F82DD2, - 73ECFA6363C272906389BC2F, ); name = "Juce Modules"; sourceTree = ""; }; - 8FD50932910B01056900DB55 = {isa = PBXGroup; children = ( - 0364DE831A6E6B4B0A83D3D1, - 38E1ABBD84C884FA0415656D, - 832DA01918B8312FEC0909CB, - 9A95B88EAC68EEDBB4A6EA80, - 08DC2C6ABC78DEA6ADDA07C7, - E121AC6E7E98A5CAFDA979A5, - 25B67ED795BC11D69805D4A8, - C6CE8E894E9EF9F77754F88C, - 6EC90B8CF8A53493F8D3AA92, - EA74FE68F55905DCC00E5F9B, - 81D922DED89925E8726146B5, - AB53E74A974E246BF80A79E6, - 24F5F702BEEE4A103E7100C3, - 06993C00B6249E3DA3F7E3DD, - 84BAC21CF2D5009634F00330, - FE31FF67DA4B994486AF30B5, ); name = "Juce Library Code"; sourceTree = ""; }; - 43FDB2C2DEB73A9729490F71 = {isa = PBXGroup; children = ( - 365B29176E55C070CD0A9F5A, - 563C94CB5AD0F745076DF69B, ); name = Resources; sourceTree = ""; }; - 27CABD79CAE4AAD868B6F6AE = {isa = PBXGroup; children = ( - D8FF2E14B072C8B9544C95BF, - C64527E74752ECF0B056A9F5, - 90E350DA6DF0535788EDA0C7, - AE90B98838251D28244F281D, - 87D653D986B3CB91809A6AA1, - FC7EF3CDEE50B555E15E362D, - DCC6CD0D96DF5D56628DC513, - CD39F20F8A8273B62632EBCC, - D69B16D06E21D1FBEA756A3D, - 2F9C29AEE0C8D4BE771F59A8, - 32C1BC49BCC54FEED453CFD0, - AB17BDF654E684FC179BB7DD, - A373D65BDAB25C19EC6A05AE, ); name = Frameworks; sourceTree = ""; }; - D2EAA17C8503A297B197A159 = {isa = PBXGroup; children = ( - F2F5F067109EB7C9537DD9AD, ); name = Products; sourceTree = ""; }; - 9F958921F12E7C784E909D34 = {isa = PBXGroup; children = ( - C69BCE512948465235B05858, - 38592324982B511EF7CF4FE1, - 8FD50932910B01056900DB55, - 43FDB2C2DEB73A9729490F71, - 27CABD79CAE4AAD868B6F6AE, - D2EAA17C8503A297B197A159, ); name = Source; sourceTree = ""; }; - 13DD017E82BE73DE17E3061F = {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; - HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; - SDKROOT_ppc = macosx10.5; }; name = Debug; }; - 8A3A5202D74C4ED05D01A48C = {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; - HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; - SDKROOT_ppc = macosx10.5; }; name = Release; }; - FEF5C4C4E770A72077867343 = {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; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "ExpressiveMidiTest"; - WARNING_CFLAGS = -Wreorder; - ZERO_LINK = NO; }; name = Debug; }; - 40FE0A8C9EA53BF7A25086B3 = {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 = "ExpressiveMidiTest"; - WARNING_CFLAGS = -Wreorder; - ZERO_LINK = NO; }; name = Release; }; - 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 = ( - B911480598E3B26D6C5CD121, ); runOnlyForDeploymentPostprocessing = 0; }; - C6DDDDC410B54D1BB911DCE8 = {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 = ( - CE2807371257B52B1D2B06E0, - 189A987224B9646B9AA0D399, - 354BBD7645C4F76503133A20, - C568BD20102D15116F05E6D4, - A3BEED6474CF4D29FB8CA568, - 62B45B3673D1655B7418C1E6, - 02EF462BC2B7477532926CB4, - 5C9DA179BB22AE2F8A500E54, - 06DE20E82AAD9548CAFD1E56, - 98683F976996F65C9839FF5B, - 9A24423E8EB4E7B5AA0FD499, - 88E739BEDD7197917839D7C6, - 8489C516E3B50AC1AF94A2B7, ); runOnlyForDeploymentPostprocessing = 0; }; - 3F4BE438A23C638EFAB20578 = {isa = PBXNativeTarget; buildConfigurationList = EC2B3731DA5499850A21A4DA; buildPhases = ( - 26CE613F6C9512DE5B5EA90A, - C6DDDDC410B54D1BB911DCE8, - 2757C15324B1437EA7429DA4, ); buildRules = ( ); dependencies = ( ); name = ExpressiveMidiTest; productName = ExpressiveMidiTest; 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 ); }; - }; - rootObject = 9606743A47FFF871B775B1AB; -} diff --git a/examples/ExpressiveMidiTest/Builds/MacOSX/Info.plist b/examples/ExpressiveMidiTest/Builds/MacOSX/Info.plist deleted file mode 100644 index cfe120f9..00000000 --- a/examples/ExpressiveMidiTest/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.ExpressiveMidiTest - CFBundleName - ExpressiveMidiTest - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - - diff --git a/examples/ExpressiveMidiTest/Builds/VisualStudio2015/ExpressiveMidiTest.sln b/examples/ExpressiveMidiTest/Builds/VisualStudio2015/ExpressiveMidiTest.sln deleted file mode 100644 index 34d3241d..00000000 --- a/examples/ExpressiveMidiTest/Builds/VisualStudio2015/ExpressiveMidiTest.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2015 -Project("{DD2CC1DB-1ED9-B756-AC06-88E9916DBFEF}") = "ExpressiveMidiTest", "ExpressiveMidiTest.vcxproj", "{160A79F2-5429-4B16-BB1A-9F5761EFACD4}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {160A79F2-5429-4B16-BB1A-9F5761EFACD4}.Debug|Win32.ActiveCfg = Debug|Win32 - {160A79F2-5429-4B16-BB1A-9F5761EFACD4}.Debug|Win32.Build.0 = Debug|Win32 - {160A79F2-5429-4B16-BB1A-9F5761EFACD4}.Release|Win32.ActiveCfg = Release|Win32 - {160A79F2-5429-4B16-BB1A-9F5761EFACD4}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/examples/ExpressiveMidiTest/Builds/VisualStudio2015/ExpressiveMidiTest.vcxproj b/examples/ExpressiveMidiTest/Builds/VisualStudio2015/ExpressiveMidiTest.vcxproj deleted file mode 100644 index 17a2d36b..00000000 --- a/examples/ExpressiveMidiTest/Builds/VisualStudio2015/ExpressiveMidiTest.vcxproj +++ /dev/null @@ -1,1806 +0,0 @@ - - - - - - Debug - Win32 - - - Release - Win32 - - - - {160A79F2-5429-4B16-BB1A-9F5761EFACD4} - v140 - - - - Application - false - v140 - - - Application - false - true - v140 - - - - - - - - v140 - - - <_ProjectFileVersion>10.0.30319.1 - ExpressiveMidiTest - true - ExpressiveMidiTest - true - v140 - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Disabled - EditAndContinue - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) - MultiThreadedDebug - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - _DEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\ExpressiveMidiTest.exe - true - libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) - true - $(IntDir)\ExpressiveMidiTest.pdb - Windows - MachineX86 - false - true - - - true - $(IntDir)\ExpressiveMidiTest.bsc - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Full - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) - MultiThreaded - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - NDEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\ExpressiveMidiTest.exe - true - %(IgnoreSpecificDefaultLibraries) - false - $(IntDir)\ExpressiveMidiTest.pdb - Windows - MachineX86 - true - true - true - - - true - $(IntDir)\ExpressiveMidiTest.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 - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - 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/ExpressiveMidiTest/Builds/VisualStudio2015/ExpressiveMidiTest.vcxproj.filters b/examples/ExpressiveMidiTest/Builds/VisualStudio2015/ExpressiveMidiTest.vcxproj.filters deleted file mode 100644 index 9cc47d82..00000000 --- a/examples/ExpressiveMidiTest/Builds/VisualStudio2015/ExpressiveMidiTest.vcxproj.filters +++ /dev/null @@ -1,3089 +0,0 @@ - - - - - - {7D43BCF4-9D0B-D7C7-73A4-6AE2F10B9DC5} - - - {0948021C-0DAF-A3AF-D265-E3DF8B94B0C6} - - - {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} - - - {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} - - - {B48C883A-8483-AF6D-808C-1D9A749048D8} - - - {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} - - - - - ExpressiveMidiTest\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\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\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\gui - - - Juce Modules\juce_audio_utils\players - - - Juce Modules\juce_audio_utils\native - - - Juce Modules\juce_audio_utils\native - - - Juce Modules\juce_audio_utils\native - - - Juce Modules\juce_audio_utils\native - - - 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_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_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 - - - - - ExpressiveMidiTest\Source - - - ExpressiveMidiTest\Source - - - ExpressiveMidiTest\Source - - - ExpressiveMidiTest\Source - - - 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\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\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\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\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_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_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/ExpressiveMidiTest/Builds/VisualStudio2015/resources.rc b/examples/ExpressiveMidiTest/Builds/VisualStudio2015/resources.rc deleted file mode 100644 index 25875b0b..00000000 --- a/examples/ExpressiveMidiTest/Builds/VisualStudio2015/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", "ExpressiveMidiTest\0" - VALUE "FileVersion", "1.0.0\0" - VALUE "ProductName", "ExpressiveMidiTest\0" - VALUE "ProductVersion", "1.0.0\0" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif diff --git a/examples/ExpressiveMidiTest/ExpressiveMidiTest.jucer b/examples/ExpressiveMidiTest/ExpressiveMidiTest.jucer deleted file mode 100644 index 3b2cb8bc..00000000 --- a/examples/ExpressiveMidiTest/ExpressiveMidiTest.jucer +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/ExpressiveMidiTest/JuceLibraryCode/AppConfig.h b/examples/ExpressiveMidiTest/JuceLibraryCode/AppConfig.h deleted file mode 100644 index 8c9d6b41..00000000 --- a/examples/ExpressiveMidiTest/JuceLibraryCode/AppConfig.h +++ /dev/null @@ -1,210 +0,0 @@ -/* - - IMPORTANT! This file is auto-generated each time you save your - 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. - - Any commented-out settings will assume their default values. - -*/ - -#ifndef __JUCE_APPCONFIG_IILE7R__ -#define __JUCE_APPCONFIG_IILE7R__ - -//============================================================================== -// [BEGIN_USER_CODE_SECTION] - -// (You can add your own code in this section, and the Introjucer will not overwrite it) - -// [END_USER_CODE_SECTION] - -//============================================================================== -#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 -#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 -#define JUCE_MODULE_AVAILABLE_juce_audio_formats 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 1 -#endif - -//============================================================================== -// juce_audio_devices flags: - -#ifndef JUCE_ASIO - //#define JUCE_ASIO -#endif - -#ifndef JUCE_WASAPI - //#define JUCE_WASAPI -#endif - -#ifndef JUCE_WASAPI_EXCLUSIVE - //#define JUCE_WASAPI_EXCLUSIVE -#endif - -#ifndef JUCE_DIRECTSOUND - //#define JUCE_DIRECTSOUND -#endif - -#ifndef JUCE_ALSA - //#define JUCE_ALSA -#endif - -#ifndef JUCE_JACK - //#define JUCE_JACK -#endif - -#ifndef JUCE_USE_ANDROID_OPENSLES - //#define JUCE_USE_ANDROID_OPENSLES -#endif - -#ifndef JUCE_USE_CDREADER - //#define JUCE_USE_CDREADER -#endif - -#ifndef JUCE_USE_CDBURNER - //#define JUCE_USE_CDBURNER -#endif - -//============================================================================== -// juce_audio_formats flags: - -#ifndef JUCE_USE_FLAC - //#define JUCE_USE_FLAC -#endif - -#ifndef JUCE_USE_OGGVORBIS - //#define JUCE_USE_OGGVORBIS -#endif - -#ifndef JUCE_USE_MP3AUDIOFORMAT - //#define JUCE_USE_MP3AUDIOFORMAT -#endif - -#ifndef JUCE_USE_LAME_AUDIO_FORMAT - //#define JUCE_USE_LAME_AUDIO_FORMAT -#endif - -#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT - //#define JUCE_USE_WINDOWS_MEDIA_FORMAT -#endif - -//============================================================================== -// juce_audio_processors flags: - -#ifndef JUCE_PLUGINHOST_VST - //#define JUCE_PLUGINHOST_VST -#endif - -#ifndef JUCE_PLUGINHOST_VST3 - //#define JUCE_PLUGINHOST_VST3 -#endif - -#ifndef JUCE_PLUGINHOST_AU - //#define JUCE_PLUGINHOST_AU -#endif - -//============================================================================== -// juce_core flags: - -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG -#endif - -#ifndef JUCE_LOG_ASSERTIONS - //#define JUCE_LOG_ASSERTIONS -#endif - -#ifndef JUCE_CHECK_MEMORY_LEAKS - //#define JUCE_CHECK_MEMORY_LEAKS -#endif - -#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES - //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES -#endif - -#ifndef JUCE_INCLUDE_ZLIB_CODE - //#define JUCE_INCLUDE_ZLIB_CODE -#endif - -#ifndef JUCE_USE_CURL - //#define JUCE_USE_CURL -#endif - -//============================================================================== -// juce_graphics flags: - -#ifndef JUCE_USE_COREIMAGE_LOADER - //#define JUCE_USE_COREIMAGE_LOADER -#endif - -#ifndef JUCE_USE_DIRECTWRITE - //#define JUCE_USE_DIRECTWRITE -#endif - -//============================================================================== -// juce_gui_basics flags: - -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING - //#define JUCE_ENABLE_REPAINT_DEBUGGING -#endif - -#ifndef JUCE_USE_XSHM - //#define JUCE_USE_XSHM -#endif - -#ifndef JUCE_USE_XRENDER - //#define JUCE_USE_XRENDER -#endif - -#ifndef JUCE_USE_XCURSOR - //#define JUCE_USE_XCURSOR -#endif - -//============================================================================== -// juce_gui_extra flags: - -#ifndef JUCE_WEB_BROWSER - //#define JUCE_WEB_BROWSER -#endif - -#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR - //#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 -#endif - -#ifndef JUCE_USE_CAMERA - //#define JUCE_USE_CAMERA -#endif - - -#endif // __JUCE_APPCONFIG_IILE7R__ diff --git a/examples/ExpressiveMidiTest/JuceLibraryCode/JuceHeader.h b/examples/ExpressiveMidiTest/JuceLibraryCode/JuceHeader.h deleted file mode 100644 index 0c7c8712..00000000 --- a/examples/ExpressiveMidiTest/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_IILE7R__ -#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" - -#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 = "ExpressiveMidiTest"; - const char* const versionString = "1.0.0"; - const int versionNumber = 0x10000; -} -#endif - -#endif // __APPHEADERFILE_IILE7R__ diff --git a/examples/ExpressiveMidiTest/JuceLibraryCode/ReadMe.txt b/examples/ExpressiveMidiTest/JuceLibraryCode/ReadMe.txt deleted file mode 100644 index f6c3564e..00000000 --- a/examples/ExpressiveMidiTest/JuceLibraryCode/ReadMe.txt +++ /dev/null @@ -1,12 +0,0 @@ - - Important Note!! - ================ - -The purpose of this folder is to contain files that are auto-generated by the Introjucer, -and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer 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). diff --git a/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea81..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583db..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h deleted file mode 100644 index bb997d30..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f93..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f47..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd9..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b72..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index 718392ff..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/ExpressiveMidiTest/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 0dd1636e..00000000 --- a/examples/ExpressiveMidiTest/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/ExpressiveMidiTest/Source/Main.cpp b/examples/ExpressiveMidiTest/Source/Main.cpp deleted file mode 100644 index 3c116221..00000000 --- a/examples/ExpressiveMidiTest/Source/Main.cpp +++ /dev/null @@ -1,92 +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" - -struct ExpressiveMidiTestClasses -{ - #include "Setup.h" - #include "Synth.h" - #include "Visualiser.h" - #include "MainComponent.h" -}; - - -//============================================================================== -class ExpressiveMidiTestApplication : public JUCEApplication -{ -public: - //========================================================================== - ExpressiveMidiTestApplication() {} - - 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 - { - mainWindow = new MainWindow (getApplicationName()); - } - - void shutdown() override - { - mainWindow = nullptr; - } - - void systemRequestedQuit() override - { - quit(); - } - - //========================================================================== - class MainWindow : public DocumentWindow - { - public: - MainWindow (String name) - : DocumentWindow (name, Colours::lightgrey, DocumentWindow::allButtons) - { - setUsingNativeTitleBar (true); - setContentOwned (new ExpressiveMidiTestClasses::MainComponent(), true); - - centreWithSize (getWidth(), getHeight()); - setVisible (true); - } - - void closeButtonPressed() override - { - JUCEApplication::getInstance()->systemRequestedQuit(); - } - private: - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow) - }; - -private: - //========================================================================== - ScopedPointer mainWindow; -}; - -//============================================================================== -START_JUCE_APPLICATION (ExpressiveMidiTestApplication) diff --git a/examples/ExpressiveMidiTest/Source/MainComponent.h b/examples/ExpressiveMidiTest/Source/MainComponent.h deleted file mode 100644 index 98070993..00000000 --- a/examples/ExpressiveMidiTest/Source/MainComponent.h +++ /dev/null @@ -1,146 +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 MAINCOMPONENT_H_INCLUDED -#define MAINCOMPONENT_H_INCLUDED - -//============================================================================== -class MainComponent : public Component, - private AudioIODeviceCallback, - private MidiInputCallback, - private ZoneLayoutComponent::Listener -{ -public: - //========================================================================== - MainComponent() - : audioSetupComp (audioDeviceManager, 0, 0, 0, 256, true, true, true, false) - { - setLookAndFeel (&lookAndFeel); - setSize (880, 670); - audioDeviceManager.initialise (0, 2, 0, true, String::empty, 0); - audioDeviceManager.addMidiInputCallback(String::empty, this); - audioDeviceManager.addAudioCallback (this); - - addAndMakeVisible (audioSetupComp); - addAndMakeVisible (expressiveMidiSetupComp); - addAndMakeVisible (zoneLayoutComp); - addAndMakeVisible (visualiserViewport); - - visualiserViewport.setScrollBarsShown (false, true); - visualiserViewport.setViewedComponent (&visualiserComp, false); - visualiserViewport.setViewPositionProportionately (0.5, 0.0); - - expressiveMidiSetupComp.addListener (&zoneLayoutComp); - expressiveMidiSetupComp.addListener (this); - visualiserInstrument.addListener (&visualiserComp); - } - - ~MainComponent() - { - audioDeviceManager.removeMidiInputCallback (String::empty, this); - } - - //========================================================================== - void resized() override - { - const int visualiserCompWidth = 2800; - const int visualiserCompHeight = 300; - const int zoneLayoutCompHeight = 60; - const float audioSetupCompRelativeWidth = 0.6f; - - Rectangle r (getLocalBounds()); - - visualiserViewport.setBounds (r.removeFromBottom (visualiserCompHeight)); - visualiserComp.setBounds (Rectangle (visualiserCompWidth, - visualiserViewport.getHeight() - visualiserViewport.getScrollBarThickness())); - - zoneLayoutComp.setBounds (r.removeFromBottom (zoneLayoutCompHeight)); - audioSetupComp.setBounds (r.removeFromLeft (proportionOfWidth (audioSetupCompRelativeWidth))); - expressiveMidiSetupComp.setBounds (r); - } - - //========================================================================== - void audioDeviceIOCallback (const float** inputChannelData, int numInputChannels, - float** outputChannelData, int numOutputChannels, - int numSamples) override - { - AudioBuffer buffer (outputChannelData, numOutputChannels, numSamples); - buffer.clear(); - - MidiBuffer incomingMidi; - midiCollector.removeNextBlockOfMessages (incomingMidi, numSamples); - synth.renderNextBlock (buffer, incomingMidi, 0, numSamples); - } - - void audioDeviceAboutToStart (AudioIODevice* device) override - { - const double sampleRate = device->getCurrentSampleRate(); - midiCollector.reset (sampleRate); - synth.setCurrentPlaybackSampleRate (sampleRate); - } - - void audioDeviceStopped() override - { - } - -private: - //========================================================================== - void handleIncomingMidiMessage (MidiInput* /*source*/, - const MidiMessage& message) override - { - visualiserInstrument.processNextMidiEvent (message); - midiCollector.addMessageToQueue (message); - } - - //========================================================================== - void expressiveMidiZoneLayoutChanged (ExpressiveMidiZoneLayout newLayout) override - { - MidiOutput* midiOutput = audioDeviceManager.getDefaultMidiOutput(); - if (midiOutput != nullptr) - midiOutput->sendBlockOfMessagesNow (ExpressiveMidiMessages::setZoneLayout (newLayout)); - - visualiserInstrument.setZoneLayout (newLayout); - synth.setZoneLayout (newLayout); - } - - //========================================================================== - LookAndFeel_V3 lookAndFeel; - AudioDeviceManager audioDeviceManager; - AudioDeviceSelectorComponent audioSetupComp; - ExpressiveMidiSetupComponent expressiveMidiSetupComp; - ZoneLayoutComponent zoneLayoutComp; - - Visualiser visualiserComp; - Viewport visualiserViewport; - ExpressiveMidiInstrument visualiserInstrument; - - DemoSynth synth; - MidiMessageCollector midiCollector; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainComponent) -}; - - -#endif // MAINCOMPONENT_H_INCLUDED diff --git a/examples/ExpressiveMidiTest/Source/Setup.h b/examples/ExpressiveMidiTest/Source/Setup.h deleted file mode 100644 index 92f04f34..00000000 --- a/examples/ExpressiveMidiTest/Source/Setup.h +++ /dev/null @@ -1,265 +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 SETUP_H_INCLUDED -#define SETUP_H_INCLUDED - -//============================================================================== -struct Utilities -{ - static Colour getZoneColour (int index) noexcept - { - return Colours::red; // TIMUR TODO: use different colours for different zones! - } - -}; - -//============================================================================== -class ExpressiveMidiSetupComponent : public Component, - public ChangeBroadcaster, - private Button::Listener -{ -public: - //========================================================================== - ExpressiveMidiSetupComponent() - : masterChannelLabel (String::empty, "Master channel:"), - noteChannelsLabel (String::empty, "Nr. of note channels:"), - masterPitchbendRangeLabel (String::empty, "Master pitchbend range (semitones):"), - notePitchbendRangeLabel (String::empty, "Note pitchbend range (semitones):"), - addZoneButton ("Add this zone"), - clearAllZonesButton ("Clear all zones") - { - - initialiseComboBoxWithConsecutiveIntegers (masterChannel, masterChannelLabel, 1, 15, defaultMasterChannel); - initialiseComboBoxWithConsecutiveIntegers (noteChannels, noteChannelsLabel, 1, 15, defaultNoteChannels); - initialiseComboBoxWithConsecutiveIntegers (masterPitchbendRange, masterPitchbendRangeLabel, 0, 96, defaultMasterPitchbendRange); - initialiseComboBoxWithConsecutiveIntegers (notePitchbendRange, notePitchbendRangeLabel, 0, 96, defaultNotePitchbendRange); - - initialiseTextButton (addZoneButton); - initialiseTextButton (clearAllZonesButton); - } - - //========================================================================== - void resized() override - { - Rectangle r (proportionOfWidth (0.65f), 15, proportionOfWidth (0.25f), 3000); - const int h = 24; - const int space = h / 4; - - masterChannel.setBounds (r.removeFromTop (h)); - r.removeFromTop (space); - noteChannels.setBounds (r.removeFromTop (h)); - r.removeFromTop (space); - masterPitchbendRange.setBounds (r.removeFromTop (h)); - r.removeFromTop (space); - notePitchbendRange.setBounds (r.removeFromTop (h)); - - r.removeFromTop (18); - r.setLeft (proportionOfWidth (0.5f)); - - addZoneButton.setBounds (r.removeFromTop (h)); - r.removeFromTop (space); - clearAllZonesButton.setBounds (r.removeFromTop (h)); - } - - //========================================================================== - class Listener - { - public: - virtual ~Listener() {} - virtual void expressiveMidiZoneLayoutChanged (ExpressiveMidiZoneLayout newLayout) = 0; - }; - - void addListener (Listener* listenerToAdd) - { - listeners.add (listenerToAdd); - - if (zoneLayout.getNumZones() > 0) - // make the new listener immediately aware of current zone layout - listenerToAdd->expressiveMidiZoneLayoutChanged (zoneLayout); - } - - void removeListener (Listener* listenerToRemove) - { - listeners.remove (listenerToRemove); - } - -private: - //========================================================================== - void initialiseComboBoxWithConsecutiveIntegers (ComboBox& comboBox, Label& labelToAttach, int firstValue, int numValues, int valueToSelect) - { - addAndMakeVisible (comboBox); - - for (int i = 0; i < numValues; ++i) - comboBox.addItem (String (i + firstValue), i + 1); - - comboBox.setSelectedId (valueToSelect - firstValue + 1); - labelToAttach.attachToComponent (&comboBox, true); - } - - //========================================================================== - void initialiseTextButton (TextButton& button) - { - addAndMakeVisible (button); - button.addListener (this); - } - - //========================================================================== - void buttonClicked (Button* button) override - { - if (button == &addZoneButton) - addZoneButtonClicked(); - else if (button == &clearAllZonesButton) - clearAllZonesButtonClicked(); - } - - //========================================================================== - void addZoneButtonClicked() - { - if (selectedZoneParametersValid()) - { - ExpressiveMidiZone newZone (masterChannel.getText().getIntValue(), - noteChannels.getText().getIntValue(), - notePitchbendRange.getText().getIntValue(), - masterPitchbendRange.getText().getIntValue()); - - zoneLayout.addZone (newZone); - listeners.call (&Listener::expressiveMidiZoneLayoutChanged, zoneLayout); - } - else - { - handleInvalidNrOfNoteChannels(); - } - } - - //========================================================================== - void clearAllZonesButtonClicked() - { - zoneLayout.clearAllZones(); - listeners.call (&Listener::expressiveMidiZoneLayoutChanged, zoneLayout); - } - - //========================================================================== - bool selectedZoneParametersValid() const - { - int maxPossibleNumNoteChannels = 16 - masterChannel.getText().getIntValue(); - return noteChannels.getText().getIntValue() <= maxPossibleNumNoteChannels; - } - - //========================================================================== - void handleInvalidNrOfNoteChannels() const - { - AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, - "Invalid zone layout", - "Cannot create Expressive MIDI zone:\n" - "Invalid zone parameters selected!", - "Got it"); - } - - //========================================================================== - ExpressiveMidiZoneLayout zoneLayout; - ComboBox masterChannel, noteChannels, masterPitchbendRange, notePitchbendRange; - Label masterChannelLabel, noteChannelsLabel, masterPitchbendRangeLabel, notePitchbendRangeLabel; - TextButton addZoneButton, clearAllZonesButton; - ListenerList listeners; - - const int defaultMasterChannel = 1, defaultNoteChannels = 15, - defaultMasterPitchbendRange = 2, defaultNotePitchbendRange = 48; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ExpressiveMidiSetupComponent) - -}; - - -//============================================================================== -class ZoneLayoutComponent : public Component, - public ExpressiveMidiSetupComponent::Listener -{ -public: - //========================================================================== - void paint (Graphics& g) override - { - g.setColour (Colours::black); - float channelWidth = getChannelRectangleWidth(); - - for (int i = 0; i < numMidiChannels; ++i) - { - float x = float (i) * channelWidth; - Rectangle channelArea (x, 0.0f, channelWidth, getHeight()); - - Line line (x, 0.0f, x, float (getHeight())); - g.drawLine (line); - g.drawText (String (i + 1), channelArea.reduced (4, 4), Justification::topLeft, false); - } - - paintZones (g); - } - - //========================================================================== - void paintZones (Graphics& g) - { - float channelWidth = getChannelRectangleWidth(); - - for (int i = 0; i < zoneLayout.getNumZones(); ++i) - { - ExpressiveMidiZone zone = zoneLayout.getZone (i); - Rectangle zoneRect (getChannelRectangleWidth() * (zone.getMasterChannel() - 1), 0, - getChannelRectangleWidth() * (zone.getNumNoteChannels() + 1), getHeight()); - zoneRect.removeFromTop (20); - - g.setColour (Utilities::getZoneColour (i).withAlpha (0.3f)); - g.fillRect (zoneRect.withWidth (channelWidth)); - - g.setColour (Utilities::getZoneColour (i)); - g.drawRect (zoneRect, 3); - g.drawText ("<>" + String (zone.getPerNotePitchbendRange()), zoneRect.withTrimmedLeft (channelWidth).reduced (4, 4), Justification::bottomLeft, false); - - g.setColour (Colours::black); - g.drawText ("ZONE " + String (i + 1), zoneRect.reduced (4, 4), Justification::topLeft, false); - g.drawText ("<>" + String (zone.getMasterPitchbendRange()), zoneRect.reduced (4, 4), Justification::bottomLeft, false); - } - } - - //========================================================================== - void expressiveMidiZoneLayoutChanged (ExpressiveMidiZoneLayout newLayout) override - { - zoneLayout = newLayout; - repaint(); - } - -private: - //========================================================================== - float getChannelRectangleWidth() const noexcept - { - return float (getWidth()) / numMidiChannels; - } - - //========================================================================== - ExpressiveMidiZoneLayout zoneLayout; - const int numMidiChannels = 16; -}; - - -#endif // SETUP_H_INCLUDED diff --git a/examples/ExpressiveMidiTest/Source/Synth.h b/examples/ExpressiveMidiTest/Source/Synth.h deleted file mode 100644 index 3e7cb408..00000000 --- a/examples/ExpressiveMidiTest/Source/Synth.h +++ /dev/null @@ -1,80 +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 SYNTH_H_INCLUDED -#define SYNTH_H_INCLUDED - - -//============================================================================== -class DemoSynth: public ExpressiveMidiSynthesiserBase -{ -public: - DemoSynth() - : noiseLevel (0.0f) - { - } - - void noteAdded (ExpressiveMidiNote newNote) override - { - noiseLevel += 0.05f; - } - - void noteChanged (ExpressiveMidiNote changedNote) override - { - // nothing! - } - - void noteReleased (ExpressiveMidiNote finishedNote) override - { - noiseLevel -= 0.05f; - } - -protected: - //========================================================================== - void renderNextSubBlock (AudioBuffer& outputAudio, - int startSample, - int numSamples) override - { - while (--numSamples >= 0) - { - for (int i = outputAudio.getNumChannels(); --i >= 0;) - { - float randomFloatWithinRange = (2.0f * float (std::rand()) / float (std::numeric_limits::max())) - 1.0f; - const float currentSample = noiseLevel * randomFloatWithinRange; - - outputAudio.addSample (i, startSample, currentSample); - } - - ++startSample; - } - } - -private: - //========================================================================== - float noiseLevel; -}; - - -#endif // SYNTH_H_INCLUDED diff --git a/examples/ExpressiveMidiTest/Source/Visualiser.h b/examples/ExpressiveMidiTest/Source/Visualiser.h deleted file mode 100644 index e4f80e7d..00000000 --- a/examples/ExpressiveMidiTest/Source/Visualiser.h +++ /dev/null @@ -1,218 +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 VISUALISER_H_INCLUDED -#define VISUALISER_H_INCLUDED - -//============================================================================== -class NoteComponent : public Component -{ -public: - NoteComponent (const ExpressiveMidiNote& n) : note (n) - { - } - - //========================================================================== - void update (const ExpressiveMidiNote& newNote, Point newCentre) - { - note = newNote; - centre = newCentre; - - setBounds (getSquareAroundCentre (jmax (getNoteOnRadius(), getPressureRadius())) - .getUnion (getTextRectangle()) - .getSmallestIntegerContainer() - .expanded (3)); - - repaint(); - } - - //========================================================================== - void paint (Graphics& g) override - { - Colour colour (Colours::red); // TODO - g.setColour (colour.withAlpha (0.3f)); - g.fillEllipse (translateToLocalBounds (getSquareAroundCentre (getNoteOnRadius()))); - - g.setColour (colour); // TODO - g.drawEllipse (translateToLocalBounds (getSquareAroundCentre (getPressureRadius())), 2.0f); - - Rectangle textBounds = translateToLocalBounds (getTextRectangle()).getSmallestIntegerContainer(); - g.drawText ("+", textBounds, Justification::centred); - g.drawText (MidiMessage::getMidiNoteName (note.initialNote, true, true, 3), textBounds, Justification::centredBottom); - g.setFont (Font (22.0f, Font::bold)); - g.drawText (String (note.midiChannel), textBounds, Justification::centredTop); - } - - //========================================================================== - ExpressiveMidiNote note; - Point centre; - -private: - //========================================================================== - Rectangle getSquareAroundCentre (float radius) const noexcept - { - return Rectangle (radius * 2.0f, radius * 2.0f).withCentre (centre); - } - - Rectangle translateToLocalBounds (Rectangle r) const noexcept - { - return r - getPosition().toFloat(); - } - - Rectangle getTextRectangle() const noexcept - { - return Rectangle (30.0f, 50.0f).withCentre (centre); - } - - float getNoteOnRadius() const { return note.noteOnVelocity.asUnsignedFloat() * maxNoteRadius; } - float getPressureRadius() const { return note.pressure.asUnsignedFloat() * maxNoteRadius; } - - const float maxNoteRadius = 100.0f; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (NoteComponent) -}; - -//============================================================================== -class Visualiser : public Component, - public ExpressiveMidiInstrument::Listener, - private AsyncUpdater -{ -public: - //========================================================================== - Visualiser() {} - - //========================================================================== - void paint (Graphics& g) override - { - g.fillAll (Colours::black); - - float noteDistance = float (getWidth()) / 128; - for (int i = 0; i < 128; ++i) - { - float x = noteDistance * i; - int noteHeight = MidiMessage::isMidiNoteBlack (i) ? 0.7 * getHeight() : getHeight(); - g.setColour (MidiMessage::isMidiNoteBlack (i) ? Colours::white : Colours::grey); - g.drawLine (x, 0.0f, x, noteHeight); - - if (i > 0 && i % 12 == 0) - { - g.setColour (Colours::grey); - int octaveNumber = (i / 12) - 2; - g.drawText ("C" + String (octaveNumber), x - 15, getHeight() - 30, 30, 30, Justification::centredBottom); // TIMUR TODO: beautify this! - } - } - } - - //========================================================================== - void noteAdded (ExpressiveMidiNote newNote) override - { - const ScopedLock sl (lock); - activeNotes.add (newNote); - triggerAsyncUpdate(); - } - - void noteChanged (ExpressiveMidiNote changedNote) override - { - const ScopedLock sl (lock); - - for (auto& note : activeNotes) - if (note.noteID == changedNote.noteID) - note = changedNote; - - triggerAsyncUpdate(); - } - - void noteReleased (ExpressiveMidiNote finishedNote) override - { - const ScopedLock sl (lock); - - for (int i = activeNotes.size(); --i >= 0;) - if (activeNotes.getReference(i).noteID == finishedNote.noteID) - activeNotes.remove (i); - - triggerAsyncUpdate(); - } - - -private: - //========================================================================== - ExpressiveMidiNote* findActiveNote (int noteID) const noexcept - { - for (auto& note : activeNotes) - if (note.noteID == noteID) - return ¬e; - - return nullptr; - } - - NoteComponent* findNoteComponent (int noteID) const noexcept - { - for (auto& noteComp : noteComponents) - if (noteComp->note.noteID == noteID) - return noteComp; - - return nullptr; - } - - //========================================================================== - void handleAsyncUpdate() override - { - const ScopedLock sl (lock); - - for (int i = noteComponents.size(); --i >= 0;) - if (findActiveNote (noteComponents.getUnchecked(i)->note.noteID) == nullptr) - noteComponents.remove (i); - - for (auto& note : activeNotes) - if (findNoteComponent (note.noteID) == nullptr) - addAndMakeVisible (noteComponents.add (new NoteComponent (note))); - - for (auto& noteComp : noteComponents) - if (auto* noteInfo = findActiveNote (noteComp->note.noteID)) - noteComp->update (*noteInfo, getCentrePositionForNote (*noteInfo)); - } - - //========================================================================== - Point getCentrePositionForNote (ExpressiveMidiNote note) const - { - float pitchbendRange = 24.0f; // TIMUR TODO: get actual range !!! - - float n = float (note.initialNote) + note.pitchbend.asPitchbendInSemitones (pitchbendRange); - float x = getWidth() * n / 128; - float y = getHeight() * (1 - note.timbre.asUnsignedFloat()); - - return Point (x, y); - } - - //========================================================================== - OwnedArray noteComponents; - CriticalSection lock; - Array activeNotes; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Visualiser) -}; - - -#endif // VISUALISER_H_INCLUDED diff --git a/examples/HelloWorld/Builds/Linux/Makefile b/examples/HelloWorld/Builds/Linux/Makefile index f2820818..218a56a1 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 f3cc46e0..8a3180e4 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,12 +15,12 @@ 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"; }; @@ -36,10 +37,14 @@ 03E4C81E1D323C0CD78DC8A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; 0493323D5A1374BBEFCFE455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 04A6FE27FC63E4D27E857CBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 04C1883C7C586DCBBFC91F71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + 04D477205B8034DAA43B0956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 0525B4E0F2387B1F3AA520F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; 068349E735D107BE09BEC641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; 06EF239CDE579FFC28F65BE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 07064C4F0CA036ABDCF9C708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0765A9ED22780490FC854A48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; + 07702A4183BD22E964E25021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; 0784B69B6377F90FB264DCB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; }; 07B9E81DB1A4F13B7FF54FD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 07D2814B9A8E25F3269B675D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -65,17 +70,20 @@ 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"; }; + 115E1E13FA5893BE59B395D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; 1316BB7ACE3F151F3B44A3EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; 133B528A88E99C116B75BFDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13E90ACEFF33BACA7E2431C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; 140B14E0142DF835F1C6D951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; 140BFF25B0078C0709FF2461 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1473903057B414B186B8D6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 14EED238D31DAABE590C749A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 14F44BEA5F54F7E064122CC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + 153471AF7F80ED6F5DC05F52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; 15569873F24C4157977C8D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 156FD1B428979C9E5D43DDC2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; 158F40026FBDA4EE9F90CF02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; @@ -83,12 +91,14 @@ 1657734A03E0F21166FAE9E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 1667021AB391F5D9B82B186D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 1679AB8658094A527E7A2811 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1680674B6C054A861C5B0C3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; 17697EA857D23FAC8FF46868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 1818AAD83B5C0FC5B322446F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 1846D85E50A6B97BBC5EDD6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; 189CC2967B6148BE990281E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; 18BF5D458C9584CD0136DCC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 18F87CFF17A2C8B806B58028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 19B60543CE214DDC48A9C652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; 1A07D7AE9814E2D42F2B2EEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; 1A6CC0CB9A61C67DF712B06E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A849B3BFFE1598017793994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -96,6 +106,7 @@ 1B799004320846B17A0D2820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 1B9D255022E9F460E5F710C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; 1BAB3298971199DD4A26042B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 1BF545D5B988C75E268BBFE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 1BF703172DA6AC2179913394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 1C2A1CDE2DA322901B0899F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; 1C3E6A1B46D80DBFEE6CF33B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -105,6 +116,7 @@ 1D68491BDF0E63AC125D454C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; 1DFCB49A7B79D79376629528 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 1E19C8C3F46E236277F58F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1E680515913AB616D141583A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; 1EC7132F648E537E2B1F95EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 1EECC1DDB24892ED2BE2FC44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 1F16E8AF03971A15157AD981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -116,6 +128,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"; }; @@ -131,20 +144,26 @@ 2575944C94EF083E2CBDBFA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 26341A8D55A799AC0ED8B33F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; 26D9D7114D4E9ECBABA9C391 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 26EC2293D824AD4824E53817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 27A1A9F9CB957FACCFF348D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 27E36BA8310CE73DCCA58AC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 282E9D3F24F19EB3A9263E0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 290F049AD4CAF99EED58D787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; 293CD4C7F50623F81F3D6297 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; 294C8642232443EEC9C4DF3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 295439C55D8A711959ADABD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 29610D1C68DD1FA2043A0D95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 2A1CE4FC4448FBE9D4713C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 2A3D243054F8E1C94ED0A0E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2A78EE759AB4E3AC3EA269CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 2AFC282D5BF1448771ACC29B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 2BB6FE1F813E3EF9FB1FAACE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CBD98BBA9322461A3ED0D05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 2DB2C70618EAA8DC81B2564F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 2DB4D07F237B52911EB0B812 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2DBE41449BBADA6D1242D7E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 2E621C1E7F2E9FC6A6D14282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + 2E96FBE457CFCC02709A686B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; 2EC797F05D27994FD0B4F19B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 2F014FFE6BB6209B7BBBCB79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; 2F1A2B5F25C3F2502932EFF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -158,15 +177,17 @@ 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"; }; + 31863A4B3703065F42879005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; 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"; }; + 320A30C3BAD52D3A5C5A62C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; 33BDA746816EE0D0EBB559DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + 33EFCE1032F220542A1B889E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 34C652F95403440FCC24BE11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; 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"; }; @@ -176,8 +197,11 @@ 3832110FA8DA58E650AB6F9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 38E5FF4A3CBEA8C42D9F14CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; 3944F07DE8E0975B663BFEB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 3952879CBE90C146415084BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; + 398EBE3DE099694FF5C5B632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; 39F7F5DC827150D2E57F1DBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 3A1128BBCB04C3DCE2E5D37E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + 3A72444990DE940EB3822161 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; 3A8FC4F98008643A60177AEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 3A9E838A0D5461D20726AE71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; 3B3F316BC1E0486A4FD27686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -191,22 +215,27 @@ 3E65BE3F701901EC447327AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F111FBCEE1230015F476C68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; 3FB71EFD64D47E52DADCACA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3FF68C5CFDA8E9FE17674473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; 403E7E9949CFE8BD73DDD909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 408110CA0AFFDF83F3AF497D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 40A7C1EB6363A8FC4A9900B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 40C9494F8F133EF9E59DD87E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; 41535CB61E936ECEBB04FFAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 4239AF0A782192683CE4F2A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; 42D4C2092537DD2A5054134F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + 44188B2A6DDF9444E71AE24D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; 451343A64FCB48BC926E0962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; 453B6D80B6389BE1341A0A29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 4543C730A5DA77649C20B6B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 458C003240D4C31FF940A99C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; 45905746CA7C3BFE98B583C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 45A89EE380DBADF9105B866A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 460C03047681129B0EE44B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 46393FE4FE6D8683444CD1A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 46A2A110922BAD26FB4298C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 46BD0A7BCF4C608DB94285EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 47051A94D9B45B21017A867F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 4768C1FC1905B28D2B11A0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; 47B6D5118C5FE2D6A452A487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; 47BB119E08A7A1A468564B9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 47D12441679F0062EB7C96AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; @@ -220,12 +249,14 @@ 4A8C64BB96FB93919DDF2166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 4AA6BD2A3FDFADDCB0322F9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C34CB4DC542D86A193C055A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 4CB0E502D1461C0231DA9559 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; 4CC331BEE18B3EC4BADF38CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; 4D44E9AD19469774ED8245B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D6C90354134741F7F295412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DD07E53E4ABDE534D34981E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 4E1058572E25FD04B7D60700 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 4E2E741BA1779C70049641D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F1B04D79D53E699BF00647E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; 4FF67CE1DFACAFF545D8E9AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 5044BE1EA711B629563F70CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; 505E065430B4C61E119415FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; @@ -237,16 +268,25 @@ 523B09319B14E721921D830A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; 52AAE149F3EC7BAB0E7703DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 52D7E72C26E3D1589A6A1BD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53018020F12F0FA4F1C1F716 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + 534132BC1AEC87A5CA2C22F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; 536EB9664EDB02A4CBF9BD28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53DDE7DB39705327EF49011D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; 53F3EB3D456B15EF5CC6FC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 543A10EED475842E60CE7F3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 5457E4C7D67E767CCD8B0964 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; 54FF1D1CC748FA043A28004F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 553D67BF246543F8CDD18F3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; 555CE1B4514C7E3BBB1A009E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; 558FEC99442C039E45679325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 55E627FDBA6A7978821CB281 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; 56E41C2987E763CEE092B7A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; 56F46591D347CA4272001691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57F667ACD8A52288C6AC6088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 5956EB6567B1867382A55CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; + 597EFBF46DD40B520FC3DD27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; + 59BC03F1BF52F457B4BE0BC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; + 5A52A1567548066CC36AF1B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; 5B0D2EC9A8AC716C07B61137 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 5B67F01C0BA9323892900AF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 5B6BC49A6F74A8021E73E3A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -264,7 +304,9 @@ 5F55D2FE7338877E1CDD4B45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 6015A8DB345D5D619544228B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.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,12 +317,16 @@ 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"; }; + 62E7B14FF66C8FBBCDCA6966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; 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"; }; + 6374689025FD58429527C2E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; 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"; }; 6501D18FEF031C7FEF45F39E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 65269D81DF23F8211A61032E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 652822ADCD7393AF40945DA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + 657295DF9D4C1FFB5313440D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; 659BEDAE6C17DD4FA6B74971 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 65A7736ECC548A9FD10E4F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; 65A88D5E8C1F0BE74F05C072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -289,10 +335,15 @@ 65FC1A9B2D0CDCD2D0180A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 6603F93CB38F0E7BEB779A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 6615B376201BA6A338D7177E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + 665AEE421856A7879CAADEAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + 666E7C385CEAD1C2461F6A0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 67313924EE210EADEB66ECBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 675E6456CBD23C87B8F14544 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67B11A9E7FFB6C7F8AC0AAC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; 6816BB0D62EC676409B3587F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; 6889EF825EA839830C733D07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + 6894852FFF6711F1D1EDE6D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; + 68A7A211857CADBC1884CE34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 68CC5DF188B4F8D9BC4A397A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; 69266B83D819323230CB67B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 6930D056DFFC6EAA2B52E045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; @@ -305,10 +356,13 @@ 6C556B58616171CC70488F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; 6C632E34FD1B617525987657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6CB12AF57587118CCC37BC8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6CE817F1B293A32611E8D0D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; 6DE47E2E070BC5173F0985BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; 6E43583682EFEBAE58D59BA4 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; 6E8326A0BC2AAA5F82287220 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; 6ED446E76E238A6243800BB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 6F22282EF3C19EB339CD58BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + 6F572F988272A1CA6514DB38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; 6FD7AFA0B4E7F4E848E33737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; 70C7586ACDA27A1FFC0C7AEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 70EEC63C3D1175FD705583F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -322,20 +376,25 @@ 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"; }; + 743C4CD1C3FC8F64B26332B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; 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"; }; 754A3F88F55E0FB7F179F2E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; 755B3410E5F1D6CD7CA350E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 766C3C995063BBD36AC86E64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 76CFBBB2BEF9D85D391DBDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 774896BADE9613608E2A1EFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 786ABCE38FCC63E58ED44C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 790ACB9FB268AE53BB534694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; 793CDD14387F49E8757B9042 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 79A4F1CF3FB5D20104693598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 7BAF0E6C07C8441252A0AF1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; 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"; }; 7C8D639A2FC3EA14709367B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -353,9 +412,12 @@ 822342F0C44B761EAB020F86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; 8288AF688CC74640DDA9309F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; 8299092A070FB3E459760F8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + 82CD4378BFDC7FF0754B49F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; 832D1429ADEE1B07AB3693A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + 834DB37BB8F4828894ACCBC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 83F74BA834946705EB9ED79C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 8414F7B17DA39B4D0B4C3739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 848068F85B9C66FD69FFEBA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; 84F1747F90732DE67C601E3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; 85CC7C10F36E6A615CF24289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; 86152CB848C36CC25014D020 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; @@ -371,25 +433,31 @@ 89C44D65C6EA486543A139E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; 89F164CF6D809DD8AB8FDB55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; 8A3F6FFBE098968DC1C4538C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8AC3A00E039780A6B44EE932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 8BA63270C9EBFE66AF17E7EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BEBE3E3D47AD3E8AAACF7BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; 8C439BE182790867BCC9ADFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8C7246482B959C4AF6EC5D87 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 8E018B63249825F4D00DEB6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; 8E07428942BF09DB0CC43EE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 8E1A22B596E70DF1D0C15F8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; 8E3F7589FDC16A7DA986FC42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8E96766BC6AC8861D35DC359 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; 8EA982741224B1BF1BB840B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 8EED918F1D3876E4EB17F5A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 8F194B8AB1A57A87158BDF57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; 8F6E58F2C5CA9D3C6DFEDDB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 9041FE725DC8818D8E686A3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.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"; }; 918FA23368FDE2ECDDC1CD08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92DA7079019C276D5070DA7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 932964B332CC31005CAE0FB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 937C0CF5DC3FFF6161D7776D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 939EC86DADE3927918AA327C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 93D1FA25103C27AFCCA1AAAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -398,7 +466,9 @@ 956BE6001A359C423014CED7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 95FFFE6A27ACBB4E28739E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; 966BC35C454118B1B895436D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 9700F79102DC2BA016E13CE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; 971270DAD06B91F5B156C362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 975AC19606552D5003580062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 97BFE20948105F757379B4F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 981D4316CDD5076577509386 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 984AA2236CD860A916ACF57E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -410,16 +480,23 @@ 9AF8A6A41A7FFACC570EBCF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; 9B02109FBEEB89243D72FC11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9B0ADC4932AEE1AEDBAAB8AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9B2A7377A5875438B11A7150 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; 9B5E2905BAEE2A1E7B7657AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + 9C86DB7AA3376810B70D984C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; + 9C8D0EB88C06DA8173460210 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; 9CBEE085CF47C89A93F2783E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CC93818FCDC916B482CE877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; 9D0323FECB030B06FBD0F627 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9E8FB9C3CEB5BE586BFE0BD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; 9EDBF1BC8604795A1B0774C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 9EF2F14290768DC26DBA6149 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; 9F3BAC34BBE550826A0C2B4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F994395393E0BFB8A320B04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; 9FBFACCA56589CDCC3D78F0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + A05F17D98F09EC8DEB99C181 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; A0816F5D3CB1D0509C714252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; A10311375CB3203008B0DD24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + A11AAF738E925C820C28C868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; A1637DEBD3438ACB0D7F48E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; A16B3D0EA58919EDAEB08792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; A16DA9030A96B26C6BF52FDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; @@ -439,6 +516,7 @@ A570C960A1D5C3F9E50A928D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; A5AFA37677301D3BEFDEB596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; A5E748EC8CB636CEBF7BA497 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + A63070A6BD30BF2E18A5A30C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; A74B522F55C871C8C41E253A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A75D66A07D6443E350214CC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; A7BF2E0EF7E381B811ED7981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -452,6 +530,7 @@ A9DFB028B3E73E65E1407098 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; A9E35E85D16F32AD3EA135BE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; AA75E89A148ADF8C55671CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + AAECBF2C4C2D5DA2E17388D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; AB5FD54FE20E3B8792AE7601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; AB625562B978102C10FD5311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; AB7582784F8607123662C3EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; @@ -462,14 +541,20 @@ ACD0AD8EACA79E8A6273413E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; AD0FE0F54DE76E0C35A3B692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; AD1F1A9815D8660FA0305028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + AD77F584422F1F6353009817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; + AD80179E716C3D3D69020A33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; ADC3125F0DCD2924ACB173EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; ADC4B846B6B3C43868E7E739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + ADDBBB2FC62550D4B71606FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; AE8492E6A10C324142D09EA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; AEB923D05C620EF9E927B48C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + AEE2CB5328331BA30650EB40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + AF07D42A4906442B2E00DD52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; AF388A883A899EBF58A39D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; AFED7B4CED7DCA33DEA5F546 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; B05CF8A5EE33A7062E10DFD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; B0644268B39736787E910714 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + B09E131E4E588C510BF53AE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; B0D3494829C70D3D31E7195C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; B12282D4958ECC33E33301E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; B14210A622924919775310DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -484,17 +569,18 @@ 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"; }; + B5339DFC1FF6DD77FA8A2509 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; + B55EF743EA23BD17A9EF583F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; 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"; }; + B6746C8B6A9FE1D4308CE985 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; B6AC99C26F679771A2F942B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; B6C28B2DAE4802FA291E3487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; B6C345F16BFAD37B64A5605A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -502,16 +588,21 @@ BA5EF35337DDE160BCA69BE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; BA92F6D1BF35CF6623B0BD1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; BAC8A1406F49B48E85DBF2E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC4A302491A9A5D5853BE37B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; BD8335C336E988FF37044F21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; BDA5AC3B903F05E4ACBD16DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; BDCB1657E429C9F03CB17827 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDD5FB3B38CE0ABAAB23792D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; BE2B2B455F814E0C076837C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; BE4B29F0D308D1BA1046D8DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; BE72D524BA45BC24B3264F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE8904B1A3F9A1FE1261FB9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; BF2D0795D820910CCB587033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C0971BA5BDD299B588D1310E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; + C0D83926F5E4FC421C28C277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; 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"; }; @@ -520,20 +611,25 @@ C234FBE6290024F51478686E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; C26182D37D8E31BD85FDEF5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C2F65CD24CD207EFD5FAF7F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + C300FA91381C0196F8839EC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + C3577838EB7C3729E5C6E230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; C3AC4696140DE22682732FB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; C56DB2DC67E1DBA6C29044CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + C57323C33C241931932497F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; C626FA20C4D021076A4B943E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; C6313E766ECDCE48435BA5A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; C63DB03ADC0A6E3C45DD88C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; C64E52A86F2984D4A5F82EF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; C6A1B4D93C11BA29F36801E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; C6BCFCD2732C7153C33B6168 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + C6CA0624B45EC3D866BC0D79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; C71BB293CEF65605741E0CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; C743089A221B553DA6B45F65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; C75917573F92864DA80C9A11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -554,25 +650,31 @@ 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"; }; CE68E38ECB2AB54F08F79917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; CF9F9D13FD1B7ED219092643 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + CFECFAA56B3589FC89E54F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; D06CEB2AEDFB98E1406E06F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; D071023526C8D2E38D1C95C5 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; D0B7D5B46558A7393B43C79B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; D45C31982C2D140B6B64D1C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; D49594C439C67202647804D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + D4CC5C1BF250183D98A5053D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; D4ED28003B9120E85F5CD490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; D4F8F05BFF087B2BCA01CB71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; D5054A3D5EBDC47D51FC99F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D53B158241A875303FC52D8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + D56026D62416B7B62184E98D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; D5AAA258357323FD8DBC7B08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D6159ABF4834368C6DB05550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; D624E1F31ADE1C718E97A3C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; D6BC0BD9CD8133D8634FFAB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; D711FA513F8E9F696570DBB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; D735FA88C8465C02D4217A39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + D79A70561BC95BE42F900F2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; D882D6E64CEFE8FFE435EF40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; DA64460418AFD14930104FEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; DA8CFA399CD27524DB69AD78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -581,24 +683,30 @@ DBBD318E15A635AACB31E1DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; DBE5789816F028CE53FD3EB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; DC4EE2A66A86B99C8D9B0068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + DC6E56D580CE47F727B24FD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; DCCDA2F20A439FE5044946DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DD10783090721EFE21E4FAA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; DD374C28FF1CF5F121C3C6E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; DD6356DF25DE4F39BFB2BD87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; DD7B2584B0C91BB4124A397E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; DD7DC4C53F386AD914887EDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + DDAA1B4C24AF34B186B6C2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; DF82F535AAA1380C3213FF03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DFB1FF7E047D9883528DECF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; E02684265B013C418CC7A242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; E02BE252CF20E4FABAC9A7B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; E04A33E4F8847DE1E285C089 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + E0A6C8B5CD3396AE5C500017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; + E0A6F645310D7B77741716C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; E143BF0720845D8A25BB16E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; E1592FAB1A9F6FAC33F051BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; E1774E60A49BD0CC9F7DB6B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E189A00A50805AE126B38E28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; E281E7EA009C44FA607DAFEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; E2C9F5675F700544E40B46C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E31FA0995B22027AEF89904B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; E3273B696D8398C56B0F1A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + E3AC1627011B7DC669A8FAAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; E41E6A613E45920223A133F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; E422C589FA0328C35A0549FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; E4AF8704D952EA14B38CA782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -613,6 +721,7 @@ E80A7D62B2B3F4BD2CD3F170 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; E830FDCCA2799244C53AEB8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; E833133B78833DA0D34F48A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; + E8606788391C1A26DBA73D23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; E862612C6909A6188FBEB8C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; E8C858BC5875BA7F76E62B28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; E8DCBADAA3B789839C797F82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -620,18 +729,18 @@ 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"; }; + ECB7556075E4B30B349D5743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; 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"; }; @@ -643,6 +752,7 @@ F3F9135662EDBBC14EBC448C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; F420591CACE7056F78000039 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; F45A8AE5F6E6FA5F6AEC8D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + F479F5F69CD7C9D636DC38A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; F4AB976B460420C5C94E6E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; F5047DA45BA2ECE24D308403 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; F58C62E4CFF820B85CEF0A9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -651,8 +761,12 @@ F5FD842A428369A565BC92E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; F69E6E1AC446B803B6C6A6B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; F6B44EB4315A24F4359BF2B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + F6C6441672B78F4D4F5E776F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; F6CA8CB0E2135154E38E9707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + F75D04569FFA36E764F23860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; 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"; }; + F83E8E5925D0396BCE16EF5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; 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"; }; @@ -666,11 +780,13 @@ FB9E2985FBE36494513C83A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; FC00A16A6756DBFE0B875F5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FC47B303DF1BE68BE78F9079 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD4A53AC44FCA6D7CAE4E889 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; FD5D001673478C39B79A9C6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; FD7E5A4B8C6532BD458B2A94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; FDDA86C3FCCC3C74F7CDA53D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + FE9BC9604165B24C2AD63BB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -682,57 +798,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, ); 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 = ( + AAFC4BAA1BAC168E9AD649BA = {isa = PBXGroup; children = ( 02123F620ABB8F19FCE4E7E5, F5D2E9784191EC7F2DFA3949, 068349E735D107BE09BEC641, @@ -754,37 +820,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 = ( + CCF8DFA529E5C66E36A0BD27 = {isa = PBXGroup; children = ( FC47B303DF1BE68BE78F9079, D882D6E64CEFE8FFE435EF40, 5457E4C7D67E767CCD8B0964, @@ -802,7 +838,81 @@ F5FD842A428369A565BC92E4, 83F74BA834946705EB9ED79C, 1657734A03E0F21166FAE9E8, ); name = files; sourceTree = ""; }; - 2AE9B24F8D2F81FB9B7FF4C7 = {isa = PBXGroup; children = ( + 50EA1BE98FB801CC0F7C6BC9 = {isa = PBXGroup; children = ( + AEB923D05C620EF9E927B48C, + 99FBA3CCFA443DB353B07F71, + C4272B1ABE77520CD6E55EB7, + ECC4847BBD2AC72116506F0E, ); name = javascript; sourceTree = ""; }; + 26B7BF0CA915573F826BA744 = {isa = PBXGroup; children = ( + 2026B0F45584BD5BECC4EFBA, + 1A8917A61F4F6E9766564420, + 3832110FA8DA58E650AB6F9E, + EF3A7A1A871BAB32EA1B46EF, ); name = logging; sourceTree = ""; }; + 6B72C89BFD2A471C3305AB07 = {isa = PBXGroup; children = ( + 5FCCDEEE0E7A1AD4179D1E1D, + FD5D001673478C39B79A9C6A, + 403E7E9949CFE8BD73DDD909, + AB625562B978102C10FD5311, + 39F7F5DC827150D2E57F1DBF, + 0B62C1B2DFE2EE1C8E1EB5B6, + 26341A8D55A799AC0ED8B33F, + 38E5FF4A3CBEA8C42D9F14CD, + F83EC8D59072A524F5DA56B0, + C6CA0624B45EC3D866BC0D79, ); name = maths; sourceTree = ""; }; + 085AFA572CD345EB311C3CD1 = {isa = PBXGroup; children = ( + 60DDA3B2D06C918647F0F2FF, + AA75E89A148ADF8C55671CA0, + C5401AF900EB8056416C1294, + 1F16E8AF03971A15157AD981, + 62733AC6CAD0F79BEAE0CF4F, + 09A3E1630BFC67C63AFEDE3A, + 46BD0A7BCF4C608DB94285EC, + 0B92355966B36E2B913BC8EE, + EF28BA2B5E24F4749F732230, + 601874CF9435F18E7B69AE6A, + 45905746CA7C3BFE98B583C9, + 89F164CF6D809DD8AB8FDB55, + 6C556B58616171CC70488F0D, + 6615B376201BA6A338D7177E, ); name = memory; sourceTree = ""; }; + D081E8CC3200EADB8F056820 = {isa = PBXGroup; children = ( + 17697EA857D23FAC8FF46868, + 4A5ED88CC2ED6ADD8A5B102A, + 975AC19606552D5003580062, + E0A6F645310D7B77741716C4, + 35BD72D236BE7ADC019B5564, + 6DE47E2E070BC5173F0985BB, + 79A4F1CF3FB5D20104693598, ); name = misc; sourceTree = ""; }; + 238A1CFDE7D251D15EDC2BE4 = {isa = PBXGroup; children = ( + 7D87E3CB6613ADCE674B00BE, + C7A6585C8F7FB3EF78837563, + AC488F0777290DB214E6E937, + A85BC2CE425BF6058D12702A, + E189A00A50805AE126B38E28, + F3F9135662EDBBC14EBC448C, + 786ABCE38FCC63E58ED44C5B, + 47D12441679F0062EB7C96AF, + 0C5169FC4BAB96B2F16BF5B8, + 942E454B72BC4A6CF702F2B4, + 5C4A0785E529A72663FC155E, + 23925ED31BD8E2D82FF86A31, + F78633365BAD28DA5864C502, + 1EC7132F648E537E2B1F95EC, + 68CC5DF188B4F8D9BC4A397A, + 9F994395393E0BFB8A320B04, + A7F0F0269FBC2B91DCB49989, + 89C44D65C6EA486543A139E9, + DA64460418AFD14930104FEC, + 6A8D0F24F0A1F95A52845506, + 04A6FE27FC63E4D27E857CBF, + 9CBEE085CF47C89A93F2783E, + 158F40026FBDA4EE9F90CF02, + C86288867D1603D982FB9AC9, + 994C767AF66B2C4731EAF528, + 6108C64B7B0AD2CA64F30DC7, + 14F44BEA5F54F7E064122CC7, + 295439C55D8A711959ADABD3, + A75D66A07D6443E350214CC3, ); name = native; sourceTree = ""; }; + D6E328F1BF1F19373B11FFC6 = {isa = PBXGroup; children = ( 21A118094F4A8DC6E9343AC6, 2206F8DB2D2D3042FFB24820, D4F8F05BFF087B2BCA01CB71, @@ -813,7 +923,7 @@ 1BF703172DA6AC2179913394, DD6356DF25DE4F39BFB2BD87, 3A1128BBCB04C3DCE2E5D37E, ); name = network; sourceTree = ""; }; - D46664D5E1C590C441D4F80B = {isa = PBXGroup; children = ( + B948E2575CB007B96DBD0073 = {isa = PBXGroup; children = ( 0DBB48BEAC0B38D509A6ED6F, 0E0B382367017DA9380D3C61, BD8335C336E988FF37044F21, @@ -829,135 +939,156 @@ FE39F19585CBAE3EE247840C, 70C7586ACDA27A1FFC0C7AEE, BA5EF35337DDE160BCA69BE2, ); name = streams; sourceTree = ""; }; - F87D6E9F1E5FE32A55A2A8DB = {isa = PBXGroup; children = ( - 2026B0F45584BD5BECC4EFBA, - 1A8917A61F4F6E9766564420, - 3832110FA8DA58E650AB6F9E, - EF3A7A1A871BAB32EA1B46EF, ); name = logging; sourceTree = ""; }; - A18C218B66BAD36C1F6FDB5D = {isa = PBXGroup; children = ( + 137FFE6AC63AB2AD57290A22 = {isa = PBXGroup; children = ( 6816BB0D62EC676409B3587F, 8F92FD719B301B68F4945EA9, F08B148BBAEA45BCDA3F066F, 41535CB61E936ECEBB04FFAC, EF54929F7151858D8FF8107B, 966BC35C454118B1B895436D, ); name = system; sourceTree = ""; }; - E3BC172EB1F1CA22B436FC42 = {isa = PBXGroup; children = ( + F77DED00B44702C5DA16CE4F = {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 = ""; }; + 302A5A28F54DB7B33612E0A1 = {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 = ""; }; + F8A00870CC78B667C512894F = {isa = PBXGroup; children = ( + B5880B8DE2B7362EF263D82A, + 8E1A22B596E70DF1D0C15F8C, + 15569873F24C4157977C8D9F, + C64E52A86F2984D4A5F82EF8, + 8215524ADDC78289AD8BD4CE, + AB7582784F8607123662C3EC, ); name = time; sourceTree = ""; }; + C02B24964C62524602494808 = {isa = PBXGroup; children = ( + 85CC7C10F36E6A615CF24289, + 0C36123881F7A4B6A144F272, ); name = "unit_tests"; sourceTree = ""; }; + 229C881AC4472CB902B310BD = {isa = PBXGroup; children = ( 498778ED99DF1BA68A6E3A18, 46393FE4FE6D8683444CD1A3, 32A77D14749535446A0BC825, 822342F0C44B761EAB020F86, ); name = xml; sourceTree = ""; }; - D959EACECE951B6D139A99C8 = {isa = PBXGroup; children = ( - AEB923D05C620EF9E927B48C, - 99FBA3CCFA443DB353B07F71, - C4272B1ABE77520CD6E55EB7, - ECC4847BBD2AC72116506F0E, ); name = javascript; sourceTree = ""; }; - D0CB81045FF79BEAD1744CAD = {isa = PBXGroup; children = ( + 9E3DBEA32D12EE8A02EEFF96 = {isa = PBXGroup; children = ( + E8606788391C1A26DBA73D23, + 76CFBBB2BEF9D85D391DBDD2, + 9E8FB9C3CEB5BE586BFE0BD2, + BC4A302491A9A5D5853BE37B, + A63070A6BD30BF2E18A5A30C, + 07702A4183BD22E964E25021, + 666E7C385CEAD1C2461F6A0E, + 59BC03F1BF52F457B4BE0BC4, + 9041FE725DC8818D8E686A3A, + 33EFCE1032F220542A1B889E, + 53DDE7DB39705327EF49011D, + BE8904B1A3F9A1FE1261FB9B, + 04C1883C7C586DCBBFC91F71, + 597EFBF46DD40B520FC3DD27, + F83E8E5925D0396BCE16EF5B, + C0971BA5BDD299B588D1310E, + 31863A4B3703065F42879005, + 743C4CD1C3FC8F64B26332B0, + 6894852FFF6711F1D1EDE6D2, + AD80179E716C3D3D69020A33, + 9C8D0EB88C06DA8173460210, + 290F049AD4CAF99EED58D787, ); name = zlib; sourceTree = ""; }; + 4B25245BBFF805679D76EF40 = {isa = PBXGroup; children = ( + 9E3DBEA32D12EE8A02EEFF96, E8DCBADAA3B789839C797F82, 3D32372B5CC311AA696124D2, A88106868D7BACF251D9EAA8, 8EA982741224B1BF1BB840B6, F2C96C26ACDFFE9D480D5561, 8E018B63249825F4D00DEB6C, ); name = zip; sourceTree = ""; }; - 9AE02D48833B87EB32478790 = {isa = PBXGroup; children = ( - 85CC7C10F36E6A615CF24289, - 0C36123881F7A4B6A144F272, ); name = "unit_tests"; sourceTree = ""; }; - 47B575A04992E9EA22045F72 = {isa = PBXGroup; children = ( - 17697EA857D23FAC8FF46868, - 4A5ED88CC2ED6ADD8A5B102A, - 35BD72D236BE7ADC019B5564, - 6DE47E2E070BC5173F0985BB, - 79A4F1CF3FB5D20104693598, ); name = misc; sourceTree = ""; }; - 95B8EA2C19F69EB464681FD5 = {isa = PBXGroup; children = ( - 7D87E3CB6613ADCE674B00BE, - C7A6585C8F7FB3EF78837563, - AC488F0777290DB214E6E937, - A85BC2CE425BF6058D12702A, - F3F9135662EDBBC14EBC448C, - 786ABCE38FCC63E58ED44C5B, - 47D12441679F0062EB7C96AF, - 0C5169FC4BAB96B2F16BF5B8, - 942E454B72BC4A6CF702F2B4, - 5C4A0785E529A72663FC155E, - 23925ED31BD8E2D82FF86A31, - F78633365BAD28DA5864C502, - 1EC7132F648E537E2B1F95EC, - 68CC5DF188B4F8D9BC4A397A, - 9F994395393E0BFB8A320B04, - A7F0F0269FBC2B91DCB49989, - 89C44D65C6EA486543A139E9, - DA64460418AFD14930104FEC, - 6A8D0F24F0A1F95A52845506, - 04A6FE27FC63E4D27E857CBF, - 9CBEE085CF47C89A93F2783E, - 158F40026FBDA4EE9F90CF02, - C86288867D1603D982FB9AC9, - 994C767AF66B2C4731EAF528, - 6108C64B7B0AD2CA64F30DC7, - 14F44BEA5F54F7E064122CC7, - 295439C55D8A711959ADABD3, - A75D66A07D6443E350214CC3, ); name = native; sourceTree = ""; }; 077C855D265E61FB93F96107 = {isa = PBXGroup; children = ( - 53B7ECB896E5903DD2493E14, - C3BF0F36B4C2A20B594B2C17, - 283F53CC2F8E672B54F90A31, - 7582B2AE14482E2927B3AE2F, - BF229D931FB1A5222CD9DB43, - CFA0FE5274773CA97B9EA5A1, - 120D356AA058212F80C97EAB, - 2AE9B24F8D2F81FB9B7FF4C7, - D46664D5E1C590C441D4F80B, - F87D6E9F1E5FE32A55A2A8DB, - A18C218B66BAD36C1F6FDB5D, - E3BC172EB1F1CA22B436FC42, - D959EACECE951B6D139A99C8, - D0CB81045FF79BEAD1744CAD, - 9AE02D48833B87EB32478790, - 47B575A04992E9EA22045F72, - 95B8EA2C19F69EB464681FD5, - F003AC63C800E3F090BF217F, + AAFC4BAA1BAC168E9AD649BA, + CCF8DFA529E5C66E36A0BD27, + 50EA1BE98FB801CC0F7C6BC9, + 26B7BF0CA915573F826BA744, + 6B72C89BFD2A471C3305AB07, + 085AFA572CD345EB311C3CD1, + D081E8CC3200EADB8F056820, + 238A1CFDE7D251D15EDC2BE4, + D6E328F1BF1F19373B11FFC6, + B948E2575CB007B96DBD0073, + 137FFE6AC63AB2AD57290A22, + F77DED00B44702C5DA16CE4F, + 302A5A28F54DB7B33612E0A1, + F8A00870CC78B667C512894F, + C02B24964C62524602494808, + 229C881AC4472CB902B310BD, + 4B25245BBFF805679D76EF40, + CFECFAA56B3589FC89E54F01, + FDDA86C3FCCC3C74F7CDA53D, + 116E9A279FB25AE32174C42F, FDDA86C3FCCC3C74F7CDA53D, ); name = "juce_core"; sourceTree = ""; }; - DB193F277014CB2D4EED9B10 = {isa = PBXGroup; children = ( + AC52466931A3B16BD9763E38 = {isa = PBXGroup; children = ( + E3273B696D8398C56B0F1A40, + DC4EE2A66A86B99C8D9B0068, + 89898A337D18F63C9DDE1AEE, + 1259079CB2A8907577BBBAA3, ); name = "app_properties"; sourceTree = ""; }; + 1C3C8DD49E0E51D4AB3006F0 = {isa = PBXGroup; children = ( + F35CA3BED53A2146B7623ECA, + 1A849B3BFFE1598017793994, + E58624F033F218AF36C7F9FD, ); name = undomanager; sourceTree = ""; }; + D2726D46D56DAF8F383FBF36 = {isa = PBXGroup; children = ( + 04D477205B8034DAA43B0956, + 4F1B04D79D53E699BF00647E, 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, - 3F1B3F5816792824A8FED9CF, - F27B1321E6B098E31C61FD54, - B8E7EC57DAC2DE65CFEC21E0, + AC52466931A3B16BD9763E38, + 1C3C8DD49E0E51D4AB3006F0, + D2726D46D56DAF8F383FBF36, + 13E90ACEFF33BACA7E2431C9, + 5F55D2FE7338877E1CDD4B45, + C1980330512BAADDA1CB0D24, 5F55D2FE7338877E1CDD4B45, ); name = "juce_data_structures"; sourceTree = ""; }; - FF92A51DE50343C6AA33A0DB = {isa = PBXGroup; children = ( - C4788802A0C1A2908645028B, - 016AB5DF7206562FA4B48A81, - A387B8D5928ABA707B55736D, - E862612C6909A6188FBEB8C8, - A5AFA37677301D3BEFDEB596, - C546B9AC32E553D5969B2537, - 86AE81E813B7FC9D59B66C05, - 29610D1C68DD1FA2043A0D95, - 1B9D255022E9F460E5F710C5, - 6501D18FEF031C7FEF45F39E, - D53B158241A875303FC52D8B, - 984AA2236CD860A916ACF57E, - B3CEFD554B22D2764327CC70, ); name = messages; sourceTree = ""; }; - A9B3363B5E302799D0945C6C = {isa = PBXGroup; children = ( - 8414F7B17DA39B4D0B4C3739, - C894801E6F257C0E84E5C03F, - DBE5789816F028CE53FD3EB4, - 62B84090765C713CC4250BB6, ); name = timers; sourceTree = ""; }; - A045CC1D9919072B85C45336 = {isa = PBXGroup; children = ( + 8B5D59397507DBD642F28154 = {isa = PBXGroup; children = ( 536EB9664EDB02A4CBF9BD28, 2575944C94EF083E2CBDBFA1, 0C90578962B82B1AE222578E, @@ -973,7 +1104,21 @@ 309B10A91B0698EC749802D5, 71EA769D5757AB3B16E5E6E6, EFE65E031B01332448C2BE5E, ); name = interprocess; sourceTree = ""; }; - 21AFBAFF05B76A3121EDCBFC = {isa = PBXGroup; children = ( + 34CAAF6F9811717AAD813B0E = {isa = PBXGroup; children = ( + C4788802A0C1A2908645028B, + 016AB5DF7206562FA4B48A81, + A387B8D5928ABA707B55736D, + E862612C6909A6188FBEB8C8, + A5AFA37677301D3BEFDEB596, + C546B9AC32E553D5969B2537, + 86AE81E813B7FC9D59B66C05, + 29610D1C68DD1FA2043A0D95, + 1B9D255022E9F460E5F710C5, + 6501D18FEF031C7FEF45F39E, + D53B158241A875303FC52D8B, + 984AA2236CD860A916ACF57E, + B3CEFD554B22D2764327CC70, ); name = messages; sourceTree = ""; }; + DA979DB4EBA63F7C590790CF = {isa = PBXGroup; children = ( 219B89271C840E2D7E512612, 4A8C64BB96FB93919DDF2166, A93E36A200F473B766F6A8BA, @@ -982,15 +1127,22 @@ 5B67F01C0BA9323892900AF8, 7EBAA8C6B6447AC1707EA1A7, 1C3E6A1B46D80DBFEE6CF33B, ); name = native; sourceTree = ""; }; + 7B0F33CDD1A16393FA128AD9 = {isa = PBXGroup; children = ( + 8414F7B17DA39B4D0B4C3739, + C894801E6F257C0E84E5C03F, + DBE5789816F028CE53FD3EB4, + 62B84090765C713CC4250BB6, ); name = timers; sourceTree = ""; }; C0F8D0D123397FF7AF17F3F8 = {isa = PBXGroup; children = ( - FF92A51DE50343C6AA33A0DB, - A9B3363B5E302799D0945C6C, - A045CC1D9919072B85C45336, + 8B5D59397507DBD642F28154, 67DB973FF5A1FFA8D81AA280, - 21AFBAFF05B76A3121EDCBFC, - 3549AF6032831F9553E74467, + 34CAAF6F9811717AAD813B0E, + DA979DB4EBA63F7C590790CF, + 7B0F33CDD1A16393FA128AD9, + 3952879CBE90C146415084BB, + 08C449B44C89E728A89013F3, + 8FC7BFF093D665F8178EC297, 08C449B44C89E728A89013F3, ); name = "juce_events"; sourceTree = ""; }; - 39D7580AE0D199F462A0411D = {isa = PBXGroup; children = ( + B1E5F704D926FC8926955788 = {isa = PBXGroup; children = ( A1637DEBD3438ACB0D7F48E0, 988BF5A923D08778EAFA524F, F2AA4EBDE6E999C033A8CA65, @@ -1000,7 +1152,7 @@ B3AE3983352E66690C865088, 33BDA746816EE0D0EBB559DD, A1C2A2081FDEF1CB6DB1E1BE, ); name = colour; sourceTree = ""; }; - 8090AB4707E33400125CA4C9 = {isa = PBXGroup; children = ( + FE6268706C83DCE55FAB38C3 = {isa = PBXGroup; children = ( 4FF67CE1DFACAFF545D8E9AA, CE68E38ECB2AB54F08F79917, 51F215744097662A34943493, @@ -1008,20 +1160,26 @@ 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 = ""; }; - 1B141638D452CFF03036C180 = {isa = PBXGroup; children = ( + 1FAF597064B68F217DAA22FB = {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 = ""; }; + 99B4268E3E1848B194810B09 = {isa = PBXGroup; children = ( 07064C4F0CA036ABDCF9C708, 86152CB848C36CC25014D020, C6A1B4D93C11BA29F36801E1, @@ -1037,30 +1195,105 @@ 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 = ( + 515EB58EBE453F363077187D = {isa = PBXGroup; children = ( + B6746C8B6A9FE1D4308CE985, + 8C7246482B959C4AF6EC5D87, + FD4A53AC44FCA6D7CAE4E889, + F75D04569FFA36E764F23860, + 4768C1FC1905B28D2B11A0C1, + E0A6C8B5CD3396AE5C500017, + C57323C33C241931932497F0, + 6F572F988272A1CA6514DB38, + 4CB0E502D1461C0231DA9559, + 2E96FBE457CFCC02709A686B, + A11AAF738E925C820C28C868, + 7BAF0E6C07C8441252A0AF1D, + 398EBE3DE099694FF5C5B632, + 1680674B6C054A861C5B0C3C, + C3577838EB7C3729E5C6E230, + F479F5F69CD7C9D636DC38A6, + B5339DFC1FF6DD77FA8A2509, + 553D67BF246543F8CDD18F3E, + 665AEE421856A7879CAADEAE, + ECB7556075E4B30B349D5743, + 153471AF7F80ED6F5DC05F52, + 6CE817F1B293A32611E8D0D3, + AEE2CB5328331BA30650EB40, + 62E7B14FF66C8FBBCDCA6966, + 6F22282EF3C19EB339CD58BF, + 5A52A1567548066CC36AF1B1, + 2AFC282D5BF1448771ACC29B, + 534132BC1AEC87A5CA2C22F5, + 53018020F12F0FA4F1C1F716, + 34C652F95403440FCC24BE11, + 19B60543CE214DDC48A9C652, + AD77F584422F1F6353009817, + C0D83926F5E4FC421C28C277, + 848068F85B9C66FD69FFEBA3, + 766C3C995063BBD36AC86E64, + 115E1E13FA5893BE59B395D5, + FE9BC9604165B24C2AD63BB7, + 282E9D3F24F19EB3A9263E0C, + 6374689025FD58429527C2E9, + 1E680515913AB616D141583A, + D79A70561BC95BE42F900F2E, + 92DA7079019C276D5070DA7F, + 5956EB6567B1867382A55CE5, + 320A30C3BAD52D3A5C5A62C2, + 57F667ACD8A52288C6AC6088, + F6C6441672B78F4D4F5E776F, + 2A78EE759AB4E3AC3EA269CE, + 8AC3A00E039780A6B44EE932, + 67B11A9E7FFB6C7F8AC0AAC0, + 657295DF9D4C1FFB5313440D, + 8F194B8AB1A57A87158BDF57, + 3A72444990DE940EB3822161, + A05F17D98F09EC8DEB99C181, + 460C03047681129B0EE44B39, + E3AC1627011B7DC669A8FAAC, + ADDBBB2FC62550D4B71606FE, + 1BF545D5B988C75E268BBFE7, + D6159ABF4834368C6DB05550, + 3FF68C5CFDA8E9FE17674473, + B55EF743EA23BD17A9EF583F, ); name = jpglib; sourceTree = ""; }; + A25ED20AD08035C25AFFB38A = {isa = PBXGroup; children = ( + 8E96766BC6AC8861D35DC359, + DC6E56D580CE47F727B24FD9, + 6015A8DB345D5D619544228B, + 40C9494F8F133EF9E59DD87E, + 9700F79102DC2BA016E13CE9, + AAECBF2C4C2D5DA2E17388D6, + D56026D62416B7B62184E98D, + 790ACB9FB268AE53BB534694, + AF07D42A4906442B2E00DD52, + 26EC2293D824AD4824E53817, + D4CC5C1BF250183D98A5053D, + 932964B332CC31005CAE0FB8, + 0765A9ED22780490FC854A48, + 44188B2A6DDF9444E71AE24D, + 9B2A7377A5875438B11A7150, + C300FA91381C0196F8839EC4, + DDAA1B4C24AF34B186B6C2AC, + 9CC93818FCDC916B482CE877, + 9C86DB7AA3376810B70D984C, + 834DB37BB8F4828894ACCBC1, + 82CD4378BFDC7FF0754B49F1, ); name = pnglib; sourceTree = ""; }; + BC8317BABBA7FC6EE17E643D = {isa = PBXGroup; children = ( + 515EB58EBE453F363077187D, + A25ED20AD08035C25AFFB38A, + EE785DBFA288EFA2E7AB2108, + 659BEDAE6C17DD4FA6B74971, + 35CCF611A1FFF0A68FA75161, ); name = "image_formats"; sourceTree = ""; }; + 83E6E3C04FEBEB1DC8C46A3A = {isa = PBXGroup; children = ( + 4E2E741BA1779C70049641D0, + C63DB03ADC0A6E3C45DD88C9, + 981D4316CDD5076577509386, + 3D95AB0F7898371918F9E8FA, + F58C62E4CFF820B85CEF0A9A, + AE8492E6A10C324142D09EA8, + 48D212A6051005FB7A4BC338, + 8BEBE3E3D47AD3E8AAACF7BA, ); name = images; sourceTree = ""; }; + DE967DC275C5214E1D06352C = {isa = PBXGroup; children = ( 56F46591D347CA4272001691, 6421875FDD1DB8F8C322F3A8, 30453B2E00C2367919B4AC25, @@ -1074,19 +1307,57 @@ 0493323D5A1374BBEFCFE455, 53F3EB3D456B15EF5CC6FC67, A5E748EC8CB636CEBF7BA497, ); name = native; sourceTree = ""; }; + 58DC873B7C8FCEBC3DD34AFC = {isa = PBXGroup; children = ( + 02FA201D32033D122C04A1B5, + 7EE080AF681F1D927DF35B95, + C71BB293CEF65605741E0CDA, ); name = placement; sourceTree = ""; }; 0BD57F3380CCDFE06E36335D = {isa = PBXGroup; children = ( - 39D7580AE0D199F462A0411D, - 8090AB4707E33400125CA4C9, - 6DD41751A3949FBC19CC8416, - 39F75EB88C131A0C1E7C5350, - 1B141638D452CFF03036C180, - C8E76BBA092B9546D62BFFE4, - CBF50CCCB6412B6D1DC75BAC, - 9860A568DF9EDABCEE8B9490, - B3A6498CEE78E75BCCC0DC93, - 7402FA767F4FD9CCD3DD1578, + B1E5F704D926FC8926955788, + FE6268706C83DCE55FAB38C3, + 1FAF597064B68F217DAA22FB, + 06AB29F987FA0C7C31D28DE0, + 99B4268E3E1848B194810B09, + BC8317BABBA7FC6EE17E643D, + 83E6E3C04FEBEB1DC8C46A3A, + DE967DC275C5214E1D06352C, + 58DC873B7C8FCEBC3DD34AFC, + 68A7A211857CADBC1884CE34, + C794DBEF09A83E199223D205, + B2650D0AA7710D3C2627238A, C794DBEF09A83E199223D205, ); name = "juce_graphics"; sourceTree = ""; }; - 51F1DE322ACA481FA5B3E623 = {isa = PBXGroup; children = ( + 19A7A8F8BEDABB95F1BD280A = {isa = PBXGroup; children = ( + E31FA0995B22027AEF89904B, + A570C960A1D5C3F9E50A928D, ); name = application; sourceTree = ""; }; + 1F43F0BE64F670F7C0440C9A = {isa = PBXGroup; children = ( + 717C583F454C2AF7BAF710A7, + 71D588CCC35F0C1A5A0E9E3F, + 1E19C8C3F46E236277F58F42, + 0C1C8C5879770EF4E8824EF3, + E80A7D62B2B3F4BD2CD3F170, + 3F111FBCEE1230015F476C68, + 130A28E84D438B08C6B5D5A5, + 4DD07E53E4ABDE534D34981E, + D711FA513F8E9F696570DBB5, + 302AFDDB94F243E1C82AF3E9, + A20C7B40F6C5309CBEC5038E, + 0A82B6536AC2C02E099AB0AB, + 14EED238D31DAABE590C749A, + C88CAA67E7AD9181F1C9E3CE, + 1A6CC0CB9A61C67DF712B06E, + CE290D98DCBBDC902406E73F, + FB3723E1113ED13B4B8DF09A, + 0525B4E0F2387B1F3AA520F8, ); name = buttons; sourceTree = ""; }; + 83C6B62A66EEF60E63401364 = {isa = PBXGroup; children = ( + DD7B2584B0C91BB4124A397E, + 5044BE1EA711B629563F70CD, + 6E8326A0BC2AAA5F82287220, + E9904E84AFCF3AB39B03BAA9, + 081B7C7D1B9CB7F72A193DEF, + 5DBA0BFB2868C3E1F1E871FB, + E422C589FA0328C35A0549FD, + 1FC1E37865F424D91228A888, + F59A5377B8D4476B34214F98, ); name = commands; sourceTree = ""; }; + A1A6F2AE1445B081B6789A12 = {isa = PBXGroup; children = ( 37380DEDD5BEE5E9267FA12F, 9132D1324A6D6D049C9B2FFE, 02BD81436ED17F1341E19522, @@ -1096,28 +1367,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 = ( + F3878302110D3349FB5F8713 = {isa = PBXGroup; children = ( + B2485AFF4249D9C40B9B54CB, + E833133B78833DA0D34F48A4, + 451343A64FCB48BC926E0962, + 1C2A1CDE2DA322901B0899F8, + 7A704BB75CD29EA20C349CDA, + 20BC71D082643A43C9BD37C1, + F8FDB57B9F26F2B0582CBEED, + B6C28B2DAE4802FA291E3487, + 32B8A985D15EAE4008F43D5F, + A93E7F99453C2CD22B7B7115, + 71D7F3CED9D84ECF00E3C7DF, + BA92F6D1BF35CF6623B0BD1F, + E7405CD3B6CF257A84E60DB5, + 505E065430B4C61E119415FE, + 9F3BAC34BBE550826A0C2B4D, ); name = drawables; 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 = ""; }; + 0C19C4FD606A5CF4F903C746 = {isa = PBXGroup; children = ( C26182D37D8E31BD85FDEF5D, 0CFAADB1812DF1EFFFE48116, 6CB12AF57587118CCC37BC8B, @@ -1131,62 +1420,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 = ( + FCF4EB47E8B91B246BF8F2C6 = {isa = PBXGroup; children = ( DBBD318E15A635AACB31E1DE, C6313E766ECDCE48435BA5A0, 27E36BA8310CE73DCCA58AC9, @@ -1223,72 +1457,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 = ( + 65F5A907B536ED3AB5F167CE = {isa = PBXGroup; children = ( 9D0323FECB030B06FBD0F627, 01A853C55CAE8341C207A758, 7E8133ED13638E1D0C6F849F, @@ -1297,48 +1466,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 = ( + 85DC2A0DE25A87E9ECCB959E = {isa = PBXGroup; children = ( + 133B528A88E99C116B75BFDA, + D0B7D5B46558A7393B43C79B, + 9B0ADC4932AEE1AEDBAAB8AE, + 3CBF4CE2F60BBF9EB9637BC5, + DD374C28FF1CF5F121C3C6E5, + 5187A18B4BAC7087C4FE8060, ); name = menus; sourceTree = ""; }; + AC118174F27D5406A21C5F1D = {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 = ""; }; + 03554D7F6F0A4EF340691A0F = {isa = PBXGroup; children = ( 8E3F7589FDC16A7DA986FC42, E96CBEBCDABA3EA741C4C2EC, 305C7AE4DF0701B34616E4FA, @@ -1355,27 +1516,107 @@ 07D2814B9A8E25F3269B675D, 3705B72C4B467A1EABEC9C49, FE8B93BA3F56CCC0BB37A5C8, ); name = native; sourceTree = ""; }; + EC25B0D29D284562E8E21CD6 = {isa = PBXGroup; children = ( + F3327A4ED4197E583711EC38, + 8894A48D347FE788EFD7D0AC, + AC0B866AA2C5F577AA221143, + 6930D056DFFC6EAA2B52E045, + BE72D524BA45BC24B3264F2C, + 543A10EED475842E60CE7F3C, + E281E7EA009C44FA607DAFEB, + B16933E10DCBA3CC20ADFAFF, + 6B29E55E890064489381C65A, + 1BAB3298971199DD4A26042B, + 558FEC99442C039E45679325, + 45A89EE380DBADF9105B866A, + 18BF5D458C9584CD0136DCC7, + 2DBE41449BBADA6D1242D7E4, ); name = positioning; sourceTree = ""; }; + F4FA50966FEF096560087789 = {isa = PBXGroup; children = ( + 294C8642232443EEC9C4DF3D, + 2327E88F48EE9DBD166727F4, + A507DE8ED0DFE58D8443F1D0, + 7C019D56F09C3415D36A0058, + DF82F535AAA1380C3213FF03, + D5AAA258357323FD8DBC7B08, + 2BB6FE1F813E3EF9FB1FAACE, + CD87ECBCB1347FDB040D63FC, + 5B0D2EC9A8AC716C07B61137, + 86ECCFC606602CF42A755A8D, + 27A1A9F9CB957FACCFF348D3, + DFB1FF7E047D9883528DECF8, + C1A8DCB1BD40331EFC186CF7, + 5BFC164CB4F8BC4FD839EDC8, ); name = properties; sourceTree = ""; }; + 1AF8C13A93AA6ECAE1FE33BD = {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 = ""; }; + F1CF51E4C56B3B8C9D3C22C1 = {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, + 19A7A8F8BEDABB95F1BD280A, + 1F43F0BE64F670F7C0440C9A, + 83C6B62A66EEF60E63401364, + A1A6F2AE1445B081B6789A12, + F3878302110D3349FB5F8713, B0DA666A72BF97CE5C6452EA, - 8BA9558E831744561590ACEA, - 9BFEAB312F069BA6BD17F30C, - FFADE91960A55164D44E8FCE, - 61EFC47D10826ECFA538F192, - 31F1BE05C5BC30558F8039AD, + 0C19C4FD606A5CF4F903C746, + FCF4EB47E8B91B246BF8F2C6, + 65F5A907B536ED3AB5F167CE, + 85DC2A0DE25A87E9ECCB959E, + AC118174F27D5406A21C5F1D, + 4CEA1CAE0326D7D757F5DCD9, + 03554D7F6F0A4EF340691A0F, + EC25B0D29D284562E8E21CD6, + F4FA50966FEF096560087789, + 1AF8C13A93AA6ECAE1FE33BD, + F1CF51E4C56B3B8C9D3C22C1, + BDD5FB3B38CE0ABAAB23792D, + 614E3EC828D056202DC10732, + 01D2B9B2D33BFF1F4B571B7E, 614E3EC828D056202DC10732, ); name = "juce_gui_basics"; sourceTree = ""; }; - E40525D81D015389B0388510 = {isa = PBXGroup; children = ( + 3B3177A62307CC9E1487DEAF = {isa = PBXGroup; children = ( 46A2A110922BAD26FB4298C5, 6261EB3783A9DF264A122DC6, 4D44E9AD19469774ED8245B2, @@ -1388,14 +1629,14 @@ 47051A94D9B45B21017A867F, B93ACCE3F29334143039311C, D735FA88C8465C02D4217A39, ); name = "code_editor"; sourceTree = ""; }; - 7A7F0DF75E9B01FE9A9470B2 = {isa = PBXGroup; children = ( + 917BA77E8A05F5F217D0E2DD = {isa = PBXGroup; children = ( 1667021AB391F5D9B82B186D, 2CBD98BBA9322461A3ED0D05, ); name = documents; sourceTree = ""; }; - 5339003A04D05F6E3F333436 = {isa = PBXGroup; children = ( + A2648DB3D9CC727490A690CE = {isa = PBXGroup; children = ( 6C632E34FD1B617525987657, 02C0DD7DC29B27B39D5FF154, DD10783090721EFE21E4FAA5, ); name = embedding; sourceTree = ""; }; - F4FF39023AE719A2C1FDFCF6 = {isa = PBXGroup; children = ( + 518915E1B6795C40C04DF4C6 = {isa = PBXGroup; children = ( DCCDA2F20A439FE5044946DE, 5E4F70838E79D6A25B8A80B0, 74AB579ADDC7C355C5704A16, @@ -1416,7 +1657,7 @@ 7A6E2A815D9AE276CF064A24, 8C439BE182790867BCC9ADFC, 1F4C7ECC97B4C80BD98F32C1, ); name = misc; sourceTree = ""; }; - E145BB5F87254EDB7C912760 = {isa = PBXGroup; children = ( + 88CD76DA43F3FCA35D5DFF20 = {isa = PBXGroup; children = ( 118B13BE32C7FDCE82BDC495, 939EC86DADE3927918AA327C, 8FA331691E39F5D8FB0DCDF8, @@ -1430,12 +1671,14 @@ 5B6BC49A6F74A8021E73E3A2, 9B02109FBEEB89243D72FC11, ); name = native; sourceTree = ""; }; D073C93C9EC5893BBF5B728C = {isa = PBXGroup; children = ( - E40525D81D015389B0388510, - 7A7F0DF75E9B01FE9A9470B2, - 5339003A04D05F6E3F333436, - F4FF39023AE719A2C1FDFCF6, - E145BB5F87254EDB7C912760, - 8FBE4F804ECCBADAA37592F0, + 3B3177A62307CC9E1487DEAF, + 917BA77E8A05F5F217D0E2DD, + A2648DB3D9CC727490A690CE, + 518915E1B6795C40C04DF4C6, + 88CD76DA43F3FCA35D5DFF20, + B09E131E4E588C510BF53AE2, + C001B0F67BB17E32A3BC8F92, + F21F13BF684528EB7041BD67, C001B0F67BB17E32A3BC8F92, ); name = "juce_gui_extra"; sourceTree = ""; }; C37CC96B89E62143A0E75336 = {isa = PBXGroup; children = ( 077C855D265E61FB93F96107, @@ -1446,15 +1689,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, @@ -1463,7 +1706,7 @@ EF932865774E86525CE7FC55, 6E43583682EFEBAE58D59BA4, ); name = Frameworks; sourceTree = ""; }; 1C83313FCFBC3FAFA8CDB087 = {isa = PBXGroup; children = ( - EA398D9C544440E06637C134, ); name = Products; sourceTree = ""; }; + 630E0739D24A3C9E99CD4592, ); name = Products; sourceTree = ""; }; CB9C4DF3F11D65C6BF6B80AD = {isa = PBXGroup; children = ( 23A603C0DAA7E2E423A4123A, C37CC96B89E62143A0E75336, @@ -1471,7 +1714,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; @@ -1487,11 +1730,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; @@ -1508,13 +1752,15 @@ 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; SDKROOT_ppc = macosx10.5; }; name = Release; }; F6DA01300C80F2338FCBD24A = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -1543,34 +1789,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; 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-App.plist b/examples/HelloWorld/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..29b13c5a --- /dev/null +++ b/examples/HelloWorld/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + HelloWorld + CFBundleDisplayName + HelloWorld + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + + diff --git a/examples/HelloWorld/Builds/MacOSX/Info.plist b/examples/HelloWorld/Builds/MacOSX/Info.plist deleted file mode 100644 index e0b2355a..00000000 --- a/examples/HelloWorld/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.roli.jucehelloworld - CFBundleName - HelloWorld - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - ROLI Ltd. - NSHighResolutionCapable - - - diff --git a/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj b/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj index a4b175ec..c9b71640 100644 --- a/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj +++ b/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj @@ -125,31 +125,55 @@ - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -164,70 +188,67 @@ true - - true - - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true @@ -266,106 +287,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 @@ -374,22 +404,22 @@ true - + true - + true - + true - + true - + true - + true @@ -410,6 +440,18 @@ true + + true + + + true + + + true + + + true + true @@ -419,6 +461,15 @@ true + + true + + + true + + + true + true @@ -440,25 +491,28 @@ true - + true - + true - + true - + true - + true - + true - + + true + + true @@ -476,229 +530,241 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + true @@ -728,25 +794,28 @@ true - + true - + true - + true - + true - + true - + true - + + true + + true @@ -773,79 +842,121 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -854,7 +965,25 @@ true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -881,120 +1010,200 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + @@ -1006,25 +1215,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1034,6 +1224,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1047,39 +1271,82 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - - - - - - - - - + + + + + + - - - - + + + + + + + + + @@ -1089,19 +1356,12 @@ - - - - - - - - - - + + + @@ -1112,10 +1372,15 @@ - - - - + + + + + + + + + @@ -1126,39 +1391,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1167,33 +1467,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1213,15 +1486,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1229,13 +1516,6 @@ - - - - - - - @@ -1243,31 +1523,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1293,16 +1573,13 @@ + - - - - - - + + diff --git a/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj.filters b/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj.filters index dd2ba5d3..7be430db 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} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -41,60 +44,60 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {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,80 +107,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -208,45 +217,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 +232,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,77 +256,35 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - 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 @@ -397,6 +298,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -454,17 +358,155 @@ Juce Modules\juce_core\native - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\undomanager + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core Juce Modules\juce_data_structures\app_properties @@ -472,23 +514,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -508,6 +553,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 @@ -523,6 +580,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -544,26 +613,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -580,236 +652,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -838,26 +925,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -883,80 +973,122 @@ Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - 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\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\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 @@ -964,8 +1096,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1012,6 +1162,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1090,22 +1354,28 @@ Juce Modules\juce_gui_extra\native - - Juce Library Code + + Juce Modules\juce_gui_extra - + + Juce Modules\juce_gui_extra + + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + + Juce Library Code + + Juce Library Code @@ -1113,50 +1383,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 @@ -1176,6 +1488,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1215,137 +1530,35 @@ 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\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native Juce Modules\juce_core\network @@ -1386,12 +1599,6 @@ Juce Modules\juce_core\streams - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - Juce Modules\juce_core\system @@ -1407,60 +1614,180 @@ 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 + + + 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\unit_tests + Juce Modules\juce_core\xml Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core 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 + Juce Modules\juce_data_structures\values @@ -1470,20 +1797,35 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures + + 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 @@ -1512,36 +1854,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 @@ -1551,6 +1863,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -1581,17 +1902,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 @@ -1623,38 +1959,71 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -1665,167 +2034,158 @@ 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_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -1884,32 +2244,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native Juce Modules\juce_gui_basics\positioning @@ -1932,27 +2334,6 @@ 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 @@ -1974,80 +2355,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2124,6 +2505,9 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_gui_extra + Juce Library Code @@ -2132,23 +2516,11 @@ - - 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_graphics\image_formats\jpglib - - Juce Modules\juce_gui_extra + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj b/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj index 59a9840d..decbf835 100644 --- a/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj +++ b/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj @@ -131,31 +131,55 @@ - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -170,70 +194,67 @@ true - - true - - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true @@ -272,106 +293,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 +410,22 @@ true - + true - + true - + true - + true - + true - + true @@ -416,6 +446,18 @@ true + + true + + + true + + + true + + + true + true @@ -425,6 +467,15 @@ true + + true + + + true + + + true + true @@ -446,25 +497,28 @@ true - + true - + true - + true - + true - + true - + true - + + true + + true @@ -482,229 +536,241 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + true @@ -734,25 +800,28 @@ true - + true - + true - + true - + true - + true - + true - + + true + + true @@ -779,79 +848,121 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + 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,7 +971,25 @@ true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -887,120 +1016,200 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + @@ -1012,25 +1221,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1040,6 +1230,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1053,39 +1277,82 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - - - - - - - - - + + + + + + - - - - + + + + + + + + + @@ -1095,19 +1362,12 @@ - - - - - - - - - - + + + @@ -1118,10 +1378,15 @@ - - - - + + + + + + + + + @@ -1132,39 +1397,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1173,33 +1473,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1219,15 +1492,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1235,13 +1522,6 @@ - - - - - - - @@ -1249,31 +1529,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1299,16 +1579,13 @@ + - - - - - - + + diff --git a/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj.filters b/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj.filters index ea941429..30357f41 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} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -41,60 +44,60 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {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,80 +107,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -208,45 +217,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 +232,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,77 +256,35 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - 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 @@ -397,6 +298,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -454,17 +358,155 @@ Juce Modules\juce_core\native - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\undomanager + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core Juce Modules\juce_data_structures\app_properties @@ -472,23 +514,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -508,6 +553,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 @@ -523,6 +580,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -544,26 +613,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -580,236 +652,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -838,26 +925,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -883,80 +973,122 @@ Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - 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\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\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 @@ -964,8 +1096,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1012,6 +1162,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1090,22 +1354,28 @@ Juce Modules\juce_gui_extra\native - - Juce Library Code + + Juce Modules\juce_gui_extra - + + Juce Modules\juce_gui_extra + + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + + Juce Library Code + + Juce Library Code @@ -1113,50 +1383,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 @@ -1176,6 +1488,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1215,137 +1530,35 @@ 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\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native - - Juce Modules\juce_core\files + + Juce Modules\juce_core\native Juce Modules\juce_core\network @@ -1386,12 +1599,6 @@ Juce Modules\juce_core\streams - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - Juce Modules\juce_core\system @@ -1407,60 +1614,180 @@ 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 + + + 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\unit_tests + Juce Modules\juce_core\xml Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core 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 + Juce Modules\juce_data_structures\values @@ -1470,20 +1797,35 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures + + 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 @@ -1512,36 +1854,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 @@ -1551,6 +1863,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -1581,17 +1902,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 @@ -1623,38 +1959,71 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -1665,167 +2034,158 @@ 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_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -1884,32 +2244,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native Juce Modules\juce_gui_basics\positioning @@ -1932,27 +2334,6 @@ 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 @@ -1974,80 +2355,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2124,6 +2505,9 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_gui_extra + Juce Library Code @@ -2132,23 +2516,11 @@ - - 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_graphics\image_formats\jpglib - - Juce Modules\juce_gui_extra + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj b/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj index 7e773624..bda19905 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,12 +15,12 @@ 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"; }; @@ -36,10 +37,14 @@ 03E4C81E1D323C0CD78DC8A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; 0493323D5A1374BBEFCFE455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 04A6FE27FC63E4D27E857CBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 04C1883C7C586DCBBFC91F71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + 04D477205B8034DAA43B0956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 0525B4E0F2387B1F3AA520F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; 068349E735D107BE09BEC641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; 06EF239CDE579FFC28F65BE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 07064C4F0CA036ABDCF9C708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0765A9ED22780490FC854A48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; + 07702A4183BD22E964E25021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; 0784B69B6377F90FB264DCB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; }; 07B9E81DB1A4F13B7FF54FD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 07D2814B9A8E25F3269B675D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -66,29 +71,34 @@ 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"; }; + 115E1E13FA5893BE59B395D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; 1316BB7ACE3F151F3B44A3EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; 133B528A88E99C116B75BFDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13E90ACEFF33BACA7E2431C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; 140B14E0142DF835F1C6D951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; 140BFF25B0078C0709FF2461 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1473903057B414B186B8D6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 14EED238D31DAABE590C749A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 14F44BEA5F54F7E064122CC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + 153471AF7F80ED6F5DC05F52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; 15569873F24C4157977C8D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 158F40026FBDA4EE9F90CF02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; 15DBBA2C2CCC22B3488B48F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 1657734A03E0F21166FAE9E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 1667021AB391F5D9B82B186D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 1679AB8658094A527E7A2811 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1680674B6C054A861C5B0C3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; 17697EA857D23FAC8FF46868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 1818AAD83B5C0FC5B322446F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 1846D85E50A6B97BBC5EDD6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; 189CC2967B6148BE990281E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; 18BF5D458C9584CD0136DCC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 18F87CFF17A2C8B806B58028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 19B60543CE214DDC48A9C652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; 1A07D7AE9814E2D42F2B2EEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; 1A6CC0CB9A61C67DF712B06E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A849B3BFFE1598017793994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -96,6 +106,7 @@ 1B799004320846B17A0D2820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 1B9D255022E9F460E5F710C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; 1BAB3298971199DD4A26042B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 1BF545D5B988C75E268BBFE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 1BF703172DA6AC2179913394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 1C2A1CDE2DA322901B0899F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; 1C3E6A1B46D80DBFEE6CF33B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -105,6 +116,7 @@ 1D68491BDF0E63AC125D454C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; 1DFCB49A7B79D79376629528 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 1E19C8C3F46E236277F58F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1E680515913AB616D141583A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; 1EC7132F648E537E2B1F95EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 1EECC1DDB24892ED2BE2FC44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 1F16E8AF03971A15157AD981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -116,6 +128,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"; }; @@ -130,20 +143,26 @@ 2575944C94EF083E2CBDBFA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 26341A8D55A799AC0ED8B33F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; 26D9D7114D4E9ECBABA9C391 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 26EC2293D824AD4824E53817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 27A1A9F9CB957FACCFF348D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 27E36BA8310CE73DCCA58AC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 282E9D3F24F19EB3A9263E0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 290F049AD4CAF99EED58D787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; 293CD4C7F50623F81F3D6297 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; 294C8642232443EEC9C4DF3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 295439C55D8A711959ADABD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 29610D1C68DD1FA2043A0D95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 2A1CE4FC4448FBE9D4713C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 2A3D243054F8E1C94ED0A0E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2A78EE759AB4E3AC3EA269CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 2AFC282D5BF1448771ACC29B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 2BB6FE1F813E3EF9FB1FAACE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CBD98BBA9322461A3ED0D05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 2DB2C70618EAA8DC81B2564F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 2DB4D07F237B52911EB0B812 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2DBE41449BBADA6D1242D7E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 2E621C1E7F2E9FC6A6D14282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + 2E96FBE457CFCC02709A686B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; 2EC797F05D27994FD0B4F19B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 2F014FFE6BB6209B7BBBCB79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; 2F1A2B5F25C3F2502932EFF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -157,15 +176,17 @@ 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"; }; + 31863A4B3703065F42879005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; 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"; }; + 320A30C3BAD52D3A5C5A62C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; 33BDA746816EE0D0EBB559DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + 33EFCE1032F220542A1B889E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 34C652F95403440FCC24BE11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; 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"; }; @@ -175,8 +196,11 @@ 3832110FA8DA58E650AB6F9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 38E5FF4A3CBEA8C42D9F14CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; 3944F07DE8E0975B663BFEB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 3952879CBE90C146415084BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; + 398EBE3DE099694FF5C5B632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; 39F7F5DC827150D2E57F1DBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 3A1128BBCB04C3DCE2E5D37E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + 3A72444990DE940EB3822161 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; 3A8FC4F98008643A60177AEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 3A9E838A0D5461D20726AE71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; 3B3F316BC1E0486A4FD27686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -190,22 +214,27 @@ 3E65BE3F701901EC447327AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F111FBCEE1230015F476C68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; 3FB71EFD64D47E52DADCACA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3FF68C5CFDA8E9FE17674473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; 403E7E9949CFE8BD73DDD909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 408110CA0AFFDF83F3AF497D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 40A7C1EB6363A8FC4A9900B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 40C9494F8F133EF9E59DD87E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; 41535CB61E936ECEBB04FFAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 4239AF0A782192683CE4F2A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; 42D4C2092537DD2A5054134F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + 44188B2A6DDF9444E71AE24D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; 451343A64FCB48BC926E0962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; 453B6D80B6389BE1341A0A29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 4543C730A5DA77649C20B6B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 458C003240D4C31FF940A99C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; 45905746CA7C3BFE98B583C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 45A89EE380DBADF9105B866A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 460C03047681129B0EE44B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 46393FE4FE6D8683444CD1A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 46A2A110922BAD26FB4298C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 46BD0A7BCF4C608DB94285EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 47051A94D9B45B21017A867F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 4768C1FC1905B28D2B11A0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; 47B6D5118C5FE2D6A452A487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; 47BB119E08A7A1A468564B9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 47D12441679F0062EB7C96AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; @@ -219,12 +248,14 @@ 4A8C64BB96FB93919DDF2166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 4AA6BD2A3FDFADDCB0322F9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C34CB4DC542D86A193C055A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 4CB0E502D1461C0231DA9559 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; 4CC331BEE18B3EC4BADF38CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; 4D44E9AD19469774ED8245B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D6C90354134741F7F295412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DD07E53E4ABDE534D34981E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 4E1058572E25FD04B7D60700 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 4E2E741BA1779C70049641D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F1B04D79D53E699BF00647E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; 4FF67CE1DFACAFF545D8E9AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 5044BE1EA711B629563F70CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; 505E065430B4C61E119415FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; @@ -236,16 +267,25 @@ 523B09319B14E721921D830A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; 52AAE149F3EC7BAB0E7703DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 52D7E72C26E3D1589A6A1BD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53018020F12F0FA4F1C1F716 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + 534132BC1AEC87A5CA2C22F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; 536EB9664EDB02A4CBF9BD28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53DDE7DB39705327EF49011D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; 53F3EB3D456B15EF5CC6FC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 543A10EED475842E60CE7F3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 5457E4C7D67E767CCD8B0964 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; 54FF1D1CC748FA043A28004F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 553D67BF246543F8CDD18F3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; 555CE1B4514C7E3BBB1A009E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; 558FEC99442C039E45679325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 55E627FDBA6A7978821CB281 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; 56E41C2987E763CEE092B7A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; 56F46591D347CA4272001691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57F667ACD8A52288C6AC6088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 5956EB6567B1867382A55CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; + 597EFBF46DD40B520FC3DD27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; + 59BC03F1BF52F457B4BE0BC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; + 5A52A1567548066CC36AF1B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; 5B0D2EC9A8AC716C07B61137 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 5B67F01C0BA9323892900AF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 5B6BC49A6F74A8021E73E3A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -263,7 +303,9 @@ 5F55D2FE7338877E1CDD4B45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 6015A8DB345D5D619544228B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.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,12 +316,16 @@ 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"; }; + 62E7B14FF66C8FBBCDCA6966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; 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"; }; + 6374689025FD58429527C2E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; 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"; }; 6501D18FEF031C7FEF45F39E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 65269D81DF23F8211A61032E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 652822ADCD7393AF40945DA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + 657295DF9D4C1FFB5313440D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; 659BEDAE6C17DD4FA6B74971 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 65A7736ECC548A9FD10E4F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; 65A88D5E8C1F0BE74F05C072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -288,10 +334,15 @@ 65FC1A9B2D0CDCD2D0180A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 6603F93CB38F0E7BEB779A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 6615B376201BA6A338D7177E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + 665AEE421856A7879CAADEAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + 666E7C385CEAD1C2461F6A0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 67313924EE210EADEB66ECBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 675E6456CBD23C87B8F14544 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67B11A9E7FFB6C7F8AC0AAC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; 6816BB0D62EC676409B3587F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; 6889EF825EA839830C733D07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + 6894852FFF6711F1D1EDE6D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; + 68A7A211857CADBC1884CE34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 68CC5DF188B4F8D9BC4A397A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; 69266B83D819323230CB67B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 6930D056DFFC6EAA2B52E045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; @@ -304,9 +355,12 @@ 6C556B58616171CC70488F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; 6C632E34FD1B617525987657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6CB12AF57587118CCC37BC8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6CE817F1B293A32611E8D0D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; 6DE47E2E070BC5173F0985BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; 6E8326A0BC2AAA5F82287220 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; 6ED446E76E238A6243800BB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 6F22282EF3C19EB339CD58BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + 6F572F988272A1CA6514DB38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; 6FD7AFA0B4E7F4E848E33737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; 70C7586ACDA27A1FFC0C7AEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 70EEC63C3D1175FD705583F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -320,20 +374,25 @@ 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"; }; + 743C4CD1C3FC8F64B26332B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; 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"; }; 754A3F88F55E0FB7F179F2E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; 755B3410E5F1D6CD7CA350E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 766C3C995063BBD36AC86E64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 76CFBBB2BEF9D85D391DBDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 774896BADE9613608E2A1EFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 786ABCE38FCC63E58ED44C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 790ACB9FB268AE53BB534694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; 793CDD14387F49E8757B9042 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 79A4F1CF3FB5D20104693598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 7BAF0E6C07C8441252A0AF1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; 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"; }; 7C8D639A2FC3EA14709367B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -351,9 +410,12 @@ 822342F0C44B761EAB020F86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; 8288AF688CC74640DDA9309F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; 8299092A070FB3E459760F8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + 82CD4378BFDC7FF0754B49F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; 832D1429ADEE1B07AB3693A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + 834DB37BB8F4828894ACCBC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 83F74BA834946705EB9ED79C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 8414F7B17DA39B4D0B4C3739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 848068F85B9C66FD69FFEBA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; 84F1747F90732DE67C601E3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; 85CC7C10F36E6A615CF24289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; 86152CB848C36CC25014D020 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; @@ -369,25 +431,31 @@ 89C44D65C6EA486543A139E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; 89F164CF6D809DD8AB8FDB55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; 8A3F6FFBE098968DC1C4538C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8AC3A00E039780A6B44EE932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 8BA63270C9EBFE66AF17E7EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BEBE3E3D47AD3E8AAACF7BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; 8C439BE182790867BCC9ADFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8C7246482B959C4AF6EC5D87 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 8E018B63249825F4D00DEB6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; 8E07428942BF09DB0CC43EE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 8E1A22B596E70DF1D0C15F8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; 8E3F7589FDC16A7DA986FC42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8E96766BC6AC8861D35DC359 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; 8EA982741224B1BF1BB840B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 8EED918F1D3876E4EB17F5A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 8F194B8AB1A57A87158BDF57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; 8F6E58F2C5CA9D3C6DFEDDB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 9041FE725DC8818D8E686A3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.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"; }; 918FA23368FDE2ECDDC1CD08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92DA7079019C276D5070DA7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 932964B332CC31005CAE0FB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 937C0CF5DC3FFF6161D7776D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 939EC86DADE3927918AA327C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 93D1FA25103C27AFCCA1AAAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -396,7 +464,9 @@ 956BE6001A359C423014CED7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 95FFFE6A27ACBB4E28739E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; 966BC35C454118B1B895436D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 9700F79102DC2BA016E13CE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; 971270DAD06B91F5B156C362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 975AC19606552D5003580062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 97BFE20948105F757379B4F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 981D4316CDD5076577509386 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 984AA2236CD860A916ACF57E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -408,16 +478,23 @@ 9AF8A6A41A7FFACC570EBCF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; 9B02109FBEEB89243D72FC11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9B0ADC4932AEE1AEDBAAB8AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9B2A7377A5875438B11A7150 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; 9B5E2905BAEE2A1E7B7657AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + 9C86DB7AA3376810B70D984C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; + 9C8D0EB88C06DA8173460210 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; 9CBEE085CF47C89A93F2783E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CC93818FCDC916B482CE877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; 9D0323FECB030B06FBD0F627 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9E8FB9C3CEB5BE586BFE0BD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; 9EDBF1BC8604795A1B0774C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 9EF2F14290768DC26DBA6149 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; 9F3BAC34BBE550826A0C2B4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F994395393E0BFB8A320B04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; 9FBFACCA56589CDCC3D78F0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + A05F17D98F09EC8DEB99C181 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; A0816F5D3CB1D0509C714252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; A10311375CB3203008B0DD24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + A11AAF738E925C820C28C868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; A1637DEBD3438ACB0D7F48E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; A16B3D0EA58919EDAEB08792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; A16DA9030A96B26C6BF52FDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; @@ -437,6 +514,7 @@ A570C960A1D5C3F9E50A928D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; A5AFA37677301D3BEFDEB596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; A5E748EC8CB636CEBF7BA497 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + A63070A6BD30BF2E18A5A30C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; A74B522F55C871C8C41E253A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A75D66A07D6443E350214CC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; A7BF2E0EF7E381B811ED7981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -449,6 +527,7 @@ A9CCD637A179CD1BA7A27028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A9DFB028B3E73E65E1407098 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; AA75E89A148ADF8C55671CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + AAECBF2C4C2D5DA2E17388D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; AB5FD54FE20E3B8792AE7601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; AB625562B978102C10FD5311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; AB7582784F8607123662C3EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; @@ -459,15 +538,21 @@ ACD0AD8EACA79E8A6273413E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; AD0FE0F54DE76E0C35A3B692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; AD1F1A9815D8660FA0305028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + AD77F584422F1F6353009817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; + AD80179E716C3D3D69020A33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; ADC3125F0DCD2924ACB173EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; ADC4B846B6B3C43868E7E739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + ADDBBB2FC62550D4B71606FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; AE8492E6A10C324142D09EA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; AEB923D05C620EF9E927B48C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + AEE2CB5328331BA30650EB40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + AF07D42A4906442B2E00DD52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; AF0CC5F28EB37B1FABBDD5DD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; AF388A883A899EBF58A39D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; AFED7B4CED7DCA33DEA5F546 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; B05CF8A5EE33A7062E10DFD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; B0644268B39736787E910714 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + B09E131E4E588C510BF53AE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; B0D3494829C70D3D31E7195C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; B12282D4958ECC33E33301E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; B14210A622924919775310DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -482,10 +567,12 @@ 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"; }; + B5339DFC1FF6DD77FA8A2509 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; + B55EF743EA23BD17A9EF583F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; 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"; }; + B6746C8B6A9FE1D4308CE985 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; B6AC99C26F679771A2F942B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; B6C28B2DAE4802FA291E3487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; B6C345F16BFAD37B64A5605A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; @@ -493,7 +580,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"; }; @@ -501,16 +587,21 @@ BA5EF35337DDE160BCA69BE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; BA92F6D1BF35CF6623B0BD1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; BAC8A1406F49B48E85DBF2E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC4A302491A9A5D5853BE37B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; BD8335C336E988FF37044F21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; BDA5AC3B903F05E4ACBD16DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; BDCB1657E429C9F03CB17827 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDD5FB3B38CE0ABAAB23792D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; BE2B2B455F814E0C076837C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; BE4B29F0D308D1BA1046D8DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; BE72D524BA45BC24B3264F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE8904B1A3F9A1FE1261FB9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; BF2D0795D820910CCB587033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C0971BA5BDD299B588D1310E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; + C0D83926F5E4FC421C28C277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; 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"; }; @@ -519,20 +610,25 @@ C234FBE6290024F51478686E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; C26182D37D8E31BD85FDEF5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C2F65CD24CD207EFD5FAF7F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + C300FA91381C0196F8839EC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + C3577838EB7C3729E5C6E230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; C3AC4696140DE22682732FB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; C56DB2DC67E1DBA6C29044CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + C57323C33C241931932497F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; C626FA20C4D021076A4B943E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; C6313E766ECDCE48435BA5A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; C63DB03ADC0A6E3C45DD88C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; C64E52A86F2984D4A5F82EF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; C6A1B4D93C11BA29F36801E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; C6BCFCD2732C7153C33B6168 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + C6CA0624B45EC3D866BC0D79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; C71BB293CEF65605741E0CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; C743089A221B553DA6B45F65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; C75917573F92864DA80C9A11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -553,24 +649,30 @@ 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"; }; CE68E38ECB2AB54F08F79917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; CF9F9D13FD1B7ED219092643 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + CFECFAA56B3589FC89E54F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; D06CEB2AEDFB98E1406E06F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; D0B7D5B46558A7393B43C79B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; D45C31982C2D140B6B64D1C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; D49594C439C67202647804D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + D4CC5C1BF250183D98A5053D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; D4ED28003B9120E85F5CD490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; D4F8F05BFF087B2BCA01CB71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; D5054A3D5EBDC47D51FC99F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D53B158241A875303FC52D8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + D56026D62416B7B62184E98D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; D5AAA258357323FD8DBC7B08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D6159ABF4834368C6DB05550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; D624E1F31ADE1C718E97A3C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; D6BC0BD9CD8133D8634FFAB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; D711FA513F8E9F696570DBB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; D735FA88C8465C02D4217A39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + D79A70561BC95BE42F900F2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; D882D6E64CEFE8FFE435EF40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; DA64460418AFD14930104FEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; DA8CFA399CD27524DB69AD78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -579,24 +681,30 @@ DBBD318E15A635AACB31E1DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; DBE5789816F028CE53FD3EB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; DC4EE2A66A86B99C8D9B0068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + DC6E56D580CE47F727B24FD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; DCCDA2F20A439FE5044946DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DD10783090721EFE21E4FAA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; DD374C28FF1CF5F121C3C6E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; DD6356DF25DE4F39BFB2BD87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; DD7B2584B0C91BB4124A397E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; DD7DC4C53F386AD914887EDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + DDAA1B4C24AF34B186B6C2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; DF82F535AAA1380C3213FF03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DFB1FF7E047D9883528DECF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; E02684265B013C418CC7A242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; E02BE252CF20E4FABAC9A7B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; E04A33E4F8847DE1E285C089 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + E0A6C8B5CD3396AE5C500017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; + E0A6F645310D7B77741716C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; E143BF0720845D8A25BB16E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; E1592FAB1A9F6FAC33F051BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; E1774E60A49BD0CC9F7DB6B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E189A00A50805AE126B38E28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; E281E7EA009C44FA607DAFEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; E2C9F5675F700544E40B46C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E31FA0995B22027AEF89904B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; E3273B696D8398C56B0F1A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + E3AC1627011B7DC669A8FAAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; E41E6A613E45920223A133F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; E422C589FA0328C35A0549FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; E4AF8704D952EA14B38CA782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -611,6 +719,7 @@ E80A7D62B2B3F4BD2CD3F170 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; E830FDCCA2799244C53AEB8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; E833133B78833DA0D34F48A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; + E8606788391C1A26DBA73D23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; E862612C6909A6188FBEB8C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; E8C858BC5875BA7F76E62B28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; E8DCBADAA3B789839C797F82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -618,6 +727,8 @@ 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"; }; + ECB7556075E4B30B349D5743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; 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"; }; @@ -628,7 +739,6 @@ 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"; }; @@ -640,6 +750,7 @@ F3F9135662EDBBC14EBC448C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; F420591CACE7056F78000039 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; F45A8AE5F6E6FA5F6AEC8D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + F479F5F69CD7C9D636DC38A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; F4AB976B460420C5C94E6E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; F5047DA45BA2ECE24D308403 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; F58C62E4CFF820B85CEF0A9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -648,8 +759,12 @@ F5FD842A428369A565BC92E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; F69E6E1AC446B803B6C6A6B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; F6B44EB4315A24F4359BF2B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + F6C6441672B78F4D4F5E776F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; F6CA8CB0E2135154E38E9707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + F75D04569FFA36E764F23860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; 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"; }; + F83E8E5925D0396BCE16EF5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; 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"; }; @@ -664,13 +779,14 @@ FB9E2985FBE36494513C83A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; FC00A16A6756DBFE0B875F5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FC47B303DF1BE68BE78F9079 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD4A53AC44FCA6D7CAE4E889 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; FD5D001673478C39B79A9C6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; FD7E5A4B8C6532BD458B2A94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; FDDA86C3FCCC3C74F7CDA53D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + FE9BC9604165B24C2AD63BB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -682,57 +798,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, ); 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 = ( + AAFC4BAA1BAC168E9AD649BA = {isa = PBXGroup; children = ( 02123F620ABB8F19FCE4E7E5, F5D2E9784191EC7F2DFA3949, 068349E735D107BE09BEC641, @@ -754,37 +820,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 = ( + CCF8DFA529E5C66E36A0BD27 = {isa = PBXGroup; children = ( FC47B303DF1BE68BE78F9079, D882D6E64CEFE8FFE435EF40, 5457E4C7D67E767CCD8B0964, @@ -802,7 +838,81 @@ F5FD842A428369A565BC92E4, 83F74BA834946705EB9ED79C, 1657734A03E0F21166FAE9E8, ); name = files; sourceTree = ""; }; - 2AE9B24F8D2F81FB9B7FF4C7 = {isa = PBXGroup; children = ( + 50EA1BE98FB801CC0F7C6BC9 = {isa = PBXGroup; children = ( + AEB923D05C620EF9E927B48C, + 99FBA3CCFA443DB353B07F71, + C4272B1ABE77520CD6E55EB7, + ECC4847BBD2AC72116506F0E, ); name = javascript; sourceTree = ""; }; + 26B7BF0CA915573F826BA744 = {isa = PBXGroup; children = ( + 2026B0F45584BD5BECC4EFBA, + 1A8917A61F4F6E9766564420, + 3832110FA8DA58E650AB6F9E, + EF3A7A1A871BAB32EA1B46EF, ); name = logging; sourceTree = ""; }; + 6B72C89BFD2A471C3305AB07 = {isa = PBXGroup; children = ( + 5FCCDEEE0E7A1AD4179D1E1D, + FD5D001673478C39B79A9C6A, + 403E7E9949CFE8BD73DDD909, + AB625562B978102C10FD5311, + 39F7F5DC827150D2E57F1DBF, + 0B62C1B2DFE2EE1C8E1EB5B6, + 26341A8D55A799AC0ED8B33F, + 38E5FF4A3CBEA8C42D9F14CD, + F83EC8D59072A524F5DA56B0, + C6CA0624B45EC3D866BC0D79, ); name = maths; sourceTree = ""; }; + 085AFA572CD345EB311C3CD1 = {isa = PBXGroup; children = ( + 60DDA3B2D06C918647F0F2FF, + AA75E89A148ADF8C55671CA0, + C5401AF900EB8056416C1294, + 1F16E8AF03971A15157AD981, + 62733AC6CAD0F79BEAE0CF4F, + 09A3E1630BFC67C63AFEDE3A, + 46BD0A7BCF4C608DB94285EC, + 0B92355966B36E2B913BC8EE, + EF28BA2B5E24F4749F732230, + 601874CF9435F18E7B69AE6A, + 45905746CA7C3BFE98B583C9, + 89F164CF6D809DD8AB8FDB55, + 6C556B58616171CC70488F0D, + 6615B376201BA6A338D7177E, ); name = memory; sourceTree = ""; }; + D081E8CC3200EADB8F056820 = {isa = PBXGroup; children = ( + 17697EA857D23FAC8FF46868, + 4A5ED88CC2ED6ADD8A5B102A, + 975AC19606552D5003580062, + E0A6F645310D7B77741716C4, + 35BD72D236BE7ADC019B5564, + 6DE47E2E070BC5173F0985BB, + 79A4F1CF3FB5D20104693598, ); name = misc; sourceTree = ""; }; + 238A1CFDE7D251D15EDC2BE4 = {isa = PBXGroup; children = ( + 7D87E3CB6613ADCE674B00BE, + C7A6585C8F7FB3EF78837563, + AC488F0777290DB214E6E937, + A85BC2CE425BF6058D12702A, + E189A00A50805AE126B38E28, + F3F9135662EDBBC14EBC448C, + 786ABCE38FCC63E58ED44C5B, + 47D12441679F0062EB7C96AF, + 0C5169FC4BAB96B2F16BF5B8, + 942E454B72BC4A6CF702F2B4, + 5C4A0785E529A72663FC155E, + 23925ED31BD8E2D82FF86A31, + F78633365BAD28DA5864C502, + 1EC7132F648E537E2B1F95EC, + 68CC5DF188B4F8D9BC4A397A, + 9F994395393E0BFB8A320B04, + A7F0F0269FBC2B91DCB49989, + 89C44D65C6EA486543A139E9, + DA64460418AFD14930104FEC, + 6A8D0F24F0A1F95A52845506, + 04A6FE27FC63E4D27E857CBF, + 9CBEE085CF47C89A93F2783E, + 158F40026FBDA4EE9F90CF02, + C86288867D1603D982FB9AC9, + 994C767AF66B2C4731EAF528, + 6108C64B7B0AD2CA64F30DC7, + 14F44BEA5F54F7E064122CC7, + 295439C55D8A711959ADABD3, + A75D66A07D6443E350214CC3, ); name = native; sourceTree = ""; }; + D6E328F1BF1F19373B11FFC6 = {isa = PBXGroup; children = ( 21A118094F4A8DC6E9343AC6, 2206F8DB2D2D3042FFB24820, D4F8F05BFF087B2BCA01CB71, @@ -813,7 +923,7 @@ 1BF703172DA6AC2179913394, DD6356DF25DE4F39BFB2BD87, 3A1128BBCB04C3DCE2E5D37E, ); name = network; sourceTree = ""; }; - D46664D5E1C590C441D4F80B = {isa = PBXGroup; children = ( + B948E2575CB007B96DBD0073 = {isa = PBXGroup; children = ( 0DBB48BEAC0B38D509A6ED6F, 0E0B382367017DA9380D3C61, BD8335C336E988FF37044F21, @@ -829,135 +939,156 @@ FE39F19585CBAE3EE247840C, 70C7586ACDA27A1FFC0C7AEE, BA5EF35337DDE160BCA69BE2, ); name = streams; sourceTree = ""; }; - F87D6E9F1E5FE32A55A2A8DB = {isa = PBXGroup; children = ( - 2026B0F45584BD5BECC4EFBA, - 1A8917A61F4F6E9766564420, - 3832110FA8DA58E650AB6F9E, - EF3A7A1A871BAB32EA1B46EF, ); name = logging; sourceTree = ""; }; - A18C218B66BAD36C1F6FDB5D = {isa = PBXGroup; children = ( + 137FFE6AC63AB2AD57290A22 = {isa = PBXGroup; children = ( 6816BB0D62EC676409B3587F, 8F92FD719B301B68F4945EA9, F08B148BBAEA45BCDA3F066F, 41535CB61E936ECEBB04FFAC, EF54929F7151858D8FF8107B, 966BC35C454118B1B895436D, ); name = system; sourceTree = ""; }; - E3BC172EB1F1CA22B436FC42 = {isa = PBXGroup; children = ( + F77DED00B44702C5DA16CE4F = {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 = ""; }; + 302A5A28F54DB7B33612E0A1 = {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 = ""; }; + F8A00870CC78B667C512894F = {isa = PBXGroup; children = ( + B5880B8DE2B7362EF263D82A, + 8E1A22B596E70DF1D0C15F8C, + 15569873F24C4157977C8D9F, + C64E52A86F2984D4A5F82EF8, + 8215524ADDC78289AD8BD4CE, + AB7582784F8607123662C3EC, ); name = time; sourceTree = ""; }; + C02B24964C62524602494808 = {isa = PBXGroup; children = ( + 85CC7C10F36E6A615CF24289, + 0C36123881F7A4B6A144F272, ); name = "unit_tests"; sourceTree = ""; }; + 229C881AC4472CB902B310BD = {isa = PBXGroup; children = ( 498778ED99DF1BA68A6E3A18, 46393FE4FE6D8683444CD1A3, 32A77D14749535446A0BC825, 822342F0C44B761EAB020F86, ); name = xml; sourceTree = ""; }; - D959EACECE951B6D139A99C8 = {isa = PBXGroup; children = ( - AEB923D05C620EF9E927B48C, - 99FBA3CCFA443DB353B07F71, - C4272B1ABE77520CD6E55EB7, - ECC4847BBD2AC72116506F0E, ); name = javascript; sourceTree = ""; }; - D0CB81045FF79BEAD1744CAD = {isa = PBXGroup; children = ( + 9E3DBEA32D12EE8A02EEFF96 = {isa = PBXGroup; children = ( + E8606788391C1A26DBA73D23, + 76CFBBB2BEF9D85D391DBDD2, + 9E8FB9C3CEB5BE586BFE0BD2, + BC4A302491A9A5D5853BE37B, + A63070A6BD30BF2E18A5A30C, + 07702A4183BD22E964E25021, + 666E7C385CEAD1C2461F6A0E, + 59BC03F1BF52F457B4BE0BC4, + 9041FE725DC8818D8E686A3A, + 33EFCE1032F220542A1B889E, + 53DDE7DB39705327EF49011D, + BE8904B1A3F9A1FE1261FB9B, + 04C1883C7C586DCBBFC91F71, + 597EFBF46DD40B520FC3DD27, + F83E8E5925D0396BCE16EF5B, + C0971BA5BDD299B588D1310E, + 31863A4B3703065F42879005, + 743C4CD1C3FC8F64B26332B0, + 6894852FFF6711F1D1EDE6D2, + AD80179E716C3D3D69020A33, + 9C8D0EB88C06DA8173460210, + 290F049AD4CAF99EED58D787, ); name = zlib; sourceTree = ""; }; + 4B25245BBFF805679D76EF40 = {isa = PBXGroup; children = ( + 9E3DBEA32D12EE8A02EEFF96, E8DCBADAA3B789839C797F82, 3D32372B5CC311AA696124D2, A88106868D7BACF251D9EAA8, 8EA982741224B1BF1BB840B6, F2C96C26ACDFFE9D480D5561, 8E018B63249825F4D00DEB6C, ); name = zip; sourceTree = ""; }; - 9AE02D48833B87EB32478790 = {isa = PBXGroup; children = ( - 85CC7C10F36E6A615CF24289, - 0C36123881F7A4B6A144F272, ); name = "unit_tests"; sourceTree = ""; }; - 47B575A04992E9EA22045F72 = {isa = PBXGroup; children = ( - 17697EA857D23FAC8FF46868, - 4A5ED88CC2ED6ADD8A5B102A, - 35BD72D236BE7ADC019B5564, - 6DE47E2E070BC5173F0985BB, - 79A4F1CF3FB5D20104693598, ); name = misc; sourceTree = ""; }; - 95B8EA2C19F69EB464681FD5 = {isa = PBXGroup; children = ( - 7D87E3CB6613ADCE674B00BE, - C7A6585C8F7FB3EF78837563, - AC488F0777290DB214E6E937, - A85BC2CE425BF6058D12702A, - F3F9135662EDBBC14EBC448C, - 786ABCE38FCC63E58ED44C5B, - 47D12441679F0062EB7C96AF, - 0C5169FC4BAB96B2F16BF5B8, - 942E454B72BC4A6CF702F2B4, - 5C4A0785E529A72663FC155E, - 23925ED31BD8E2D82FF86A31, - F78633365BAD28DA5864C502, - 1EC7132F648E537E2B1F95EC, - 68CC5DF188B4F8D9BC4A397A, - 9F994395393E0BFB8A320B04, - A7F0F0269FBC2B91DCB49989, - 89C44D65C6EA486543A139E9, - DA64460418AFD14930104FEC, - 6A8D0F24F0A1F95A52845506, - 04A6FE27FC63E4D27E857CBF, - 9CBEE085CF47C89A93F2783E, - 158F40026FBDA4EE9F90CF02, - C86288867D1603D982FB9AC9, - 994C767AF66B2C4731EAF528, - 6108C64B7B0AD2CA64F30DC7, - 14F44BEA5F54F7E064122CC7, - 295439C55D8A711959ADABD3, - A75D66A07D6443E350214CC3, ); name = native; sourceTree = ""; }; 077C855D265E61FB93F96107 = {isa = PBXGroup; children = ( - 53B7ECB896E5903DD2493E14, - C3BF0F36B4C2A20B594B2C17, - 283F53CC2F8E672B54F90A31, - 7582B2AE14482E2927B3AE2F, - BF229D931FB1A5222CD9DB43, - CFA0FE5274773CA97B9EA5A1, - 120D356AA058212F80C97EAB, - 2AE9B24F8D2F81FB9B7FF4C7, - D46664D5E1C590C441D4F80B, - F87D6E9F1E5FE32A55A2A8DB, - A18C218B66BAD36C1F6FDB5D, - E3BC172EB1F1CA22B436FC42, - D959EACECE951B6D139A99C8, - D0CB81045FF79BEAD1744CAD, - 9AE02D48833B87EB32478790, - 47B575A04992E9EA22045F72, - 95B8EA2C19F69EB464681FD5, - F003AC63C800E3F090BF217F, + AAFC4BAA1BAC168E9AD649BA, + CCF8DFA529E5C66E36A0BD27, + 50EA1BE98FB801CC0F7C6BC9, + 26B7BF0CA915573F826BA744, + 6B72C89BFD2A471C3305AB07, + 085AFA572CD345EB311C3CD1, + D081E8CC3200EADB8F056820, + 238A1CFDE7D251D15EDC2BE4, + D6E328F1BF1F19373B11FFC6, + B948E2575CB007B96DBD0073, + 137FFE6AC63AB2AD57290A22, + F77DED00B44702C5DA16CE4F, + 302A5A28F54DB7B33612E0A1, + F8A00870CC78B667C512894F, + C02B24964C62524602494808, + 229C881AC4472CB902B310BD, + 4B25245BBFF805679D76EF40, + CFECFAA56B3589FC89E54F01, + FDDA86C3FCCC3C74F7CDA53D, + 116E9A279FB25AE32174C42F, FDDA86C3FCCC3C74F7CDA53D, ); name = "juce_core"; sourceTree = ""; }; - DB193F277014CB2D4EED9B10 = {isa = PBXGroup; children = ( + AC52466931A3B16BD9763E38 = {isa = PBXGroup; children = ( + E3273B696D8398C56B0F1A40, + DC4EE2A66A86B99C8D9B0068, + 89898A337D18F63C9DDE1AEE, + 1259079CB2A8907577BBBAA3, ); name = "app_properties"; sourceTree = ""; }; + 1C3C8DD49E0E51D4AB3006F0 = {isa = PBXGroup; children = ( + F35CA3BED53A2146B7623ECA, + 1A849B3BFFE1598017793994, + E58624F033F218AF36C7F9FD, ); name = undomanager; sourceTree = ""; }; + D2726D46D56DAF8F383FBF36 = {isa = PBXGroup; children = ( + 04D477205B8034DAA43B0956, + 4F1B04D79D53E699BF00647E, 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, - 3F1B3F5816792824A8FED9CF, - F27B1321E6B098E31C61FD54, - B8E7EC57DAC2DE65CFEC21E0, + AC52466931A3B16BD9763E38, + 1C3C8DD49E0E51D4AB3006F0, + D2726D46D56DAF8F383FBF36, + 13E90ACEFF33BACA7E2431C9, + 5F55D2FE7338877E1CDD4B45, + C1980330512BAADDA1CB0D24, 5F55D2FE7338877E1CDD4B45, ); name = "juce_data_structures"; sourceTree = ""; }; - FF92A51DE50343C6AA33A0DB = {isa = PBXGroup; children = ( - C4788802A0C1A2908645028B, - 016AB5DF7206562FA4B48A81, - A387B8D5928ABA707B55736D, - E862612C6909A6188FBEB8C8, - A5AFA37677301D3BEFDEB596, - C546B9AC32E553D5969B2537, - 86AE81E813B7FC9D59B66C05, - 29610D1C68DD1FA2043A0D95, - 1B9D255022E9F460E5F710C5, - 6501D18FEF031C7FEF45F39E, - D53B158241A875303FC52D8B, - 984AA2236CD860A916ACF57E, - B3CEFD554B22D2764327CC70, ); name = messages; sourceTree = ""; }; - A9B3363B5E302799D0945C6C = {isa = PBXGroup; children = ( - 8414F7B17DA39B4D0B4C3739, - C894801E6F257C0E84E5C03F, - DBE5789816F028CE53FD3EB4, - 62B84090765C713CC4250BB6, ); name = timers; sourceTree = ""; }; - A045CC1D9919072B85C45336 = {isa = PBXGroup; children = ( + 8B5D59397507DBD642F28154 = {isa = PBXGroup; children = ( 536EB9664EDB02A4CBF9BD28, 2575944C94EF083E2CBDBFA1, 0C90578962B82B1AE222578E, @@ -973,7 +1104,21 @@ 309B10A91B0698EC749802D5, 71EA769D5757AB3B16E5E6E6, EFE65E031B01332448C2BE5E, ); name = interprocess; sourceTree = ""; }; - 21AFBAFF05B76A3121EDCBFC = {isa = PBXGroup; children = ( + 34CAAF6F9811717AAD813B0E = {isa = PBXGroup; children = ( + C4788802A0C1A2908645028B, + 016AB5DF7206562FA4B48A81, + A387B8D5928ABA707B55736D, + E862612C6909A6188FBEB8C8, + A5AFA37677301D3BEFDEB596, + C546B9AC32E553D5969B2537, + 86AE81E813B7FC9D59B66C05, + 29610D1C68DD1FA2043A0D95, + 1B9D255022E9F460E5F710C5, + 6501D18FEF031C7FEF45F39E, + D53B158241A875303FC52D8B, + 984AA2236CD860A916ACF57E, + B3CEFD554B22D2764327CC70, ); name = messages; sourceTree = ""; }; + DA979DB4EBA63F7C590790CF = {isa = PBXGroup; children = ( 219B89271C840E2D7E512612, 4A8C64BB96FB93919DDF2166, A93E36A200F473B766F6A8BA, @@ -982,15 +1127,22 @@ 5B67F01C0BA9323892900AF8, 7EBAA8C6B6447AC1707EA1A7, 1C3E6A1B46D80DBFEE6CF33B, ); name = native; sourceTree = ""; }; + 7B0F33CDD1A16393FA128AD9 = {isa = PBXGroup; children = ( + 8414F7B17DA39B4D0B4C3739, + C894801E6F257C0E84E5C03F, + DBE5789816F028CE53FD3EB4, + 62B84090765C713CC4250BB6, ); name = timers; sourceTree = ""; }; C0F8D0D123397FF7AF17F3F8 = {isa = PBXGroup; children = ( - FF92A51DE50343C6AA33A0DB, - A9B3363B5E302799D0945C6C, - A045CC1D9919072B85C45336, + 8B5D59397507DBD642F28154, 67DB973FF5A1FFA8D81AA280, - 21AFBAFF05B76A3121EDCBFC, - 3549AF6032831F9553E74467, + 34CAAF6F9811717AAD813B0E, + DA979DB4EBA63F7C590790CF, + 7B0F33CDD1A16393FA128AD9, + 3952879CBE90C146415084BB, + 08C449B44C89E728A89013F3, + 8FC7BFF093D665F8178EC297, 08C449B44C89E728A89013F3, ); name = "juce_events"; sourceTree = ""; }; - 39D7580AE0D199F462A0411D = {isa = PBXGroup; children = ( + B1E5F704D926FC8926955788 = {isa = PBXGroup; children = ( A1637DEBD3438ACB0D7F48E0, 988BF5A923D08778EAFA524F, F2AA4EBDE6E999C033A8CA65, @@ -1000,7 +1152,7 @@ B3AE3983352E66690C865088, 33BDA746816EE0D0EBB559DD, A1C2A2081FDEF1CB6DB1E1BE, ); name = colour; sourceTree = ""; }; - 8090AB4707E33400125CA4C9 = {isa = PBXGroup; children = ( + FE6268706C83DCE55FAB38C3 = {isa = PBXGroup; children = ( 4FF67CE1DFACAFF545D8E9AA, CE68E38ECB2AB54F08F79917, 51F215744097662A34943493, @@ -1008,20 +1160,26 @@ 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 = ""; }; - 1B141638D452CFF03036C180 = {isa = PBXGroup; children = ( + 1FAF597064B68F217DAA22FB = {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 = ""; }; + 99B4268E3E1848B194810B09 = {isa = PBXGroup; children = ( 07064C4F0CA036ABDCF9C708, 86152CB848C36CC25014D020, C6A1B4D93C11BA29F36801E1, @@ -1037,30 +1195,105 @@ 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 = ( + 515EB58EBE453F363077187D = {isa = PBXGroup; children = ( + B6746C8B6A9FE1D4308CE985, + 8C7246482B959C4AF6EC5D87, + FD4A53AC44FCA6D7CAE4E889, + F75D04569FFA36E764F23860, + 4768C1FC1905B28D2B11A0C1, + E0A6C8B5CD3396AE5C500017, + C57323C33C241931932497F0, + 6F572F988272A1CA6514DB38, + 4CB0E502D1461C0231DA9559, + 2E96FBE457CFCC02709A686B, + A11AAF738E925C820C28C868, + 7BAF0E6C07C8441252A0AF1D, + 398EBE3DE099694FF5C5B632, + 1680674B6C054A861C5B0C3C, + C3577838EB7C3729E5C6E230, + F479F5F69CD7C9D636DC38A6, + B5339DFC1FF6DD77FA8A2509, + 553D67BF246543F8CDD18F3E, + 665AEE421856A7879CAADEAE, + ECB7556075E4B30B349D5743, + 153471AF7F80ED6F5DC05F52, + 6CE817F1B293A32611E8D0D3, + AEE2CB5328331BA30650EB40, + 62E7B14FF66C8FBBCDCA6966, + 6F22282EF3C19EB339CD58BF, + 5A52A1567548066CC36AF1B1, + 2AFC282D5BF1448771ACC29B, + 534132BC1AEC87A5CA2C22F5, + 53018020F12F0FA4F1C1F716, + 34C652F95403440FCC24BE11, + 19B60543CE214DDC48A9C652, + AD77F584422F1F6353009817, + C0D83926F5E4FC421C28C277, + 848068F85B9C66FD69FFEBA3, + 766C3C995063BBD36AC86E64, + 115E1E13FA5893BE59B395D5, + FE9BC9604165B24C2AD63BB7, + 282E9D3F24F19EB3A9263E0C, + 6374689025FD58429527C2E9, + 1E680515913AB616D141583A, + D79A70561BC95BE42F900F2E, + 92DA7079019C276D5070DA7F, + 5956EB6567B1867382A55CE5, + 320A30C3BAD52D3A5C5A62C2, + 57F667ACD8A52288C6AC6088, + F6C6441672B78F4D4F5E776F, + 2A78EE759AB4E3AC3EA269CE, + 8AC3A00E039780A6B44EE932, + 67B11A9E7FFB6C7F8AC0AAC0, + 657295DF9D4C1FFB5313440D, + 8F194B8AB1A57A87158BDF57, + 3A72444990DE940EB3822161, + A05F17D98F09EC8DEB99C181, + 460C03047681129B0EE44B39, + E3AC1627011B7DC669A8FAAC, + ADDBBB2FC62550D4B71606FE, + 1BF545D5B988C75E268BBFE7, + D6159ABF4834368C6DB05550, + 3FF68C5CFDA8E9FE17674473, + B55EF743EA23BD17A9EF583F, ); name = jpglib; sourceTree = ""; }; + A25ED20AD08035C25AFFB38A = {isa = PBXGroup; children = ( + 8E96766BC6AC8861D35DC359, + DC6E56D580CE47F727B24FD9, + 6015A8DB345D5D619544228B, + 40C9494F8F133EF9E59DD87E, + 9700F79102DC2BA016E13CE9, + AAECBF2C4C2D5DA2E17388D6, + D56026D62416B7B62184E98D, + 790ACB9FB268AE53BB534694, + AF07D42A4906442B2E00DD52, + 26EC2293D824AD4824E53817, + D4CC5C1BF250183D98A5053D, + 932964B332CC31005CAE0FB8, + 0765A9ED22780490FC854A48, + 44188B2A6DDF9444E71AE24D, + 9B2A7377A5875438B11A7150, + C300FA91381C0196F8839EC4, + DDAA1B4C24AF34B186B6C2AC, + 9CC93818FCDC916B482CE877, + 9C86DB7AA3376810B70D984C, + 834DB37BB8F4828894ACCBC1, + 82CD4378BFDC7FF0754B49F1, ); name = pnglib; sourceTree = ""; }; + BC8317BABBA7FC6EE17E643D = {isa = PBXGroup; children = ( + 515EB58EBE453F363077187D, + A25ED20AD08035C25AFFB38A, + EE785DBFA288EFA2E7AB2108, + 659BEDAE6C17DD4FA6B74971, + 35CCF611A1FFF0A68FA75161, ); name = "image_formats"; sourceTree = ""; }; + 83E6E3C04FEBEB1DC8C46A3A = {isa = PBXGroup; children = ( + 4E2E741BA1779C70049641D0, + C63DB03ADC0A6E3C45DD88C9, + 981D4316CDD5076577509386, + 3D95AB0F7898371918F9E8FA, + F58C62E4CFF820B85CEF0A9A, + AE8492E6A10C324142D09EA8, + 48D212A6051005FB7A4BC338, + 8BEBE3E3D47AD3E8AAACF7BA, ); name = images; sourceTree = ""; }; + DE967DC275C5214E1D06352C = {isa = PBXGroup; children = ( 56F46591D347CA4272001691, 6421875FDD1DB8F8C322F3A8, 30453B2E00C2367919B4AC25, @@ -1074,19 +1307,57 @@ 0493323D5A1374BBEFCFE455, 53F3EB3D456B15EF5CC6FC67, A5E748EC8CB636CEBF7BA497, ); name = native; sourceTree = ""; }; + 58DC873B7C8FCEBC3DD34AFC = {isa = PBXGroup; children = ( + 02FA201D32033D122C04A1B5, + 7EE080AF681F1D927DF35B95, + C71BB293CEF65605741E0CDA, ); name = placement; sourceTree = ""; }; 0BD57F3380CCDFE06E36335D = {isa = PBXGroup; children = ( - 39D7580AE0D199F462A0411D, - 8090AB4707E33400125CA4C9, - 6DD41751A3949FBC19CC8416, - 39F75EB88C131A0C1E7C5350, - 1B141638D452CFF03036C180, - C8E76BBA092B9546D62BFFE4, - CBF50CCCB6412B6D1DC75BAC, - 9860A568DF9EDABCEE8B9490, - B3A6498CEE78E75BCCC0DC93, - 7402FA767F4FD9CCD3DD1578, + B1E5F704D926FC8926955788, + FE6268706C83DCE55FAB38C3, + 1FAF597064B68F217DAA22FB, + 06AB29F987FA0C7C31D28DE0, + 99B4268E3E1848B194810B09, + BC8317BABBA7FC6EE17E643D, + 83E6E3C04FEBEB1DC8C46A3A, + DE967DC275C5214E1D06352C, + 58DC873B7C8FCEBC3DD34AFC, + 68A7A211857CADBC1884CE34, + C794DBEF09A83E199223D205, + B2650D0AA7710D3C2627238A, C794DBEF09A83E199223D205, ); name = "juce_graphics"; sourceTree = ""; }; - 51F1DE322ACA481FA5B3E623 = {isa = PBXGroup; children = ( + 19A7A8F8BEDABB95F1BD280A = {isa = PBXGroup; children = ( + E31FA0995B22027AEF89904B, + A570C960A1D5C3F9E50A928D, ); name = application; sourceTree = ""; }; + 1F43F0BE64F670F7C0440C9A = {isa = PBXGroup; children = ( + 717C583F454C2AF7BAF710A7, + 71D588CCC35F0C1A5A0E9E3F, + 1E19C8C3F46E236277F58F42, + 0C1C8C5879770EF4E8824EF3, + E80A7D62B2B3F4BD2CD3F170, + 3F111FBCEE1230015F476C68, + 130A28E84D438B08C6B5D5A5, + 4DD07E53E4ABDE534D34981E, + D711FA513F8E9F696570DBB5, + 302AFDDB94F243E1C82AF3E9, + A20C7B40F6C5309CBEC5038E, + 0A82B6536AC2C02E099AB0AB, + 14EED238D31DAABE590C749A, + C88CAA67E7AD9181F1C9E3CE, + 1A6CC0CB9A61C67DF712B06E, + CE290D98DCBBDC902406E73F, + FB3723E1113ED13B4B8DF09A, + 0525B4E0F2387B1F3AA520F8, ); name = buttons; sourceTree = ""; }; + 83C6B62A66EEF60E63401364 = {isa = PBXGroup; children = ( + DD7B2584B0C91BB4124A397E, + 5044BE1EA711B629563F70CD, + 6E8326A0BC2AAA5F82287220, + E9904E84AFCF3AB39B03BAA9, + 081B7C7D1B9CB7F72A193DEF, + 5DBA0BFB2868C3E1F1E871FB, + E422C589FA0328C35A0549FD, + 1FC1E37865F424D91228A888, + F59A5377B8D4476B34214F98, ); name = commands; sourceTree = ""; }; + A1A6F2AE1445B081B6789A12 = {isa = PBXGroup; children = ( 37380DEDD5BEE5E9267FA12F, 9132D1324A6D6D049C9B2FFE, 02BD81436ED17F1341E19522, @@ -1096,28 +1367,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 = ( + F3878302110D3349FB5F8713 = {isa = PBXGroup; children = ( + B2485AFF4249D9C40B9B54CB, + E833133B78833DA0D34F48A4, + 451343A64FCB48BC926E0962, + 1C2A1CDE2DA322901B0899F8, + 7A704BB75CD29EA20C349CDA, + 20BC71D082643A43C9BD37C1, + F8FDB57B9F26F2B0582CBEED, + B6C28B2DAE4802FA291E3487, + 32B8A985D15EAE4008F43D5F, + A93E7F99453C2CD22B7B7115, + 71D7F3CED9D84ECF00E3C7DF, + BA92F6D1BF35CF6623B0BD1F, + E7405CD3B6CF257A84E60DB5, + 505E065430B4C61E119415FE, + 9F3BAC34BBE550826A0C2B4D, ); name = drawables; 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 = ""; }; + 0C19C4FD606A5CF4F903C746 = {isa = PBXGroup; children = ( C26182D37D8E31BD85FDEF5D, 0CFAADB1812DF1EFFFE48116, 6CB12AF57587118CCC37BC8B, @@ -1131,62 +1420,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 = ( + FCF4EB47E8B91B246BF8F2C6 = {isa = PBXGroup; children = ( DBBD318E15A635AACB31E1DE, C6313E766ECDCE48435BA5A0, 27E36BA8310CE73DCCA58AC9, @@ -1223,72 +1457,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 = ( + 65F5A907B536ED3AB5F167CE = {isa = PBXGroup; children = ( 9D0323FECB030B06FBD0F627, 01A853C55CAE8341C207A758, 7E8133ED13638E1D0C6F849F, @@ -1297,48 +1466,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 = ( + 85DC2A0DE25A87E9ECCB959E = {isa = PBXGroup; children = ( + 133B528A88E99C116B75BFDA, + D0B7D5B46558A7393B43C79B, + 9B0ADC4932AEE1AEDBAAB8AE, + 3CBF4CE2F60BBF9EB9637BC5, + DD374C28FF1CF5F121C3C6E5, + 5187A18B4BAC7087C4FE8060, ); name = menus; sourceTree = ""; }; + AC118174F27D5406A21C5F1D = {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 = ""; }; + 03554D7F6F0A4EF340691A0F = {isa = PBXGroup; children = ( 8E3F7589FDC16A7DA986FC42, E96CBEBCDABA3EA741C4C2EC, 305C7AE4DF0701B34616E4FA, @@ -1355,27 +1516,107 @@ 07D2814B9A8E25F3269B675D, 3705B72C4B467A1EABEC9C49, FE8B93BA3F56CCC0BB37A5C8, ); name = native; sourceTree = ""; }; + EC25B0D29D284562E8E21CD6 = {isa = PBXGroup; children = ( + F3327A4ED4197E583711EC38, + 8894A48D347FE788EFD7D0AC, + AC0B866AA2C5F577AA221143, + 6930D056DFFC6EAA2B52E045, + BE72D524BA45BC24B3264F2C, + 543A10EED475842E60CE7F3C, + E281E7EA009C44FA607DAFEB, + B16933E10DCBA3CC20ADFAFF, + 6B29E55E890064489381C65A, + 1BAB3298971199DD4A26042B, + 558FEC99442C039E45679325, + 45A89EE380DBADF9105B866A, + 18BF5D458C9584CD0136DCC7, + 2DBE41449BBADA6D1242D7E4, ); name = positioning; sourceTree = ""; }; + F4FA50966FEF096560087789 = {isa = PBXGroup; children = ( + 294C8642232443EEC9C4DF3D, + 2327E88F48EE9DBD166727F4, + A507DE8ED0DFE58D8443F1D0, + 7C019D56F09C3415D36A0058, + DF82F535AAA1380C3213FF03, + D5AAA258357323FD8DBC7B08, + 2BB6FE1F813E3EF9FB1FAACE, + CD87ECBCB1347FDB040D63FC, + 5B0D2EC9A8AC716C07B61137, + 86ECCFC606602CF42A755A8D, + 27A1A9F9CB957FACCFF348D3, + DFB1FF7E047D9883528DECF8, + C1A8DCB1BD40331EFC186CF7, + 5BFC164CB4F8BC4FD839EDC8, ); name = properties; sourceTree = ""; }; + 1AF8C13A93AA6ECAE1FE33BD = {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 = ""; }; + F1CF51E4C56B3B8C9D3C22C1 = {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, + 19A7A8F8BEDABB95F1BD280A, + 1F43F0BE64F670F7C0440C9A, + 83C6B62A66EEF60E63401364, + A1A6F2AE1445B081B6789A12, + F3878302110D3349FB5F8713, B0DA666A72BF97CE5C6452EA, - 8BA9558E831744561590ACEA, - 9BFEAB312F069BA6BD17F30C, - FFADE91960A55164D44E8FCE, - 61EFC47D10826ECFA538F192, - 31F1BE05C5BC30558F8039AD, + 0C19C4FD606A5CF4F903C746, + FCF4EB47E8B91B246BF8F2C6, + 65F5A907B536ED3AB5F167CE, + 85DC2A0DE25A87E9ECCB959E, + AC118174F27D5406A21C5F1D, + 4CEA1CAE0326D7D757F5DCD9, + 03554D7F6F0A4EF340691A0F, + EC25B0D29D284562E8E21CD6, + F4FA50966FEF096560087789, + 1AF8C13A93AA6ECAE1FE33BD, + F1CF51E4C56B3B8C9D3C22C1, + BDD5FB3B38CE0ABAAB23792D, + 614E3EC828D056202DC10732, + 01D2B9B2D33BFF1F4B571B7E, 614E3EC828D056202DC10732, ); name = "juce_gui_basics"; sourceTree = ""; }; - E40525D81D015389B0388510 = {isa = PBXGroup; children = ( + 3B3177A62307CC9E1487DEAF = {isa = PBXGroup; children = ( 46A2A110922BAD26FB4298C5, 6261EB3783A9DF264A122DC6, 4D44E9AD19469774ED8245B2, @@ -1388,14 +1629,14 @@ 47051A94D9B45B21017A867F, B93ACCE3F29334143039311C, D735FA88C8465C02D4217A39, ); name = "code_editor"; sourceTree = ""; }; - 7A7F0DF75E9B01FE9A9470B2 = {isa = PBXGroup; children = ( + 917BA77E8A05F5F217D0E2DD = {isa = PBXGroup; children = ( 1667021AB391F5D9B82B186D, 2CBD98BBA9322461A3ED0D05, ); name = documents; sourceTree = ""; }; - 5339003A04D05F6E3F333436 = {isa = PBXGroup; children = ( + A2648DB3D9CC727490A690CE = {isa = PBXGroup; children = ( 6C632E34FD1B617525987657, 02C0DD7DC29B27B39D5FF154, DD10783090721EFE21E4FAA5, ); name = embedding; sourceTree = ""; }; - F4FF39023AE719A2C1FDFCF6 = {isa = PBXGroup; children = ( + 518915E1B6795C40C04DF4C6 = {isa = PBXGroup; children = ( DCCDA2F20A439FE5044946DE, 5E4F70838E79D6A25B8A80B0, 74AB579ADDC7C355C5704A16, @@ -1416,7 +1657,7 @@ 7A6E2A815D9AE276CF064A24, 8C439BE182790867BCC9ADFC, 1F4C7ECC97B4C80BD98F32C1, ); name = misc; sourceTree = ""; }; - E145BB5F87254EDB7C912760 = {isa = PBXGroup; children = ( + 88CD76DA43F3FCA35D5DFF20 = {isa = PBXGroup; children = ( 118B13BE32C7FDCE82BDC495, 939EC86DADE3927918AA327C, 8FA331691E39F5D8FB0DCDF8, @@ -1430,12 +1671,14 @@ 5B6BC49A6F74A8021E73E3A2, 9B02109FBEEB89243D72FC11, ); name = native; sourceTree = ""; }; D073C93C9EC5893BBF5B728C = {isa = PBXGroup; children = ( - E40525D81D015389B0388510, - 7A7F0DF75E9B01FE9A9470B2, - 5339003A04D05F6E3F333436, - F4FF39023AE719A2C1FDFCF6, - E145BB5F87254EDB7C912760, - 8FBE4F804ECCBADAA37592F0, + 3B3177A62307CC9E1487DEAF, + 917BA77E8A05F5F217D0E2DD, + A2648DB3D9CC727490A690CE, + 518915E1B6795C40C04DF4C6, + 88CD76DA43F3FCA35D5DFF20, + B09E131E4E588C510BF53AE2, + C001B0F67BB17E32A3BC8F92, + F21F13BF684528EB7041BD67, C001B0F67BB17E32A3BC8F92, ); name = "juce_gui_extra"; sourceTree = ""; }; C37CC96B89E62143A0E75336 = {isa = PBXGroup; children = ( 077C855D265E61FB93F96107, @@ -1446,15 +1689,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, @@ -1463,7 +1706,7 @@ EF932865774E86525CE7FC55, 07D50D8347ED27B84F822D6C, ); name = Frameworks; sourceTree = ""; }; 1C83313FCFBC3FAFA8CDB087 = {isa = PBXGroup; children = ( - EA398D9C544440E06637C134, ); name = Products; sourceTree = ""; }; + 630E0739D24A3C9E99CD4592, ); name = Products; sourceTree = ""; }; CB9C4DF3F11D65C6BF6B80AD = {isa = PBXGroup; children = ( 23A603C0DAA7E2E423A4123A, C37CC96B89E62143A0E75336, @@ -1471,7 +1714,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"; @@ -1489,9 +1732,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; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; - 339C95D5B2E96DD37B176D75 = {isa = XCBuildConfiguration; buildSettings = { + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.jucehelloworld; }; name = Debug; }; + 0B5D6160680C2FCAC89A9A1D = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -1510,12 +1754,14 @@ 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 = "$(HOME)/Applications"; }; name = Release; }; + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.jucehelloworld; }; name = Release; }; F6DA01300C80F2338FCBD24A = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -1549,34 +1795,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; 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/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json b/examples/HelloWorld/Builds/iOS/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json index 5ca51e92..c0af172f 100644 --- a/examples/HelloWorld/Builds/iOS/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/examples/HelloWorld/Builds/iOS/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json @@ -3,19 +3,19 @@ { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small.png", + "filename": "Icon-29.png", "scale": "1x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@2x.png", + "filename": "Icon-29@2x.png", "scale": "2x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@3x.png", + "filename": "Icon-29@3x.png", "scale": "3x" }, { @@ -113,6 +113,12 @@ "size": "76x76", "filename": "Icon-76@2x.png", "scale": "2x" + }, + { + "idiom": "ipad", + "size": "83.5x83.5", + "filename": "Icon-83.5@2x.png", + "scale": "2x" } ], "info": { diff --git a/examples/HelloWorld/Builds/iOS/Info-App.plist b/examples/HelloWorld/Builds/iOS/Info-App.plist new file mode 100644 index 00000000..9b030d42 --- /dev/null +++ b/examples/HelloWorld/Builds/iOS/Info-App.plist @@ -0,0 +1,43 @@ + + + + + + LSRequiresIPhoneOS + + UIViewControllerBasedStatusBarAppearance + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + HelloWorld + CFBundleDisplayName + HelloWorld + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + UIRequiresFullScreen + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIBackgroundModes + + + diff --git a/examples/HelloWorld/Builds/iOS/Info.plist b/examples/HelloWorld/Builds/iOS/Info.plist deleted file mode 100644 index abba5d3a..00000000 --- a/examples/HelloWorld/Builds/iOS/Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - LSRequiresIPhoneOS - - UIViewControllerBasedStatusBarAppearance - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.roli.jucehelloworld - CFBundleName - HelloWorld - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - ROLI Ltd. - NSHighResolutionCapable - - UIRequiresFullScreen - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/examples/HelloWorld/HelloWorld.jucer b/examples/HelloWorld/HelloWorld.jucer index 4809642e..fa4e5f4c 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 98473116..458064bb 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 56b5bc2f..3047038a 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 f6c3564e..091a5aa6 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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 06e88f93..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 824418db..883dd026 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 8f9fc376..9be666af 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 16cca8c5..00000000 --- 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 a8e2c8dc..992c4df7 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 00000000..913d6381 --- /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/Info.plist b/examples/MPETest/Builds/MacOSX/Info.plist index 3df7ded9..ac9ec809 100644 --- a/examples/MPETest/Builds/MacOSX/Info.plist +++ b/examples/MPETest/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.yourcompany.MPETest + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName MPETest CFBundlePackageType diff --git a/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj b/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj index 738a3450..ea8e61d5 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,31 +22,34 @@ 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"; }; + 003920A875261AE0A915C042 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; 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"; }; + 0175895A8239E70F6F378C70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; 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"; }; 030A438E1EE9564FF921DC9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 033CF8E14902A81FF64A0EF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 034A58420ED388CA3885A88D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; 035F7E38035024592C9CC7BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; 0364DE831A6E6B4B0A83D3D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; 03D75F52F5707AB35D6BA8EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -59,6 +63,7 @@ 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"; }; + 0742AFACBC1007487B80F20E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; 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"; }; 076628E712D4AD6AAA111947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 0772E67E5B580EAE2C4A248A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -69,71 +74,97 @@ 0881FC00E66C06A97AE5D44E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 08C1F1EB3D32773BA9B1D866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; 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"; }; + 09FDC6CA323F7F6804C62250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; 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"; }; + 0A2F83B3A9C181249F3ADF9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.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"; }; 0A8CD57178A1419CC58AE215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + 0A9A5830F103CB7098180498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; + 0AA95A03D00FE353A2E5AFE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; 0AB0EB7DB8293C2AB03F001B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 0B110D22BC05660B4F982D5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; 0B4BE6C38E70E7391A88B4CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; 0B544DB0EBE315150B7DB69E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; 0C03AA02839664626F4DEECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C0752466019BB68BD8A77AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C1AE743A7F57659EDCAFEC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0C42F13BC4AC3286839D3FAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; 0C614464266C8D7861BB4688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + 0C7DF1F667AB445273BFCF30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; + 0CEDCFCF521998B6F14BBC33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; 0D8E6523CB4D0315377B874D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 0DC3165A5F3B775232531A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 0DC3607C9300A572222E9668 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E4A876D029AF3B748C520E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 0E4C52F3E7F0D969209A4A37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E4DE3F2A6C3A5DF58A717DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E9623E6E7FF23C09E3B1AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; 0ED6AF00F8FD440991D6E9B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + 0F3C72EB21976EB81C9558B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 0F4BDA5EDC7B99927EDE3F84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 0FD3D4A7B7481F8361E14D82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; 109575E72FCBE619A842EADB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; 10DCFDBEB5A9192F4AF351D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 10E32F03CD02144B4E150066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1118D8664838019191E4B8BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; 1130B7A258A90A3443048D10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 11A3D99C5AF2C6619ABBF176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 121DCBEAD9B2A41250FE1A8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 12321A80AB65526F1CBCC467 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + 12928D6D8F0694C4FD4D882C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; 12A38F9DB2A92D7E4D566697 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; 12ACB548CCAA9C20A91F671A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 12DA948C2F890AFCEC584E18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 12DCC9E84F6D9B4191F0059E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12FB93FEA112EE57DD446110 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; 1319CFA9BEB6EF9A0CCA5DE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; 131E8EC2DA7B6E7AA27A6D9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 135B6889C5DB189F0BD5E5D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; + 1369558576DC42B0155A6C77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; 143EBC60EF7CD518951B3DFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 148CD006F32196E97DB2E15F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 149DDBEC3F5A2D3920A7C974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 14FB2225C7CF65E1524D853D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; + 15025C8C23CD818C26765107 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; 152F9CC2FD2D12CD202427EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 15326497248BF0C5248444F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; 15586852872DD0E50CE31622 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 15E3C0FC5CCAC0F57E827EC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 1672341168714E02AED9122E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 1683945897B57B67297DE68E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; 1693F25ED160AF15F12B1EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 17CC8F76F370FEEAFBCCD9C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.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"; }; + 18A6894D3206148697643805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; + 19DAC75488840447292498A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; 19F1E0A1D16107BC0A21D8B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; 1A88388BE44AED2870102576 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; 1A9CD64FD02DC991351F79D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1ABE32C2081E53B4E83435EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; 1AD6B4D9A3ABFC32D70230D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; 1ADE791CC67330FE1018794F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; 1BBE5A8CC950364880DE6DA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 1C3DEE2DA57222B58398ADB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C43BFD96BA9652D2A3A9D6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; 1C4B851DCA88F1B74D37A957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; 1C5D3E2D967DCB9B6171F8D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 1C75EA4C7928F352F3C5843A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + 1D1405CBEEAFCF397F71B96C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; 1D60F9B4132C6DEF087C6102 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D6DA0212DB2562D54FE2E33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D766E0719754559EDA33816 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -143,6 +174,7 @@ 1DD6065C0B6DFD88EA23F7D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 1E1A13BFC2C3B8C2F85EEED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E471A2744F7DAA2E2746F59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1E4A47DB09E736DBC2E63124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 1E566116CD030074BE41AE7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; 1EE89A61F329252103888090 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F08617D548E6203B649283C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; @@ -151,19 +183,24 @@ 1F80940BD86054B4AA0369A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; 1F9241B5C167C0419181B5E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 1F9EF1E392691DF9CC82A715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; + 2083DB3C76E1E0B56829D8E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; 208C1446FD1A325C1AB92D7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; 20A2A473C608297870499BDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 20E6DEE238A486F3404CDD95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; 21FC0D072DCC9C6AC57D6C45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 226FD52F4533F8CE03C8DF20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 22A8E10FA861E5E3824C37C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + 22A92320C1367C7B9C197C6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; 22FF2F2FF1B698E1712DE7BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 230A9419C6C9B6D00D2BB8A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; 231871077A08BA845DA197F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; 237324C3262FA4A6854BAE69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 23986EADB0FA1118A421AB50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 23B55CF0886E4D70AD727E19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 23BBA28EB78631E8071B8C31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; 23D167475E6FE0FAA20C55CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; 23F3CC2C225B17A90D900CD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2469D804B49D529E1DAB735D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -175,44 +212,68 @@ 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"; }; + 26411FBA035CB9C3828249B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; + 2654853BC5B189DC827249D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; 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"; }; 275924B6B61ADC7DC45DF465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 27642EB0181BACE6A55FA013 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 27F112C058EF5A258E9AC6BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + 27FBCF906E8474782CD440E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; 281EDA11196A278E6AB4B7FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 288DA9E4FCC2655A572FAA92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; 294E38D35B22AEDC556CDDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; 29565FA867CDE49665585AC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 29FC11849A8427D248E2D21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 2A5FD9B8CEF55D9CB0BD863F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2A93870B3C113A27AEB96C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; 2AAAEBE53A14BA001544D40D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B6313BEE19952B09B892F97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B700EED388A0D5BCD27119C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 2B8110812EDB60E35F64ECC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; 2BC851F3F90C739945A358E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BF9277EE9D23E6756DDEAAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2BFA2FF47A3FFF09F64BE024 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; + 2C80EED4E8C72675BAB1027C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; 2C8137E945F72BA9105D65C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + 2C87465C161C79F25572ED88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; 2CB483940897747625E0DEF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CC3F8D3ED7C62A24E7AFA55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + 2CF70D13FD88D643AF23DC7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; 2D096B9C273751E74770F8A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2D362C8276D9E1F71BCB722A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; }; 2DDDB0D5D31784DE584658A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; 2E156BE3E6DBAA7865B0F3C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 2E19514EB12ED8C007D02BED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; 2E216EC91202D5C65AE63F7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; 2E4AA3AC87FCE4E51218FCAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2EE4816998D78BF01131D146 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; 2F0226716C7B97307DC10F14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; 2F9C29AEE0C8D4BE771F59A8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; 2FD97DD724D2656CF1E0D166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 2FDF6E187E8341031460DC5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + 30AF432D385B456BA6A6F7F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 30B0695DFBFC7FF870A58DE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 30EAE83CBD3493EA5E75C943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + 30F13A8CF9C5498DE0507F18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; + 3109A9812D86605421C9FAAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; 313744A137B12D90ABC32ADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; 3138762B0FB6AE1FEB2A444D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 31400B4D421980AB72921D8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 3165972B8E4A28B559198DE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 31A8181A9D0D3C40CD0A366A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; 31B770F0F6BD21F867E24035 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; 31C21E360B87491DCA771EDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 323A61AD656A5D8853C76A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; + 32487ABCC6C239FA8B605377 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; 325027EE270BBF650E805564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 327226463142F6D47D982B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; 32C1BC49BCC54FEED453CFD0 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 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"; }; + 333F1BBB1DA709F053F1910B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; 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"; }; + 3382F792EC79E7B06893F3F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; 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"; }; @@ -220,19 +281,23 @@ 350B2C6A55A8CC92FE9FACD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; 35303BDED3573FD025AA6BF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; 3530734CC3320BD8D4AAAFAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3543E6F945948452386492EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; 355BB193F5BCA256A8F08E02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 3619845EB3C0E53E15391F02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; 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"; }; 37769779C54F5EAA72386EA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + 37A0CB35C51016E509557D14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; 380CF7E6B4A92C10348D923E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + 380D9B3D50910F258BA12764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; 380DE52CF0881D08E28EF459 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 381C61E5D8990308F006A622 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 388594124789651D112746E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3891FF000C00D205BD163B84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; 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"; }; @@ -243,10 +308,13 @@ 3926A9B46D728AA024FA23B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; 394EB2D6CECEDF1C9BA4555B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 3953B849E9B19989A39B9268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 3979223BC5EC0E39403ADADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; 398F6C198EC4DB253F24A2ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; 39A0C2C528E433AB151366CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 39D44FF56380385B8384F81C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; + 39D5D9778F62D8CEF1A2230A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 3A44297947691ABDFE965AD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + 3AD92F4D9C1D84D2F645F1CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; 3B86FA979F365227E1EB9592 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; 3BC401D5C6F376B3E8A98BE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 3C3914CF4EB61FC23AEA3490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; @@ -256,6 +324,7 @@ 3D1B0F640AC066EDBE4FCA90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D23A96B33496215A0A41752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DA4C013F3A87FB9066D9A06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 3DD8F9E58E54BC570156FF15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; 3E298D7161D5A18EA25B0852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E3006AC0AD8CBA944F20C19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; 3E77C173AE32F62B892CF01F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -263,15 +332,19 @@ 3EA36ED5181F96146B13E1A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; 3EF6F6A74D6521ADC75318C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F23E79E8D215B53423F66EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + 3F2980AAC9EE84FC39AD7879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; 3F38B8657F25B4ED7A44AA58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F5354BF6BADA9E5AB9C8762 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; 3F73AB01E7AFDF8672EF6E53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 3FC1061502C287C1D0099B21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3FCB4D5F5BFFBDEAED26AC17 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; 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"; }; + 407FEE45E11ADCBA6ADC5311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; + 40E87BD1DA90B3EC41CD5826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; 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"; }; + 41F0AB55A6B984AA7E811A8F = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; 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"; }; 424EE6A1FC2ED9C33D5F25A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; 42671DCA829C86E21A41AA48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -279,6 +352,7 @@ 4339E4AC89EC3FA5C5F4CCD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; 435805944C64D39060796749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; 4383EC8C6E41BF29C8C6D228 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 43B00D88E9C199CA90226421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; 43C676DCCF3EF43C3E461DBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; 44144EB6BBF8C91984B24B26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; 4432F3C2A9B250C270BC8C98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -291,8 +365,11 @@ 44F7EDE4220F31B641051082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 459847CA0F57CBD0381236E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 45F17D16348AC92ABF12AE4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46C74383053813CCDDCCD9B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; 46EE2A1578E998C3FDAF9E90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; 4709326ADD1AEB0FAE3F0E28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + 47753E3DA61CA2C2DC717C5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; + 478FF58EED8EF73EEAFC4FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; 47BBFABAEE4BB9362BBF81CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 47CA6B2483E98530ED21101E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 47F996A2BA101821A84B1294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -300,6 +377,7 @@ 483B36334E2D7C2A6F6D5C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 483FDD4DC1AAE6377594EBC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; 486B26EF01146242F3C661F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + 488D596E6476875076E43BE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; 49100F48E2E4004CF5473D49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 495873A0E1AC07121E46390C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; 498D7E415C0E24045E8CC34A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -308,38 +386,52 @@ 4A13A7A56AAF148FE41452A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; 4A150B258184228CDB6E3065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; 4A17352DBA7235663A22CA37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 4A57E7DC3701DC40F8ADF22B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; 4A7DE0647A682256D4E61BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 4C14B5AD411536458C78CC5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; 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"; }; + 4CDCDC97BC0172B90C3FC10C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; 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"; }; + 4D81C9A53E0BC4C44249370D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DB650E1059524F73A732BC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; + 4DE73805F2B7B894EB288C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; 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"; }; 4E247FD4978713561FAD3C42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E7ED318D3A6C17F7C0F3CBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; 4EB5C90296983797A68A25B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4EB6A27A291541C8AAE52A7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; + 4EE42B6A8ECBA1D1D9CE5AFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; 4F19EA0D6C57032FB00BA151 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F36F40F845A92E3761DFB22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; 4F371455D5C271A26FB4272C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F45B6EC16AA22C2746FAF90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 4F7F3DF2110623AD17177CC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 4FB8831B363370118A37844C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 4FD427089A9CDE1B5B0C4664 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4FF28C35D19E3CDC3482C13A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; + 503591B75F9192D30B1F4FB3 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 508ECF11083AD7BE530896DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 511C8FD7DF51C5D0ECA87751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 516542BB2882E91D48F930CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; 51FB54FB93F826E8B4207DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; 522CD93708D62677267D572C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; 522EB405E3DDB9138DBB4704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; 5242C34113987084B2A220E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 524323616804DF7EDF7A2753 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; 53F6ABA12780FECACEB5B595 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + 542EA224A74B5696EA61F417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; 54683E42FA3E4E644B5BA342 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54827EB9591B27AA785DEB72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 548A8EA9A18FAA4D2FEE6E70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; + 55267F7B25EDD9F895BC8501 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 55318EBDA23C2918FC8D838E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 55774BDDEFF8D07E7657F2D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 55B57622C00BFCBD2B2AC3AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -353,9 +445,14 @@ 570B9DC717F39CD9455B6A4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; 571B4FA4AE8176E2B4328567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; 575C1AF87615D28A9766B9EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5766B208567BA28FD97FE8F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; 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"; }; + 581E9B142B0F232EE30B733A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; + 584192F9CFDC1E31396ACA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; 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"; }; + 5917FBA5851D74DFE856B7BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; 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"; }; 5975D093AA16540D75DFC05E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -372,10 +469,12 @@ 5C198C39CC5322356263DE10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; 5C2CB310BBE49D88B96FDEF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; 5CE908DBC0AD9E238B960303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5D638C51B38B6330EF32D131 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; 5D9714FDF6CC158ED499F67A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5DA875ED1131E5FF6529B0CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 5DAA0C0CDF8A539F6FCEFAA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 5DAC8E916AE370AAAB459391 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; + 5DB02EF0C00A522D11A12B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 5DE9D9EBA17102EFC3DECDBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 5E45C2171455CA101B0782EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; 5E85FF9DADED1BF2F393CA7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -387,64 +486,83 @@ 5FE360FAE9A403ABFF04FBFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FF0AE9C309D0F00EE9D93B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 604A0F57022215439EBAF444 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60A6CB393B30830E5F1D4EEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 61205D36742D1BFA2C342241 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; 6135C09E481C8C987F2DBB0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 61C15F781039DFD34048F987 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61CB03BEB92EE393A9C30A6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; + 61D341BA9915D641787BDC05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; 61E9F7EEC1E8A9BC83431E55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; 62500028F4BBCC38D0CED34D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6285DDA600803EFB4D1F8EC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + 6337213C39C576715C7B07E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; 6338FC98FAF82F3C9A15E943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; 6401226633396ABB651ACF9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 6513E7A8F7A3ED08FA027DD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; + 655827E88552979485E5B0F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + 666B965E3A6DD244A02AB80A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; 66B6F0A0B4CFBAB1C1352742 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 66BAFFAEF5D92BA78342A590 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; + 66D56EECF34552E1C85A2E8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; 66DB34EE165CA04ACACB104D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 6843DB4FCE92F147344CBEFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; 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"; }; 687D3BEBD01B7089DA7EBAD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; 6996A01131F6EC782335849A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 69E514BDB41278F42D52E932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6A05A26B9D63B33C4F3BBFCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; + 6A61D03FD78702998B8ACC9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; + 6A876FC7C0FDB976163096A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; 6AADF3E468257D223D3942CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B08381BCFD3448AB40EB764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6B1AEBF7F90AF55C7BEC2D76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B2FE946B7639F6B203F76D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MPESetupComponent.h; path = ../../Source/MPESetupComponent.h; sourceTree = "SOURCE_ROOT"; }; 6B4A3C085C5D53EA256808B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 6BCD122B109FEA7382F86B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; 6C03D708D1A0BE6E3315D8AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + 6CB3FD103C45C1C043D4F2BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; 6CB919D0572583A79239C10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 6CE9869F76A0BDBBAAFC2AD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; 6D45A9F8D00AF9F3FBF43394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6DBAA8FC487AE3C94BF0EA9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; 6E515F0982E797C04C1B4612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; 6E52C52B8794D97378E70B01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; + 6E59323F21F221983F6BE6BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 6F68A41549F8A295B3C723C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; 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"; }; + 6FDC538B62820BFDD82A9ACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 6FF0F98B0B0A872157CE5D60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 703E93210140FC510B4C30B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; 70401CA75FB474FF0D1052E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; 7060321468CD7FF42AAF182E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 70AAA12FEFD150E74AD50E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; 70D59B63181ABCB009B6248D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 7120C1DA3DF4C3FE1E82AD0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; 715049CBFF51DD0B6C96C4AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 71C76E49F379F9B05389C3CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + 72206F2F4B075CA4D6D95E31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; 7257482194FCB2E6510D816C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 72FA76AAEC0B844D6A97B04F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; 734A9DABB685FB4C6FBFF63A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 73F442AEA16947270FABB59A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 746C34638DAB7069D814D606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; 74A2BEFDB54B8061082429CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; 74C004337047593335F0EB2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; 74D28D21EF6BAA38475B5DC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; @@ -454,6 +572,7 @@ 7585B4D0AF0B0B94FFF5754B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; 7597D668A9F5F71F9D02D8DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; 75C8387A8EA8DE5E856952DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 75F354279EC597971F9F041D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; 76053E841EC59CD6923EF248 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; 762F1D3C34A3070C92736819 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7678218746FA8A0FE22E8BF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; @@ -461,6 +580,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"; }; @@ -471,8 +591,11 @@ 79C500C091AF9E639F37C514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 7A08DDF75B40A0BB8EC435D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 7A389934F2E8BE092DABF7F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A4583E374CE12DD13FF2F71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; 7A4BC1998983615017DC2BF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; 7A5F3AA95E30A442F123B2C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 7A8DE3269AB2EC37AE63362A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; + 7B0B282B610256159C5CB164 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; 7B3E7CFDA9BE759870114F56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; 7B4BED87BE117AF628DDC1EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BD2190159E33306493A2F15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; @@ -482,16 +605,25 @@ 7C997A5BA57D7568AB3E0F79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; 7CB98E68960B2BB58EE8A903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 7CCCB8DF5D4F39091A296F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + 7D113F642BD81EA2FBEE847B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; + 7D4C9951C7B2C2EE9644225B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.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"; }; + 7E9CCDCFC53D5276174AEFAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; 7F3776EEB353DCFCE936872F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 7F555DDE48B74E14F99C805F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + 7F630B9ED8AA825ECE93100E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 80302FD52C61C0EF657A6C78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 807FB66424227F43DB1E720A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 80888401EE0F8AC038266306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 80A4083D5F12CF76E89D3772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; 80DA8A6E51A23964A6590918 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 80F5466F1230049E73655A6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 80F85C2133103AF36A427B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; 8105E14C122672883486A562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 812D84E4F3A82B1C61214191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; 814ED3A6EFB59ADEF6747D30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; @@ -499,6 +631,7 @@ 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"; }; + 81F0106A4C2C836DF2C1AEB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; 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"; }; @@ -506,10 +639,12 @@ 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"; }; + 8449AF314B16C1F434D08A96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; 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"; }; + 84D33602FFB14619B47C50B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; 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"; }; 8533CFE78DDDAB7BD643071C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -517,9 +652,12 @@ 85608CBD070076019F0A5AAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 85843AACDFA8061F182556AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; 859A3E99E9C43B195F80F648 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + 85C4BE351724DF94762676FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; 861B3C3F2D0A1C24E85233EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 862E55A52A3835786CABBA97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 864B819B16A5912645B76472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 86507E95B233BB4CB13126A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + 865B64317DC39FBF6299CD3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; 8665D9D9CE72D78FA1DB8400 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; 866DF75570266BD14E146D0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; 86CCBF0A2BA002DD4F6EF744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; @@ -529,11 +667,14 @@ 87D653D986B3CB91809A6AA1 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 87F331B36CC2CA9730B478D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 87F84688081C0FAAF3BB8BE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 8844ECF463CFEFDBB2FB330F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; 88A6977E6C431A7B8E41B87A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 88D60BD76FD4D2DDDEC812BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + 8924ECB51790C58CBFB2CE2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; 8937E49637ED97118277A146 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; 89A9ABEAE3260E88A8286832 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; 89DADBB730BD793525216677 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89F3F42BBF22E3DF54C63780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; 8A00D34ABCC62F277B89FED1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; 8A339D25116C57AC5F0FFBCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ZoneColourPicker.h; path = ../../Source/ZoneColourPicker.h; sourceTree = "SOURCE_ROOT"; }; 8B2483DC502CFB85054091C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -541,19 +682,27 @@ 8B64303D4A4877BE3D9ECA23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 8CFDDDACC20E2D35C341D95B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; + 8D718D65EE248F7EF412CA34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; 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"; }; 8E21F6EF4E830FF170C5B569 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 8EAB66AFD0A5824AF6C38F56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; 8EC8237E53FD84E9697F2C34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; 8ED647B92C0CB084AB1756B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 8F05898CCAD3035423BE644E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; 8F48D8208E29A75118A98737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 8F97981CB8D478665C1CDC4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; + 8FBCAED86C07B347E859D782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; 8FC849BFEF9953E872591AE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; 90054A29105E825D9737130B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; 906858F4D1A91AE92FE33431 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 90E350DA6DF0535788EDA0C7 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + 90EE7160FE48911D419D329D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + 9122485223217FB66269C08B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; 9123CC1339B2671E33A3BF0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; 91CC923684BB3404154A74E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; 922591A6E5E820CB10974DA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; @@ -568,11 +717,14 @@ 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"; }; 95EBA44CEF397A39E5A4FB18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + 96AC2C09939C03CC9B73F2D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; 96FA1FB83212CA1F7B24340F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 9738E89059C262BE1C3FDA19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; 975DC4180E69ABD56CFBD45B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 97BA5E8EABCECBF2507DCB31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 97C8203B745D9AFE10D00FDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -590,6 +742,7 @@ 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"; }; + 9ABA9BCF39E34EE07A636CAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.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"; }; 9B3CF30A3919BE54493D59FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9B941207317C228D2E7FEA4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -597,17 +750,21 @@ 9C0AAFB1E56B8FF6CB8F614B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C731D9984CC3858193A2C17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 9C9DC2BD4FEE0C379DE12571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CC592A09FD90F83292034A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; 9D50273101DC464219A633AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + 9D59CBB9BF49B3C5729DF357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; 9DA161A15B4C68C62A63A0D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; 9DB04269AF81BBB96EA3BB19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; 9E4BB78272577D198F7CEA4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 9E5D3DF0A5372D0EE20D7C52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + 9E69EBD91FFE1A58D678C5E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; 9E757FCCA80FD5CDE38CE39C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; 9E801E5784DD299F44CCC555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 9EAEC4C3DC466EB31FBDA4E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 9ED8CA84B312E34694E2A6AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 9EE84FBC6D21836516BE409A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; 9F0EEFDFFB29330643715D31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F1C43C0D30A89F153FDAEBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; 9F5F2836C2D83C3F53254241 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; 9F73DCCD91827818100240F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F9ABD34F4E3D415CD8E3548 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -615,24 +772,28 @@ 9FED900E158DF7D8CD3C3157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; A004966E7468D0F909B144B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; A016A16A72E6597E19D0117C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + A055479BC13976ECE412137C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; A070B9FA4EEB5C5AEED5561A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; A084D01ED9334EBAFB966862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; A0C8388A92088676B9F60B7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A211B815F57E24FD83070FF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; A2515767F54BBB1189F67674 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; A2579D66249C62C1DEE92E1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; A2B7929C90425363F8F88BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; A2CDBE41FA1F8EC3E492683C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; A2F3BC68972901383B331361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; A353726F76D426E1528DF4E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3649D2BFE598FE261168E2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; 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"; }; + A421A66ACC049BE5BC10FBAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; 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"; }; @@ -647,27 +808,33 @@ 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"; }; + A7F1C79F8457271DC871BF47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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"; }; A82DBA408269C87D418906BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; A843CE531AEC32940221ABA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; A8DE43E4A9F916584738AA7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + A8F3F041346E6688CCBB911C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; A9235E9E60C4A238FA54047B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; AA21DA98CEF52C5F09BEEC38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA8F60F83EE2F2E19A7648A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; AB0F764CBA1600621049FAE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; AB17BDF654E684FC179BB7DD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; 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"; }; + AB8F703BB8F2A003F318F4A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; 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"; }; + ACE627CAD850627CCF3BCEDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; ACF5C8CA1E6228ACCFB67F2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; ACF70D3C6DFCF9CE58921468 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; ACF8C9B787F071A59D0D7EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; @@ -675,9 +842,13 @@ ADE8A1AFA8463F99F681D830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; ADF727BFA0B03E4BB95B2E21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; AE071AE60A488A88983388A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AE5BD61A731A19BEC01D3E57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; AE90B98838251D28244F281D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; AECE3E00CA23B8BC04DC0326 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + AEF5641407322F7AD85413FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; AF04AAABB333D46EAE2FD387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + AF403F1BBA31C4CD576F59CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; + AF5FCD3E5A75D5A0C912ADB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; AF7854B0FC7EB465C1A31A3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; AF8A2C37DFCE17AAC5976773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; AF9CDD2400A6940A7E8DFE5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -694,9 +865,11 @@ B1A70491D38102254282A55B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; B1D0E807C8AA03DCD59D95CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; B233151970C7D711A52DF35B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + B259B8A3F1899CEE36D6632C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; B28125595ED641D8D708A672 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; B28A031B821E7D99B96609CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; B2CE1594EB33B071195025DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + B308F235E17E86C8B4015659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; B3345A12095B5451B31BC2B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; B346F61236D50FFFAA93DB58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; B3B09D930294921308A25479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -712,32 +885,43 @@ B5A05D33611D8BAC85D43C8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; B5C2E2E572443EBC683A308B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; B5EA0961ABF5E581D4DA94C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + B5FCD5A01520945C9515310D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; B654E7DD258B9A755CCA7BEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; B66835ECFEB59CEE77211F94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; B66D5720A6D53D145235B680 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; B6AC3B42995EFACA5218BBCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; B6B15C5ACA212627415B92A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + B730B68957EC03F58AD52C45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; B737F86A97583158D47EED8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; B76CFD3BC6CEDC9DBA1E63EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + B78BFF51B16ACCA6CCE41510 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; B7995F7528DB0AFA151402D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; B82A885925538D2A750B5077 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + B8495F1A5B1DD539A0AEF397 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; B84ECC2C7B1E0C5283C5DE92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; B8CA9856C1004FCC5CC4F710 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + B8D421A53CACF8D5C22E7DC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; B8E4371A1812FB6544696147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; B8F33A418BB2AEEA980B25FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; B97AF825D9F4F24DF5751FB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; + B9E95B83D03AC32741104229 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; BA24E4AEE7BD1C7CDF793728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; BA74CBA07F7E462B824D155B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + BA8D8F36D178A56A7FA09ADA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; BADDBE325E0F54D65375A0E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; BAFFF07065ABA4EF9E038D2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; BB43F941001F9EDECDEC4836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + BB6A80B2EF62467881E82D66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; BBA80FB6E7B8CC2B36236750 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; BBBDDFA136909E051E416C80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC0DEB83F2F2575370E323C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + BCD18C44EE0B69106E4AB555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.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"; }; BD22F15779DC50BF4A27B33F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; BDA1F22AECB324960FD04B8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; @@ -747,12 +931,15 @@ BF1DED2E1BA1C076425B8CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; BF4B42874613F1E620EB9A7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; BF636F03555370A34F3E92E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; + BFE91E4FBE4B39D66CA63B6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; C00E40B39075B28FE2A6CFA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; C0294ADFDB35341825074EB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C225FEE2956F65B6510C2B4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; 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"; }; C2B858DF72CD2801C22C109C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; @@ -761,50 +948,70 @@ C3C6ED0B48A81623AAE57AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C3DAB6E6D5D1C1CF8AD15E8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; C495993112F10E9129851E8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + C5603BEA9F9E568BD449783E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; 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"; }; - C6072BB69D5A3F12142BC115 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + C59EC721FCF670C48326BC97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; + C5AA55058E6302F43AAD0322 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.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"; }; 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; }; + C67B84C58F492D2EE7B3D212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C7222F836AA95F25C58F41E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; C75AB0FC6F1A4F57D95397EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; C762137F95A067D877B2DDB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; C7D441D167E579678DA387D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; C80BA373E25BE1EBCA733FDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; C897DAA514552248B4BEB8B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; C8CF6019DC71E9EBC2AF7640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + C8DA48A20797AFCC6970367A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; C8DB56C59EEE6F10765F1880 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C90B228D8C62EDA5A9D41885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; C9D87BCB93AFB0E715801097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CA1C0C1B7FAC3424FCB8DB15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; + CA6273AAFE7F1F2D4B894B0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; CAD2314B200074610B2B3CC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; CADCB071D5B0B5B6C355EBFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; CD33944EC8F554BA64242262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + CD35E68E36B7354BB3FDC07F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; CD39F20F8A8273B62632EBCC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; CD4D4588493F1466A53E7CD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; CD58F563ABCAA111263D8255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + CDBA4916B79CD2B5829B11B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; CDCA935BA045154E92DEE09D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; CE02BE1A0291F4C6C55DD14D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; CE37C0B005EECA7D52093A82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; CE5EFD0B93A7DD3687B3FA11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; CE6199FD4EDDB4537A206D63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; + CE91785E4FC3DF8DE1581DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; CEBF81D1689753BB5F3FDBE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CEC71BD58B027F136CAF3CF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; CED4C734633F91C89BFD3829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + CF0F17D20CC56D2CAED7C5F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; + CF6B8832E1701BD7EBC51757 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; CF9C14069C105C1A217F194A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + CFC63A61DECB0A46C5B29E8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; D01042D887575822E0081B0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; D02AAF5A413CDBA06CC7DFE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; D04BA00975A92412026A237A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; D078B13C5448B055AD1587EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; D0BBABAF387DC7B741787440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + D0E359CEC9A5C871AB81ACEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; + D122F88A241139EE0ABC3121 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; D19CD21192E82B0ADDEA153F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; D19E7811EB87D4AAB4FBF421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Visualiser.h; path = ../../Source/Visualiser.h; sourceTree = "SOURCE_ROOT"; }; + D1A827BFF897A4EE4B56A385 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; D1E4737C60EBD969197A6FA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; D254890C63ADC9C6812BDF93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; D2A8BDAAD64FF5A5442F1C3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -814,11 +1021,15 @@ D3FE216B5EAC55834446D659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; D408CA86079E3FE98FEAFF99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; D424D907C93822CBBABB39D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; + D451568A9F891A75794FA222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; 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"; }; + D614D9A54ADDA963BE6D6539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.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; }; + D6AF58862F8D98916A884ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; D6DBFE153ED66744A79FD7C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D6E871933044DB7C729653D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; D6F4411BCCEA6358FADA3BC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -827,13 +1038,20 @@ D7402ACDB1AAA5A345B61529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; D7694A3176492013902BBF3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; D783DFE1BF328D75FA4EB7EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7D0FBCDD2529F0F416FEDF6 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + D7D6F8EB856793BDB8DA29CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; D8275ED6BFD4AAD7BF13CC2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8B5CFD569F7AE744158B11A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; D8D65FD4A2F1B4572540A21D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; D8DDE8B0AB11A6FFB9C7A8B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; D8F87300D82C3F5E989A9011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; D8FF2E14B072C8B9544C95BF = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + D915A16F59B6732EF2515CD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; D97D04E27CEBD97B988F3F7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; + D9AF5DBF207E400468A57A85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; + D9C660F07B4538C81AB49D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; DA03D10FD1896F49D3AA2D81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + DA481F9C8F2165DCDD109D1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; DAA02F90C34CFED97483236C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; DB096C620CC605E3347E49DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; DB130B7171062DA7585C54F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -843,13 +1061,19 @@ DBFBB4E07B66E9FB6EFC0CA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; DC40896B34539B4CDFD98A83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; DC8568B8091FCF34F5F2B264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + DCA999887D827B21BD83612C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; + DCB65E643F3684CFEB3E2B2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; DCC6CD0D96DF5D56628DC513 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; + DCEDE5F91C5C42694AA7A4DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + DCF2C05564880AC60C437BD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; + DD27A9D5B621B219B88F1B4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; DD5088088E2F96F2A90F846C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; DD814F83C89F94E61871C009 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; DDD9956A34EECD84627E4D23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; DE21CD502DCDD7D2934F72BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; DE51539BA5A479C76A8BB82E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; DE5BD7F4C4C455FAE894D657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; + DE7EBDFF24469A267EAB5FF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; }; DE96C095E423324993DCAC8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; DE9C13FD08D8717984C5306B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; DEE0007C38531B281E20A2A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; @@ -880,14 +1104,22 @@ E3EBACD5CB6769BBB22735D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; E41EFBEDF1FCC35FA46E0758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; E42FD3B1912D5F551179D1DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + E4744B15841BBADB447C2A94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + E4974A321F07C4042A8E30E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + E49E94FA5BE6FEA1CAAD1598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + E51F116FDE258E21C4756320 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; E55E5BA2A453E87D427CB4FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + E5878C23FC03B505A95E5298 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; E5B599378BB30FA87B3E360C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; E62F93F0E69F1FDDBC40E5FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; E630DE24659C252E9EBFE366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + E64889287C4978B59D365063 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; + E64996B84FABB67EE78741D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; }; E6BBD52DEEF5BB309A5E0D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; E6C36657CECAF4AA1AD8558D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; E746C564E0175FB54090D87A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; E75814074C88E2E781498AAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; + E7807E640A35FDDD1D57092B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; E79180FB373A881C6F5B60E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; E7ABB8B409A117BB3FEEEE0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; E7E7C43041E9BA05EB4FCBD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -896,8 +1128,9 @@ E84138DC7565FE1416315C8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E873484E8E21B1C4542D03AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; 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"; }; + E8B2D3543456A637E862D5FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; 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"; }; @@ -905,36 +1138,43 @@ 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"; }; + EC0D3103318BC6F7914B0D87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; EC102CE64BE3F8AF1D3B720C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC33C38622ED330F98CF2921 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; ECDBA884241B6AAA334E0D23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; ED067DE4926598C42B4EBC8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; ED6A7341ECDCC395ABB50FF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; ED8B57E5C91C21AE53C2693F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + EDC5A6F499B73700A463BFE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; EF2B4989E0D155EE1D678F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF5ADD6769822131A5C65986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + F1C099E03A1C47D395B0A4FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; 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"; }; F24DBB309D44148115EE7202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + F2C21B198F9568B2C4AD9EE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; F2ED06DE39A6A3BB84A23F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; F2EE77BFC5289905F345230C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -942,26 +1182,34 @@ F6A72C0BF37C9ECC315FEE8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + F6C233D2B49ADA6D0497D4A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; + F6D1D28F85CEF6739A63C0DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; 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"; }; + F74B884310FB41D154FC77A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; 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"; }; + F7B1E4C83A89F0E29167C1B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7C114622942AD99DC13F847 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; + F7E832627C87C46DCDFEE64C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; }; + F7EB5B7B8A9A2B26E211AA8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; + F80AD0EB51622D6A90E74C38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; + F8FA7255FA5ABE12EA341FC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; 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"; }; + F9E422EB0AB0B3A316F5DEC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; + FA149630A0F85E50F602FE6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; 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"; }; + FB12B435CDCEA28379A89C01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB33281E94C3B9154FF78FF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.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"; }; @@ -972,6 +1220,7 @@ FE31FF67DA4B994486AF30B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; FE3743EE4D35B41B46F938D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; FE3B1B765FD79B42BAB31946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE97ACA2BDBA51AB5C2F6A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; }; FEA9025EC5AFF06C3119E2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; FF8B79CC34C6EEEAE3C31C7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; FFA933744B1A866F8733BA0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -988,13 +1237,15 @@ AB1DE39BFBA22179B919703B, ); name = Source; sourceTree = ""; }; C69BCE512948465235B05858 = {isa = PBXGroup; children = ( 47DF0B5F0B14AE411808F7CE, ); name = MPETest; sourceTree = ""; }; - 5489D521ADF9019843119414 = {isa = PBXGroup; children = ( + 669197F48B0F3B2AAFBF8510 = {isa = PBXGroup; children = ( A2579D66249C62C1DEE92E1D, DC40896B34539B4CDFD98A83, 033CF8E14902A81FF64A0EF7, 9F0EEFDFFB29330643715D31, 0A078E86A69712204CD5256A, ); name = buffers; sourceTree = ""; }; - 217610183EA8BD76B32A1091 = {isa = PBXGroup; children = ( + DDE6D4C2A1D81398F748C195 = {isa = PBXGroup; children = ( + 7DBF72CA0BAF975B3CCCB4CF, + DCEDE5F91C5C42694AA7A4DC, 8EAB66AFD0A5824AF6C38F56, 294E38D35B22AEDC556CDDEA, BF636F03555370A34F3E92E8, @@ -1004,7 +1255,7 @@ 906858F4D1A91AE92FE33431, D72A5B12D4EFE3F5A987102C, 4A7DE0647A682256D4E61BB6, ); name = effects; sourceTree = ""; }; - 5FA8DBD6DF93443F73A1872B = {isa = PBXGroup; children = ( + EC867B6FB5F46CD0D6DD4837 = {isa = PBXGroup; children = ( F244FC45098CF46687C0437E, AECE3E00CA23B8BC04DC0326, 12DA948C2F890AFCEC584E18, @@ -1017,7 +1268,7 @@ B53A535D45DC0A485F1D7A03, B28125595ED641D8D708A672, 02AF229CB188EEBE3B0213B4, ); name = midi; sourceTree = ""; }; - 9BCB14578B2C8CC21FDA6382 = {isa = PBXGroup; children = ( + 9849DE5C3ECB959121895A0D = {isa = PBXGroup; children = ( A353726F76D426E1528DF4E5, 22A8E10FA861E5E3824C37C8, E2DA6A821B25A153D3860A13, @@ -1053,19 +1304,25 @@ 30B0695DFBFC7FF870A58DE6, 42371152802017F57D1D7E7A, 8F48D8208E29A75118A98737, ); name = sources; sourceTree = ""; }; - 4E643F9CD9EE691AE833B64B = {isa = PBXGroup; children = ( + 5BC3750F9C43EA0DCEE07333 = {isa = PBXGroup; children = ( 75C8387A8EA8DE5E856952DF, DC8568B8091FCF34F5F2B264, ); name = synthesisers; sourceTree = ""; }; 6D6BD190E0292674F39E8980 = {isa = PBXGroup; children = ( - 5489D521ADF9019843119414, - 217610183EA8BD76B32A1091, - 5FA8DBD6DF93443F73A1872B, - 9BCB14578B2C8CC21FDA6382, + 669197F48B0F3B2AAFBF8510, + DDE6D4C2A1D81398F748C195, + EC867B6FB5F46CD0D6DD4837, + 9849DE5C3ECB959121895A0D, 40898647F35D01F6A2699106, - 4E643F9CD9EE691AE833B64B, - 4C5018AA4799F86499662B0E, + 5BC3750F9C43EA0DCEE07333, + DCB65E643F3684CFEB3E2B2F, + 9EE84FBC6D21836516BE409A, + 38E1ABBD84C884FA0415656D, 9EE84FBC6D21836516BE409A, ); name = "juce_audio_basics"; sourceTree = ""; }; - 4E68B457C9E7F2B65A5B88DA = {isa = PBXGroup; children = ( + 9715D5D55ADC761BD275BB83 = {isa = PBXGroup; children = ( + 49E4C6DD3893245B406C90BB, + E0AFFDE86D2593F1FF21FEFC, + 5A28DED9BBEDC2E03C6AECFB, ); name = "audio_cd"; sourceTree = ""; }; + B7C9B9E48E3DDB5C4072393B = {isa = PBXGroup; children = ( 3FC1061502C287C1D0099B21, 44E830CE4F46500243B0F095, 334367A18F54C928DC48ACA8, @@ -1073,22 +1330,13 @@ 001595A5B01C0F1EBB38054F, 58587BC050F0D9A45940FE62, 570B9DC717F39CD9455B6A4C, ); name = "audio_io"; sourceTree = ""; }; - 8163EFE6597F8420428189E3 = {isa = PBXGroup; children = ( + 8927996E11C9683DC5A52CCA = {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 = ( + 69B2810F8447AC8A2871B70B = {isa = PBXGroup; children = ( 3F38B8657F25B4ED7A44AA58, 226FD52F4533F8CE03C8DF20, 44524BF33AC80E3F57C0522B, @@ -1108,31 +1356,169 @@ A5136F150AC3C3D48C8B5BEF, 08B60F139B2A313DB825ED18, 34F6D81CDDA0736524995278, ); name = native; sourceTree = ""; }; + 633C2B7CC86C2CEE349CD083 = {isa = PBXGroup; children = ( + C00E40B39075B28FE2A6CFA8, + 99BFCDD644103FBB6DB8C288, + D254890C63ADC9C6812BDF93, + 925C571487EEB3DCE49D5767, ); name = sources; sourceTree = ""; }; 6FA8D51AF51DE1C29574C6FE = {isa = PBXGroup; children = ( - 4E68B457C9E7F2B65A5B88DA, - 8163EFE6597F8420428189E3, - BFE026E2BC00A379694115B9, - 72B1340F1020F9087F37A76F, - 2B2C179AA15B3FF9075EECC3, - 4CD401D9D010608EA9D68C35, + 9715D5D55ADC761BD275BB83, + B7C9B9E48E3DDB5C4072393B, + 8927996E11C9683DC5A52CCA, + 69B2810F8447AC8A2871B70B, + 633C2B7CC86C2CEE349CD083, + 70AAA12FEFD150E74AD50E6B, + B50A8EE15B6ED3D2A655C0F4, + 832DA01918B8312FEC0909CB, 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 = ( + 8087A66346E01AEB3AE47A93 = {isa = PBXGroup; children = ( + F9E422EB0AB0B3A316F5DEC5, + 3DD8F9E58E54BC570156FF15, + 9D59CBB9BF49B3C5729DF357, + D915A16F59B6732EF2515CD9, + 3382F792EC79E7B06893F3F4, + E8B2D3543456A637E862D5FE, + 0742AFACBC1007487B80F20E, + B9E95B83D03AC32741104229, + 6A05A26B9D63B33C4F3BBFCC, + 3619845EB3C0E53E15391F02, + 407FEE45E11ADCBA6ADC5311, + 548A8EA9A18FAA4D2FEE6E70, + 39D5D9778F62D8CEF1A2230A, + A421A66ACC049BE5BC10FBAC, + F6D1D28F85CEF6739A63C0DD, + 46C74383053813CCDDCCD9B6, ); name = private; sourceTree = ""; }; + F9E61C12900E4A0CA55A25C8 = {isa = PBXGroup; children = ( + 61CB03BEB92EE393A9C30A6D, + 15E3C0FC5CCAC0F57E827EC7, + 7D4C9951C7B2C2EE9644225B, ); name = protected; sourceTree = ""; }; + 152A8A5951E3DEE8B739ADCF = {isa = PBXGroup; children = ( + 8087A66346E01AEB3AE47A93, + F9E61C12900E4A0CA55A25C8, ); name = include; sourceTree = ""; }; + 46113C0BB2F8A21A1FFDF244 = {isa = PBXGroup; children = ( + 152A8A5951E3DEE8B739ADCF, + AB8F703BB8F2A003F318F4A3, + 2C87465C161C79F25572ED88, + B5FCD5A01520945C9515310D, + 0CEDCFCF521998B6F14BBC33, + 323A61AD656A5D8853C76A12, + AEF5641407322F7AD85413FD, + 85C4BE351724DF94762676FA, + EDC5A6F499B73700A463BFE7, + C59EC721FCF670C48326BC97, + D451568A9F891A75794FA222, + 84D33602FFB14619B47C50B0, + 8D718D65EE248F7EF412CA34, + 4DE73805F2B7B894EB288C2C, + 96AC2C09939C03CC9B73F2D7, + 6F68A41549F8A295B3C723C5, ); name = libFLAC; sourceTree = ""; }; + 6BD84670E15FC53843187765 = {isa = PBXGroup; children = ( + 46113C0BB2F8A21A1FFDF244, + A3649D2BFE598FE261168E2F, + 2469D804B49D529E1DAB735D, + 7D113F642BD81EA2FBEE847B, + E64889287C4978B59D365063, + 865B64317DC39FBF6299CD3F, + CE91785E4FC3DF8DE1581DA3, + 3543E6F945948452386492EE, + D7D0FBCDD2529F0F416FEDF6, + CFC63A61DECB0A46C5B29E8E, + 6E59323F21F221983F6BE6BF, + DE7EBDFF24469A267EAB5FF4, + CDBA4916B79CD2B5829B11B9, + 3891FF000C00D205BD163B84, + 8449AF314B16C1F434D08A96, ); name = flac; sourceTree = ""; }; + EBCD0655B9281635BA8E974B = {isa = PBXGroup; children = ( + 288DA9E4FCC2655A572FAA92, + 32487ABCC6C239FA8B605377, ); name = coupled; sourceTree = ""; }; + EB320559C545520CBEEFC0C4 = {isa = PBXGroup; children = ( + 542EA224A74B5696EA61F417, ); name = floor; sourceTree = ""; }; + 02E9BF0B4C1703B5BF384EAE = {isa = PBXGroup; children = ( + F74B884310FB41D154FC77A9, ); name = uncoupled; sourceTree = ""; }; + A7434FD48B5A3673C3FCB649 = {isa = PBXGroup; children = ( + EBCD0655B9281635BA8E974B, + EB320559C545520CBEEFC0C4, + 02E9BF0B4C1703B5BF384EAE, ); name = books; sourceTree = ""; }; + 690B3C11678C0A17B9CC7DCE = {isa = PBXGroup; children = ( + 9F1C43C0D30A89F153FDAEBC, + 9ABA9BCF39E34EE07A636CAE, + 6CB3FD103C45C1C043D4F2BE, + 746C34638DAB7069D814D606, + CA6273AAFE7F1F2D4B894B0E, + 14FB2225C7CF65E1524D853D, + 61D341BA9915D641787BDC05, + D6AF58862F8D98916A884ED4, + 2D362C8276D9E1F71BCB722A, + 4EE42B6A8ECBA1D1D9CE5AFF, + F8FA7255FA5ABE12EA341FC1, + 3979223BC5EC0E39403ADADC, + 43B00D88E9C199CA90226421, + 1ABE32C2081E53B4E83435EB, + 66BAFFAEF5D92BA78342A590, + 2083DB3C76E1E0B56829D8E6, + D614D9A54ADDA963BE6D6539, + 0A2F83B3A9C181249F3ADF9B, + E49E94FA5BE6FEA1CAAD1598, ); name = modes; sourceTree = ""; }; + 68504325DBEB63599DEDD617 = {isa = PBXGroup; children = ( + A7434FD48B5A3673C3FCB649, + 690B3C11678C0A17B9CC7DCE, + CEC71BD58B027F136CAF3CF3, + 18A6894D3206148697643805, + 5D638C51B38B6330EF32D131, + 89F3F42BBF22E3DF54C63780, + 7B0B282B610256159C5CB164, + 8F97981CB8D478665C1CDC4C, + C67B84C58F492D2EE7B3D212, + DCA999887D827B21BD83612C, + 2EE4816998D78BF01131D146, + 0C42F13BC4AC3286839D3FAC, + 0175895A8239E70F6F378C70, + CF6B8832E1701BD7EBC51757, + 26411FBA035CB9C3828249B9, + F1C099E03A1C47D395B0A4FE, + 2654853BC5B189DC827249D2, + 5DB02EF0C00A522D11A12B39, + 488D596E6476875076E43BE9, + 3109A9812D86605421C9FAAE, + A211B815F57E24FD83070FF7, + 2A93870B3C113A27AEB96C29, + 0C7DF1F667AB445273BFCF30, + AF403F1BBA31C4CD576F59CE, + B259B8A3F1899CEE36D6632C, + D122F88A241139EE0ABC3121, + 40E87BD1DA90B3EC41CD5826, + DCF2C05564880AC60C437BD3, + 47753E3DA61CA2C2DC717C5F, + 655827E88552979485E5B0F4, + AF5FCD3E5A75D5A0C912ADB0, + 75F354279EC597971F9F041D, + 9CC592A09FD90F83292034A4, + BC0DEB83F2F2575370E323C2, + 380D9B3D50910F258BA12764, + 6337213C39C576715C7B07E8, + 1118D8664838019191E4B8BE, + 7E9CCDCFC53D5276174AEFAB, + 12FB93FEA112EE57DD446110, + F6C233D2B49ADA6D0497D4A9, + 27FBCF906E8474782CD440E8, + 3F2980AAC9EE84FC39AD7879, + 37A0CB35C51016E509557D14, ); name = lib; sourceTree = ""; }; + A3FF3A837D683BC6C7432668 = {isa = PBXGroup; children = ( + 68504325DBEB63599DEDD617, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + 447EDD763E9F4EC8C020E4B4 = {isa = PBXGroup; children = ( + A3FF3A837D683BC6C7432668, + D1A827BFF897A4EE4B56A385, + 3AD92F4D9C1D84D2F645F1CA, + B78BFF51B16ACCA6CCE41510, + EC0D3103318BC6F7914B0D87, + 3FCB4D5F5BFFBDEAED26AC17, + E5878C23FC03B505A95E5298, + 2C80EED4E8C72675BAB1027C, + BFE91E4FBE4B39D66CA63B6B, + 4C14B5AD411536458C78CC5E, ); name = oggvorbis; sourceTree = ""; }; + 55B43E45D0C415276C789792 = {isa = PBXGroup; children = ( + 6BD84670E15FC53843187765, + 447EDD763E9F4EC8C020E4B4, DB895ABF03BA62DAC80F9B7D, 1DB0E5D44E06C20E9596193D, 9241AB0AAE9428D1D3404DAE, @@ -1151,36 +1537,39 @@ 1D766E0719754559EDA33816, E1E2599D827CB64258EC9EB0, 0A7749697A76FDBB036E1B55, ); name = codecs; sourceTree = ""; }; - 8ABF3BD4A9FEBEC19699733B = {isa = PBXGroup; children = ( + 8C8508B5D26BA748787AAF63 = {isa = PBXGroup; children = ( + 66DB34EE165CA04ACACB104D, + 55318EBDA23C2918FC8D838E, + 8C6D860D00B9D27F59BE688A, + AD47911F727BBE2907742B6C, + E6BBD52DEEF5BB309A5E0D36, + 44F7EDE4220F31B641051082, + B346F61236D50FFFAA93DB58, + B1D0E807C8AA03DCD59D95CC, + 0C03AA02839664626F4DEECB, + DE5BD7F4C4C455FAE894D657, + 3138762B0FB6AE1FEB2A444D, + 6338FC98FAF82F3C9A15E943, + 3E77C173AE32F62B892CF01F, + B84ECC2C7B1E0C5283C5DE92, + 4F7F3DF2110623AD17177CC9, ); name = format; sourceTree = ""; }; + B79D8014B7DCD0DF37AC076F = {isa = PBXGroup; children = ( 54683E42FA3E4E644B5BA342, 6651651E2DB80985AE11BC2A, ); name = sampler; sourceTree = ""; }; B0157000DB5FEB5AF75E4F9E = {isa = PBXGroup; children = ( - D9636748AB4515EA6F70F6F1, - 0FE231DB06C13D3823C690EC, - 8ABF3BD4A9FEBEC19699733B, - 6572780DEF7C396030F7E88F, + 55B43E45D0C415276C789792, + 8C8508B5D26BA748787AAF63, + B79D8014B7DCD0DF37AC076F, + 4D81C9A53E0BC4C44249370D, + BA74CBA07F7E462B824D155B, + 9A95B88EAC68EEDBB4A6EA80, BA74CBA07F7E462B824D155B, ); name = "juce_audio_formats"; sourceTree = ""; }; - B141FE8425056D7A1111F49C = {isa = PBXGroup; children = ( - DEE0007C38531B281E20A2A3, - 51FB54FB93F826E8B4207DAA, - 8B4618262B4BB0A436C51B6C, - 571B4FA4AE8176E2B4328567, - 8D2FC9A82A2C76FAB8AFA963, - E79180FB373A881C6F5B60E1, - 772FC3C9E091EF0A66C077C1, - 035F7E38035024592C9CC7BC, - D078B13C5448B055AD1587EF, - 9DB04269AF81BBB96EA3BB19, - B05E72AB3D6C98EE78B78396, - 74EAE983AF79D27EE6858539, - 71C76E49F379F9B05389C3CA, - 7597D668A9F5F71F9D02D8DC, ); name = processors; sourceTree = ""; }; - 56224860442B325B89B3D560 = {isa = PBXGroup; children = ( + 2CE54F86505AC08BDFD45F8A = {isa = PBXGroup; children = ( DE96C095E423324993DCAC8E, 3DA4C013F3A87FB9066D9A06, DBFBB4E07B66E9FB6EFC0CA4, FC14C5899F93765A74125329, ); name = format; sourceTree = ""; }; - 8399A36C496E0E4B8C36120B = {isa = PBXGroup; children = ( + BE0B8102B71E4BD8A79AB489 = {isa = PBXGroup; children = ( F7369DF5ABFBA560A5FD5E71, DD814F83C89F94E61871C009, 807FB66424227F43DB1E720A, @@ -1192,7 +1581,24 @@ 6E9C575B96F65E6DDD4F62B8, AC3A1878FFA5E36CC67EF642, B5EA0961ABF5E581D4DA94C1, ); name = "format_types"; sourceTree = ""; }; - 4AE5724854053F8845688903 = {isa = PBXGroup; children = ( + 433916B0C60FC4242279D58C = {isa = PBXGroup; children = ( + DD27A9D5B621B219B88F1B4E, + 2B8110812EDB60E35F64ECC2, + DEE0007C38531B281E20A2A3, + 51FB54FB93F826E8B4207DAA, + 8B4618262B4BB0A436C51B6C, + 571B4FA4AE8176E2B4328567, + 8D2FC9A82A2C76FAB8AFA963, + E79180FB373A881C6F5B60E1, + 772FC3C9E091EF0A66C077C1, + 035F7E38035024592C9CC7BC, + D078B13C5448B055AD1587EF, + 9DB04269AF81BBB96EA3BB19, + B05E72AB3D6C98EE78B78396, + 74EAE983AF79D27EE6858539, + 71C76E49F379F9B05389C3CA, + 7597D668A9F5F71F9D02D8DC, ); name = processors; sourceTree = ""; }; + DDFC041F5673957EF6B15DF7 = {isa = PBXGroup; children = ( A084D01ED9334EBAFB966862, 5C198C39CC5322356263DE10, D48FE428CE33968C024759F7, @@ -1209,14 +1615,16 @@ 9C0AAFB1E56B8FF6CB8F614B, 39D44FF56380385B8384F81C, ); name = utilities; sourceTree = ""; }; AB48A58D44AEFCA3F21E8D14 = {isa = PBXGroup; children = ( - B141FE8425056D7A1111F49C, - 56224860442B325B89B3D560, - 8399A36C496E0E4B8C36120B, - 4AE5724854053F8845688903, + 2CE54F86505AC08BDFD45F8A, + BE0B8102B71E4BD8A79AB489, + 433916B0C60FC4242279D58C, + DDFC041F5673957EF6B15DF7, D8411DCED586C411659DD219, - 01982E7F111EA0F64A134DAB, + F7B1E4C83A89F0E29167C1B6, + 3B86FA979F365227E1EB9592, + 08DC2C6ABC78DEA6ADDA07C7, 3B86FA979F365227E1EB9592, ); name = "juce_audio_processors"; sourceTree = ""; }; - BD867FD0796BCA4D85BA1A2B = {isa = PBXGroup; children = ( + 67FE6CAE821B9B4AC7CB857B = {isa = PBXGroup; children = ( D6DBFE153ED66744A79FD7C7, 85608CBD070076019F0A5AAB, 7060321468CD7FF42AAF182E, @@ -1231,72 +1639,24 @@ E81E701E50B80CD8D7ADD9A0, 6B08381BCFD3448AB40EB764, 109575E72FCBE619A842EADB, ); name = gui; sourceTree = ""; }; - 53729100FC8FB30CBB91B28A = {isa = PBXGroup; children = ( - BE353035E54BBD637701274C, - 703E93210140FC510B4C30B7, ); name = players; sourceTree = ""; }; - FCAEACFE743F52A057EB2683 = {isa = PBXGroup; children = ( + 82E28370162EDDDC675F20EE = {isa = PBXGroup; children = ( 07986389020D0AB5D139286C, D3FE216B5EAC55834446D659, 5FF0AE9C309D0F00EE9D93B8, 5975D093AA16540D75DFC05E, 360380932997DAF4065415CC, ); name = native; sourceTree = ""; }; + F15499AE6540A19BE22CAF04 = {isa = PBXGroup; children = ( + BE353035E54BBD637701274C, + 703E93210140FC510B4C30B7, ); name = players; sourceTree = ""; }; B41158B4484EA0875E08A9DA = {isa = PBXGroup; children = ( - BD867FD0796BCA4D85BA1A2B, - 53729100FC8FB30CBB91B28A, - FCAEACFE743F52A057EB2683, - 40596589E6A4CA47E84EE943, + 67FE6CAE821B9B4AC7CB857B, + 82E28370162EDDDC675F20EE, + F15499AE6540A19BE22CAF04, + D0E359CEC9A5C871AB81ACEE, + 7E380BA307E4A53923F32491, + E121AC6E7E98A5CAFDA979A5, 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, ); 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 = ( + BD5473320747F986D1D590C2 = {isa = PBXGroup; children = ( 9963DA20A3A169F096DA9FCF, CE5EFD0B93A7DD3687B3FA11, E833D66716056A926C5C89F4, @@ -1318,37 +1678,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 = ( + 283A0785A8D2A94A42A021B7 = {isa = PBXGroup; children = ( 42671DCA829C86E21A41AA48, B5C2E2E572443EBC683A308B, 1EE89A61F329252103888090, @@ -1366,76 +1696,56 @@ 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 = ( + 7891079EA0300E8483142A5D = {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 = ( + 1C2D036636C6BAFE5EE8A762 = {isa = PBXGroup; children = ( + 1683945897B57B67297DE68E, + 0760036B9D3615440627B5E1, + F2ED06DE39A6A3BB84A23F8D, + 37769779C54F5EAA72386EA8, ); name = logging; sourceTree = ""; }; + 4933C237D0D1E145BD905385 = {isa = PBXGroup; children = ( + 7B4BED87BE117AF628DDC1EF, + B82A885925538D2A750B5077, + 0DC3165A5F3B775232531A23, + AF8A2C37DFCE17AAC5976773, + 88A6977E6C431A7B8E41B87A, + 2B700EED388A0D5BCD27119C, + B3D740F535AE6C7211B7F346, + 52C3173E0EE9C79C08C5DDFA, + C622457017D7A56DC4C7FC67, + C5B2445A0F393620939C2EE8, ); name = maths; sourceTree = ""; }; + FB0E2A30E86A7934BDF38554 = {isa = PBXGroup; children = ( + 6BCD122B109FEA7382F86B6F, + 79C500C091AF9E639F37C514, + 7F555DDE48B74E14F99C805F, + 15326497248BF0C5248444F7, + EBDAA7D47F11011A2332666C, + 260FF0356209F0FAC5EF72F9, + 73F442AEA16947270FABB59A, + 8ED647B92C0CB084AB1756B8, + 5B1A209CBE6AEB1063FB149F, + 6CE9869F76A0BDBBAAFC2AD2, + B8F33A418BB2AEEA980B25FE, + B02859F63C4DB6CFB687B30F, + 0591FF86C4D808638C1E1B31, + D30D77B2572852C5C9FF86C0, ); name = memory; sourceTree = ""; }; + F166DE6015EA5C17648CB1D2 = {isa = PBXGroup; children = ( FEA9025EC5AFF06C3119E2DE, 7CCCB8DF5D4F39091A296F19, + 55267F7B25EDD9F895BC8501, + 00AF9FA396C820CB31276ADA, 6F47E5D0F6E40ED2846E6572, 814ED3A6EFB59ADEF6747D30, 44144EB6BBF8C91984B24B26, ); name = misc; sourceTree = ""; }; - F38C88E1DC944F4C43265644 = {isa = PBXGroup; children = ( + 7CAFBC46A99136E905EC3833 = {isa = PBXGroup; children = ( 4129D412D114068734D0831B, 5F906D2606C9F07B104120B3, 25679A32335DD3ADDA3902E2, 862E55A52A3835786CABBA97, + 6B1AEBF7F90AF55C7BEC2D76, 2484173D7D4BA02BB498C49E, 6B4A3C085C5D53EA256808B2, A62B2A3C8BD64FCB92519B71, @@ -1460,87 +1770,204 @@ 391416CDD6D0F5ED2F788D1C, DAA02F90C34CFED97483236C, 5F4AB4FE887CEE13DD04B691, ); name = native; sourceTree = ""; }; - A8FC72E4F19FEC8B91E632C8 = {isa = PBXGroup; children = ( - 93B788DFC1C7243528F1FA3D, - 316F29C45111629E4CFADFD9, - 4D4790E42CCA98AACE00B679, - 5992DD47776CE4F001ECE043, - CCB563EF33548D5CC941B744, - 6184FF3D83820107C5B1024A, - 22310530F28620B8D9BA128C, - D6B10605190A8ACEDF432FF1, - 5ACD43AB3DA26EA8E78D5F52, - C18471B46EC423B7B641B6DC, - 25774FF13894F0C8069E0942, - D3D244BE0B0E2F4909304C21, - D10F20151607501065C2E850, - 2588A788741DCD917C0F5756, - BBD3ACD1D6192688C7E8FE6C, - C4F26089A6CEE0C99EC8FA55, - F38C88E1DC944F4C43265644, - F229305EABC54A0360E3F43D, - 3C3914CF4EB61FC23AEA3490, ); name = "juce_core"; sourceTree = ""; }; - A87A8F3E687B87185D390390 = {isa = PBXGroup; children = ( - F47E8376EC7BDC4528239031, - 3FD9075B28C4450CFC36F949, - 87077F5EFF965C2D201F6E14, - 8937E49637ED97118277A146, - F6B6B1365187B9519FC0A206, - 866DF75570266BD14E146D0E, ); name = encryption; sourceTree = ""; }; - 5A9B169E349FCD88C8D3FFF1 = {isa = PBXGroup; children = ( - EDEA57CD386F98DE9E17C6BA, - D2BC77B38E85C0126AEDC3F1, - 7816A52096E7A88C501B1130, - 4339E4AC89EC3FA5C5F4CCD5, - 8FC849BFEF9953E872591AE4, - 8EC8237E53FD84E9697F2C34, ); name = hashing; sourceTree = ""; }; - 0FF7D030BAE4E164EAF53EED = {isa = PBXGroup; children = ( - A87A8F3E687B87185D390390, - 5A9B169E349FCD88C8D3FFF1, - F069C0B7A0FA2E1ABCDDCC59, - D97D04E27CEBD97B988F3F7E, ); name = "juce_cryptography"; sourceTree = ""; }; - C187B575F71B5C6F3B2A3A89 = {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 = ( + 59D5D166A3765FF5C657756D = {isa = PBXGroup; children = ( + 2E4AA3AC87FCE4E51218FCAD, + 9993C464C5F2B833CCB80E73, + D04BA00975A92412026A237A, + 7C263AD6FB3F219F513FC2AD, + 9C9DC2BD4FEE0C379DE12571, + 9F5F2836C2D83C3F53254241, + A816E22F2317F3AB90262CB4, + DB68CB04F33818FB58F304B7, + E62F93F0E69F1FDDBC40E5FA, + D01042D887575822E0081B0E, ); name = network; sourceTree = ""; }; + 3A5626D9B628927B44423FCC = {isa = PBXGroup; children = ( + 7861AA53364025BA5B10E816, + 9E4BB78272577D198F7CEA4E, + AA21DA98CEF52C5F09BEEC38, + F34AF47FEC2C9342DBA43833, + ED8B57E5C91C21AE53C2693F, + 2BF9277EE9D23E6756DDEAAD, + 53679FA0362E193DBB53E5B6, + 381C61E5D8990308F006A622, + 4A83BA7F930D8A2D7377C4F8, + 1A9CD64FD02DC991351F79D0, + F870C5032CF4205C73C7D6BE, + 3D23A96B33496215A0A41752, + 2FD97DD724D2656CF1E0D166, + A004966E7468D0F909B144B8, + FFA9C3C0C173CB01D1AB7EC0, ); name = streams; sourceTree = ""; }; + 31F225E467D735869109B292 = {isa = PBXGroup; children = ( + E1CB32FBE6F6E310599E2D26, + 0892D5D2CB6A4453365FBB2E, + 2DDDB0D5D31784DE584658A3, + A55F7E43C7EBDAB0936E49DE, + 230A9419C6C9B6D00D2BB8A2, + 86CCBF0A2BA002DD4F6EF744, ); name = system; sourceTree = ""; }; + 059BDDD9C6E38FFD72863729 = {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 = ""; }; + A8D9C8B9F5FADF312383555D = {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 = ""; }; + F7BB173BE14AD4C5AB446231 = {isa = PBXGroup; children = ( + FA161FD5E96B2B2115B6476D, + 6285DDA600803EFB4D1F8EC6, + 0DC3607C9300A572222E9668, + A197C8251B7D0C4E6F502433, + 74C004337047593335F0EB2F, + 1DB6C92024C5D0273B576FFB, ); name = time; sourceTree = ""; }; + 1F0A2EEC70F4A50F9724F496 = {isa = PBXGroup; children = ( + F0FDA8930B43FE5CB66D6CB7, + 6C03D708D1A0BE6E3315D8AF, ); name = "unit_tests"; sourceTree = ""; }; + 624FBB067E9DFD3987D22D7C = {isa = PBXGroup; children = ( + C27C6E28C83CFDDE48D68C36, + 864B819B16A5912645B76472, + 9A345A87139ECBCED9ECED0C, + 7BF0F10BC424F0558F6E346C, ); name = xml; sourceTree = ""; }; + FB7F0DB759329FB3827FD2FA = {isa = PBXGroup; children = ( + 8844ECF463CFEFDBB2FB330F, + 4FF28C35D19E3CDC3482C13A, + 9122485223217FB66269C08B, + 30AF432D385B456BA6A6F7F4, + 003920A875261AE0A915C042, + C7222F836AA95F25C58F41E4, + 80302FD52C61C0EF657A6C78, + A7F1C79F8457271DC871BF47, + 9738E89059C262BE1C3FDA19, + E4974A321F07C4042A8E30E5, + C90B228D8C62EDA5A9D41885, + 478FF58EED8EF73EEAFC4FC3, + 8FBCAED86C07B347E859D782, + 2CF70D13FD88D643AF23DC7A, + CF0F17D20CC56D2CAED7C5F7, + 327226463142F6D47D982B6F, + F2C21B198F9568B2C4AD9EE9, + D9C660F07B4538C81AB49D6F, + 9E69EBD91FFE1A58D678C5E2, + B8D421A53CACF8D5C22E7DC2, + D9AF5DBF207E400468A57A85, + 7A8DE3269AB2EC37AE63362A, ); name = zlib; sourceTree = ""; }; + A9EF275757F28F6D4C5A2770 = {isa = PBXGroup; children = ( + FB7F0DB759329FB3827FD2FA, + 2CB483940897747625E0DEF0, + C495993112F10E9129851E8C, + 5DAA0C0CDF8A539F6FCEFAA5, + B03367C60569B1910FD00AC6, + E22DA44980799F3DA64DDE25, + 0B4BE6C38E70E7391A88B4CF, ); name = zip; sourceTree = ""; }; + A8FC72E4F19FEC8B91E632C8 = {isa = PBXGroup; children = ( + BD5473320747F986D1D590C2, + 283A0785A8D2A94A42A021B7, + 7891079EA0300E8483142A5D, + 1C2D036636C6BAFE5EE8A762, + 4933C237D0D1E145BD905385, + FB0E2A30E86A7934BDF38554, + F166DE6015EA5C17648CB1D2, + 7CAFBC46A99136E905EC3833, + 59D5D166A3765FF5C657756D, + 3A5626D9B628927B44423FCC, + 31F225E467D735869109B292, + 059BDDD9C6E38FFD72863729, + A8D9C8B9F5FADF312383555D, + F7BB173BE14AD4C5AB446231, + 1F0A2EEC70F4A50F9724F496, + 624FBB067E9DFD3987D22D7C, + A9EF275757F28F6D4C5A2770, + 22A92320C1367C7B9C197C6E, + 3C3914CF4EB61FC23AEA3490, + 25B67ED795BC11D69805D4A8, + 3C3914CF4EB61FC23AEA3490, ); name = "juce_core"; sourceTree = ""; }; + A87A8F3E687B87185D390390 = {isa = PBXGroup; children = ( + F47E8376EC7BDC4528239031, + 3FD9075B28C4450CFC36F949, + 87077F5EFF965C2D201F6E14, + 8937E49637ED97118277A146, + F6B6B1365187B9519FC0A206, + 866DF75570266BD14E146D0E, ); name = encryption; sourceTree = ""; }; + 9DCECBD264E0331E950349CA = {isa = PBXGroup; children = ( + EDEA57CD386F98DE9E17C6BA, + D2BC77B38E85C0126AEDC3F1, + 7816A52096E7A88C501B1130, + 4339E4AC89EC3FA5C5F4CCD5, + 8FC849BFEF9953E872591AE4, + 8EC8237E53FD84E9697F2C34, ); name = hashing; sourceTree = ""; }; + 0FF7D030BAE4E164EAF53EED = {isa = PBXGroup; children = ( + A87A8F3E687B87185D390390, + 9DCECBD264E0331E950349CA, + FE97ACA2BDBA51AB5C2F6A9D, + D97D04E27CEBD97B988F3F7E, + C6CE8E894E9EF9F77754F88C, + D97D04E27CEBD97B988F3F7E, ); name = "juce_cryptography"; sourceTree = ""; }; + D0E0FF7892BB1AA40FB56AAB = {isa = PBXGroup; children = ( 35303BDED3573FD025AA6BF6, 61E9F7EEC1E8A9BC83431E55, 81979AE0B2796459699657AF, 6CB919D0572583A79239C10D, ); name = "app_properties"; sourceTree = ""; }; + D626890860D5A5802B26683D = {isa = PBXGroup; children = ( + D8DDE8B0AB11A6FFB9C7A8B9, + 575C1AF87615D28A9766B9EE, + E630DE24659C252E9EBFE366, ); name = undomanager; sourceTree = ""; }; + 26E8C8A61876B737B4C8F679 = {isa = PBXGroup; children = ( + FB12B435CDCEA28379A89C01, + BCD18C44EE0B69106E4AB555, + F1DB507A323F101AF64C0BD2, + C034BC82CE4EB8F2568629E0, + D8275ED6BFD4AAD7BF13CC2D, + 04A9E8ACA19D89D3B4EE5FBF, + 498D7E415C0E24045E8CC34A, + 07898F72AF374731C8D58113, ); name = values; sourceTree = ""; }; E97E404EBE9BAAE69CF6EBF1 = {isa = PBXGroup; children = ( - C187B575F71B5C6F3B2A3A89, - D05C3DF63345D322742D3539, - C42F76D7A76EDD94516EDDA6, - A11E58F0D28254BF0C5E6CBC, + D0E0FF7892BB1AA40FB56AAB, + D626890860D5A5802B26683D, + 26E8C8A61876B737B4C8F679, + 17CC8F76F370FEEAFBCCD9C4, + E2D1B06DF3B78955E6076686, + 6EC90B8CF8A53493F8D3AA92, E2D1B06DF3B78955E6076686, ); name = "juce_data_structures"; sourceTree = ""; }; - 11E41E38163B29A096760242 = {isa = PBXGroup; children = ( - 020EE4DB59648F4FB8516FA9, - BBA80FB6E7B8CC2B36236750, - 2711898DEDADE22BFD3A59E4, - ACF5C8CA1E6228ACCFB67F2B, - 812D84E4F3A82B1C61214191, - 1319CFA9BEB6EF9A0CCA5DE1, - DF65E154752472424051E11B, - 576F07120DA4768B0CB14570, - 7120C1DA3DF4C3FE1E82AD0D, - 39A0C2C528E433AB151366CE, - 9BAF53E9F559484E89236B95, - BCCD4D99EC4AAD2FB7DBCEF3, - E012ACB1A57FAAF6CB476741, ); name = messages; sourceTree = ""; }; - F9AA32A6D2CD2C9600C49E58 = {isa = PBXGroup; children = ( - B654E7DD258B9A755CCA7BEA, - 19F1E0A1D16107BC0A21D8B0, - F6346CA0038C6218ACC926B9, - AF04AAABB333D46EAE2FD387, ); name = timers; sourceTree = ""; }; - 0D3B940E483EED260C9233E8 = {isa = PBXGroup; children = ( + D0CBF052937112FE2C4F4BCB = {isa = PBXGroup; children = ( 0F4BDA5EDC7B99927EDE3F84, 31400B4D421980AB72921D8F, C0294ADFDB35341825074EB3, @@ -1556,7 +1983,21 @@ 3926A9B46D728AA024FA23B2, 4E247FD4978713561FAD3C42, 03D75F52F5707AB35D6BA8EC, ); name = interprocess; sourceTree = ""; }; - FB1C700442C42DFDF562E24E = {isa = PBXGroup; children = ( + E6816042ECB56AE064FDC099 = {isa = PBXGroup; children = ( + 020EE4DB59648F4FB8516FA9, + BBA80FB6E7B8CC2B36236750, + 2711898DEDADE22BFD3A59E4, + ACF5C8CA1E6228ACCFB67F2B, + 812D84E4F3A82B1C61214191, + 1319CFA9BEB6EF9A0CCA5DE1, + DF65E154752472424051E11B, + 576F07120DA4768B0CB14570, + 7120C1DA3DF4C3FE1E82AD0D, + 39A0C2C528E433AB151366CE, + 9BAF53E9F559484E89236B95, + BCCD4D99EC4AAD2FB7DBCEF3, + E012ACB1A57FAAF6CB476741, ); name = messages; sourceTree = ""; }; + 8988DBB6C99C82CB2FC0F13D = {isa = PBXGroup; children = ( 23986EADB0FA1118A421AB50, 148CD006F32196E97DB2E15F, EE7FAEA30D9CE2164584A78A, @@ -1565,15 +2006,22 @@ 1BBE5A8CC950364880DE6DA1, 481F5349D5FC0457C31ECCEB, 09D41C26F44CB7D5AE9C3303, ); name = native; sourceTree = ""; }; + 9A476073B4A4D61EB74D5FC3 = {isa = PBXGroup; children = ( + B654E7DD258B9A755CCA7BEA, + 19F1E0A1D16107BC0A21D8B0, + F6346CA0038C6218ACC926B9, + AF04AAABB333D46EAE2FD387, ); name = timers; sourceTree = ""; }; 2FE035201A22BC055E791509 = {isa = PBXGroup; children = ( - 11E41E38163B29A096760242, - F9AA32A6D2CD2C9600C49E58, - 0D3B940E483EED260C9233E8, + D0CBF052937112FE2C4F4BCB, F7E869FCC6C7B5E60166E628, - FB1C700442C42DFDF562E24E, - E8BF6B3522E318AF306DB68D, + E6816042ECB56AE064FDC099, + 8988DBB6C99C82CB2FC0F13D, + 9A476073B4A4D61EB74D5FC3, + 12928D6D8F0694C4FD4D882C, + 3F23E79E8D215B53423F66EF, + EA74FE68F55905DCC00E5F9B, 3F23E79E8D215B53423F66EF, ); name = "juce_events"; sourceTree = ""; }; - F9847817E9BB5512AE44F69D = {isa = PBXGroup; children = ( + 416B29DC9CB3EA8B8AECB1AD = {isa = PBXGroup; children = ( 687D3BEBD01B7089DA7EBAD1, 84BDA14D7DC9213E854ACD09, F234E0468AAAF83CC3181F58, @@ -1583,7 +2031,7 @@ F008D0FCAC412A662ACF8CE3, 522EB405E3DDB9138DBB4704, 23D167475E6FE0FAA20C55CD, ); name = colour; sourceTree = ""; }; - D1572B954DD1F694A3F2F6B9 = {isa = PBXGroup; children = ( + 4EABBBFC712459540C064426 = {isa = PBXGroup; children = ( 49F2723942EAE756E456ECF9, 9A24B551B171C6CE823CC0E5, 002DBBBB1D4CAA23FF7991DD, @@ -1591,20 +2039,26 @@ 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 = ""; }; - 5422E92020E708C5C9AD48AB = {isa = PBXGroup; children = ( + FD1F0398BF4CF4454DE0624C = {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 = ""; }; + 21D3278019F7010AB6BBC606 = {isa = PBXGroup; children = ( 2AAAEBE53A14BA001544D40D, 1A88388BE44AED2870102576, 77BDC4AE92BEEEFA03C6C05D, @@ -1620,30 +2074,105 @@ 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 = ( + D6922F5DBAE505EC355C2A7F = {isa = PBXGroup; children = ( + B8495F1A5B1DD539A0AEF397, + 503591B75F9192D30B1F4FB3, + DA481F9C8F2165DCDD109D1C, + 333F1BBB1DA709F053F1910B, + BB6A80B2EF62467881E82D66, + F7EB5B7B8A9A2B26E211AA8B, + E873484E8E21B1C4542D03AB, + CA1C0C1B7FAC3424FCB8DB15, + 666B965E3A6DD244A02AB80A, + 6513E7A8F7A3ED08FA027DD2, + 7F630B9ED8AA825ECE93100E, + F7C114622942AD99DC13F847, + C8DA48A20797AFCC6970367A, + 581E9B142B0F232EE30B733A, + 8924ECB51790C58CBFB2CE2F, + 4F36F40F845A92E3761DFB22, + EC33C38622ED330F98CF2921, + D7D6F8EB856793BDB8DA29CE, + 20E6DEE238A486F3404CDD95, + B730B68957EC03F58AD52C45, + 80F5466F1230049E73655A6E, + 15025C8C23CD818C26765107, + 584192F9CFDC1E31396ACA8C, + 6FDC538B62820BFDD82A9ACD, + 2CC3F8D3ED7C62A24E7AFA55, + 08C1F1EB3D32773BA9B1D866, + D8B5CFD569F7AE744158B11A, + 81F0106A4C2C836DF2C1AEB2, + 1D1405CBEEAFCF397F71B96C, + 0AA95A03D00FE353A2E5AFE7, + 7A4583E374CE12DD13FF2F71, + 5766B208567BA28FD97FE8F4, + 8F05898CCAD3035423BE644E, + A8F3F041346E6688CCBB911C, + 1369558576DC42B0155A6C77, + 8CFDDDACC20E2D35C341D95B, + 6A876FC7C0FDB976163096A2, + 3165972B8E4A28B559198DE6, + C5603BEA9F9E568BD449783E, + CD35E68E36B7354BB3FDC07F, + 2BFA2FF47A3FFF09F64BE024, + E4744B15841BBADB447C2A94, + 31A8181A9D0D3C40CD0A366A, + 524323616804DF7EDF7A2753, + A055479BC13976ECE412137C, + ACE627CAD850627CCF3BCEDE, + BA8D8F36D178A56A7FA09ADA, + 0A9A5830F103CB7098180498, + 54827EB9591B27AA785DEB72, + B308F235E17E86C8B4015659, + 6A61D03FD78702998B8ACC9C, + AA8F60F83EE2F2E19A7648A6, + 1C43BFD96BA9652D2A3A9D6C, + 4F45B6EC16AA22C2746FAF90, + 4A57E7DC3701DC40F8ADF22B, + 72206F2F4B075CA4D6D95E31, + F80AD0EB51622D6A90E74C38, + E7807E640A35FDDD1D57092B, + 6843DB4FCE92F147344CBEFD, + 19DAC75488840447292498A8, ); name = jpglib; sourceTree = ""; }; + 54DF83A088396F23D57DE0F4 = {isa = PBXGroup; children = ( + 41F0AB55A6B984AA7E811A8F, + 4CDCDC97BC0172B90C3FC10C, + 4EB6A27A291541C8AAE52A7F, + AE5BD61A731A19BEC01D3E57, + FA149630A0F85E50F602FE6E, + E51F116FDE258E21C4756320, + 0B110D22BC05660B4F982D5F, + 80F85C2133103AF36A427B0C, + 30F13A8CF9C5498DE0507F18, + 09FDC6CA323F7F6804C62250, + 0F3C72EB21976EB81C9558B0, + 1E4A47DB09E736DBC2E63124, + 034A58420ED388CA3885A88D, + 86507E95B233BB4CB13126A0, + C225FEE2956F65B6510C2B4E, + 23BBA28EB78631E8071B8C31, + 516542BB2882E91D48F930CB, + 66D56EECF34552E1C85A2E8D, + EF5ADD6769822131A5C65986, + 5917FBA5851D74DFE856B7BF, + 90EE7160FE48911D419D329D, ); name = pnglib; sourceTree = ""; }; + 689B3791BBB862F339A76F54 = {isa = PBXGroup; children = ( + D6922F5DBAE505EC355C2A7F, + 54DF83A088396F23D57DE0F4, + 8B2483DC502CFB85054091C5, + 80888401EE0F8AC038266306, + FFBF68910D82B4BC2BB3D5E0, ); name = "image_formats"; sourceTree = ""; }; + 35ED75929A2B4206AF8B2939 = {isa = PBXGroup; children = ( + B737F86A97583158D47EED8F, + A2F3BC68972901383B331361, + 2E156BE3E6DBAA7865B0F3C0, + 2C8137E945F72BA9105D65C6, + 32E90C7EB3FED091E0719B69, + BA24E4AEE7BD1C7CDF793728, + 55E7B636B43C78D7D5A2F3BD, + EDF6D41F0DD4DAC224C6BCC3, ); name = images; sourceTree = ""; }; + A61267DE2A3CBD9AD8710E58 = {isa = PBXGroup; children = ( 36EBA0C5C75594F6432CAA0F, EF5C5733F527839385058414, E6C36657CECAF4AA1AD8558D, @@ -1657,19 +2186,57 @@ 3D1B0F640AC066EDBE4FCA90, 076628E712D4AD6AAA111947, 0C0752466019BB68BD8A77AD, ); name = native; sourceTree = ""; }; + F845A3FC9ADAB43CE8B5ACEC = {isa = PBXGroup; children = ( + 313744A137B12D90ABC32ADF, + 76A004283D71BFD31D9ACB8B, + 1C4B851DCA88F1B74D37A957, ); name = placement; sourceTree = ""; }; 03B60629C9CC9D1D5FC4272B = {isa = PBXGroup; children = ( - F9847817E9BB5512AE44F69D, - D1572B954DD1F694A3F2F6B9, - 372BE2FD5F53BE0867B3023B, - E36FF72E9ACA557159FF17DF, - 5422E92020E708C5C9AD48AB, - 20228E5F8C3C731001D0A5FC, - 7052E1E31883BD4DA5A9A70E, - D57E40A1961685032E00EBDD, - 5AFC1E3D3E4C607478ADEB41, - A6BC9FC87555B39B73778711, + 416B29DC9CB3EA8B8AECB1AD, + 4EABBBFC712459540C064426, + FD1F0398BF4CF4454DE0624C, + 004EF5819514F7D29CE96416, + 21D3278019F7010AB6BBC606, + 689B3791BBB862F339A76F54, + 35ED75929A2B4206AF8B2939, + A61267DE2A3CBD9AD8710E58, + F845A3FC9ADAB43CE8B5ACEC, + 60A6CB393B30830E5F1D4EEC, + 75321A674B370F32E25E4FBD, + 81D922DED89925E8726146B5, 75321A674B370F32E25E4FBD, ); name = "juce_graphics"; sourceTree = ""; }; - DCE64BC7DA75227D26FEFF4D = {isa = PBXGroup; children = ( + 8FA4164E0EFB07B668438A75 = {isa = PBXGroup; children = ( + 7C4B94E6E74999267FF81409, + 8B64303D4A4877BE3D9ECA23, ); name = application; sourceTree = ""; }; + 651884FE009AC51422F49113 = {isa = PBXGroup; children = ( + A9235E9E60C4A238FA54047B, + CE6199FD4EDDB4537A206D63, + CAE879F535FD4BCC9DD18A96, + F6892B7A65D34CEA069065ED, + BCCBB4E9E23CF1A2376675E1, + ACF8C9B787F071A59D0D7EFF, + DF1EA5A6EA5F6AE282F2A49B, + 32FB34EFF836CC859B88D59A, + D6E871933044DB7C729653D1, + ED067DE4926598C42B4EBC8B, + 10E32F03CD02144B4E150066, + 88D60BD76FD4D2DDDEC812BF, + 1840BA14C3C29EF2AF08434B, + 859A3E99E9C43B195F80F648, + 16EABF4921D82BAD71BB7AB5, + AC410B09B6B19E3DBFA81342, + 281EDA11196A278E6AB4B7FE, + 2481B3B84FE81519A2FCE441, ); name = buttons; sourceTree = ""; }; + D804A56F9B5078656499836E = {isa = PBXGroup; children = ( + 768ED0B52F40AF137ABB4B23, + 0C1AE743A7F57659EDCAFEC7, + A0C842CBFBEF097902336B9F, + 6996A01131F6EC782335849A, + 43C676DCCF3EF43C3E461DBF, + 6827D79ECEE15C9A98A6B135, + 87C79B3F7798AA8550362662, + 4F19EA0D6C57032FB00BA151, + 2FDF6E187E8341031460DC5E, ); name = commands; sourceTree = ""; }; + A139ED6956F573F09AAB7F30 = {isa = PBXGroup; children = ( 8522BED67A89A1DFEAE4FD54, FA41FA5168778882CD66481B, F4EF587736A179433A6784CA, @@ -1679,97 +2246,60 @@ 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 = ( - 6D45A9F8D00AF9F3FBF43394, - C9D87BCB93AFB0E715801097, - 252D26C60E79A2C069E172E5, - A82DBA408269C87D418906BF, - EF2B4989E0D155EE1D678F08, - EB151DF44C739572E4BC1E16, - A6352E758302225B3893D9BC, - A0D33AB1C8AEDB4245670498, - B4EF43855D18382AC6F26A01, - 92306B69EF888E52654C7A26, - 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 = ( + 44B639D30C9A94235CBFE3FF = {isa = PBXGroup; children = ( + 0908AC305FF07665C1ED181B, + AB0F764CBA1600621049FAE6, + 5FE360FAE9A403ABFF04FBFF, + F9AAC643E9F18D7EFB610EF5, + 275924B6B61ADC7DC45DF465, + 31B770F0F6BD21F867E24035, + 8C557330D246823A53B449A5, + 27F112C058EF5A258E9AC6BE, + 1F7B60B2FB93D6B84720AA08, + 131E8EC2DA7B6E7AA27A6D9B, + 641800593DAE412AA2630600, + 97EE4852EA4CC6213A4DB03D, + 7C997A5BA57D7568AB3E0F79, + 0B544DB0EBE315150B7DB69E, + C35854B72C47F401808A93D6, ); name = drawables; 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 = ""; }; + E46947E03BD1AA8AB9D00A31 = {isa = PBXGroup; children = ( + 6D45A9F8D00AF9F3FBF43394, + C9D87BCB93AFB0E715801097, + 252D26C60E79A2C069E172E5, + A82DBA408269C87D418906BF, + EF2B4989E0D155EE1D678F08, + EB151DF44C739572E4BC1E16, + A6352E758302225B3893D9BC, + A0D33AB1C8AEDB4245670498, + B4EF43855D18382AC6F26A01, + 92306B69EF888E52654C7A26, + B8E4371A1812FB6544696147, + 662F9B9615942BB97D1C50C0, + BDA1F22AECB324960FD04B8C, ); name = keyboard; sourceTree = ""; }; + EBAAAFB4BF95E68983E3438A = {isa = PBXGroup; children = ( FC847EE9B175571189CEB522, 135B6889C5DB189F0BD5E5D5, 85843AACDFA8061F182556AE, @@ -1806,72 +2336,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 = ( + EEC263583377E4AC478B5244 = {isa = PBXGroup; children = ( F6B60D635CDCF67189D36226, DF0BF35672EB45AE2A8E0966, 1693F25ED160AF15F12B1EDF, @@ -1880,48 +2345,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 = ( + 91D8F8E6309495B765B845CE = {isa = PBXGroup; children = ( + 1D78EC4983FF07EF7F5B90F8, + 368ACA792AA63A2A353D9241, + CD33944EC8F554BA64242262, + 734A9DABB685FB4C6FBFF63A, + 170C1744EC38808860EC5FF5, + 797024ADCC2EBD68FDC1C5A5, ); name = menus; sourceTree = ""; }; + 4745D0A4FB01B60E62285F34 = {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 = ""; }; + 2F658985500DAB264D8B3A33 = {isa = PBXGroup; children = ( 0D8E6523CB4D0315377B874D, 4C66A0301EF302CE34C09C92, 87F84688081C0FAAF3BB8BE1, @@ -1938,27 +2395,107 @@ BCC009DED67EBAE7E35C74DE, E853BEF233C01DBAFE0DDD63, A4D41578D2FC92EBF6D6157F, ); name = native; sourceTree = ""; }; + 5D1A430DE882E9454F54297D = {isa = PBXGroup; children = ( + 854311676B3921D8DD3D0157, + 7E3D799471D4CEFDA9559628, + 05B043441E6AD4C671E76907, + E55E5BA2A453E87D427CB4FA, + 05238D17EC276B357390E5D7, + 394EB2D6CECEDF1C9BA4555B, + CB833C35F124FADDB489217A, + A843CE531AEC32940221ABA1, + B28A031B821E7D99B96609CA, + 91CC923684BB3404154A74E6, + 1C5D3E2D967DCB9B6171F8D1, + 922591A6E5E820CB10974DA5, + 8E21F6EF4E830FF170C5B569, + 23B55CF0886E4D70AD727E19, ); name = positioning; sourceTree = ""; }; + D7550D3A87C3925ECBD7BD63 = {isa = PBXGroup; children = ( + 6135C09E481C8C987F2DBB0E, + E8669227B7C5605F03DB0218, + 44888289A2CF2F4FAE8A7216, + D6F4411BCCEA6358FADA3BC3, + FA6C06C38C3B71CDA2D8919A, + 4FB8831B363370118A37844C, + BD22F15779DC50BF4A27B33F, + 0772E67E5B580EAE2C4A248A, + 34A2FB33D2EEC064397B7531, + 8A00D34ABCC62F277B89FED1, + FD0A0A1DBC1E2CEF451EB097, + 62500028F4BBCC38D0CED34D, + F8C9CB0B192609E85304CFD1, + DE51539BA5A479C76A8BB82E, ); name = properties; sourceTree = ""; }; + 50C84A2535EAFD2883450FC5 = {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 = ""; }; + 38BF187F47E2861773A6C9D4 = {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, + 8FA4164E0EFB07B668438A75, + 651884FE009AC51422F49113, + D804A56F9B5078656499836E, + A139ED6956F573F09AAB7F30, + 44B639D30C9A94235CBFE3FF, 2E79909678FCA63C13A6342E, - D93EB826B373D2EF3A582BF6, - 15F986546C5C25997A7B0342, - FAFE45DB3117768DDB36C10B, - FF33525A8F472392FB59EDCE, - 53111224BD873CB59FD4E6AD, + E46947E03BD1AA8AB9D00A31, + EBAAAFB4BF95E68983E3438A, + EEC263583377E4AC478B5244, + 91D8F8E6309495B765B845CE, + 4745D0A4FB01B60E62285F34, + CF1071C5A0847D0E90F8894B, + 2F658985500DAB264D8B3A33, + 5D1A430DE882E9454F54297D, + D7550D3A87C3925ECBD7BD63, + 50C84A2535EAFD2883450FC5, + 38BF187F47E2861773A6C9D4, + 0E4C52F3E7F0D969209A4A37, + BF1DED2E1BA1C076425B8CA0, + AB53E74A974E246BF80A79E6, BF1DED2E1BA1C076425B8CA0, ); name = "juce_gui_basics"; sourceTree = ""; }; - 908BC53083FC3B9D6BB417EE = {isa = PBXGroup; children = ( + D5AE52A8FC11F7DC6021AA1B = {isa = PBXGroup; children = ( 55B57622C00BFCBD2B2AC3AD, A1697BA9955319A199576BC6, 94F9D3988E9B53DA9BC5F37B, @@ -1971,14 +2508,14 @@ 9ED8CA84B312E34694E2A6AE, E2A4A21072EC5C3AF96939AF, 27642EB0181BACE6A55FA013, ); name = "code_editor"; sourceTree = ""; }; - 9D7A116479131A33668EB9E0 = {isa = PBXGroup; children = ( + 47C95FA46F1382FBA02B25EF = {isa = PBXGroup; children = ( 02570D7EEA9EECE2355D09A2, 975DC4180E69ABD56CFBD45B, ); name = documents; sourceTree = ""; }; - 29DA925FB1C79A3D2F60DD2C = {isa = PBXGroup; children = ( + E1D7895567215D7833E811AF = {isa = PBXGroup; children = ( 9123CC1339B2671E33A3BF0C, 07304207015792AD04B49951, 47F996A2BA101821A84B1294, ); name = embedding; sourceTree = ""; }; - EEC35FA255E758C24F5C3887 = {isa = PBXGroup; children = ( + 2B5D494A484A9E30209CE505 = {isa = PBXGroup; children = ( 405855C9B41EB9CAC7DDDD17, 77DA69E8D9174B38C4F330EF, 76053E841EC59CD6923EF248, @@ -1999,7 +2536,7 @@ 063919C782AAE385A7A829A1, 5A2CA150FB56C7A955847790, 8D0FED07A31C8C9F84ECDAD8, ); name = misc; sourceTree = ""; }; - CEFBCB523E84D6B602487BFB = {isa = PBXGroup; children = ( + A476FF7845FF95397AF740FF = {isa = PBXGroup; children = ( 12ACB548CCAA9C20A91F671A, C63E20DAEDFA5299CE44D5B4, F966FD65D75BE3D11D0C5FF6, @@ -2013,14 +2550,29 @@ 9FED900E158DF7D8CD3C3157, C6E0CA97537C58A56F34EA44, ); name = native; sourceTree = ""; }; F15DB15FFB9331BA2613D133 = {isa = PBXGroup; children = ( - 908BC53083FC3B9D6BB417EE, - 9D7A116479131A33668EB9E0, - 29DA925FB1C79A3D2F60DD2C, - EEC35FA255E758C24F5C3887, - CEFBCB523E84D6B602487BFB, - C6072BB69D5A3F12142BC115, + D5AE52A8FC11F7DC6021AA1B, + 47C95FA46F1382FBA02B25EF, + E1D7895567215D7833E811AF, + 2B5D494A484A9E30209CE505, + A476FF7845FF95397AF740FF, + C5AA55058E6302F43AAD0322, + B3345A12095B5451B31BC2B9, + 24F5F702BEEE4A103E7100C3, 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 = ""; }; + 1CFA4D0A7429652CB6CBD93C = {isa = PBXGroup; children = ( 95166B9DCE9F8F0C5704AAFB, 1768D1D4C1D416203C163E00, 9915F52C7A0F1EB8A2C19B55, @@ -2038,47 +2590,38 @@ E8859539419AFAB74AD0E592, 3C5EB4E00CDBA4EAE7C96902, EEAA56CA1D734C607F3CDDA8, ); name = opengl; sourceTree = ""; }; - D25566AFCC8A2DC64ECC7C4A = {isa = PBXGroup; children = ( - 1F9EF1E392691DF9CC82A715, - D424D907C93822CBBABB39D4, - 208C1446FD1A325C1AB92D7B, - 1E566116CD030074BE41AE7C, ); name = geometry; sourceTree = ""; }; - C77A8EF5C52BD85E7C709F21 = {isa = PBXGroup; children = ( + 3DE471821E56AAC4BFF8D29A = {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, + 1CFA4D0A7429652CB6CBD93C, + 3DE471821E56AAC4BFF8D29A, + E64996B84FABB67EE78741D7, + 9DA161A15B4C68C62A63A0D1, + 06993C00B6249E3DA3F7E3DD, 9DA161A15B4C68C62A63A0D1, ); name = "juce_opengl"; sourceTree = ""; }; - DFC0B79DDB8F8248544C34F8 = {isa = PBXGroup; children = ( - 90054A29105E825D9737130B, - 80A4083D5F12CF76E89D3772, ); name = playback; sourceTree = ""; }; 61DD27E50054ABB8A4C4B8EA = {isa = PBXGroup; children = ( 1E1A13BFC2C3B8C2F85EEED5, 6E515F0982E797C04C1B4612, ); name = capture; sourceTree = ""; }; - CCE2EB560C10174C66B79CAC = {isa = PBXGroup; children = ( + 5D009D38672D28EC6F754707 = {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, + 5D009D38672D28EC6F754707, + 3F0BFFB687C0659984796BF8, + FB33281E94C3B9154FF78FF4, + 4DB650E1059524F73A732BC1, + 84BAC21CF2D5009634F00330, 4DB650E1059524F73A732BC1, ); name = "juce_video"; sourceTree = ""; }; 38592324982B511EF7CF4FE1 = {isa = PBXGroup; children = ( 6D6BD190E0292674F39E8980, @@ -2097,23 +2640,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, @@ -2130,7 +2673,7 @@ AB17BDF654E684FC179BB7DD, A373D65BDAB25C19EC6A05AE, ); name = Frameworks; sourceTree = ""; }; D2EAA17C8503A297B197A159 = {isa = PBXGroup; children = ( - F2F5F067109EB7C9537DD9AD, ); name = Products; sourceTree = ""; }; + BCC50B48B1A4B967949B2DB2, ); name = Products; sourceTree = ""; }; 9F958921F12E7C784E909D34 = {isa = PBXGroup; children = ( C69BCE512948465235B05858, 38592324982B511EF7CF4FE1, @@ -2138,7 +2681,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; @@ -2154,12 +2697,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; @@ -2176,14 +2720,16 @@ 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; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.MPETest; SDKROOT_ppc = macosx10.5; }; name = Release; }; FEF5C4C4E770A72077867343 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2212,31 +2758,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, @@ -2250,11 +2797,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; 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 71300964..05493e54 100644 --- a/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj +++ b/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj @@ -136,6 +136,9 @@ true + + true + true @@ -214,6 +217,12 @@ true + + true + + + true + true @@ -229,15 +238,6 @@ true - - true - - - true - - - true - true @@ -286,286 +286,307 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -574,21 +595,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -601,6 +631,9 @@ true + + true + true @@ -643,592 +676,940 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1252,6 +1633,9 @@ true + + true + true @@ -1279,6 +1663,9 @@ true + + true + true @@ -1294,20 +1681,23 @@ true - - - - - - - - - - - - - - + + true + + + + + + + + + + + + + + + @@ -1319,6 +1709,7 @@ + @@ -1351,6 +1742,9 @@ + + + @@ -1358,20 +1752,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1381,17 +1846,17 @@ + + + + + + + + - - - - - - - - - + @@ -1401,6 +1866,16 @@ + + + + + + + + + + @@ -1411,6 +1886,7 @@ + @@ -1421,40 +1897,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1471,25 +1914,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1499,6 +1923,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1512,30 +1970,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1544,14 +2035,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1561,19 +2063,12 @@ - - - - - - - - - - + + + @@ -1584,10 +2079,15 @@ - - - - + + + + + + + + + @@ -1598,39 +2098,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1639,33 +2174,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1685,15 +2193,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1701,13 +2223,6 @@ - - - - - - - @@ -1715,31 +2230,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1765,20 +2280,11 @@ - - - - - - - - - + - @@ -1786,29 +2292,31 @@ + + + + + + + + + + + + - + - - - - - - - - - - - - - - + + + + diff --git a/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj.filters b/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj.filters index b9658039..ce169418 100644 --- a/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj.filters +++ b/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj.filters @@ -35,45 +35,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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 +125,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 +152,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,29 +164,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -158,33 +200,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,80 +236,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -290,30 +338,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} @@ -328,6 +376,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -406,6 +457,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -421,15 +481,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,32 +535,140 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs Juce Modules\juce_audio_formats\codecs @@ -532,23 +691,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + 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_formats Juce Modules\juce_audio_processors\format @@ -568,6 +739,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,6 +772,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -601,9 +796,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -619,44 +811,14 @@ 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_audio_utils\players - - Juce Modules\juce_core\maths + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils Juce Modules\juce_core\containers @@ -673,33 +835,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 +859,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -766,36 +871,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -808,6 +901,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -865,17 +961,167 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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 @@ -883,17 +1129,11 @@ 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_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -901,23 +1141,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -937,6 +1180,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 +1207,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -973,26 +1240,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1009,236 +1279,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1267,26 +1552,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1303,47 +1591,14 @@ Juce Modules\juce_gui_basics\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\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables Juce Modules\juce_gui_basics\filebrowser @@ -1375,17 +1630,92 @@ Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + 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 @@ -1393,8 +1723,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1441,6 +1789,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1519,6 +1981,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1546,6 +2014,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1567,46 +2041,52 @@ Juce Modules\juce_video\native - + + Juce Modules\juce_video + + + Juce Modules\juce_video + + 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 @@ -1638,6 +2118,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1734,6 +2217,15 @@ Juce Modules\juce_audio_basics + + 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,47 +2247,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1824,38 +2529,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -1884,6 +2589,36 @@ 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\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 @@ -1914,6 +2649,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -1944,50 +2682,95 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + 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\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\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2007,6 +2790,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -2046,197 +2832,194 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers - - - 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2244,50 +3027,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2313,14 +3096,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2328,15 +3111,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 @@ -2364,36 +3180,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 @@ -2403,6 +3189,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2433,17 +3228,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 @@ -2475,50 +3285,137 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands Juce Modules\juce_gui_basics\components @@ -2535,44 +3432,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2598,87 +3513,6 @@ 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 @@ -2733,35 +3567,77 @@ 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2784,27 +3660,6 @@ 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 @@ -2826,80 +3681,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2976,32 +3831,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -3015,9 +3846,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -3039,17 +3867,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_opengl + 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 Juce Modules\juce_video @@ -3062,47 +3926,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_gui_extra + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_opengl + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/MPETest/JuceLibraryCode/AppConfig.h b/examples/MPETest/JuceLibraryCode/AppConfig.h index 8c9d6b41..1cd1c1cc 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 e993d65d..57a588c0 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..97bd2c56 --- /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 00000000..8eae7c6e --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 7d4583db..00000000 --- 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 bb997d30..00000000 --- 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 06e88f93..00000000 --- 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 e4574f47..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 718392ff..00000000 --- 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 0dd1636e..00000000 --- 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 602e4945..97afb6e3 100644 --- a/examples/MPETest/MPETest.jucer +++ b/examples/MPETest/MPETest.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.1"> diff --git a/examples/MPETest/Source/MPEDemoSynthVoice.h b/examples/MPETest/Source/MPEDemoSynthVoice.h index e2cca2b6..9bb99222 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 555c68c4..3f68caad 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 fe17cebf..a858eb7a 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 f1a481f8..f1c35c00 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 bbdacc99..819bfd00 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 b2428a40..3f6b48fe 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 b5b9d68d..3de2e01f 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/Android/AndroidManifest.xml b/examples/MidiTest/Builds/Android/AndroidManifest.xml deleted file mode 100644 index 657fec45..00000000 --- a/examples/MidiTest/Builds/Android/AndroidManifest.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/examples/MidiTest/Builds/Android/build.xml b/examples/MidiTest/Builds/Android/build.xml deleted file mode 100644 index a135db96..00000000 --- a/examples/MidiTest/Builds/Android/build.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/MidiTest/Builds/Android/jni/Android.mk b/examples/MidiTest/Builds/Android/jni/Android.mk deleted file mode 100644 index a167d4a6..00000000 --- a/examples/MidiTest/Builds/Android/jni/Android.mk +++ /dev/null @@ -1,40 +0,0 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! - -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -ifeq ($(TARGET_ARCH_ABI), armeabi-v7a) - LOCAL_ARM_MODE := arm -endif - -LOCAL_MODULE := juce_jni -LOCAL_SRC_FILES := \ - ../../../Source/Main.cpp\ - ../../../Source/MainComponent.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_core/juce_core.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\ - -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_yourcompany_miditest_MidiTest" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/yourcompany/miditest/MidiTest\" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" - 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_yourcompany_miditest_MidiTest" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/yourcompany/miditest/MidiTest\" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" - 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_yourcompany_miditest_MidiTest" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/yourcompany/miditest/MidiTest\" -D "NDEBUG=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" - 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_yourcompany_miditest_MidiTest" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/yourcompany/miditest/MidiTest\" -D "NDEBUG=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" - LOCAL_LDLIBS := -llog -lGLESv2 -landroid -lEGL -endif - -include $(BUILD_SHARED_LIBRARY) diff --git a/examples/MidiTest/Builds/Android/jni/Application.mk b/examples/MidiTest/Builds/Android/jni/Application.mk deleted file mode 100644 index 0821be18..00000000 --- a/examples/MidiTest/Builds/Android/jni/Application.mk +++ /dev/null @@ -1,13 +0,0 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! - -APP_STL := gnustl_static -APP_CPPFLAGS += -fsigned-char -fexceptions -frtti -Wno-psabi -APP_PLATFORM := android-23 -NDK_TOOLCHAIN_VERSION := 4.8 - -ifeq ($(NDK_DEBUG),1) - APP_ABI := armeabi-v7a -else - APP_ABI := armeabi-v7a -endif diff --git a/examples/MidiTest/Builds/Android/local.properties b/examples/MidiTest/Builds/Android/local.properties deleted file mode 100644 index 45d3a8b7..00000000 --- a/examples/MidiTest/Builds/Android/local.properties +++ /dev/null @@ -1,10 +0,0 @@ -# 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!. - -sdk.dir=${user.home}/Library/Android/sdk -ndk.dir=${user.home}/Library/Android/sdk/ndk-bundle -key.store=${user.home}/.android/debug.keystore -key.alias=androiddebugkey -key.store.password=android -key.alias.password=android - diff --git a/examples/MidiTest/Builds/Android/project.properties b/examples/MidiTest/Builds/Android/project.properties deleted file mode 100644 index c05f8f09..00000000 --- a/examples/MidiTest/Builds/Android/project.properties +++ /dev/null @@ -1,5 +0,0 @@ -# This file is used to override default values used by the Ant build system. -# It is automatically generated - DO NOT EDIT IT or your changes will be lost!. - -target=android-23 - diff --git a/examples/MidiTest/Builds/Android/res/values/strings.xml b/examples/MidiTest/Builds/Android/res/values/strings.xml deleted file mode 100644 index ceb2d0f3..00000000 --- a/examples/MidiTest/Builds/Android/res/values/strings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - MidiTest - diff --git a/examples/MidiTest/Builds/Android/src/com/yourcompany/miditest/MidiTest.java b/examples/MidiTest/Builds/Android/src/com/yourcompany/miditest/MidiTest.java deleted file mode 100644 index 16e4ba1b..00000000 --- a/examples/MidiTest/Builds/Android/src/com/yourcompany/miditest/MidiTest.java +++ /dev/null @@ -1,1934 +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. - - ============================================================================== -*/ - -package com.yourcompany.miditest; - -import android.app.Activity; -import android.app.AlertDialog; -import android.content.DialogInterface; -import android.content.Context; -import android.content.Intent; -import android.content.res.Configuration; -import android.content.pm.PackageManager; -import android.net.Uri; -import android.os.Bundle; -import android.os.Looper; -import android.os.Handler; -import android.os.Build; -import android.os.Process; -import android.os.ParcelUuid; -import android.view.*; -import android.view.inputmethod.BaseInputConnection; -import android.view.inputmethod.EditorInfo; -import android.view.inputmethod.InputConnection; -import android.view.inputmethod.InputMethodManager; -import android.graphics.*; -import android.text.ClipboardManager; -import android.text.InputType; -import android.util.DisplayMetrics; -import android.util.Log; -import java.lang.Runnable; -import java.util.List; -import java.util.Arrays; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Hashtable; -import java.util.TimerTask; -import java.io.*; -import java.net.URL; -import java.net.HttpURLConnection; -import android.media.AudioManager; -import android.media.MediaScannerConnection; -import android.media.MediaScannerConnection.MediaScannerConnectionClient; - - -import android.media.midi.*; -import android.bluetooth.*; -import android.bluetooth.le.*; - - -//============================================================================== -public class MidiTest extends Activity -{ - //============================================================================== - static - { - System.loadLibrary ("juce_jni"); - } - - //============================================================================== - public static class MidiPortID extends Object - { - public MidiPortID (int index, boolean direction) - { - androidIndex = index; - isInput = direction; - } - - public int androidIndex; - public boolean isInput; - - @Override - public int hashCode() - { - Integer i = new Integer (androidIndex); - return i.hashCode() * (isInput ? -1 : 1); - } - - @Override - public boolean equals (Object obj) - { - if (obj == null) - return false; - - if (getClass() != obj.getClass()) - return false; - - MidiPortID other = (MidiPortID) obj; - return (androidIndex == other.androidIndex && isInput == other.isInput); - } - } - - public interface JuceMidiPort - { - boolean isInputPort(); - - // start, stop does nothing on an output port - void start(); - void stop(); - - void close(); - MidiPortID getPortId(); - - // send will do nothing on an input port - void sendMidi (byte[] msg, int offset, int count); - } - - //============================================================================== - //============================================================================== - public class BluetoothManager extends ScanCallback - { - BluetoothManager() - { - ScanFilter.Builder scanFilterBuilder = new ScanFilter.Builder(); - scanFilterBuilder.setServiceUuid (ParcelUuid.fromString (bluetoothLEMidiServiceUUID)); - - ScanSettings.Builder scanSettingsBuilder = new ScanSettings.Builder(); - scanSettingsBuilder.setCallbackType (ScanSettings.CALLBACK_TYPE_ALL_MATCHES) - .setScanMode (ScanSettings.SCAN_MODE_LOW_POWER) - .setScanMode (ScanSettings.MATCH_MODE_STICKY); - - BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); - - if (bluetoothAdapter == null) - { - Log.d ("JUCE", "BluetoothManager error: could not get default Bluetooth adapter"); - return; - } - - BluetoothLeScanner bluetoothLeScanner = bluetoothAdapter.getBluetoothLeScanner(); - - if (bluetoothLeScanner == null) - { - Log.d ("JUCE", "BluetoothManager error: could not get Bluetooth LE scanner"); - return; - } - - bluetoothLeScanner.startScan (Arrays.asList (scanFilterBuilder.build()), - scanSettingsBuilder.build(), - this); - } - - public String[] getMidiBluetoothAddresses() - { - return bluetoothMidiDevices.toArray (new String[bluetoothMidiDevices.size()]); - } - - public String getHumanReadableStringForBluetoothAddress (String address) - { - BluetoothDevice btDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice (address); - return btDevice.getName(); - } - - public boolean isBluetoothDevicePaired (String address) - { - return getAndroidMidiDeviceManager().isBluetoothDevicePaired (address); - } - - public boolean pairBluetoothMidiDevice(String address) - { - BluetoothDevice btDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice (address); - - if (btDevice == null) - { - Log.d ("JUCE", "failed to create buletooth device from address"); - return false; - } - - MidiManager mm = (MidiManager) getSystemService (MIDI_SERVICE); - - PhysicalMidiDevice midiDevice = PhysicalMidiDevice.fromBluetoothLeDevice (btDevice, mm); - - if (midiDevice != null) - { - getAndroidMidiDeviceManager().addDeviceToList (midiDevice); - return true; - } - - return false; - } - - public void unpairBluetoothMidiDevice (String address) - { - getAndroidMidiDeviceManager().unpairBluetoothDevice (address); - } - - public void onScanFailed (int errorCode) - { - } - - public void onScanResult (int callbackType, ScanResult result) - { - if (callbackType == ScanSettings.CALLBACK_TYPE_ALL_MATCHES - || callbackType == ScanSettings.CALLBACK_TYPE_FIRST_MATCH) - { - BluetoothDevice device = result.getDevice(); - - if (device != null) - bluetoothMidiDevices.add (device.getAddress()); - } - - if (callbackType == ScanSettings.CALLBACK_TYPE_MATCH_LOST) - { - Log.d ("JUCE", "ScanSettings.CALLBACK_TYPE_MATCH_LOST"); - BluetoothDevice device = result.getDevice(); - - if (device != null) - { - bluetoothMidiDevices.remove (device.getAddress()); - unpairBluetoothMidiDevice (device.getAddress()); - } - } - } - - public void onBatchScanResults (List results) - { - for (ScanResult result : results) - onScanResult (ScanSettings.CALLBACK_TYPE_ALL_MATCHES, result); - } - - private BluetoothLeScanner scanner; - private static final String bluetoothLEMidiServiceUUID = "03B80E5A-EDE8-4B33-A751-6CE34EC4C700"; - - private HashSet bluetoothMidiDevices = new HashSet(); - } - - public static class JuceMidiInputPort extends MidiReceiver implements JuceMidiPort - { - private native void handleReceive (long host, byte[] msg, int offset, int count, long timestamp); - - public JuceMidiInputPort (PhysicalMidiDevice device, long host, MidiOutputPort midiPort) - { - parent = device; - juceHost = host; - port = midiPort; - } - - @Override - public boolean isInputPort() - { - return true; - } - - @Override - public void start() - { - port.connect (this); - } - - @Override - public void stop() - { - port.disconnect (this); - } - - @Override - public void close() - { - stop(); - - try - { - port.close(); - } - catch (IOException e) - { - Log.d ("JUCE", "JuceMidiInputPort::close: IOException = " + e.toString()); - } - - if (parent != null) - { - parent.removePort (port.getPortNumber(), true); - parent = null; - } - } - - public void onSend (byte[] msg, int offset, int count, long timestamp) - { - if (count > 0) - handleReceive (juceHost, msg, offset, count, timestamp); - } - - @Override - public MidiPortID getPortId() - { - return new MidiPortID (port.getPortNumber(), true); - } - - @Override - public void sendMidi (byte[] msg, int offset, int count) - { - } - - private PhysicalMidiDevice parent = null; - private long juceHost = 0; - private MidiOutputPort port; - } - - public static class JuceMidiOutputPort implements JuceMidiPort - { - public JuceMidiOutputPort (PhysicalMidiDevice device, MidiInputPort midiPort) - { - parent = device; - port = midiPort; - } - - @Override - public boolean isInputPort() - { - return false; - } - - @Override - public void start() - { - } - - @Override - public void stop() - { - } - - @Override - public void sendMidi (byte[] msg, int offset, int count) - { - try - { - port.send(msg, offset, count); - } - catch (IOException e) - { - Log.d ("JUCE", "JuceMidiOutputPort::sendMidi: IOException = " + e.toString()); - } - } - - @Override - public void close() - { - try - { - port.close(); - } - catch (IOException e) - { - Log.d ("JUCE", "JuceMidiOutputPort::close: IOException = " + e.toString()); - } - - if (parent != null) - { - parent.removePort (port.getPortNumber(), false); - parent = null; - } - } - - - @Override - public MidiPortID getPortId() - { - return new MidiPortID (port.getPortNumber(), false); - } - - private PhysicalMidiDevice parent = null; - private MidiInputPort port; - } - - public static class PhysicalMidiDevice - { - private static class MidiDeviceThread extends Thread - { - public Handler handler = null; - public Object sync = null; - - public MidiDeviceThread (Object syncrhonization) - { - sync = syncrhonization; - } - - public void run() - { - Looper.prepare(); - - synchronized (sync) - { - handler = new Handler(); - sync.notifyAll(); - } - - Looper.loop(); - } - } - - private static class MidiDeviceOpenCallback implements MidiManager.OnDeviceOpenedListener - { - public Object sync = null; - public boolean isWaiting = true; - public android.media.midi.MidiDevice theDevice = null; - - public MidiDeviceOpenCallback (Object waiter) - { - sync = waiter; - } - - public void onDeviceOpened (MidiDevice device) - { - synchronized (sync) - { - theDevice = device; - isWaiting = false; - sync.notifyAll(); - } - } - } - - public static PhysicalMidiDevice fromBluetoothLeDevice (BluetoothDevice bluetoothDevice, MidiManager mm) - { - Object waitForCreation = new Object(); - MidiDeviceThread thread = new MidiDeviceThread (waitForCreation); - thread.start(); - - synchronized (waitForCreation) - { - while (thread.handler == null) - { - try - { - waitForCreation.wait(); - } - catch (InterruptedException e) - { - Log.d ("JUCE", "Wait was interrupted but we don't care"); - } - } - } - - Object waitForDevice = new Object(); - - MidiDeviceOpenCallback openCallback = new MidiDeviceOpenCallback (waitForDevice); - - synchronized (waitForDevice) - { - mm.openBluetoothDevice (bluetoothDevice, openCallback, thread.handler); - - while (openCallback.isWaiting) - { - try - { - waitForDevice.wait(); - } - catch (InterruptedException e) - { - Log.d ("JUCE", "Wait was interrupted but we don't care"); - } - } - } - - if (openCallback.theDevice == null) - { - Log.d ("JUCE", "openBluetoothDevice failed"); - return null; - } - - PhysicalMidiDevice device = new PhysicalMidiDevice(); - - device.handle = openCallback.theDevice; - device.info = device.handle.getInfo(); - device.bluetoothAddress = bluetoothDevice.getAddress(); - device.midiManager = mm; - - return device; - } - - public void unpair() - { - if (! bluetoothAddress.equals ("") && handle != null) - { - JuceMidiPort ports[] = new JuceMidiPort[0]; - ports = juceOpenedPorts.values().toArray(ports); - - for (int i = 0; i < ports.length; ++i) - ports[i].close(); - - juceOpenedPorts.clear(); - - try - { - handle.close(); - } - catch (IOException e) - { - Log.d ("JUCE", "handle.close(): IOException = " + e.toString()); - } - - handle = null; - } - } - - public static PhysicalMidiDevice fromMidiDeviceInfo (MidiDeviceInfo info, MidiManager mm) - { - PhysicalMidiDevice device = new PhysicalMidiDevice(); - device.info = info; - device.midiManager = mm; - return device; - } - - public PhysicalMidiDevice() - { - bluetoothAddress = ""; - juceOpenedPorts = new Hashtable(); - handle = null; - } - - public MidiDeviceInfo.PortInfo[] getPorts() - { - return info.getPorts(); - } - - public String getHumanReadableNameForPort (MidiDeviceInfo.PortInfo port, int portIndexToUseInName) - { - String portName = port.getName(); - - if (portName.equals ("")) - portName = ((port.getType() == MidiDeviceInfo.PortInfo.TYPE_OUTPUT) ? "Out " : "In ") - + Integer.toString (portIndexToUseInName); - - return getHumanReadableDeviceName() + " " + portName; - } - - public String getHumanReadableNameForPort (int portType, int androidPortID, int portIndexToUseInName) - { - MidiDeviceInfo.PortInfo[] ports = info.getPorts(); - - for (MidiDeviceInfo.PortInfo port : ports) - { - if (port.getType() == portType) - { - if (port.getPortNumber() == androidPortID) - return getHumanReadableNameForPort (port, portIndexToUseInName); - } - } - - return "Unknown"; - } - - public String getHumanReadableDeviceName() - { - Bundle bundle = info.getProperties(); - return bundle.getString (MidiDeviceInfo.PROPERTY_NAME , "Unknown device"); - } - - public void checkIfDeviceCanBeClosed() - { - if (juceOpenedPorts.size() == 0) - { - // never close bluetooth LE devices, otherwise they unpair and we have - // no idea how many ports they have. - // Only remove bluetooth devices when we specifically unpair - if (bluetoothAddress.equals ("")) - { - try - { - handle.close(); - handle = null; - } - catch (IOException e) - { - Log.d ("JUCE", "PhysicalMidiDevice::checkIfDeviceCanBeClosed: IOException = " + e.toString()); - } - } - } - } - - public void removePort (int portIdx, boolean isInput) - { - MidiPortID portID = new MidiPortID (portIdx, isInput); - JuceMidiPort port = juceOpenedPorts.get (portID); - - if (port != null) - { - juceOpenedPorts.remove (portID); - checkIfDeviceCanBeClosed(); - return; - } - - // tried to remove a port that was never added - assert false; - } - - public JuceMidiPort openPort (int portIdx, boolean isInput, long host) - { - open(); - - if (handle == null) - { - Log.d ("JUCE", "PhysicalMidiDevice::openPort: handle = null, device not open"); - return null; - } - - // make sure that the port is not already open - if (findPortForIdx (portIdx, isInput) != null) - { - Log.d ("JUCE", "PhysicalMidiDevice::openInputPort: port already open, not opening again!"); - return null; - } - - JuceMidiPort retval = null; - - if (isInput) - { - MidiOutputPort androidPort = handle.openOutputPort (portIdx); - - if (androidPort == null) - { - Log.d ("JUCE", "PhysicalMidiDevice::openPort: MidiDevice::openOutputPort (portIdx = " - + Integer.toString (portIdx) + ") failed!"); - return null; - } - - retval = new JuceMidiInputPort (this, host, androidPort); - } - else - { - MidiInputPort androidPort = handle.openInputPort (portIdx); - - if (androidPort == null) - { - Log.d ("JUCE", "PhysicalMidiDevice::openPort: MidiDevice::openInputPort (portIdx = " - + Integer.toString (portIdx) + ") failed!"); - return null; - } - - retval = new JuceMidiOutputPort (this, androidPort); - } - - juceOpenedPorts.put (new MidiPortID (portIdx, isInput), retval); - return retval; - } - - private JuceMidiPort findPortForIdx (int idx, boolean isInput) - { - return juceOpenedPorts.get (new MidiPortID (idx, isInput)); - } - - // opens the device - private synchronized void open() - { - if (handle != null) - return; - - Object waitForCreation = new Object(); - MidiDeviceThread thread = new MidiDeviceThread (waitForCreation); - thread.start(); - - synchronized(waitForCreation) - { - while (thread.handler == null) - { - try - { - waitForCreation.wait(); - } - catch (InterruptedException e) - { - Log.d ("JUCE", "wait was interrupted but we don't care"); - } - } - } - - Object waitForDevice = new Object(); - - MidiDeviceOpenCallback openCallback = new MidiDeviceOpenCallback (waitForDevice); - - synchronized (waitForDevice) - { - midiManager.openDevice (info, openCallback, thread.handler); - - while (openCallback.isWaiting) - { - try - { - waitForDevice.wait(); - } - catch (InterruptedException e) - { - Log.d ("JUCE", "wait was interrupted but we don't care"); - } - } - } - - handle = openCallback.theDevice; - } - - private MidiDeviceInfo info; - private Hashtable juceOpenedPorts; - public MidiDevice handle; - public String bluetoothAddress; - private MidiManager midiManager; - } - - //============================================================================== - public class MidiDeviceManager extends MidiManager.DeviceCallback - { - public class MidiPortPath - { - public PhysicalMidiDevice midiDevice; - public int androidMidiPortID; - public int portIndexToUseInName; - } - - public class JuceDeviceList - { - public ArrayList inPorts = new ArrayList(); - public ArrayList outPorts = new ArrayList(); - } - - // We need to keep a thread local copy of the devices - // which we returned the last time - // getJuceAndroidMidiIn/OutputDevices() was called - private final ThreadLocal lastDevicesReturned = - new ThreadLocal() - { - @Override protected JuceDeviceList initialValue() - { - return new JuceDeviceList(); - } - }; - - public MidiDeviceManager() - { - physicalMidiDevices = new ArrayList(); - manager = (MidiManager) getSystemService (MIDI_SERVICE); - - if (manager == null) - { - Log.d ("JUCE", "MidiDeviceManager error: could not get MidiManager system service"); - return; - } - - manager.registerDeviceCallback (this, null); - - MidiDeviceInfo[] foundDevices = manager.getDevices(); - - for (MidiDeviceInfo info : foundDevices) - physicalMidiDevices.add (PhysicalMidiDevice.fromMidiDeviceInfo (info, manager)); - } - - // specifically add a device to the list - public void addDeviceToList (PhysicalMidiDevice device) - { - physicalMidiDevices.add (device); - } - - public void unpairBluetoothDevice (String address) - { - for (int i = 0; i < physicalMidiDevices.size(); ++i) - { - PhysicalMidiDevice device = physicalMidiDevices.get(i); - - if (device.bluetoothAddress.equals (address)) - { - physicalMidiDevices.remove (i); - device.unpair(); - return; - } - } - } - - public boolean isBluetoothDevicePaired (String address) - { - for (int i = 0; i < physicalMidiDevices.size(); ++i) - { - PhysicalMidiDevice device = physicalMidiDevices.get(i); - - if (device.bluetoothAddress.equals (address)) - return true; - } - - return false; - } - - public String[] getJuceAndroidMidiInputDevices() - { - return getJuceAndroidMidiDevices (MidiDeviceInfo.PortInfo.TYPE_INPUT); - } - - public String[] getJuceAndroidMidiOutputDevices() - { - return getJuceAndroidMidiDevices (MidiDeviceInfo.PortInfo.TYPE_OUTPUT); - } - - private String[] getJuceAndroidMidiDevices (int portType) - { - ArrayList listOfReturnedDevices = new ArrayList(); - List deviceNames = new ArrayList(); - - for (PhysicalMidiDevice physicalMidiDevice : physicalMidiDevices) - { - int portIdx = 0; - MidiDeviceInfo.PortInfo[] ports = physicalMidiDevice.getPorts(); - - for (MidiDeviceInfo.PortInfo port : ports) - { - if (port.getType() == portType) - { - MidiPortPath path = new MidiPortPath(); - path.midiDevice = physicalMidiDevice; - path.androidMidiPortID = port.getPortNumber(); - path.portIndexToUseInName = ++portIdx; - listOfReturnedDevices.add (path); - - deviceNames.add (physicalMidiDevice.getHumanReadableNameForPort (port, - path.portIndexToUseInName)); - } - } - } - - String[] deviceNamesArray = new String[deviceNames.size()]; - - if (portType == MidiDeviceInfo.PortInfo.TYPE_INPUT) - { - lastDevicesReturned.get().inPorts.clear(); - lastDevicesReturned.get().inPorts.addAll (listOfReturnedDevices); - } - else - { - lastDevicesReturned.get().outPorts.clear(); - lastDevicesReturned.get().outPorts.addAll (listOfReturnedDevices); - } - - return deviceNames.toArray(deviceNamesArray); - } - - public JuceMidiPort openMidiInputPortWithJuceIndex (int index, long host) - { - ArrayList lastDevices = lastDevicesReturned.get().inPorts; - - if (index >= lastDevices.size() || index < 0) - return null; - - MidiPortPath path = lastDevices.get (index); - return path.midiDevice.openPort (path.androidMidiPortID, true, host); - } - - public JuceMidiPort openMidiOutputPortWithJuceIndex (int index) - { - ArrayList lastDevices = lastDevicesReturned.get().outPorts; - - if (index >= lastDevices.size() || index < 0) - return null; - - MidiPortPath path = lastDevices.get (index); - return path.midiDevice.openPort (path.androidMidiPortID, false, 0); - } - - public String getInputPortNameForJuceIndex (int index) - { - ArrayList lastDevices = lastDevicesReturned.get().inPorts; - - if (index >= lastDevices.size() || index < 0) - return ""; - - MidiPortPath path = lastDevices.get (index); - - return path.midiDevice.getHumanReadableNameForPort (MidiDeviceInfo.PortInfo.TYPE_INPUT, - path.androidMidiPortID, - path.portIndexToUseInName); - } - - public String getOutputPortNameForJuceIndex (int index) - { - ArrayList lastDevices = lastDevicesReturned.get().outPorts; - - if (index >= lastDevices.size() || index < 0) - return ""; - - MidiPortPath path = lastDevices.get (index); - - return path.midiDevice.getHumanReadableNameForPort (MidiDeviceInfo.PortInfo.TYPE_OUTPUT, - path.androidMidiPortID, - path.portIndexToUseInName); - } - - public void onDeviceAdded (MidiDeviceInfo info) - { - PhysicalMidiDevice device = PhysicalMidiDevice.fromMidiDeviceInfo (info, manager); - - // Do not add bluetooth devices as they are already added by the native bluetooth dialog - if (info.getType() != MidiDeviceInfo.TYPE_BLUETOOTH) - physicalMidiDevices.add (device); - } - - public void onDeviceRemoved (MidiDeviceInfo info) - { - for (int i = 0; i < physicalMidiDevices.size(); ++i) - { - if (physicalMidiDevices.get(i).info.getId() == info.getId()) - { - physicalMidiDevices.remove (i); - return; - } - } - // Don't assert here as this may be called again after a bluetooth device is unpaired - } - - public void onDeviceStatusChanged (MidiDeviceStatus status) - { - } - - private ArrayList physicalMidiDevices; - private MidiManager manager; - } - - public MidiDeviceManager getAndroidMidiDeviceManager() - { - if (getSystemService (MIDI_SERVICE) == null) - return null; - - synchronized (MidiTest.class) - { - if (midiDeviceManager == null) - midiDeviceManager = new MidiDeviceManager(); - } - - return midiDeviceManager; - } - - public BluetoothManager getAndroidBluetoothManager() - { - BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); - - if (adapter == null) - return null; - - if (adapter.getBluetoothLeScanner() == null) - return null; - - synchronized (MidiTest.class) - { - if (bluetoothManager == null) - bluetoothManager = new BluetoothManager(); - } - - return bluetoothManager; - } - - //============================================================================== - @Override - public void onCreate (Bundle savedInstanceState) - { - super.onCreate (savedInstanceState); - - isScreenSaverEnabled = true; - viewHolder = new ViewHolder (this); - setContentView (viewHolder); - - setVolumeControlStream (AudioManager.STREAM_MUSIC); - } - - @Override - protected void onDestroy() - { - quitApp(); - super.onDestroy(); - - clearDataCache(); - } - - @Override - protected void onPause() - { - suspendApp(); - super.onPause(); - } - - @Override - protected void onResume() - { - super.onResume(); - resumeApp(); - } - - @Override - public void onConfigurationChanged (Configuration cfg) - { - super.onConfigurationChanged (cfg); - setContentView (viewHolder); - } - - private void callAppLauncher() - { - launchApp (getApplicationInfo().publicSourceDir, - getApplicationInfo().dataDir); - } - - //============================================================================== - private native void launchApp (String appFile, String appDataDir); - private native void quitApp(); - private native void suspendApp(); - private native void resumeApp(); - private native void setScreenSize (int screenWidth, int screenHeight, int dpi); - - //============================================================================== - public native void deliverMessage (long value); - private android.os.Handler messageHandler = new android.os.Handler(); - - public final void postMessage (long value) - { - messageHandler.post (new MessageCallback (value)); - } - - private final class MessageCallback implements Runnable - { - public MessageCallback (long value_) { value = value_; } - public final void run() { deliverMessage (value); } - - private long value; - } - - //============================================================================== - private ViewHolder viewHolder; - private MidiDeviceManager midiDeviceManager = null; - private BluetoothManager bluetoothManager = null; - private boolean isScreenSaverEnabled; - private java.util.Timer keepAliveTimer; - - public final ComponentPeerView createNewView (boolean opaque, long host) - { - ComponentPeerView v = new ComponentPeerView (this, opaque, host); - viewHolder.addView (v); - return v; - } - - public final void deleteView (ComponentPeerView view) - { - ViewGroup group = (ViewGroup) (view.getParent()); - - if (group != null) - group.removeView (view); - } - - public final void deleteNativeSurfaceView (NativeSurfaceView view) - { - ViewGroup group = (ViewGroup) (view.getParent()); - - if (group != null) - group.removeView (view); - } - - final class ViewHolder extends ViewGroup - { - public ViewHolder (Context context) - { - super (context); - setDescendantFocusability (ViewGroup.FOCUS_AFTER_DESCENDANTS); - setFocusable (false); - } - - protected final void onLayout (boolean changed, int left, int top, int right, int bottom) - { - setScreenSize (getWidth(), getHeight(), getDPI()); - - if (isFirstResize) - { - isFirstResize = false; - callAppLauncher(); - } - } - - private final int getDPI() - { - DisplayMetrics metrics = new DisplayMetrics(); - getWindowManager().getDefaultDisplay().getMetrics (metrics); - return metrics.densityDpi; - } - - private boolean isFirstResize = true; - } - - public final void excludeClipRegion (android.graphics.Canvas canvas, float left, float top, float right, float bottom) - { - canvas.clipRect (left, top, right, bottom, android.graphics.Region.Op.DIFFERENCE); - } - - //============================================================================== - public final void setScreenSaver (boolean enabled) - { - if (isScreenSaverEnabled != enabled) - { - isScreenSaverEnabled = enabled; - - if (keepAliveTimer != null) - { - keepAliveTimer.cancel(); - keepAliveTimer = null; - } - - if (enabled) - { - getWindow().clearFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - } - else - { - getWindow().addFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - - // If no user input is received after about 3 seconds, the OS will lower the - // task's priority, so this timer forces it to be kept active. - keepAliveTimer = new java.util.Timer(); - - keepAliveTimer.scheduleAtFixedRate (new TimerTask() - { - @Override - public void run() - { - android.app.Instrumentation instrumentation = new android.app.Instrumentation(); - - try - { - instrumentation.sendKeyDownUpSync (KeyEvent.KEYCODE_UNKNOWN); - } - catch (Exception e) - { - } - } - }, 2000, 2000); - } - } - } - - public final boolean getScreenSaver() - { - return isScreenSaverEnabled; - } - - //============================================================================== - public final String getClipboardContent() - { - ClipboardManager clipboard = (ClipboardManager) getSystemService (CLIPBOARD_SERVICE); - return clipboard.getText().toString(); - } - - public final void setClipboardContent (String newText) - { - ClipboardManager clipboard = (ClipboardManager) getSystemService (CLIPBOARD_SERVICE); - clipboard.setText (newText); - } - - //============================================================================== - public final void showMessageBox (String title, String message, final long callback) - { - AlertDialog.Builder builder = new AlertDialog.Builder (this); - builder.setTitle (title) - .setMessage (message) - .setCancelable (true) - .setPositiveButton ("OK", new DialogInterface.OnClickListener() - { - public void onClick (DialogInterface dialog, int id) - { - dialog.cancel(); - MidiTest.this.alertDismissed (callback, 0); - } - }); - - builder.create().show(); - } - - public final void showOkCancelBox (String title, String message, final long callback) - { - AlertDialog.Builder builder = new AlertDialog.Builder (this); - builder.setTitle (title) - .setMessage (message) - .setCancelable (true) - .setPositiveButton ("OK", new DialogInterface.OnClickListener() - { - public void onClick (DialogInterface dialog, int id) - { - dialog.cancel(); - MidiTest.this.alertDismissed (callback, 1); - } - }) - .setNegativeButton ("Cancel", new DialogInterface.OnClickListener() - { - public void onClick (DialogInterface dialog, int id) - { - dialog.cancel(); - MidiTest.this.alertDismissed (callback, 0); - } - }); - - builder.create().show(); - } - - public final void showYesNoCancelBox (String title, String message, final long callback) - { - AlertDialog.Builder builder = new AlertDialog.Builder (this); - builder.setTitle (title) - .setMessage (message) - .setCancelable (true) - .setPositiveButton ("Yes", new DialogInterface.OnClickListener() - { - public void onClick (DialogInterface dialog, int id) - { - dialog.cancel(); - MidiTest.this.alertDismissed (callback, 1); - } - }) - .setNegativeButton ("No", new DialogInterface.OnClickListener() - { - public void onClick (DialogInterface dialog, int id) - { - dialog.cancel(); - MidiTest.this.alertDismissed (callback, 2); - } - }) - .setNeutralButton ("Cancel", new DialogInterface.OnClickListener() - { - public void onClick (DialogInterface dialog, int id) - { - dialog.cancel(); - MidiTest.this.alertDismissed (callback, 0); - } - }); - - builder.create().show(); - } - - public native void alertDismissed (long callback, int id); - - //============================================================================== - public final class ComponentPeerView extends ViewGroup - implements View.OnFocusChangeListener - { - public ComponentPeerView (Context context, boolean opaque_, long host) - { - super (context); - this.host = host; - setWillNotDraw (false); - opaque = opaque_; - - setFocusable (true); - setFocusableInTouchMode (true); - setOnFocusChangeListener (this); - requestFocus(); - - // swap red and blue colours to match internal opengl texture format - ColorMatrix colorMatrix = new ColorMatrix(); - - float[] colorTransform = { 0, 0, 1.0f, 0, 0, - 0, 1.0f, 0, 0, 0, - 1.0f, 0, 0, 0, 0, - 0, 0, 0, 1.0f, 0 }; - - colorMatrix.set (colorTransform); - paint.setColorFilter (new ColorMatrixColorFilter (colorMatrix)); - } - - //============================================================================== - private native void handlePaint (long host, Canvas canvas, Paint paint); - - @Override - public void onDraw (Canvas canvas) - { - handlePaint (host, canvas, paint); - } - - @Override - public boolean isOpaque() - { - return opaque; - } - - private boolean opaque; - private long host; - private Paint paint = new Paint(); - - //============================================================================== - private native void handleMouseDown (long host, int index, float x, float y, long time); - private native void handleMouseDrag (long host, int index, float x, float y, long time); - private native void handleMouseUp (long host, int index, float x, float y, long time); - - @Override - public boolean onTouchEvent (MotionEvent event) - { - int action = event.getAction(); - long time = event.getEventTime(); - - switch (action & MotionEvent.ACTION_MASK) - { - case MotionEvent.ACTION_DOWN: - handleMouseDown (host, event.getPointerId(0), event.getX(), event.getY(), time); - return true; - - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_UP: - handleMouseUp (host, event.getPointerId(0), event.getX(), event.getY(), time); - return true; - - case MotionEvent.ACTION_MOVE: - { - int n = event.getPointerCount(); - for (int i = 0; i < n; ++i) - handleMouseDrag (host, event.getPointerId(i), event.getX(i), event.getY(i), time); - - return true; - } - - case MotionEvent.ACTION_POINTER_UP: - { - int i = (action & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; - handleMouseUp (host, event.getPointerId(i), event.getX(i), event.getY(i), time); - return true; - } - - case MotionEvent.ACTION_POINTER_DOWN: - { - int i = (action & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; - handleMouseDown (host, event.getPointerId(i), event.getX(i), event.getY(i), time); - return true; - } - - default: - break; - } - - return false; - } - - //============================================================================== - private native void handleKeyDown (long host, int keycode, int textchar); - private native void handleKeyUp (long host, int keycode, int textchar); - - public void showKeyboard (String type) - { - InputMethodManager imm = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE); - - if (imm != null) - { - if (type.length() > 0) - { - imm.showSoftInput (this, android.view.inputmethod.InputMethodManager.SHOW_IMPLICIT); - imm.setInputMethod (getWindowToken(), type); - } - else - { - imm.hideSoftInputFromWindow (getWindowToken(), 0); - } - } - } - - @Override - public boolean onKeyDown (int keyCode, KeyEvent event) - { - switch (keyCode) - { - case KeyEvent.KEYCODE_VOLUME_UP: - case KeyEvent.KEYCODE_VOLUME_DOWN: - return super.onKeyDown (keyCode, event); - - default: break; - } - - handleKeyDown (host, keyCode, event.getUnicodeChar()); - return true; - } - - @Override - public boolean onKeyUp (int keyCode, KeyEvent event) - { - handleKeyUp (host, keyCode, event.getUnicodeChar()); - return true; - } - - @Override - public boolean onKeyMultiple (int keyCode, int count, KeyEvent event) - { - if (keyCode != KeyEvent.KEYCODE_UNKNOWN || event.getAction() != KeyEvent.ACTION_MULTIPLE) - return super.onKeyMultiple (keyCode, count, event); - - if (event.getCharacters() != null) - { - int utf8Char = event.getCharacters().codePointAt (0); - handleKeyDown (host, utf8Char, utf8Char); - return true; - } - - return false; - } - - // this is here to make keyboard entry work on a Galaxy Tab2 10.1 - @Override - public InputConnection onCreateInputConnection (EditorInfo outAttrs) - { - outAttrs.actionLabel = ""; - outAttrs.hintText = ""; - outAttrs.initialCapsMode = 0; - outAttrs.initialSelEnd = outAttrs.initialSelStart = -1; - outAttrs.label = ""; - outAttrs.imeOptions = EditorInfo.IME_ACTION_DONE | EditorInfo.IME_FLAG_NO_EXTRACT_UI; - outAttrs.inputType = InputType.TYPE_NULL; - - return new BaseInputConnection (this, false); - } - - //============================================================================== - @Override - protected void onSizeChanged (int w, int h, int oldw, int oldh) - { - super.onSizeChanged (w, h, oldw, oldh); - viewSizeChanged (host); - } - - @Override - protected void onLayout (boolean changed, int left, int top, int right, int bottom) - { - for (int i = getChildCount(); --i >= 0;) - requestTransparentRegion (getChildAt (i)); - } - - private native void viewSizeChanged (long host); - - @Override - public void onFocusChange (View v, boolean hasFocus) - { - if (v == this) - focusChanged (host, hasFocus); - } - - private native void focusChanged (long host, boolean hasFocus); - - public void setViewName (String newName) {} - - public boolean isVisible() { return getVisibility() == VISIBLE; } - public void setVisible (boolean b) { setVisibility (b ? VISIBLE : INVISIBLE); } - - public boolean containsPoint (int x, int y) - { - return true; //xxx needs to check overlapping views - } - } - - //============================================================================== - public static class NativeSurfaceView extends SurfaceView - implements SurfaceHolder.Callback - { - private long nativeContext = 0; - - NativeSurfaceView (Context context, long nativeContextPtr) - { - super (context); - nativeContext = nativeContextPtr; - } - - public Surface getNativeSurface() - { - Surface retval = null; - - SurfaceHolder holder = getHolder(); - if (holder != null) - retval = holder.getSurface(); - - return retval; - } - - //============================================================================== - @Override - public void surfaceChanged (SurfaceHolder holder, int format, int width, int height) - { - surfaceChangedNative (nativeContext, holder, format, width, height); - } - - @Override - public void surfaceCreated (SurfaceHolder holder) - { - surfaceCreatedNative (nativeContext, holder); - } - - @Override - public void surfaceDestroyed (SurfaceHolder holder) - { - surfaceDestroyedNative (nativeContext, holder); - } - - @Override - protected void dispatchDraw (Canvas canvas) - { - super.dispatchDraw (canvas); - dispatchDrawNative (nativeContext, canvas); - } - - //============================================================================== - @Override - protected void onAttachedToWindow () - { - super.onAttachedToWindow(); - getHolder().addCallback (this); - } - - @Override - protected void onDetachedFromWindow () - { - super.onDetachedFromWindow(); - getHolder().removeCallback (this); - } - - //============================================================================== - private native void dispatchDrawNative (long nativeContextPtr, Canvas canvas); - private native void surfaceCreatedNative (long nativeContextptr, SurfaceHolder holder); - private native void surfaceDestroyedNative (long nativeContextptr, SurfaceHolder holder); - private native void surfaceChangedNative (long nativeContextptr, SurfaceHolder holder, - int format, int width, int height); - } - - public NativeSurfaceView createNativeSurfaceView(long nativeSurfacePtr) - { - return new NativeSurfaceView (this, nativeSurfacePtr); - } - - //============================================================================== - public final int[] renderGlyph (char glyph, Paint paint, android.graphics.Matrix matrix, Rect bounds) - { - Path p = new Path(); - paint.getTextPath (String.valueOf (glyph), 0, 1, 0.0f, 0.0f, p); - - RectF boundsF = new RectF(); - p.computeBounds (boundsF, true); - matrix.mapRect (boundsF); - - boundsF.roundOut (bounds); - bounds.left--; - bounds.right++; - - final int w = bounds.width(); - final int h = Math.max (1, bounds.height()); - - Bitmap bm = Bitmap.createBitmap (w, h, Bitmap.Config.ARGB_8888); - - Canvas c = new Canvas (bm); - matrix.postTranslate (-bounds.left, -bounds.top); - c.setMatrix (matrix); - c.drawPath (p, paint); - - final int sizeNeeded = w * h; - if (cachedRenderArray.length < sizeNeeded) - cachedRenderArray = new int [sizeNeeded]; - - bm.getPixels (cachedRenderArray, 0, w, 0, 0, w, h); - bm.recycle(); - return cachedRenderArray; - } - - private int[] cachedRenderArray = new int [256]; - - //============================================================================== - public static class HTTPStream - { - public HTTPStream (HttpURLConnection connection_, - int[] statusCode, StringBuffer responseHeaders) throws IOException - { - connection = connection_; - - try - { - inputStream = new BufferedInputStream (connection.getInputStream()); - } - catch (IOException e) - { - if (connection.getResponseCode() < 400) - throw e; - } - finally - { - statusCode[0] = connection.getResponseCode(); - } - - if (statusCode[0] >= 400) - inputStream = connection.getErrorStream(); - else - inputStream = connection.getInputStream(); - - for (java.util.Map.Entry> entry : connection.getHeaderFields().entrySet()) - if (entry.getKey() != null && entry.getValue() != null) - responseHeaders.append (entry.getKey() + ": " - + android.text.TextUtils.join (",", entry.getValue()) + "\n"); - } - - public final void release() - { - try - { - inputStream.close(); - } - catch (IOException e) - {} - - connection.disconnect(); - } - - public final int read (byte[] buffer, int numBytes) - { - int num = 0; - - try - { - num = inputStream.read (buffer, 0, numBytes); - } - catch (IOException e) - {} - - if (num > 0) - position += num; - - return num; - } - - public final long getPosition() { return position; } - public final long getTotalLength() { return -1; } - public final boolean isExhausted() { return false; } - public final boolean setPosition (long newPos) { return false; } - - private HttpURLConnection connection; - private InputStream inputStream; - private long position; - } - - public static final HTTPStream createHTTPStream (String address, boolean isPost, byte[] postData, - String headers, int timeOutMs, int[] statusCode, - StringBuffer responseHeaders, int numRedirectsToFollow, - String httpRequestCmd) - { - // timeout parameter of zero for HttpUrlConnection is a blocking connect (negative value for juce::URL) - if (timeOutMs < 0) - timeOutMs = 0; - else if (timeOutMs == 0) - timeOutMs = 30000; - - // headers - if not empty, this string is appended onto the headers that are used for the request. It must therefore be a valid set of HTML header directives, separated by newlines. - // So convert headers string to an array, with an element for each line - String headerLines[] = headers.split("\\n"); - - for (;;) - { - try - { - HttpURLConnection connection = (HttpURLConnection) (new URL(address).openConnection()); - - if (connection != null) - { - try - { - connection.setInstanceFollowRedirects (false); - connection.setConnectTimeout (timeOutMs); - connection.setReadTimeout (timeOutMs); - - // Set request headers - for (int i = 0; i < headerLines.length; ++i) - { - int pos = headerLines[i].indexOf (":"); - - if (pos > 0 && pos < headerLines[i].length()) - { - String field = headerLines[i].substring (0, pos); - String value = headerLines[i].substring (pos + 1); - - if (value.length() > 0) - connection.setRequestProperty (field, value); - } - } - - connection.setRequestMethod (httpRequestCmd); - if (isPost) - { - connection.setDoOutput (true); - - if (postData != null) - { - OutputStream out = connection.getOutputStream(); - out.write(postData); - out.flush(); - } - } - - HTTPStream httpStream = new HTTPStream (connection, statusCode, responseHeaders); - - // Process redirect & continue as necessary - int status = statusCode[0]; - - if (--numRedirectsToFollow >= 0 - && (status == 301 || status == 302 || status == 303 || status == 307)) - { - // Assumes only one occurrence of "Location" - int pos1 = responseHeaders.indexOf ("Location:") + 10; - int pos2 = responseHeaders.indexOf ("\n", pos1); - - if (pos2 > pos1) - { - String newLocation = responseHeaders.substring(pos1, pos2); - // Handle newLocation whether it's absolute or relative - URL baseUrl = new URL (address); - URL newUrl = new URL (baseUrl, newLocation); - String transformedNewLocation = newUrl.toString(); - - if (transformedNewLocation != address) - { - address = transformedNewLocation; - // Clear responseHeaders before next iteration - responseHeaders.delete (0, responseHeaders.length()); - continue; - } - } - } - - return httpStream; - } - catch (Throwable e) - { - connection.disconnect(); - } - } - } - catch (Throwable e) {} - - return null; - } - } - - public final void launchURL (String url) - { - startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url))); - } - - public static final String getLocaleValue (boolean isRegion) - { - java.util.Locale locale = java.util.Locale.getDefault(); - - return isRegion ? locale.getDisplayCountry (java.util.Locale.US) - : locale.getDisplayLanguage (java.util.Locale.US); - } - - //============================================================================== - private final class SingleMediaScanner implements MediaScannerConnectionClient - { - public SingleMediaScanner (Context context, String filename) - { - file = filename; - msc = new MediaScannerConnection (context, this); - msc.connect(); - } - - @Override - public void onMediaScannerConnected() - { - msc.scanFile (file, null); - } - - @Override - public void onScanCompleted (String path, Uri uri) - { - msc.disconnect(); - } - - private MediaScannerConnection msc; - private String file; - } - - public final void scanFile (String filename) - { - new SingleMediaScanner (this, filename); - } - - public final Typeface getTypeFaceFromAsset (String assetName) - { - try - { - return Typeface.createFromAsset (this.getResources().getAssets(), assetName); - } - catch (Throwable e) {} - - return null; - } - - final protected static char[] hexArray = "0123456789ABCDEF".toCharArray(); - - public static String bytesToHex (byte[] bytes) - { - char[] hexChars = new char[bytes.length * 2]; - - for (int j = 0; j < bytes.length; ++j) - { - int v = bytes[j] & 0xff; - hexChars[j * 2] = hexArray[v >>> 4]; - hexChars[j * 2 + 1] = hexArray[v & 0x0f]; - } - - return new String (hexChars); - } - - final private java.util.Map dataCache = new java.util.HashMap(); - - synchronized private final File getDataCacheFile (byte[] data) - { - try - { - java.security.MessageDigest digest = java.security.MessageDigest.getInstance ("MD5"); - digest.update (data); - - String key = bytesToHex (digest.digest()); - - if (dataCache.containsKey (key)) - return (File) dataCache.get (key); - - File f = new File (this.getCacheDir(), "bindata_" + key); - f.delete(); - FileOutputStream os = new FileOutputStream (f); - os.write (data, 0, data.length); - dataCache.put (key, f); - return f; - } - catch (Throwable e) {} - - return null; - } - - private final void clearDataCache() - { - java.util.Iterator it = dataCache.values().iterator(); - - while (it.hasNext()) - { - File f = (File) it.next(); - f.delete(); - } - } - - public final Typeface getTypeFaceFromByteArray (byte[] data) - { - try - { - File f = getDataCacheFile (data); - - if (f != null) - return Typeface.createFromFile (f); - } - catch (Exception e) - { - Log.e ("JUCE", e.toString()); - } - - return null; - } - - public final int getAndroidSDKVersion() - { - return android.os.Build.VERSION.SDK_INT; - } - - public final String audioManagerGetProperty (String property) - { - Object obj = getSystemService (AUDIO_SERVICE); - if (obj == null) - return null; - - java.lang.reflect.Method method; - try { - method = obj.getClass().getMethod ("getProperty", String.class); - } catch (SecurityException e) { - return null; - } catch (NoSuchMethodException e) { - return null; - } - - if (method == null) - return null; - - try { - return (String) method.invoke (obj, property); - } catch (java.lang.IllegalArgumentException e) { - } catch (java.lang.IllegalAccessException e) { - } catch (java.lang.reflect.InvocationTargetException e) { - } - - return null; - } - - public final int setCurrentThreadPriority (int priority) - { - android.os.Process.setThreadPriority (android.os.Process.myTid(), priority); - return android.os.Process.getThreadPriority (android.os.Process.myTid()); - } - - public final boolean hasSystemFeature (String property) - { - return getPackageManager().hasSystemFeature (property); - } - - private static class JuceThread extends Thread - { - public JuceThread (long host) - { - _this = host; - } - - public void run() - { - runThread(_this); - } - - private native void runThread (long host); - private long _this; - } - - public final Thread createNewThread(long host) - { - return new JuceThread(host); - } - -} diff --git a/examples/MidiTest/Builds/LinuxMakefile/Makefile b/examples/MidiTest/Builds/LinuxMakefile/Makefile index 847bf154..4fa71c7c 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-App.plist b/examples/MidiTest/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..208b8d0c --- /dev/null +++ b/examples/MidiTest/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + MidiTest + CFBundleDisplayName + MidiTest + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/MidiTest/Builds/MacOSX/Info.plist b/examples/MidiTest/Builds/MacOSX/Info.plist deleted file mode 100644 index 01a2ceaf..00000000 --- a/examples/MidiTest/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.MidiTest - CFBundleName - MidiTest - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - - diff --git a/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj b/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj index 5d70d1f6..ab43971f 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,24 +20,24 @@ 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"; }; 00F105203610541906FA031C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + 00FAD2E802473059D1070740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; 0124FD2E09CC905B5F5E946D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; 0172D6B3308953A0A0484272 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 01C131F232C1BBF49445C4C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -46,26 +47,35 @@ 031323316BE5A4736C9E93DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; 031D5EF47AD1A899C5FEB1C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 03E54A92189CF80DEA5543C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + 03E675456C09CFD5FD304E50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; + 0406F350296518BD17A626DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; 047E2858DF652C4EECE19350 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0485ED1CFB09B769271F0154 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; 04B4A1C5B28404D1B692DA5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; 05248CC68AF398A13747B3AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 058D684A7C941A5C0E2ECD30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; 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"; }; + 061D85895E2A962E6354EDD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.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"; }; 06ABA2CB47AC9A1C9C3DB734 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 06B47D41CCEBB771274906E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; 06C21F092C81592212DB3EB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 073A9B62DEBF52C846CC0618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 07AB7FDD7580231858DA3BD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 07F0E97918A02142DE52344D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 085EA881D89B7D96B4E1C4EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 086E0B955456C24594EF93A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 086F5B5A6E7F42EF3EE83CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; 089508E84B944E7B14A884F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + 08DC8AF467C529B1A6EF80B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; 09437961E4C3262AF3ADED8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; 0995D7B07504B098C495A289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 0A0A30A2CAA17BE4553F9465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 0A1FA7A9E900F0C0EC3F67EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; 0A4BDBC90AD26454FF1F992A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 0A5B25A301828B0F4A45E68B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 0A729F7AA618D218C9BCF153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -73,33 +83,38 @@ 0A90E41172B7B2ECFA5B6A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 0AAE51BE8E94296CA6BB89CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0AAFF309A3F53A79BD65A222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0AB6F9DACE815C5FFE332A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; 0AD47AB335E576ACA9979911 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; 0AFDB7BA03791E1D80ADD26A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B3E8AF5DD78B8C46461633D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; 0B50BAD552D9A6704C85AC0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 0B904C527F6D69E56737038D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 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"; }; 0E98BF2DDB2F83B2BDC98BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0EB2F78781E1AEC04BE597F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; 10BE0702983DAC068A700C60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; 10E481B0FC72E71E14CF6F16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; 10F8E2A5426A365F3193B251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; 1113FC41E8F9E67116F34119 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; 115AAB2BB6D1E55D688417EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; 115DD24D8087A0F9DEDFE56A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + 1166DAD1362734D3E021B1AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; 118AB89226006048BDC3806F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + 12050311A5472BAE1C67F79F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; 12A03A62777C1C5E81950DBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; 132527D90182FABFAD6B679A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; 13BE2012758BD5A811FB1619 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 13DEF72933AAB505B1665123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; 13F6C12E9BE307E735B22166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 1423C51D948E59BF3C19E7A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; 152BC2F3F6B0F518C984177E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 154C899287F20AFF9A47016E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 15A9B402DFA75E656A407EC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -120,23 +135,32 @@ 19CF04AE6B9BA0BF4B673644 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 19F68BBBA66B69333C36735A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 1A39051C4AF1619FA04E23C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 1A596DC759AF518739062328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; 1A9227C1FF193983C98CB889 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 1ABA7718EB30C6B8A4D60A0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + 1ACD54BE2C5314368BDD4588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; 1ADF350761EB5629DF148F35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; 1AE18CBB8B00852B11A325EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 1AE59A7E8079843A9523C1C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + 1B0FAC6EE2C4ACE396F9194D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; 1B5C5E960E7409E889F78A02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; 1B711C8B57441E43AEC12D48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 1C5DD1E22CBC5BE6569B5385 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; 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"; }; + 1D89BB97732E4ECB9464FB63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; 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"; }; + 1DF810B7EC4446F07E5FFB74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; 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"; }; + 1E312B854D7C362FFCD91915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; + 1E50F86548FFE659430A5F81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E91A2C8AF72DF59C199E818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 1F1082CC4D7FBF043D05526B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 1F2A389827FE6CCFB52299B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F2B9396D1F9383A2BE87F61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1F5F5D121370C54F0F22854C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; 1F6F203486A696D5B35DC25F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; 1FB94F455691A12EC9FBFBDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; 1FE48E2A7E4965A31A55888F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -147,13 +171,20 @@ 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"; }; + 219D950D919D460E57F3C590 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.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"; }; + 22C6A96F04E14B7FE314034D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; 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"; }; + 230E77EB55F7780543BEACEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + 239DE76D40B598BD8C4EB061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; 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"; }; + 23D290D1C352B077F3D66124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; 23E90E63438C459571F0E5C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 243B3611F9EFF12E3F49B2D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; + 2456143F4345A16D4BEC7269 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; + 24717937A7D1394C63569799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; }; 24BAFF6F1A0F4A27038172E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 251A3E830E20378FE1E70462 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 251ADDBD1E462E10683F7034 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -164,12 +195,15 @@ 26021651C22BD6DE054AF1D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 261E752EDF94C097EAEF814B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; 26A66F26019CBD79F5A91C9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26B6D9E613F5FA232B614E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; 26BDDBFEF106516A3BD127A5 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 26F5080C5674741DEEB509A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 26FB1EB0E5333AFEB5A9C673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 273F8B5CC164C605070744D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 27584E89B3BADB1CF4B1FDE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + 2818403E44A47115DC30F2B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; 281A6D0D7525F65789FB49EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 284E61081459EB34B6743390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 28568BBF30F1DB6038A18401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; 289C8993673B68777CF3A968 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 290313E8DFE0C4FC406C2360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; @@ -178,13 +212,17 @@ 292937C4EBBA8D66231DEF1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 2977F9A301367D33C8054620 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 298F762E40199B266A9E2BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + 29A06743CB2924078AD021BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 2A1478EC61BF65EED16EED32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 2A25688682B14F59080B8856 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 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"; }; + 2B6339D0D6EF334503596EE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; + 2BC146BB725B8310888AEAA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.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"; }; 2C16FFCFBF61CF478520019E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -192,28 +230,40 @@ 2C20B1F38E98F0A21BA9CE12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; 2CBA0310B5169537DCF260D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; 2D0F17B9AE9B8C3F2FF90387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; + 2D1E044B619492E7AE913DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; 2D2DF7A204D84D1A41C761FC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; 2D5463C56EB1D673D4C37A26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 2D5C31D2E08FE74B61101250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2D782AE6EDF69CC4D35C46F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 2DCE43708C0681747EDD7D71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 2DD2F3322103D9A3C1BC01FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; 2E22793041EE56845DCD02A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2E4666160268FAC7A532A06F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2E6FB13B1B9B7454D52D9B65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E700828CB0D1F08D224E8AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; 2E9A0954247D4272C01A7EF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; 2EDAD84A240F6EA14E91F843 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + 2F1FA1889BD62AA6AF38F2EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; 2F225714445457C8332BD3B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 2F629B6A39DD38758FE73113 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; 2FA12C63BC0BD2C8DF3B03CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2FBA7B33A6753CD6EDA3C44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 3003B712285C45FB9A9C5824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; 305C4EC192FB709CAA24530E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 31372D990ACF6E86F0ED05EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; 31706C2C6BC3F1FE61C6F336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3180C44DD400DFD8661590AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; 31C3193E5A88EE8E9D9D2367 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; 31D204BED98EDB3563887B2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; + 31DCAC1BC537254D6601BDAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 3221CB50717F0D27C4C6237C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; 32600FBC59D4D1081295E262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 327A0154589CF5C0484C8CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; + 32D72BFD938BAA4EB61A9070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; 32F4F8A3445B9914A5540BBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 335345F690175AAB7FE2CC1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + 33615429CC44DA129BC89CE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; + 33A739D1722B039FE1B42B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; 33E1D32DC439E2D5135B5180 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; 33E1D4A2F37E15E02464FB04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 33E57CC37341A05F0115E359 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; @@ -228,16 +278,20 @@ 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"; }; + 35D7A7DA1AA781BF08302AF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; 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"; }; + 3749383A7AD3AF46F8EB3FCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + 37DB28AD3F6BBBA0F4752267 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; 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"; }; 3947CE32DD0E2EF74A9A5685 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; 39BE9ECC4812170BF78D4AB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 39C057852A57EA6A3634C9F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; 3A0905D5A44682BA32E890B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A4ADB03B4FDD3E092A4EA1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 3A4D960AFD726944CDD837A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; @@ -245,42 +299,58 @@ 3AC1657491C449D35317D152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 3ACCA940E7DAAF1360518308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 3B345751D5AF28FF47DFB9FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; 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"; }; + 3B9932C1C93372092E560D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; 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"; }; + 3CB555A60209891A50F5B070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; + 3CC6203E67A850DF1B5A055F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; 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"; }; + 3E6D80EFD90EE101F004F7E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; 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"; }; 3F2956100AC77970E9D6D8F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; 3F6066E4811F5614743ADF18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F81B51FE35A11AB1EBDF817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; 3F95D175870FC0A06EE75AB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F97F503656083301FF92E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; 3FCF0D0C9F880010271C14B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 3FD158E0EBB5A23F749067E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4016FAF168BBD0818A7B6123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; 406DF1B4D378562F659E8565 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; 40AA1B902D8D3CB54D860BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; 414963BDCCA2040627721C78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 4166F8C587E680C19CDB28D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; 420826E000BDB4599401C676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; 422C87B3D3D2872C96A14CC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 42B188D9ADD18EFE841A39B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; 42D0E88CB303E30747CE24FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 43248265F0C0DFDCBF4CBBFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 4377E744DC7B1CA18A6E47EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; 43C5781576750A1503A9B074 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; 43D160D6ED038A7088AB3DEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; 43E964EF17328AB8C3F454D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + 44018E506EF7E2C0207A702B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; 440B83793DD44839DE3E4F6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 440FA0F5BC6328BDE24931CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 441F709085CC742BE0012D05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; 443719DFD779BD07F5831148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; 447C281C78F82035C2BD24EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 44A7BA2DD53EE355E052627B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 44D61A00C52DC3276CA8EB0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + 4502D948455152F0E748249F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; 452DA077C32F269A990CAF7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; 455301B4814BBF4C9EC1B4B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 45586BE1687078BDB44C33F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; 459BA6D8DE834F3A84690357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 45AEBBCAC5AEBF62F00C26B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4618C199691241A73C70E796 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; 469C174FFE7BE215B1B7EA9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; 46DF62BED3D050BABA0AD01D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; + 47079AC015AF94DFE476F7A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; 477E47C2C3B9D1856815B5EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 47E867EB426ED9E824837D86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; 4877F0F7DD226554783B2097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; @@ -289,31 +359,34 @@ 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"; }; + 4ACFE7A5BBED772B8AE4B0E0 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; 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"; }; + 4B11D897DA7A7E93D265EA99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; 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"; }; 4B616298D27D8AFCAF94A62B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 4BD929A35245C5C8E1128201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 4BDA1EF1F7CF9256A68D333B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C1C0EABAF9943E25BB843E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 4C5027FD6B2075613AD35069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 4D8B25F49672278DAD980D37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DA35338F37F962A4FE2E519 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; 4DBB69C768DC0AB48E4D7335 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E71CDAE57EC0F8252E8A379 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; 4EA1329ABB28BF7D1E2BCEE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 4EE8D2A556262F45A8E4C002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; 4F74069552CD0B8306159E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 4FFC567D2E9E988FF7D6C9F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; 5001ED9DCB2695E7C7FB575D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 5029A627A11CDF63AF4F5B8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 5078B5E8B29C7812E2A61C87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 516BCBBD8BFBA135B158878A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; 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"; }; 51EE73023F637D2C38BE0BBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; @@ -328,8 +401,11 @@ 536015077E4DA2A660777636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; 53774BD198186D5292A6C79E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; 53AFC84A35AD5EC753C5C82C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53B40722DD852BA459B78CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; 53DB1E1F972D23211F994563 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; 53E7F696AD8FE29150F9FF87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + 53EB6292B8BA902E9968EA10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + 53F9D3A1AAC86BEBCAD01846 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; 5449BAE80B8572E2394576A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 54669FEC417AFCA5503F78DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 54D12DFAAC0B8DA6E394204C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -337,23 +413,30 @@ 550ACC8080B604CACF4A1327 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 55A358EA30720C4A5CCA9151 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 55B56F6D33E69497CCF8ABA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 55F8A12088712E6202316984 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; + 5637D618BC6DDD541257AFB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 563FD10D94131932F199152B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 566D5E15DB1A5D46DDC9B861 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 566FDDC6EE618B9CE3F06E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 5696C635F1687848F831176D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; 56984FF7B7A8186E267CA2C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; 56D4A0147E6D09E8025FB743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + 56E98D738628077B6EB347BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 57290064E3CFF9DD86D814E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 5786743BB354833AD3E7C941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 57F15A42094E5ACCA8DB407D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; + 582592E737DD51E3BF21CA76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; + 58745BA9C735F8B3FF36B803 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 589E9DB86BE9D5BCC3738166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; 58D8DA39709C9E4902C964BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 58DBF3229DF035E3FDE0DD96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; 58ECEED241DF27ED319D1DFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; 59E9E1263FAA9E36D6D33C01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 5A13C14AEEA28347CA73181A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; 5A249D355806407F5243D9F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A5572F95434483C670D0763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; 5A8B09391BEE95EFE335F7EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5AB8014F5AC9B6FAE8AA3A3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; 5AD10992C4A5CF4C11FB8A0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 5B0E1920431F1047B1306B7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5B43C06682E6348DCD10BECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -362,89 +445,129 @@ 5BB8C184757E8472A0DBC655 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; 5BD03168178B05F7A6F1126A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5BF3C5A9A4F42B498A0C0DE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 5C05025316455E4D0B941951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C0C6B7FD5D94D80BF7E6D35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C3322F45E3EA0A3970D28B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; 5C3B25EFEDBDB3FF37FBD546 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C5EA791F21CA31804DBD014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5D727E2EBD997D21205CC599 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; 5E1B48EC342F75E172492CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E3E8D9EDD3396025DB49F40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E7C3EF67857DB0082A41E95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; 5EC700BBFAD8B43239027ECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 5EC7614B7F46EA2C43B14AD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5EF45C283B585BAA946D02C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; 5F467F2059AE430E6BF3F4C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 5F7997D0291392415EB5670D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; 5FD667A17A029680D6D2F986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; 6037D45756D11A1360FBDFB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + 608B61C27475B67C7A7576F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; + 60DB4385BFD57D6957043017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; 61275921D3E9ECE1690FD578 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; 612FC77FBD64CC1F6ABEC287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6133EC3263B1AA6CB2CB6418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; 6149D19062A6532AEB3E2605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 61CD22C78E377A2A4943684E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; 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"; }; + 633D5689A9FB2392B224C560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; 6374A362F258DBD2F39C868C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 639BB1B8BEEED7BF60F2D891 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 63F06F3A718D0C1313A78321 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 640409A66565092660767890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; 645C0553A0BE7854CBBE329A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + 64747E380AC0DCA6F44157C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; 649173E3547F8827D3C0B28E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; 64CB953C4710E1182A72BA47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 64CFBD667CE9EE412701CCA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 64E9F1A471FB4139A86242AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; 65268CEE346EB4D090D434DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + 654B5629553CCD9680B96AD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; 658BA13CE4A1B5BDAB21F453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 65ABEFA3DB37D2D541830543 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + 661CFEC9F5F4F201D824589D = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; 66779261F06E798D6081779A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; 6687C444F957D7D097F6D457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; 668C11A0C6FFD4FE9C496E6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; + 66E3DCCFD72D120FC8740AFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 6707FE3BB2A820A6E63670E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; 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"; }; + 6769D45BEDDB42E442FA1598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; 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"; }; + 684A7E3D77C8DCD33EAED6D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; + 6883669EA20B4E4C8F7332C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + 68B73B2EE6D3F6D4572F1154 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.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"; }; 68CAC12255032C9598B836DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; 68D30198ED90BAB25E06FB93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + 68F2AA7450B6A9D910015FD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + 6913E864125CD2963640666A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; 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"; }; + 6AB611520CD0FD289530661E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; 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"; }; + 6B69CCE04A30589705E49503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; 6BCF17B2983BB7D7DF91CA8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BF5CCF5772843264CE24EB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; + 6C2AAB3BA21F5B8D6F001330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; 6CC8C6277F4B378BB2516B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 6CEDDB70061CF81C7ADCA315 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 6D2622C22212A1A6064B6D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D86A8ABADCFF51C6E68FE7E = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 6DB7CDAC2EAD21710557CC90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + 6DC9506918DC2ECFDEB058DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; 6DECD794AF3A19681E99CBAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 6EC028C46F11FB59C82A52C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; 6EDA91C4144284C146EE3DA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6EF4481E63CDB816C43CFE33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; 6FDD6A7F82D671CAF2B1EEB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 7026CAD042345AEAAEE6DEC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; 70423D657809189527B69E00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7090BE7F80DF1DDDE7353895 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; 70C902F9BB9ABFEE77FECEA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; 7124C55033AA878E30CE4E7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 712D44FE7BF1E1177E3463D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 715127B50D1B83A5C2D1ECFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 718A5413241845BC5C8E04A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; 71B627770E6643672558C9ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 71C4985DF50120ADFA541BDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 71C9EBA828B32AF1E06B0D29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; 7219E995BF8937AA13EF0937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; 7226E5098BB9466DD73E74B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 723642BF3C11A3A058CD58A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + 727492E01275797EEFB1D203 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; 727F82DF717167058E4B991F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 72AC4DE1FC5763C6D53DE732 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; + 72C1D5EB464844A2A780D6DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; 7316047BDEAD86BD3719AAB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; 7328E44FE859DD15EC2CE03A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; 7343C468A834B6BBFE0BE934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; + 7354B92921727AF43F337ECE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 73E24FDB3C3E517471A8FF3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 74A0B47842AD1E5E22222684 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.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"; }; 77451A1E595A87FE92658636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7792D77B7A5FC2EF7EAEAC56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; 7793AAB87CA8422BEB1D2786 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; 78415F3E8CD250F76A2B4E5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 784F9167C9A0065235DD7AF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; }; + 78994CB618DA8995BE591373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; 78D17DAF7A0143A17695CC03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 78D852175FC9E8F857FD37C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 78E7E3A7B7E1E3E0363CC3A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -459,10 +582,15 @@ 7A223F4215B0F750291066C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A35D2308BFE8D941E84F128 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 7A55A7E6495A10FE553E75EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7AC9ED089A8F88312F74A6E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; 7AECC5ED1AA474523766CFAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 7B8CD292A12AB02D2A591A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + 7BAF731EADCE4ED666995FA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; 7C1C8532B5C095328BC56582 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 7C4D5EEED2C64EB6CF753749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 7C7709861088BBB95FBFC7B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7C7F07452BCE46EA7762BC6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 7C900D555CD1B42A547D1BD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; 7C983DF49EB8A0EE363902E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; 7CD1D9760A7F9124BC92868A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D06B3C5F94209CC6C27E498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -473,12 +601,15 @@ 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"; }; + 7F368257C9C1C4B3ADBC2ADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; 81A990BB88C606DFA9303366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + 81FAF5A8B764D00191519633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; + 823030E8AD6BB20860C4DFDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; 829E26BF13D9D5728057226C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; 82E3B133D0E15FC5A0467749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; 833103DB8E0F65D0E7BEEF0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -491,6 +622,7 @@ 847E7E00243B8FC7BCCE69D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 84EA235515C1B97954C1F97C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; 8509A57DB41C806BD6825C89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 85448A4F09EF1AA0DAB669F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 858D95EA823FCD1DBFBC4E96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; 85929AE1240EF7396488E6EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8598A0B964801650BAFC6FBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -503,6 +635,7 @@ 8742F468DF1905F097D7F6C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; 875A14BB773AFC27135869A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 8781C749016774125396B268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87E96BA5A9FFCA433E0453C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 87EA6E46F50CE9F1225F5378 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 88B3C4FF9311F4797F9BDCCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 89377CF5085E5D9000164FE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -512,20 +645,27 @@ 8A282A87C13A4CB559B544D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A4BBECEECC80FDC7DEA48B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; 8A9C5EBA0F19F7979A38DDF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8B0437CE5406E1B1CC055115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; 8B336888A6EB8C1061C30F70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 8C53967F99EEE17A3D7A97F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; 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"; }; 8D1CE0B9ECDF4CF36B1CB4F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; 8D317883E61856EE2491FC09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 8D6CCBB6ADF78D5139B35DE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 8E317934922B12ABA2B5A8AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 8E6B3E9DA6571C37BE6760BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; 8E9358560B0ACE8A912B8AB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8EC4AF1FE4A928F8558AE0B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 8EE2944D2A3080C7D83EB741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8EF7ED003297DFA5026CC445 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -536,16 +676,22 @@ 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"; }; + 9231785E02CEE81C77D3823C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; 924AD69D9805BF69CF891A26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 933B61E6F172617811313949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; 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"; }; + 93721D5BA8AF835F5844A964 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; 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"; }; + 93E93466DE653424060FA74D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; 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"; }; + 95584D6C2E3B6A4FE5521C45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; + 95BB018A425B46D32636365E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; 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"; }; @@ -554,8 +700,15 @@ 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"; }; + 97B0C158C22662A6485AB92E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.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"; }; + 983479C38B5905B8D768E2A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; + 985FB364ADFE88CE70CEEC03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; + 9879346BD474B2BD8A7DECF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; + 9895ADF08D17A8B52023BC2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; + 98B46FE0B36371318C52CC9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; 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"; }; @@ -564,7 +717,9 @@ 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"; }; + 9AC86B157B15368A9CADAB95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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"; }; + 9B1490E075A8A23DC6BC69F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.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"; }; @@ -573,25 +728,25 @@ 9C3D731E59E142B877B3B40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CDD6AA35716672F050A28C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; 9CE0F9D7C49B64C29A699E3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D113DD2FB3121F8AB55F1F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 9D8AA3AA516550BD848893D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; 9DA13E7352FB376508315D83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 9DE1DEB9CB034DBF7F1603BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; 9DF2C70BF5E27C4618AC4751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; 9DFB1207084A2C2E0C53DB62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; 9E2419E5C9BB345B5121A6D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 9FB590DB65B12105CB3331E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - A0B754CEB65C70F3F3BF3352 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; - A4AF80059F74FF502CAB1655 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.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"; }; - 8B5B75774474FCA544B1B2FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; - 9D113DD2FB3121F8AB55F1F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; - 9D8AA3AA516550BD848893D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; - 9DE1DEB9CB034DBF7F1603BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; 9E5488FCBB203D6BFCC9626C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 9E9C69519E06E38297AC8941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; + 9EC5AE6597C1E855A915B783 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; + 9FB590DB65B12105CB3331E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A01EB1FCF6F4D00B58A8D111 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; A0318E5733F0BDA8D1001ACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + A05E3F519D89E105A140B887 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; + A0804FA567BA563088B8F1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; A0A17D0546958E5428D46022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; A0A1B6344FD51FCDBB9C204E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; A0B652215980BE83A93CAE0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + A0B754CEB65C70F3F3BF3352 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; A1462538DDB60A384CA330C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -604,12 +759,15 @@ A37D36CA1CD0EFDD6829D108 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; A382A4098E0ED5A32CE5D0A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; A38CB181B540BD7A6CA21362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + A3B1A1F80532CE804BA8EE9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; A3FB5EEBBC9502221F4B29EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; A432857134F72B38C14CF6E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; A45A580C2D7686A5A84F31F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; A49E4ACB0716C74EDC25DC50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; A4A123FEBDE48FDDBEB74AED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + A4AF80059F74FF502CAB1655 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; A4BF427B5DC0D39311835749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4C1AC68972416D5A16E8FDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; A4C85C1FBBAEF5CD869B481A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; A4E533840C379C5D511BBF40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; A55D76D2DD846DF369A1B062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; @@ -618,27 +776,37 @@ 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"; }; + A7883ADAF9455FDDAAC25E99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; A7C30AD9E7ACADB65E2E9FF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; A82886C93C93287E362374E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + A830EF6D7ECB2EDD363F4531 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; A8390DAF1F315060F0AD26F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; A86AF34D38DC1243007C0BBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; A889A064074C2FE54A9A2E91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; A88B5A8101BD7EAB2B0BAB35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; A8B4A6DDE41B6826A72E1CC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; A96E3DEAF00EC750459EE0BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9BE2C311F9645A85098DC0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; A9C00D8F92DFA295261DB56B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; AA0DA3202B8D324B99972B01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; AA1D7CD80094C6DD30B82642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + AA6192BF5FBEB29956F62BF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; + AA8D86BF6494317AA3CE6ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; 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"; }; + AB4D6807CC0449C141F0EC59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.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"; }; + ABCB0BC9A0AD145B63B9696C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; 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"; }; AC88A0BE692EB93AD184D40D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; + ACAAF7839171100545E47164 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -649,7 +817,9 @@ AE3CFB79C6A02BB12EB0A2BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; AE7A50472A120B0FCD6941E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; AEC11E1897041B5B67B963AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; + AEEF9C85C62EF849A073BA19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; AF5ED93D7B6AC2DE6DCEAC23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AF927BF7EF859CC34914A140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; AFEA8DC16AFB85E66DDDA062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; B072058D4853C3D58657D667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; B0D01B3871AF10230066353C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; @@ -680,43 +850,59 @@ B60DA66A1E0DBA5BB2549EA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; B61A39791A34A7D5F4F8597D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; B67BFA128C643401AF15A6B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B6846D75FD67174F997E789C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; B6CF2D9D37A988C3CBFDC5A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; B6F1399CBD41DC2FF546CA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; B73F7F0669A6434AA911BB2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; B76ADA7D2C7B3618B97ADEAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; B77EFBE3AC6C32DBE89551B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + B7DD18E709A996132D076980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; B812EAB4E6CBB640845742ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + B87566EBDD54CCFAC1678F4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; B8B97874A8555D6B1A31EA7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + B8FAC97360C8FB3952586D22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; B92FE036F9E2892A4E7BA7BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; B9686DBC8D800831E3CEC46C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B98A2FC082987EFE64DD3CFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; B998A89F9F963F8DAA82AE1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; B99FD659AB1F5AE5733F0542 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; BA11889570DB5E67AD37DB90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; BA50382ECF67058553C0CF60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; BAA3716A3BFA86A257F551E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; BAD4511258CEEAD73C748782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + BAEEC5CA84014BCE08C8C763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; + BAFEDE9F1387F6B7C9B0932D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; BB30BEBF839C3640BB28B3D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; BBFC02ADF6B29159C4E8C758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; BC189AD35765B04899A257C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; BC21204055502ECD5D995C9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; BC580CD69BD370CFE829BBB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; BC8BF730EECDDAB6A392CE75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + BCB98644D57E45411C361549 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; BCFC623C56B7071F9CC6B0AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; BD06615203039932C590F0D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; BDA34D3EB7B410234620B096 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDA6CFDA43E7640149744DC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; BE048D62FF378F61320A353D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; BE488D6CD2C0140A9B6E934C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; BE666E4C6A20991E81BF3C44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; BE790FC31FED01F453778D57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE96DC202E9382F6CA3D1206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; + BEE210C77DA7D3688A1742A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + BEE35352C0A49EEC349D91AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; BF1D2F31EFE400A6DCAB8596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + BF6EA9101F25F8058F083E53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; BF837DA7E78077E6BF21AF4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; BFC0BB07575856E51D86BCC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; BFF3AE3A9F6BB64BE5616A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + C01A55BA9329E4EF3C1EA9F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C109E10EA231CD8DE215D503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; 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"; }; + C1719CE1BA73519723E11902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; 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"; }; C1D757F71096002EA476DBC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; @@ -724,17 +910,22 @@ C2CED429B672EB6A5D299F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; C3394561ABDB194AEB884302 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; C355CA77AF5BDB576E312776 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + C36E60DFD9D5F5A1F39E4FBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + C41F26EAAC65B2199BC88CBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; C460425DCE929D5573D692EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + C47A606294D5EBBE001FCAF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; C4947E82321AA68E066FE63F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; C4F2C0004FBF55A51C7E421C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; C7FA975F9BC2B0A10374E66A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; C80C46AC11D0A36B43BF545C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + C817AFA5C0CEE9C3E14B4739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; C8416100B7FEBFFEA67C9AA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; C84F0AA201CDF56F87C2FE7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; C8516C1E40F21AF2F48EE246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; @@ -748,14 +939,20 @@ C9DBC561216FC85E4BD686F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; CA691DCA99DE102DE5A230C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; CA6A35C980DA16823A27B7F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + CAEF745A27678DC0EE7CED96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; CB2ABF575A275A9AFAF69AB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + CB2AF0A6BB332F80351AD147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.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"; }; CCB0F34697E82EF0D5FF4B44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; CCD2995B73F60BDBAAFC07C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + CCDCE23C4FF1B2F459F9B236 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; + CCDD09FFBB50733778C0676E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; + CD1164F82648D4B212C80CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; CD5BCB9C1385C9DFE561C639 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; CD75E6F688CDFDF12DDCDB78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; CD8DB8D0560BACDD3845F550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -767,6 +964,7 @@ 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"; }; + CFABB78080B1681C4D3A0B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.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"; }; @@ -777,7 +975,10 @@ D1B0DB676A6A968AA8539F91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; D1FD340C6786DED8A06EA0BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; D2079159DFD2C55DA65831AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2330AA1B6F9801FC5460CD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; D234BD4D6AE149D63892A568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2EE26D7700F64BB05A90E4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; + D30B210335C1D7126A1A78E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; D33A70241E8C2D22B6409385 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; D39E4EA15D8933D05802B88E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; D41AD73241EA4B8843A39FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; @@ -792,34 +993,44 @@ 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"; }; + D760C86183D59FED3E3008B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; + D784894B4F162B3576815364 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.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"; }; + D8EB90535879E3AF3FE0A708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; 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"; }; + D9AFC0EC76490846F70F5EC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + DA0F4194B89DD20C605803AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.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"; }; + DB3DE3CF9684BB1417DD5830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; 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"; }; + DBF39E057C900A4ADC624E8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.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"; }; + DD7B1C3AD07C439C5D9EFA3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.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"; }; + DE3B3F85A68198E7DDC6DB5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; 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"; }; + DE83DBD9ADCA8EC7348BB6DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; 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"; }; DEED8BDABC10E6650C61915D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; @@ -829,7 +1040,9 @@ DF78C17F0D24AB45003D96BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; DF7FFD1509B205871099C5B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; DFB53C51F58D5F2CC3B488C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E0223132DBB8B309FE9741F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; E04EBB578FEA27D7F991CD8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + E09D3480D6B6B3C01844FB10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; E112F8849FCF66DD34FD61A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; E13F0F8F7F6F633D94F8852E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; E1A284EB48EF935B5BC692F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -842,37 +1055,57 @@ E5ADA9D2394B8B8C38431782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; E5E6F01851E06CF96D17357D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; E65776E6602743E468EE79F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E69FA8BBB8E8B27BBB3040CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; E6E5F1032BA5258B0D26DBF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; E73B23B093FDDF66346BFA5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; E77E3C682E425FFB37A34DF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; E7AC5DB63FE9C67DA227E2D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + E8344472027EED5C371F79D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; E8591ABA5B7B62C30D83359C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; E8796FBD2A6A0D79ADE450FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; E87F503108182FD43982C45D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E893657FCC035823698946C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + E8FDCDB58398061F8423F7A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; + E92312D03143678C3428955B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; 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"; }; + E9DAAB482F67143FC870344F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; + E9E7ABF5077CCB102B921D24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; 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"; }; + EA4E8E6FDF3A151074F821EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; 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"; }; + EB3D111F4DAFB2768889A744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; 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"; }; + EBE0A72F14E52F8350607C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; 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"; }; + EC84A3EAF7895B67B7E4ADD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; ECAE3FA47A5AA11B7F49930E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; ED31233B6F3A221936C32D43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; ED7B6E0CCAABFFD95483A5A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + ED8A98704A89823011F9A553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; 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"; }; + EE5A031094E8F8A10029BE3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; 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"; }; + EF4F18F9213D3238A4002F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; 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"; }; + EF84F519DC440893E9DB84B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + EFBD19501E42FBABE5F5D855 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; F016087BCC0EC5E166B45215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; F0DAEA7AC20FA046B9B09AE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; F0E612E65C1E568B58E7D805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F12E0BC6AA64C2E1A0284A26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + F133699FDCE50178DC86B75D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; F193B593463CBEA3B4F399C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + F1C13225A3A03957AAE8AFCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; F1D0D12D2F7CE8C88A28169B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; F20219B169674F73013B959B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; F399C5718D31B61C2204231D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -884,42 +1117,55 @@ 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"; }; + F56AE2B43B65BAF000AEDC0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; 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"; }; + F678F9BDD7F431E29A8311B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.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"; }; + F797B276E196426FCFEBC5AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + F79982408861D410209D50B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + F8084F3F1B393E24B41A41FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; 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"; }; F8A4925B3E23206A0754205E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; F8C6E397B8401CB796604C30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; F906DCBADABBFA5CF676D202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + F93A54A6A61E0D449BE3CB20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + F9EFA190684BC6814DAA501A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; FA5389B4B4B922397A55CB60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + FA94EFE33455ED6C0F053A51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; FB80193BD95C440867B71614 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; FB844B3ECA94A44C64B0E460 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; FBFD05F3DE4E85E8E67D6564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + FC0CA68D5FD4C9090262E029 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; FDA044B1261C64BBDEC5CCD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; FDE835978CC3B7E11DB7A550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FE0E52C9AFA1874FD0F6EDFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE68DFA948F52146B97EBDBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; FF704E82ACB2DEB955F06B02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; FF716222867AACDBCB4C4C53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; FF95986E4C03C60149C2EAB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; FFA5E5B817C46570A742F8DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; FFA8D7FC84A4B69BC21A109B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + FFC264D818C5FB1E2F293C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; FFC31B01BFA016D0D97EFFC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + FFC399684DE4C55C2E6BB165 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; 418C92E17E99E2DA47AAFC04 = {isa = PBXGroup; children = ( 78E7E3A7B7E1E3E0363CC3A8, 8F56F2FA5C0D47F9EA19E09C, 91FA7F73B33D66D9C3A6FD9F, ); name = Source; sourceTree = ""; }; AEB39FD252263E85F2FFE6BC = {isa = PBXGroup; children = ( 418C92E17E99E2DA47AAFC04, ); name = MidiTest; sourceTree = ""; }; - 3286A8CF6EE22DFE49A8DA9F = {isa = PBXGroup; children = ( + B5CDD98F416875D88E0F003C = {isa = PBXGroup; children = ( B998A89F9F963F8DAA82AE1D, EF29543541EAA4ADFF5D8733, DD45E70E19FB20AA19459C2F, 3221CB50717F0D27C4C6237C, 1C18D19A02D7B576A3B303F2, ); name = buffers; sourceTree = ""; }; - 8815FFDC946634FA25E4E075 = {isa = PBXGroup; children = ( + C4ACF7BE2C00FEF2F20DF4FD = {isa = PBXGroup; children = ( + F133699FDCE50178DC86B75D, + 5637D618BC6DDD541257AFB5, 06606DC924B7DAE58792628E, 0A729F7AA618D218C9BCF153, 31D204BED98EDB3563887B2B, @@ -929,7 +1175,7 @@ 1C71735BBF7F71227F596CD6, A73ACC374B8EB6D4AFD8AAF4, A86AF34D38DC1243007C0BBA, ); name = effects; sourceTree = ""; }; - 07DB4E575D8780671E5065BE = {isa = PBXGroup; children = ( + F980DFE0F2E19FB14ACFDC81 = {isa = PBXGroup; children = ( 9165B7EFC4A6D0D2D4BDB964, 55B56F6D33E69497CCF8ABA8, CB60DC44A14E39F7316076B5, @@ -942,7 +1188,7 @@ BF837DA7E78077E6BF21AF4A, BDA34D3EB7B410234620B096, 19F68BBBA66B69333C36735A, ); name = midi; sourceTree = ""; }; - 8C776C4907D6EB4A612F8255 = {isa = PBXGroup; children = ( + 99C78A6B803207D6E538BDD2 = {isa = PBXGroup; children = ( BE666E4C6A20991E81BF3C44, 02BF4DFA67BE6F387CB83FB4, C84F0AA201CDF56F87C2FE7A, @@ -978,19 +1224,25 @@ 0E9380C830C6440477B820C2, 4965BC05E07C74ACBC69CE0F, DBEB99D494A9620FE06F48B8, ); name = sources; sourceTree = ""; }; - 6FA1018757E05E7616E926AE = {isa = PBXGroup; children = ( + DE6DF81DDBC9AF5C33040E43 = {isa = PBXGroup; children = ( 1DD60CC76FE45CB93908DAB3, E112F8849FCF66DD34FD61A9, ); name = synthesisers; sourceTree = ""; }; 0690EECB6F2AB185DA0731CB = {isa = PBXGroup; children = ( - 3286A8CF6EE22DFE49A8DA9F, - 8815FFDC946634FA25E4E075, - 07DB4E575D8780671E5065BE, - 8C776C4907D6EB4A612F8255, + B5CDD98F416875D88E0F003C, + C4ACF7BE2C00FEF2F20DF4FD, + F980DFE0F2E19FB14ACFDC81, + 99C78A6B803207D6E538BDD2, 45711C8C6AC5740CAAEE6B04, - 6FA1018757E05E7616E926AE, - 004F0CC129C05470392B9665, + DE6DF81DDBC9AF5C33040E43, + AEEF9C85C62EF849A073BA19, + D7423C164AF5168754CFCDB9, + 06251F5E80644992958A3B61, D7423C164AF5168754CFCDB9, ); name = "juce_audio_basics"; sourceTree = ""; }; - 412A148C8202E8685B4A960B = {isa = PBXGroup; children = ( + F5669118702A484FF328581D = {isa = PBXGroup; children = ( + C1B1CD3695D2E9AB7E0E6EE1, + 79A3983C899D364ADCAEAA80, + 28568BBF30F1DB6038A18401, ); name = "audio_cd"; sourceTree = ""; }; + 8D5B377541CA7EF473149176 = {isa = PBXGroup; children = ( 6B0C6075941C9912A095E582, 4F74069552CD0B8306159E3F, 6FDD6A7F82D671CAF2B1EEB8, @@ -998,22 +1250,13 @@ 19CC5553744E7E198B3043F4, 33E57CC37341A05F0115E359, C1D757F71096002EA476DBC0, ); name = "audio_io"; sourceTree = ""; }; - 521BD06F109EC360B7038DD4 = {isa = PBXGroup; children = ( + F8C013435E756C40EE057047 = {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 = ( + 03731DD887E39866E64BF538 = {isa = PBXGroup; children = ( C4F8FC1F6A6212470D6F4EEF, B99FD659AB1F5AE5733F0542, 50835B89AEF3E18AE107A63B, @@ -1033,31 +1276,169 @@ 8171E819672599C2594371EB, 63F06F3A718D0C1313A78321, 37E63175C424B7005BED7899, ); name = native; sourceTree = ""; }; + E1D78C26B3577E54D46AC672 = {isa = PBXGroup; children = ( + 7FA4E3D2ACE64C064B0BFC11, + A4AF80059F74FF502CAB1655, + 16B6619A5A552495ADC91C2E, + 3003B712285C45FB9A9C5824, ); name = sources; sourceTree = ""; }; DBC38E2F8B6D4D0E1E4084E2 = {isa = PBXGroup; children = ( - 412A148C8202E8685B4A960B, - 521BD06F109EC360B7038DD4, - AA87DB4A9A22F19BDAEFE5D8, - 0CB27604266434392528A0A9, - 413DAF5E4A5A55B72FE31041, - 1D7E9C764EAEF6B62DFC3FEA, + F5669118702A484FF328581D, + 8D5B377541CA7EF473149176, + F8C013435E756C40EE057047, + 03731DD887E39866E64BF538, + E1D78C26B3577E54D46AC672, + 97B0C158C22662A6485AB92E, + 2235F2008813426E4E917B2E, + AE002D113A5E494C827E27FE, 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 = ( + 7F98F07386FA04E9EABBD201 = {isa = PBXGroup; children = ( + EA4E8E6FDF3A151074F821EF, + 44018E506EF7E2C0207A702B, + 0A1FA7A9E900F0C0EC3F67EA, + AF927BF7EF859CC34914A140, + 06B47D41CCEBB771274906E6, + 42B188D9ADD18EFE841A39B5, + 3E6D80EFD90EE101F004F7E5, + 68B73B2EE6D3F6D4572F1154, + EBE0A72F14E52F8350607C3F, + 58745BA9C735F8B3FF36B803, + 684A7E3D77C8DCD33EAED6D9, + 98B46FE0B36371318C52CC9D, + 086E0B955456C24594EF93A4, + 1DF810B7EC4446F07E5FFB74, + A05E3F519D89E105A140B887, + E0223132DBB8B309FE9741F6, ); name = private; sourceTree = ""; }; + 9E15C3FFA41F42DA24439799 = {isa = PBXGroup; children = ( + 985FB364ADFE88CE70CEEC03, + 7354B92921727AF43F337ECE, + F678F9BDD7F431E29A8311B8, ); name = protected; sourceTree = ""; }; + 8001CB6038837DDF3CE18D2C = {isa = PBXGroup; children = ( + 7F98F07386FA04E9EABBD201, + 9E15C3FFA41F42DA24439799, ); name = include; sourceTree = ""; }; + 651424629394679DB71B9658 = {isa = PBXGroup; children = ( + 8001CB6038837DDF3CE18D2C, + 516BCBBD8BFBA135B158878A, + 5C3322F45E3EA0A3970D28B8, + 7C900D555CD1B42A547D1BD4, + ED8A98704A89823011F9A553, + 983479C38B5905B8D768E2A4, + 1ACD54BE2C5314368BDD4588, + 327A0154589CF5C0484C8CE3, + 93E93466DE653424060FA74D, + 0EB2F78781E1AEC04BE597F8, + 93721D5BA8AF835F5844A964, + 1423C51D948E59BF3C19E7A2, + CAEF745A27678DC0EE7CED96, + 37DB28AD3F6BBBA0F4752267, + 1A596DC759AF518739062328, + ABCB0BC9A0AD145B63B9696C, ); name = libFLAC; sourceTree = ""; }; + 158A7A304CCFFC3EA47FDEF2 = {isa = PBXGroup; children = ( + 651424629394679DB71B9658, + DBF39E057C900A4ADC624E8E, + 53B40722DD852BA459B78CC2, + 1166DAD1362734D3E021B1AD, + 9879346BD474B2BD8A7DECF3, + B7DD18E709A996132D076980, + AB4D6807CC0449C141F0EC59, + CCDCE23C4FF1B2F459F9B236, + 661CFEC9F5F4F201D824589D, + C109E10EA231CD8DE215D503, + 44D61A00C52DC3276CA8EB0B, + 058D684A7C941A5C0E2ECD30, + 712D44FE7BF1E1177E3463D9, + 8EC4AF1FE4A928F8558AE0B6, + 335345F690175AAB7FE2CC1C, ); name = flac; sourceTree = ""; }; + 2DC8C8BE46AF969173A64872 = {isa = PBXGroup; children = ( + D760C86183D59FED3E3008B9, + EE5A031094E8F8A10029BE3C, ); name = coupled; sourceTree = ""; }; + 5BEF36DD3D33EB33BAB4412B = {isa = PBXGroup; children = ( + 2B6339D0D6EF334503596EE6, ); name = floor; sourceTree = ""; }; + 833B521618A80AD047C392DF = {isa = PBXGroup; children = ( + 9231785E02CEE81C77D3823C, ); name = uncoupled; sourceTree = ""; }; + ECAA6DBE85FC5A46164B63D2 = {isa = PBXGroup; children = ( + 2DC8C8BE46AF969173A64872, + 5BEF36DD3D33EB33BAB4412B, + 833B521618A80AD047C392DF, ); name = books; sourceTree = ""; }; + 7B46796D386313F33819358C = {isa = PBXGroup; children = ( + 53F9D3A1AAC86BEBCAD01846, + 2BC146BB725B8310888AEAA6, + 1F5F5D121370C54F0F22854C, + 1E312B854D7C362FFCD91915, + CFABB78080B1681C4D3A0B3A, + 08DC8AF467C529B1A6EF80B3, + 74A0B47842AD1E5E22222684, + 9E9C69519E06E38297AC8941, + 95BB018A425B46D32636365E, + CCDD09FFBB50733778C0676E, + BAEEC5CA84014BCE08C8C763, + AA8D86BF6494317AA3CE6ADC, + 823030E8AD6BB20860C4DFDC, + 9895ADF08D17A8B52023BC2D, + 72AC4DE1FC5763C6D53DE732, + 33A739D1722B039FE1B42B0A, + 8B0437CE5406E1B1CC055115, + CD1164F82648D4B212C80CCA, + EF84F519DC440893E9DB84B9, ); name = modes; sourceTree = ""; }; + C1B2189EA9D80E30A32FD189 = {isa = PBXGroup; children = ( + ECAA6DBE85FC5A46164B63D2, + 7B46796D386313F33819358C, + 0485ED1CFB09B769271F0154, + 55F8A12088712E6202316984, + E69FA8BBB8E8B27BBB3040CA, + 1D89BB97732E4ECB9464FB63, + 31372D990ACF6E86F0ED05EA, + 441F709085CC742BE0012D05, + BDA6CFDA43E7640149744DC5, + 03E675456C09CFD5FD304E50, + 3F81B51FE35A11AB1EBDF817, + 8C53967F99EEE17A3D7A97F4, + 0406F350296518BD17A626DB, + DB3DE3CF9684BB1417DD5830, + B6846D75FD67174F997E789C, + EC84A3EAF7895B67B7E4ADD3, + FA94EFE33455ED6C0F053A51, + 85448A4F09EF1AA0DAB669F9, + 9B1490E075A8A23DC6BC69F4, + FFC399684DE4C55C2E6BB165, + F9EFA190684BC6814DAA501A, + D2EE26D7700F64BB05A90E4F, + 061D85895E2A962E6354EDD1, + B8FAC97360C8FB3952586D22, + 5D727E2EBD997D21205CC599, + 4FFC567D2E9E988FF7D6C9F4, + 8E6B3E9DA6571C37BE6760BA, + DA0F4194B89DD20C605803AA, + FFC264D818C5FB1E2F293C2E, + 24717937A7D1394C63569799, + 53EB6292B8BA902E9968EA10, + F1C13225A3A03957AAE8AFCE, + 3B345751D5AF28FF47DFB9FD, + 64747E380AC0DCA6F44157C9, + 5EF45C283B585BAA946D02C7, + 4EE8D2A556262F45A8E4C002, + 1C5DD1E22CBC5BE6569B5385, + F56AE2B43B65BAF000AEDC0A, + 4016FAF168BBD0818A7B6123, + 22C6A96F04E14B7FE314034D, + D2330AA1B6F9801FC5460CD6, + 3CC6203E67A850DF1B5A055F, + A0804FA567BA563088B8F1C5, ); name = lib; sourceTree = ""; }; + 2051ACD67A74BEC5635224ED = {isa = PBXGroup; children = ( + C1B2189EA9D80E30A32FD189, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + EA78D93ED701FCA65B0EF35B = {isa = PBXGroup; children = ( + 2051ACD67A74BEC5635224ED, + E893657FCC035823698946C4, + 39C057852A57EA6A3634C9F3, + 61CD22C78E377A2A4943684E, + 6B69CCE04A30589705E49503, + 4ACFE7A5BBED772B8AE4B0E0, + 35D7A7DA1AA781BF08302AF7, + FC0CA68D5FD4C9090262E029, + 6DC9506918DC2ECFDEB058DA, + 784F9167C9A0065235DD7AF2, ); name = oggvorbis; sourceTree = ""; }; + 163F68AE329A49AE8C4C6A87 = {isa = PBXGroup; children = ( + 158A7A304CCFFC3EA47FDEF2, + EA78D93ED701FCA65B0EF35B, 4BD929A35245C5C8E1128201, AF5ED93D7B6AC2DE6DCEAC23, 8E9358560B0ACE8A912B8AB3, @@ -1076,16 +1457,51 @@ 251A3E830E20378FE1E70462, 07F0E97918A02142DE52344D, 2F225714445457C8332BD3B1, ); name = codecs; sourceTree = ""; }; - 99F1BACC767800780A8D643F = {isa = PBXGroup; children = ( + 9D1D6738DA5D423E45151981 = {isa = PBXGroup; children = ( + 3682725F0866C54EA2F5B4E7, + E24CCE4B7AE25CA7990C9DCA, + 26021651C22BD6DE054AF1D6, + A38CB181B540BD7A6CA21362, + 34E6CD251FA09E2F5B0592DE, + 875A14BB773AFC27135869A1, + 54669FEC417AFCA5503F78DD, + CDF98CC2BD3A485541A79049, + 9987B55A7D7AE452D921F227, + EC79622BA496FF289861EAB9, + 8D6CCBB6ADF78D5139B35DE6, + F1D0D12D2F7CE8C88A28169B, + 73E24FDB3C3E517471A8FF3F, + B60DA66A1E0DBA5BB2549EA7, + 639BB1B8BEEED7BF60F2D891, ); name = format; sourceTree = ""; }; + C90FFCF97BF158D97B15B106 = {isa = PBXGroup; children = ( 833103DB8E0F65D0E7BEEF0C, 2D0F17B9AE9B8C3F2FF90387, ); name = sampler; sourceTree = ""; }; C8857FD6ADA102CCD5484C14 = {isa = PBXGroup; children = ( - 6EFA3AE1659E270768E508DE, - BF16121C5E169FE3A2CAD521, - 99F1BACC767800780A8D643F, - F60BFB92E0D488E003958E0F, + 163F68AE329A49AE8C4C6A87, + 9D1D6738DA5D423E45151981, + C90FFCF97BF158D97B15B106, + 6133EC3263B1AA6CB2CB6418, + D55687B02DF776608D011DE6, + CE3FB8659C598AA9C97F8387, D55687B02DF776608D011DE6, ); name = "juce_audio_formats"; sourceTree = ""; }; - 946A544FA785166188EB9942 = {isa = PBXGroup; children = ( + D8B84D217D23060C303AD58E = {isa = PBXGroup; children = ( + F016087BCC0EC5E166B45215, + AAB742E00619AE4A2CA4A222, + BAD4511258CEEAD73C748782, + AC10CC6D18D4F05E307BA85C, ); name = format; sourceTree = ""; }; + 2DE9597FD0BB24130ADDF87F = {isa = PBXGroup; children = ( + 612FC77FBD64CC1F6ABEC287, + D86E055DC747CF4917E4981C, + A0A17D0546958E5428D46022, + A6AC42E7E0856E8A9915675D, + 45586BE1687078BDB44C33F0, + 68CAC12255032C9598B836DF, + 004A7D1BC57F2136FF31D767, + 3AC1657491C449D35317D152, + 0C7A1C47389DD6A1DE34D831, + 8781C749016774125396B268, + B6F1399CBD41DC2FF546CA8C, ); name = "format_types"; sourceTree = ""; }; + 8F1397FC23B4E2D7EBE89C39 = {isa = PBXGroup; children = ( 4BDA1EF1F7CF9256A68D333B, 469C174FFE7BE215B1B7EA9E, 06156CF92A104236B6EDFD6E, @@ -1102,24 +1518,7 @@ 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 = ( + F44F0295F333972B21F8639F = {isa = PBXGroup; children = ( 5C3B25EFEDBDB3FF37FBD546, CF8FC5357F57FDEFB20BCFB4, 39BE9ECC4812170BF78D4AB6, @@ -1136,14 +1535,16 @@ 829E26BF13D9D5728057226C, C9441DECAB98635D65D32950, ); name = utilities; sourceTree = ""; }; 08208586E6517BD2DF67E1BB = {isa = PBXGroup; children = ( - 946A544FA785166188EB9942, - DE43B8949C3673683A4145E7, - 2D3B454266035989793B50E4, - 0A5D0B4D98C62D681284255B, + D8B84D217D23060C303AD58E, + 2DE9597FD0BB24130ADDF87F, + 8F1397FC23B4E2D7EBE89C39, + F44F0295F333972B21F8639F, FEA13DA86CBA0709150CFACA, - 21C2EA5071601B7046CE11FB, + 6D2622C22212A1A6064B6D59, + 53774BD198186D5292A6C79E, + 67B176E3836E1CDE0701D21F, 53774BD198186D5292A6C79E, ); name = "juce_audio_processors"; sourceTree = ""; }; - 0C7DADB3ED97AF53E7F9C877 = {isa = PBXGroup; children = ( + EF733A99D7C39C6D26EB5385 = {isa = PBXGroup; children = ( 49F24776F527FD9F6D11F8D8, 8509A57DB41C806BD6825C89, 5506A998697B82CE8E2FE283, @@ -1158,72 +1559,24 @@ C8416100B7FEBFFEA67C9AA4, C7F857ED7C6223F0B7BEBBD0, 0DF9423E2283E5E9A4D3AB36, ); name = gui; sourceTree = ""; }; - 52A685AD333945C4BA5AC3A0 = {isa = PBXGroup; children = ( - 10F8E2A5426A365F3193B251, - 70C902F9BB9ABFEE77FECEA1, ); name = players; sourceTree = ""; }; - D534C203A2F34567D0E49FFC = {isa = PBXGroup; children = ( + 0F3A3BAEA6D2D3FEFE21FC80 = {isa = PBXGroup; children = ( 414963BDCCA2040627721C78, 2158477C497C9435DC12DD65, 847E7E00243B8FC7BCCE69D7, BF1D2F31EFE400A6DCAB8596, 5001ED9DCB2695E7C7FB575D, ); name = native; sourceTree = ""; }; + 31391E217ED9A93DBE93059F = {isa = PBXGroup; children = ( + 10F8E2A5426A365F3193B251, + 70C902F9BB9ABFEE77FECEA1, ); name = players; sourceTree = ""; }; 481DB3EC1543DF78D91EEE0B = {isa = PBXGroup; children = ( - 0C7DADB3ED97AF53E7F9C877, - 52A685AD333945C4BA5AC3A0, - D534C203A2F34567D0E49FFC, - EBAB0ECCF22BDB741F384B1D, + EF733A99D7C39C6D26EB5385, + 0F3A3BAEA6D2D3FEFE21FC80, + 31391E217ED9A93DBE93059F, + 5C05025316455E4D0B941951, + 5FD667A17A029680D6D2F986, + 0D1C2E36AC03421206996124, 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, ); 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 = ( + CC54935AB6DA568939D2286D = {isa = PBXGroup; children = ( 1B711C8B57441E43AEC12D48, 96136E8FAEE6D138EABDC874, A4A123FEBDE48FDDBEB74AED, @@ -1245,37 +1598,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 = ( + 0F2E38A5D0DB7B6AE65D0772 = {isa = PBXGroup; children = ( 22D5D3A2B80C1A7DF3EC2D72, D166DF5A19C529101A29CA3D, 06ABA2CB47AC9A1C9C3DB734, @@ -1293,76 +1616,56 @@ 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 = ( + B1B80970EC67FDE79B33C826 = {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 = ( + 48F431C72D706D28A8C86AE0 = {isa = PBXGroup; children = ( + 9816D8CB9D6F77D837CE1581, + 1ABA7718EB30C6B8A4D60A0B, + BC189AD35765B04899A257C2, + 26F5080C5674741DEEB509A6, ); name = logging; sourceTree = ""; }; + 8E6A22A8067DECDB44E6DDB0 = {isa = PBXGroup; children = ( + 5EC7614B7F46EA2C43B14AD8, + 115AAB2BB6D1E55D688417EF, + 0093510DE4AC3C9CB46D6D05, + 5696C635F1687848F831176D, + 57290064E3CFF9DD86D814E1, + 196F23E5CD478EC63198A2D5, + DADF4E1FDD2FB8DE33E71E9B, + 589E9DB86BE9D5BCC3738166, + 4B0486F8ABCFE1914A1BE334, + BEE210C77DA7D3688A1742A4, ); name = maths; sourceTree = ""; }; + BA37AD6380E264EE591F8423 = {isa = PBXGroup; children = ( + B410222AAD7B88C20581B38A, + 6DB7CDAC2EAD21710557CC90, + F482E3FEBB9C48AD3D3B4D27, + CD75E6F688CDFDF12DDCDB78, + 5078B5E8B29C7812E2A61C87, + B3F9F7C9AA10351F04D5841E, + EC1DB896229AC7C81EF6230B, + FFA8D7FC84A4B69BC21A109B, + 440B83793DD44839DE3E4F6F, + 10E481B0FC72E71E14CF6F16, + 35A49DE14F79186394703465, + 65ABEFA3DB37D2D541830543, + 9E5488FCBB203D6BFCC9626C, + 53E7F696AD8FE29150F9FF87, ); name = memory; sourceTree = ""; }; + 3CD4BFE1E08DDB9648E8674E = {isa = PBXGroup; children = ( A1462538DDB60A384CA330C6, 33FC576912A6019A3F14604B, + 8EF7ED003297DFA5026CC445, + 87E96BA5A9FFCA433E0453C0, 94C3AA9784869B88B76D1F24, 79C23DAB6FB460C2A29A7815, B072058D4853C3D58657D667, ); name = misc; sourceTree = ""; }; - F83F9A68BD888CC09E3010F6 = {isa = PBXGroup; children = ( + 64CF3CC20E27BC40FFE9F7E9 = {isa = PBXGroup; children = ( 8461D846AE31A276B18B6362, DAC04A108BE4FB935F5A7D37, 0AFDB7BA03791E1D80ADD26A, A4BF427B5DC0D39311835749, + E8344472027EED5C371F79D9, 1A9227C1FF193983C98CB889, B77EFBE3AC6C32DBE89551B8, 522A524115FB924F7DE4A1CA, @@ -1387,68 +1690,183 @@ 49C27EB9F39A5C1BAB48A3CF, A49E4ACB0716C74EDC25DC50, 4B616298D27D8AFCAF94A62B, ); name = native; sourceTree = ""; }; - FEA1B0BA7F8F75F1333343F3 = {isa = PBXGroup; children = ( - 54857A0ED7C578048EA3BC8C, - 8F0440E037A0737A5B5A816F, - EF19B5815B61879A232AB5F8, - 0606A517BC59F09662D14021, - B52E49803AFAC22A5D3DFAF9, - E10B0598C5380293E7D3522A, - 52068909833FDC8D4678A63D, - D66C2FBDAA3856B79F27CB26, - ABB327C80FA60E4EE212DEDA, - F1ACCD6572C36B1C197F7389, - CA8C33C6E039B1D9AEED744B, - 8C94CC16F964A703D25D1D0C, - 11BCBBDF1B984D6B50FF1D65, - 868BF883D27E9D8B871E75EB, - 13FBA7C2E0827B356440A388, - E6989A7A06F752F666765CD3, - F83F9A68BD888CC09E3010F6, - 4A1D30BBAB2649F4C0970E87, - 59E9E1263FAA9E36D6D33C01, ); name = "juce_core"; sourceTree = ""; }; - E041BB0DC52093F623C413CE = {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 = ( + 19C3DD0AC38BC94CD90F9597 = {isa = PBXGroup; children = ( + 152BC2F3F6B0F518C984177E, + 9364B320302B675300E93B41, + 79F607C4907089E574F59974, + 7F7B055D0C2811CE7C4B4484, + 047E2858DF652C4EECE19350, + 8D1CE0B9ECDF4CF36B1CB4F4, + 43E964EF17328AB8C3F454D0, + 1A39051C4AF1619FA04E23C7, + 5E3E8D9EDD3396025DB49F40, + 12A03A62777C1C5E81950DBC, ); name = network; sourceTree = ""; }; + FBE8D70C83F3A9DDBB6FA0DF = {isa = PBXGroup; children = ( + EA7B437CA63EDE546A390088, + 9C00A3B72C9748ACFBF5C059, + A0A1B6344FD51FCDBB9C204E, + 9DA13E7352FB376508315D83, + A7C30AD9E7ACADB65E2E9FF2, + 6374A362F258DBD2F39C868C, + 0124FD2E09CC905B5F5E946D, + 33E1D4A2F37E15E02464FB04, + 1E91A2C8AF72DF59C199E818, + DEB45A52F4AAB4FF1DEFF917, + 8C907079F5A8EF3BD3DD35C1, + D234BD4D6AE149D63892A568, + 15C2EE8305EE8F0E0DA60E7E, + A5B4B4ACFAFFCA55AA7DF0EE, + DE604B27DA8E8141012B7C76, ); name = streams; sourceTree = ""; }; + D36CB3D0A33EE6AFBEE00515 = {isa = PBXGroup; children = ( + A55D76D2DD846DF369A1B062, + 7FF73F42C8BA1F00D7397605, + 5A5572F95434483C670D0763, + 25D6F3C83F487FC6A4E6E0A5, + 2B5AD253F09E8774138A92EC, + 78415F3E8CD250F76A2B4E5C, ); name = system; sourceTree = ""; }; + A31191890948D5A9B4894C1B = {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 = ""; }; + 0638F8CFE58EB9CAA8943AE7 = {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 = ""; }; + 97E63F66B3FC5E0320D87A81 = {isa = PBXGroup; children = ( + D1FD340C6786DED8A06EA0BE, + 47E867EB426ED9E824837D86, + 3F6066E4811F5614743ADF18, + 658BA13CE4A1B5BDAB21F453, + 5E1B48EC342F75E172492CC2, + 7618E389756278E8A8737270, ); name = time; sourceTree = ""; }; + EF444DB5221CF8DDDED3D9E9 = {isa = PBXGroup; children = ( + 031323316BE5A4736C9E93DC, + E4F40BEE2B9AD2278B514971, ); name = "unit_tests"; sourceTree = ""; }; + E41BA96A0806971BC32042DA = {isa = PBXGroup; children = ( + 459BA6D8DE834F3A84690357, + 7DE03DEF670FF7640DA6BF30, + F75051C40F6B34B13C483AB9, + 1F6F203486A696D5B35DC25F, ); name = xml; sourceTree = ""; }; + F37E5C8822820A85E1271F41 = {isa = PBXGroup; children = ( + 608B61C27475B67C7A7576F4, + 31DCAC1BC537254D6601BDAE, + 47079AC015AF94DFE476F7A3, + 29A06743CB2924078AD021BD, + 3749383A7AD3AF46F8EB3FCA, + 78994CB618DA8995BE591373, + 4C5027FD6B2075613AD35069, + B87566EBDD54CCFAC1678F4F, + 68F2AA7450B6A9D910015FD5, + EFBD19501E42FBABE5F5D855, + A7883ADAF9455FDDAAC25E99, + D30B210335C1D7126A1A78E5, + 230E77EB55F7780543BEACEC, + AA6192BF5FBEB29956F62BF0, + 7792D77B7A5FC2EF7EAEAC56, + 72C1D5EB464844A2A780D6DF, + E09D3480D6B6B3C01844FB10, + 7B8CD292A12AB02D2A591A67, + C01A55BA9329E4EF3C1EA9F7, + 6C2AAB3BA21F5B8D6F001330, + A9BE2C311F9645A85098DC0D, + E9DAAB482F67143FC870344F, ); name = zlib; sourceTree = ""; }; + 28DD9A7813CC5ED5F84547F4 = {isa = PBXGroup; children = ( + F37E5C8822820A85E1271F41, + CA6A35C980DA16823A27B7F6, + 8D317883E61856EE2491FC09, + 5AD10992C4A5CF4C11FB8A0D, + 9E2419E5C9BB345B5121A6D2, + 05248CC68AF398A13747B3AF, + B4AD729202F07B7BEE54E492, ); name = zip; sourceTree = ""; }; + FEA1B0BA7F8F75F1333343F3 = {isa = PBXGroup; children = ( + CC54935AB6DA568939D2286D, + 0F2E38A5D0DB7B6AE65D0772, + B1B80970EC67FDE79B33C826, + 48F431C72D706D28A8C86AE0, + 8E6A22A8067DECDB44E6DDB0, + BA37AD6380E264EE591F8423, + 3CD4BFE1E08DDB9648E8674E, + 64CF3CC20E27BC40FFE9F7E9, + 19C3DD0AC38BC94CD90F9597, + FBE8D70C83F3A9DDBB6FA0DF, + D36CB3D0A33EE6AFBEE00515, + A31191890948D5A9B4894C1B, + 0638F8CFE58EB9CAA8943AE7, + 97E63F66B3FC5E0320D87A81, + EF444DB5221CF8DDDED3D9E9, + E41BA96A0806971BC32042DA, + 28DD9A7813CC5ED5F84547F4, + 0AB6F9DACE815C5FFE332A40, + 59E9E1263FAA9E36D6D33C01, + 3BBF7A3FFBA017A997B1F06F, + 59E9E1263FAA9E36D6D33C01, ); name = "juce_core"; sourceTree = ""; }; + 1E1AC211840B2F5FFEF23EFE = {isa = PBXGroup; children = ( 35AE3C6D75DE08E9C41DFCEE, 406DF1B4D378562F659E8565, 2A25688682B14F59080B8856, 5029A627A11CDF63AF4F5B8F, ); name = "app_properties"; sourceTree = ""; }; + 6DFD41E68E408EA2E115E031 = {isa = PBXGroup; children = ( + DEED8BDABC10E6650C61915D, + A759DC9DA67FE7574884F88D, + 9CDD6AA35716672F050A28C4, ); name = undomanager; sourceTree = ""; }; + 5C31E6E4A45D350031E6AE90 = {isa = PBXGroup; children = ( + F8084F3F1B393E24B41A41FE, + 4502D948455152F0E748249F, + 94BF50B22594BFFBBF487F68, + C01C65AA178CAAD65CDF7273, + DD813DFB4467E734B53BD1F4, + DF329E2274A09998C98424BF, + C80C46AC11D0A36B43BF545C, + 19A0D8CE0DDC2B5A8215ED90, ); name = values; sourceTree = ""; }; 584A723B020C02FF0714AC51 = {isa = PBXGroup; children = ( - E041BB0DC52093F623C413CE, - 9D61E1F52239600FDC155F07, - 20FE35E9EAC903FACAD65400, - 4999D0E2E73B14F89B3852B2, + 1E1AC211840B2F5FFEF23EFE, + 6DFD41E68E408EA2E115E031, + 5C31E6E4A45D350031E6AE90, + 219D950D919D460E57F3C590, + D1B0DB676A6A968AA8539F91, + C0E9B3EDC77F5A822BE65F21, D1B0DB676A6A968AA8539F91, ); name = "juce_data_structures"; sourceTree = ""; }; - D0B6D317D5D309AA53817F7F = {isa = PBXGroup; children = ( - 977004696868887798BE902E, - DAB4E720D859B35A658F42A6, - 085EA881D89B7D96B4E1C4EF, - 869267FDBCC5DA2192C28D1F, - 420826E000BDB4599401C676, - 4DA35338F37F962A4FE2E519, - DEEBA624C3A1C4317AC9AE65, - 2A6A33F1E1EF96645DE3A7A9, - 5328DAC2EF0B411BDEE766C0, - 15A9B402DFA75E656A407EC6, - 132527D90182FABFAD6B679A, - 6B557AF16786514B9B509F6E, - 96C10BDED107AED6A992F38C, ); name = messages; sourceTree = ""; }; - 219CF44A11B0306C4C8E089A = {isa = PBXGroup; children = ( - 7CD1D9760A7F9124BC92868A, - 4EA1329ABB28BF7D1E2BCEE7, - 86ADBCA3CFDA607F9E22805E, - 2977F9A301367D33C8054620, ); name = timers; sourceTree = ""; }; - 867F5167D5B02633DE3C27FF = {isa = PBXGroup; children = ( + 6EE84109ECE595FD76A85FA9 = {isa = PBXGroup; children = ( 8A282A87C13A4CB559B544D5, DB9ADD80EF2DCECC21876922, B73F7F0669A6434AA911BB2A, @@ -1464,7 +1882,21 @@ 7EB411B3EEEF32A2457A28A3, 84EA235515C1B97954C1F97C, 53DB1E1F972D23211F994563, ); name = interprocess; sourceTree = ""; }; - E7EB8F13CC4D253F1FBED90C = {isa = PBXGroup; children = ( + 456E82EC4B7488C7113FFF91 = {isa = PBXGroup; children = ( + 977004696868887798BE902E, + DAB4E720D859B35A658F42A6, + 085EA881D89B7D96B4E1C4EF, + 869267FDBCC5DA2192C28D1F, + 420826E000BDB4599401C676, + 4DA35338F37F962A4FE2E519, + DEEBA624C3A1C4317AC9AE65, + 2A6A33F1E1EF96645DE3A7A9, + 5328DAC2EF0B411BDEE766C0, + 15A9B402DFA75E656A407EC6, + 132527D90182FABFAD6B679A, + 6B557AF16786514B9B509F6E, + 96C10BDED107AED6A992F38C, ); name = messages; sourceTree = ""; }; + 642F2A8B30F035B091985B8E = {isa = PBXGroup; children = ( 2D5463C56EB1D673D4C37A26, 2101C88856D6E4101D4B6EB9, F8A4925B3E23206A0754205E, @@ -1473,15 +1905,22 @@ 3A4ADB03B4FDD3E092A4EA1F, BA50382ECF67058553C0CF60, 0995D7B07504B098C495A289, ); name = native; sourceTree = ""; }; + 12B3DC1CF8A8A6CB300111C5 = {isa = PBXGroup; children = ( + 7CD1D9760A7F9124BC92868A, + 4EA1329ABB28BF7D1E2BCEE7, + 86ADBCA3CFDA607F9E22805E, + 2977F9A301367D33C8054620, ); name = timers; sourceTree = ""; }; 9999265D6565E84C519B6188 = {isa = PBXGroup; children = ( - D0B6D317D5D309AA53817F7F, - 219CF44A11B0306C4C8E089A, - 867F5167D5B02633DE3C27FF, + 6EE84109ECE595FD76A85FA9, CD5127A5D0157A6C8DAE649C, - E7EB8F13CC4D253F1FBED90C, - 62AD83AD4696E47FB45585CB, + 456E82EC4B7488C7113FFF91, + 642F2A8B30F035B091985B8E, + 12B3DC1CF8A8A6CB300111C5, + FE68DFA948F52146B97EBDBD, + 2EDAD84A240F6EA14E91F843, + 8BFDC490FA70E7A2BD762F2C, 2EDAD84A240F6EA14E91F843, ); name = "juce_events"; sourceTree = ""; }; - D96C00E687028523A6B95820 = {isa = PBXGroup; children = ( + 20D5F1A4A4A6324DB72D34ED = {isa = PBXGroup; children = ( 6687C444F957D7D097F6D457, C03441A2B101989DA24967D3, 68BA33E44F2F9898C251828C, @@ -1491,7 +1930,7 @@ A26FAD7AB054AE6BFC9F106E, A889A064074C2FE54A9A2E91, 51EB466DB1D789C87174F52F, ); name = colour; sourceTree = ""; }; - C20FDADCE5D132ADD0F0B674 = {isa = PBXGroup; children = ( + 35BD68948FDB615E799ABF20 = {isa = PBXGroup; children = ( 85CEAF5ACCB37816C3B4E164, 1AE18CBB8B00852B11A325EC, 0B50BAD552D9A6704C85AC0B, @@ -1499,20 +1938,26 @@ 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 = ""; }; - 760DBB50894CEE6E6A9683E9 = {isa = PBXGroup; children = ( + BB20D68446CC3AE85E491435 = {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 = ""; }; + 9791BA760DA5ABF6520860E6 = {isa = PBXGroup; children = ( 490C9E6C4CFC2DACA9D020F5, 183BE9E5FB25F41ACD9E9773, C4F2C0004FBF55A51C7E421C, @@ -1528,193 +1973,140 @@ 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 = ( - 77451A1E595A87FE92658636, - 26A66F26019CBD79F5A91C9A, - AE3B0657991C1CC3638745B5, - 5B95BEF548E33F1BAC9178CC, - A33F0C48ADF554C6A1DE55BC, - B61A39791A34A7D5F4F8597D, - 2A1478EC61BF65EED16EED32, - FBFD05F3DE4E85E8E67D6564, - 13F6C12E9BE307E735B22166, - 3F95D175870FC0A06EE75AB4, - A67FE9CFCAF3E3883D94C392, - F89103411772458E971E8C81, - BE488D6CD2C0140A9B6E934C, ); name = native; sourceTree = ""; }; - 6D0CD7DF808796C772B9CF79 = {isa = PBXGroup; children = ( - D96C00E687028523A6B95820, - C20FDADCE5D132ADD0F0B674, - 11E04A6A98874D8C749E8125, - 5B11A45CDA3691A7C35A7DE3, - 760DBB50894CEE6E6A9683E9, - 161618966E3DD04535D909F4, - 765E46E76E5F123A08D7DA64, - 9A92559D2C772DB8D1AC41BA, - 35BA4E7412123EA78166D65C, - 6AE0098B6A2E1EAAE4229AEC, - 346D8BC0FDE14C4BE4CAE645, ); name = "juce_graphics"; sourceTree = ""; }; - 83FB8583DA1B49CE63FD33E6 = {isa = PBXGroup; children = ( - 5F467F2059AE430E6BF3F4C0, - 70423D657809189527B69E00, - 82E3B133D0E15FC5A0467749, - 5A249D355806407F5243D9F1, - 25433D0B762FBBCD430C90CC, - 43C5781576750A1503A9B074, - 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 = ( - 01C131F232C1BBF49445C4C2, - 2E4666160268FAC7A532A06F, - 2F629B6A39DD38758FE73113, - E511CD3021BC7B1AD20343B2, - 9A1630514C56BFA5361E93D3, - C355CA77AF5BDB576E312776, - CCAF7D95EA8817DFE7FA09F4, - 926BB03B7062274CF6152259, - B6CF2D9D37A988C3CBFDC5A9, - ADD6CABAAE68447D5D444C11, - 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 = ( - C54484F67D536E24BF7FC8B1, - 6315EC0AA8AAC51EF78270C3, - C6A2E5AE96FB8DE7F76D10E8, - 523CE403DBECC90810849205, - 9DF2C70BF5E27C4618AC4751, - 6149D19062A6532AEB3E2605, - AA1D7CD80094C6DD30B82642, - 8A4BBECEECC80FDC7DEA48B8, - 1FF093572568370E2BB001C1, - 13DEF72933AAB505B1665123, - 0E98BF2DDB2F83B2BDC98BC2, - E37124530592B42579281C17, - B42A973FBBF33F9386B9BB24, - 73F2C869E920D4AA0AE4EAB0, - 073A9B62DEBF52C846CC0618, - D59C9E76EDB310F15653FDE8, - CBCFD12A72DAD166AA1BDD3E, - A2181237574C8E3CEC3D3C24, - 8EE2944D2A3080C7D83EB741, - B76ADA7D2C7B3618B97ADEAF, - 7902D056FCF6B15CC6CA6C09, - 34FA3FF9A5436F6DCB4623CC, - 9A458C31170E38D728FDC648, - C8F7392BF76D1294695C6E32, - 24BAFF6F1A0F4A27038172E8, - 563FD10D94131932F199152B, - EDB7989F66D08E051F092EBC, - 05DB708BD84063136277A680, - 358A88AD27C7B7E14018D6E7, - 8B336888A6EB8C1061C30F70, - A63E53BEDA50DA92880F4101, - BFC0BB07575856E51D86BCC1, - D05BACDC19A58337F4478966, - 92123D5456E4E881FDE03CF3, - 9C3D731E59E142B877B3B40A, - 9AE96EFA03DB4690EC7D7EF7, ); name = layout; sourceTree = ""; }; - 4BCDD6827692F581AFD87F9A = {isa = PBXGroup; children = ( + FF025529157C74807C786EEA = {isa = PBXGroup; children = ( + 6883669EA20B4E4C8F7332C8, + 6D86A8ABADCFF51C6E68FE7E, + C1719CE1BA73519723E11902, + 654B5629553CCD9680B96AD1, + C41F26EAAC65B2199BC88CBC, + 26B6D9E613F5FA232B614E78, + A830EF6D7ECB2EDD363F4531, + 1B0FAC6EE2C4ACE396F9194D, + 582592E737DD51E3BF21CA76, + C817AFA5C0CEE9C3E14B4739, + 2DD2F3322103D9A3C1BC01FE, + BCB98644D57E45411C361549, + E9E7ABF5077CCB102B921D24, + 6AB611520CD0FD289530661E, + DD7B1C3AD07C439C5D9EFA3A, + 633D5689A9FB2392B224C560, + 239DE76D40B598BD8C4EB061, + 727492E01275797EEFB1D203, + B98A2FC082987EFE64DD3CFB, + DE3B3F85A68198E7DDC6DB5E, + 66E3DCCFD72D120FC8740AFE, + BAFEDE9F1387F6B7C9B0932D, + C36E60DFD9D5F5A1F39E4FBE, + 284E61081459EB34B6743390, + 723642BF3C11A3A058CD58A5, + 2818403E44A47115DC30F2B6, + A4C1AC68972416D5A16E8FDD, + BE96DC202E9382F6CA3D1206, + D784894B4F162B3576815364, + 3180C44DD400DFD8661590AE, + C47A606294D5EBBE001FCAF7, + A3B1A1F80532CE804BA8EE9E, + E8FDCDB58398061F8423F7A1, + 9AC86B157B15368A9CADAB95, + F93A54A6A61E0D449BE3CB20, + 2D1E044B619492E7AE913DCA, + EB3D111F4DAFB2768889A744, + BF6EA9101F25F8058F083E53, + 7090BE7F80DF1DDDE7353895, + 5A13C14AEEA28347CA73181A, + 32D72BFD938BAA4EB61A9070, + 7C7F07452BCE46EA7762BC6B, + 6769D45BEDDB42E442FA1598, + 7F368257C9C1C4B3ADBC2ADD, + 4B11D897DA7A7E93D265EA99, + D8EB90535879E3AF3FE0A708, + 933B61E6F172617811313949, + 1F1082CC4D7FBF043D05526B, + 12050311A5472BAE1C67F79F, + 4377E744DC7B1CA18A6E47EC, + 2E700828CB0D1F08D224E8AE, + 7BAF731EADCE4ED666995FA6, + DE83DBD9ADCA8EC7348BB6DC, + 9EC5AE6597C1E855A915B783, + 5AB8014F5AC9B6FAE8AA3A3A, + 71C9EBA828B32AF1E06B0D29, + 0B904C527F6D69E56737038D, + CB2AF0A6BB332F80351AD147, + 33615429CC44DA129BC89CE1, + 3CB555A60209891A50F5B070, ); name = jpglib; sourceTree = ""; }; + CAD6ACA2F07B39EC41D34D40 = {isa = PBXGroup; children = ( + 6913E864125CD2963640666A, + 6EC028C46F11FB59C82A52C3, + BEE35352C0A49EEC349D91AE, + 2456143F4345A16D4BEC7269, + 00FAD2E802473059D1070740, + 6BF5CCF5772843264CE24EB3, + 243B3611F9EFF12E3F49B2D2, + 6707FE3BB2A820A6E63670E0, + 64CFBD667CE9EE412701CCA6, + F797B276E196426FCFEBC5AB, + 81FAF5A8B764D00191519633, + 3B9932C1C93372092E560D68, + 2F1FA1889BD62AA6AF38F2EF, + 60DB4385BFD57D6957043017, + 23D290D1C352B077F3D66124, + 7AC9ED089A8F88312F74A6E1, + 4618C199691241A73C70E796, + 95584D6C2E3B6A4FE5521C45, + E92312D03143678C3428955B, + ACAAF7839171100545E47164, + D9AFC0EC76490846F70F5EC5, ); name = pnglib; sourceTree = ""; }; + 77CF9718C3EFF9D8B7A9F410 = {isa = PBXGroup; children = ( + FF025529157C74807C786EEA, + CAD6ACA2F07B39EC41D34D40, + ADDD1F7465029C1760729DEC, + 626A01BA93A061B77DE39B01, + 3FD158E0EBB5A23F749067E3, ); name = "image_formats"; sourceTree = ""; }; + 234AEBCB54CA819AD9AB4338 = {isa = PBXGroup; children = ( + 64E9F1A471FB4139A86242AD, + 7983BE181790E622062ABDA7, + EF6DCFE1A8648BA97D9E027B, + B2B7AA7BD345763FD87C6F6C, + CCB0F34697E82EF0D5FF4B44, + 5B43C06682E6348DCD10BECA, + E13F0F8F7F6F633D94F8852E, + 10BE0702983DAC068A700C60, ); name = images; sourceTree = ""; }; + A1C75CA6330C60A64213FA09 = {isa = PBXGroup; children = ( + 77451A1E595A87FE92658636, + 26A66F26019CBD79F5A91C9A, + AE3B0657991C1CC3638745B5, + 5B95BEF548E33F1BAC9178CC, + A33F0C48ADF554C6A1DE55BC, + B61A39791A34A7D5F4F8597D, + 2A1478EC61BF65EED16EED32, + FBFD05F3DE4E85E8E67D6564, + 13F6C12E9BE307E735B22166, + 3F95D175870FC0A06EE75AB4, + A67FE9CFCAF3E3883D94C392, + F89103411772458E971E8C81, + BE488D6CD2C0140A9B6E934C, ); name = native; sourceTree = ""; }; + DD7567CAFCEFEFFB08B3B1F8 = {isa = PBXGroup; children = ( + CD90BB1F67F6D769D73D3A01, + 281A6D0D7525F65789FB49EF, + 9BC778712D665C9DF94C08A0, ); name = placement; sourceTree = ""; }; + 6D0CD7DF808796C772B9CF79 = {isa = PBXGroup; children = ( + 20D5F1A4A4A6324DB72D34ED, + 35BD68948FDB615E799ABF20, + BB20D68446CC3AE85E491435, + E9D66FAE21704D06A0B83946, + 9791BA760DA5ABF6520860E6, + 77CF9718C3EFF9D8B7A9F410, + 234AEBCB54CA819AD9AB4338, + A1C75CA6330C60A64213FA09, + DD7567CAFCEFEFFB08B3B1F8, + 56E98D738628077B6EB347BD, + 346D8BC0FDE14C4BE4CAE645, + 21A1CB994664ABEFC0765425, + 346D8BC0FDE14C4BE4CAE645, ); name = "juce_graphics"; sourceTree = ""; }; + E179AA8363D407407D7C51D0 = {isa = PBXGroup; children = ( + F193B593463CBEA3B4F399C1, + EE10729725D82DBAF10420A9, ); name = application; sourceTree = ""; }; + 3AD2E7F13DCF32599BEF8846 = {isa = PBXGroup; children = ( C2CED429B672EB6A5D299F68, 640409A66565092660767890, D33A70241E8C2D22B6409385, @@ -1733,22 +2125,27 @@ 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 = ( + F4ADD1483725D2BEDB6A4B3C = {isa = PBXGroup; children = ( + 17A622FB24C67AF413278C9D, + EF26FBEF648444F597EED4D9, + 4166F8C587E680C19CDB28D2, + 292937C4EBBA8D66231DEF1E, + 858D95EA823FCD1DBFBC4E96, + DE62CAD14A6EA0B6F66E2B9A, + 0A4BDBC90AD26454FF1F992A, + 54D12DFAAC0B8DA6E394204C, + 7219E995BF8937AA13EF0937, ); name = commands; sourceTree = ""; }; + 58AB2262FDB137159188874A = {isa = PBXGroup; children = ( + 5F467F2059AE430E6BF3F4C0, + 70423D657809189527B69E00, + 82E3B133D0E15FC5A0467749, + 5A249D355806407F5243D9F1, + 25433D0B762FBBCD430C90CC, + 43C5781576750A1503A9B074, + 1AE59A7E8079843A9523C1C3, + 0172D6B3308953A0A0484272, + D00B28DABFC2293AD6A9D856, ); name = components; sourceTree = ""; }; + 2AB23CFDD3120198A822CE4C = {isa = PBXGroup; children = ( 48914D8EF53DF4F467B5C38E, 19CF04AE6B9BA0BF4B673644, 3A0905D5A44682BA32E890B5, @@ -1764,30 +2161,6 @@ 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 = ( - FB80193BD95C440867B71614, - 58DBF3229DF035E3FDE0DD96, - 5BB8C184757E8472A0DBC655, - A9C00D8F92DFA295261DB56B, - 2E9A0954247D4272C01A7EF1, - 3F97F503656083301FF92E9A, - 31706C2C6BC3F1FE61C6F336, - 81A990BB88C606DFA9303366, ); name = lookandfeel; sourceTree = ""; }; 6D3969CCF4EF5BD6940299E6 = {isa = PBXGroup; children = ( 85929AE1240EF7396488E6EF, 1E02F37ED1CED5CE1DDE07A0, @@ -1811,25 +2184,100 @@ 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 = ( + 43076345FD6E07F00D2C0CE3 = {isa = PBXGroup; children = ( + 01C131F232C1BBF49445C4C2, + 2E4666160268FAC7A532A06F, + 2F629B6A39DD38758FE73113, + E511CD3021BC7B1AD20343B2, + 9A1630514C56BFA5361E93D3, + C355CA77AF5BDB576E312776, + CCAF7D95EA8817DFE7FA09F4, + 926BB03B7062274CF6152259, + B6CF2D9D37A988C3CBFDC5A9, + ADD6CABAAE68447D5D444C11, + 1113FC41E8F9E67116F34119, + 4C1C0EABAF9943E25BB843E2, + C8ED6F312DBD9DE5E9A1B568, ); name = keyboard; sourceTree = ""; }; + BFE8A52D7A814C02962CB9DA = {isa = PBXGroup; children = ( + C54484F67D536E24BF7FC8B1, + 6315EC0AA8AAC51EF78270C3, + C6A2E5AE96FB8DE7F76D10E8, + 523CE403DBECC90810849205, + 9DF2C70BF5E27C4618AC4751, + 6149D19062A6532AEB3E2605, + AA1D7CD80094C6DD30B82642, + 8A4BBECEECC80FDC7DEA48B8, + 1FF093572568370E2BB001C1, + 13DEF72933AAB505B1665123, + 0E98BF2DDB2F83B2BDC98BC2, + E37124530592B42579281C17, + B42A973FBBF33F9386B9BB24, + 73F2C869E920D4AA0AE4EAB0, + 073A9B62DEBF52C846CC0618, + D59C9E76EDB310F15653FDE8, + CBCFD12A72DAD166AA1BDD3E, + A2181237574C8E3CEC3D3C24, + 8EE2944D2A3080C7D83EB741, + B76ADA7D2C7B3618B97ADEAF, + 7902D056FCF6B15CC6CA6C09, + 34FA3FF9A5436F6DCB4623CC, + 9A458C31170E38D728FDC648, + C8F7392BF76D1294695C6E32, + 24BAFF6F1A0F4A27038172E8, + 563FD10D94131932F199152B, + EDB7989F66D08E051F092EBC, + 05DB708BD84063136277A680, + 358A88AD27C7B7E14018D6E7, + 8B336888A6EB8C1061C30F70, + A63E53BEDA50DA92880F4101, + BFC0BB07575856E51D86BCC1, + D05BACDC19A58337F4478966, + 92123D5456E4E881FDE03CF3, + 9C3D731E59E142B877B3B40A, + 9AE96EFA03DB4690EC7D7EF7, ); name = layout; sourceTree = ""; }; + 5779B48522A9ABEADF0DD0ED = {isa = PBXGroup; children = ( + FB80193BD95C440867B71614, + 58DBF3229DF035E3FDE0DD96, + 5BB8C184757E8472A0DBC655, + A9C00D8F92DFA295261DB56B, + 2E9A0954247D4272C01A7EF1, + 3F97F503656083301FF92E9A, + 31706C2C6BC3F1FE61C6F336, + 81A990BB88C606DFA9303366, ); name = lookandfeel; sourceTree = ""; }; + 0808A0FD69527B974BBF7E65 = {isa = PBXGroup; children = ( + DFB53C51F58D5F2CC3B488C9, + 3947CE32DD0E2EF74A9A5685, + D5B2347B8869A49762221315, + 5786743BB354833AD3E7C941, + E8591ABA5B7B62C30D83359C, + 452DA077C32F269A990CAF7F, ); name = menus; sourceTree = ""; }; + C4ABED88FCDCEBF8C7B9C8C8 = {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 = ""; }; + 51558FA36D3D9B000C0C624E = {isa = PBXGroup; children = ( 3CD7992BECDBC3ABC6BF20EC, CF7E9C84229F57D36F3F121D, AE7A50472A120B0FCD6941E3, @@ -1846,27 +2294,107 @@ 29270807EE1FFA28E8B97173, 6BCF17B2983BB7D7DF91CA8F, F399C5718D31B61C2204231D, ); name = native; sourceTree = ""; }; + EB353B29B0BBE52D18DBA9F2 = {isa = PBXGroup; children = ( + 45AEBBCAC5AEBF62F00C26B2, + 115DD24D8087A0F9DEDFE56A, + 8A9C5EBA0F19F7979A38DDF0, + C12A4B017FACBA4EC31EA7CF, + D8CB941CF4128105B5FA76FD, + 63217D136190E7F6D1D7D4B5, + 298F762E40199B266A9E2BFC, + BFF3AE3A9F6BB64BE5616A50, + 26FB1EB0E5333AFEB5A9C673, + E7AC5DB63FE9C67DA227E2D9, + B2324576FF886CB84C45CC49, + 2DCE43708C0681747EDD7D71, + 5A8B09391BEE95EFE335F7EE, + 02F93E26C18DF960E7F84C58, ); name = positioning; sourceTree = ""; }; + 685CF710775AF04898B38D12 = {isa = PBXGroup; children = ( + 2D5C31D2E08FE74B61101250, + 13BE2012758BD5A811FB1619, + 2C16FFCFBF61CF478520019E, + AC61D2A968CDA510B480DC8D, + 846D8BE3FE17967539E883C3, + 2E22793041EE56845DCD02A9, + B9686DBC8D800831E3CEC46C, + E87F503108182FD43982C45D, + DF78C17F0D24AB45003D96BC, + 18C27047735CAAD217F9C7CF, + 6187479B8B75C129BEFF9CF3, + 44A7BA2DD53EE355E052627B, + 550ACC8080B604CACF4A1327, + 6CEDDB70061CF81C7ADCA315, ); name = properties; sourceTree = ""; }; + 42E46EAD5F4D7E28FD16C744 = {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 = ""; }; + D7AC1DC83785EF5B008A645D = {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, + E179AA8363D407407D7C51D0, + 3AD2E7F13DCF32599BEF8846, + F4ADD1483725D2BEDB6A4B3C, + 58AB2262FDB137159188874A, + 2AB23CFDD3120198A822CE4C, 6D3969CCF4EF5BD6940299E6, - 82441657EFB9BB5DEBE86CCF, - E268D6E2AAB12B20D826CC5C, - D951574DD75B51FCEC27319C, - 3EBD4832DE0F6F063F1044BA, - 5132A84A1CFE138A30001C77, + 43076345FD6E07F00D2C0CE3, + BFE8A52D7A814C02962CB9DA, + 5779B48522A9ABEADF0DD0ED, + 0808A0FD69527B974BBF7E65, + C4ABED88FCDCEBF8C7B9C8C8, + 07D1770E88FE8886FF649937, + 51558FA36D3D9B000C0C624E, + EB353B29B0BBE52D18DBA9F2, + 685CF710775AF04898B38D12, + 42E46EAD5F4D7E28FD16C744, + D7AC1DC83785EF5B008A645D, + 1E50F86548FFE659430A5F81, + 8FF8814C6B322D670346712C, + 214E214858B30900A6574117, 8FF8814C6B322D670346712C, ); name = "juce_gui_basics"; sourceTree = ""; }; - DE034CD3F8B6EEDDB5F6F31F = {isa = PBXGroup; children = ( + AFB7BBD531E583B985034DE6 = {isa = PBXGroup; children = ( 5B5CB42B086D6C224DAE0E6D, 422C87B3D3D2872C96A14CC6, 50CC32A6DB1FAB3BE0A4FC43, @@ -1879,14 +2407,14 @@ 0A0A30A2CAA17BE4553F9465, C3394561ABDB194AEB884302, 6B59BEC92B516D43CA1CCD9C, ); name = "code_editor"; sourceTree = ""; }; - B65C5DC5F573D67F1E92B850 = {isa = PBXGroup; children = ( + ED7AE94D0FBB3FBD5C270461 = {isa = PBXGroup; children = ( 0C4B79BB601F5DF62EEEC1C5, 3FCF0D0C9F880010271C14B3, ); name = documents; sourceTree = ""; }; - 53E1F867C97D508EA6B48200 = {isa = PBXGroup; children = ( + BD6EE3D913CCD4CD7CB13747 = {isa = PBXGroup; children = ( 6EDA91C4144284C146EE3DA2, 0AAE51BE8E94296CA6BB89CA, 0671CDC6377ED9857C888231, ); name = embedding; sourceTree = ""; }; - 9CA7E3B97E045033F8697E73 = {isa = PBXGroup; children = ( + 20FD96A2C15F43AA1CD10CB8 = {isa = PBXGroup; children = ( F0E612E65C1E568B58E7D805, A382A4098E0ED5A32CE5D0A9, 1FB94F455691A12EC9FBFBDA, @@ -1907,7 +2435,7 @@ B67BFA128C643401AF15A6B2, DD80465B0BAAD50257737B48, 3C9794FEFFD6B2B3CB8F2B65, ); name = misc; sourceTree = ""; }; - D1A4618B6E803098E88C4BDB = {isa = PBXGroup; children = ( + 9ADAAA64CED38A3B03E58D5D = {isa = PBXGroup; children = ( 9FB590DB65B12105CB3331E0, 6DECD794AF3A19681E99CBAD, 71B627770E6643672558C9ED, @@ -1921,12 +2449,14 @@ DC60770546B09AC16CFE70FA, E65776E6602743E468EE79F7, ); name = native; sourceTree = ""; }; 68648549A04799D8AEE2B77B = {isa = PBXGroup; children = ( - DE034CD3F8B6EEDDB5F6F31F, - B65C5DC5F573D67F1E92B850, - 53E1F867C97D508EA6B48200, - 9CA7E3B97E045033F8697E73, - D1A4618B6E803098E88C4BDB, - 0E18901E9C32415284BA768A, + AFB7BBD531E583B985034DE6, + ED7AE94D0FBB3FBD5C270461, + BD6EE3D913CCD4CD7CB13747, + 20FD96A2C15F43AA1CD10CB8, + 9ADAAA64CED38A3B03E58D5D, + EF4F18F9213D3238A4002F8D, + 3ACCA940E7DAAF1360518308, + A21D4A32B970D081ECF552F4, 3ACCA940E7DAAF1360518308, ); name = "juce_gui_extra"; sourceTree = ""; }; DA8FE3C7F864386E24D8CC2A = {isa = PBXGroup; children = ( 0690EECB6F2AB185DA0731CB, @@ -1942,20 +2472,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, @@ -1969,7 +2499,7 @@ 566D5E15DB1A5D46DDC9B861, A70C237020E785056E276FD9, ); name = Frameworks; sourceTree = ""; }; 396BE724B1AC489682B74278 = {isa = PBXGroup; children = ( - 13966A9213FDBB55FF26B12F, ); name = Products; sourceTree = ""; }; + AB7855931CA983F4EE039617, ); name = Products; sourceTree = ""; }; 937739BC97C6E6294CDCF171 = {isa = PBXGroup; children = ( AEB39FD252263E85F2FFE6BC, DA8FE3C7F864386E24D8CC2A, @@ -1977,7 +2507,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; @@ -1993,13 +2523,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; @@ -2016,15 +2547,17 @@ 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; OTHER_CPLUSPLUSFLAGS = "-std=c++14 -Wreorder -Wconstant-conversion -Wint-conversion -Woverloaded-virtual -Wuninitialized -Wunused-parameter -Wshorten-64-to-32 -Wstrict-aliasing -Wshadow -Wconversion -Wsign-compare -Wsign-conversion"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.MidiTest; SDKROOT_ppc = macosx10.5; }; name = Release; }; E12A8778C1F50489C01F266F = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2053,29 +2586,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, @@ -2086,11 +2620,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; 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 a26d450c..00000000 --- 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 9429c7b4..00000000 --- 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 9bd4951e..00000000 --- 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 9250ad57..00000000 --- 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 766a49ed..3038c547 100644 --- a/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj +++ b/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj @@ -137,6 +137,9 @@ true + + true + true @@ -215,6 +218,12 @@ true + + true + + + true + true @@ -230,15 +239,6 @@ true - - true - - - true - - - true - true @@ -287,289 +287,307 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -578,21 +596,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -605,6 +632,9 @@ true + + true + true @@ -647,589 +677,934 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1238,23 +1613,27 @@ true - - - - - - - - - - - + + true + + + + + + + + + + + + + @@ -1287,6 +1666,9 @@ + + + @@ -1294,20 +1676,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1317,8 +1770,26 @@ + + + + + + + + + + + + + + + + + + @@ -1329,15 +1800,6 @@ - - - - - - - - - @@ -1348,6 +1810,7 @@ + @@ -1358,40 +1821,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1408,25 +1838,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1436,6 +1847,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1449,39 +1894,82 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - - - - - - - - - + + + + + + - - - - + + + + + + + + + @@ -1491,19 +1979,12 @@ - - - - - - - - - - + + + @@ -1514,10 +1995,15 @@ - - - - + + + + + + + + + @@ -1528,39 +2014,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1569,33 +2090,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1615,15 +2109,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1631,13 +2139,6 @@ - - - - - - - @@ -1645,31 +2146,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1695,21 +2196,15 @@ + - - - - - - - - - - - + + + + diff --git a/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj.filters b/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj.filters index d308b218..f38decd9 100644 --- a/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj.filters +++ b/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj.filters @@ -35,45 +35,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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 +125,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 +152,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,60 +164,60 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {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,80 +227,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -295,6 +343,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -373,6 +424,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -388,15 +448,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,74 +502,191 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\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_formats Juce Modules\juce_audio_processors\format @@ -538,6 +706,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 @@ -553,6 +739,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -571,9 +763,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -589,44 +778,14 @@ 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_audio_utils\players - - Juce Modules\juce_core\maths + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils Juce Modules\juce_core\containers @@ -643,33 +802,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 +826,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -736,36 +838,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -778,6 +868,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -835,17 +928,155 @@ Juce Modules\juce_core\native - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\undomanager + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core Juce Modules\juce_data_structures\app_properties @@ -853,23 +1084,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -889,6 +1123,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 @@ -904,6 +1150,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -925,26 +1183,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -961,32 +1222,209 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -1018,128 +1456,137 @@ Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -1192,32 +1639,98 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\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 @@ -1240,30 +1753,6 @@ 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 @@ -1285,113 +1774,77 @@ 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\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_extra\code_editor @@ -1471,37 +1924,43 @@ Juce Modules\juce_gui_extra\native - + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + + 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 @@ -1518,6 +1977,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1614,6 +2076,15 @@ Juce Modules\juce_audio_basics + + 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 @@ -1635,24 +2106,288 @@ 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_devices + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format @@ -1677,38 +2412,41 @@ Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format_types Juce Modules\juce_audio_processors\processors @@ -1740,33 +2478,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 @@ -1797,6 +2508,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -1827,50 +2541,95 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + 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\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 @@ -1890,6 +2649,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1929,53 +2691,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\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\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\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\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2034,104 +2877,47 @@ 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\unit_tests - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\xml - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\xml - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib Juce Modules\juce_core\zip @@ -2142,38 +2928,26 @@ 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 - - Juce Modules\juce_core\native + + Juce Modules\juce_core - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_core + + Juce Modules\juce_data_structures\values Juce Modules\juce_data_structures\values @@ -2184,20 +2958,35 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures + + 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 @@ -2226,44 +3015,23 @@ 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\native + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events Juce Modules\juce_events @@ -2295,17 +3063,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 @@ -2337,38 +3120,71 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -2379,167 +3195,158 @@ 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_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -2598,32 +3405,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native Juce Modules\juce_gui_basics\positioning @@ -2646,27 +3495,6 @@ 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 @@ -2688,80 +3516,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2838,6 +3666,9 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_gui_extra + Juce Library Code @@ -2846,38 +3677,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_graphics + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_gui_basics + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_extra + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/MidiTest/Builds/iOS/Info-App.plist b/examples/MidiTest/Builds/iOS/Info-App.plist new file mode 100644 index 00000000..10d15714 --- /dev/null +++ b/examples/MidiTest/Builds/iOS/Info-App.plist @@ -0,0 +1,43 @@ + + + + + + LSRequiresIPhoneOS + + UIViewControllerBasedStatusBarAppearance + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + MidiTest + CFBundleDisplayName + MidiTest + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + UIRequiresFullScreen + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIBackgroundModes + + + diff --git a/examples/MidiTest/Builds/iOS/Info.plist b/examples/MidiTest/Builds/iOS/Info.plist deleted file mode 100644 index a39fd571..00000000 --- a/examples/MidiTest/Builds/iOS/Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - LSRequiresIPhoneOS - - UIViewControllerBasedStatusBarAppearance - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.MidiTest - CFBundleName - MidiTest - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - UIRequiresFullScreen - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj b/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj index 18741aa4..60017ab5 100644 --- a/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj +++ b/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj @@ -6,8 +6,11 @@ objectVersion = 46; objects = { + 9A51751AC71BE2115F097C25 = {isa = PBXBuildFile; fileRef = AB7855931CA983F4EE039617; }; 766D6C7C22B520C9B4FE4BFF = {isa = PBXBuildFile; fileRef = 7926FFCD77E9709AED437153; }; 6635F9B102B7D8BC31732833 = {isa = PBXBuildFile; fileRef = 26BDDBFEF106516A3BD127A5; }; + 61FB52938D612F9865CBF79F = {isa = PBXBuildFile; fileRef = AFDE2BF9DBF2382C4106B4C7; }; + 020EF5B77BB12676D5084F84 = {isa = PBXBuildFile; fileRef = 289C8993673B68777CF3A968; }; 99268544C0ECDC5566CB6B2D = {isa = PBXBuildFile; fileRef = 5DB9EA613B6C375A620567D4; }; 4102C958B0DBAC6BE9614E71 = {isa = PBXBuildFile; fileRef = E9DA836CFC56933A44FCB8DE; }; B5839C1ADE6343A97E377F9E = {isa = PBXBuildFile; fileRef = 61275921D3E9ECE1690FD578; }; @@ -18,24 +21,24 @@ 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"; }; 00F105203610541906FA031C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + 00FAD2E802473059D1070740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; 0124FD2E09CC905B5F5E946D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; 0172D6B3308953A0A0484272 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 01C131F232C1BBF49445C4C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -45,26 +48,35 @@ 031323316BE5A4736C9E93DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; 031D5EF47AD1A899C5FEB1C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 03E54A92189CF80DEA5543C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + 03E675456C09CFD5FD304E50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; + 0406F350296518BD17A626DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; 047E2858DF652C4EECE19350 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0485ED1CFB09B769271F0154 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; 04B4A1C5B28404D1B692DA5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; 05248CC68AF398A13747B3AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 058D684A7C941A5C0E2ECD30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; 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"; }; + 061D85895E2A962E6354EDD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.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"; }; 06ABA2CB47AC9A1C9C3DB734 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 06B47D41CCEBB771274906E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; 06C21F092C81592212DB3EB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 073A9B62DEBF52C846CC0618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 07AB7FDD7580231858DA3BD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 07F0E97918A02142DE52344D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 085EA881D89B7D96B4E1C4EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 086E0B955456C24594EF93A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 086F5B5A6E7F42EF3EE83CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; 089508E84B944E7B14A884F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + 08DC8AF467C529B1A6EF80B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; 09437961E4C3262AF3ADED8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; 0995D7B07504B098C495A289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 0A0A30A2CAA17BE4553F9465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 0A1FA7A9E900F0C0EC3F67EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; 0A4BDBC90AD26454FF1F992A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 0A5B25A301828B0F4A45E68B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 0A729F7AA618D218C9BCF153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -72,31 +84,36 @@ 0A90E41172B7B2ECFA5B6A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 0AAE51BE8E94296CA6BB89CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0AAFF309A3F53A79BD65A222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0AB6F9DACE815C5FFE332A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; 0AD47AB335E576ACA9979911 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; 0AFDB7BA03791E1D80ADD26A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B3E8AF5DD78B8C46461633D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; 0B50BAD552D9A6704C85AC0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 0B904C527F6D69E56737038D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 0EB2F78781E1AEC04BE597F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; 10BE0702983DAC068A700C60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; 10E481B0FC72E71E14CF6F16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; 10F8E2A5426A365F3193B251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; 1113FC41E8F9E67116F34119 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; 115AAB2BB6D1E55D688417EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; 115DD24D8087A0F9DEDFE56A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + 1166DAD1362734D3E021B1AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; 118AB89226006048BDC3806F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + 12050311A5472BAE1C67F79F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; 12A03A62777C1C5E81950DBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; 132527D90182FABFAD6B679A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; 13BE2012758BD5A811FB1619 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 13DEF72933AAB505B1665123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; 13F6C12E9BE307E735B22166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 1423C51D948E59BF3C19E7A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; 152BC2F3F6B0F518C984177E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 154C899287F20AFF9A47016E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 15A9B402DFA75E656A407EC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -117,23 +134,32 @@ 19CF04AE6B9BA0BF4B673644 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 19F68BBBA66B69333C36735A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 1A39051C4AF1619FA04E23C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 1A596DC759AF518739062328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; 1A9227C1FF193983C98CB889 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 1ABA7718EB30C6B8A4D60A0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + 1ACD54BE2C5314368BDD4588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; 1ADF350761EB5629DF148F35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; 1AE18CBB8B00852B11A325EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 1AE59A7E8079843A9523C1C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + 1B0FAC6EE2C4ACE396F9194D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; 1B5C5E960E7409E889F78A02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; 1B711C8B57441E43AEC12D48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 1C5DD1E22CBC5BE6569B5385 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; 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"; }; + 1D89BB97732E4ECB9464FB63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; 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"; }; + 1DF810B7EC4446F07E5FFB74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; 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"; }; + 1E312B854D7C362FFCD91915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; + 1E50F86548FFE659430A5F81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E91A2C8AF72DF59C199E818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 1F1082CC4D7FBF043D05526B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 1F2A389827FE6CCFB52299B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F2B9396D1F9383A2BE87F61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1F5F5D121370C54F0F22854C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; 1F6F203486A696D5B35DC25F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; 1FB94F455691A12EC9FBFBDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; 1FE48E2A7E4965A31A55888F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -144,13 +170,20 @@ 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"; }; + 219D950D919D460E57F3C590 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.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"; }; + 22C6A96F04E14B7FE314034D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; 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"; }; + 230E77EB55F7780543BEACEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + 239DE76D40B598BD8C4EB061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; 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"; }; + 23D290D1C352B077F3D66124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; 23E90E63438C459571F0E5C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 243B3611F9EFF12E3F49B2D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; + 2456143F4345A16D4BEC7269 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; + 24717937A7D1394C63569799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; }; 24BAFF6F1A0F4A27038172E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 251A3E830E20378FE1E70462 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 251ADDBD1E462E10683F7034 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -161,25 +194,33 @@ 26021651C22BD6DE054AF1D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 261E752EDF94C097EAEF814B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; 26A66F26019CBD79F5A91C9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26B6D9E613F5FA232B614E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; 26BDDBFEF106516A3BD127A5 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 26F5080C5674741DEEB509A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 26FB1EB0E5333AFEB5A9C673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 273F8B5CC164C605070744D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 27584E89B3BADB1CF4B1FDE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + 2818403E44A47115DC30F2B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; 281A6D0D7525F65789FB49EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 284E61081459EB34B6743390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 28568BBF30F1DB6038A18401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; + 289C8993673B68777CF3A968 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 290313E8DFE0C4FC406C2360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; 2924636B45EA9F587AC1A567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 29270807EE1FFA28E8B97173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; 292937C4EBBA8D66231DEF1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 2977F9A301367D33C8054620 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 298F762E40199B266A9E2BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + 29A06743CB2924078AD021BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 2A1478EC61BF65EED16EED32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 2A25688682B14F59080B8856 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2B6339D0D6EF334503596EE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; + 2BC146BB725B8310888AEAA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.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"; }; 2C16FFCFBF61CF478520019E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -187,27 +228,39 @@ 2C20B1F38E98F0A21BA9CE12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; 2CBA0310B5169537DCF260D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; 2D0F17B9AE9B8C3F2FF90387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; + 2D1E044B619492E7AE913DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; 2D5463C56EB1D673D4C37A26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 2D5C31D2E08FE74B61101250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2D782AE6EDF69CC4D35C46F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 2DCE43708C0681747EDD7D71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 2DD2F3322103D9A3C1BC01FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; 2E22793041EE56845DCD02A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2E4666160268FAC7A532A06F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2E6FB13B1B9B7454D52D9B65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E700828CB0D1F08D224E8AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; 2E9A0954247D4272C01A7EF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; 2EDAD84A240F6EA14E91F843 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + 2F1FA1889BD62AA6AF38F2EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; 2F225714445457C8332BD3B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 2F629B6A39DD38758FE73113 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; 2FA12C63BC0BD2C8DF3B03CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2FBA7B33A6753CD6EDA3C44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 3003B712285C45FB9A9C5824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; 305C4EC192FB709CAA24530E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 31372D990ACF6E86F0ED05EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; 31706C2C6BC3F1FE61C6F336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3180C44DD400DFD8661590AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; 31C3193E5A88EE8E9D9D2367 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; 31D204BED98EDB3563887B2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; + 31DCAC1BC537254D6601BDAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 3221CB50717F0D27C4C6237C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; 32600FBC59D4D1081295E262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 327A0154589CF5C0484C8CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; + 32D72BFD938BAA4EB61A9070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; 32F4F8A3445B9914A5540BBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 335345F690175AAB7FE2CC1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + 33615429CC44DA129BC89CE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; + 33A739D1722B039FE1B42B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; 33E1D32DC439E2D5135B5180 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; 33E1D4A2F37E15E02464FB04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 33E57CC37341A05F0115E359 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; @@ -223,16 +276,20 @@ 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"; }; + 35D7A7DA1AA781BF08302AF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; 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"; }; + 3749383A7AD3AF46F8EB3FCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + 37DB28AD3F6BBBA0F4752267 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; 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"; }; 3947CE32DD0E2EF74A9A5685 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; 39BE9ECC4812170BF78D4AB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 39C057852A57EA6A3634C9F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; 3A0905D5A44682BA32E890B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A4ADB03B4FDD3E092A4EA1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 3A4D960AFD726944CDD837A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; @@ -240,42 +297,58 @@ 3AC1657491C449D35317D152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 3ACCA940E7DAAF1360518308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 3B345751D5AF28FF47DFB9FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; 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"; }; + 3B9932C1C93372092E560D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; 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"; }; + 3CB555A60209891A50F5B070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; + 3CC6203E67A850DF1B5A055F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; 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"; }; + 3E6D80EFD90EE101F004F7E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; 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"; }; 3F2956100AC77970E9D6D8F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; 3F6066E4811F5614743ADF18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F81B51FE35A11AB1EBDF817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; 3F95D175870FC0A06EE75AB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F97F503656083301FF92E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; 3FCF0D0C9F880010271C14B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 3FD158E0EBB5A23F749067E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4016FAF168BBD0818A7B6123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; 406DF1B4D378562F659E8565 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; 40AA1B902D8D3CB54D860BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; 414963BDCCA2040627721C78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 4166F8C587E680C19CDB28D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; 420826E000BDB4599401C676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; 422C87B3D3D2872C96A14CC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 42B188D9ADD18EFE841A39B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; 42D0E88CB303E30747CE24FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 43248265F0C0DFDCBF4CBBFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 4377E744DC7B1CA18A6E47EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; 43C5781576750A1503A9B074 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; 43D160D6ED038A7088AB3DEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; 43E964EF17328AB8C3F454D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + 44018E506EF7E2C0207A702B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; 440B83793DD44839DE3E4F6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 440FA0F5BC6328BDE24931CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 441F709085CC742BE0012D05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; 443719DFD779BD07F5831148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; 447C281C78F82035C2BD24EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 44A7BA2DD53EE355E052627B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 44D61A00C52DC3276CA8EB0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + 4502D948455152F0E748249F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; 452DA077C32F269A990CAF7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; 455301B4814BBF4C9EC1B4B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 45586BE1687078BDB44C33F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; 459BA6D8DE834F3A84690357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 45AEBBCAC5AEBF62F00C26B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4618C199691241A73C70E796 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; 469C174FFE7BE215B1B7EA9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; 46DF62BED3D050BABA0AD01D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; + 47079AC015AF94DFE476F7A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; 477E47C2C3B9D1856815B5EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 47E867EB426ED9E824837D86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; 4877F0F7DD226554783B2097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; @@ -284,31 +357,34 @@ 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"; }; + 4ACFE7A5BBED772B8AE4B0E0 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; 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"; }; + 4B11D897DA7A7E93D265EA99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; 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"; }; 4B616298D27D8AFCAF94A62B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 4BD929A35245C5C8E1128201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 4BDA1EF1F7CF9256A68D333B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C1C0EABAF9943E25BB843E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 4C5027FD6B2075613AD35069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 4D8B25F49672278DAD980D37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DA35338F37F962A4FE2E519 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; 4DBB69C768DC0AB48E4D7335 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E71CDAE57EC0F8252E8A379 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; 4EA1329ABB28BF7D1E2BCEE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 4EE8D2A556262F45A8E4C002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; 4F74069552CD0B8306159E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 4FFC567D2E9E988FF7D6C9F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; 5001ED9DCB2695E7C7FB575D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 5029A627A11CDF63AF4F5B8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 5078B5E8B29C7812E2A61C87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 516BCBBD8BFBA135B158878A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; 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"; }; 51EE73023F637D2C38BE0BBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; @@ -323,8 +399,11 @@ 536015077E4DA2A660777636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; 53774BD198186D5292A6C79E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; 53AFC84A35AD5EC753C5C82C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53B40722DD852BA459B78CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; 53DB1E1F972D23211F994563 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; 53E7F696AD8FE29150F9FF87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + 53EB6292B8BA902E9968EA10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + 53F9D3A1AAC86BEBCAD01846 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; 5449BAE80B8572E2394576A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 54669FEC417AFCA5503F78DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 54D12DFAAC0B8DA6E394204C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -332,23 +411,30 @@ 550ACC8080B604CACF4A1327 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 55A358EA30720C4A5CCA9151 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 55B56F6D33E69497CCF8ABA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 55F8A12088712E6202316984 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; + 5637D618BC6DDD541257AFB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 563FD10D94131932F199152B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 566D5E15DB1A5D46DDC9B861 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 566FDDC6EE618B9CE3F06E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 5696C635F1687848F831176D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; 56984FF7B7A8186E267CA2C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; 56D4A0147E6D09E8025FB743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + 56E98D738628077B6EB347BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 57290064E3CFF9DD86D814E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 5786743BB354833AD3E7C941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 57F15A42094E5ACCA8DB407D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; + 582592E737DD51E3BF21CA76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; + 58745BA9C735F8B3FF36B803 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 589E9DB86BE9D5BCC3738166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; 58D8DA39709C9E4902C964BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 58DBF3229DF035E3FDE0DD96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; 58ECEED241DF27ED319D1DFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; 59E9E1263FAA9E36D6D33C01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 5A13C14AEEA28347CA73181A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; 5A249D355806407F5243D9F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A5572F95434483C670D0763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; 5A8B09391BEE95EFE335F7EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5AB8014F5AC9B6FAE8AA3A3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; 5AD10992C4A5CF4C11FB8A0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 5B0E1920431F1047B1306B7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5B43C06682E6348DCD10BECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -357,90 +443,130 @@ 5BB8C184757E8472A0DBC655 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; 5BD03168178B05F7A6F1126A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5BF3C5A9A4F42B498A0C0DE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 5C05025316455E4D0B941951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C0C6B7FD5D94D80BF7E6D35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C3322F45E3EA0A3970D28B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; 5C3B25EFEDBDB3FF37FBD546 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C5EA791F21CA31804DBD014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5D727E2EBD997D21205CC599 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; 5DB9EA613B6C375A620567D4 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; 5E1B48EC342F75E172492CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E3E8D9EDD3396025DB49F40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E7C3EF67857DB0082A41E95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; 5EC700BBFAD8B43239027ECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 5EC7614B7F46EA2C43B14AD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5EF45C283B585BAA946D02C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; 5F467F2059AE430E6BF3F4C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 5F7997D0291392415EB5670D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; 5FD667A17A029680D6D2F986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; 6037D45756D11A1360FBDFB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + 608B61C27475B67C7A7576F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; + 60DB4385BFD57D6957043017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; 61275921D3E9ECE1690FD578 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; 612FC77FBD64CC1F6ABEC287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6133EC3263B1AA6CB2CB6418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; 6149D19062A6532AEB3E2605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 61CD22C78E377A2A4943684E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; 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"; }; + 633D5689A9FB2392B224C560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; 6374A362F258DBD2F39C868C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 639BB1B8BEEED7BF60F2D891 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 63F06F3A718D0C1313A78321 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 640409A66565092660767890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; 645C0553A0BE7854CBBE329A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + 64747E380AC0DCA6F44157C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; 649173E3547F8827D3C0B28E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; 64CB953C4710E1182A72BA47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 64CFBD667CE9EE412701CCA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 64E9F1A471FB4139A86242AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; 65268CEE346EB4D090D434DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + 654B5629553CCD9680B96AD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; 658BA13CE4A1B5BDAB21F453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 65ABEFA3DB37D2D541830543 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + 661CFEC9F5F4F201D824589D = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; 66779261F06E798D6081779A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; 6687C444F957D7D097F6D457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; 668C11A0C6FFD4FE9C496E6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; + 66E3DCCFD72D120FC8740AFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 6707FE3BB2A820A6E63670E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; 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"; }; + 6769D45BEDDB42E442FA1598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; 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"; }; + 684A7E3D77C8DCD33EAED6D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; + 6883669EA20B4E4C8F7332C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + 68B73B2EE6D3F6D4572F1154 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.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"; }; 68CAC12255032C9598B836DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; 68D30198ED90BAB25E06FB93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + 68F2AA7450B6A9D910015FD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + 6913E864125CD2963640666A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; 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"; }; + 6AB611520CD0FD289530661E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; 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"; }; + 6B69CCE04A30589705E49503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; 6BCF17B2983BB7D7DF91CA8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BF5CCF5772843264CE24EB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; + 6C2AAB3BA21F5B8D6F001330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; 6CC8C6277F4B378BB2516B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 6CEDDB70061CF81C7ADCA315 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 6D2622C22212A1A6064B6D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D86A8ABADCFF51C6E68FE7E = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 6DB7CDAC2EAD21710557CC90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + 6DC9506918DC2ECFDEB058DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; 6DECD794AF3A19681E99CBAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 6EC028C46F11FB59C82A52C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; 6EDA91C4144284C146EE3DA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6EF4481E63CDB816C43CFE33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; 6FDD6A7F82D671CAF2B1EEB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 7026CAD042345AEAAEE6DEC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; 70423D657809189527B69E00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7090BE7F80DF1DDDE7353895 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; 70C902F9BB9ABFEE77FECEA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; 7124C55033AA878E30CE4E7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 712D44FE7BF1E1177E3463D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 715127B50D1B83A5C2D1ECFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 718A5413241845BC5C8E04A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; 71B627770E6643672558C9ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 71C4985DF50120ADFA541BDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 71C9EBA828B32AF1E06B0D29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; 7219E995BF8937AA13EF0937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; 7226E5098BB9466DD73E74B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 723642BF3C11A3A058CD58A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + 727492E01275797EEFB1D203 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; 727F82DF717167058E4B991F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 72AC4DE1FC5763C6D53DE732 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; + 72C1D5EB464844A2A780D6DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; 7316047BDEAD86BD3719AAB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; 7328E44FE859DD15EC2CE03A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; 7343C468A834B6BBFE0BE934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; + 7354B92921727AF43F337ECE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 73E24FDB3C3E517471A8FF3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 74A0B47842AD1E5E22222684 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.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"; }; 77451A1E595A87FE92658636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7792D77B7A5FC2EF7EAEAC56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; 7793AAB87CA8422BEB1D2786 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; 78415F3E8CD250F76A2B4E5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 784F9167C9A0065235DD7AF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; }; + 78994CB618DA8995BE591373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; 78D17DAF7A0143A17695CC03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 78D852175FC9E8F857FD37C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 78E7E3A7B7E1E3E0363CC3A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -455,10 +581,15 @@ 7A223F4215B0F750291066C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A35D2308BFE8D941E84F128 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 7A55A7E6495A10FE553E75EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7AC9ED089A8F88312F74A6E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; 7AECC5ED1AA474523766CFAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 7B8CD292A12AB02D2A591A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + 7BAF731EADCE4ED666995FA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; 7C1C8532B5C095328BC56582 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 7C4D5EEED2C64EB6CF753749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 7C7709861088BBB95FBFC7B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7C7F07452BCE46EA7762BC6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 7C900D555CD1B42A547D1BD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; 7C983DF49EB8A0EE363902E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; 7CD1D9760A7F9124BC92868A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D06B3C5F94209CC6C27E498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -469,12 +600,15 @@ 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"; }; + 7F368257C9C1C4B3ADBC2ADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; 81A990BB88C606DFA9303366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + 81FAF5A8B764D00191519633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; + 823030E8AD6BB20860C4DFDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; 829E26BF13D9D5728057226C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; 82E3B133D0E15FC5A0467749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; 833103DB8E0F65D0E7BEEF0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -487,6 +621,7 @@ 847E7E00243B8FC7BCCE69D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 84EA235515C1B97954C1F97C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; 8509A57DB41C806BD6825C89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 85448A4F09EF1AA0DAB669F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 858D95EA823FCD1DBFBC4E96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; 85929AE1240EF7396488E6EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8598A0B964801650BAFC6FBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -499,6 +634,7 @@ 8742F468DF1905F097D7F6C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; 875A14BB773AFC27135869A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 8781C749016774125396B268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87E96BA5A9FFCA433E0453C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 87EA6E46F50CE9F1225F5378 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 88B3C4FF9311F4797F9BDCCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 89377CF5085E5D9000164FE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -508,21 +644,27 @@ 8A282A87C13A4CB559B544D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A4BBECEECC80FDC7DEA48B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; 8A9C5EBA0F19F7979A38DDF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8B0437CE5406E1B1CC055115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; 8B336888A6EB8C1061C30F70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 8C53967F99EEE17A3D7A97F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; 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"; }; 8D1CE0B9ECDF4CF36B1CB4F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; 8D317883E61856EE2491FC09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 8D6CCBB6ADF78D5139B35DE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 8E317934922B12ABA2B5A8AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 8E6B3E9DA6571C37BE6760BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; 8E9358560B0ACE8A912B8AB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8EC4AF1FE4A928F8558AE0B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 8EE2944D2A3080C7D83EB741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8EF7ED003297DFA5026CC445 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -534,16 +676,22 @@ 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"; }; + 9231785E02CEE81C77D3823C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; 924AD69D9805BF69CF891A26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 933B61E6F172617811313949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; 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"; }; + 93721D5BA8AF835F5844A964 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; 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"; }; + 93E93466DE653424060FA74D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; 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"; }; + 95584D6C2E3B6A4FE5521C45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; + 95BB018A425B46D32636365E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; 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"; }; @@ -551,8 +699,15 @@ 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"; }; + 97B0C158C22662A6485AB92E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.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"; }; + 983479C38B5905B8D768E2A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; + 985FB364ADFE88CE70CEEC03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; + 9879346BD474B2BD8A7DECF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; + 9895ADF08D17A8B52023BC2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; + 98B46FE0B36371318C52CC9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; 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"; }; @@ -561,7 +716,9 @@ 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"; }; + 9AC86B157B15368A9CADAB95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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"; }; + 9B1490E075A8A23DC6BC69F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.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"; }; @@ -578,10 +735,14 @@ 9DFB1207084A2C2E0C53DB62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; 9E2419E5C9BB345B5121A6D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 9E5488FCBB203D6BFCC9626C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 9E9C69519E06E38297AC8941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; + 9EC5AE6597C1E855A915B783 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 9FB590DB65B12105CB3331E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9FBD6E11D5668E77AF50973E = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = MidiTest/Images.xcassets; sourceTree = "SOURCE_ROOT"; }; A01EB1FCF6F4D00B58A8D111 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; A0318E5733F0BDA8D1001ACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + A05E3F519D89E105A140B887 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; + A0804FA567BA563088B8F1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; A0A17D0546958E5428D46022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; A0A1B6344FD51FCDBB9C204E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; A0B652215980BE83A93CAE0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -598,6 +759,7 @@ A37D36CA1CD0EFDD6829D108 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; A382A4098E0ED5A32CE5D0A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; A38CB181B540BD7A6CA21362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + A3B1A1F80532CE804BA8EE9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; A3FB5EEBBC9502221F4B29EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; A432857134F72B38C14CF6E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; A45A580C2D7686A5A84F31F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -605,6 +767,7 @@ A4A123FEBDE48FDDBEB74AED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; A4AF80059F74FF502CAB1655 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; A4BF427B5DC0D39311835749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4C1AC68972416D5A16E8FDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; A4C85C1FBBAEF5CD869B481A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; A4E533840C379C5D511BBF40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; A55D76D2DD846DF369A1B062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; @@ -616,24 +779,33 @@ 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"; }; + A7883ADAF9455FDDAAC25E99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; A7C30AD9E7ACADB65E2E9FF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; A82886C93C93287E362374E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + A830EF6D7ECB2EDD363F4531 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; A8390DAF1F315060F0AD26F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; A86AF34D38DC1243007C0BBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; A889A064074C2FE54A9A2E91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; A88B5A8101BD7EAB2B0BAB35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; A8B4A6DDE41B6826A72E1CC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; A96E3DEAF00EC750459EE0BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9BE2C311F9645A85098DC0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; A9C00D8F92DFA295261DB56B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; AA0DA3202B8D324B99972B01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; AA1D7CD80094C6DD30B82642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + AA6192BF5FBEB29956F62BF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; + AA8D86BF6494317AA3CE6ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; 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"; }; + AB4D6807CC0449C141F0EC59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.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"; }; + ABCB0BC9A0AD145B63B9696C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; 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"; }; AC88A0BE692EB93AD184D40D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; + ACAAF7839171100545E47164 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -644,7 +816,10 @@ AE3CFB79C6A02BB12EB0A2BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; AE7A50472A120B0FCD6941E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; AEC11E1897041B5B67B963AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; + AEEF9C85C62EF849A073BA19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; AF5ED93D7B6AC2DE6DCEAC23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AF927BF7EF859CC34914A140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; + AFDE2BF9DBF2382C4106B4C7 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; AFEA8DC16AFB85E66DDDA062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; B072058D4853C3D58657D667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; B0D01B3871AF10230066353C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; @@ -676,43 +851,59 @@ B60DA66A1E0DBA5BB2549EA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; B61A39791A34A7D5F4F8597D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; B67BFA128C643401AF15A6B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B6846D75FD67174F997E789C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; B6CF2D9D37A988C3CBFDC5A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; B6F1399CBD41DC2FF546CA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; B73F7F0669A6434AA911BB2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; B76ADA7D2C7B3618B97ADEAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; B77EFBE3AC6C32DBE89551B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + B7DD18E709A996132D076980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; B812EAB4E6CBB640845742ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + B87566EBDD54CCFAC1678F4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; B8B97874A8555D6B1A31EA7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + B8FAC97360C8FB3952586D22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; B92FE036F9E2892A4E7BA7BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; B9686DBC8D800831E3CEC46C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B98A2FC082987EFE64DD3CFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; B998A89F9F963F8DAA82AE1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; B99FD659AB1F5AE5733F0542 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; BA11889570DB5E67AD37DB90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; BA50382ECF67058553C0CF60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; BAA3716A3BFA86A257F551E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; BAD4511258CEEAD73C748782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + BAEEC5CA84014BCE08C8C763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; + BAFEDE9F1387F6B7C9B0932D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; BB30BEBF839C3640BB28B3D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; BBFC02ADF6B29159C4E8C758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; BC189AD35765B04899A257C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; BC21204055502ECD5D995C9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; BC580CD69BD370CFE829BBB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; BC8BF730EECDDAB6A392CE75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + BCB98644D57E45411C361549 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; BCFC623C56B7071F9CC6B0AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; BD06615203039932C590F0D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; BDA34D3EB7B410234620B096 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDA6CFDA43E7640149744DC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; BE048D62FF378F61320A353D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; BE488D6CD2C0140A9B6E934C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; BE666E4C6A20991E81BF3C44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; BE790FC31FED01F453778D57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE96DC202E9382F6CA3D1206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; + BEE210C77DA7D3688A1742A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + BEE35352C0A49EEC349D91AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; BF1D2F31EFE400A6DCAB8596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + BF6EA9101F25F8058F083E53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; BF837DA7E78077E6BF21AF4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; BFC0BB07575856E51D86BCC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; BFF3AE3A9F6BB64BE5616A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + C01A55BA9329E4EF3C1EA9F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C109E10EA231CD8DE215D503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; 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"; }; + C1719CE1BA73519723E11902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; 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"; }; C1D757F71096002EA476DBC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; @@ -720,17 +911,22 @@ C2CED429B672EB6A5D299F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; C3394561ABDB194AEB884302 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; C355CA77AF5BDB576E312776 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + C36E60DFD9D5F5A1F39E4FBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + C41F26EAAC65B2199BC88CBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; C460425DCE929D5573D692EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + C47A606294D5EBBE001FCAF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; C4947E82321AA68E066FE63F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; C4F2C0004FBF55A51C7E421C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; C7FA975F9BC2B0A10374E66A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; C80C46AC11D0A36B43BF545C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + C817AFA5C0CEE9C3E14B4739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; C8416100B7FEBFFEA67C9AA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; C84F0AA201CDF56F87C2FE7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; C8516C1E40F21AF2F48EE246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; @@ -744,14 +940,20 @@ C9DBC561216FC85E4BD686F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; CA691DCA99DE102DE5A230C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; CA6A35C980DA16823A27B7F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + CAEF745A27678DC0EE7CED96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; CB2ABF575A275A9AFAF69AB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + CB2AF0A6BB332F80351AD147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.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"; }; CCB0F34697E82EF0D5FF4B44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; CCD2995B73F60BDBAAFC07C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + CCDCE23C4FF1B2F459F9B236 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; + CCDD09FFBB50733778C0676E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; + CD1164F82648D4B212C80CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; CD5BCB9C1385C9DFE561C639 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; CD75E6F688CDFDF12DDCDB78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; CD8DB8D0560BACDD3845F550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -763,6 +965,7 @@ 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"; }; + CFABB78080B1681C4D3A0B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.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"; }; @@ -773,7 +976,10 @@ D1B0DB676A6A968AA8539F91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; D1FD340C6786DED8A06EA0BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; D2079159DFD2C55DA65831AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2330AA1B6F9801FC5460CD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; D234BD4D6AE149D63892A568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2EE26D7700F64BB05A90E4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; + D30B210335C1D7126A1A78E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; D33A70241E8C2D22B6409385 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; D39E4EA15D8933D05802B88E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; D41AD73241EA4B8843A39FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; @@ -788,34 +994,46 @@ 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"; }; + D760C86183D59FED3E3008B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; + D784894B4F162B3576815364 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.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"; }; + D8EB90535879E3AF3FE0A708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; 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"; }; + D9AFC0EC76490846F70F5EC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + DA0F4194B89DD20C605803AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.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"; }; + DB3DE3CF9684BB1417DD5830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; 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"; }; + DBF39E057C900A4ADC624E8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.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"; }; + DD7B1C3AD07C439C5D9EFA3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.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"; }; + DE3B3F85A68198E7DDC6DB5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; 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"; }; + DE83DBD9ADCA8EC7348BB6DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; 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"; }; DEED8BDABC10E6650C61915D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; DF1900E8201A1BCCBC64AF00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; DF329E2274A09998C98424BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; @@ -823,54 +1041,73 @@ DF78C17F0D24AB45003D96BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; DF7FFD1509B205871099C5B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; DFB53C51F58D5F2CC3B488C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E0223132DBB8B309FE9741F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; E04EBB578FEA27D7F991CD8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + E09D3480D6B6B3C01844FB10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; E112F8849FCF66DD34FD61A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; E13F0F8F7F6F633D94F8852E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + E1A284EB48EF935B5BC692F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; E24CCE4B7AE25CA7990C9DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; E3259021F38C76FE5409C14C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; E37124530592B42579281C17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; E40D3457DCE189588F89D050 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + E4F40BEE2B9AD2278B514971 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; E511CD3021BC7B1AD20343B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; E5ADA9D2394B8B8C38431782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; E5E6F01851E06CF96D17357D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; E65776E6602743E468EE79F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E69FA8BBB8E8B27BBB3040CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; E6E5F1032BA5258B0D26DBF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + E73B23B093FDDF66346BFA5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; E77E3C682E425FFB37A34DF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + E7AC5DB63FE9C67DA227E2D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + E8344472027EED5C371F79D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; E8591ABA5B7B62C30D83359C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + E8796FBD2A6A0D79ADE450FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + E87F503108182FD43982C45D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E893657FCC035823698946C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + E8FDCDB58398061F8423F7A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; + E92312D03143678C3428955B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; 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; }; - 13966A9213FDBB55FF26B12F = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MidiTest.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - 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"; }; - E1A284EB48EF935B5BC692F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; - E4F40BEE2B9AD2278B514971 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; - E73B23B093FDDF66346BFA5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; - E7AC5DB63FE9C67DA227E2D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; - E8796FBD2A6A0D79ADE450FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - E87F503108182FD43982C45D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E9DAAB482F67143FC870344F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; + E9E7ABF5077CCB102B921D24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; 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"; }; + EA4E8E6FDF3A151074F821EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; 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"; }; + EB3D111F4DAFB2768889A744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; 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"; }; + EBE0A72F14E52F8350607C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; 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"; }; + EC84A3EAF7895B67B7E4ADD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; ECAE3FA47A5AA11B7F49930E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; ED31233B6F3A221936C32D43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; ED7B6E0CCAABFFD95483A5A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + ED8A98704A89823011F9A553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; 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"; }; + EE5A031094E8F8A10029BE3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; 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"; }; + EF4F18F9213D3238A4002F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; 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"; }; + EF84F519DC440893E9DB84B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + EFBD19501E42FBABE5F5D855 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; F016087BCC0EC5E166B45215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; F0DAEA7AC20FA046B9B09AE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; F0E612E65C1E568B58E7D805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F12E0BC6AA64C2E1A0284A26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + F133699FDCE50178DC86B75D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; F193B593463CBEA3B4F399C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + F1C13225A3A03957AAE8AFCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; F1D0D12D2F7CE8C88A28169B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; F20219B169674F73013B959B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; F399C5718D31B61C2204231D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -882,42 +1119,55 @@ 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"; }; + F56AE2B43B65BAF000AEDC0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; 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"; }; + F678F9BDD7F431E29A8311B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.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"; }; + F797B276E196426FCFEBC5AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + F79982408861D410209D50B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + F8084F3F1B393E24B41A41FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; 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"; }; F8A4925B3E23206A0754205E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; F8C6E397B8401CB796604C30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; F906DCBADABBFA5CF676D202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + F93A54A6A61E0D449BE3CB20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + F9EFA190684BC6814DAA501A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; FA5389B4B4B922397A55CB60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + FA94EFE33455ED6C0F053A51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; FB80193BD95C440867B71614 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; FB844B3ECA94A44C64B0E460 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; FBFD05F3DE4E85E8E67D6564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + FC0CA68D5FD4C9090262E029 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; FDA044B1261C64BBDEC5CCD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; FDE835978CC3B7E11DB7A550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FE0E52C9AFA1874FD0F6EDFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE68DFA948F52146B97EBDBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; FF704E82ACB2DEB955F06B02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; FF716222867AACDBCB4C4C53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; FF95986E4C03C60149C2EAB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; FFA5E5B817C46570A742F8DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; FFA8D7FC84A4B69BC21A109B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + FFC264D818C5FB1E2F293C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; FFC31B01BFA016D0D97EFFC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + FFC399684DE4C55C2E6BB165 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; 418C92E17E99E2DA47AAFC04 = {isa = PBXGroup; children = ( 78E7E3A7B7E1E3E0363CC3A8, 8F56F2FA5C0D47F9EA19E09C, 91FA7F73B33D66D9C3A6FD9F, ); name = Source; sourceTree = ""; }; AEB39FD252263E85F2FFE6BC = {isa = PBXGroup; children = ( 418C92E17E99E2DA47AAFC04, ); name = MidiTest; sourceTree = ""; }; - 3286A8CF6EE22DFE49A8DA9F = {isa = PBXGroup; children = ( + B5CDD98F416875D88E0F003C = {isa = PBXGroup; children = ( B998A89F9F963F8DAA82AE1D, EF29543541EAA4ADFF5D8733, DD45E70E19FB20AA19459C2F, 3221CB50717F0D27C4C6237C, 1C18D19A02D7B576A3B303F2, ); name = buffers; sourceTree = ""; }; - 8815FFDC946634FA25E4E075 = {isa = PBXGroup; children = ( + C4ACF7BE2C00FEF2F20DF4FD = {isa = PBXGroup; children = ( + F133699FDCE50178DC86B75D, + 5637D618BC6DDD541257AFB5, 06606DC924B7DAE58792628E, 0A729F7AA618D218C9BCF153, 31D204BED98EDB3563887B2B, @@ -927,7 +1177,7 @@ 1C71735BBF7F71227F596CD6, A73ACC374B8EB6D4AFD8AAF4, A86AF34D38DC1243007C0BBA, ); name = effects; sourceTree = ""; }; - 07DB4E575D8780671E5065BE = {isa = PBXGroup; children = ( + F980DFE0F2E19FB14ACFDC81 = {isa = PBXGroup; children = ( 9165B7EFC4A6D0D2D4BDB964, 55B56F6D33E69497CCF8ABA8, CB60DC44A14E39F7316076B5, @@ -940,7 +1190,7 @@ BF837DA7E78077E6BF21AF4A, BDA34D3EB7B410234620B096, 19F68BBBA66B69333C36735A, ); name = midi; sourceTree = ""; }; - 8C776C4907D6EB4A612F8255 = {isa = PBXGroup; children = ( + 99C78A6B803207D6E538BDD2 = {isa = PBXGroup; children = ( BE666E4C6A20991E81BF3C44, 02BF4DFA67BE6F387CB83FB4, C84F0AA201CDF56F87C2FE7A, @@ -976,19 +1226,25 @@ 0E9380C830C6440477B820C2, 4965BC05E07C74ACBC69CE0F, DBEB99D494A9620FE06F48B8, ); name = sources; sourceTree = ""; }; - 6FA1018757E05E7616E926AE = {isa = PBXGroup; children = ( + DE6DF81DDBC9AF5C33040E43 = {isa = PBXGroup; children = ( 1DD60CC76FE45CB93908DAB3, E112F8849FCF66DD34FD61A9, ); name = synthesisers; sourceTree = ""; }; 0690EECB6F2AB185DA0731CB = {isa = PBXGroup; children = ( - 3286A8CF6EE22DFE49A8DA9F, - 8815FFDC946634FA25E4E075, - 07DB4E575D8780671E5065BE, - 8C776C4907D6EB4A612F8255, + B5CDD98F416875D88E0F003C, + C4ACF7BE2C00FEF2F20DF4FD, + F980DFE0F2E19FB14ACFDC81, + 99C78A6B803207D6E538BDD2, 45711C8C6AC5740CAAEE6B04, - 6FA1018757E05E7616E926AE, - 004F0CC129C05470392B9665, + DE6DF81DDBC9AF5C33040E43, + AEEF9C85C62EF849A073BA19, + D7423C164AF5168754CFCDB9, + 06251F5E80644992958A3B61, D7423C164AF5168754CFCDB9, ); name = "juce_audio_basics"; sourceTree = ""; }; - 412A148C8202E8685B4A960B = {isa = PBXGroup; children = ( + F5669118702A484FF328581D = {isa = PBXGroup; children = ( + C1B1CD3695D2E9AB7E0E6EE1, + 79A3983C899D364ADCAEAA80, + 28568BBF30F1DB6038A18401, ); name = "audio_cd"; sourceTree = ""; }; + 8D5B377541CA7EF473149176 = {isa = PBXGroup; children = ( 6B0C6075941C9912A095E582, 4F74069552CD0B8306159E3F, 6FDD6A7F82D671CAF2B1EEB8, @@ -996,22 +1252,13 @@ 19CC5553744E7E198B3043F4, 33E57CC37341A05F0115E359, C1D757F71096002EA476DBC0, ); name = "audio_io"; sourceTree = ""; }; - 521BD06F109EC360B7038DD4 = {isa = PBXGroup; children = ( + F8C013435E756C40EE057047 = {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 = ( + 03731DD887E39866E64BF538 = {isa = PBXGroup; children = ( C4F8FC1F6A6212470D6F4EEF, B99FD659AB1F5AE5733F0542, 50835B89AEF3E18AE107A63B, @@ -1031,31 +1278,169 @@ 8171E819672599C2594371EB, 63F06F3A718D0C1313A78321, 37E63175C424B7005BED7899, ); name = native; sourceTree = ""; }; + E1D78C26B3577E54D46AC672 = {isa = PBXGroup; children = ( + 7FA4E3D2ACE64C064B0BFC11, + A4AF80059F74FF502CAB1655, + 16B6619A5A552495ADC91C2E, + 3003B712285C45FB9A9C5824, ); name = sources; sourceTree = ""; }; DBC38E2F8B6D4D0E1E4084E2 = {isa = PBXGroup; children = ( - 412A148C8202E8685B4A960B, - 521BD06F109EC360B7038DD4, - AA87DB4A9A22F19BDAEFE5D8, - 0CB27604266434392528A0A9, - 413DAF5E4A5A55B72FE31041, - 1D7E9C764EAEF6B62DFC3FEA, + F5669118702A484FF328581D, + 8D5B377541CA7EF473149176, + F8C013435E756C40EE057047, + 03731DD887E39866E64BF538, + E1D78C26B3577E54D46AC672, + 97B0C158C22662A6485AB92E, + 2235F2008813426E4E917B2E, + AE002D113A5E494C827E27FE, 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 = ( + 7F98F07386FA04E9EABBD201 = {isa = PBXGroup; children = ( + EA4E8E6FDF3A151074F821EF, + 44018E506EF7E2C0207A702B, + 0A1FA7A9E900F0C0EC3F67EA, + AF927BF7EF859CC34914A140, + 06B47D41CCEBB771274906E6, + 42B188D9ADD18EFE841A39B5, + 3E6D80EFD90EE101F004F7E5, + 68B73B2EE6D3F6D4572F1154, + EBE0A72F14E52F8350607C3F, + 58745BA9C735F8B3FF36B803, + 684A7E3D77C8DCD33EAED6D9, + 98B46FE0B36371318C52CC9D, + 086E0B955456C24594EF93A4, + 1DF810B7EC4446F07E5FFB74, + A05E3F519D89E105A140B887, + E0223132DBB8B309FE9741F6, ); name = private; sourceTree = ""; }; + 9E15C3FFA41F42DA24439799 = {isa = PBXGroup; children = ( + 985FB364ADFE88CE70CEEC03, + 7354B92921727AF43F337ECE, + F678F9BDD7F431E29A8311B8, ); name = protected; sourceTree = ""; }; + 8001CB6038837DDF3CE18D2C = {isa = PBXGroup; children = ( + 7F98F07386FA04E9EABBD201, + 9E15C3FFA41F42DA24439799, ); name = include; sourceTree = ""; }; + 651424629394679DB71B9658 = {isa = PBXGroup; children = ( + 8001CB6038837DDF3CE18D2C, + 516BCBBD8BFBA135B158878A, + 5C3322F45E3EA0A3970D28B8, + 7C900D555CD1B42A547D1BD4, + ED8A98704A89823011F9A553, + 983479C38B5905B8D768E2A4, + 1ACD54BE2C5314368BDD4588, + 327A0154589CF5C0484C8CE3, + 93E93466DE653424060FA74D, + 0EB2F78781E1AEC04BE597F8, + 93721D5BA8AF835F5844A964, + 1423C51D948E59BF3C19E7A2, + CAEF745A27678DC0EE7CED96, + 37DB28AD3F6BBBA0F4752267, + 1A596DC759AF518739062328, + ABCB0BC9A0AD145B63B9696C, ); name = libFLAC; sourceTree = ""; }; + 158A7A304CCFFC3EA47FDEF2 = {isa = PBXGroup; children = ( + 651424629394679DB71B9658, + DBF39E057C900A4ADC624E8E, + 53B40722DD852BA459B78CC2, + 1166DAD1362734D3E021B1AD, + 9879346BD474B2BD8A7DECF3, + B7DD18E709A996132D076980, + AB4D6807CC0449C141F0EC59, + CCDCE23C4FF1B2F459F9B236, + 661CFEC9F5F4F201D824589D, + C109E10EA231CD8DE215D503, + 44D61A00C52DC3276CA8EB0B, + 058D684A7C941A5C0E2ECD30, + 712D44FE7BF1E1177E3463D9, + 8EC4AF1FE4A928F8558AE0B6, + 335345F690175AAB7FE2CC1C, ); name = flac; sourceTree = ""; }; + 2DC8C8BE46AF969173A64872 = {isa = PBXGroup; children = ( + D760C86183D59FED3E3008B9, + EE5A031094E8F8A10029BE3C, ); name = coupled; sourceTree = ""; }; + 5BEF36DD3D33EB33BAB4412B = {isa = PBXGroup; children = ( + 2B6339D0D6EF334503596EE6, ); name = floor; sourceTree = ""; }; + 833B521618A80AD047C392DF = {isa = PBXGroup; children = ( + 9231785E02CEE81C77D3823C, ); name = uncoupled; sourceTree = ""; }; + ECAA6DBE85FC5A46164B63D2 = {isa = PBXGroup; children = ( + 2DC8C8BE46AF969173A64872, + 5BEF36DD3D33EB33BAB4412B, + 833B521618A80AD047C392DF, ); name = books; sourceTree = ""; }; + 7B46796D386313F33819358C = {isa = PBXGroup; children = ( + 53F9D3A1AAC86BEBCAD01846, + 2BC146BB725B8310888AEAA6, + 1F5F5D121370C54F0F22854C, + 1E312B854D7C362FFCD91915, + CFABB78080B1681C4D3A0B3A, + 08DC8AF467C529B1A6EF80B3, + 74A0B47842AD1E5E22222684, + 9E9C69519E06E38297AC8941, + 95BB018A425B46D32636365E, + CCDD09FFBB50733778C0676E, + BAEEC5CA84014BCE08C8C763, + AA8D86BF6494317AA3CE6ADC, + 823030E8AD6BB20860C4DFDC, + 9895ADF08D17A8B52023BC2D, + 72AC4DE1FC5763C6D53DE732, + 33A739D1722B039FE1B42B0A, + 8B0437CE5406E1B1CC055115, + CD1164F82648D4B212C80CCA, + EF84F519DC440893E9DB84B9, ); name = modes; sourceTree = ""; }; + C1B2189EA9D80E30A32FD189 = {isa = PBXGroup; children = ( + ECAA6DBE85FC5A46164B63D2, + 7B46796D386313F33819358C, + 0485ED1CFB09B769271F0154, + 55F8A12088712E6202316984, + E69FA8BBB8E8B27BBB3040CA, + 1D89BB97732E4ECB9464FB63, + 31372D990ACF6E86F0ED05EA, + 441F709085CC742BE0012D05, + BDA6CFDA43E7640149744DC5, + 03E675456C09CFD5FD304E50, + 3F81B51FE35A11AB1EBDF817, + 8C53967F99EEE17A3D7A97F4, + 0406F350296518BD17A626DB, + DB3DE3CF9684BB1417DD5830, + B6846D75FD67174F997E789C, + EC84A3EAF7895B67B7E4ADD3, + FA94EFE33455ED6C0F053A51, + 85448A4F09EF1AA0DAB669F9, + 9B1490E075A8A23DC6BC69F4, + FFC399684DE4C55C2E6BB165, + F9EFA190684BC6814DAA501A, + D2EE26D7700F64BB05A90E4F, + 061D85895E2A962E6354EDD1, + B8FAC97360C8FB3952586D22, + 5D727E2EBD997D21205CC599, + 4FFC567D2E9E988FF7D6C9F4, + 8E6B3E9DA6571C37BE6760BA, + DA0F4194B89DD20C605803AA, + FFC264D818C5FB1E2F293C2E, + 24717937A7D1394C63569799, + 53EB6292B8BA902E9968EA10, + F1C13225A3A03957AAE8AFCE, + 3B345751D5AF28FF47DFB9FD, + 64747E380AC0DCA6F44157C9, + 5EF45C283B585BAA946D02C7, + 4EE8D2A556262F45A8E4C002, + 1C5DD1E22CBC5BE6569B5385, + F56AE2B43B65BAF000AEDC0A, + 4016FAF168BBD0818A7B6123, + 22C6A96F04E14B7FE314034D, + D2330AA1B6F9801FC5460CD6, + 3CC6203E67A850DF1B5A055F, + A0804FA567BA563088B8F1C5, ); name = lib; sourceTree = ""; }; + 2051ACD67A74BEC5635224ED = {isa = PBXGroup; children = ( + C1B2189EA9D80E30A32FD189, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + EA78D93ED701FCA65B0EF35B = {isa = PBXGroup; children = ( + 2051ACD67A74BEC5635224ED, + E893657FCC035823698946C4, + 39C057852A57EA6A3634C9F3, + 61CD22C78E377A2A4943684E, + 6B69CCE04A30589705E49503, + 4ACFE7A5BBED772B8AE4B0E0, + 35D7A7DA1AA781BF08302AF7, + FC0CA68D5FD4C9090262E029, + 6DC9506918DC2ECFDEB058DA, + 784F9167C9A0065235DD7AF2, ); name = oggvorbis; sourceTree = ""; }; + 163F68AE329A49AE8C4C6A87 = {isa = PBXGroup; children = ( + 158A7A304CCFFC3EA47FDEF2, + EA78D93ED701FCA65B0EF35B, 4BD929A35245C5C8E1128201, AF5ED93D7B6AC2DE6DCEAC23, 8E9358560B0ACE8A912B8AB3, @@ -1074,16 +1459,51 @@ 251A3E830E20378FE1E70462, 07F0E97918A02142DE52344D, 2F225714445457C8332BD3B1, ); name = codecs; sourceTree = ""; }; - 99F1BACC767800780A8D643F = {isa = PBXGroup; children = ( + 9D1D6738DA5D423E45151981 = {isa = PBXGroup; children = ( + 3682725F0866C54EA2F5B4E7, + E24CCE4B7AE25CA7990C9DCA, + 26021651C22BD6DE054AF1D6, + A38CB181B540BD7A6CA21362, + 34E6CD251FA09E2F5B0592DE, + 875A14BB773AFC27135869A1, + 54669FEC417AFCA5503F78DD, + CDF98CC2BD3A485541A79049, + 9987B55A7D7AE452D921F227, + EC79622BA496FF289861EAB9, + 8D6CCBB6ADF78D5139B35DE6, + F1D0D12D2F7CE8C88A28169B, + 73E24FDB3C3E517471A8FF3F, + B60DA66A1E0DBA5BB2549EA7, + 639BB1B8BEEED7BF60F2D891, ); name = format; sourceTree = ""; }; + C90FFCF97BF158D97B15B106 = {isa = PBXGroup; children = ( 833103DB8E0F65D0E7BEEF0C, 2D0F17B9AE9B8C3F2FF90387, ); name = sampler; sourceTree = ""; }; C8857FD6ADA102CCD5484C14 = {isa = PBXGroup; children = ( - 6EFA3AE1659E270768E508DE, - BF16121C5E169FE3A2CAD521, - 99F1BACC767800780A8D643F, - F60BFB92E0D488E003958E0F, + 163F68AE329A49AE8C4C6A87, + 9D1D6738DA5D423E45151981, + C90FFCF97BF158D97B15B106, + 6133EC3263B1AA6CB2CB6418, + D55687B02DF776608D011DE6, + CE3FB8659C598AA9C97F8387, D55687B02DF776608D011DE6, ); name = "juce_audio_formats"; sourceTree = ""; }; - 946A544FA785166188EB9942 = {isa = PBXGroup; children = ( + D8B84D217D23060C303AD58E = {isa = PBXGroup; children = ( + F016087BCC0EC5E166B45215, + AAB742E00619AE4A2CA4A222, + BAD4511258CEEAD73C748782, + AC10CC6D18D4F05E307BA85C, ); name = format; sourceTree = ""; }; + 2DE9597FD0BB24130ADDF87F = {isa = PBXGroup; children = ( + 612FC77FBD64CC1F6ABEC287, + D86E055DC747CF4917E4981C, + A0A17D0546958E5428D46022, + A6AC42E7E0856E8A9915675D, + 45586BE1687078BDB44C33F0, + 68CAC12255032C9598B836DF, + 004A7D1BC57F2136FF31D767, + 3AC1657491C449D35317D152, + 0C7A1C47389DD6A1DE34D831, + 8781C749016774125396B268, + B6F1399CBD41DC2FF546CA8C, ); name = "format_types"; sourceTree = ""; }; + 8F1397FC23B4E2D7EBE89C39 = {isa = PBXGroup; children = ( 4BDA1EF1F7CF9256A68D333B, 469C174FFE7BE215B1B7EA9E, 06156CF92A104236B6EDFD6E, @@ -1100,24 +1520,7 @@ 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 = ( + F44F0295F333972B21F8639F = {isa = PBXGroup; children = ( 5C3B25EFEDBDB3FF37FBD546, CF8FC5357F57FDEFB20BCFB4, 39BE9ECC4812170BF78D4AB6, @@ -1134,14 +1537,16 @@ 829E26BF13D9D5728057226C, C9441DECAB98635D65D32950, ); name = utilities; sourceTree = ""; }; 08208586E6517BD2DF67E1BB = {isa = PBXGroup; children = ( - 946A544FA785166188EB9942, - DE43B8949C3673683A4145E7, - 2D3B454266035989793B50E4, - 0A5D0B4D98C62D681284255B, + D8B84D217D23060C303AD58E, + 2DE9597FD0BB24130ADDF87F, + 8F1397FC23B4E2D7EBE89C39, + F44F0295F333972B21F8639F, FEA13DA86CBA0709150CFACA, - 21C2EA5071601B7046CE11FB, + 6D2622C22212A1A6064B6D59, + 53774BD198186D5292A6C79E, + 67B176E3836E1CDE0701D21F, 53774BD198186D5292A6C79E, ); name = "juce_audio_processors"; sourceTree = ""; }; - 0C7DADB3ED97AF53E7F9C877 = {isa = PBXGroup; children = ( + EF733A99D7C39C6D26EB5385 = {isa = PBXGroup; children = ( 49F24776F527FD9F6D11F8D8, 8509A57DB41C806BD6825C89, 5506A998697B82CE8E2FE283, @@ -1156,72 +1561,24 @@ C8416100B7FEBFFEA67C9AA4, C7F857ED7C6223F0B7BEBBD0, 0DF9423E2283E5E9A4D3AB36, ); name = gui; sourceTree = ""; }; - 52A685AD333945C4BA5AC3A0 = {isa = PBXGroup; children = ( - 10F8E2A5426A365F3193B251, - 70C902F9BB9ABFEE77FECEA1, ); name = players; sourceTree = ""; }; - D534C203A2F34567D0E49FFC = {isa = PBXGroup; children = ( + 0F3A3BAEA6D2D3FEFE21FC80 = {isa = PBXGroup; children = ( 414963BDCCA2040627721C78, 2158477C497C9435DC12DD65, 847E7E00243B8FC7BCCE69D7, BF1D2F31EFE400A6DCAB8596, 5001ED9DCB2695E7C7FB575D, ); name = native; sourceTree = ""; }; + 31391E217ED9A93DBE93059F = {isa = PBXGroup; children = ( + 10F8E2A5426A365F3193B251, + 70C902F9BB9ABFEE77FECEA1, ); name = players; sourceTree = ""; }; 481DB3EC1543DF78D91EEE0B = {isa = PBXGroup; children = ( - 0C7DADB3ED97AF53E7F9C877, - 52A685AD333945C4BA5AC3A0, - D534C203A2F34567D0E49FFC, - EBAB0ECCF22BDB741F384B1D, + EF733A99D7C39C6D26EB5385, + 0F3A3BAEA6D2D3FEFE21FC80, + 31391E217ED9A93DBE93059F, + 5C05025316455E4D0B941951, + 5FD667A17A029680D6D2F986, + 0D1C2E36AC03421206996124, 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, ); 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 = ( + CC54935AB6DA568939D2286D = {isa = PBXGroup; children = ( 1B711C8B57441E43AEC12D48, 96136E8FAEE6D138EABDC874, A4A123FEBDE48FDDBEB74AED, @@ -1243,37 +1600,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 = ( + 0F2E38A5D0DB7B6AE65D0772 = {isa = PBXGroup; children = ( 22D5D3A2B80C1A7DF3EC2D72, D166DF5A19C529101A29CA3D, 06ABA2CB47AC9A1C9C3DB734, @@ -1291,76 +1618,56 @@ 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 = ( + B1B80970EC67FDE79B33C826 = {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 = ( + 48F431C72D706D28A8C86AE0 = {isa = PBXGroup; children = ( + 9816D8CB9D6F77D837CE1581, + 1ABA7718EB30C6B8A4D60A0B, + BC189AD35765B04899A257C2, + 26F5080C5674741DEEB509A6, ); name = logging; sourceTree = ""; }; + 8E6A22A8067DECDB44E6DDB0 = {isa = PBXGroup; children = ( + 5EC7614B7F46EA2C43B14AD8, + 115AAB2BB6D1E55D688417EF, + 0093510DE4AC3C9CB46D6D05, + 5696C635F1687848F831176D, + 57290064E3CFF9DD86D814E1, + 196F23E5CD478EC63198A2D5, + DADF4E1FDD2FB8DE33E71E9B, + 589E9DB86BE9D5BCC3738166, + 4B0486F8ABCFE1914A1BE334, + BEE210C77DA7D3688A1742A4, ); name = maths; sourceTree = ""; }; + BA37AD6380E264EE591F8423 = {isa = PBXGroup; children = ( + B410222AAD7B88C20581B38A, + 6DB7CDAC2EAD21710557CC90, + F482E3FEBB9C48AD3D3B4D27, + CD75E6F688CDFDF12DDCDB78, + 5078B5E8B29C7812E2A61C87, + B3F9F7C9AA10351F04D5841E, + EC1DB896229AC7C81EF6230B, + FFA8D7FC84A4B69BC21A109B, + 440B83793DD44839DE3E4F6F, + 10E481B0FC72E71E14CF6F16, + 35A49DE14F79186394703465, + 65ABEFA3DB37D2D541830543, + 9E5488FCBB203D6BFCC9626C, + 53E7F696AD8FE29150F9FF87, ); name = memory; sourceTree = ""; }; + 3CD4BFE1E08DDB9648E8674E = {isa = PBXGroup; children = ( A1462538DDB60A384CA330C6, 33FC576912A6019A3F14604B, + 8EF7ED003297DFA5026CC445, + 87E96BA5A9FFCA433E0453C0, 94C3AA9784869B88B76D1F24, 79C23DAB6FB460C2A29A7815, B072058D4853C3D58657D667, ); name = misc; sourceTree = ""; }; - F83F9A68BD888CC09E3010F6 = {isa = PBXGroup; children = ( + 64CF3CC20E27BC40FFE9F7E9 = {isa = PBXGroup; children = ( 8461D846AE31A276B18B6362, DAC04A108BE4FB935F5A7D37, 0AFDB7BA03791E1D80ADD26A, A4BF427B5DC0D39311835749, + E8344472027EED5C371F79D9, 1A9227C1FF193983C98CB889, B77EFBE3AC6C32DBE89551B8, 522A524115FB924F7DE4A1CA, @@ -1385,68 +1692,183 @@ 49C27EB9F39A5C1BAB48A3CF, A49E4ACB0716C74EDC25DC50, 4B616298D27D8AFCAF94A62B, ); name = native; sourceTree = ""; }; - FEA1B0BA7F8F75F1333343F3 = {isa = PBXGroup; children = ( - 54857A0ED7C578048EA3BC8C, - 8F0440E037A0737A5B5A816F, - EF19B5815B61879A232AB5F8, - 0606A517BC59F09662D14021, - B52E49803AFAC22A5D3DFAF9, - E10B0598C5380293E7D3522A, - 52068909833FDC8D4678A63D, - D66C2FBDAA3856B79F27CB26, - ABB327C80FA60E4EE212DEDA, - F1ACCD6572C36B1C197F7389, - CA8C33C6E039B1D9AEED744B, - 8C94CC16F964A703D25D1D0C, - 11BCBBDF1B984D6B50FF1D65, - 868BF883D27E9D8B871E75EB, - 13FBA7C2E0827B356440A388, - E6989A7A06F752F666765CD3, - F83F9A68BD888CC09E3010F6, - 4A1D30BBAB2649F4C0970E87, - 59E9E1263FAA9E36D6D33C01, ); name = "juce_core"; sourceTree = ""; }; - E041BB0DC52093F623C413CE = {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 = ( + 19C3DD0AC38BC94CD90F9597 = {isa = PBXGroup; children = ( + 152BC2F3F6B0F518C984177E, + 9364B320302B675300E93B41, + 79F607C4907089E574F59974, + 7F7B055D0C2811CE7C4B4484, + 047E2858DF652C4EECE19350, + 8D1CE0B9ECDF4CF36B1CB4F4, + 43E964EF17328AB8C3F454D0, + 1A39051C4AF1619FA04E23C7, + 5E3E8D9EDD3396025DB49F40, + 12A03A62777C1C5E81950DBC, ); name = network; sourceTree = ""; }; + FBE8D70C83F3A9DDBB6FA0DF = {isa = PBXGroup; children = ( + EA7B437CA63EDE546A390088, + 9C00A3B72C9748ACFBF5C059, + A0A1B6344FD51FCDBB9C204E, + 9DA13E7352FB376508315D83, + A7C30AD9E7ACADB65E2E9FF2, + 6374A362F258DBD2F39C868C, + 0124FD2E09CC905B5F5E946D, + 33E1D4A2F37E15E02464FB04, + 1E91A2C8AF72DF59C199E818, + DEB45A52F4AAB4FF1DEFF917, + 8C907079F5A8EF3BD3DD35C1, + D234BD4D6AE149D63892A568, + 15C2EE8305EE8F0E0DA60E7E, + A5B4B4ACFAFFCA55AA7DF0EE, + DE604B27DA8E8141012B7C76, ); name = streams; sourceTree = ""; }; + D36CB3D0A33EE6AFBEE00515 = {isa = PBXGroup; children = ( + A55D76D2DD846DF369A1B062, + 7FF73F42C8BA1F00D7397605, + 5A5572F95434483C670D0763, + 25D6F3C83F487FC6A4E6E0A5, + 2B5AD253F09E8774138A92EC, + 78415F3E8CD250F76A2B4E5C, ); name = system; sourceTree = ""; }; + A31191890948D5A9B4894C1B = {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 = ""; }; + 0638F8CFE58EB9CAA8943AE7 = {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 = ""; }; + 97E63F66B3FC5E0320D87A81 = {isa = PBXGroup; children = ( + D1FD340C6786DED8A06EA0BE, + 47E867EB426ED9E824837D86, + 3F6066E4811F5614743ADF18, + 658BA13CE4A1B5BDAB21F453, + 5E1B48EC342F75E172492CC2, + 7618E389756278E8A8737270, ); name = time; sourceTree = ""; }; + EF444DB5221CF8DDDED3D9E9 = {isa = PBXGroup; children = ( + 031323316BE5A4736C9E93DC, + E4F40BEE2B9AD2278B514971, ); name = "unit_tests"; sourceTree = ""; }; + E41BA96A0806971BC32042DA = {isa = PBXGroup; children = ( + 459BA6D8DE834F3A84690357, + 7DE03DEF670FF7640DA6BF30, + F75051C40F6B34B13C483AB9, + 1F6F203486A696D5B35DC25F, ); name = xml; sourceTree = ""; }; + F37E5C8822820A85E1271F41 = {isa = PBXGroup; children = ( + 608B61C27475B67C7A7576F4, + 31DCAC1BC537254D6601BDAE, + 47079AC015AF94DFE476F7A3, + 29A06743CB2924078AD021BD, + 3749383A7AD3AF46F8EB3FCA, + 78994CB618DA8995BE591373, + 4C5027FD6B2075613AD35069, + B87566EBDD54CCFAC1678F4F, + 68F2AA7450B6A9D910015FD5, + EFBD19501E42FBABE5F5D855, + A7883ADAF9455FDDAAC25E99, + D30B210335C1D7126A1A78E5, + 230E77EB55F7780543BEACEC, + AA6192BF5FBEB29956F62BF0, + 7792D77B7A5FC2EF7EAEAC56, + 72C1D5EB464844A2A780D6DF, + E09D3480D6B6B3C01844FB10, + 7B8CD292A12AB02D2A591A67, + C01A55BA9329E4EF3C1EA9F7, + 6C2AAB3BA21F5B8D6F001330, + A9BE2C311F9645A85098DC0D, + E9DAAB482F67143FC870344F, ); name = zlib; sourceTree = ""; }; + 28DD9A7813CC5ED5F84547F4 = {isa = PBXGroup; children = ( + F37E5C8822820A85E1271F41, + CA6A35C980DA16823A27B7F6, + 8D317883E61856EE2491FC09, + 5AD10992C4A5CF4C11FB8A0D, + 9E2419E5C9BB345B5121A6D2, + 05248CC68AF398A13747B3AF, + B4AD729202F07B7BEE54E492, ); name = zip; sourceTree = ""; }; + FEA1B0BA7F8F75F1333343F3 = {isa = PBXGroup; children = ( + CC54935AB6DA568939D2286D, + 0F2E38A5D0DB7B6AE65D0772, + B1B80970EC67FDE79B33C826, + 48F431C72D706D28A8C86AE0, + 8E6A22A8067DECDB44E6DDB0, + BA37AD6380E264EE591F8423, + 3CD4BFE1E08DDB9648E8674E, + 64CF3CC20E27BC40FFE9F7E9, + 19C3DD0AC38BC94CD90F9597, + FBE8D70C83F3A9DDBB6FA0DF, + D36CB3D0A33EE6AFBEE00515, + A31191890948D5A9B4894C1B, + 0638F8CFE58EB9CAA8943AE7, + 97E63F66B3FC5E0320D87A81, + EF444DB5221CF8DDDED3D9E9, + E41BA96A0806971BC32042DA, + 28DD9A7813CC5ED5F84547F4, + 0AB6F9DACE815C5FFE332A40, + 59E9E1263FAA9E36D6D33C01, + 3BBF7A3FFBA017A997B1F06F, + 59E9E1263FAA9E36D6D33C01, ); name = "juce_core"; sourceTree = ""; }; + 1E1AC211840B2F5FFEF23EFE = {isa = PBXGroup; children = ( 35AE3C6D75DE08E9C41DFCEE, 406DF1B4D378562F659E8565, 2A25688682B14F59080B8856, 5029A627A11CDF63AF4F5B8F, ); name = "app_properties"; sourceTree = ""; }; + 6DFD41E68E408EA2E115E031 = {isa = PBXGroup; children = ( + DEED8BDABC10E6650C61915D, + A759DC9DA67FE7574884F88D, + 9CDD6AA35716672F050A28C4, ); name = undomanager; sourceTree = ""; }; + 5C31E6E4A45D350031E6AE90 = {isa = PBXGroup; children = ( + F8084F3F1B393E24B41A41FE, + 4502D948455152F0E748249F, + 94BF50B22594BFFBBF487F68, + C01C65AA178CAAD65CDF7273, + DD813DFB4467E734B53BD1F4, + DF329E2274A09998C98424BF, + C80C46AC11D0A36B43BF545C, + 19A0D8CE0DDC2B5A8215ED90, ); name = values; sourceTree = ""; }; 584A723B020C02FF0714AC51 = {isa = PBXGroup; children = ( - E041BB0DC52093F623C413CE, - 9D61E1F52239600FDC155F07, - 20FE35E9EAC903FACAD65400, - 4999D0E2E73B14F89B3852B2, + 1E1AC211840B2F5FFEF23EFE, + 6DFD41E68E408EA2E115E031, + 5C31E6E4A45D350031E6AE90, + 219D950D919D460E57F3C590, + D1B0DB676A6A968AA8539F91, + C0E9B3EDC77F5A822BE65F21, D1B0DB676A6A968AA8539F91, ); name = "juce_data_structures"; sourceTree = ""; }; - D0B6D317D5D309AA53817F7F = {isa = PBXGroup; children = ( - 977004696868887798BE902E, - DAB4E720D859B35A658F42A6, - 085EA881D89B7D96B4E1C4EF, - 869267FDBCC5DA2192C28D1F, - 420826E000BDB4599401C676, - 4DA35338F37F962A4FE2E519, - DEEBA624C3A1C4317AC9AE65, - 2A6A33F1E1EF96645DE3A7A9, - 5328DAC2EF0B411BDEE766C0, - 15A9B402DFA75E656A407EC6, - 132527D90182FABFAD6B679A, - 6B557AF16786514B9B509F6E, - 96C10BDED107AED6A992F38C, ); name = messages; sourceTree = ""; }; - 219CF44A11B0306C4C8E089A = {isa = PBXGroup; children = ( - 7CD1D9760A7F9124BC92868A, - 4EA1329ABB28BF7D1E2BCEE7, - 86ADBCA3CFDA607F9E22805E, - 2977F9A301367D33C8054620, ); name = timers; sourceTree = ""; }; - 867F5167D5B02633DE3C27FF = {isa = PBXGroup; children = ( + 6EE84109ECE595FD76A85FA9 = {isa = PBXGroup; children = ( 8A282A87C13A4CB559B544D5, DB9ADD80EF2DCECC21876922, B73F7F0669A6434AA911BB2A, @@ -1462,7 +1884,21 @@ 7EB411B3EEEF32A2457A28A3, 84EA235515C1B97954C1F97C, 53DB1E1F972D23211F994563, ); name = interprocess; sourceTree = ""; }; - E7EB8F13CC4D253F1FBED90C = {isa = PBXGroup; children = ( + 456E82EC4B7488C7113FFF91 = {isa = PBXGroup; children = ( + 977004696868887798BE902E, + DAB4E720D859B35A658F42A6, + 085EA881D89B7D96B4E1C4EF, + 869267FDBCC5DA2192C28D1F, + 420826E000BDB4599401C676, + 4DA35338F37F962A4FE2E519, + DEEBA624C3A1C4317AC9AE65, + 2A6A33F1E1EF96645DE3A7A9, + 5328DAC2EF0B411BDEE766C0, + 15A9B402DFA75E656A407EC6, + 132527D90182FABFAD6B679A, + 6B557AF16786514B9B509F6E, + 96C10BDED107AED6A992F38C, ); name = messages; sourceTree = ""; }; + 642F2A8B30F035B091985B8E = {isa = PBXGroup; children = ( 2D5463C56EB1D673D4C37A26, 2101C88856D6E4101D4B6EB9, F8A4925B3E23206A0754205E, @@ -1471,15 +1907,22 @@ 3A4ADB03B4FDD3E092A4EA1F, BA50382ECF67058553C0CF60, 0995D7B07504B098C495A289, ); name = native; sourceTree = ""; }; + 12B3DC1CF8A8A6CB300111C5 = {isa = PBXGroup; children = ( + 7CD1D9760A7F9124BC92868A, + 4EA1329ABB28BF7D1E2BCEE7, + 86ADBCA3CFDA607F9E22805E, + 2977F9A301367D33C8054620, ); name = timers; sourceTree = ""; }; 9999265D6565E84C519B6188 = {isa = PBXGroup; children = ( - D0B6D317D5D309AA53817F7F, - 219CF44A11B0306C4C8E089A, - 867F5167D5B02633DE3C27FF, + 6EE84109ECE595FD76A85FA9, CD5127A5D0157A6C8DAE649C, - E7EB8F13CC4D253F1FBED90C, - 62AD83AD4696E47FB45585CB, + 456E82EC4B7488C7113FFF91, + 642F2A8B30F035B091985B8E, + 12B3DC1CF8A8A6CB300111C5, + FE68DFA948F52146B97EBDBD, + 2EDAD84A240F6EA14E91F843, + 8BFDC490FA70E7A2BD762F2C, 2EDAD84A240F6EA14E91F843, ); name = "juce_events"; sourceTree = ""; }; - D96C00E687028523A6B95820 = {isa = PBXGroup; children = ( + 20D5F1A4A4A6324DB72D34ED = {isa = PBXGroup; children = ( 6687C444F957D7D097F6D457, C03441A2B101989DA24967D3, 68BA33E44F2F9898C251828C, @@ -1489,7 +1932,7 @@ A26FAD7AB054AE6BFC9F106E, A889A064074C2FE54A9A2E91, 51EB466DB1D789C87174F52F, ); name = colour; sourceTree = ""; }; - C20FDADCE5D132ADD0F0B674 = {isa = PBXGroup; children = ( + 35BD68948FDB615E799ABF20 = {isa = PBXGroup; children = ( 85CEAF5ACCB37816C3B4E164, 1AE18CBB8B00852B11A325EC, 0B50BAD552D9A6704C85AC0B, @@ -1497,20 +1940,26 @@ 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 = ""; }; - 760DBB50894CEE6E6A9683E9 = {isa = PBXGroup; children = ( + BB20D68446CC3AE85E491435 = {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 = ""; }; + 9791BA760DA5ABF6520860E6 = {isa = PBXGroup; children = ( 490C9E6C4CFC2DACA9D020F5, 183BE9E5FB25F41ACD9E9773, C4F2C0004FBF55A51C7E421C, @@ -1526,193 +1975,140 @@ 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 = ( - 77451A1E595A87FE92658636, - 26A66F26019CBD79F5A91C9A, - AE3B0657991C1CC3638745B5, - 5B95BEF548E33F1BAC9178CC, - A33F0C48ADF554C6A1DE55BC, - B61A39791A34A7D5F4F8597D, - 2A1478EC61BF65EED16EED32, - FBFD05F3DE4E85E8E67D6564, - 13F6C12E9BE307E735B22166, - 3F95D175870FC0A06EE75AB4, - A67FE9CFCAF3E3883D94C392, - F89103411772458E971E8C81, - BE488D6CD2C0140A9B6E934C, ); name = native; sourceTree = ""; }; - 6D0CD7DF808796C772B9CF79 = {isa = PBXGroup; children = ( - D96C00E687028523A6B95820, - C20FDADCE5D132ADD0F0B674, - 11E04A6A98874D8C749E8125, - 5B11A45CDA3691A7C35A7DE3, - 760DBB50894CEE6E6A9683E9, - 161618966E3DD04535D909F4, - 765E46E76E5F123A08D7DA64, - 9A92559D2C772DB8D1AC41BA, - 35BA4E7412123EA78166D65C, - 6AE0098B6A2E1EAAE4229AEC, - 346D8BC0FDE14C4BE4CAE645, ); name = "juce_graphics"; sourceTree = ""; }; - 83FB8583DA1B49CE63FD33E6 = {isa = PBXGroup; children = ( - 5F467F2059AE430E6BF3F4C0, - 70423D657809189527B69E00, - 82E3B133D0E15FC5A0467749, - 5A249D355806407F5243D9F1, - 25433D0B762FBBCD430C90CC, - 43C5781576750A1503A9B074, - 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 = ( - 01C131F232C1BBF49445C4C2, - 2E4666160268FAC7A532A06F, - 2F629B6A39DD38758FE73113, - E511CD3021BC7B1AD20343B2, - 9A1630514C56BFA5361E93D3, - C355CA77AF5BDB576E312776, - CCAF7D95EA8817DFE7FA09F4, - 926BB03B7062274CF6152259, - B6CF2D9D37A988C3CBFDC5A9, - ADD6CABAAE68447D5D444C11, - 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 = ( - C54484F67D536E24BF7FC8B1, - 6315EC0AA8AAC51EF78270C3, - C6A2E5AE96FB8DE7F76D10E8, - 523CE403DBECC90810849205, - 9DF2C70BF5E27C4618AC4751, - 6149D19062A6532AEB3E2605, - AA1D7CD80094C6DD30B82642, - 8A4BBECEECC80FDC7DEA48B8, - 1FF093572568370E2BB001C1, - 13DEF72933AAB505B1665123, - 0E98BF2DDB2F83B2BDC98BC2, - E37124530592B42579281C17, - B42A973FBBF33F9386B9BB24, - 73F2C869E920D4AA0AE4EAB0, - 073A9B62DEBF52C846CC0618, - D59C9E76EDB310F15653FDE8, - CBCFD12A72DAD166AA1BDD3E, - A2181237574C8E3CEC3D3C24, - 8EE2944D2A3080C7D83EB741, - B76ADA7D2C7B3618B97ADEAF, - 7902D056FCF6B15CC6CA6C09, - 34FA3FF9A5436F6DCB4623CC, - 9A458C31170E38D728FDC648, - C8F7392BF76D1294695C6E32, - 24BAFF6F1A0F4A27038172E8, - 563FD10D94131932F199152B, - EDB7989F66D08E051F092EBC, - 05DB708BD84063136277A680, - 358A88AD27C7B7E14018D6E7, - 8B336888A6EB8C1061C30F70, - A63E53BEDA50DA92880F4101, - BFC0BB07575856E51D86BCC1, - D05BACDC19A58337F4478966, - 92123D5456E4E881FDE03CF3, - 9C3D731E59E142B877B3B40A, - 9AE96EFA03DB4690EC7D7EF7, ); name = layout; sourceTree = ""; }; - 4BCDD6827692F581AFD87F9A = {isa = PBXGroup; children = ( + FF025529157C74807C786EEA = {isa = PBXGroup; children = ( + 6883669EA20B4E4C8F7332C8, + 6D86A8ABADCFF51C6E68FE7E, + C1719CE1BA73519723E11902, + 654B5629553CCD9680B96AD1, + C41F26EAAC65B2199BC88CBC, + 26B6D9E613F5FA232B614E78, + A830EF6D7ECB2EDD363F4531, + 1B0FAC6EE2C4ACE396F9194D, + 582592E737DD51E3BF21CA76, + C817AFA5C0CEE9C3E14B4739, + 2DD2F3322103D9A3C1BC01FE, + BCB98644D57E45411C361549, + E9E7ABF5077CCB102B921D24, + 6AB611520CD0FD289530661E, + DD7B1C3AD07C439C5D9EFA3A, + 633D5689A9FB2392B224C560, + 239DE76D40B598BD8C4EB061, + 727492E01275797EEFB1D203, + B98A2FC082987EFE64DD3CFB, + DE3B3F85A68198E7DDC6DB5E, + 66E3DCCFD72D120FC8740AFE, + BAFEDE9F1387F6B7C9B0932D, + C36E60DFD9D5F5A1F39E4FBE, + 284E61081459EB34B6743390, + 723642BF3C11A3A058CD58A5, + 2818403E44A47115DC30F2B6, + A4C1AC68972416D5A16E8FDD, + BE96DC202E9382F6CA3D1206, + D784894B4F162B3576815364, + 3180C44DD400DFD8661590AE, + C47A606294D5EBBE001FCAF7, + A3B1A1F80532CE804BA8EE9E, + E8FDCDB58398061F8423F7A1, + 9AC86B157B15368A9CADAB95, + F93A54A6A61E0D449BE3CB20, + 2D1E044B619492E7AE913DCA, + EB3D111F4DAFB2768889A744, + BF6EA9101F25F8058F083E53, + 7090BE7F80DF1DDDE7353895, + 5A13C14AEEA28347CA73181A, + 32D72BFD938BAA4EB61A9070, + 7C7F07452BCE46EA7762BC6B, + 6769D45BEDDB42E442FA1598, + 7F368257C9C1C4B3ADBC2ADD, + 4B11D897DA7A7E93D265EA99, + D8EB90535879E3AF3FE0A708, + 933B61E6F172617811313949, + 1F1082CC4D7FBF043D05526B, + 12050311A5472BAE1C67F79F, + 4377E744DC7B1CA18A6E47EC, + 2E700828CB0D1F08D224E8AE, + 7BAF731EADCE4ED666995FA6, + DE83DBD9ADCA8EC7348BB6DC, + 9EC5AE6597C1E855A915B783, + 5AB8014F5AC9B6FAE8AA3A3A, + 71C9EBA828B32AF1E06B0D29, + 0B904C527F6D69E56737038D, + CB2AF0A6BB332F80351AD147, + 33615429CC44DA129BC89CE1, + 3CB555A60209891A50F5B070, ); name = jpglib; sourceTree = ""; }; + CAD6ACA2F07B39EC41D34D40 = {isa = PBXGroup; children = ( + 6913E864125CD2963640666A, + 6EC028C46F11FB59C82A52C3, + BEE35352C0A49EEC349D91AE, + 2456143F4345A16D4BEC7269, + 00FAD2E802473059D1070740, + 6BF5CCF5772843264CE24EB3, + 243B3611F9EFF12E3F49B2D2, + 6707FE3BB2A820A6E63670E0, + 64CFBD667CE9EE412701CCA6, + F797B276E196426FCFEBC5AB, + 81FAF5A8B764D00191519633, + 3B9932C1C93372092E560D68, + 2F1FA1889BD62AA6AF38F2EF, + 60DB4385BFD57D6957043017, + 23D290D1C352B077F3D66124, + 7AC9ED089A8F88312F74A6E1, + 4618C199691241A73C70E796, + 95584D6C2E3B6A4FE5521C45, + E92312D03143678C3428955B, + ACAAF7839171100545E47164, + D9AFC0EC76490846F70F5EC5, ); name = pnglib; sourceTree = ""; }; + 77CF9718C3EFF9D8B7A9F410 = {isa = PBXGroup; children = ( + FF025529157C74807C786EEA, + CAD6ACA2F07B39EC41D34D40, + ADDD1F7465029C1760729DEC, + 626A01BA93A061B77DE39B01, + 3FD158E0EBB5A23F749067E3, ); name = "image_formats"; sourceTree = ""; }; + 234AEBCB54CA819AD9AB4338 = {isa = PBXGroup; children = ( + 64E9F1A471FB4139A86242AD, + 7983BE181790E622062ABDA7, + EF6DCFE1A8648BA97D9E027B, + B2B7AA7BD345763FD87C6F6C, + CCB0F34697E82EF0D5FF4B44, + 5B43C06682E6348DCD10BECA, + E13F0F8F7F6F633D94F8852E, + 10BE0702983DAC068A700C60, ); name = images; sourceTree = ""; }; + A1C75CA6330C60A64213FA09 = {isa = PBXGroup; children = ( + 77451A1E595A87FE92658636, + 26A66F26019CBD79F5A91C9A, + AE3B0657991C1CC3638745B5, + 5B95BEF548E33F1BAC9178CC, + A33F0C48ADF554C6A1DE55BC, + B61A39791A34A7D5F4F8597D, + 2A1478EC61BF65EED16EED32, + FBFD05F3DE4E85E8E67D6564, + 13F6C12E9BE307E735B22166, + 3F95D175870FC0A06EE75AB4, + A67FE9CFCAF3E3883D94C392, + F89103411772458E971E8C81, + BE488D6CD2C0140A9B6E934C, ); name = native; sourceTree = ""; }; + DD7567CAFCEFEFFB08B3B1F8 = {isa = PBXGroup; children = ( + CD90BB1F67F6D769D73D3A01, + 281A6D0D7525F65789FB49EF, + 9BC778712D665C9DF94C08A0, ); name = placement; sourceTree = ""; }; + 6D0CD7DF808796C772B9CF79 = {isa = PBXGroup; children = ( + 20D5F1A4A4A6324DB72D34ED, + 35BD68948FDB615E799ABF20, + BB20D68446CC3AE85E491435, + E9D66FAE21704D06A0B83946, + 9791BA760DA5ABF6520860E6, + 77CF9718C3EFF9D8B7A9F410, + 234AEBCB54CA819AD9AB4338, + A1C75CA6330C60A64213FA09, + DD7567CAFCEFEFFB08B3B1F8, + 56E98D738628077B6EB347BD, + 346D8BC0FDE14C4BE4CAE645, + 21A1CB994664ABEFC0765425, + 346D8BC0FDE14C4BE4CAE645, ); name = "juce_graphics"; sourceTree = ""; }; + E179AA8363D407407D7C51D0 = {isa = PBXGroup; children = ( + F193B593463CBEA3B4F399C1, + EE10729725D82DBAF10420A9, ); name = application; sourceTree = ""; }; + 3AD2E7F13DCF32599BEF8846 = {isa = PBXGroup; children = ( C2CED429B672EB6A5D299F68, 640409A66565092660767890, D33A70241E8C2D22B6409385, @@ -1731,22 +2127,27 @@ 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 = ( + F4ADD1483725D2BEDB6A4B3C = {isa = PBXGroup; children = ( + 17A622FB24C67AF413278C9D, + EF26FBEF648444F597EED4D9, + 4166F8C587E680C19CDB28D2, + 292937C4EBBA8D66231DEF1E, + 858D95EA823FCD1DBFBC4E96, + DE62CAD14A6EA0B6F66E2B9A, + 0A4BDBC90AD26454FF1F992A, + 54D12DFAAC0B8DA6E394204C, + 7219E995BF8937AA13EF0937, ); name = commands; sourceTree = ""; }; + 58AB2262FDB137159188874A = {isa = PBXGroup; children = ( + 5F467F2059AE430E6BF3F4C0, + 70423D657809189527B69E00, + 82E3B133D0E15FC5A0467749, + 5A249D355806407F5243D9F1, + 25433D0B762FBBCD430C90CC, + 43C5781576750A1503A9B074, + 1AE59A7E8079843A9523C1C3, + 0172D6B3308953A0A0484272, + D00B28DABFC2293AD6A9D856, ); name = components; sourceTree = ""; }; + 2AB23CFDD3120198A822CE4C = {isa = PBXGroup; children = ( 48914D8EF53DF4F467B5C38E, 19CF04AE6B9BA0BF4B673644, 3A0905D5A44682BA32E890B5, @@ -1762,30 +2163,6 @@ 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 = ( - FB80193BD95C440867B71614, - 58DBF3229DF035E3FDE0DD96, - 5BB8C184757E8472A0DBC655, - A9C00D8F92DFA295261DB56B, - 2E9A0954247D4272C01A7EF1, - 3F97F503656083301FF92E9A, - 31706C2C6BC3F1FE61C6F336, - 81A990BB88C606DFA9303366, ); name = lookandfeel; sourceTree = ""; }; 6D3969CCF4EF5BD6940299E6 = {isa = PBXGroup; children = ( 85929AE1240EF7396488E6EF, 1E02F37ED1CED5CE1DDE07A0, @@ -1809,25 +2186,100 @@ 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 = ( + 43076345FD6E07F00D2C0CE3 = {isa = PBXGroup; children = ( + 01C131F232C1BBF49445C4C2, + 2E4666160268FAC7A532A06F, + 2F629B6A39DD38758FE73113, + E511CD3021BC7B1AD20343B2, + 9A1630514C56BFA5361E93D3, + C355CA77AF5BDB576E312776, + CCAF7D95EA8817DFE7FA09F4, + 926BB03B7062274CF6152259, + B6CF2D9D37A988C3CBFDC5A9, + ADD6CABAAE68447D5D444C11, + 1113FC41E8F9E67116F34119, + 4C1C0EABAF9943E25BB843E2, + C8ED6F312DBD9DE5E9A1B568, ); name = keyboard; sourceTree = ""; }; + BFE8A52D7A814C02962CB9DA = {isa = PBXGroup; children = ( + C54484F67D536E24BF7FC8B1, + 6315EC0AA8AAC51EF78270C3, + C6A2E5AE96FB8DE7F76D10E8, + 523CE403DBECC90810849205, + 9DF2C70BF5E27C4618AC4751, + 6149D19062A6532AEB3E2605, + AA1D7CD80094C6DD30B82642, + 8A4BBECEECC80FDC7DEA48B8, + 1FF093572568370E2BB001C1, + 13DEF72933AAB505B1665123, + 0E98BF2DDB2F83B2BDC98BC2, + E37124530592B42579281C17, + B42A973FBBF33F9386B9BB24, + 73F2C869E920D4AA0AE4EAB0, + 073A9B62DEBF52C846CC0618, + D59C9E76EDB310F15653FDE8, + CBCFD12A72DAD166AA1BDD3E, + A2181237574C8E3CEC3D3C24, + 8EE2944D2A3080C7D83EB741, + B76ADA7D2C7B3618B97ADEAF, + 7902D056FCF6B15CC6CA6C09, + 34FA3FF9A5436F6DCB4623CC, + 9A458C31170E38D728FDC648, + C8F7392BF76D1294695C6E32, + 24BAFF6F1A0F4A27038172E8, + 563FD10D94131932F199152B, + EDB7989F66D08E051F092EBC, + 05DB708BD84063136277A680, + 358A88AD27C7B7E14018D6E7, + 8B336888A6EB8C1061C30F70, + A63E53BEDA50DA92880F4101, + BFC0BB07575856E51D86BCC1, + D05BACDC19A58337F4478966, + 92123D5456E4E881FDE03CF3, + 9C3D731E59E142B877B3B40A, + 9AE96EFA03DB4690EC7D7EF7, ); name = layout; sourceTree = ""; }; + 5779B48522A9ABEADF0DD0ED = {isa = PBXGroup; children = ( + FB80193BD95C440867B71614, + 58DBF3229DF035E3FDE0DD96, + 5BB8C184757E8472A0DBC655, + A9C00D8F92DFA295261DB56B, + 2E9A0954247D4272C01A7EF1, + 3F97F503656083301FF92E9A, + 31706C2C6BC3F1FE61C6F336, + 81A990BB88C606DFA9303366, ); name = lookandfeel; sourceTree = ""; }; + 0808A0FD69527B974BBF7E65 = {isa = PBXGroup; children = ( + DFB53C51F58D5F2CC3B488C9, + 3947CE32DD0E2EF74A9A5685, + D5B2347B8869A49762221315, + 5786743BB354833AD3E7C941, + E8591ABA5B7B62C30D83359C, + 452DA077C32F269A990CAF7F, ); name = menus; sourceTree = ""; }; + C4ABED88FCDCEBF8C7B9C8C8 = {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 = ""; }; + 51558FA36D3D9B000C0C624E = {isa = PBXGroup; children = ( 3CD7992BECDBC3ABC6BF20EC, CF7E9C84229F57D36F3F121D, AE7A50472A120B0FCD6941E3, @@ -1844,27 +2296,107 @@ 29270807EE1FFA28E8B97173, 6BCF17B2983BB7D7DF91CA8F, F399C5718D31B61C2204231D, ); name = native; sourceTree = ""; }; + EB353B29B0BBE52D18DBA9F2 = {isa = PBXGroup; children = ( + 45AEBBCAC5AEBF62F00C26B2, + 115DD24D8087A0F9DEDFE56A, + 8A9C5EBA0F19F7979A38DDF0, + C12A4B017FACBA4EC31EA7CF, + D8CB941CF4128105B5FA76FD, + 63217D136190E7F6D1D7D4B5, + 298F762E40199B266A9E2BFC, + BFF3AE3A9F6BB64BE5616A50, + 26FB1EB0E5333AFEB5A9C673, + E7AC5DB63FE9C67DA227E2D9, + B2324576FF886CB84C45CC49, + 2DCE43708C0681747EDD7D71, + 5A8B09391BEE95EFE335F7EE, + 02F93E26C18DF960E7F84C58, ); name = positioning; sourceTree = ""; }; + 685CF710775AF04898B38D12 = {isa = PBXGroup; children = ( + 2D5C31D2E08FE74B61101250, + 13BE2012758BD5A811FB1619, + 2C16FFCFBF61CF478520019E, + AC61D2A968CDA510B480DC8D, + 846D8BE3FE17967539E883C3, + 2E22793041EE56845DCD02A9, + B9686DBC8D800831E3CEC46C, + E87F503108182FD43982C45D, + DF78C17F0D24AB45003D96BC, + 18C27047735CAAD217F9C7CF, + 6187479B8B75C129BEFF9CF3, + 44A7BA2DD53EE355E052627B, + 550ACC8080B604CACF4A1327, + 6CEDDB70061CF81C7ADCA315, ); name = properties; sourceTree = ""; }; + 42E46EAD5F4D7E28FD16C744 = {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 = ""; }; + D7AC1DC83785EF5B008A645D = {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, + E179AA8363D407407D7C51D0, + 3AD2E7F13DCF32599BEF8846, + F4ADD1483725D2BEDB6A4B3C, + 58AB2262FDB137159188874A, + 2AB23CFDD3120198A822CE4C, 6D3969CCF4EF5BD6940299E6, - 82441657EFB9BB5DEBE86CCF, - E268D6E2AAB12B20D826CC5C, - D951574DD75B51FCEC27319C, - 3EBD4832DE0F6F063F1044BA, - 5132A84A1CFE138A30001C77, + 43076345FD6E07F00D2C0CE3, + BFE8A52D7A814C02962CB9DA, + 5779B48522A9ABEADF0DD0ED, + 0808A0FD69527B974BBF7E65, + C4ABED88FCDCEBF8C7B9C8C8, + 07D1770E88FE8886FF649937, + 51558FA36D3D9B000C0C624E, + EB353B29B0BBE52D18DBA9F2, + 685CF710775AF04898B38D12, + 42E46EAD5F4D7E28FD16C744, + D7AC1DC83785EF5B008A645D, + 1E50F86548FFE659430A5F81, + 8FF8814C6B322D670346712C, + 214E214858B30900A6574117, 8FF8814C6B322D670346712C, ); name = "juce_gui_basics"; sourceTree = ""; }; - DE034CD3F8B6EEDDB5F6F31F = {isa = PBXGroup; children = ( + AFB7BBD531E583B985034DE6 = {isa = PBXGroup; children = ( 5B5CB42B086D6C224DAE0E6D, 422C87B3D3D2872C96A14CC6, 50CC32A6DB1FAB3BE0A4FC43, @@ -1877,14 +2409,14 @@ 0A0A30A2CAA17BE4553F9465, C3394561ABDB194AEB884302, 6B59BEC92B516D43CA1CCD9C, ); name = "code_editor"; sourceTree = ""; }; - B65C5DC5F573D67F1E92B850 = {isa = PBXGroup; children = ( + ED7AE94D0FBB3FBD5C270461 = {isa = PBXGroup; children = ( 0C4B79BB601F5DF62EEEC1C5, 3FCF0D0C9F880010271C14B3, ); name = documents; sourceTree = ""; }; - 53E1F867C97D508EA6B48200 = {isa = PBXGroup; children = ( + BD6EE3D913CCD4CD7CB13747 = {isa = PBXGroup; children = ( 6EDA91C4144284C146EE3DA2, 0AAE51BE8E94296CA6BB89CA, 0671CDC6377ED9857C888231, ); name = embedding; sourceTree = ""; }; - 9CA7E3B97E045033F8697E73 = {isa = PBXGroup; children = ( + 20FD96A2C15F43AA1CD10CB8 = {isa = PBXGroup; children = ( F0E612E65C1E568B58E7D805, A382A4098E0ED5A32CE5D0A9, 1FB94F455691A12EC9FBFBDA, @@ -1905,7 +2437,7 @@ B67BFA128C643401AF15A6B2, DD80465B0BAAD50257737B48, 3C9794FEFFD6B2B3CB8F2B65, ); name = misc; sourceTree = ""; }; - D1A4618B6E803098E88C4BDB = {isa = PBXGroup; children = ( + 9ADAAA64CED38A3B03E58D5D = {isa = PBXGroup; children = ( 9FB590DB65B12105CB3331E0, 6DECD794AF3A19681E99CBAD, 71B627770E6643672558C9ED, @@ -1919,12 +2451,14 @@ DC60770546B09AC16CFE70FA, E65776E6602743E468EE79F7, ); name = native; sourceTree = ""; }; 68648549A04799D8AEE2B77B = {isa = PBXGroup; children = ( - DE034CD3F8B6EEDDB5F6F31F, - B65C5DC5F573D67F1E92B850, - 53E1F867C97D508EA6B48200, - 9CA7E3B97E045033F8697E73, - D1A4618B6E803098E88C4BDB, - 0E18901E9C32415284BA768A, + AFB7BBD531E583B985034DE6, + ED7AE94D0FBB3FBD5C270461, + BD6EE3D913CCD4CD7CB13747, + 20FD96A2C15F43AA1CD10CB8, + 9ADAAA64CED38A3B03E58D5D, + EF4F18F9213D3238A4002F8D, + 3ACCA940E7DAAF1360518308, + A21D4A32B970D081ECF552F4, 3ACCA940E7DAAF1360518308, ); name = "juce_gui_extra"; sourceTree = ""; }; DA8FE3C7F864386E24D8CC2A = {isa = PBXGroup; children = ( 0690EECB6F2AB185DA0731CB, @@ -1940,24 +2474,26 @@ 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, 26BDDBFEF106516A3BD127A5, + AFDE2BF9DBF2382C4106B4C7, + 289C8993673B68777CF3A968, 5DB9EA613B6C375A620567D4, E9DA836CFC56933A44FCB8DE, 61275921D3E9ECE1690FD578, @@ -1966,7 +2502,7 @@ 566D5E15DB1A5D46DDC9B861, 913C67AB487B1455B97E8A3E, ); name = Frameworks; sourceTree = ""; }; 396BE724B1AC489682B74278 = {isa = PBXGroup; children = ( - 13966A9213FDBB55FF26B12F, ); name = Products; sourceTree = ""; }; + AB7855931CA983F4EE039617, ); name = Products; sourceTree = ""; }; 937739BC97C6E6294CDCF171 = {isa = PBXGroup; children = ( AEB39FD252263E85F2FFE6BC, DA8FE3C7F864386E24D8CC2A, @@ -1974,7 +2510,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"; @@ -1992,9 +2528,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; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; - 882C0061E66EA99B23B90D15 = {isa = XCBuildConfiguration; buildSettings = { + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.MidiTest; }; name = Debug; }; + 8508F29925B0BD0B7BFF3FF3 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2013,12 +2550,14 @@ 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 = "$(HOME)/Applications"; }; name = Release; }; + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.MidiTest; }; name = Release; }; E12A8778C1F50489C01F266F = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2054,31 +2593,34 @@ 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, + 020EF5B77BB12676D5084F84, 99268544C0ECDC5566CB6B2D, 4102C958B0DBAC6BE9614E71, B5839C1ADE6343A97E377F9E, @@ -2086,11 +2628,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; 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/iOS/MidiTest/Images.xcassets/AppIcon.appiconset/Contents.json b/examples/MidiTest/Builds/iOS/MidiTest/Images.xcassets/AppIcon.appiconset/Contents.json index 5ca51e92..c0af172f 100644 --- a/examples/MidiTest/Builds/iOS/MidiTest/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/examples/MidiTest/Builds/iOS/MidiTest/Images.xcassets/AppIcon.appiconset/Contents.json @@ -3,19 +3,19 @@ { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small.png", + "filename": "Icon-29.png", "scale": "1x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@2x.png", + "filename": "Icon-29@2x.png", "scale": "2x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@3x.png", + "filename": "Icon-29@3x.png", "scale": "3x" }, { @@ -113,6 +113,12 @@ "size": "76x76", "filename": "Icon-76@2x.png", "scale": "2x" + }, + { + "idiom": "ipad", + "size": "83.5x83.5", + "filename": "Icon-83.5@2x.png", + "scale": "2x" } ], "info": { diff --git a/examples/MidiTest/JuceLibraryCode/AppConfig.h b/examples/MidiTest/JuceLibraryCode/AppConfig.h index 4bc16aff..d0526bcb 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 3b762e04..d0075dc8 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..97bd2c56 --- /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 00000000..8eae7c6e --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 7d4583db..00000000 --- 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 bb997d30..00000000 --- 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 06e88f93..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 0aab095f..cf99e64d 100644 --- a/examples/MidiTest/MidiTest.jucer +++ b/examples/MidiTest/MidiTest.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.1"> @@ -78,7 +78,7 @@ - + @@ -99,32 +99,30 @@ - + - - + + - - + + + - - - - - + + + + - + diff --git a/examples/MidiTest/Source/Main.cpp b/examples/MidiTest/Source/Main.cpp index eeb0816b..67e4b368 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 e4ac1074..5cd57040 --- 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; @@ -251,7 +251,9 @@ void MainContentComponent::resized() void MainContentComponent::buttonClicked (Button* buttonThatWasClicked) { if (buttonThatWasClicked == &pairButton) - BluetoothMidiDevicePairingDialogue::open(); + RuntimePermissions::request ( + RuntimePermissions::bluetoothMidi, + [] (bool wasGranted) { if (wasGranted) BluetoothMidiDevicePairingDialogue::open(); } ); } //============================================================================== diff --git a/examples/MidiTest/Source/MainComponent.h b/examples/MidiTest/Source/MainComponent.h index 2c349619..904ca836 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 new file mode 100644 index 00000000..49f701d5 --- /dev/null +++ b/examples/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile @@ -0,0 +1,166 @@ +# 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) + +ifndef CONFIG + CONFIG=Debug +endif + +ifeq ($(CONFIG),Debug) + BINDIR := build + LIBDIR := build + OBJDIR := build/intermediate/Debug + OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_6D53C8B4=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + 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 := JUCE\ Network\ Graphics\ Demo + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) +endif + +ifeq ($(CONFIG),Release) + BINDIR := build + LIBDIR := build + OBJDIR := build/intermediate/Release + OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_6D53C8B4=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 + 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 := JUCE\ Network\ Graphics\ Demo + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) +endif + +OBJECTS := \ + $(OBJDIR)/Main_90ebc5c2.o \ + $(OBJDIR)/BinaryData_ce4232d4.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 + +$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) + @echo Linking JUCE Network Graphics Demo + -@mkdir -p $(BINDIR) + -@mkdir -p $(LIBDIR) + -@mkdir -p $(OUTDIR) + @$(BLDCMD) + +clean: + @echo Cleaning JUCE Network Graphics Demo + @$(CLEANCMD) + +strip: + @echo Stripping JUCE Network Graphics Demo + -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + +$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling Main.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling BinaryData.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_audio_devices.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_audio_processors.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_core.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_data_structures.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_events.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_gui_basics.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_opengl.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_osc.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +-include $(OBJECTS:%.o=%.d) diff --git a/examples/NetworkGraphicsDemo/Builds/MacOSX/Icon.icns b/examples/NetworkGraphicsDemo/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/examples/NetworkGraphicsDemo/Builds/MacOSX/Info-App.plist b/examples/NetworkGraphicsDemo/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..798ab5f5 --- /dev/null +++ b/examples/NetworkGraphicsDemo/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + Icon.icns + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + JUCE Network Graphics Demo + CFBundleDisplayName + JUCE Network Graphics Demo + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + 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 new file mode 100644 index 00000000..05617006 --- /dev/null +++ b/examples/NetworkGraphicsDemo/Builds/MacOSX/JUCE Network Graphics Demo.xcodeproj/project.pbxproj @@ -0,0 +1,2813 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + + F468E8C7B02DFD4D53911277 = {isa = PBXBuildFile; fileRef = E4162459ED4C829EF7B19691; }; + 80EE2C27B466BAFD83881D3F = {isa = PBXBuildFile; fileRef = 2E13A899F4E3C99054A3656F; }; + C4D6C466C41173D6970553D2 = {isa = PBXBuildFile; fileRef = 9E8129263CD42C6029FC2CAD; }; + BED88ADEA4DC91AA8C810FA8 = {isa = PBXBuildFile; fileRef = 398A945EFD9ED923162982B1; }; + 3C30D7C28C86F4054257DCD5 = {isa = PBXBuildFile; fileRef = C78806A6727F44EACFDED4A5; }; + 67DF295E93E54432043126DF = {isa = PBXBuildFile; fileRef = 6799B056504F9F017998B9E2; }; + CA694B2A73FCF12D7F9E7E49 = {isa = PBXBuildFile; fileRef = 448838BE6E937D450A3C84CE; }; + 80B9F7ED2009922C693B7DD4 = {isa = PBXBuildFile; fileRef = CB82A14817C3E2ABBBBC3864; }; + 77745BF98931B91341FE17F6 = {isa = PBXBuildFile; fileRef = F3292E3563DB7ABB076DB400; }; + B323E5E5FBD5663B21A8E623 = {isa = PBXBuildFile; fileRef = 996E743A20FC78671766BF59; }; + EC14DA30C090DDC62084DB4C = {isa = PBXBuildFile; fileRef = 935CA85EF98714D3A17AE737; }; + 8ECB0767EE340DD83869E37D = {isa = PBXBuildFile; fileRef = EC794872987FEA2E129C589A; }; + 65B2C4ED19229E0EDC8EF993 = {isa = PBXBuildFile; fileRef = 696F7896036B652369517438; }; + 006DF460F8DF66EFFA80D968 = {isa = PBXBuildFile; fileRef = 70F1CAF3C4C561DD81E6AFC1; }; + 987CBD5330E76B404F0D966C = {isa = PBXBuildFile; fileRef = 77C0AC21C1028911123844FC; }; + 9F618C008A503063D10076C4 = {isa = PBXBuildFile; fileRef = 74711D7544168CCAC4969A07; }; + 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"; }; + 001CA7EAF68DA335025FF01E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + 008187B05C0B633EE28ABE56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + 00B6967A854897C9D379AAF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 015F1D2D5F78A62C40AD1B67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + 01641AA0EEDDC5059FC28EF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0186D1FA79D760C30575B900 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; + 01A0FE7CE574B63A82297143 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + 01C4EE8B6ECDCE59C6D59896 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; + 01E2D0EC4D596AB94D022EA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 01F6751F1A5EC2C9578F9D65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02181D9B5A755E385CD47FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 027A576839D1AF609FEB7DFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; + 029E06243E22D19B62C7FAC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + 02B2B5127DF9BF906368E988 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 035144F9C35671488A15E9F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + 03633F8B1DF9BF6E54F78D32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; + 0368A590FC29803595DF7D62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 03C5EFBEA606B1857E2E7E70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; + 03CA60ABCF619E81CB165C97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 03CD52285663EB462E66AEDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 03F0E358E328911FE44415CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0402044CF4F834C138AA337F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + 042DAFB982DBCB0940DAC979 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + 0456E3F8B40732E545A844CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 04609F32D6A859ED385DCBE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 047CB008052CCD126633FB9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + 04F797332FEC7F3DEAE457B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 051B1F5CA25863E123C662B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0543BDC4AF5B2ABF41749383 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCBundle.h"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.h"; sourceTree = "SOURCE_ROOT"; }; + 0555BAE6156EAF15CA77A2D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + 0566C8771A3278C82D183A98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 057E2AFB89FF0CF0CAA013AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 05C08B8A9AA77D8F0064467A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 05FD1A2AE03215E9DF92132F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + 063D31B5B54388180EC938FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; + 065E2D6F3751D5E0629A478E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; + 06753930A82DF7E1BF429914 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0679221D71CD972EE07343B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + 06E0E9069EB3A4DED12A83DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 07955C2B1994766829BE8043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; + 07C80E087D94784140EBF39F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; + 07EA9462917C02F0805971A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; + 0833B2844B74E56A7F375B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + 084DC67E578B4943704DF6A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; + 085FC01079EE77D52D1ED893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 08AF4D7E9DE1F55B2D45C8AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 08CCA1B6C1824CE73281A769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; + 08EF9C1A184B049FA45DF95F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 08F0F20CA590351DD32B176E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 092152EAB569DB7795FD7B2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 093DF902CE8D8765BDE6EBB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; + 09532D678D2C41FEFACA71F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 096BB22B9363BAC781C4668D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 096F493E855364B082CA966C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 097E290A4679C103208EF789 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + 09802FE2689EB8288E554B4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A05B1F2D014870BD4B21E7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; + 0A4955566797EBA0ECE56806 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0AA8C50916EA7ED0DA117B6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; + 0AD627D1D2B082D09E1AA078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 0ADF0DECFCB1DB4D3A847EB5 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "juce_icon.png"; path = "../../Source/juce_icon.png"; sourceTree = "SOURCE_ROOT"; }; + 0B37C06B070C6F069F23A812 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 0B57E599C2FAC4FCF8175BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + 0BAD16A58A9CBB0A2FC3C273 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + 0C487F069E493BF67537758A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 0D166F0A45739D0B47E30998 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + 0DD52BE61E4DCA9575F5649F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; + 0DE14A1FA22B83FEA8DA8AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; + 0EAE4A004CEB66D275142FCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + 0F1A0B54E2BEEADD7DC1A3FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + 0F26080D0E46879414836AE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + 0F85515398F5F9A00BB31FAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; + 0F98FB16D69403E94F1BB9C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0F98FC70765AB9D2566AFD47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCArgument.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCArgument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FD691EB4DE6A5517085781E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; + 101637AD0747ECC48982FDAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + 10170D04538387CCCDC7C02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; + 1070CD5C289E13B829661610 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 10D5F9D8D44A252288D19F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + 10E1C3C331DF35D35508268B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 10F958EF56CFB17EA747F3B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + 111058D736659E73DB065469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 1140A39FF348973EE6F372CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + 114D2A42345F3C8642455581 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; + 11561CA1FD46FA08C2EF0C9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1172DC1C9E21CAAF0C82687D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 118B1A6119520DC2CCE4E119 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; + 1197F204437B7E10650C45C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1199999650BF539117869187 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + 11C77FD8A2AFF3BD8475DE0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; + 11E02BC0DACDA2B24C5E48CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + 11FC5BF4D4CE5451BA651132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1204FCBC82EA38A9512D0D81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + 123CEDA734678EE95C34463D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + 1296A96AEE50FD66957B71C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12F6DB893E5757C9F3D00F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + 13253E26F27F1E3D9AF2E15E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 14340FB465ADE55CB3E9B66A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + 14527382440E68E3F0EB8198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 14B4A539EBA209BC22B91F76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 150135E20D3B4547F1B8A76F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + 15AF91E3F446F92E4B2F7093 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCMessage.h"; path = "../../../../modules/juce_osc/osc/juce_OSCMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 15CE7C374E0EAC568806FA7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; + 15D277FFB993448CDB52E307 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 15EC4D082AC33A2DFBAA8560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + 15FB19A9D4DE60608E5E123A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 1666AE6ED73DD0DD85574640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; + 16A3BFE2C5679BDD49A4F424 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 174350B11E9207B7038E2BFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 174E22634C4ADC7062948B9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 17CBE6045D10290C77948F0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 18134B1B0216D1307B929E00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; + 181C1A360C01EFF44A3BB18A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 18874E042E7799AE612BA77B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 18CE8447EE68998F8B8A73A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; + 195A632E2BD30EC0CC6E869D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; + 1989B5707DDA6E738FAABBD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 19CFE2273750BDC1F9C2BA4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; + 1A25D684574EDD045683D4E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + 1A5086FB7B39D1C8FFAE63D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 1A593509B099BCDAFE5303E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A5E7683202DE3D3B911F9C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 1A89B025B5C028C536ED4A8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 1AACF2D716FEE0171F84F3B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; + 1AB81EC2CA06F18202F3049B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + 1ABEE94704EA506C399E9BB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1AC73EEBD03A5926652CB682 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + 1ADD2315C0E364D635A88C2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + 1ADEA6673C57B57FC0BBCD04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1AFAD88BA98AA530A435A680 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B4E025E8860D906F0ABA692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B9BCCBA7BA4D87454EC8710 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BFF9FF8A046E614580B8B78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C36397644AEF2DC1576C3A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C38EDA19B0B3A45BA47CE6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCMessage.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C3BC60557F9F8C06DC2FB76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + 1C99350395AE046857697B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CC39E35ECF5370304D47357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; + 1D0F3060DD65B305A1C0E72A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 1E56FD9A78DFADF577A7254E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; + 1EC3DA6CEB73D40AF6EC5194 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 1ED0FAAEFF9D4A6426E76E89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 1EE2B1FB37648506A369D269 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1F13AE4603A0990EF106C23D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 1F2CA6A50920B655340552D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 1FC13A030A27EBEC285B1F24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; + 20802D1854C7E66EBFCF2992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + 208B3803558F7BECB0A0AA42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + 20A8D459915928C05BE0BE48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; + 210B445861AC2BD744D97F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + 21463097F39306018F8C1FC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; + 21530C9C69B792CA80BE9398 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + 21AC48EBF734FA48E43F62BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + 21DB75038D3D7619DD53E851 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 22405CB8890111CFD8D60008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + 2253863C60C8AAB3DBA4B5F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 22A9BA274F3AD6FAF4331D11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 22DB4FA35CE02FC78E9F166A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; 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"; }; + 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"; }; + 251F11F4407E34F0F88AA1A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25B024942AF178A196E7C978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; + 25DEDA8C9F94A6C8DFC8E53E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SharedCanvas.h; path = ../../Source/SharedCanvas.h; sourceTree = "SOURCE_ROOT"; }; + 25F7E2E0BF7DF2E71648BFFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26407477D58D92220A6AA6E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 264B51063F7AA584D23B426E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2669CC5C7AE7A916B5F5CF89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + 268EAE33422B585DF545499A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; + 2698E95DD86A2CFDC1FAE49D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; + 26B7A212D6DBD337A4F8AB7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; + 26DDCC5B563483D67D645398 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 271E50C630064BE5145AAE32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; + 271E9E19BDC24378E6E73175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27568E51257A3876D535CDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; + 276FBDD27027CDB3CDE7A1C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27A192427FAA8C466F9D8EB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + 27B46B69A1381640C0C14CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 27BC9669BDAA9F041FC21837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 280CB58A46300BC229661DD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 282B495AB94F47BD60C7E62F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 28367208E4B58AAB9E29EF33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; + 284179F9F53CAA88CAC51B44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 28861D0EC5C396B9FFCFF1B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + 289B6067D3B3FED5F7A64AB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2931409E5426C745CB3B6EE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + 2A10DFB3A22E8AABF4763F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 2A77EE2209FDF066386F30AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2AA07C55625E1ADD22E9A4D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + 2AAA2414F61ABBBF1C571901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 2ABA2A324D752641AD2EA84D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2AC5CE6B79D6D7DE8F93F4EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 2ACEBF748334BD2B0CBAE26E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + 2AF3F242C6AE6B81BEA684EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B14736595E3FFC604AFBD7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B27A56579939EAD06DD6061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B79AFD47F8E64BCF455B809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; + 2BFD752818B1B0DB0B87EE82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; + 2C3C1AC071BC4252A33CD5AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C81620BC3A57FBC961B6A01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C8DB3B21316CF58A088AE4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2D4E5BBC19F41BB8512E5E03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + 2DAA78D998963C52C0DC9AC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2DAF843B2C0DA27E8741E080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; + 2DE77B2A3336EFC65E5000D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; + 2DF237E9FA7AD27A7EEADC82 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + 2E03472E7A539A88DE0273A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + 2E0625B5D067CE55D4D7F087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E13A899F4E3C99054A3656F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 2E551D5175FA94E0FFBF08F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 2F73502BA5E56A33469D93EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FAFDCAFBC5054B61699B4F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FB4483EADD06BB5F6BFC110 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 3020CB57085A70221FC0042D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 30359A3FF714F0D5FA7B628A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; + 306D2FC4CE156DB61D67C0E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + 30AB52C8CD7DE116EA6F5C56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; + 30B528362C388E5B51DF91D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 30D2B2F180671715D1CFAD5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 30F2AD2BB15BF2CE7B9ED560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; 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"; }; + 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"; }; + 3235BA8BC4542F69C66DF218 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + 32D795DD8B6BBBE5450AF17C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 32E5AD1B0A329492EDB0D49C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3320CAFB079DBFED7E79D33E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + 333E5AB794D5FC5A798A285C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 334E1EA595F4B89AB02E1D2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 33BC58E78177565C62B8FB82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + 344BD32A57659CA7D813B81A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; + 3481CFA2138FAF27F8514E06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + 34CAFBB1E014F17C6111C716 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + 34EB899E8979338EC82FDBD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; + 357921A7E994C213A2D768DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 357FB6126252FB4FC7551A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35A404D8F4164D65C3E4DCC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 35C3E6043EA3FF47B106036D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; + 35E9781C54B1729BDD73DEC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + 3601DA62C81D9C4FEB9CAA23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 36DB2BF91B5D3D8462CB4AD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3737EA20E16E2ACBFB968CD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + 382C1DB36E41E2DEB77B11ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 392241F3DB6CF033BB44FF60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; 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"; }; + 39F57D79499AFD60A8706173 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; 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"; }; + 3A7F1ED5671AB4D4FF793D48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; + 3AE3D7A50A8D7F598DB6F0AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3AFE6A8E50B92299EB702A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; + 3B8472D078D53F1910418082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; + 3B92F7E81BAB71A0460668E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 3DAED22E89A1023AE9AED449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; 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"; }; + 3E313B4096468DD5EE551616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; + 3E69925DB6558BBAEE5EB41B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3EBDD668B2AAF5F5159D68F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 3F02521692ADDB7FFD0453AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + 3F05E519F0B0931CE0347455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F0618824A11684059926E73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 3F6BE2A8CAF1C23380D884F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 3F7FA0D8E610BE1172D0CC6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + 3FCD20ECBA1032D55D90DAF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + 3FD16FE28FD9ABF22F0FF744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 4006D8A53AC91D81816BF576 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 40178653E67E3C6585653D38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4047AFE3B6A9844DFD7A6338 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; + 408E68B8CEC5FF3F2E7AFD9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; }; + 414E7CA5C5AB18AE918F414D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; + 42203A96B0F67E68EDB0939E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 42248B6AB06E8D01893DBDB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; + 426AF787C0152F7815300C21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; + 4292602AC091358A3439FE9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + 429925ABEF514DEDE33BF925 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + 42AA82D963C53D81EC596A0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + 42AB75CE1EC7C77E316D1F30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 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; }; + 44E5D7E779907F975BADB11F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; + 4533B1E6786C588EEB5F17F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 454AE45E2E9AEC23D8D47E54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; + 4594C65899EE174C6956A466 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; + 45B99EDD2CCD239BB786A30C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; + 461DC22FBD99144E68554B22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; + 46CE1F3B0AB174ABD1B4E2AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 46D4E162A4C937BBFE26584A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 4720C632893308B09BDEEB3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + 472EB91AAAB000217017E8EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47C8219AACA73B2EBE302A35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; + 482D7E87F00C2888C2B8FC9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 48322022C7AD99C881909D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 487F7DFCFB0CF15BDFEBD24E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + 489251CA8BE0CA79BA247455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 489720A3B4E0AFC2DF1FAF2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.cpp"; 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"; }; + 4A167D0C24B56DA19E2B0722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 4A21D36388A0B6D9543A244D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A3A8B6069E903B8F0F62DDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; + 4AA0B96439AA013BFDFED0FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; + 4AA5C3A1B7202460820F4017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + 4AB7557F71EB918F70B15F49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 4AF5BB06E6B594F6A38BE8B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; + 4B2D5FBEF56C3D584E65D9AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B73A2599617EEF450ACABAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4BBD6A0FAD396B6C5DCE01B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 4BE9A59D703E4CA4661252C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + 4C0B3826ABACE371F8681E61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; + 4C816FF16C50AA5C87C8F7D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4CAA4581DD7C06B9C83C5D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; + 4CC3F911E2539DE7F36A932D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; + 4CC686B637C4AD76543A905F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D3007B3F8AECBDB658F7259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D5112F69E06189A9318A69F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D823926C18ED8ABD95035DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E0A623AEE60F18C081F1C78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; + 4E1AFB1AF80B103D7392B44A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E1C2B9C5692A96700C1A898 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E451FB3A0D657682324CEED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + 4E8939ACD0CB224ABD3B3C00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F742E04B5AD194395A593C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4FEBD56CB96D3AE8E963098C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 4FF648D72D6F1A78956CDA1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Demos.h; path = ../../Source/Demos.h; sourceTree = "SOURCE_ROOT"; }; + 5016A40C1850BBD55197D30E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 50385CBC88D67EF57CBAF9F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 505B41AE1B6E2B7FF4B0D859 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; + 50ADF3A82625F07937084481 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; + 50B9979133759179FAFFA25F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 50E3DBC3F2D136A9A59ED1D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5127ACB1400962FB70BF6D07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 512957EEC679ACF28E7D2D93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 51A7CB5736B53C5EEC163116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 51D8A242315E93AECE0D1B0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 51F0F2EB22A60569E24FB86E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; + 51FFA102D25322925C454ACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 52058B3A331BFA856932EEED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + 53AB900649E4156D953DB1CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; + 53F664A2A3FE1983E183A431 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54358D8A9A8DE6AF4F781E8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + 545C5A5F29523968A387FD91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 546BB53FC47D83869F8DDCE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 56D6FF1634AE7B4B4B6AC323 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 56E7EE3C43947842BB8BDC1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 571AD58DF821DA69E9CC7A2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; 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"; }; + 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"; }; + 58B5DEFABBF903630496C479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 592C559B3CB1579907BC6452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 596DC8FFB245F28499C125A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 59D237D2D1680300FCAAF95F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; + 5A014F0EE43937F98274FB18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; + 5A1C17DCA88F1D02ED5F401F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5A26430C3B39E428B483F11D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 5A2B63BC2433F17DB96CC411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5A45A96D6755567B2C720C15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + 5A99F85A02CACE2773FAF4AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5AAF6FD01A8ACE63E3FAEA56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 5B59DE0C6545CCC3FA26750E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5B8CE8EC0CEDF800AD5B71E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 5BA3B4D0018FA0D5C976CA3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5BDA528B96063067AFD59CBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5BF77AE97FE5C121B30358AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 5D17004F2CE0F2DBFDE79EA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + 5D2856B19DC13C57D70E42DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5D437FF52E68814020A84B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; + 5D62C9E4FB85FC828BCC4D63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 5D9CB6E9C215ED15E30B685C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + 5DBA889C8116242666F3C93B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + 5DC79394D56549821815B376 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + 5E043C5F2F280FC934592EDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5ED809701F235D958635DACA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5EEA4C0CF28336697C027202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; + 5F43B58D079ECA063DEFCD0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 5F6DEAB3DA5EF6B9F437C3CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + 600D84E21A1728A803F7BD26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60707845CE9EFAADCB5BB90F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; + 607E088C34B7AB707A5ECE4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 60D9E4052C3FFFA026BB35C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60DC6B904E0A0ED7D5BACBD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 60DD038BF3685FF524C3A720 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60E6823DF3335C4F4A2B4A09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 6110B87158ED828E5F9C8FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 613925F9A0F758ED88BBB3AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; + 61D67AE4149D2EF04BFC2F15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; + 61F3AAB84249F782A56E88A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61F74754A7B5F0BD930A51DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61FF3F04D8C193E34525E178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + 620C2800C5215BD75BF1098C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; + 621893AE2A99F8D4331194AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6256BA6104CE254172D02804 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 625FFB14675C7D67CD284601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + 629E16D351B3980A18BB9447 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; + 6367B5EA6602CD73063A481A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; + 6386ADE8A90ABD189AB72936 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 63DB40AFD30CEFB03779AB79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63E2478C4D365C034FAEF66B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63FB8DC8554DE3DC4EE53492 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; + 64223866AD9D3D69464C198B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + 648259AF304511A097949BED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + 648610AB6A110B1ACD64CDAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 648E0A0D55BE1D012C1D89B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + 649BBA6C8D29853266E8D2A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + 65285D35AA75D110D0A95851 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; + 65746338AF0FDE118A3D02C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 665FF99D0D1BF3755FE7B803 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + 666F7A0F487C9974AF12E8A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + 66C312943F23328837F18293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + 66E12916E12BBC042F715891 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 66EA0A2E6DCB92EB7CE24516 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 672780D824A4CAD951DBB29B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; + 67321193997802F731C9F3C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67701BB0717F9CBA6772BC42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67706504E1E1E19B61E90903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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; }; + 67E9F9CC9B47815A7BC9EC0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6821655BB8883B9A421666C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; 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"; }; + 6A3B6420EFDE164D237E72EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; + 6B59A53C3FB3B4462A5E10D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6B7EA4C617C2C129210C7F76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BA526E7009CAA47F22B2FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 6BB634F1841C4BCE4775FF8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BE69871BE4A865ABF84BC7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 6C0A661C078D8F0037FED489 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 6C42AAE33B1F86E496AA352C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 6D584871C4325DBC6FA689A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D6C2ADFA12CB2A3AA90E10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D8A6213F2A881CAD1DE5A7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6DAF8D36A60A6F606DCDBADB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + 6E01440F1FACE2977203A70B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6E27EBF864367EBA8B44DFA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6E41B744374D33094F868FF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6EA97857D017530AE58ECA66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 6ED2FF75E5F98253AA1C287F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6EF18D083B3FAC255D719DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F3E59877038096FDA5B28DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 707EEEE6316830C3E99E74D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.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"; }; + 72597FC646AD06A8852CEF8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; + 726412ECAA91C13A355DC860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + 72887C393A61739FD6C803A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; + 729B6245E3A797878E3F4ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 729F27B2D82EF129C024F3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 72D5E2B81ADBBE51BD02D059 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + 72F44A1CE843562597A4D7E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; + 72F927799B30E12B01E9C00A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 73A626211730F34098BC077D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.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"; }; + 74D4B2EEC36940893BF7AC25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; + 74E60A8C1056FF1D64053A62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; + 752BB4C6A01F52F61147F19A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; + 7560AC0CEBAFD1C51D9F20FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; + 75636F75113CD1ABF8B01F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + 757D712721E9C95EDB104FF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.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"; }; + 7665A2E5A2E41373D6F4C734 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + 766D9EC18EA5CBA993EA7B34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 76C51AC2B20A39EF7CE902B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; + 76DD8144B3328378575D42C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; 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"; }; + 77A3030BB739150756AE9082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 77C0AC21C1028911123844FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; + 780BD69A75EB252C81EEFEB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; + 7812B9DDB5C43F2D1B293505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; + 783AF1428118CFF4B105487B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 78EB35E34BA8673695F92D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 795FF599087653F77C7E98D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 79C9759DA5A25C1D53AC2E93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + 79E2CB1D361AFFC29A1E6DE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; + 7A1E8F59B14140851D40DF29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A41A9C37A8BA7EFB6D1F518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + 7A55E53EC2B5BC85F365A342 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7AE876FBB3643CD67C52CF8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; + 7B0648C17B0C62706424B080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 7B441C4B6CF9473676EA3610 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 7BA547517B6D33D86B4342F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; + 7BF4C9B621AF133163D15675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 7C4111F98C8023097C14C138 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 7CDAE6FBB85B787E8FA15B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + 7CE6320BC8094DB37E65721C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 7D026ADC8DEBC7262AF1BC44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; + 7D5322C5D58C267F5FC815B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7D811F94785E951BE96037AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; + 7E79FB8A1C88684D9961874F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7E7E7B2174155F2FA49E3E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + 7E97D82B3BAD4487DDA963ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; + 7E9DE536E504F1EDDF5532C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F23EFF727A93D53C8654687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F313C042BD6C3DD38A63B5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F64D580AA191FBC2A74E943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F9E3A2D24D587405B3B5E76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; + 7FC7D527EA3B088288F8DA36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 7FDAFC6129A0497C57648A8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8034DEB0DE55C62EE0B5D2FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 81B6BAADB8841B72ABDCEF5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; + 81D44AFD0558021B3028A3FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; 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"; }; + 8210BC2014B5B597F5BCC698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; + 8249C0114EA153D2CE5C666A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; 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"; }; + 8396C2624822FA5705134669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 839E82BEDF149242C2A71F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; + 84BD8495CE3D747852CB0463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84DFB13BE79A86FC987A63C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84E425B4918D8B9D5F312551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; + 84E76068048CB52123545F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 858198BBDF9BB692E58AB16D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 8590765B8670984845E89C5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; + 85B3877260326210763CC8EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; + 85D61362BF185DA51B00E00E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 861F5C579BDAA33718FFE9CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8621C4BB5D591743A1B86697 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + 862A547990420303EBE1C849 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + 864898EFD2035AB69C86E1D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; + 864DAFF59D56AC67F7BE6F77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8680FB438DEC3B3994B6CB9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87204C5BCC65051CF188DF6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 8745ACE2C81BA9685BF99233 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 874BD8915F9FC9EAF09AFB87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 877CA42D199DE2C3C4EF58A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 877FC50B817B57928FD4395C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; + 8784634AAD6079EF097FD751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 883F407DDE5464DEC7ED1634 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 890BD2A64C7C25201E20C02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8924F9B3C5A5EF7B9771465F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + 89A8ED7F8AF435841DFC5279 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A26883DAA6CE47336C86A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A791C2E9E31061FB1114D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; + 8AAA70A01C18869705F30893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; + 8AADBD01ED8B177F160939D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + 8AAEBEE37A67A5D01EBA6BB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 8C09A72F2633270FD10E4DF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; 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"; }; + 8C2A93223809C1EFD6D7C404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C605F6103324D46D3BBCE9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + 8CA2DB791512EB0E6AC7F7C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; + 8D32D3B412213EC3153588E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D7919836FD116E4D151376A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8DFA74E13F6E40A5B1C09C11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + 8E019E137C8999437C8C7B8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; + 8E2F72AFA0CDA64F0C07F105 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SlaveComponent.h; path = ../../Source/SlaveComponent.h; sourceTree = "SOURCE_ROOT"; }; + 8E32705B99BB15E3586C067C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 8EE86B89C69AD4D9A802526D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + 8EF093827B72F444E74F5682 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 8EF118DED70F115DEF3DB6AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 8F1630E85F43E88E4A40C2B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F2FACABB024833B7F932BC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 8F9E95F991B215FFDD3F8E9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 8FC33441590BA03C2EB5CD63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8FD227DE98DB156FBBC8DD1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9002A3D1CD5740D9C50A834C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 902C20CD7DEB18B69F0E1BE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 90348A625874E8DD3DCBF583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + 904D7BEE6279D62983E57DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + 905451CEDBDE4649B1DFB267 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9069DC6DF609DE1E4A57DA7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; + 912AC6CBEC5E7E91609B16C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; + 912F268EBF0738584F70DE1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + 913E0691329569D88E7AAB64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osc.h"; path = "../../../../modules/juce_osc/juce_osc.h"; sourceTree = "SOURCE_ROOT"; }; + 914ED3B5EEB409125EADBB2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 917D886764AF8CEBE11BDCEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; + 918EAFFF65C0EBD273295D56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + 92D5E8DE8408D996942FE65B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; 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"; }; + 93B28ED24018DA6808D24901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; 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"; }; + 94363B04A83DFC9C02B023DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + 943A1F16EFDD0E6789C90656 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 944B844043D0815614FD4CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9473F75E32710D282051D93C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94B5173161517429EFDF9DF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; + 94C3811F389418A6C4304554 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94F05A309F81C027AF3AA82C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; + 94F0F55A3456014AA91FE44C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 95139F961E2C7FB6421D04A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 956F789B3DDD41EB09972AF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 95738AF2EAF17A2FA9B8E069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 95F94292250AF5E2964A6498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; + 965402AAAAF0A0D920DC7C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + 96664A31FD92DEA43D231D23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9671131059C459A1E119535E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 968CED5FCF62B31D4346DEBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; + 96E72CBFC328EC6BC45960D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + 97188A2D8CC4C0DACC6A4D2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 971B377F39D4CAFA77AB790C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 976EBB4DBB4AC7FC3589C40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; + 9801E411857A072092954171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9808FC8EBDD993802B13E360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9813552533EFFAACD0F7E1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 9817FEEE6C1D99BCE7DB2395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9866C2367A878D003DF3C479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; 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"; }; + 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"; }; + 9954F0EE26A58715A3A42B38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; + 996E743A20FC78671766BF59 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + 9982F39121710EFFD5FEEAEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MasterComponent.h; path = ../../Source/MasterComponent.h; sourceTree = "SOURCE_ROOT"; }; + 999ECAD45309F13369547FDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 99F278EFA35A61B6E2AE1A61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 99FC512DFBE57AAC3894FC20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; + 9A39BF4B65A5B6A66D84F232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A63FFCEE6242E708749606D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; + 9AB6DA2CD6FC85ABC73DCA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + 9ABB34DD0089D3C1B2CB0448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 9AFB00C8011E7902EF67789C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + 9B88C701BE205AEB33ACC5FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9BB341CFFB496948D5E9A16E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + 9BFFB55D4C790719A1777FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; + 9C0C2FD8C5F184F0928D9BA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; + 9C20682A5F49B7BD2CEC3E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 9C68E54122484FE80D919763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CAA1BFBE6B44233E6F1247E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CD09A3CB4C01D7F5EAC8B66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 9D05F58F8CE58D9D6952BF1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D29AC99CA678DE27CAAAE31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + 9D2C7F9E1E4B1A96183E2B32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D61CEB1D121A478BD6D613E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + 9DCB9FE79EDD770E0EC8A370 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + 9DEFA41E52F11C989DF313BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 9DF463C5E206ADC98851C78A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + 9E2535830FEEC2462D0A01C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9E305B52D3701EE091EA5ADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; + 9E59BCA8692297CF0D22B9EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; + 9E7319BC97DD7609E51BA8E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 9E8129263CD42C6029FC2CAD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 9ED2DC39AEEFE9E28CF7E7B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9EEF2A75EDD5E8023F9AD6B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 9F49BF4440F09115117F9615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 9F80C784938338F1490BBAA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; + 9F87F8F39970D61EAC250343 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; + A032B47E0B1DFE6656768078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + A0FA5EDB7F91219859E4DBC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.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"; }; + A146C5D4033808713BAC0F5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.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"; }; + A1AF1E8ADB16AE21785390F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1F1F469B33048DD0609E02E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + A210326040D3F2A40B2B9D15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + A23791E205B22F21521DF9F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + A239DEE243F0D1FB1158A8B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; + A27C439D080928FF3BC24268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; + A28B0E73283A17AA2450E989 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; + A34D1DA226DFFEACE090BD72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A38836ADAE0113CFA40F16EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + A39FC18F44E512E5047DBB15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + A42479D8A3AE579891E8741A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + A42F8BC3DE25F1CC15D383E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4A507E78D1082DF5EDA723E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4C7C1D626E8F444FE84674C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5360675341F06F73AF96D1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + A54E763170141C2FC3BBD197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + A55309C54076A01EA57315CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; + A60C42DC112133B715DBEEA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; + A61D17AF31E2326EDA285C22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + A6B7388C11968139DFB7F95B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A6B8840048CE44449BF2E319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCArgument.h"; path = "../../../../modules/juce_osc/osc/juce_OSCArgument.h"; sourceTree = "SOURCE_ROOT"; }; + A6F2F28EC2795C4338819D34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.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"; }; + A7C23474EBC107984FDA82E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; + A7CB42C874454092544CA123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.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"; }; + A7FB61531AD54A533C6C0DB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; 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"; }; + A8F0A5C9A372D5C57033B581 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + A93241AAFC2CA466E7F61D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + A94C6EB19B9BF24D83054D60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; + A9FE7AE10A02329F18BAF8BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + AA5DEFC178005AF6703DD8C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; + AABBDC405E85A02000A3991B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + AB0C82D0A432008DA9B02B67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AB26977EA68E27838B54A8E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB49C0C6379EA96874D0D69C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; + AB6D9BF527527D3143CAC2A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + AB7E120B33CE6C4EA5AE1C03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB8F2253604F5601588684E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + AC0B8C4CC494CB234A84D39C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; + AC2F6510662AD5D52E367FB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + AC5460D2875AEE783D2A2AAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; + AC61701F361E5327D6BEEEDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + AC98912B3226C0D29B0C8861 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + AD18F0927230674E2BF6552A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + AD3AD8A8258B52524F9FD249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + AD5D3156CBD517EB3835798A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE20126D491A4FD52D059EFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + AE358D496192BAED93263F83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE6120B318B44C69CEDA6321 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + AEE7A4457DD1D960854EFFF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; + AF6DBE0D8AEA6C65FAD991E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; + AF7E3E7137C6F49674649968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + AF81BE7F88B9B754A9005DC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + AFE354D63186BB3CF00492E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; + B047628A6433E2258B11BC10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + B060C1B4985F4D6071C6C1F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + B095F8592A4F0289CE98D041 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + B0D4F13DF0278D8722F7C4B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0DD6412314A0666002F9CB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + B2CF1C6EC8294143130ED267 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + B32E8849197AC0716AF288A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + B3342B74DDD833F6D04A7AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCTypes.h"; path = "../../../../modules/juce_osc/osc/juce_OSCTypes.h"; sourceTree = "SOURCE_ROOT"; }; + B34A4D738811E54546CA93CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCSender.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCSender.cpp"; sourceTree = "SOURCE_ROOT"; }; + B35603E21B57E534616F599B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B37C746F12C8413EA4DF8157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + B3B317778509714561A5E52F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + B43CD34A519E131F62B1F73C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; 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"; }; + B5612B7C73B7C8313932225C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + B56C31CC51CE8428AC4E98D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; + B576434956BD89F0B571B6C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + B594FC49609DB3E2CF3DCB0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + B599D417EDB736AB6D22321A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + B5AD346DCBF1814536BE72F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + B62CF48E6CC4BF83D13F364D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; + B67517FFC3C7C709E91188A6 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + B682CF505958CB8A57B4BA2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + B6B133F816AD44FBFFBF8146 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + B6E3EC3D9EC70B0C6DCF1854 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; + B700A20AB7FA4833FBE9FAF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B72507256B293579C398DB28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; + B75141B09A7C2011E48E73E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; + B77EBFED3A56358BE8599594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + B785E11D273E197A78C90597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + B7A7C46F29FF9EBB070AE247 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + B7DA793390976975B7967E54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B7FC671CAA2FB61FA45FF25D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + B8072A5DFFD892216550F18B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; + B82B3B2DA336D3591A73280F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B84FF21D1349C565A604B4D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B8D0006C486909BB51D8D818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + B90524EBC3C35060A097E235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + B9072851D722F23A5D71F33F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + B93D72307AE413B7A9A074C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; 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"; }; + B99F9693FE694A5A7C9AF194 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; + BA381CF0ACD78A3451D51E3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; + BA6D9591DBD5CDA91ED632A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + BA93F94CB1FC135E6F8D8910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + BAC4FD0C99CEBD2133F79C24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BAE421BF414A8713DC446E10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + BB3265EFC32ADB68A59A90CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB422B25F3D67420F1A7A27C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + BB5571E517F10D1C187AA4EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + BB7CA26CF4540A535BE229CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB7FC171D63A2EE81B4659CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; + BB9242FB689B4DAEDF1963BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + BBE01A9C5FD8C0656AEA9D3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + BC93A86542557AEA4230FBFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; + BCDFDFFF924A8FDF40B82990 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDC7D9A7A14232DD7BBCB123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDEC48B38506A8964328275F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDFEE2E6B40F3E47E3B16D38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + BE05CCA102CA2AF18244AD0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE28C3777F5A468E4BE1596B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + BE65BDFEC645F36487A68F71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE6B411CD307C907BE41673D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; + BE6C77497C8F42747F797BBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE92FB177CE8690F02DDCDCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + BED1B872BC548C1D6C180D37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; + BED621A030C4C37B2326EE4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF4CFF896E4EBF4324E7BF32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF62BF87517BCECDF7BFC044 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCAddress.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF9FB15724A372A72A52A4B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; + BFD53A594929B7CC58D46BCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + C00042157AE4788F1B7DD087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + C041D609CA330DE35D88B7EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; + C07B7D8640FCA9A51575179A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; + C099D10A0E0F102A8F02A3C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; + C0C7CB3229B2E54FFB785CA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + C10AF8B74E855D60A481CBD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + C13A62F3B2A01774AD8A9921 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1688DC3A2F892F53F8F15DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + C18944C7BB1D9143312BE3A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1BD7A3D23B873F716F6C68F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1E7A30EDB756EF33710AB4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + C2018A1CDB83486F8EC3CD32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + C20F81136AF8D41BF6175EC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + C3520C63B69C0326050C463D = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; 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"; }; + C3B9FC2E56369FCAE1651B96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; 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"; }; + C41176B7A1D16BC5C67A5727 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + C4D626F9CEE1FD851551D91C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + C6B3D843C0F8AB4BB152B4C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; 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"; }; + C74BED74D8B891801A2EC0FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + C78105C8AEE452AED0700AAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C78806A6727F44EACFDED4A5 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + C790F51988B04C4A38A737EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; + C7E1D706A09E4E96883215BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + C7FA660F34C706F9C6D0468A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; + C881040590095369DFB1A19A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + C8A38D75BD930F3CC7634124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; + C8C33E8254DF7A03B953FF91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + C8E5F60ED66385553547961E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + C92F4F51EC54B859EAB7F09D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; + C938DCCA334DE363B27C1E65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9A02E17EA16F69B823F9964 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + CAFAACC62C197C6D23DE2BDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; 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"; }; + CB481B5E92CC1EF7898DD17F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; + CB7A2C9335B52DC0510B984C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; + CB82A14817C3E2ABBBBC3864 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; + CBE595558B9038547D418CEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + CBED536568CEA5AD781A8AA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; + CC04871FDDC918BBD27FBA04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC8C5C667CA1A6EBAA1323E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + CCA843C191E1EC761E0C4B1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + CCCF7AA714938B03DE4407FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + CCD82540E3B04B6496BD15D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; + CCF048D8BCBC24CAC8E00C9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; + CD10A4F4FC29988D7316283F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; + CD3D15787DE0633AF0F41D14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + CD5B4BF3641DA629049AF981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + CD63DD73C9818BDF67BF9828 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CD7F6E7854F25672E5340991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + CE06CB9CD28DE31FA1528DE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + CFAF7A271641575B87488DE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; 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"; }; + D0E00FC62C3DA68962100AD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + D297A8F75D44F85373DFB3FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.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"; }; + D2E113F9E97F60B9F12D9EB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; + D34AB4BF5DF2B8C181D8D344 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + D34F5512C192C172CCC479F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + D380F5AED297C4D7BE55911C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + D3DC14B9B3C655A7E8383209 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3FEF2036F7D6B7654112E97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; + D432518F3EB9C5C792A50233 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + D52590894745515E96A7C5BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; 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"; }; + D7417EDCCB7985736057E794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; 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"; }; + D7ECFEB15046C60EAACA0F54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7F183070EDA8D6D7659BDA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + D88DBC78062ECA21D18C1D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8B377D58489B765A9369335 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8D692CC60337DC55FAEB454 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; + D8E43470409EC218DC96B555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D8E594FED69859E740E91543 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + DA002F69AE1E1A33806FAFE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; 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"; }; + DABDF0875CD745F1F4024758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + DB5365D435396965FC3974BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + DB85BDB1DF720391F80F0D94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + DC15808BB97E1521C055A470 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + DC1A091921DA33EE06DFB2BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + DC774ED9CFD985F9C1F103E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; 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"; }; + DE508CE9EE6F6AFC689CDA33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + DE66F892ACF4DCAE897F3BE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + DEA16225BAB46F055607F766 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; + DEB62073956FBC23B33C3215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + DEBE73E4D9C6362F146FCA08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF0C3025BC5B572CC28B8EEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + DFA362B144EFF8EEA6308E71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; + DFC37DEA417DA0FC812FDAC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + DFD9DDC75D6278979853E65B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; + E0069A75C60B6ECB8E8CBFDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + E173538C3256A263CE3E5FF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + E206AE1739B93E96D9552C0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; + E26803A699870246644E8BA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; 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"; }; + E2B6D342056AE854AEC4AE04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.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"; }; + E59966E807817145013F0902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; 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"; }; + E709A767A63381296C594A4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; 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"; }; + E72F1BD0D88CC25CD009F3EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.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"; }; + E95FF3770356CF243076C7BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; 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"; }; + EA78C0B608211D0AD6B45A51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; 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"; }; + EB88747AB652A19CE52ECB21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; 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"; }; + EBBE1B4A14FDE4B940B77FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; + EBE7848E2D10517EBFD6BC14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; 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"; }; + EDD2BBA5B68875F78E7E1D84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; + EDEA829264CBF20206337EBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; 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"; }; + EF194A1C689368EE82F70579 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; 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"; }; + EF6D57C0BB0D018EC15DA6A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; 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"; }; + EFF6643B70D349EA56702028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; + F03414F1BB7A1A2BD3901CF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; + F08F56DA1211AA282CE45C90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; + F0C6892CD64002A92B68F37B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCTimeTag.h"; path = "../../../../modules/juce_osc/osc/juce_OSCTimeTag.h"; sourceTree = "SOURCE_ROOT"; }; + F13FB76427772F29EAD88728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + F163668D4C2343C282574A78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + F168A7541EBE16D46968C97D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + F18B23CFD55FD0C26C21B539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + F199EA5517B054547E193F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + F1C72CE4DDB71B4F7C874186 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; 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"; }; + F4825162600591FAF2F1F79E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + F4ED9D3E27226B0974BEC563 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + F540CB77351EAEFC2B3D05CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + F81AAE65A3598A15825E6794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + F877C4B21064606715EBD6D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.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"; }; + F8D8C58CEDD851E0274B5402 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + F906FBF064A716C5EADF5708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + F90875A12DE5F66F7E70CC89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + F9668685A98E33554348BEA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + F9A9B6A4120CCCBBD2057F9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9E113AE1D2940394B95BC0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + FA536BA553A2F6EFBB12B3B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; + FACE861A61DE757C5D446CE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + FAF2AB8383B89E9A5AF5E946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + FBC97D6777B3B66837ED4404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC4C976D76A0B0F932B3188A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + FC4E3F4086054CB8E200F393 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + FC4F3DA26D3500959DF7662A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + FCA5F5B553B92A4A49C3F1EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + FCD17983F05312385F6C17F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + FCE7C67868197DFBCA2365EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; + FCFEAB9C67D9B7FB03AB51BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; + FD28016A7BC2B34138B3C986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD362E3DD7D0ED06015A52CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE11EB2D3A4040325E458261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE3080D1EC46C287930B7E18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + FEECF322FE148A6D8A0AC78C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; + FEF9EF55D1BF28C6A84DE4C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + FF166251925DABFCB42F2C52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; + FF43622B9AAF3751B65DD81B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + FF7509FDC5B23104C7AF1665 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + FF796B6850F1EE2F18668D06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + FFE74EF868B7D7FAA24DE742 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 5A58AF0A052C539F0E342A88 = {isa = PBXGroup; children = ( + 4FF648D72D6F1A78956CDA1B, + 77C0AC21C1028911123844FC, + 9982F39121710EFFD5FEEAEF, + 8E2F72AFA0CDA64F0C07F105, + 25DEDA8C9F94A6C8DFC8E53E, ); name = Source; sourceTree = ""; }; + 856518502A948813C90E6761 = {isa = PBXGroup; children = ( + 5A58AF0A052C539F0E342A88, + 0ADF0DECFCB1DB4D3A847EB5, ); name = "JUCE Network Graphics Demo"; sourceTree = ""; }; + 7131FE80B7BEC472AD0037EC = {isa = PBXGroup; children = ( + C6BDBA40F172EF384F005E8B, + 3E313B4096468DD5EE551616, + 096BB22B9363BAC781C4668D, + 905451CEDBDE4649B1DFB267, + F36CA213BBF312F093F8C6E7, ); name = buffers; sourceTree = ""; }; + 1E4B183EDA584BB8B6D21657 = {isa = PBXGroup; children = ( + 2C81620BC3A57FBC961B6A01, + 5D62C9E4FB85FC828BCC4D63, + BC93A86542557AEA4230FBFE, + DEA16225BAB46F055607F766, + 21463097F39306018F8C1FC9, + 05C08B8A9AA77D8F0064467A, + FA536BA553A2F6EFBB12B3B9, + 1070CD5C289E13B829661610, + 48322022C7AD99C881909D7C, + C099D10A0E0F102A8F02A3C8, + D215EF12EACEF7D1CF873FFE, ); name = effects; sourceTree = ""; }; + 25C60D9EDF75B7501E699D07 = {isa = PBXGroup; children = ( + F5A0AF00BD4B6471D5057B9F, + 9DEFA41E52F11C989DF313BF, + 7A1E8F59B14140851D40DF29, + 912F268EBF0738584F70DE1C, + 7A55E53EC2B5BC85F365A342, + 649BBA6C8D29853266E8D2A2, + EE2712F5383D654D470BA1C1, + 834384DBC61E38E789FD9B7D, + 1A593509B099BCDAFE5303E5, + 000265F702986DE8DD932309, + B99F9693FE694A5A7C9AF194, + 72FD8AC04D2B0BEE1A5E2596, ); name = midi; sourceTree = ""; }; + E2C0999A86874422E768A18A = {isa = PBXGroup; children = ( + D96D639C9895ADEB144D5E40, + 15EC4D082AC33A2DFBAA8560, + 912AC6CBEC5E7E91609B16C8, + 968CED5FCF62B31D4346DEBD, + 51F0F2EB22A60569E24FB86E, + D656F7818C72485E3ECC50C9, + B047628A6433E2258B11BC10, + 111058D736659E73DB065469, + 2E0625B5D067CE55D4D7F087, + CF5C8009A1AB469B2A3EDAF8, + 13C50C345BB1AE097DE51F8D, + 8CA2DB791512EB0E6AC7F7C2, + E4D3972CA0596447A3C0A5EB, + 5F6DEAB3DA5EF6B9F437C3CF, + CA7D20970FD9BCB45BB5822A, + 7F9E3A2D24D587405B3B5E76, + CD7F6E7854F25672E5340991, + 32D795DD8B6BBBE5450AF17C, ); name = mpe; sourceTree = ""; }; + BCC14FB1DB5AF2D57E552587 = {isa = PBXGroup; children = ( + 902C20CD7DEB18B69F0E1BE7, + 65746338AF0FDE118A3D02C1, + DD6265BDB310A14072805592, + FACE861A61DE757C5D446CE6, + EE77BB1682ABC799703B5972, + D9B8313EC8799E313E1F7948, + D62FB517B25339128E860F9F, + 9C68E54122484FE80D919763, + EA53F7F4674786EB152A2273, + 46CE1F3B0AB174ABD1B4E2AB, + 729F27B2D82EF129C024F3F6, + D56935CBCD13662FDB475D86, + 4A0C286E6CB8D31A8C048A88, + 1377617053AF07B0E571F77B, + C74BED74D8B891801A2EC0FD, + D080322D3DB943F3FAFE56CA, ); name = sources; sourceTree = ""; }; + 64F6CC204EBB6B68CC8FD015 = {isa = PBXGroup; children = ( + BA6D9591DBD5CDA91ED632A2, + 1F13AE4603A0990EF106C23D, ); name = synthesisers; sourceTree = ""; }; + 81E8B4FDE23F10677BD70DCD = {isa = PBXGroup; children = ( + 7131FE80B7BEC472AD0037EC, + 1E4B183EDA584BB8B6D21657, + 25C60D9EDF75B7501E699D07, + E2C0999A86874422E768A18A, + BCC14FB1DB5AF2D57E552587, + 64F6CC204EBB6B68CC8FD015, + 30F2AD2BB15BF2CE7B9ED560, + A23791E205B22F21521DF9F4, + 39BADA2042495195394900F3, + A23791E205B22F21521DF9F4, ); name = "juce_audio_basics"; sourceTree = ""; }; + BE6823E1E5DDA4B811662E58 = {isa = PBXGroup; children = ( + A127A78E54490885EA61239C, + 7E9DE536E504F1EDDF5532C3, + EC97D7ABC489A5E1BD7BAF41, ); name = "audio_cd"; sourceTree = ""; }; + 02E9AEB3C82618AB04A34A93 = {isa = PBXGroup; children = ( + A64B09FC5A333C71F069C890, + 0566C8771A3278C82D183A98, + 50E3DBC3F2D136A9A59ED1D8, + 2E03472E7A539A88DE0273A0, + 5C82D0E8AB39B155A987109A, + 0EAE4A004CEB66D275142FCA, + 3913A6C3147F55D7390405B5, ); name = "audio_io"; sourceTree = ""; }; + D869BB398906A514EB15DC8C = {isa = PBXGroup; children = ( + DC9C7030E63CDD457DE54498, + 9E2535830FEEC2462D0A01C0, + C8C33E8254DF7A03B953FF91, + B19456B2F153DD805FB2F660, + 5D17004F2CE0F2DBFDE79EA4, ); name = "midi_io"; sourceTree = ""; }; + BD899F7E3ACBDD8F953B0048 = {isa = PBXGroup; children = ( + 25F7E2E0BF7DF2E71648BFFE, + 51FFA102D25322925C454ACD, + EFD1CE8574994B5B6D078FD9, + 1DE819F8D407705C57EACD26, + 008187B05C0B633EE28ABE56, + 4E1AFB1AF80B103D7392B44A, + 251F11F4407E34F0F88AA1A2, + 71894D722D549F75275D3D53, + 4FEBD56CB96D3AE8E963098C, + 1DE2689A8FBB19007E892906, + CB46FEDCD501D06F0B024134, + 99F278EFA35A61B6E2AE1A61, + F6F314A674A9535D6425F794, + C2018A1CDB83486F8EC3CD32, + 085FC01079EE77D52D1ED893, + 84BD8495CE3D747852CB0463, + 5614CF8ACD28587D8E9FC249, + 2B14736595E3FFC604AFBD7C, + 1E206D97A7B91545FE0D27CD, ); name = native; sourceTree = ""; }; + 8CE42841B41DE8C3EC52DD9E = {isa = PBXGroup; children = ( + 7F64D580AA191FBC2A74E943, + 8F2FACABB024833B7F932BC5, + 03F0E358E328911FE44415CC, + 666F7A0F487C9974AF12E8A9, ); name = sources; sourceTree = ""; }; + 05C8723D6B99C1C95FA1860E = {isa = PBXGroup; children = ( + BE6823E1E5DDA4B811662E58, + 02E9AEB3C82618AB04A34A93, + D869BB398906A514EB15DC8C, + BD899F7E3ACBDD8F953B0048, + 8CE42841B41DE8C3EC52DD9E, + 8D7919836FD116E4D151376A, + B8072A5DFFD892216550F18B, + 44301EEC47F5688D9BC0582E, + B8072A5DFFD892216550F18B, ); name = "juce_audio_devices"; sourceTree = ""; }; + BDB59835BC12C270DEFA754A = {isa = PBXGroup; children = ( + E206AE1739B93E96D9552C0E, + 707EEEE6316830C3E99E74D5, + 2B79AFD47F8E64BCF455B809, + 271E50C630064BE5145AAE32, + 4047AFE3B6A9844DFD7A6338, + 3AFE6A8E50B92299EB702A17, + 61FF3F04D8C193E34525E178, + 1AACF2D716FEE0171F84F3B1, + DA002F69AE1E1A33806FAFE0, + 625FFB14675C7D67CD284601, + 72F44A1CE843562597A4D7E0, + F08F56DA1211AA282CE45C90, + F877C4B21064606715EBD6D9, + DABDF0875CD745F1F4024758, + 8AAA70A01C18869705F30893, + 0F85515398F5F9A00BB31FAA, ); name = private; sourceTree = ""; }; + 882FE19861FB1DC382A080A7 = {isa = PBXGroup; children = ( + 7812B9DDB5C43F2D1B293505, + 7665A2E5A2E41373D6F4C734, + D297A8F75D44F85373DFB3FC, ); name = protected; sourceTree = ""; }; + 8A8724A59828F5BAFDFBE989 = {isa = PBXGroup; children = ( + BDB59835BC12C270DEFA754A, + 882FE19861FB1DC382A080A7, ); name = include; sourceTree = ""; }; + 780EC06B48EE731AA9804C2E = {isa = PBXGroup; children = ( + 8A8724A59828F5BAFDFBE989, + 9E59BCA8692297CF0D22B9EC, + 780BD69A75EB252C81EEFEB4, + 4E0A623AEE60F18C081F1C78, + 9BFFB55D4C790719A1777FD3, + CD10A4F4FC29988D7316283F, + CBED536568CEA5AD781A8AA3, + 34EB899E8979338EC82FDBD0, + 85B3877260326210763CC8EC, + 5D437FF52E68814020A84B50, + 01C4EE8B6ECDCE59C6D59896, + 454AE45E2E9AEC23D8D47E54, + 392241F3DB6CF033BB44FF60, + 1CC39E35ECF5370304D47357, + DC1A091921DA33EE06DFB2BD, + D2E113F9E97F60B9F12D9EB7, ); name = libFLAC; sourceTree = ""; }; + DEE7D0DE4B935B420EC0869E = {isa = PBXGroup; children = ( + 780EC06B48EE731AA9804C2E, + E2B6D342056AE854AEC4AE04, + 84E425B4918D8B9D5F312551, + 1666AE6ED73DD0DD85574640, + 571AD58DF821DA69E9CC7A2C, + 15CE7C374E0EAC568806FA7A, + C7FA660F34C706F9C6D0468A, + 72597FC646AD06A8852CEF8A, + 2DF237E9FA7AD27A7EEADC82, + C6B3D843C0F8AB4BB152B4C0, + AB8F2253604F5601588684E1, + 92D5E8DE8408D996942FE65B, + 0F1A0B54E2BEEADD7DC1A3FF, + 2AC5CE6B79D6D7DE8F93F4EF, + B7A7C46F29FF9EBB070AE247, ); name = flac; sourceTree = ""; }; + 21E4609ABF537311D7AA7CB7 = {isa = PBXGroup; children = ( + A60C42DC112133B715DBEEA4, + 50ADF3A82625F07937084481, ); name = coupled; sourceTree = ""; }; + 57422C3C2E3FD3CA0FBE322C = {isa = PBXGroup; children = ( + E59966E807817145013F0902, ); name = floor; sourceTree = ""; }; + C4EC296E105E40BD5E3E0C7D = {isa = PBXGroup; children = ( + 7AE876FBB3643CD67C52CF8E, ); name = uncoupled; sourceTree = ""; }; + D6070200F3D8D3447E3CCBFF = {isa = PBXGroup; children = ( + 21E4609ABF537311D7AA7CB7, + 57422C3C2E3FD3CA0FBE322C, + C4EC296E105E40BD5E3E0C7D, ); name = books; sourceTree = ""; }; + A28E841A83EAE907DBB4B320 = {isa = PBXGroup; children = ( + FF166251925DABFCB42F2C52, + EBBE1B4A14FDE4B940B77FE8, + A6F2F28EC2795C4338819D34, + 07EA9462917C02F0805971A0, + 45B99EDD2CCD239BB786A30C, + 25B024942AF178A196E7C978, + E709A767A63381296C594A4B, + 11C77FD8A2AFF3BD8475DE0B, + CAFAACC62C197C6D23DE2BDA, + 461DC22FBD99144E68554B22, + CCF048D8BCBC24CAC8E00C9E, + 063D31B5B54388180EC938FA, + 9F87F8F39970D61EAC250343, + BF9FB15724A372A72A52A4B4, + 81B6BAADB8841B72ABDCEF5D, + 4CAA4581DD7C06B9C83C5D8A, + 596DC8FFB245F28499C125A6, + BE6B411CD307C907BE41673D, + 66C312943F23328837F18293, ); name = modes; sourceTree = ""; }; + 15BD8056A42B12CB3234CAF6 = {isa = PBXGroup; children = ( + D6070200F3D8D3447E3CCBFF, + A28E841A83EAE907DBB4B320, + 7E97D82B3BAD4487DDA963ED, + C07B7D8640FCA9A51575179A, + 07C80E087D94784140EBF39F, + EBE7848E2D10517EBFD6BC14, + 0DE14A1FA22B83FEA8DA8AFC, + 79E2CB1D361AFFC29A1E6DE5, + 0B57E599C2FAC4FCF8175BFD, + 065E2D6F3751D5E0629A478E, + D8D692CC60337DC55FAEB454, + FEECF322FE148A6D8A0AC78C, + 94B5173161517429EFDF9DF5, + 13253E26F27F1E3D9AF2E15E, + F03414F1BB7A1A2BD3901CF7, + E26803A699870246644E8BA8, + D3FEF2036F7D6B7654112E97, + 8E019E137C8999437C8C7B8B, + 9E305B52D3701EE091EA5ADF, + 2BFD752818B1B0DB0B87EE82, + A7CB42C874454092544CA123, + EF194A1C689368EE82F70579, + 19CFE2273750BDC1F9C2BA4A, + 0AA8C50916EA7ED0DA117B6E, + 9F80C784938338F1490BBAA3, + 93B28ED24018DA6808D24901, + 63FB8DC8554DE3DC4EE53492, + 44E5D7E779907F975BADB11F, + 7560AC0CEBAFD1C51D9F20FF, + 0D166F0A45739D0B47E30998, + 22405CB8890111CFD8D60008, + 7D026ADC8DEBC7262AF1BC44, + 752BB4C6A01F52F61147F19A, + D7417EDCCB7985736057E794, + 3A7F1ED5671AB4D4FF793D48, + BED1B872BC548C1D6C180D37, + 59D237D2D1680300FCAAF95F, + 30359A3FF714F0D5FA7B628A, + 33BC58E78177565C62B8FB82, + 4CC3F911E2539DE7F36A932D, + D52590894745515E96A7C5BA, + 4594C65899EE174C6956A466, + A0FA5EDB7F91219859E4DBC5, ); name = lib; sourceTree = ""; }; + 357D4DBAE00E7063ED984E75 = {isa = PBXGroup; children = ( + 15BD8056A42B12CB3234CAF6, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + 26F8569D133249392294B899 = {isa = PBXGroup; children = ( + 357D4DBAE00E7063ED984E75, + B9072851D722F23A5D71F33F, + 22DB4FA35CE02FC78E9F166A, + 976EBB4DBB4AC7FC3589C40A, + B72507256B293579C398DB28, + B67517FFC3C7C709E91188A6, + A146C5D4033808713BAC0F5D, + 9954F0EE26A58715A3A42B38, + F1C72CE4DDB71B4F7C874186, + 73A626211730F34098BC077D, ); name = oggvorbis; sourceTree = ""; }; + 5FCA8C56F0BE13FDC728F6CC = {isa = PBXGroup; children = ( + DEE7D0DE4B935B420EC0869E, + 26F8569D133249392294B899, + 382C1DB36E41E2DEB77B11ED, + 66E12916E12BBC042F715891, + 5484B58D02279CE228079C12, + 6D8A6213F2A881CAD1DE5A7E, + 02B2B5127DF9BF906368E988, + 2DAA78D998963C52C0DC9AC5, + 9271A906B51A234888B79D68, + D9958673B7BFB76E4F815126, + AD18F0927230674E2BF6552A, + B682CF505958CB8A57B4BA2F, + A39FC18F44E512E5047DBB15, + 7CE6320BC8094DB37E65721C, + 8B7B53B20BE2BD10F219B06A, + 01E2D0EC4D596AB94D022EA3, + 2F73502BA5E56A33469D93EC, + 1172DC1C9E21CAAF0C82687D, + 5864A3A4338CCCB6524CE499, + F168A7541EBE16D46968C97D, ); name = codecs; sourceTree = ""; }; + 6A9A20C67FB1E1AEAA854F94 = {isa = PBXGroup; children = ( + 282B495AB94F47BD60C7E62F, + 9002A3D1CD5740D9C50A834C, + 5D2856B19DC13C57D70E42DE, + CD5B4BF3641DA629049AF981, + 72F927799B30E12B01E9C00A, + 5F43B58D079ECA063DEFCD0E, + 60DD038BF3685FF524C3A720, + 101637AD0747ECC48982FDAA, + 8784634AAD6079EF097FD751, + B4B9CE9038C38B848A3DEF42, + AD5D3156CBD517EB3835798A, + 2AA07C55625E1ADD22E9A4D5, + B599D417EDB736AB6D22321A, + 806774C77EBD99266FE68583, + A61EAEE68793E336E6F8BCF7, ); name = format; sourceTree = ""; }; + 0E6BE6FB3288F3AD7148AEDE = {isa = PBXGroup; children = ( + 505B41AE1B6E2B7FF4B0D859, + E26BB7E510E3BEE029962DD3, ); name = sampler; sourceTree = ""; }; + E645944AAADA77E0BF55B753 = {isa = PBXGroup; children = ( + 5FCA8C56F0BE13FDC728F6CC, + 6A9A20C67FB1E1AEAA854F94, + 0E6BE6FB3288F3AD7148AEDE, + A7FB61531AD54A533C6C0DB4, + 1ED0FAAEFF9D4A6426E76E89, + F756FBC7A6836696BCADD2B4, + 1ED0FAAEFF9D4A6426E76E89, ); name = "juce_audio_formats"; sourceTree = ""; }; + 380295244851F958856B8E6D = {isa = PBXGroup; children = ( + 6E27EBF864367EBA8B44DFA9, + E45C1684DCDBFD3B76F0B209, + DC50301B6C3FDAE98E224E76, + 9671131059C459A1E119535E, ); name = format; sourceTree = ""; }; + 216078898103A118C58B7B65 = {isa = PBXGroup; children = ( + 3F6BE2A8CAF1C23380D884F5, + 1D153366F6EA459B397CA356, + E44B8F906461AB6AC47B374A, + 914ED3B5EEB409125EADBB2F, + 10D5F9D8D44A252288D19F42, + 7A41A9C37A8BA7EFB6D1F518, + 264B51063F7AA584D23B426E, + 545C5A5F29523968A387FD91, + CE06CB9CD28DE31FA1528DE5, + F906FBF064A716C5EADF5708, + 5B8CE8EC0CEDF800AD5B71E1, ); name = "format_types"; sourceTree = ""; }; + 7A3339B826CDDE52B5710713 = {isa = PBXGroup; children = ( + E8649B16BA011770D16BF051, + 0DB078E2523AD3ABE77A95F6, + 47C8219AACA73B2EBE302A35, + 904D7BEE6279D62983E57DCA, + 3193E205AA627C635FF236E0, + E33B4A0A655F6365B17CE1F4, + 2C3C1AC071BC4252A33CD5AC, + 21DB75038D3D7619DD53E851, + 8A26883DAA6CE47336C86A40, + 21AC48EBF734FA48E43F62BE, + 4A3A8B6069E903B8F0F62DDF, + 87204C5BCC65051CF188DF6D, + D64370EA15694620740DAEF4, + 174350B11E9207B7038E2BFA, + A42479D8A3AE579891E8741A, + 487F7DFCFB0CF15BDFEBD24E, ); name = processors; sourceTree = ""; }; + DE8DDC1A6A1A5E70018B45B7 = {isa = PBXGroup; children = ( + 9411003BA4D471F2C95269ED, + 4AA0B96439AA013BFDFED0FF, + C30F3519F6ADB14DD19DE1A9, + 3BEA5E0CD39AABEAB92B425E, + BE05CCA102CA2AF18244AD0E, + A6B7388C11968139DFB7F95B, ); name = scanning; sourceTree = ""; }; + CF3502266720B326C5ED5310 = {isa = PBXGroup; children = ( + 1D0F3060DD65B305A1C0E72A, + D7C7D8F1CD5FCCAD941DAB9A, + D432518F3EB9C5C792A50233, + AFE354D63186BB3CF00492E3, + 96664A31FD92DEA43D231D23, + DC3AA6076CA4CFB066F146D2, + 5ED809701F235D958635DACA, + 877FC50B817B57928FD4395C, ); name = utilities; sourceTree = ""; }; + 5102C5BFB76FB218BB512EC7 = {isa = PBXGroup; children = ( + 380295244851F958856B8E6D, + 216078898103A118C58B7B65, + 7A3339B826CDDE52B5710713, + DE8DDC1A6A1A5E70018B45B7, + CF3502266720B326C5ED5310, + EA78C0B608211D0AD6B45A51, + A94C6EB19B9BF24D83054D60, + 814EF15FC580DB2A5F426071, + A94C6EB19B9BF24D83054D60, ); name = "juce_audio_processors"; sourceTree = ""; }; + DE24F63112273826E7C9CDDC = {isa = PBXGroup; children = ( + 26DDCC5B563483D67D645398, + 6FDDB32B35EF2BC6C4E353C0, + D3DC14B9B3C655A7E8383209, + 51A7CB5736B53C5EEC163116, + 1F2CA6A50920B655340552D6, + E7230A4CC16B57C93FCE675A, + 5EEA4C0CF28336697C027202, + 1FEF9A01DC5486A9FA1CDF04, + 0186D1FA79D760C30575B900, + 284179F9F53CAA88CAC51B44, + 9ED2DC39AEEFE9E28CF7E7B0, + DDD307F9E18E442E43786B0E, + BE6C77497C8F42747F797BBD, + 181C1A360C01EFF44A3BB18A, ); name = gui; sourceTree = ""; }; + E2459ED14BA147A589FF714A = {isa = PBXGroup; children = ( + E78FFEA6B1BE4AD1EE43C60D, + 7B0648C17B0C62706424B080, + 7F23EFF727A93D53C8654687, + B0DD6412314A0666002F9CB5, + 1B9BCCBA7BA4D87454EC8710, ); name = native; sourceTree = ""; }; + 596D19FB9A57A8F833ACD362 = {isa = PBXGroup; children = ( + E75749124D1F2FD391C01787, + 97188A2D8CC4C0DACC6A4D2F, ); name = players; sourceTree = ""; }; + 738E94C7871EC777AE05CA28 = {isa = PBXGroup; children = ( + DE24F63112273826E7C9CDDC, + E2459ED14BA147A589FF714A, + 596D19FB9A57A8F833ACD362, + 8C09A72F2633270FD10E4DF6, + 0C573FF1309CE106DA2D2CF9, + CAD2BDFE8443FE5648EF5A9C, + 0C573FF1309CE106DA2D2CF9, ); name = "juce_audio_utils"; sourceTree = ""; }; + 74B1B0252780CD8B0603A2F8 = {isa = PBXGroup; children = ( + 15D277FFB993448CDB52E307, + 10F958EF56CFB17EA747F3B9, + 8EF093827B72F444E74F5682, + A89C8222531A7CBACE054C1A, + B541B5E33CE3B2054B30FF03, + 858198BBDF9BB692E58AB16D, + 61D67AE4149D2EF04BFC2F15, + B14FEADC75BB9C57CF45D850, + 729B6245E3A797878E3F4ADC, + D45979081B92930C507C3B87, + 94F0F55A3456014AA91FE44C, + 3D7BB39A9FCE43D8EAF6B6CD, + 607E088C34B7AB707A5ECE4C, + 600D84E21A1728A803F7BD26, + 3737EA20E16E2ACBFB968CD4, + 1A5086FB7B39D1C8FFAE63D9, + 015F1D2D5F78A62C40AD1B67, + 7414371325D7C8E4ECB043D0, + 51D8A242315E93AECE0D1B0E, + BE65BDFEC645F36487A68F71, + DA768EEF9A95E554F7903B60, ); name = containers; sourceTree = ""; }; + 20E3D9E2E57E2CF4D2111D3A = {isa = PBXGroup; children = ( + 890BD2A64C7C25201E20C02F, + 8E32705B99BB15E3586C067C, + 4C816FF16C50AA5C87C8F7D3, + D34AB4BF5DF2B8C181D8D344, + C881040590095369DFB1A19A, + 1989B5707DDA6E738FAABBD0, + 6E41B744374D33094F868FF3, + DCB2FAD653F074F08A916315, + 1AFAD88BA98AA530A435A680, + 08F0F20CA590351DD32B176E, + 01F6751F1A5EC2C9578F9D65, + 75CBB4C7E9CBA8B36FA40FB8, + 5D9CB6E9C215ED15E30B685C, + 5C5FBFC0D457D62BDC602F17, + 74D4B2EEC36940893BF7AC25, + 09802FE2689EB8288E554B4B, + 08EF9C1A184B049FA45DF95F, ); name = files; sourceTree = ""; }; + CC84678C15EAE543EC06B8DD = {isa = PBXGroup; children = ( + 43BE50DA24ABCAF9183FC535, + F6943E7562D614D4D2F687E4, + E74B5E2C22C81CA99C9CB473, + B37C746F12C8413EA4DF8157, ); name = javascript; sourceTree = ""; }; + 17DB33E182B6BEF901661A65 = {isa = PBXGroup; children = ( + 7E79FB8A1C88684D9961874F, + 2ACEBF748334BD2B0CBAE26E, + CC04871FDDC918BBD27FBA04, + B32E8849197AC0716AF288A3, ); name = logging; sourceTree = ""; }; + 4C760741AE42B957F74B800C = {isa = PBXGroup; children = ( + 1C99350395AE046857697B14, + 6B23639B2FD8C8FCFC241070, + C3538736DEAAF93829AB60A0, + 08CCA1B6C1824CE73281A769, + AC61701F361E5327D6BEEEDD, + 30D2B2F180671715D1CFAD5E, + EA8A250986871A036D42DB94, + 4E451FB3A0D657682324CEED, + 52058B3A331BFA856932EEED, + 20802D1854C7E66EBFCF2992, ); name = maths; sourceTree = ""; }; + 7ED3D6B61D7DF035CF9245BA = {isa = PBXGroup; children = ( + FF7509FDC5B23104C7AF1665, + 42DA53757E1591ED0395C94E, + 4BE9A59D703E4CA4661252C1, + 9C20682A5F49B7BD2CEC3E2B, + 3601DA62C81D9C4FEB9CAA23, + 042DAFB982DBCB0940DAC979, + 81E803F2EB73BF09CB0CF2DE, + B6B133F816AD44FBFFBF8146, + AB6D9BF527527D3143CAC2A2, + B785E11D273E197A78C90597, + FF796B6850F1EE2F18668D06, + 6DAF8D36A60A6F606DCDBADB, + D05C8EB1FF06FB0A06C39518, + 3957E1F6F24F89D6DCB8829E, ); name = memory; sourceTree = ""; }; + DE20E30B21BA7579285670A5 = {isa = PBXGroup; children = ( + 9CAA1BFBE6B44233E6F1247E, + 3481CFA2138FAF27F8514E06, + F18B23CFD55FD0C26C21B539, + 3BA17634675701A90B92AA88, + BCDFDFFF924A8FDF40B82990, + 837FC46135954E8144A996FD, + 3F02521692ADDB7FFD0453AE, ); name = misc; sourceTree = ""; }; + ADA28624D33425ECCBD6D7E9 = {isa = PBXGroup; children = ( + AC2F6510662AD5D52E367FB8, + 174E22634C4ADC7062948B9D, + 8680FB438DEC3B3994B6CB9D, + F7BF997FD40A633D0B519290, + B5AD346DCBF1814536BE72F1, + BFD53A594929B7CC58D46BCF, + 9D2C7F9E1E4B1A96183E2B32, + 9813552533EFFAACD0F7E1EC, + 7FDAFC6129A0497C57648A8C, + 0C58D2236F902CCD34EA4FCA, + 89A8ED7F8AF435841DFC5279, + 8F1630E85F43E88E4A40C2B1, + 1B4E025E8860D906F0ABA692, + 3234FA3655EA51C78D5E2D87, + E89452B0110096760B06397C, + 3F7FA0D8E610BE1172D0CC6E, + 42AA82D963C53D81EC596A0A, + 4AA5C3A1B7202460820F4017, + 24FD7D015B6C46BDFC98E2DE, + DB5365D435396965FC3974BC, + 2FB4483EADD06BB5F6BFC110, + 5CCB6DBE5D69271176CD9603, + 8C19D0C6E404A67C74D07A9F, + 7E7E7B2174155F2FA49E3E56, + 6EF18D083B3FAC255D719DA6, + C7E1D706A09E4E96883215BC, + 54358D8A9A8DE6AF4F781E8B, + 489FD44544F03774CBFA04E5, + B8D9A7FDB054852EF59BF4AE, ); name = native; sourceTree = ""; }; + 5079C5D49043615B3E5AE437 = {isa = PBXGroup; children = ( + 621893AE2A99F8D4331194AD, + DC4E35EEAF01C08CFC4A4CAC, + 95139F961E2C7FB6421D04A5, + A6AC587CC82C4689D4C0D90E, + 4B2D5FBEF56C3D584E65D9AD, + 04609F32D6A859ED385DCBE6, + B4E70AE3447587BABF51A076, + 2AAA2414F61ABBBF1C571901, + 8FD227DE98DB156FBBC8DD1D, + 90348A625874E8DD3DCBF583, ); name = network; sourceTree = ""; }; + E15D306575BCCB6DB43BEF49 = {isa = PBXGroup; children = ( + E4546F8D14174EB8C05A47C3, + BAE421BF414A8713DC446E10, + E428D9BEA0B66A12448F3649, + F4825162600591FAF2F1F79E, + 60DC6B904E0A0ED7D5BACBD3, + 30B528362C388E5B51DF91D6, + D1CA4E7E20D80D0AC1614F98, + 357FB6126252FB4FC7551A59, + B594FC49609DB3E2CF3DCB0C, + C26C5CA5E6514CF7457B1ACB, + DE42EED0A04BB9F90D623BAF, + C0C7CB3229B2E54FFB785CA6, + 2253863C60C8AAB3DBA4B5F1, + 861F5C579BDAA33718FFE9CA, + FCFEAB9C67D9B7FB03AB51BD, ); name = streams; sourceTree = ""; }; + E4F6351A1C51843C3C686024 = {isa = PBXGroup; children = ( + 0F26080D0E46879414836AE2, + 01A0FE7CE574B63A82297143, + F13FB76427772F29EAD88728, + C41176B7A1D16BC5C67A5727, + 5DC79394D56549821815B376, + 2A10DFB3A22E8AABF4763F68, ); name = system; sourceTree = ""; }; + F2BC8A0DE5898813BB1CECC8 = {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 = ""; }; + 05CCF6F8896FC1169CA8BD4B = {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 = ""; }; + 66A6F553AD051557E41C6F7D = {isa = PBXGroup; children = ( + BED621A030C4C37B2326EE4A, + 34CAFBB1E014F17C6111C716, + D4C5D7EE1A40AD018E5E6F02, + 724D1A80CA91E8ADB78287BE, + 32E5AD1B0A329492EDB0D49C, + 9D29AC99CA678DE27CAAAE31, ); name = time; sourceTree = ""; }; + 9B620AA0A0F276EEAFDC9C60 = {isa = PBXGroup; children = ( + C938DCCA334DE363B27C1E65, + F163668D4C2343C282574A78, ); name = "unit_tests"; sourceTree = ""; }; + C8338F80C645C13EB5D734E0 = {isa = PBXGroup; children = ( + 50385CBC88D67EF57CBAF9F6, + D0E00FC62C3DA68962100AD6, + A8F0A5C9A372D5C57033B581, + D65C8F172D8C1FD532B67348, ); name = xml; sourceTree = ""; }; + FB2DFC82F78D2B0C60928397 = {isa = PBXGroup; children = ( + A27C439D080928FF3BC24268, + 07955C2B1994766829BE8043, + CB7A2C9335B52DC0510B984C, + AC0B8C4CC494CB234A84D39C, + B90524EBC3C35060A097E235, + 114D2A42345F3C8642455581, + 7BA547517B6D33D86B4342F0, + 18CE8447EE68998F8B8A73A2, + 8C605F6103324D46D3BBCE9C, + 9D61CEB1D121A478BD6D613E, + AF6DBE0D8AEA6C65FAD991E0, + 8590765B8670984845E89C5D, + 72D5E2B81ADBBE51BD02D059, + E72F1BD0D88CC25CD009F3EF, + 620C2800C5215BD75BF1098C, + 30AB52C8CD7DE116EA6F5C56, + DC774ED9CFD985F9C1F103E3, + 11E02BC0DACDA2B24C5E48CF, + CFAF7A271641575B87488DE7, + C20F81136AF8D41BF6175EC0, + C3B9FC2E56369FCAE1651B96, + 344BD32A57659CA7D813B81A, ); name = zlib; sourceTree = ""; }; + BA65DD59C75943591A6FBB6E = {isa = PBXGroup; children = ( + FB2DFC82F78D2B0C60928397, + 777AA662407B7A91748C92A8, + FC4F3DA26D3500959DF7662A, + 1EE2B1FB37648506A369D269, + 8F9E95F991B215FFDD3F8E9B, + 10E1C3C331DF35D35508268B, + AABBDC405E85A02000A3991B, ); name = zip; sourceTree = ""; }; + F7B521C7EB8A7EFC4DE2AD31 = {isa = PBXGroup; children = ( + 74B1B0252780CD8B0603A2F8, + 20E3D9E2E57E2CF4D2111D3A, + CC84678C15EAE543EC06B8DD, + 17DB33E182B6BEF901661A65, + 4C760741AE42B957F74B800C, + 7ED3D6B61D7DF035CF9245BA, + DE20E30B21BA7579285670A5, + ADA28624D33425ECCBD6D7E9, + 5079C5D49043615B3E5AE437, + E15D306575BCCB6DB43BEF49, + E4F6351A1C51843C3C686024, + F2BC8A0DE5898813BB1CECC8, + 05CCF6F8896FC1169CA8BD4B, + 66A6F553AD051557E41C6F7D, + 9B620AA0A0F276EEAFDC9C60, + C8338F80C645C13EB5D734E0, + BA65DD59C75943591A6FBB6E, + 864898EFD2035AB69C86E1D5, + 5AAF6FD01A8ACE63E3FAEA56, + C63EFC8D5E9FDC58BD4A9CA2, + 5AAF6FD01A8ACE63E3FAEA56, ); name = "juce_core"; sourceTree = ""; }; + 83E7F8F4C0F653DE37DD0D26 = {isa = PBXGroup; children = ( + C7373F24FD2E886C50CB3903, + 268EAE33422B585DF545499A, + 84E76068048CB52123545F7B, + 6367B5EA6602CD73063A481A, + BDC7D9A7A14232DD7BBCB123, + 4C0B3826ABACE371F8681E61, ); name = encryption; sourceTree = ""; }; + FEF90C075EB43B3E9F95586E = {isa = PBXGroup; children = ( + F9A9B6A4120CCCBBD2057F9B, + F22EB69681485A38365940DD, + 17CBE6045D10290C77948F0C, + 42248B6AB06E8D01893DBDB8, + 20193027F5E90E62F44027B0, + 9069DC6DF609DE1E4A57DA7F, ); name = hashing; sourceTree = ""; }; + 7C749B953A62BB34443CEA51 = {isa = PBXGroup; children = ( + 83E7F8F4C0F653DE37DD0D26, + FEF90C075EB43B3E9F95586E, + 408E68B8CEC5FF3F2E7AFD9D, + 53AB900649E4156D953DB1CA, + DD866BA894AC019F86C5F4C9, + 53AB900649E4156D953DB1CA, ); name = "juce_cryptography"; sourceTree = ""; }; + B571D0335B8C8F01A9CEFEEA = {isa = PBXGroup; children = ( + 4F742E04B5AD194395A593C0, + 8DFA74E13F6E40A5B1C09C11, + D9FC957CB510399786D69D8D, + BDFEE2E6B40F3E47E3B16D38, ); name = "app_properties"; sourceTree = ""; }; + D9C180891CA986870A0E8822 = {isa = PBXGroup; children = ( + 7C4111F98C8023097C14C138, + 60D9E4052C3FFFA026BB35C6, + D7F183070EDA8D6D7659BDA1, ); name = undomanager; sourceTree = ""; }; + 6151CBF88527355FC496C774 = {isa = PBXGroup; children = ( + 67E9F9CC9B47815A7BC9EC0D, + 9866C2367A878D003DF3C479, + 1140A39FF348973EE6F372CB, + F39E719901F12B16AD7D600C, + BB3265EFC32ADB68A59A90CF, + 991A179EF480F6B3049D0CE2, + 4D3007B3F8AECBDB658F7259, + 82B25B30D756F75BDFDBBCD0, ); name = values; sourceTree = ""; }; + FF81165C6DC0BE3D7DDDDB3C = {isa = PBXGroup; children = ( + B571D0335B8C8F01A9CEFEEA, + D9C180891CA986870A0E8822, + 6151CBF88527355FC496C774, + 4CC686B637C4AD76543A905F, + AC98912B3226C0D29B0C8861, + A67B57899953E98B2B52FA2C, + AC98912B3226C0D29B0C8861, ); name = "juce_data_structures"; sourceTree = ""; }; + D2F6AFEB9AA55BE367590015 = {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 = ""; }; + 54F8D5BFEC9FBD89B3F13258 = {isa = PBXGroup; children = ( + E526AF80946C3F077C1C63C6, + 09532D678D2C41FEFACA71F3, + DCE64BC49FFC96654D30AD87, + C92F4F51EC54B859EAB7F09D, + CBE595558B9038547D418CEE, + F9E113AE1D2940394B95BC0F, + D0436D71AD541BF93E0585DB, + 56D6FF1634AE7B4B4B6AC323, + 3A132DEDF59503D8AEE2E1F8, + 445C1F432C6144BD2F6D3327, + EF337D9B43E0569DE3E48279, + 5016A40C1850BBD55197D30E, + 1AB81EC2CA06F18202F3049B, ); name = messages; sourceTree = ""; }; + AC5D4891563D5D16BFAACCEF = {isa = PBXGroup; children = ( + B576434956BD89F0B571B6C4, + BB9242FB689B4DAEDF1963BE, + AB26977EA68E27838B54A8E4, + 15FB19A9D4DE60608E5E123A, + B060C1B4985F4D6071C6C1F5, + 001CA7EAF68DA335025FF01E, + CB3DD188BB8AAB1931436CD4, + DFC37DEA417DA0FC812FDAC2, ); name = native; sourceTree = ""; }; + 94F502B656E51A299DCD0A31 = {isa = PBXGroup; children = ( + E540A462EBB080CF14B31764, + 9EEF2A75EDD5E8023F9AD6B0, + EE6895EE5020998469F17433, + C6CCDF5390C72C6C37F3446D, ); name = timers; sourceTree = ""; }; + 194518F009569975413BBA1F = {isa = PBXGroup; children = ( + D2F6AFEB9AA55BE367590015, + 443BF89F57F585ED86F2ADA5, + 54F8D5BFEC9FBD89B3F13258, + AC5D4891563D5D16BFAACCEF, + 94F502B656E51A299DCD0A31, + DEBE73E4D9C6362F146FCA08, + 3BAA4C5AFD5E6AE8B7447E17, + 13BEE456E0A7D58819C06B21, + 3BAA4C5AFD5E6AE8B7447E17, ); name = "juce_events"; sourceTree = ""; }; + 8B1FE7DCAB84D325EB38DFD9 = {isa = PBXGroup; children = ( + 61F74754A7B5F0BD930A51DD, + B42577EBD62A6AF7AC97DAF1, + 472EB91AAAB000217017E8EF, + F5A991062FE0EEEFE0CAAC17, + D7ECFEB15046C60EAACA0F54, + F8D8C58CEDD851E0274B5402, + 36DB2BF91B5D3D8462CB4AD5, + 27A192427FAA8C466F9D8EB2, + A210326040D3F2A40B2B9D15, ); name = colour; sourceTree = ""; }; + 3F9361C241D19FED00C9ACDB = {isa = PBXGroup; children = ( + 7D5322C5D58C267F5FC815B1, + 783AF1428118CFF4B105487B, + 7319C1AFC4D882F649320DDB, + 289B6067D3B3FED5F7A64AB6, + BBE01A9C5FD8C0656AEA9D3C, + AE6120B318B44C69CEDA6321, + A198E2290B15C62F68D21050, ); name = contexts; sourceTree = ""; }; + 9FBE402D11E1CC74224AB1F3 = {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 = ""; }; + 9154F5763AFDB267801B5853 = {isa = PBXGroup; children = ( + 1296A96AEE50FD66957B71C1, + CF1F536ECAA15F7AF8B20746, + 4292602AC091358A3439FE9F, + 28861D0EC5C396B9FFCFF1B3, + 79C9759DA5A25C1D53AC2E93, + 70736236C82A9ACE63DB3D3D, + 9A39BF4B65A5B6A66D84F232, + F9668685A98E33554348BEA6, + 709EB992B73BB302F0D9FC8F, + 648610AB6A110B1ACD64CDAE, + 201270E933BAEFC855FF02FF, + 0402044CF4F834C138AA337F, + 2D4E5BBC19F41BB8512E5E03, + 6EA97857D017530AE58ECA66, + 672780D824A4CAD951DBB29B, ); name = geometry; sourceTree = ""; }; + F702CEB46C3FFC012C868375 = {isa = PBXGroup; children = ( + B2CF1C6EC8294143130ED267, + 39F57D79499AFD60A8706173, + A28B0E73283A17AA2450E989, + 0A05B1F2D014870BD4B21E7B, + 08AF4D7E9DE1F55B2D45C8AA, + CCD82540E3B04B6496BD15D5, + 81D44AFD0558021B3028A3FB, + A239DEE243F0D1FB1158A8B7, + 35C3E6043EA3FF47B106036D, + DFA362B144EFF8EEA6308E71, + 42AB75CE1EC7C77E316D1F30, + 195A632E2BD30EC0CC6E869D, + B62CF48E6CC4BF83D13F364D, + 28367208E4B58AAB9E29EF33, + 3B8472D078D53F1910418082, + B43CD34A519E131F62B1F73C, + 956F789B3DDD41EB09972AF2, + 76C51AC2B20A39EF7CE902B5, + E173538C3256A263CE3E5FF0, + 8249C0114EA153D2CE5C666A, + 766D9EC18EA5CBA993EA7B34, + 27568E51257A3876D535CDEA, + 1C3BC60557F9F8C06DC2FB76, + FCE7C67868197DFBCA2365EB, + 648259AF304511A097949BED, + B56C31CC51CE8428AC4E98D4, + 6C0A661C078D8F0037FED489, + 3DAED22E89A1023AE9AED449, + B095F8592A4F0289CE98D041, + BB7FC171D63A2EE81B4659CE, + 9CD09A3CB4C01D7F5EAC8B66, + 2698E95DD86A2CFDC1FAE49D, + 1E56FD9A78DFADF577A7254E, + 027A576839D1AF609FEB7DFF, + 8396C2624822FA5705134669, + 839E82BEDF149242C2A71F9F, + AB49C0C6379EA96874D0D69C, + B6E3EC3D9EC70B0C6DCF1854, + EB88747AB652A19CE52ECB21, + 757D712721E9C95EDB104FF8, + EDEA829264CBF20206337EBD, + 512957EEC679ACF28E7D2D93, + 9A63FFCEE6242E708749606D, + 20A8D459915928C05BE0BE48, + 77A3030BB739150756AE9082, + 10170D04538387CCCDC7C02F, + 1EC3DA6CEB73D40AF6EC5194, + 18134B1B0216D1307B929E00, + 18874E042E7799AE612BA77B, + 426AF787C0152F7815300C21, + 76DD8144B3328378575D42C7, + 629E16D351B3980A18BB9447, + 9C0C2FD8C5F184F0928D9BA8, + DFD9DDC75D6278979853E65B, + 03633F8B1DF9BF6E54F78D32, + 6A3B6420EFDE164D237E72EB, + 1FC13A030A27EBEC285B1F24, + A7C23474EBC107984FDA82E9, + 5A014F0EE43937F98274FB18, + 65285D35AA75D110D0A95851, ); name = jpglib; sourceTree = ""; }; + 09EFF35FF4F3D3267BEAEF6B = {isa = PBXGroup; children = ( + C3520C63B69C0326050C463D, + 2DE77B2A3336EFC65E5000D4, + 95F94292250AF5E2964A6498, + B75141B09A7C2011E48E73E1, + EFF6643B70D349EA56702028, + E95FF3770356CF243076C7BB, + BA381CF0ACD78A3451D51E3B, + 4720C632893308B09BDEEB3E, + 0FD691EB4DE6A5517085781E, + BB5571E517F10D1C187AA4EC, + 4AF5BB06E6B594F6A38BE8B4, + 8210BC2014B5B597F5BCC698, + EF6D57C0BB0D018EC15DA6A8, + 5A45A96D6755567B2C720C15, + 093DF902CE8D8765BDE6EBB7, + 96E72CBFC328EC6BC45960D6, + 4BBD6A0FAD396B6C5DCE01B5, + 7D811F94785E951BE96037AC, + 917D886764AF8CEBE11BDCEC, + EDD2BBA5B68875F78E7E1D84, + 726412ECAA91C13A355DC860, ); name = pnglib; sourceTree = ""; }; + ED03B8E9C1E85FE5E4ADDB05 = {isa = PBXGroup; children = ( + F702CEB46C3FFC012C868375, + 09EFF35FF4F3D3267BEAEF6B, + 39E116DC12FD26E3DB3F4DFA, + 8C2A93223809C1EFD6D7C404, + 9D05F58F8CE58D9D6952BF1D, ); name = "image_formats"; sourceTree = ""; }; + FF90A6A8FA2C478481929B65 = {isa = PBXGroup; children = ( + 965402AAAAF0A0D920DC7C36, + A55309C54076A01EA57315CE, + 5A2B63BC2433F17DB96CC411, + 3320CAFB079DBFED7E79D33E, + 276FBDD27027CDB3CDE7A1C3, + 21530C9C69B792CA80BE9398, + 3B92F7E81BAB71A0460668E6, + EA65F835FDB1DB86406C9471, ); name = images; sourceTree = ""; }; + 0E0B15D8D091953822EF68E5 = {isa = PBXGroup; children = ( + B97A4BE39BF95F50E67A4683, + A1AF1E8ADB16AE21785390F5, + DCA560DA0C66BB6D6EA92500, + 2B27A56579939EAD06DD6061, + E07D1F3E8D8727F58F868B90, + 8621C4BB5D591743A1B86697, + 0456E3F8B40732E545A844CC, + C1688DC3A2F892F53F8F15DE, + E74DA5EF2C208608AF676212, + AF81BE7F88B9B754A9005DC0, + AE358D496192BAED93263F83, + 758A85BA2A15681252AAC852, + A6AFC4953E324CC5163256E6, ); name = native; sourceTree = ""; }; + CE3176E27202C44077AD498F = {isa = PBXGroup; children = ( + B18369F3EF227348BAECC29F, + F3472E21D095DB91ADE8D714, + C56022F99B8FB808D00CE6D7, ); name = placement; sourceTree = ""; }; + 02D2BF1071BA036B1046217F = {isa = PBXGroup; children = ( + 8B1FE7DCAB84D325EB38DFD9, + 3F9361C241D19FED00C9ACDB, + 9FBE402D11E1CC74224AB1F3, + A625E1CAB83679B5120F0B10, + 9154F5763AFDB267801B5853, + ED03B8E9C1E85FE5E4ADDB05, + FF90A6A8FA2C478481929B65, + 0E0B15D8D091953822EF68E5, + CE3176E27202C44077AD498F, + BDEC48B38506A8964328275F, + 0CFDFC8B0EE4F67F3140A95E, + A80E52C517801112E8F19350, + 0CFDFC8B0EE4F67F3140A95E, ); name = "juce_graphics"; sourceTree = ""; }; + F454A7DEA7AC32DA24B3FCB8 = {isa = PBXGroup; children = ( + 5BDA528B96063067AFD59CBB, + 0833B2844B74E56A7F375B99, ); name = application; sourceTree = ""; }; + D936EF4927B84E28C1B1B554 = {isa = PBXGroup; children = ( + 3CFD6B00875759345575ECFD, + 03C5EFBEA606B1857E2E7E70, + ECD46DBA26680A8F86569C2E, + 35E9781C54B1729BDD73DEC9, + 61F3AAB84249F782A56E88A2, + 3121B99F19132789145FDF58, + F765D762D0012A1607F5622A, + 13A6B8661E1D605FCD86F1E0, + 82CF205CD196BF77B68EA75A, + 8AF3D4A8845EBB742E3F521C, + 096F493E855364B082CA966C, + 3153401B1C69B651D2AD37E5, + 5C9AF08626A44F2AF6783A53, + 1AC73EEBD03A5926652CB682, + 22A9BA274F3AD6FAF4331D11, + 5DBA889C8116242666F3C93B, + 63DB40AFD30CEFB03779AB79, + 665FF99D0D1BF3755FE7B803, ); name = buttons; sourceTree = ""; }; + 590E46C9441299E53DD05EA6 = {isa = PBXGroup; children = ( + CD3D15787DE0633AF0F41D14, + 14B4A539EBA209BC22B91F76, + A9FE7AE10A02329F18BAF8BB, + 11FC5BF4D4CE5451BA651132, + 0DD52BE61E4DCA9575F5649F, + A4A507E78D1082DF5EDA723E, + 5127ACB1400962FB70BF6D07, + 53F664A2A3FE1983E183A431, + 1A25D684574EDD045683D4E8, ); name = commands; sourceTree = ""; }; + A5E8106B546EA717CF14DDEE = {isa = PBXGroup; children = ( + 2DAF843B2C0DA27E8741E080, + FD362E3DD7D0ED06015A52CB, + 94363B04A83DFC9C02B023DE, + F31752A999520E521BC507D1, + B77EBFED3A56358BE8599594, + 43BEA6B7451F512AC9B1ED38, + 429925ABEF514DEDE33BF925, + D2C6697A783580EE58B2C5EF, + 91B931E774E4401630F74EE7, ); name = components; sourceTree = ""; }; + 2469F5C384D7ED25C77792F2 = {isa = PBXGroup; children = ( + 4E8939ACD0CB224ABD3B3C00, + 57C8BBE1EFA839C458DEF2F6, + 9817FEEE6C1D99BCE7DB2395, + D15B6AC0F49F8BAAAF71FDF6, + 40178653E67E3C6585653D38, + C10AF8B74E855D60A481CBD4, + C4D626F9CEE1FD851551D91C, + A1F1F469B33048DD0609E02E, + 4006D8A53AC91D81816BF576, + AE20126D491A4FD52D059EFB, + 02181D9B5A755E385CD47FD2, + 8924F9B3C5A5EF7B9771465F, + 39F7F18157821A256E23B868, + 77234EEA6FC39172D3B4B455, + EF805FA4F575DBCAF69C1AE4, ); name = drawables; 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 = ""; }; + F10872691BEF7EBF7C128EC5 = {isa = PBXGroup; children = ( + BAC4FD0C99CEBD2133F79C24, + 1A5E7683202DE3D3B911F9C8, + EF8BAD426428948862257FC4, + FAF2AB8383B89E9A5AF5E946, + A42F8BC3DE25F1CC15D383E0, + DC15808BB97E1521C055A470, + E8DE188896E5791E338D4EE7, + C790F51988B04C4A38A737EE, + C1E7A30EDB756EF33710AB4C, + FC4C976D76A0B0F932B3188A, + FEF9EF55D1BF28C6A84DE4C0, + 2E551D5175FA94E0FFBF08F4, + 56FA5F3ABA3B0278767C107B, ); name = keyboard; sourceTree = ""; }; + 61733765FECFF4CEBC551D54 = {isa = PBXGroup; children = ( + 097E290A4679C103208EF789, + C8A38D75BD930F3CC7634124, + 26407477D58D92220A6AA6E8, + F90875A12DE5F66F7E70CC89, + 1ADEA6673C57B57FC0BBCD04, + 3FCD20ECBA1032D55D90DAF9, + 546BB53FC47D83869F8DDCE9, + F6440E90EC3193EBD07AD3D7, + 2669CC5C7AE7A916B5F5CF89, + A7198BFD9B0CC598BD50B587, + E368DF5C372BB7CCE82DC763, + 58B4452DE10C4ABF8D8DC7EB, + 2ABA2A324D752641AD2EA84D, + 42203A96B0F67E68EDB0939E, + 864DAFF59D56AC67F7BE6F77, + 83E38E7D0548FCDF7B150F22, + 2AF3F242C6AE6B81BEA684EE, + B35603E21B57E534616F599B, + C78105C8AEE452AED0700AAC, + 91BDECC58244D65FC321A8E8, + 03CD52285663EB462E66AEDE, + D8E594FED69859E740E91543, + 877CA42D199DE2C3C4EF58A9, + AF7E3E7137C6F49674649968, + 9801E411857A072092954171, + D79506405903905814D5B32B, + 8745ACE2C81BA9685BF99233, + 029E06243E22D19B62C7FAC4, + C18944C7BB1D9143312BE3A7, + 75636F75113CD1ABF8B01F08, + 6E01440F1FACE2977203A70B, + 74C15BFC6E036DE767574778, + 971B377F39D4CAFA77AB790C, + 95738AF2EAF17A2FA9B8E069, + 035144F9C35671488A15E9F6, + 678B3B27F695152D396C09A3, ); name = layout; sourceTree = ""; }; + 255803D0AE76436AAFE9BDCD = {isa = PBXGroup; children = ( + 140159E9C38C975949494E5C, + DCE5AE0A528365094776BE17, + 047CB008052CCD126633FB9B, + 05FD1A2AE03215E9DF92132F, + EB990950081504EBD067FF9A, + 48A798B2097EF59A8A53F1F5, + F1AEC47949E75A0B4DBEA130, + CCCF7AA714938B03DE4407FA, ); name = lookandfeel; sourceTree = ""; }; + 5CD3A2F1B412D9F553E1BB43 = {isa = PBXGroup; children = ( + BB7CA26CF4540A535BE229CA, + 8BD1742DEA98185FA7ED4152, + A84DBA7DBC8FBEA5740CB026, + 14340FB465ADE55CB3E9B66A, + FE11EB2D3A4040325E458261, + 7B441C4B6CF9473676EA3610, ); name = menus; sourceTree = ""; }; + FFCADC2DFF4EB205F2CED125 = {isa = PBXGroup; children = ( + 56E7EE3C43947842BB8BDC1A, + F80B331AD631D4F77A673691, + 3F05E519F0B0931CE0347455, + 0BAD16A58A9CBB0A2FC3C273, ); name = misc; sourceTree = ""; }; + 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 = ""; }; + 0BB6A568F8BE704F752C10FD = {isa = PBXGroup; children = ( + 051B1F5CA25863E123C662B0, + 82073AD531BE1009AE92477D, + 795FF599087653F77C7E98D2, + D4C20B86C7B0A9FFBCA8FE6B, + DF0C3025BC5B572CC28B8EEB, + C9A02E17EA16F69B823F9964, + 271E9E19BDC24378E6E73175, + A8A0AF041F30CB7F45D2FF47, + FE3080D1EC46C287930B7E18, + A5360675341F06F73AF96D1E, + 54E5C8F4F9BF6B8228482AD3, + BE28C3777F5A468E4BE1596B, + FFE74EF868B7D7FAA24DE742, + BA93F94CB1FC135E6F8D8910, + 5C2B9D77C8CEB8A1F6C121E1, + 94C3811F389418A6C4304554, ); name = native; sourceTree = ""; }; + 573CF1FE770CBD103D18F97B = {isa = PBXGroup; children = ( + 5A1C17DCA88F1D02ED5F401F, + 123CEDA734678EE95C34463D, + A118AD624CE30228686D51F3, + 00B6967A854897C9D379AAF4, + 6B59A53C3FB3B4462A5E10D0, + 648E0A0D55BE1D012C1D89B1, + 150135E20D3B4547F1B8A76F, + F81AAE65A3598A15825E6794, + 4D5112F69E06189A9318A69F, + A15770CD33E47FF114451904, + CCA843C191E1EC761E0C4B1B, + 382D4767A626A3D30826EE1B, + 82B807E750DB47D6FA6AA5F8, + 48EBF61EDF71322807F5AF4E, ); name = positioning; sourceTree = ""; }; + 35F387601ED8CBA929B8FA2D = {isa = PBXGroup; children = ( + 4533B1E6786C588EEB5F17F1, + 2C8DB3B21316CF58A088AE4B, + 80B9B913DD55B0BD215AEC86, + ECB67354113361CDADA77BC6, + 57134B5B764CAAAEA07C56CE, + 1A89B025B5C028C536ED4A8F, + FD28016A7BC2B34138B3C986, + 27B46B69A1381640C0C14CF6, + 8D32D3B412213EC3153588E0, + D380F5AED297C4D7BE55911C, + 357921A7E994C213A2D768DE, + DDD38519DCDDE8BDE8AC092B, + 4D823926C18ED8ABD95035DB, + B7DA793390976975B7967E54, ); name = properties; sourceTree = ""; }; + 21FDD18AEFB88F9D17C91350 = {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 = ""; }; + 56BF88D11AF5DB1BEDDDC86A = {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 = ( + F454A7DEA7AC32DA24B3FCB8, + D936EF4927B84E28C1B1B554, + 590E46C9441299E53DD05EA6, + A5E8106B546EA717CF14DDEE, + 2469F5C384D7ED25C77792F2, + CA4B62998A983A5AE6AFE0F9, + F10872691BEF7EBF7C128EC5, + 61733765FECFF4CEBC551D54, + 255803D0AE76436AAFE9BDCD, + 5CD3A2F1B412D9F553E1BB43, + FFCADC2DFF4EB205F2CED125, + 01F4037CDE89AF7D798873F5, + 0BB6A568F8BE704F752C10FD, + 573CF1FE770CBD103D18F97B, + 35F387601ED8CBA929B8FA2D, + 21FDD18AEFB88F9D17C91350, + 56BF88D11AF5DB1BEDDDC86A, + BF4CFF896E4EBF4324E7BF32, + 7FC7D527EA3B088288F8DA36, + 3C02F146BFD3D2C8B0B3D8B8, + 7FC7D527EA3B088288F8DA36, ); name = "juce_gui_basics"; sourceTree = ""; }; + 7D704943FCEF069FCCB19F13 = {isa = PBXGroup; children = ( + 84DFB13BE79A86FC987A63C7, + B5612B7C73B7C8313932225C, + 06753930A82DF7E1BF429914, + 2A77EE2209FDF066386F30AD, + DEB62073956FBC23B33C3215, + A032B47E0B1DFE6656768078, + 0368A590FC29803595DF7D62, + 03CA60ABCF619E81CB165C97, + 1F3F5EE19B8CA78D9513AD94, + 8EF118DED70F115DEF3DB6AE, + 3AE3D7A50A8D7F598DB6F0AE, + 46D4E162A4C937BBFE26584A, ); name = "code_editor"; sourceTree = ""; }; + 95465EABFD641097D66BC736 = {isa = PBXGroup; children = ( + 67701BB0717F9CBA6772BC42, + 7BF4C9B621AF133163D15675, ); name = documents; sourceTree = ""; }; + 72C12E60BB036DC22E27460B = {isa = PBXGroup; children = ( + 66EA0A2E6DCB92EB7CE24516, + A34D1DA226DFFEACE090BD72, + F199EA5517B054547E193F08, ); name = embedding; sourceTree = ""; }; + B59A0F94465808EC22F3905F = {isa = PBXGroup; children = ( + 58B5DEFABBF903630496C479, + 6110B87158ED828E5F9C8FA4, + 3235BA8BC4542F69C66DF218, + 63E2478C4D365C034FAEF66B, + B82B3B2DA336D3591A73280F, + FBC97D6777B3B66837ED4404, + 69995C9ACA8B57DDB8E49495, + 0A4955566797EBA0ECE56806, + D8E43470409EC218DC96B555, + ED2D3A163433149267F3C47D, + F4ED9D3E27226B0974BEC563, + 9247A389C11552FA21BAB71F, + 4A167D0C24B56DA19E2B0722, + E614AF9C124E2CEE229954DA, + 000DAE49A15BE8D4DA5ADA8E, + 6D584871C4325DBC6FA689A7, + DB85BDB1DF720391F80F0D94, + E0F302E28F1CA85EE2A60BEB, + 5BF77AE97FE5C121B30358AF, + 3E69925DB6558BBAEE5EB41B, ); name = misc; sourceTree = ""; }; + 87BCD0FC46DAAAFDAAB19333 = {isa = PBXGroup; children = ( + D1696F4E539DDB4D7423051C, + 49EEE3FAA41505E20A1587BB, + 74A4500C4809EFB73D5FA36C, + CD63DD73C9818BDF67BF9828, + DE508CE9EE6F6AFC689CDA33, + 6F4CD56079CABCB8F4FBA0D2, + 60E6823DF3335C4F4A2B4A09, + 689962387B441B1770B53D6C, + A38836ADAE0113CFA40F16EF, + C13A62F3B2A01774AD8A9921, + F672C9D6819D4CEA39A76445, + 943A1F16EFDD0E6789C90656, ); name = native; sourceTree = ""; }; + F7B6291F4272BF387B067C4F = {isa = PBXGroup; children = ( + 7D704943FCEF069FCCB19F13, + 95465EABFD641097D66BC736, + 72C12E60BB036DC22E27460B, + B59A0F94465808EC22F3905F, + 87BCD0FC46DAAAFDAAB19333, + 7F313C042BD6C3DD38A63B5C, + A7DF0F471086004A6B81CD11, + D185AFBBD6B50B5CCC2A9A3D, + A7DF0F471086004A6B81CD11, ); name = "juce_gui_extra"; sourceTree = ""; }; + 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 = ""; }; + 69DDDFC56817A2AA4F2D36B6 = {isa = PBXGroup; children = ( + 1ABEE94704EA506C399E9BB7, + AC5460D2875AEE783D2A2AAD, + 2373A1F1357D75E328517966, + FCD17983F05312385F6C17F6, + C1BD7A3D23B873F716F6C68F, + 50B9979133759179FAFFA25F, + 71359267D6C329BC132B88CF, + 8BB63BFDE6F8C634381B9CF3, + 6D6C2ADFA12CB2A3AA90E10D, + 084DC67E578B4943704DF6A8, + 04F797332FEC7F3DEAE457B5, + C5104FA479708493D5396BAA, + 6386ADE8A90ABD189AB72936, + E73144B6B99143468DB98842, + 72887C393A61739FD6C803A3, + 60707845CE9EFAADCB5BB90F, + 94F05A309F81C027AF3AA82C, ); name = opengl; sourceTree = ""; }; + 3311567F9F8DDE7DEFB18E17 = {isa = PBXGroup; children = ( + A630EDA780905F9CCC6EF5D8, + AB0C82D0A432008DA9B02B67, ); name = utils; sourceTree = ""; }; + 538DDB7E7BA2CEDE1BB9E479 = {isa = PBXGroup; children = ( + 40C488926F781C6AD971DA44, + 444D592E3E85DCB91FACCD6E, + 69DDDFC56817A2AA4F2D36B6, + 3311567F9F8DDE7DEFB18E17, + 489720A3B4E0AFC2DF1FAF2E, + B93D72307AE413B7A9A074C5, + 556B39875D557171B3E0D68C, + B93D72307AE413B7A9A074C5, ); name = "juce_opengl"; sourceTree = ""; }; + 42CBBA1D16E2CBEF03AD1739 = {isa = PBXGroup; children = ( + BF62BF87517BCECDF7BFC044, + EB5D5F550EC7617B00286524, + 0F98FC70765AB9D2566AFD47, + A6B8840048CE44449BF2E319, + CA5CAB4B48FE75C6760BB780, + 0543BDC4AF5B2ABF41749383, + 1C38EDA19B0B3A45BA47CE6E, + 15AF91E3F446F92E4B2F7093, + 5C99C4705F0D6CE613DE7711, + ED256A12202BBE4615053DD5, + B34A4D738811E54546CA93CD, + A09A20116F929D337AE95CB6, + 13BD4B06D1A341403533186D, + F0C6892CD64002A92B68F37B, + C2AF71A259E7FE29A378F063, + B3342B74DDD833F6D04A7AD3, ); name = osc; sourceTree = ""; }; + 3A7D17A61BAAFBFCAC026C49 = {isa = PBXGroup; children = ( + 42CBBA1D16E2CBEF03AD1739, + 71274DD47D3EFC3EB83ED73C, + 913E0691329569D88E7AAB64, + 913E0691329569D88E7AAB64, ); name = "juce_osc"; sourceTree = ""; }; + EF0AACA84F1CEE7F45F56339 = {isa = PBXGroup; children = ( + 81E8B4FDE23F10677BD70DCD, + 05C8723D6B99C1C95FA1860E, + E645944AAADA77E0BF55B753, + 5102C5BFB76FB218BB512EC7, + 738E94C7871EC777AE05CA28, + F7B521C7EB8A7EFC4DE2AD31, + 7C749B953A62BB34443CEA51, + FF81165C6DC0BE3D7DDDDB3C, + 194518F009569975413BBA1F, + 02D2BF1071BA036B1046217F, + A8198033A6100EDB28E54475, + F7B6291F4272BF387B067C4F, + 538DDB7E7BA2CEDE1BB9E479, + 3A7D17A61BAAFBFCAC026C49, ); name = "Juce Modules"; sourceTree = ""; }; + C20D4DECE1291BF6AF8711DC = {isa = PBXGroup; children = ( + 0555BAE6156EAF15CA77A2D8, + 74711D7544168CCAC4969A07, + 92800676AF753D1A60108F11, + C330F97CDD84D73ADFF32B6B, + 7426094FECDBDB73C1DDE58B, + 75F0E24A0BFFB573DA77B602, + 92B708D33562C06F382E615F, + 1D9299636D0100B772E26000, + F5D1149D91939A33DE653BAB, + 82F67360DC3AD52A255A3829, + 48C10DE9B2C0B0B6D874D2D2, + EF15E2FA8F8D4DB6479A48B6, + 8BA1BD3E0D16C4009774F319, + 5C8C2C045A2E27C9B23754D3, + A119D66FC1AD1E7BA31EFA46, + B431FB5881D1232F27DC05DA, + 70128920B5973BE15D2E58CF, + D12A0DFFE18728E84D9AB739, ); name = "Juce Library Code"; sourceTree = ""; }; + 4AA57E2B5FD5374D348EEF7F = {isa = PBXGroup; children = ( + 1FD6DBAC73414DD4C152E34E, + 696F7896036B652369517438, + 70F1CAF3C4C561DD81E6AFC1, ); name = Resources; sourceTree = ""; }; + 71F5560BE0EE3A17A9CE44F6 = {isa = PBXGroup; children = ( + 2E13A899F4E3C99054A3656F, + 9E8129263CD42C6029FC2CAD, + 398A945EFD9ED923162982B1, + C78806A6727F44EACFDED4A5, + 6799B056504F9F017998B9E2, + 448838BE6E937D450A3C84CE, + CB82A14817C3E2ABBBBC3864, + F3292E3563DB7ABB076DB400, + 996E743A20FC78671766BF59, + 935CA85EF98714D3A17AE737, + EC794872987FEA2E129C589A, ); name = Frameworks; sourceTree = ""; }; + 8B59A884C62D960EE9DFEF47 = {isa = PBXGroup; children = ( + E4162459ED4C829EF7B19691, ); name = Products; sourceTree = ""; }; + D2EB65517396C974F0415A7F = {isa = PBXGroup; children = ( + 856518502A948813C90E6761, + EF0AACA84F1CEE7F45F56339, + C20D4DECE1291BF6AF8711DC, + 4AA57E2B5FD5374D348EEF7F, + 71F5560BE0EE3A17A9CE44F6, + 8B59A884C62D960EE9DFEF47, ); name = Source; sourceTree = ""; }; + EE7498599191DDC73ECB55B0 = {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; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + 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; }; + 2E06386CE7CCA5FF76819BFF = {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; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + 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 = Release; }; + 3BF0365A560ACD4FD24D40CE = {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 = "JUCE Network Graphics Demo"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Debug; }; + 9C6D2FD441D79104734762A5 = {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 = "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; }; + B73863F5D180C23D3EC40C38 = {isa = XCConfigurationList; buildConfigurations = ( + EE7498599191DDC73ECB55B0, + 2E06386CE7CCA5FF76819BFF, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 714944DB86A4D402E7FA269E = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 65B2C4ED19229E0EDC8EF993, + 006DF460F8DF66EFFA80D968, ); runOnlyForDeploymentPostprocessing = 0; }; + C2977559BF9148DB70CA10AE = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 987CBD5330E76B404F0D966C, + 9F618C008A503063D10076C4, + 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, + 3C30D7C28C86F4054257DCD5, + 67DF295E93E54432043126DF, + CA694B2A73FCF12D7F9E7E49, + 80B9F7ED2009922C693B7DD4, + 77745BF98931B91341FE17F6, + B323E5E5FBD5663B21A8E623, + EC14DA30C090DDC62084DB4C, + 8ECB0767EE340DD83869E37D, ); runOnlyForDeploymentPostprocessing = 0; }; + 4311FBCBD02948A0ED96C7DD = {isa = PBXNativeTarget; buildConfigurationList = B73863F5D180C23D3EC40C38; buildPhases = ( + 714944DB86A4D402E7FA269E, + C2977559BF9148DB70CA10AE, + 865E89B94B41EB14C202CBB0, ); buildRules = ( ); dependencies = ( ); name = "JUCE Network Graphics Demo (App)"; productName = "JUCE Network Graphics Demo"; productReference = E4162459ED4C829EF7B19691; 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/PlugInSamples/Spatializer/Builds/MacOSX/RecentFilesMenuTemplate.nib b/examples/NetworkGraphicsDemo/Builds/MacOSX/RecentFilesMenuTemplate.nib similarity index 100% rename from examples/PlugInSamples/Spatializer/Builds/MacOSX/RecentFilesMenuTemplate.nib rename to examples/NetworkGraphicsDemo/Builds/MacOSX/RecentFilesMenuTemplate.nib diff --git a/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.sln b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.sln new file mode 100644 index 00000000..d111a041 --- /dev/null +++ b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.sln @@ -0,0 +1,19 @@ +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2013 +Project("{73E9ECAB-81CE-7E67-D1B1-93FD2249F2CD}") = "JUCE Network Graphics Demo", "JUCE Network Graphics Demo.vcxproj", "{C8D7908E-D9F5-61FF-49C7-33D353A636D0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C8D7908E-D9F5-61FF-49C7-33D353A636D0}.Debug|Win32.ActiveCfg = Debug|Win32 + {C8D7908E-D9F5-61FF-49C7-33D353A636D0}.Debug|Win32.Build.0 = Debug|Win32 + {C8D7908E-D9F5-61FF-49C7-33D353A636D0}.Release|Win32.ActiveCfg = Release|Win32 + {C8D7908E-D9F5-61FF-49C7-33D353A636D0}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj new file mode 100644 index 00000000..0b94827d --- /dev/null +++ b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj @@ -0,0 +1,2342 @@ + + + + + + Debug + Win32 + + + Release + Win32 + + + + {C8D7908E-D9F5-61FF-49C7-33D353A636D0} + v120 + + + + Application + false + v120 + + + Application + false + true + v120 + + + + + + + + v120 + + + <_ProjectFileVersion>10.0.30319.1 + JUCE Network Graphics Demo + true + JUCE Network Graphics Demo + 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)\JUCE Network Graphics Demo.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\JUCE Network Graphics Demo.pdb + Windows + MachineX86 + false + true + + + true + $(IntDir)\JUCE Network Graphics Demo.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)\JUCE Network Graphics Demo.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\JUCE Network Graphics Demo.pdb + Windows + MachineX86 + true + true + true + + + true + $(IntDir)\JUCE Network Graphics Demo.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 + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + 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/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj.filters b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj.filters new file mode 100644 index 00000000..2fdf1040 --- /dev/null +++ b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj.filters @@ -0,0 +1,3962 @@ + + + + + + {29EA0780-21FA-28D6-16E6-6CE80ECD10DA} + + + {4EFDD198-D2B5-7903-1381-33D93BA8085B} + + + {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} + + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + + + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} + + + {0F766DD4-A277-CB86-5647-42498C8B41E1} + + + {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + + {D64942B4-6984-3623-3347-45D472AE1C61} + + + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} + + + {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + + + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} + + + {0B0E7392-324B-088C-FBEB-5FE999D61782} + + + {20254EFE-6CBD-31A7-2119-92B1E0E0E311} + + + {70796D73-6D30-8A1B-4732-7C021E47C05A} + + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + + + {EB8DD942-E2CB-869F-D381-E02A65BA790B} + + + {8F91DFC0-7A71-1BA8-D8D9-6B4CF49151A4} + + + {B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B} + + + {8167E753-09C7-5D1C-EF2B-32D297557443} + + + {B48C883A-8483-AF6D-808C-1D9A749048D8} + + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + + + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} + + + {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} + + + {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} + + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + + {DA0DC4AC-B511-A2D4-199A-C93454D6F114} + + + {91929C6F-7902-B87D-5260-2F6CBF8ACD93} + + + {4634FFAE-9586-A970-364C-4FDDA635F99F} + + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} + + + {C9F6D785-BF78-5AA1-B479-111C65397864} + + + {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} + + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + + {F03654BC-34D8-F975-BEA3-750CC2783D23} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} + + + {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} + + + {7703D2CE-C32A-936A-0EEF-949FE6E52EB5} + + + {8D283B6C-13BA-9EF6-1B18-B1C393786943} + + + {928D8FCC-5E00-174B-6538-93E8D75AB396} + + + {358AEA11-3F96-36AE-7B32-71373B5C5396} + + + {3DF036EA-3B80-553B-2494-3AAC835CAE75} + + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + + {F2A38F45-6E55-E147-2E52-64A89FDD9D59} + + + {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} + + + {4926B3FF-E797-F586-857A-69D9703FA2D1} + + + {EBC65085-3AD5-280C-1A29-2B1683643AA1} + + + {E37D25CD-4350-4614-055B-7ABC55E67895} + + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} + + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} + + + {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} + + + {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} + + + {B3141847-8F13-F67D-45B2-E3ECF6E09088} + + + {151B49D8-6102-F802-1C07-D59931BC0574} + + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + + + {1A62F82C-C14A-E14A-94DE-8A27E0F8A090} + + + {3D19F603-7985-B222-DFDA-9B83329ACA9D} + + + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} + + + + + JUCE Network Graphics Demo\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_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + 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\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_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\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_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\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 + + + 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 + + + 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\native + + + Juce Modules\juce_audio_utils\native + + + Juce Modules\juce_audio_utils\native + + + Juce Modules\juce_audio_utils\native + + + Juce Modules\juce_audio_utils\native + + + Juce Modules\juce_audio_utils\players + + + Juce Modules\juce_audio_utils + + + Juce Modules\juce_audio_utils + + + 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\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + 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 + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\memory + + + 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_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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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_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\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures + + + 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 + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + 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_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + 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 + + + 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\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + 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\placement + + + Juce Modules\juce_graphics + + + 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\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + 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 + + + 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\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\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 + + + 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 + + + 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\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_gui_extra + + + 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\utils + + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc + + + 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 Network Graphics Demo\Source + + + JUCE Network Graphics Demo\Source + + + JUCE Network Graphics Demo\Source + + + JUCE Network Graphics Demo\Source + + + 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_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + + + 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\native + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\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_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 + + + 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\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_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\gui + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\players + + + Juce Modules\juce_audio_utils + + + Juce Modules\juce_audio_utils + + + 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\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + 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 + + + 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\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\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\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 + + + 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\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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_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 + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + 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 + + + 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\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + 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 + + + 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\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + 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 + + + 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\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\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 + + + 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\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 + + + 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 + + + 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_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 + + + 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_opengl + + + Juce Modules\juce_opengl + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc\osc + + + Juce Modules\juce_osc + + + Juce Modules\juce_osc + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + + + JUCE Network Graphics Demo + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Library Code + + + + + Juce Library Code + + + diff --git a/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/icon.ico b/examples/NetworkGraphicsDemo/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@ z%Z**7)Vu}~8yK6?QzTnHSdIk!d@9{Rn67f>2^LE{LmU}37%onKZL7TQrDrlMy7@Vb zJZA^K_|#=!w9IE!nWYmQ>M{9W%r@WPsDJ-8=w2l`Uit}zhcL&yyDRsD)hp7I`nqB= z@tA_uGBAqnJjUWfyUFF*`oi6q*oOOA77WxlKXjIoM3yG38Pfh-5%7q>S<046MJMp$ zD%IaB~4Co(N)hiAH{=4jse0HY#VpFW-b89&sggu8FMGR)pQQ zSo4hIBwyz3ad7XqUmabS04t@Sr{}(>4<_8;+Ef$mxIVZMp`PukW*94!9D-&l3aX8N zavADAV~v^cox+#xTCdtk+t|EQYA)F5uUwmyrwX_bBPqSx*G$fwmDe5CozjA&YN+E`)4QNE(Gm~I#cHSAh~ zD{VoUIDD~O5}!AhE`kec<}La0`Q4X?GYV8B*qc|?HZ6j)3twDmHt5nJx11W(KkJ*! zl%(M?q-6g(aKHNGt~nCRH= z-W`_JozR8h@+DCjG?sAncfg1>)?SZi!W1b^Zz2fKi}lTT~@KQ`7MY5yh$$ z1aqwh~-;cpi0`W{frsQD*#1w6wJ5QnunO)jY813cQ}+k5CBvLvkfQJIqrcbXI!!u&6?zl=HH@4fx!gMu7vER(MkyTmB>P>T)|hOd zs2O-lq(0y#^^*f{>G>Ps<4)+W`(YUL2M3Yd*<;dVQejA{pr>_3Xy>OS*>rKc`sgUE zMn$)T_s)7P7JE3AOJcCuCi{7^w@FsxyW`~Fzq*Qg&V%#0cd{!5HUVc?V{6OT8HhrU zn7&nI$LT4i%*Mn*^7+*>4N#@OiWVolJ?kBLBO?)4`g2uvMMnjChqwaT(C0?kP6y%% zPx~E@?Sre7uokL)7sj<%A>^cJGI{PW%4lUnYa&yiErF6h#5a9yE_*6+CG{=U zeM0vLSGWnMLRYq(m~uyHIMO*zv{t_*qmQU@+TOH$WV3wvBbALv|A-U&UZ4UoUKU*^4VAz4J{4$Qgf;?udr zQ7>Yz_{1m8oCD#ZI9J~LYp-2tVNk7}UzAe%&~=N!O6;r(su_50H#0MvzFKJ9Yq1s_W2MlcL9PxL5iqWbh)^iCO_MY~ATt)B4!n=q z0ut4iXehQ*kQ!)vHP^N2&Fd4D_&$ffgIQvKVc1c0s(sv(E24dunql7WY4X`#UckJS zcqv3UmY;&8GXo>P8m4EMrQoh{;?W0Y>4kbM6)82C7o8P7D;bY^b5?V&+^$L6Ut59!LQVT7c%2Rt7uglIcy8a$Rbrq6q@cLpcQ@d-APJaaQvO}1y| zfVH3D-?_rS%N)-taKEC3r?bQiXIEhRgcwsKqy2$?I|w=E>>AB`^Oidv*G5V97#QLc zZQeR-9+kbJ`k~0jbs|v#i;*UHYgKhwoJs?X8ls!IN>J}-=FTQkUn@Xk@!s$(zGva> zA|%q%SJ^SR!(!q`!RV;d$-45QtZzavb-**fk|OcRMkt^YHSDHdU`x{J<*l3zB>#yI{?%!Hj1JAG<`f0V800cPJD^v}1bjqU&z%jW3gRZ8&7Q?H zTBnPwpxF963?rqx8iVUWuCq8zfiAABxE=`e&~`bg)k%qtRtI{A_k)~%m(bV6sTHGg zW8WrmPKmu$juK9J@ZsGpGBmy|^+pzX2^e2ZN;T6B@n;{Jt;E3*D;u&2F*{%Y%tOHVhpax?59s| znifW7L)+LLk2~Y+Ct-hE$*kvjhUO{&jV3W8Hah}yK(+Bh%s(rr2z|W@3rXqdf zbQrqPf-sx2U?1h9kdss{Zp2J6cp^KZ9jxVE4+=&rZuf@{nNej+8tcnH2~B@oMN^8K zsmp`MW_y7Xc5Q3bSMxNI;3OmFSX0LR{*-9g(j$9Eo|jqVb!2omO21|yv}1%#r|K~3 z@_Sy%92I7}6K3i?)E|vzzhf455;lS9#iVJQ+ucI9j5*eo*DGS7c8yM}%DGI(%?8HR zeuFSn!UI+}i6E-Ir&&ICmWwZfJLr;qX3^kCh5R)f52~=nv~?aqIsYipzAvufJ+{DIM)0us_Q zF0LV#m^z`AIcc|JPQdqPV}!}Xza+kt!No1Icg-8{bNYIdoWYq;XT=f6Cww__7-s3NR33JO`fEljM%z5MP5P|r~F8Rlfq1O zM>^NEKAL@Yde2>PL)Rk2#m53pHc&P{@7l6CNA+2N(LIq9nf*|WixKnn4dFZa&%E{5 zi!U4UGUVNHod;$BekKjf3n!Mc8{HjBds|<1F^TYrjQTXJzmLI(&rqHoML#1T<%!|P zIUuaOTx&fbeg8F&Kpoj&fAAqE(EzIYL#8_KQaax2dSEwnu@ zfsr{JAi~7ON_~}28bkCf6&Id9dqy*fz`ODjE-rY;P7#qg2}|EAfT!u^i3~4?1iZLR z%Rs}$cwz@A=$+nJse&hIyEfwAAH-&sh80y=WeRqZJ!EtkrnT1glilOH!hKpx(A4V5 zMeK#g?s9efv{I5JnHOx~2KR)fdKb(U3Bopae0N+e8|_~*#OzAlS0AaQ0EC^i*XU&# z(C=NV0tbBCc@&!jTeUudNnH0J{5H!fp<)A93BP9Huwibiz70SUEVAXVz*K!g#G3gw z?4GdQRIa6BST12{hC{&uiS{KCFNT-YKO?9}niBKy(W z3(_aPMVQL4+{W2hqPR+?dV{fvgpM9Oe3jfbpMmDHAfrYRAIg6=u?!`BZa4#Dj}SjQnQsSpJh@4%H*)C1 zguCTSS1s@Jp=dRSSp)XyiGBMSM$KK1Av^GR>tYHn(WlZ0F@{raQ&Fl1S0?X{Du(BE zp|wyM^is5@)$=ugM_>8|+1=OtxE*~77*zRuSkXrwI}(!K z5khZMji`AtlU4gbMj)@p4b@K1InRck=A@pfh~ci-G?f9*!t@YWV_lZi7(|^3cZI~1ba5i$>C*siZ9ZbR2VaIiky~RWBn;q zxRQ?YL&eG4bQjITb)_)1IpF}P-`oC%Aq}u2AV!9eF znH@@a77hzy@9@u_n>EErz+?^IB7>F3dFm$!es~aG4ww-5gMZeL?Y`_5sx%W>HZpDT z+(Z&yv_*h>N;7v^XJrjc0s%ku!duzP;L%zYf$c_WT*3Dx2bV6I-_dEp z)Y{3pI9wSYnoPOYJMPZNkTrGVDz4>_%XVk#$-vg-ucOH3v-e1-vQz3J(5^I6*6Q3P zd|;^MxCa;3n>~aP&z-D79Ih6d^$ti}e<}z5``Be0=T+^X?G}w4pC{{XlY!YNDnq%a z=lU6IN(U3b6F^E6Vi{O=FBe!5jE^uKM z%hIRuK=P3nduP(XE7U$aTtDlpT1enWFBjWl_e`n6dAL`ze)f%S#`7NfICL-F56Iwy zw8$Ml2Xoc8sX2^bU9fj6p36Hj+5;>O8aihWZN{{F+&-G&(C}*Hx_${&!>Otq5avj& zvGw5AdUBi5T1Cbc177wVkg#|si{NKub{v~58vO8q^Yqh)FvOb$#K+ezRkM1*C&-A+ z7LWvG&eyUL`i~sZ+eTwDhVL@O^H!}Oh|bgs(l*&dabFC;5RN;fD0i5;)&J7HhQ#p( z2GQGc!wl=Za%Qe6bQr8-7?__-a#Je0&!*rgP`o4Lll6o=bu!Wve!ZvmlFH}d!w-5N z(=mLAV+9Ju3O~`q1gciuxO_!;FK~ZFWb6#Rc&B8=#ewc|64zmAvFt_obtV{09)p(e;I zH7NSSFcej$;HgSZ+2(@dkIFv+jP>SK;33!jtzq^a%8IbMcaZ&Y%$UYT-(oM^n_Usk zxpxX1b`ZkpmE?9~#1>>|!3SD4#pcIP-UT+_kHN{TbsZ&SF* z336a>4hQp|ju?#6TA!~&ODq8xB6$UJMxx*U%4`XFQ>cfMam^kZ*c(vz>Uz4TJ-qH6Xp;nNc35|O%C-BOScBIbGsc~05Sg!T zPHxz|*!(&uA}2BZ6kPJPDs1%}5}Y$2;j6rmU0)uaahG9KTgm+EnWY*~$yIGpSvPMK z2^Jo(^n40ydxsCZ#xPVlyeUkhpf}8b?$u~NlocaH03#r4I141~)TjwFl3wDFexY_- z8olPMPxgr^L8PQwWNh}ps})2BC%3;y{K?sPE{gh+Yl;mb)EF3WD({=r?+e=0E@zzX zIk!-DJ3>hye=!92g3pIdbiX`rSK%{xzEy88BdN)Qt(yb!569SwMq2bf9bA#%PBB8e zl(4p#c|g8HFJZKJsq+yppECu4-K19LnKLRnFLWQfV^{2DNm)&t%t*5CjS_vky0A5| z<(}s!sx1@w*wSb0a{;UN$p6#HS-&;)hkblBNDM?^N=Yb4NPPvQbAYrU22z5AFh&Rr zkQ^|OmQZR)DBTFs9fG9NF-kf%a^#-Fb3K2-vmefnJLg>2UFZJ1UvK`SB{tCTA5OKj ze(C^&kdfA$RtIIPm`9sIl^0kE#4@&}wLjySN2y$-al1l7K{LXs_Cdn?fU&Z)y%&ck zn-T~TDev;F5Ep#*rFE2tUiZc5pPWsj{DNQuBc>|h9=)Tt!wZ}RGzj96k4k#U4+?jh z+9qcj$l#CUgcb2bfmzlwMHFQbTjW}ncwh>jY6%FyV(SMZsq}3$*!2-Wz`+Z<)ETYr zMt}A%6mbuKD?=}`Yaqojhohhm&dJ0!BEKb%p7rNSs^H-GT=Y`k-ggl_ekP4v2e_}Y8c~)MsDttS1iRm_o!7wW<@RbJ+E0d zhl5vFZ#1Wmj$yL!;lu7bac;z*Kv=+W>sy^Sl^z|Glt78@YB`b5 zozkss{>iNH`NMFSo-KVczyEo&=Twb?z0d8;+Gbk4?=_qt`WVEFRNbH>W*Y4Vej#uJ zm^IwXbKW}ck+Jc$JObKnW=&%Rlg3p7_Oktop00S7q)v`ZCZ#L2+kAV=1oPCy8bBe0 zWU=5bbw#~};ie(?IYFrs3>r(Dp!5XDkw%}(>7jbCue0GR@InMoWI4OK2la2(f8H|S zYgh1_SN!w>lQ?cY?21)fa3^ zdF+C4o8YX#2>aH*ND7?EyrZu1K8!Sm{{8uq$j?7a_FW{V{@?1!nU1v`6`D?ahnB7t zQKLY$?1y8#lWrxh{K@C8l)w&;W4=xm`MbG@(wJCpCbIw0l8F+V)WwCi{#2d&X?LLe z5%mESXgFTIa}?%&yobpgEq&WZt+W+pfmGY@;4iBoyLmW*NDyb8}T}miIsDpQB+^A(P z1}gb3K!J>uu(>I(UxE`QhC>dYiE~4NPOd%SUs307fgyW>3InyW9(Ud&mUxJ!Xmir+ zg=YLki7gBo^>8KAa+a;P`K7_3ktgNT3#ct6LbQm*(WyAC4*Si~>j>`>G!celcABB3 z!|Nclfyh-Q&Q461qS*W83&hq<$a{v~7t$&&dmD_RkHTsLI(J&A2If`!kePhzu*1uZ zDNcW%GUggOCO|p}!Y(ltacsd3ubw*i(u2-A{O|#+0b$I0S^4LKtVZE`7aJc|j8|26 zjkER6+8_q@5=-AWbvkN$itKRgt?ZlKb7{^70S5=9ml;7l=&QCq3kRz`gKYFPFWFRm z@#29iUlOFG?)&MJ$P;c_YuL<eiPh;$A1Eg zP{b+OPA_up$ORIi>sJ1l`jswNB#lN8DTR}}4y~qD)NLK)pRdx&#k4pn=r!VIM88Cz zEm@|vGX!JMuaO#qsUc48hYfPkm*?0#+KD#y?XagG6c;H~6mUPl0n;v2plHFrG_(#I zL^S0ap{jejGDV{fl~nGDwYb}o@BL|tEPL!VV1F-V``rxumJo*=8&C^J__QwxPZvoX ze+NET=)!%&CS49H4>Xmj@g{OGtci)Mu+dLnIyg@1;&>mkr?7_|?{M%97AgT^PqN8n zea>DjFwhd^$ljPu!RYoK$A7a)&h$XSa;-J1zJW*@M;shcJDq(bZ|=>lJs#-a!& zC6GAniF0omPWewi!e?l%kPg$D7I3=fl{r!UU27&MR8?o18br?!RKdrTR($&XRL6=L zN{LeSYj7!tvj8+zNPMiqfws8^SK(T$hJ~ZZtgyVp2CYpcC_K^XO+0&ShFR<%M{4Uc zI&RwKx~7xmxo#GlelOZq9BJFta3rUh7rybJ)e#$kq--_(z{s)iLht1`qm%F!a@K(j0D zA#}s~!xpgnz%A5R0LARpKVx&e+YbWn9;f-PTV0s&=ayufC?KQMDd84j~G;cT&pqe|HtyTO)AKs8`~7og~0nJ zh~|m2zK(j+SnDORJLe`*Ph9eG?KDU;F1BInyeBWYw2{N%=d_3h^nd4_<=(K58;?zQ zx|092eZ|XIS^|LBZJ*!_NTviWG0Wu>F%c|3+Bjx}FA6#IFSOxT(*C^CcS@x%;=hH4 zx{=!Vm)Z-yl|v2lmx~Ob6^)Cx<*L>=!v8D&IY0qQSIXVJL|e$YkK_etcJ3PUE|Y>l zp2F~XBQg0kKhvNi8kMhzO(Z>CH2U)TuJ0rRyOFe=dGMx`=rGo6_N1no*2YzIob-uc# zFNDf#0$;NGJ>VnV5CB>Ai9W=H&FJ4onYKJb7P1{}${}&;Jt&0z418n*9`O#?Ij2s0 z*6aIiY(C=b^62>Qt~C(#bfr!nzI2BQrV3R6s(D|>c$y1h`Fx0cdv`88b=zl>rXmAE z0x}I^w`TsEo!d-&#UUbBvKtP_}bf4ZqZ!s z$N3PVVezpj^qHA|JA+9!@&8{Ir)Y%lo|wj&xu1xDg>^Mz2Y2S(=?w;Ad(u*#!hk;}#x17px~4hd+U^LufnxOvhUmr}RMEdX-$F^w&$?hru7fG!U z&WsaXMs+dKD+-VhKQo2&;}w>Ur+0*e#1bcUrE8lZYh$0k{$;T6KobES31PK&IXPCP z<>9*r2|+Y~4=)cx`xOJYv(oYyc%A^?bjL$I$-3sRkD`9vPgnc49(?hDf0bFJ8<6UE zIEO1ZTN*%A*U*yN1be=iV#N@H0Qz*%|1`w&HC@jvnqvVxNItOnYxv^;3tES8J(aKr z$gWl^|7Q;e%S7554IfiQ>Kp7YH+2UrU-F0qiBpZpErsyVtB#iPq`h8iO3I${P3Q_| z49uZqk*{6&{P^EE;aj455-2dJt#&2*`!{92D zEKdp{FWjA^53VAa^0+VoRuYmw4(|`d_pePNt{a-ww;6%_@l4`mq} zf~KkM;aGSxk#vx10E!U*;{*ms36e4{saQYRMi~RFeY(dL)okufXs;@ex@N&xIJ$UbDa~F|o7m9QMbZzQ%C%-D( zT57sRD(kH_&uf$n!y%~>r4s%xsVpyGKah6q3ouEBG7MYN`X_z*JP+xznMuGfonwIx zOX(UOsCGLy=cSh;b){&F0EN4NyMaYInKfIDpzBY#l)3C7FRw8>uWfGOD|hM- znD*cAGLp6KXa8&!g#eJKZQmHhigJZDLoRYSD4bIHn;+X?emyDUfo-9)SQiP?y+aPy ztaBv_nUm`5b4$KPGe3Hgc%JnTzDieW@X>s^@3H5 zTr(<2oV=}>G-_I z*S#|qg543dme|9AVX_6m#NYfCXt(~K7P8vKQcok)GZn}gxcK|;M0YW@~;qat^$Mc4I80y36U*PNA1j_I@MOb+^G2KM75ff9wvm8 z&@!Q;v!*f5T_Dw~s-mJ%(#)opCiV{>k|n*Tcuk&yQQ^dY8O9R#UYmw###1m@i1Hoqra_)Bt}iC z^5yS)oeeI>Z`?s9)%im!Z^#nToQw*6jcI z?w(fk|KM<(HnH^DgNEcP{f3_tNuxE*pJOo;Cbe@l`?0boj!y5O+0;r=zv~*`8SiZ5 z1iTd#CD13PESEeG5Tha=3;7=f>(g|MzKTVwACv(2GaO8*cCO~O^AKJNDS z9|wx6PQqX(ANj0zv~Skx9xoY?)sb`ZtQAeZ?5RztyJBKj%3!wWh`UzsJVH{K{ldoPOvD)TXHBAIpq6?{IF=mGSgXd6RvaiWptz9hC zHdgaJ(Qr7<{b0L?VAHNX{bMxgC=yKM}EOTIZ8DX+lt!<$# zwWN^CG7qr_T^le=%*t}H5m7Q+mbRkgb+3SBn*EWRpRE41EeLl)%X2enZ--MdTh!uB z?HC6c#@i8otYVT72qfq0S5RcG>@p=7O}Rh?Ml;4-o)#J0XJ^0Q<`qzRvm_Qz#2xWe zTIE043tnm>M3CxNkw&R)TEzy~%L9q6%o#7yIw|(Lbz)Jq-&Z*NSv~wSTI5AY)qrOQ zseo7$F%G0b;a9FWduw02tlDYa`)W>BvP7Ny8%FOLVBO)TebE=8Dgw4>FC|JMKKgLw0+C@Bb78VvubSqu{oU_*Cp%&00p629w1wsuA;r!^ za0!mg%tLF@v&1>-((^V_iQ>#!>+zBuyf@R`tAk4?nYO`Yd~B!Hu4WT_4T>%>&6D8N zl#qv@0$PjO>JRVdY6ZSO))tm{U~QyhlBHLEw(|yryC?lHnZ8`Q^ z@XOwRWN(OxTDg0WZGnW+h*oU$0A+C5_EeR1K`*zdYkbQ$t2=Zk``C3xQ}uYsn<{h> z{`C#l2iwbhuyaqpzvDDYI-9i + +VS_VERSION_INFO VERSIONINFO +FILEVERSION 1,0,0,0 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "FileDescription", "JUCE Network Graphics Demo\0" + VALUE "FileVersion", "1.0.0\0" + VALUE "ProductName", "JUCE Network Graphics Demo\0" + VALUE "ProductVersion", "1.0.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/examples/NetworkGraphicsDemo/Builds/iOS/Icon.icns b/examples/NetworkGraphicsDemo/Builds/iOS/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/examples/NetworkGraphicsDemo/Builds/iOS/Info-App.plist b/examples/NetworkGraphicsDemo/Builds/iOS/Info-App.plist new file mode 100644 index 00000000..8814fa28 --- /dev/null +++ b/examples/NetworkGraphicsDemo/Builds/iOS/Info-App.plist @@ -0,0 +1,43 @@ + + + + + + LSRequiresIPhoneOS + + UIViewControllerBasedStatusBarAppearance + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + JUCE Network Graphics Demo + CFBundleDisplayName + JUCE Network Graphics Demo + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + UIRequiresFullScreen + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + 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 new file mode 100644 index 00000000..15d73e5b --- /dev/null +++ b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo.xcodeproj/project.pbxproj @@ -0,0 +1,2821 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + + F468E8C7B02DFD4D53911277 = {isa = PBXBuildFile; fileRef = E4162459ED4C829EF7B19691; }; + 80EE2C27B466BAFD83881D3F = {isa = PBXBuildFile; fileRef = 2E13A899F4E3C99054A3656F; }; + C4D6C466C41173D6970553D2 = {isa = PBXBuildFile; fileRef = 9E8129263CD42C6029FC2CAD; }; + 3CC6DC6E223415B506D0CB75 = {isa = PBXBuildFile; fileRef = 080961C54C58ECF2346B4C23; }; + 67DF295E93E54432043126DF = {isa = PBXBuildFile; fileRef = 6799B056504F9F017998B9E2; }; + 770AB74B1D3A0108F764DD47 = {isa = PBXBuildFile; fileRef = 4D1DB6D77B6F3DE7A569780B; }; + 366A216FDEBD7BDDC1BA12D9 = {isa = PBXBuildFile; fileRef = DA40ED39AF4B56000E5A2743; }; + CA694B2A73FCF12D7F9E7E49 = {isa = PBXBuildFile; fileRef = 448838BE6E937D450A3C84CE; }; + 5A64B64E5B45AEA1A0EECC4B = {isa = PBXBuildFile; fileRef = 9193D2A3C463BEAA07FD424D; }; + F918FB5901F09EA77DB32022 = {isa = PBXBuildFile; fileRef = F7D557738137CA1A370BAA27; }; + A6AA70BD9364BB974CDEB337 = {isa = PBXBuildFile; fileRef = C821C5805007FFDC2636BBE6; }; + EC14DA30C090DDC62084DB4C = {isa = PBXBuildFile; fileRef = 935CA85EF98714D3A17AE737; }; + F714F0C84F5945BF3539239E = {isa = PBXBuildFile; fileRef = 379F77D23BFAE3795282CEB3; }; + 521016BFC5181B3170BD9E8A = {isa = PBXBuildFile; fileRef = A7050DB1488924F209A7B5CF; }; + 006DF460F8DF66EFFA80D968 = {isa = PBXBuildFile; fileRef = 70F1CAF3C4C561DD81E6AFC1; }; + 987CBD5330E76B404F0D966C = {isa = PBXBuildFile; fileRef = 77C0AC21C1028911123844FC; }; + 9F618C008A503063D10076C4 = {isa = PBXBuildFile; fileRef = 74711D7544168CCAC4969A07; }; + 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"; }; + 001CA7EAF68DA335025FF01E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + 008187B05C0B633EE28ABE56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + 00B6967A854897C9D379AAF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 015F1D2D5F78A62C40AD1B67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + 01641AA0EEDDC5059FC28EF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0186D1FA79D760C30575B900 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; + 01A0FE7CE574B63A82297143 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + 01C4EE8B6ECDCE59C6D59896 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; + 01E2D0EC4D596AB94D022EA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 01F6751F1A5EC2C9578F9D65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02181D9B5A755E385CD47FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 027A576839D1AF609FEB7DFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; + 029E06243E22D19B62C7FAC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + 02B2B5127DF9BF906368E988 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 035144F9C35671488A15E9F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + 03633F8B1DF9BF6E54F78D32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; + 0368A590FC29803595DF7D62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 03C5EFBEA606B1857E2E7E70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; + 03CA60ABCF619E81CB165C97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 03CD52285663EB462E66AEDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 03F0E358E328911FE44415CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0402044CF4F834C138AA337F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + 042DAFB982DBCB0940DAC979 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + 0456E3F8B40732E545A844CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 04609F32D6A859ED385DCBE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 047CB008052CCD126633FB9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + 04F797332FEC7F3DEAE457B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 051B1F5CA25863E123C662B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0543BDC4AF5B2ABF41749383 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCBundle.h"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.h"; sourceTree = "SOURCE_ROOT"; }; + 0555BAE6156EAF15CA77A2D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + 0566C8771A3278C82D183A98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 057E2AFB89FF0CF0CAA013AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 05C08B8A9AA77D8F0064467A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 05FD1A2AE03215E9DF92132F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + 063D31B5B54388180EC938FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; + 065E2D6F3751D5E0629A478E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; + 06753930A82DF7E1BF429914 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0679221D71CD972EE07343B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + 06E0E9069EB3A4DED12A83DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 07955C2B1994766829BE8043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; + 07C80E087D94784140EBF39F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; + 07EA9462917C02F0805971A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; + 080961C54C58ECF2346B4C23 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + 0833B2844B74E56A7F375B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + 084DC67E578B4943704DF6A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; + 085FC01079EE77D52D1ED893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 08AF4D7E9DE1F55B2D45C8AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 08CCA1B6C1824CE73281A769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; + 08EF9C1A184B049FA45DF95F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 08F0F20CA590351DD32B176E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 092152EAB569DB7795FD7B2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 093DF902CE8D8765BDE6EBB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; + 09532D678D2C41FEFACA71F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 096BB22B9363BAC781C4668D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 096F493E855364B082CA966C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 097E290A4679C103208EF789 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + 09802FE2689EB8288E554B4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A05B1F2D014870BD4B21E7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; + 0A4955566797EBA0ECE56806 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0AA8C50916EA7ED0DA117B6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; + 0AD627D1D2B082D09E1AA078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 0ADF0DECFCB1DB4D3A847EB5 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "juce_icon.png"; path = "../../Source/juce_icon.png"; sourceTree = "SOURCE_ROOT"; }; + 0B37C06B070C6F069F23A812 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 0B57E599C2FAC4FCF8175BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + 0BAD16A58A9CBB0A2FC3C273 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + 0C487F069E493BF67537758A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 0D166F0A45739D0B47E30998 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + 0DD52BE61E4DCA9575F5649F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; + 0DE14A1FA22B83FEA8DA8AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; + 0EAE4A004CEB66D275142FCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + 0F1A0B54E2BEEADD7DC1A3FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + 0F26080D0E46879414836AE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + 0F85515398F5F9A00BB31FAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; + 0F98FB16D69403E94F1BB9C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0F98FC70765AB9D2566AFD47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCArgument.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCArgument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FD691EB4DE6A5517085781E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; + 101637AD0747ECC48982FDAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + 10170D04538387CCCDC7C02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; + 1070CD5C289E13B829661610 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 10D5F9D8D44A252288D19F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + 10E1C3C331DF35D35508268B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 10F958EF56CFB17EA747F3B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + 111058D736659E73DB065469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 1140A39FF348973EE6F372CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + 114D2A42345F3C8642455581 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; + 11561CA1FD46FA08C2EF0C9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1172DC1C9E21CAAF0C82687D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 118B1A6119520DC2CCE4E119 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; + 1197F204437B7E10650C45C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1199999650BF539117869187 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + 11C77FD8A2AFF3BD8475DE0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; + 11E02BC0DACDA2B24C5E48CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + 11FC5BF4D4CE5451BA651132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1204FCBC82EA38A9512D0D81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + 123CEDA734678EE95C34463D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + 1296A96AEE50FD66957B71C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12F6DB893E5757C9F3D00F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + 13253E26F27F1E3D9AF2E15E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 14340FB465ADE55CB3E9B66A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + 14527382440E68E3F0EB8198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 14B4A539EBA209BC22B91F76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 150135E20D3B4547F1B8A76F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + 15AF91E3F446F92E4B2F7093 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCMessage.h"; path = "../../../../modules/juce_osc/osc/juce_OSCMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 15CE7C374E0EAC568806FA7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; + 15D277FFB993448CDB52E307 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 15EC4D082AC33A2DFBAA8560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + 15FB19A9D4DE60608E5E123A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 1666AE6ED73DD0DD85574640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; + 16A3BFE2C5679BDD49A4F424 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 174350B11E9207B7038E2BFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 174E22634C4ADC7062948B9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 17CBE6045D10290C77948F0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 18134B1B0216D1307B929E00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; + 181C1A360C01EFF44A3BB18A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 18874E042E7799AE612BA77B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 18CE8447EE68998F8B8A73A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; + 195A632E2BD30EC0CC6E869D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; + 1989B5707DDA6E738FAABBD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 19CFE2273750BDC1F9C2BA4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; + 1A25D684574EDD045683D4E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + 1A5086FB7B39D1C8FFAE63D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 1A593509B099BCDAFE5303E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A5E7683202DE3D3B911F9C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 1A89B025B5C028C536ED4A8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 1AACF2D716FEE0171F84F3B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; + 1AB81EC2CA06F18202F3049B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + 1ABEE94704EA506C399E9BB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1AC73EEBD03A5926652CB682 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + 1ADD2315C0E364D635A88C2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + 1ADEA6673C57B57FC0BBCD04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1AFAD88BA98AA530A435A680 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B4E025E8860D906F0ABA692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B9BCCBA7BA4D87454EC8710 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BFF9FF8A046E614580B8B78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C36397644AEF2DC1576C3A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C38EDA19B0B3A45BA47CE6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCMessage.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C3BC60557F9F8C06DC2FB76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + 1C99350395AE046857697B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CC39E35ECF5370304D47357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; + 1D0F3060DD65B305A1C0E72A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 1E56FD9A78DFADF577A7254E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; + 1EC3DA6CEB73D40AF6EC5194 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 1ED0FAAEFF9D4A6426E76E89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 1EE2B1FB37648506A369D269 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1F13AE4603A0990EF106C23D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 1F2CA6A50920B655340552D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 1FC13A030A27EBEC285B1F24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; + 20802D1854C7E66EBFCF2992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + 208B3803558F7BECB0A0AA42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + 20A8D459915928C05BE0BE48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; + 210B445861AC2BD744D97F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + 21463097F39306018F8C1FC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; + 21530C9C69B792CA80BE9398 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + 21AC48EBF734FA48E43F62BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + 21DB75038D3D7619DD53E851 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 22405CB8890111CFD8D60008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + 2253863C60C8AAB3DBA4B5F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 22A9BA274F3AD6FAF4331D11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 22DB4FA35CE02FC78E9F166A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; 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"; }; + 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"; }; + 251F11F4407E34F0F88AA1A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25B024942AF178A196E7C978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; + 25DEDA8C9F94A6C8DFC8E53E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SharedCanvas.h; path = ../../Source/SharedCanvas.h; sourceTree = "SOURCE_ROOT"; }; + 25F7E2E0BF7DF2E71648BFFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26407477D58D92220A6AA6E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 264B51063F7AA584D23B426E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2669CC5C7AE7A916B5F5CF89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + 268EAE33422B585DF545499A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; + 2698E95DD86A2CFDC1FAE49D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; + 26B7A212D6DBD337A4F8AB7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; + 26DDCC5B563483D67D645398 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 271E50C630064BE5145AAE32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; + 271E9E19BDC24378E6E73175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27568E51257A3876D535CDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; + 276FBDD27027CDB3CDE7A1C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27A192427FAA8C466F9D8EB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + 27B46B69A1381640C0C14CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 27BC9669BDAA9F041FC21837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 280CB58A46300BC229661DD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 282B495AB94F47BD60C7E62F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 28367208E4B58AAB9E29EF33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; + 284179F9F53CAA88CAC51B44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 28861D0EC5C396B9FFCFF1B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + 289B6067D3B3FED5F7A64AB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2931409E5426C745CB3B6EE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + 2A10DFB3A22E8AABF4763F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 2A77EE2209FDF066386F30AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2AA07C55625E1ADD22E9A4D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + 2AAA2414F61ABBBF1C571901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 2ABA2A324D752641AD2EA84D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2AC5CE6B79D6D7DE8F93F4EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 2ACEBF748334BD2B0CBAE26E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + 2AF3F242C6AE6B81BEA684EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B14736595E3FFC604AFBD7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B27A56579939EAD06DD6061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B79AFD47F8E64BCF455B809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; + 2BFD752818B1B0DB0B87EE82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; + 2C3C1AC071BC4252A33CD5AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C81620BC3A57FBC961B6A01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C8DB3B21316CF58A088AE4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2D4E5BBC19F41BB8512E5E03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + 2DAA78D998963C52C0DC9AC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2DAF843B2C0DA27E8741E080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; + 2DE77B2A3336EFC65E5000D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; + 2DF237E9FA7AD27A7EEADC82 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + 2E03472E7A539A88DE0273A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + 2E0625B5D067CE55D4D7F087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E13A899F4E3C99054A3656F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 2E551D5175FA94E0FFBF08F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 2F73502BA5E56A33469D93EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FAFDCAFBC5054B61699B4F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FB4483EADD06BB5F6BFC110 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 3020CB57085A70221FC0042D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 30359A3FF714F0D5FA7B628A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; + 306D2FC4CE156DB61D67C0E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + 30AB52C8CD7DE116EA6F5C56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; + 30B528362C388E5B51DF91D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 30D2B2F180671715D1CFAD5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 30F2AD2BB15BF2CE7B9ED560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; 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"; }; + 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"; }; + 3235BA8BC4542F69C66DF218 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + 32D795DD8B6BBBE5450AF17C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 32E5AD1B0A329492EDB0D49C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3320CAFB079DBFED7E79D33E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + 333E5AB794D5FC5A798A285C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 334E1EA595F4B89AB02E1D2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 33BC58E78177565C62B8FB82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + 344BD32A57659CA7D813B81A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; + 3481CFA2138FAF27F8514E06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + 34CAFBB1E014F17C6111C716 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + 34EB899E8979338EC82FDBD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; + 357921A7E994C213A2D768DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 357FB6126252FB4FC7551A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35A404D8F4164D65C3E4DCC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 35C3E6043EA3FF47B106036D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; + 35E9781C54B1729BDD73DEC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + 3601DA62C81D9C4FEB9CAA23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 36DB2BF91B5D3D8462CB4AD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3737EA20E16E2ACBFB968CD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + 379F77D23BFAE3795282CEB3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 382C1DB36E41E2DEB77B11ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 392241F3DB6CF033BB44FF60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; 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"; }; + 39F57D79499AFD60A8706173 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; 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"; }; + 3A7F1ED5671AB4D4FF793D48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; + 3AE3D7A50A8D7F598DB6F0AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3AFE6A8E50B92299EB702A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; + 3B8472D078D53F1910418082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; + 3B92F7E81BAB71A0460668E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 3DAED22E89A1023AE9AED449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; 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"; }; + 3E313B4096468DD5EE551616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; + 3E69925DB6558BBAEE5EB41B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3EBDD668B2AAF5F5159D68F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 3F02521692ADDB7FFD0453AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + 3F05E519F0B0931CE0347455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F0618824A11684059926E73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 3F6BE2A8CAF1C23380D884F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 3F7FA0D8E610BE1172D0CC6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + 3FCD20ECBA1032D55D90DAF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + 3FD16FE28FD9ABF22F0FF744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 4006D8A53AC91D81816BF576 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 40178653E67E3C6585653D38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4047AFE3B6A9844DFD7A6338 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; + 408E68B8CEC5FF3F2E7AFD9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; }; + 414E7CA5C5AB18AE918F414D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; + 42203A96B0F67E68EDB0939E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 42248B6AB06E8D01893DBDB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; + 426AF787C0152F7815300C21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; + 4292602AC091358A3439FE9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + 429925ABEF514DEDE33BF925 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + 42AA82D963C53D81EC596A0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + 42AB75CE1EC7C77E316D1F30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 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; }; + 44E5D7E779907F975BADB11F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; + 4533B1E6786C588EEB5F17F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 454AE45E2E9AEC23D8D47E54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; + 4594C65899EE174C6956A466 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; + 45B99EDD2CCD239BB786A30C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; + 461DC22FBD99144E68554B22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; + 46CE1F3B0AB174ABD1B4E2AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 46D4E162A4C937BBFE26584A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 4720C632893308B09BDEEB3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + 472EB91AAAB000217017E8EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47C8219AACA73B2EBE302A35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; + 482D7E87F00C2888C2B8FC9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 48322022C7AD99C881909D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 487F7DFCFB0CF15BDFEBD24E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + 489251CA8BE0CA79BA247455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 489720A3B4E0AFC2DF1FAF2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.cpp"; 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"; }; + 4A167D0C24B56DA19E2B0722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 4A21D36388A0B6D9543A244D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A3A8B6069E903B8F0F62DDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; + 4AA0B96439AA013BFDFED0FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; + 4AA5C3A1B7202460820F4017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + 4AB7557F71EB918F70B15F49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 4AF5BB06E6B594F6A38BE8B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; + 4B2D5FBEF56C3D584E65D9AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B73A2599617EEF450ACABAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4BBD6A0FAD396B6C5DCE01B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 4BE9A59D703E4CA4661252C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + 4C0B3826ABACE371F8681E61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; + 4C816FF16C50AA5C87C8F7D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4CAA4581DD7C06B9C83C5D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; + 4CC3F911E2539DE7F36A932D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; + 4CC686B637C4AD76543A905F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D1DB6D77B6F3DE7A569780B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; + 4D3007B3F8AECBDB658F7259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D5112F69E06189A9318A69F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D823926C18ED8ABD95035DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E0A623AEE60F18C081F1C78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; + 4E1AFB1AF80B103D7392B44A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E1C2B9C5692A96700C1A898 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E451FB3A0D657682324CEED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + 4E8939ACD0CB224ABD3B3C00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F742E04B5AD194395A593C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4FEBD56CB96D3AE8E963098C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 4FF648D72D6F1A78956CDA1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Demos.h; path = ../../Source/Demos.h; sourceTree = "SOURCE_ROOT"; }; + 5016A40C1850BBD55197D30E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 50385CBC88D67EF57CBAF9F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 505B41AE1B6E2B7FF4B0D859 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; + 50ADF3A82625F07937084481 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; + 50B9979133759179FAFFA25F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 50E3DBC3F2D136A9A59ED1D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5127ACB1400962FB70BF6D07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 512957EEC679ACF28E7D2D93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 51A7CB5736B53C5EEC163116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 51D8A242315E93AECE0D1B0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 51F0F2EB22A60569E24FB86E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; + 51FFA102D25322925C454ACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 52058B3A331BFA856932EEED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + 53AB900649E4156D953DB1CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; + 53F664A2A3FE1983E183A431 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54358D8A9A8DE6AF4F781E8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + 545C5A5F29523968A387FD91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 546BB53FC47D83869F8DDCE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 56D6FF1634AE7B4B4B6AC323 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 56E7EE3C43947842BB8BDC1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 571AD58DF821DA69E9CC7A2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; 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"; }; + 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"; }; + 58B5DEFABBF903630496C479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 592C559B3CB1579907BC6452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 596DC8FFB245F28499C125A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 59D237D2D1680300FCAAF95F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; + 5A014F0EE43937F98274FB18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; + 5A1C17DCA88F1D02ED5F401F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5A26430C3B39E428B483F11D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 5A2B63BC2433F17DB96CC411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5A45A96D6755567B2C720C15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + 5A99F85A02CACE2773FAF4AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5AAF6FD01A8ACE63E3FAEA56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 5B59DE0C6545CCC3FA26750E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5B8CE8EC0CEDF800AD5B71E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 5BA3B4D0018FA0D5C976CA3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5BDA528B96063067AFD59CBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5BF77AE97FE5C121B30358AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 5D17004F2CE0F2DBFDE79EA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + 5D2856B19DC13C57D70E42DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5D437FF52E68814020A84B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; + 5D62C9E4FB85FC828BCC4D63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 5D9CB6E9C215ED15E30B685C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + 5DBA889C8116242666F3C93B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + 5DC79394D56549821815B376 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + 5E043C5F2F280FC934592EDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5ED809701F235D958635DACA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5EEA4C0CF28336697C027202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; + 5F43B58D079ECA063DEFCD0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 5F6DEAB3DA5EF6B9F437C3CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + 600D84E21A1728A803F7BD26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60707845CE9EFAADCB5BB90F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; + 607E088C34B7AB707A5ECE4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 60D9E4052C3FFFA026BB35C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60DC6B904E0A0ED7D5BACBD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 60DD038BF3685FF524C3A720 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60E6823DF3335C4F4A2B4A09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 6110B87158ED828E5F9C8FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 613925F9A0F758ED88BBB3AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; + 61D67AE4149D2EF04BFC2F15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; + 61F3AAB84249F782A56E88A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61F74754A7B5F0BD930A51DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61FF3F04D8C193E34525E178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + 620C2800C5215BD75BF1098C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; + 621893AE2A99F8D4331194AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6256BA6104CE254172D02804 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 625FFB14675C7D67CD284601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + 629E16D351B3980A18BB9447 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; + 6367B5EA6602CD73063A481A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; + 6386ADE8A90ABD189AB72936 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 63DB40AFD30CEFB03779AB79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63E2478C4D365C034FAEF66B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63FB8DC8554DE3DC4EE53492 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; + 64223866AD9D3D69464C198B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + 648259AF304511A097949BED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + 648610AB6A110B1ACD64CDAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 648E0A0D55BE1D012C1D89B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + 649BBA6C8D29853266E8D2A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + 65285D35AA75D110D0A95851 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; + 65746338AF0FDE118A3D02C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 665FF99D0D1BF3755FE7B803 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + 666F7A0F487C9974AF12E8A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + 66C312943F23328837F18293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + 66E12916E12BBC042F715891 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 66EA0A2E6DCB92EB7CE24516 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 672780D824A4CAD951DBB29B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; + 67321193997802F731C9F3C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67701BB0717F9CBA6772BC42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67706504E1E1E19B61E90903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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; }; + 67E9F9CC9B47815A7BC9EC0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6821655BB8883B9A421666C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; 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"; }; + 6A3B6420EFDE164D237E72EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; + 6B59A53C3FB3B4462A5E10D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6B7EA4C617C2C129210C7F76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BA526E7009CAA47F22B2FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 6BB634F1841C4BCE4775FF8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BE69871BE4A865ABF84BC7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 6C0A661C078D8F0037FED489 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 6C42AAE33B1F86E496AA352C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 6D584871C4325DBC6FA689A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D6C2ADFA12CB2A3AA90E10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D8A6213F2A881CAD1DE5A7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6DAF8D36A60A6F606DCDBADB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + 6E01440F1FACE2977203A70B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6E27EBF864367EBA8B44DFA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6E41B744374D33094F868FF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6EA97857D017530AE58ECA66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 6ED2FF75E5F98253AA1C287F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6EF18D083B3FAC255D719DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F3E59877038096FDA5B28DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 707EEEE6316830C3E99E74D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.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"; }; + 72597FC646AD06A8852CEF8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; + 726412ECAA91C13A355DC860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + 72887C393A61739FD6C803A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; + 729B6245E3A797878E3F4ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 729F27B2D82EF129C024F3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 72D5E2B81ADBBE51BD02D059 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + 72F44A1CE843562597A4D7E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; + 72F927799B30E12B01E9C00A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 73A626211730F34098BC077D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.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"; }; + 74D4B2EEC36940893BF7AC25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; + 74E60A8C1056FF1D64053A62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; + 752BB4C6A01F52F61147F19A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; + 7560AC0CEBAFD1C51D9F20FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; + 75636F75113CD1ABF8B01F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + 757D712721E9C95EDB104FF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.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"; }; + 7665A2E5A2E41373D6F4C734 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + 766D9EC18EA5CBA993EA7B34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 76C51AC2B20A39EF7CE902B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; + 76DD8144B3328378575D42C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; 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"; }; + 77A3030BB739150756AE9082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 77C0AC21C1028911123844FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; + 780BD69A75EB252C81EEFEB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; + 7812B9DDB5C43F2D1B293505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; + 783AF1428118CFF4B105487B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 78EB35E34BA8673695F92D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 795FF599087653F77C7E98D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 79C9759DA5A25C1D53AC2E93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + 79E2CB1D361AFFC29A1E6DE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; + 7A1E8F59B14140851D40DF29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A41A9C37A8BA7EFB6D1F518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + 7A55E53EC2B5BC85F365A342 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7AE876FBB3643CD67C52CF8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; + 7B0648C17B0C62706424B080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 7B441C4B6CF9473676EA3610 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 7BA547517B6D33D86B4342F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; + 7BF4C9B621AF133163D15675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 7C4111F98C8023097C14C138 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 7CDAE6FBB85B787E8FA15B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + 7CE6320BC8094DB37E65721C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 7D026ADC8DEBC7262AF1BC44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; + 7D5322C5D58C267F5FC815B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7D811F94785E951BE96037AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; + 7E79FB8A1C88684D9961874F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7E7E7B2174155F2FA49E3E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + 7E97D82B3BAD4487DDA963ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; + 7E9DE536E504F1EDDF5532C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F23EFF727A93D53C8654687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F313C042BD6C3DD38A63B5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F64D580AA191FBC2A74E943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F9E3A2D24D587405B3B5E76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; + 7FC7D527EA3B088288F8DA36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 7FDAFC6129A0497C57648A8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8034DEB0DE55C62EE0B5D2FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 81B6BAADB8841B72ABDCEF5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; + 81D44AFD0558021B3028A3FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; 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"; }; + 8210BC2014B5B597F5BCC698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; + 8249C0114EA153D2CE5C666A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; 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"; }; + 8396C2624822FA5705134669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 839E82BEDF149242C2A71F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; + 84BD8495CE3D747852CB0463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84DFB13BE79A86FC987A63C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84E425B4918D8B9D5F312551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; + 84E76068048CB52123545F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 858198BBDF9BB692E58AB16D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 8590765B8670984845E89C5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; + 85B3877260326210763CC8EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; + 85D61362BF185DA51B00E00E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 861F5C579BDAA33718FFE9CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8621C4BB5D591743A1B86697 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + 862A547990420303EBE1C849 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + 864898EFD2035AB69C86E1D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; + 864DAFF59D56AC67F7BE6F77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8680FB438DEC3B3994B6CB9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87204C5BCC65051CF188DF6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 8745ACE2C81BA9685BF99233 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 874BD8915F9FC9EAF09AFB87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 877CA42D199DE2C3C4EF58A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 877FC50B817B57928FD4395C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; + 8784634AAD6079EF097FD751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 883F407DDE5464DEC7ED1634 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 890BD2A64C7C25201E20C02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8924F9B3C5A5EF7B9771465F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + 89A8ED7F8AF435841DFC5279 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A26883DAA6CE47336C86A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A791C2E9E31061FB1114D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; + 8AAA70A01C18869705F30893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; + 8AADBD01ED8B177F160939D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + 8AAEBEE37A67A5D01EBA6BB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 8C09A72F2633270FD10E4DF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; 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"; }; + 8C2A93223809C1EFD6D7C404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C605F6103324D46D3BBCE9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + 8CA2DB791512EB0E6AC7F7C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; + 8D32D3B412213EC3153588E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D7919836FD116E4D151376A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8DFA74E13F6E40A5B1C09C11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + 8E019E137C8999437C8C7B8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; + 8E2F72AFA0CDA64F0C07F105 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SlaveComponent.h; path = ../../Source/SlaveComponent.h; sourceTree = "SOURCE_ROOT"; }; + 8E32705B99BB15E3586C067C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 8EE86B89C69AD4D9A802526D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + 8EF093827B72F444E74F5682 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 8EF118DED70F115DEF3DB6AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 8F1630E85F43E88E4A40C2B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F2FACABB024833B7F932BC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 8F9E95F991B215FFDD3F8E9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 8FC33441590BA03C2EB5CD63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8FD227DE98DB156FBBC8DD1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9002A3D1CD5740D9C50A834C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 902C20CD7DEB18B69F0E1BE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 90348A625874E8DD3DCBF583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + 904D7BEE6279D62983E57DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + 905451CEDBDE4649B1DFB267 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9069DC6DF609DE1E4A57DA7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; + 912AC6CBEC5E7E91609B16C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; + 912F268EBF0738584F70DE1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + 913E0691329569D88E7AAB64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osc.h"; path = "../../../../modules/juce_osc/juce_osc.h"; sourceTree = "SOURCE_ROOT"; }; + 914ED3B5EEB409125EADBB2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 917D886764AF8CEBE11BDCEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; + 918EAFFF65C0EBD273295D56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9193D2A3C463BEAA07FD424D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; + 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"; }; + 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"; }; + 92D5E8DE8408D996942FE65B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; 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"; }; + 93B28ED24018DA6808D24901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; 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"; }; + 94363B04A83DFC9C02B023DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + 943A1F16EFDD0E6789C90656 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 944B844043D0815614FD4CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9473F75E32710D282051D93C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94B5173161517429EFDF9DF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; + 94C3811F389418A6C4304554 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94F05A309F81C027AF3AA82C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; + 94F0F55A3456014AA91FE44C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 95139F961E2C7FB6421D04A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 956F789B3DDD41EB09972AF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 95738AF2EAF17A2FA9B8E069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 95F94292250AF5E2964A6498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; + 965402AAAAF0A0D920DC7C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + 96664A31FD92DEA43D231D23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9671131059C459A1E119535E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 968CED5FCF62B31D4346DEBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; + 96E72CBFC328EC6BC45960D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + 97188A2D8CC4C0DACC6A4D2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 971B377F39D4CAFA77AB790C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 976EBB4DBB4AC7FC3589C40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; + 9801E411857A072092954171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9808FC8EBDD993802B13E360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9813552533EFFAACD0F7E1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 9817FEEE6C1D99BCE7DB2395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9866C2367A878D003DF3C479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; 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"; }; + 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"; }; + 9954F0EE26A58715A3A42B38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; + 9982F39121710EFFD5FEEAEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MasterComponent.h; path = ../../Source/MasterComponent.h; sourceTree = "SOURCE_ROOT"; }; + 999ECAD45309F13369547FDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 99F278EFA35A61B6E2AE1A61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 99FC512DFBE57AAC3894FC20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; + 9A39BF4B65A5B6A66D84F232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A63FFCEE6242E708749606D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; + 9AB6DA2CD6FC85ABC73DCA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + 9ABB34DD0089D3C1B2CB0448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 9AFB00C8011E7902EF67789C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + 9B88C701BE205AEB33ACC5FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9BB341CFFB496948D5E9A16E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + 9BFFB55D4C790719A1777FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; + 9C0C2FD8C5F184F0928D9BA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; + 9C20682A5F49B7BD2CEC3E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 9C68E54122484FE80D919763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CAA1BFBE6B44233E6F1247E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CD09A3CB4C01D7F5EAC8B66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 9D05F58F8CE58D9D6952BF1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D29AC99CA678DE27CAAAE31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + 9D2C7F9E1E4B1A96183E2B32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D61CEB1D121A478BD6D613E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + 9DCB9FE79EDD770E0EC8A370 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + 9DEFA41E52F11C989DF313BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 9DF463C5E206ADC98851C78A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + 9E2535830FEEC2462D0A01C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9E305B52D3701EE091EA5ADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; + 9E59BCA8692297CF0D22B9EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; + 9E7319BC97DD7609E51BA8E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 9E8129263CD42C6029FC2CAD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 9ED2DC39AEEFE9E28CF7E7B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9EEF2A75EDD5E8023F9AD6B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 9F49BF4440F09115117F9615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 9F80C784938338F1490BBAA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; + 9F87F8F39970D61EAC250343 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; + A032B47E0B1DFE6656768078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + A0FA5EDB7F91219859E4DBC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.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"; }; + A146C5D4033808713BAC0F5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.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"; }; + A1AF1E8ADB16AE21785390F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1F1F469B33048DD0609E02E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + A210326040D3F2A40B2B9D15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + A23791E205B22F21521DF9F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + A239DEE243F0D1FB1158A8B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; + A27C439D080928FF3BC24268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; + A28B0E73283A17AA2450E989 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; + A34D1DA226DFFEACE090BD72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A38836ADAE0113CFA40F16EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + A39FC18F44E512E5047DBB15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + A42479D8A3AE579891E8741A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + A42F8BC3DE25F1CC15D383E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4A507E78D1082DF5EDA723E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4C7C1D626E8F444FE84674C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5360675341F06F73AF96D1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + A54E763170141C2FC3BBD197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + A55309C54076A01EA57315CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; + A60C42DC112133B715DBEEA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; + A61D17AF31E2326EDA285C22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + A6B7388C11968139DFB7F95B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A6B8840048CE44449BF2E319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCArgument.h"; path = "../../../../modules/juce_osc/osc/juce_OSCArgument.h"; sourceTree = "SOURCE_ROOT"; }; + A6F2F28EC2795C4338819D34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + A7C23474EBC107984FDA82E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; + A7CB42C874454092544CA123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.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"; }; + A7FB61531AD54A533C6C0DB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; 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"; }; + A8F0A5C9A372D5C57033B581 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + A93241AAFC2CA466E7F61D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + A94C6EB19B9BF24D83054D60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; + A9FE7AE10A02329F18BAF8BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + AA5DEFC178005AF6703DD8C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; + AABBDC405E85A02000A3991B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + AB0C82D0A432008DA9B02B67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AB26977EA68E27838B54A8E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB49C0C6379EA96874D0D69C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; + AB6D9BF527527D3143CAC2A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + AB7E120B33CE6C4EA5AE1C03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB8F2253604F5601588684E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + AC0B8C4CC494CB234A84D39C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; + AC2F6510662AD5D52E367FB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + AC5460D2875AEE783D2A2AAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; + AC61701F361E5327D6BEEEDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + AC98912B3226C0D29B0C8861 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + AD18F0927230674E2BF6552A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + AD3AD8A8258B52524F9FD249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + AD5D3156CBD517EB3835798A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE20126D491A4FD52D059EFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + AE358D496192BAED93263F83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE6120B318B44C69CEDA6321 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + AEE7A4457DD1D960854EFFF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; + AF6DBE0D8AEA6C65FAD991E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; + AF7E3E7137C6F49674649968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + AF81BE7F88B9B754A9005DC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + AFE354D63186BB3CF00492E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; + B047628A6433E2258B11BC10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + B060C1B4985F4D6071C6C1F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + B095F8592A4F0289CE98D041 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + B0D4F13DF0278D8722F7C4B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0DD6412314A0666002F9CB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + B2CF1C6EC8294143130ED267 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + B32E8849197AC0716AF288A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + B3342B74DDD833F6D04A7AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCTypes.h"; path = "../../../../modules/juce_osc/osc/juce_OSCTypes.h"; sourceTree = "SOURCE_ROOT"; }; + B34A4D738811E54546CA93CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCSender.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCSender.cpp"; sourceTree = "SOURCE_ROOT"; }; + B35603E21B57E534616F599B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B37C746F12C8413EA4DF8157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + B3B317778509714561A5E52F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + B43CD34A519E131F62B1F73C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; 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"; }; + B5612B7C73B7C8313932225C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + B56C31CC51CE8428AC4E98D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; + B576434956BD89F0B571B6C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + B594FC49609DB3E2CF3DCB0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + B599D417EDB736AB6D22321A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + B5AD346DCBF1814536BE72F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + B62CF48E6CC4BF83D13F364D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; + B67517FFC3C7C709E91188A6 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + B682CF505958CB8A57B4BA2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + B6B133F816AD44FBFFBF8146 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + B6E3EC3D9EC70B0C6DCF1854 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; + B700A20AB7FA4833FBE9FAF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B72507256B293579C398DB28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; + B75141B09A7C2011E48E73E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; + B77EBFED3A56358BE8599594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + B785E11D273E197A78C90597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + B7A7C46F29FF9EBB070AE247 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + B7DA793390976975B7967E54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B7FC671CAA2FB61FA45FF25D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + B8072A5DFFD892216550F18B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; + B82B3B2DA336D3591A73280F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B84FF21D1349C565A604B4D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B8D0006C486909BB51D8D818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + B90524EBC3C35060A097E235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + B9072851D722F23A5D71F33F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + B93D72307AE413B7A9A074C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; 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"; }; + B99F9693FE694A5A7C9AF194 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; + BA381CF0ACD78A3451D51E3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; + BA6D9591DBD5CDA91ED632A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + BA93F94CB1FC135E6F8D8910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + BAC4FD0C99CEBD2133F79C24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BAE421BF414A8713DC446E10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + BB3265EFC32ADB68A59A90CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB422B25F3D67420F1A7A27C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + BB5571E517F10D1C187AA4EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + BB7CA26CF4540A535BE229CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB7FC171D63A2EE81B4659CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; + BB9242FB689B4DAEDF1963BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + BBE01A9C5FD8C0656AEA9D3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + BC93A86542557AEA4230FBFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; + BCDFDFFF924A8FDF40B82990 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDC7D9A7A14232DD7BBCB123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDEC48B38506A8964328275F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDFEE2E6B40F3E47E3B16D38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + BE05CCA102CA2AF18244AD0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE28C3777F5A468E4BE1596B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + BE65BDFEC645F36487A68F71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE6B411CD307C907BE41673D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; + BE6C77497C8F42747F797BBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE92FB177CE8690F02DDCDCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + BED1B872BC548C1D6C180D37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; + BED621A030C4C37B2326EE4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF4CFF896E4EBF4324E7BF32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF62BF87517BCECDF7BFC044 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCAddress.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF9FB15724A372A72A52A4B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; + BFD53A594929B7CC58D46BCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + C00042157AE4788F1B7DD087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + C041D609CA330DE35D88B7EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; + C07B7D8640FCA9A51575179A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; + C099D10A0E0F102A8F02A3C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; + C0C7CB3229B2E54FFB785CA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + C10AF8B74E855D60A481CBD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + C13A62F3B2A01774AD8A9921 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1688DC3A2F892F53F8F15DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + C18944C7BB1D9143312BE3A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1BD7A3D23B873F716F6C68F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1E7A30EDB756EF33710AB4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + C2018A1CDB83486F8EC3CD32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + C20F81136AF8D41BF6175EC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + C3520C63B69C0326050C463D = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; 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"; }; + C3B9FC2E56369FCAE1651B96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; 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"; }; + C41176B7A1D16BC5C67A5727 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + C4D626F9CEE1FD851551D91C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + C6B3D843C0F8AB4BB152B4C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; 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"; }; + C74BED74D8B891801A2EC0FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + C78105C8AEE452AED0700AAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C790F51988B04C4A38A737EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; + C7E1D706A09E4E96883215BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + C7FA660F34C706F9C6D0468A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; + C821C5805007FFDC2636BBE6 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; + C881040590095369DFB1A19A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + C8A38D75BD930F3CC7634124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; + C8C33E8254DF7A03B953FF91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + C8E5F60ED66385553547961E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + C92F4F51EC54B859EAB7F09D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; + C938DCCA334DE363B27C1E65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9A02E17EA16F69B823F9964 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + CAFAACC62C197C6D23DE2BDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; 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"; }; + CB481B5E92CC1EF7898DD17F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; + CB7A2C9335B52DC0510B984C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; + CBE595558B9038547D418CEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + CBED536568CEA5AD781A8AA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; + CC04871FDDC918BBD27FBA04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC8C5C667CA1A6EBAA1323E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + CCA843C191E1EC761E0C4B1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + CCCF7AA714938B03DE4407FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + CCD82540E3B04B6496BD15D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; + CCF048D8BCBC24CAC8E00C9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; + CD10A4F4FC29988D7316283F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; + CD3D15787DE0633AF0F41D14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + CD5B4BF3641DA629049AF981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + CD63DD73C9818BDF67BF9828 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CD7F6E7854F25672E5340991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + CE06CB9CD28DE31FA1528DE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + CFAF7A271641575B87488DE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; 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"; }; + D0E00FC62C3DA68962100AD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + D297A8F75D44F85373DFB3FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.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"; }; + D2E113F9E97F60B9F12D9EB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; + D34AB4BF5DF2B8C181D8D344 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + D34F5512C192C172CCC479F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + D380F5AED297C4D7BE55911C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + D3DC14B9B3C655A7E8383209 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3FEF2036F7D6B7654112E97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; + D432518F3EB9C5C792A50233 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + D52590894745515E96A7C5BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; 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"; }; + D7417EDCCB7985736057E794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; 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"; }; + D7ECFEB15046C60EAACA0F54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7F183070EDA8D6D7659BDA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + D88DBC78062ECA21D18C1D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8B377D58489B765A9369335 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8D692CC60337DC55FAEB454 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; + D8E43470409EC218DC96B555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D8E594FED69859E740E91543 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + DA002F69AE1E1A33806FAFE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; + DA40ED39AF4B56000E5A2743 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + DA768EEF9A95E554F7903B60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + DABDF0875CD745F1F4024758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + DB5365D435396965FC3974BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + DB85BDB1DF720391F80F0D94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + DC15808BB97E1521C055A470 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + DC1A091921DA33EE06DFB2BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + DC774ED9CFD985F9C1F103E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; 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"; }; + DE508CE9EE6F6AFC689CDA33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + DE66F892ACF4DCAE897F3BE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + DEA16225BAB46F055607F766 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; + DEB62073956FBC23B33C3215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + DEBE73E4D9C6362F146FCA08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF0C3025BC5B572CC28B8EEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + DFA362B144EFF8EEA6308E71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; + DFC37DEA417DA0FC812FDAC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + DFD9DDC75D6278979853E65B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; + E0069A75C60B6ECB8E8CBFDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + E173538C3256A263CE3E5FF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + E206AE1739B93E96D9552C0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; + E26803A699870246644E8BA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; 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"; }; + E2B6D342056AE854AEC4AE04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.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"; }; + E59966E807817145013F0902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; 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"; }; + E709A767A63381296C594A4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; 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"; }; + E72F1BD0D88CC25CD009F3EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.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"; }; + E95FF3770356CF243076C7BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; 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"; }; + EA78C0B608211D0AD6B45A51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; 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"; }; + EB88747AB652A19CE52ECB21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; 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"; }; + EBBE1B4A14FDE4B940B77FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; + EBE7848E2D10517EBFD6BC14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + EDD2BBA5B68875F78E7E1D84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; + EDEA829264CBF20206337EBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; 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"; }; + EF194A1C689368EE82F70579 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; 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"; }; + EF6D57C0BB0D018EC15DA6A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; 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"; }; + EFF6643B70D349EA56702028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; + F03414F1BB7A1A2BD3901CF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; + F08F56DA1211AA282CE45C90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; + F0C6892CD64002A92B68F37B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCTimeTag.h"; path = "../../../../modules/juce_osc/osc/juce_OSCTimeTag.h"; sourceTree = "SOURCE_ROOT"; }; + F13FB76427772F29EAD88728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + F163668D4C2343C282574A78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + F168A7541EBE16D46968C97D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + F18B23CFD55FD0C26C21B539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + F199EA5517B054547E193F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + F1C72CE4DDB71B4F7C874186 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; 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"; }; + 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"; }; + F4825162600591FAF2F1F79E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + F4ED9D3E27226B0974BEC563 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + F540CB77351EAEFC2B3D05CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + F7D557738137CA1A370BAA27 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 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"; }; + F877C4B21064606715EBD6D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.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"; }; + F8D8C58CEDD851E0274B5402 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + F906FBF064A716C5EADF5708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + F90875A12DE5F66F7E70CC89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + F9668685A98E33554348BEA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + F9A9B6A4120CCCBBD2057F9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9E113AE1D2940394B95BC0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + FA536BA553A2F6EFBB12B3B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; + FACE861A61DE757C5D446CE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + FAF2AB8383B89E9A5AF5E946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + FBC97D6777B3B66837ED4404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC4C976D76A0B0F932B3188A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + FC4E3F4086054CB8E200F393 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + FC4F3DA26D3500959DF7662A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + FCA5F5B553B92A4A49C3F1EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + FCD17983F05312385F6C17F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + FCE7C67868197DFBCA2365EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; + FCFEAB9C67D9B7FB03AB51BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; + FD28016A7BC2B34138B3C986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD362E3DD7D0ED06015A52CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE11EB2D3A4040325E458261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE3080D1EC46C287930B7E18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + FEECF322FE148A6D8A0AC78C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; + FEF9EF55D1BF28C6A84DE4C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + FF166251925DABFCB42F2C52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; + FF43622B9AAF3751B65DD81B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + FF7509FDC5B23104C7AF1665 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + FF796B6850F1EE2F18668D06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + FFE74EF868B7D7FAA24DE742 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 5A58AF0A052C539F0E342A88 = {isa = PBXGroup; children = ( + 4FF648D72D6F1A78956CDA1B, + 77C0AC21C1028911123844FC, + 9982F39121710EFFD5FEEAEF, + 8E2F72AFA0CDA64F0C07F105, + 25DEDA8C9F94A6C8DFC8E53E, ); name = Source; sourceTree = ""; }; + 856518502A948813C90E6761 = {isa = PBXGroup; children = ( + 5A58AF0A052C539F0E342A88, + 0ADF0DECFCB1DB4D3A847EB5, ); name = "JUCE Network Graphics Demo"; sourceTree = ""; }; + 7131FE80B7BEC472AD0037EC = {isa = PBXGroup; children = ( + C6BDBA40F172EF384F005E8B, + 3E313B4096468DD5EE551616, + 096BB22B9363BAC781C4668D, + 905451CEDBDE4649B1DFB267, + F36CA213BBF312F093F8C6E7, ); name = buffers; sourceTree = ""; }; + 1E4B183EDA584BB8B6D21657 = {isa = PBXGroup; children = ( + 2C81620BC3A57FBC961B6A01, + 5D62C9E4FB85FC828BCC4D63, + BC93A86542557AEA4230FBFE, + DEA16225BAB46F055607F766, + 21463097F39306018F8C1FC9, + 05C08B8A9AA77D8F0064467A, + FA536BA553A2F6EFBB12B3B9, + 1070CD5C289E13B829661610, + 48322022C7AD99C881909D7C, + C099D10A0E0F102A8F02A3C8, + D215EF12EACEF7D1CF873FFE, ); name = effects; sourceTree = ""; }; + 25C60D9EDF75B7501E699D07 = {isa = PBXGroup; children = ( + F5A0AF00BD4B6471D5057B9F, + 9DEFA41E52F11C989DF313BF, + 7A1E8F59B14140851D40DF29, + 912F268EBF0738584F70DE1C, + 7A55E53EC2B5BC85F365A342, + 649BBA6C8D29853266E8D2A2, + EE2712F5383D654D470BA1C1, + 834384DBC61E38E789FD9B7D, + 1A593509B099BCDAFE5303E5, + 000265F702986DE8DD932309, + B99F9693FE694A5A7C9AF194, + 72FD8AC04D2B0BEE1A5E2596, ); name = midi; sourceTree = ""; }; + E2C0999A86874422E768A18A = {isa = PBXGroup; children = ( + D96D639C9895ADEB144D5E40, + 15EC4D082AC33A2DFBAA8560, + 912AC6CBEC5E7E91609B16C8, + 968CED5FCF62B31D4346DEBD, + 51F0F2EB22A60569E24FB86E, + D656F7818C72485E3ECC50C9, + B047628A6433E2258B11BC10, + 111058D736659E73DB065469, + 2E0625B5D067CE55D4D7F087, + CF5C8009A1AB469B2A3EDAF8, + 13C50C345BB1AE097DE51F8D, + 8CA2DB791512EB0E6AC7F7C2, + E4D3972CA0596447A3C0A5EB, + 5F6DEAB3DA5EF6B9F437C3CF, + CA7D20970FD9BCB45BB5822A, + 7F9E3A2D24D587405B3B5E76, + CD7F6E7854F25672E5340991, + 32D795DD8B6BBBE5450AF17C, ); name = mpe; sourceTree = ""; }; + BCC14FB1DB5AF2D57E552587 = {isa = PBXGroup; children = ( + 902C20CD7DEB18B69F0E1BE7, + 65746338AF0FDE118A3D02C1, + DD6265BDB310A14072805592, + FACE861A61DE757C5D446CE6, + EE77BB1682ABC799703B5972, + D9B8313EC8799E313E1F7948, + D62FB517B25339128E860F9F, + 9C68E54122484FE80D919763, + EA53F7F4674786EB152A2273, + 46CE1F3B0AB174ABD1B4E2AB, + 729F27B2D82EF129C024F3F6, + D56935CBCD13662FDB475D86, + 4A0C286E6CB8D31A8C048A88, + 1377617053AF07B0E571F77B, + C74BED74D8B891801A2EC0FD, + D080322D3DB943F3FAFE56CA, ); name = sources; sourceTree = ""; }; + 64F6CC204EBB6B68CC8FD015 = {isa = PBXGroup; children = ( + BA6D9591DBD5CDA91ED632A2, + 1F13AE4603A0990EF106C23D, ); name = synthesisers; sourceTree = ""; }; + 81E8B4FDE23F10677BD70DCD = {isa = PBXGroup; children = ( + 7131FE80B7BEC472AD0037EC, + 1E4B183EDA584BB8B6D21657, + 25C60D9EDF75B7501E699D07, + E2C0999A86874422E768A18A, + BCC14FB1DB5AF2D57E552587, + 64F6CC204EBB6B68CC8FD015, + 30F2AD2BB15BF2CE7B9ED560, + A23791E205B22F21521DF9F4, + 39BADA2042495195394900F3, + A23791E205B22F21521DF9F4, ); name = "juce_audio_basics"; sourceTree = ""; }; + BE6823E1E5DDA4B811662E58 = {isa = PBXGroup; children = ( + A127A78E54490885EA61239C, + 7E9DE536E504F1EDDF5532C3, + EC97D7ABC489A5E1BD7BAF41, ); name = "audio_cd"; sourceTree = ""; }; + 02E9AEB3C82618AB04A34A93 = {isa = PBXGroup; children = ( + A64B09FC5A333C71F069C890, + 0566C8771A3278C82D183A98, + 50E3DBC3F2D136A9A59ED1D8, + 2E03472E7A539A88DE0273A0, + 5C82D0E8AB39B155A987109A, + 0EAE4A004CEB66D275142FCA, + 3913A6C3147F55D7390405B5, ); name = "audio_io"; sourceTree = ""; }; + D869BB398906A514EB15DC8C = {isa = PBXGroup; children = ( + DC9C7030E63CDD457DE54498, + 9E2535830FEEC2462D0A01C0, + C8C33E8254DF7A03B953FF91, + B19456B2F153DD805FB2F660, + 5D17004F2CE0F2DBFDE79EA4, ); name = "midi_io"; sourceTree = ""; }; + BD899F7E3ACBDD8F953B0048 = {isa = PBXGroup; children = ( + 25F7E2E0BF7DF2E71648BFFE, + 51FFA102D25322925C454ACD, + EFD1CE8574994B5B6D078FD9, + 1DE819F8D407705C57EACD26, + 008187B05C0B633EE28ABE56, + 4E1AFB1AF80B103D7392B44A, + 251F11F4407E34F0F88AA1A2, + 71894D722D549F75275D3D53, + 4FEBD56CB96D3AE8E963098C, + 1DE2689A8FBB19007E892906, + CB46FEDCD501D06F0B024134, + 99F278EFA35A61B6E2AE1A61, + F6F314A674A9535D6425F794, + C2018A1CDB83486F8EC3CD32, + 085FC01079EE77D52D1ED893, + 84BD8495CE3D747852CB0463, + 5614CF8ACD28587D8E9FC249, + 2B14736595E3FFC604AFBD7C, + 1E206D97A7B91545FE0D27CD, ); name = native; sourceTree = ""; }; + 8CE42841B41DE8C3EC52DD9E = {isa = PBXGroup; children = ( + 7F64D580AA191FBC2A74E943, + 8F2FACABB024833B7F932BC5, + 03F0E358E328911FE44415CC, + 666F7A0F487C9974AF12E8A9, ); name = sources; sourceTree = ""; }; + 05C8723D6B99C1C95FA1860E = {isa = PBXGroup; children = ( + BE6823E1E5DDA4B811662E58, + 02E9AEB3C82618AB04A34A93, + D869BB398906A514EB15DC8C, + BD899F7E3ACBDD8F953B0048, + 8CE42841B41DE8C3EC52DD9E, + 8D7919836FD116E4D151376A, + B8072A5DFFD892216550F18B, + 44301EEC47F5688D9BC0582E, + B8072A5DFFD892216550F18B, ); name = "juce_audio_devices"; sourceTree = ""; }; + BDB59835BC12C270DEFA754A = {isa = PBXGroup; children = ( + E206AE1739B93E96D9552C0E, + 707EEEE6316830C3E99E74D5, + 2B79AFD47F8E64BCF455B809, + 271E50C630064BE5145AAE32, + 4047AFE3B6A9844DFD7A6338, + 3AFE6A8E50B92299EB702A17, + 61FF3F04D8C193E34525E178, + 1AACF2D716FEE0171F84F3B1, + DA002F69AE1E1A33806FAFE0, + 625FFB14675C7D67CD284601, + 72F44A1CE843562597A4D7E0, + F08F56DA1211AA282CE45C90, + F877C4B21064606715EBD6D9, + DABDF0875CD745F1F4024758, + 8AAA70A01C18869705F30893, + 0F85515398F5F9A00BB31FAA, ); name = private; sourceTree = ""; }; + 882FE19861FB1DC382A080A7 = {isa = PBXGroup; children = ( + 7812B9DDB5C43F2D1B293505, + 7665A2E5A2E41373D6F4C734, + D297A8F75D44F85373DFB3FC, ); name = protected; sourceTree = ""; }; + 8A8724A59828F5BAFDFBE989 = {isa = PBXGroup; children = ( + BDB59835BC12C270DEFA754A, + 882FE19861FB1DC382A080A7, ); name = include; sourceTree = ""; }; + 780EC06B48EE731AA9804C2E = {isa = PBXGroup; children = ( + 8A8724A59828F5BAFDFBE989, + 9E59BCA8692297CF0D22B9EC, + 780BD69A75EB252C81EEFEB4, + 4E0A623AEE60F18C081F1C78, + 9BFFB55D4C790719A1777FD3, + CD10A4F4FC29988D7316283F, + CBED536568CEA5AD781A8AA3, + 34EB899E8979338EC82FDBD0, + 85B3877260326210763CC8EC, + 5D437FF52E68814020A84B50, + 01C4EE8B6ECDCE59C6D59896, + 454AE45E2E9AEC23D8D47E54, + 392241F3DB6CF033BB44FF60, + 1CC39E35ECF5370304D47357, + DC1A091921DA33EE06DFB2BD, + D2E113F9E97F60B9F12D9EB7, ); name = libFLAC; sourceTree = ""; }; + DEE7D0DE4B935B420EC0869E = {isa = PBXGroup; children = ( + 780EC06B48EE731AA9804C2E, + E2B6D342056AE854AEC4AE04, + 84E425B4918D8B9D5F312551, + 1666AE6ED73DD0DD85574640, + 571AD58DF821DA69E9CC7A2C, + 15CE7C374E0EAC568806FA7A, + C7FA660F34C706F9C6D0468A, + 72597FC646AD06A8852CEF8A, + 2DF237E9FA7AD27A7EEADC82, + C6B3D843C0F8AB4BB152B4C0, + AB8F2253604F5601588684E1, + 92D5E8DE8408D996942FE65B, + 0F1A0B54E2BEEADD7DC1A3FF, + 2AC5CE6B79D6D7DE8F93F4EF, + B7A7C46F29FF9EBB070AE247, ); name = flac; sourceTree = ""; }; + 21E4609ABF537311D7AA7CB7 = {isa = PBXGroup; children = ( + A60C42DC112133B715DBEEA4, + 50ADF3A82625F07937084481, ); name = coupled; sourceTree = ""; }; + 57422C3C2E3FD3CA0FBE322C = {isa = PBXGroup; children = ( + E59966E807817145013F0902, ); name = floor; sourceTree = ""; }; + C4EC296E105E40BD5E3E0C7D = {isa = PBXGroup; children = ( + 7AE876FBB3643CD67C52CF8E, ); name = uncoupled; sourceTree = ""; }; + D6070200F3D8D3447E3CCBFF = {isa = PBXGroup; children = ( + 21E4609ABF537311D7AA7CB7, + 57422C3C2E3FD3CA0FBE322C, + C4EC296E105E40BD5E3E0C7D, ); name = books; sourceTree = ""; }; + A28E841A83EAE907DBB4B320 = {isa = PBXGroup; children = ( + FF166251925DABFCB42F2C52, + EBBE1B4A14FDE4B940B77FE8, + A6F2F28EC2795C4338819D34, + 07EA9462917C02F0805971A0, + 45B99EDD2CCD239BB786A30C, + 25B024942AF178A196E7C978, + E709A767A63381296C594A4B, + 11C77FD8A2AFF3BD8475DE0B, + CAFAACC62C197C6D23DE2BDA, + 461DC22FBD99144E68554B22, + CCF048D8BCBC24CAC8E00C9E, + 063D31B5B54388180EC938FA, + 9F87F8F39970D61EAC250343, + BF9FB15724A372A72A52A4B4, + 81B6BAADB8841B72ABDCEF5D, + 4CAA4581DD7C06B9C83C5D8A, + 596DC8FFB245F28499C125A6, + BE6B411CD307C907BE41673D, + 66C312943F23328837F18293, ); name = modes; sourceTree = ""; }; + 15BD8056A42B12CB3234CAF6 = {isa = PBXGroup; children = ( + D6070200F3D8D3447E3CCBFF, + A28E841A83EAE907DBB4B320, + 7E97D82B3BAD4487DDA963ED, + C07B7D8640FCA9A51575179A, + 07C80E087D94784140EBF39F, + EBE7848E2D10517EBFD6BC14, + 0DE14A1FA22B83FEA8DA8AFC, + 79E2CB1D361AFFC29A1E6DE5, + 0B57E599C2FAC4FCF8175BFD, + 065E2D6F3751D5E0629A478E, + D8D692CC60337DC55FAEB454, + FEECF322FE148A6D8A0AC78C, + 94B5173161517429EFDF9DF5, + 13253E26F27F1E3D9AF2E15E, + F03414F1BB7A1A2BD3901CF7, + E26803A699870246644E8BA8, + D3FEF2036F7D6B7654112E97, + 8E019E137C8999437C8C7B8B, + 9E305B52D3701EE091EA5ADF, + 2BFD752818B1B0DB0B87EE82, + A7CB42C874454092544CA123, + EF194A1C689368EE82F70579, + 19CFE2273750BDC1F9C2BA4A, + 0AA8C50916EA7ED0DA117B6E, + 9F80C784938338F1490BBAA3, + 93B28ED24018DA6808D24901, + 63FB8DC8554DE3DC4EE53492, + 44E5D7E779907F975BADB11F, + 7560AC0CEBAFD1C51D9F20FF, + 0D166F0A45739D0B47E30998, + 22405CB8890111CFD8D60008, + 7D026ADC8DEBC7262AF1BC44, + 752BB4C6A01F52F61147F19A, + D7417EDCCB7985736057E794, + 3A7F1ED5671AB4D4FF793D48, + BED1B872BC548C1D6C180D37, + 59D237D2D1680300FCAAF95F, + 30359A3FF714F0D5FA7B628A, + 33BC58E78177565C62B8FB82, + 4CC3F911E2539DE7F36A932D, + D52590894745515E96A7C5BA, + 4594C65899EE174C6956A466, + A0FA5EDB7F91219859E4DBC5, ); name = lib; sourceTree = ""; }; + 357D4DBAE00E7063ED984E75 = {isa = PBXGroup; children = ( + 15BD8056A42B12CB3234CAF6, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + 26F8569D133249392294B899 = {isa = PBXGroup; children = ( + 357D4DBAE00E7063ED984E75, + B9072851D722F23A5D71F33F, + 22DB4FA35CE02FC78E9F166A, + 976EBB4DBB4AC7FC3589C40A, + B72507256B293579C398DB28, + B67517FFC3C7C709E91188A6, + A146C5D4033808713BAC0F5D, + 9954F0EE26A58715A3A42B38, + F1C72CE4DDB71B4F7C874186, + 73A626211730F34098BC077D, ); name = oggvorbis; sourceTree = ""; }; + 5FCA8C56F0BE13FDC728F6CC = {isa = PBXGroup; children = ( + DEE7D0DE4B935B420EC0869E, + 26F8569D133249392294B899, + 382C1DB36E41E2DEB77B11ED, + 66E12916E12BBC042F715891, + 5484B58D02279CE228079C12, + 6D8A6213F2A881CAD1DE5A7E, + 02B2B5127DF9BF906368E988, + 2DAA78D998963C52C0DC9AC5, + 9271A906B51A234888B79D68, + D9958673B7BFB76E4F815126, + AD18F0927230674E2BF6552A, + B682CF505958CB8A57B4BA2F, + A39FC18F44E512E5047DBB15, + 7CE6320BC8094DB37E65721C, + 8B7B53B20BE2BD10F219B06A, + 01E2D0EC4D596AB94D022EA3, + 2F73502BA5E56A33469D93EC, + 1172DC1C9E21CAAF0C82687D, + 5864A3A4338CCCB6524CE499, + F168A7541EBE16D46968C97D, ); name = codecs; sourceTree = ""; }; + 6A9A20C67FB1E1AEAA854F94 = {isa = PBXGroup; children = ( + 282B495AB94F47BD60C7E62F, + 9002A3D1CD5740D9C50A834C, + 5D2856B19DC13C57D70E42DE, + CD5B4BF3641DA629049AF981, + 72F927799B30E12B01E9C00A, + 5F43B58D079ECA063DEFCD0E, + 60DD038BF3685FF524C3A720, + 101637AD0747ECC48982FDAA, + 8784634AAD6079EF097FD751, + B4B9CE9038C38B848A3DEF42, + AD5D3156CBD517EB3835798A, + 2AA07C55625E1ADD22E9A4D5, + B599D417EDB736AB6D22321A, + 806774C77EBD99266FE68583, + A61EAEE68793E336E6F8BCF7, ); name = format; sourceTree = ""; }; + 0E6BE6FB3288F3AD7148AEDE = {isa = PBXGroup; children = ( + 505B41AE1B6E2B7FF4B0D859, + E26BB7E510E3BEE029962DD3, ); name = sampler; sourceTree = ""; }; + E645944AAADA77E0BF55B753 = {isa = PBXGroup; children = ( + 5FCA8C56F0BE13FDC728F6CC, + 6A9A20C67FB1E1AEAA854F94, + 0E6BE6FB3288F3AD7148AEDE, + A7FB61531AD54A533C6C0DB4, + 1ED0FAAEFF9D4A6426E76E89, + F756FBC7A6836696BCADD2B4, + 1ED0FAAEFF9D4A6426E76E89, ); name = "juce_audio_formats"; sourceTree = ""; }; + 380295244851F958856B8E6D = {isa = PBXGroup; children = ( + 6E27EBF864367EBA8B44DFA9, + E45C1684DCDBFD3B76F0B209, + DC50301B6C3FDAE98E224E76, + 9671131059C459A1E119535E, ); name = format; sourceTree = ""; }; + 216078898103A118C58B7B65 = {isa = PBXGroup; children = ( + 3F6BE2A8CAF1C23380D884F5, + 1D153366F6EA459B397CA356, + E44B8F906461AB6AC47B374A, + 914ED3B5EEB409125EADBB2F, + 10D5F9D8D44A252288D19F42, + 7A41A9C37A8BA7EFB6D1F518, + 264B51063F7AA584D23B426E, + 545C5A5F29523968A387FD91, + CE06CB9CD28DE31FA1528DE5, + F906FBF064A716C5EADF5708, + 5B8CE8EC0CEDF800AD5B71E1, ); name = "format_types"; sourceTree = ""; }; + 7A3339B826CDDE52B5710713 = {isa = PBXGroup; children = ( + E8649B16BA011770D16BF051, + 0DB078E2523AD3ABE77A95F6, + 47C8219AACA73B2EBE302A35, + 904D7BEE6279D62983E57DCA, + 3193E205AA627C635FF236E0, + E33B4A0A655F6365B17CE1F4, + 2C3C1AC071BC4252A33CD5AC, + 21DB75038D3D7619DD53E851, + 8A26883DAA6CE47336C86A40, + 21AC48EBF734FA48E43F62BE, + 4A3A8B6069E903B8F0F62DDF, + 87204C5BCC65051CF188DF6D, + D64370EA15694620740DAEF4, + 174350B11E9207B7038E2BFA, + A42479D8A3AE579891E8741A, + 487F7DFCFB0CF15BDFEBD24E, ); name = processors; sourceTree = ""; }; + DE8DDC1A6A1A5E70018B45B7 = {isa = PBXGroup; children = ( + 9411003BA4D471F2C95269ED, + 4AA0B96439AA013BFDFED0FF, + C30F3519F6ADB14DD19DE1A9, + 3BEA5E0CD39AABEAB92B425E, + BE05CCA102CA2AF18244AD0E, + A6B7388C11968139DFB7F95B, ); name = scanning; sourceTree = ""; }; + CF3502266720B326C5ED5310 = {isa = PBXGroup; children = ( + 1D0F3060DD65B305A1C0E72A, + D7C7D8F1CD5FCCAD941DAB9A, + D432518F3EB9C5C792A50233, + AFE354D63186BB3CF00492E3, + 96664A31FD92DEA43D231D23, + DC3AA6076CA4CFB066F146D2, + 5ED809701F235D958635DACA, + 877FC50B817B57928FD4395C, ); name = utilities; sourceTree = ""; }; + 5102C5BFB76FB218BB512EC7 = {isa = PBXGroup; children = ( + 380295244851F958856B8E6D, + 216078898103A118C58B7B65, + 7A3339B826CDDE52B5710713, + DE8DDC1A6A1A5E70018B45B7, + CF3502266720B326C5ED5310, + EA78C0B608211D0AD6B45A51, + A94C6EB19B9BF24D83054D60, + 814EF15FC580DB2A5F426071, + A94C6EB19B9BF24D83054D60, ); name = "juce_audio_processors"; sourceTree = ""; }; + DE24F63112273826E7C9CDDC = {isa = PBXGroup; children = ( + 26DDCC5B563483D67D645398, + 6FDDB32B35EF2BC6C4E353C0, + D3DC14B9B3C655A7E8383209, + 51A7CB5736B53C5EEC163116, + 1F2CA6A50920B655340552D6, + E7230A4CC16B57C93FCE675A, + 5EEA4C0CF28336697C027202, + 1FEF9A01DC5486A9FA1CDF04, + 0186D1FA79D760C30575B900, + 284179F9F53CAA88CAC51B44, + 9ED2DC39AEEFE9E28CF7E7B0, + DDD307F9E18E442E43786B0E, + BE6C77497C8F42747F797BBD, + 181C1A360C01EFF44A3BB18A, ); name = gui; sourceTree = ""; }; + E2459ED14BA147A589FF714A = {isa = PBXGroup; children = ( + E78FFEA6B1BE4AD1EE43C60D, + 7B0648C17B0C62706424B080, + 7F23EFF727A93D53C8654687, + B0DD6412314A0666002F9CB5, + 1B9BCCBA7BA4D87454EC8710, ); name = native; sourceTree = ""; }; + 596D19FB9A57A8F833ACD362 = {isa = PBXGroup; children = ( + E75749124D1F2FD391C01787, + 97188A2D8CC4C0DACC6A4D2F, ); name = players; sourceTree = ""; }; + 738E94C7871EC777AE05CA28 = {isa = PBXGroup; children = ( + DE24F63112273826E7C9CDDC, + E2459ED14BA147A589FF714A, + 596D19FB9A57A8F833ACD362, + 8C09A72F2633270FD10E4DF6, + 0C573FF1309CE106DA2D2CF9, + CAD2BDFE8443FE5648EF5A9C, + 0C573FF1309CE106DA2D2CF9, ); name = "juce_audio_utils"; sourceTree = ""; }; + 74B1B0252780CD8B0603A2F8 = {isa = PBXGroup; children = ( + 15D277FFB993448CDB52E307, + 10F958EF56CFB17EA747F3B9, + 8EF093827B72F444E74F5682, + A89C8222531A7CBACE054C1A, + B541B5E33CE3B2054B30FF03, + 858198BBDF9BB692E58AB16D, + 61D67AE4149D2EF04BFC2F15, + B14FEADC75BB9C57CF45D850, + 729B6245E3A797878E3F4ADC, + D45979081B92930C507C3B87, + 94F0F55A3456014AA91FE44C, + 3D7BB39A9FCE43D8EAF6B6CD, + 607E088C34B7AB707A5ECE4C, + 600D84E21A1728A803F7BD26, + 3737EA20E16E2ACBFB968CD4, + 1A5086FB7B39D1C8FFAE63D9, + 015F1D2D5F78A62C40AD1B67, + 7414371325D7C8E4ECB043D0, + 51D8A242315E93AECE0D1B0E, + BE65BDFEC645F36487A68F71, + DA768EEF9A95E554F7903B60, ); name = containers; sourceTree = ""; }; + 20E3D9E2E57E2CF4D2111D3A = {isa = PBXGroup; children = ( + 890BD2A64C7C25201E20C02F, + 8E32705B99BB15E3586C067C, + 4C816FF16C50AA5C87C8F7D3, + D34AB4BF5DF2B8C181D8D344, + C881040590095369DFB1A19A, + 1989B5707DDA6E738FAABBD0, + 6E41B744374D33094F868FF3, + DCB2FAD653F074F08A916315, + 1AFAD88BA98AA530A435A680, + 08F0F20CA590351DD32B176E, + 01F6751F1A5EC2C9578F9D65, + 75CBB4C7E9CBA8B36FA40FB8, + 5D9CB6E9C215ED15E30B685C, + 5C5FBFC0D457D62BDC602F17, + 74D4B2EEC36940893BF7AC25, + 09802FE2689EB8288E554B4B, + 08EF9C1A184B049FA45DF95F, ); name = files; sourceTree = ""; }; + CC84678C15EAE543EC06B8DD = {isa = PBXGroup; children = ( + 43BE50DA24ABCAF9183FC535, + F6943E7562D614D4D2F687E4, + E74B5E2C22C81CA99C9CB473, + B37C746F12C8413EA4DF8157, ); name = javascript; sourceTree = ""; }; + 17DB33E182B6BEF901661A65 = {isa = PBXGroup; children = ( + 7E79FB8A1C88684D9961874F, + 2ACEBF748334BD2B0CBAE26E, + CC04871FDDC918BBD27FBA04, + B32E8849197AC0716AF288A3, ); name = logging; sourceTree = ""; }; + 4C760741AE42B957F74B800C = {isa = PBXGroup; children = ( + 1C99350395AE046857697B14, + 6B23639B2FD8C8FCFC241070, + C3538736DEAAF93829AB60A0, + 08CCA1B6C1824CE73281A769, + AC61701F361E5327D6BEEEDD, + 30D2B2F180671715D1CFAD5E, + EA8A250986871A036D42DB94, + 4E451FB3A0D657682324CEED, + 52058B3A331BFA856932EEED, + 20802D1854C7E66EBFCF2992, ); name = maths; sourceTree = ""; }; + 7ED3D6B61D7DF035CF9245BA = {isa = PBXGroup; children = ( + FF7509FDC5B23104C7AF1665, + 42DA53757E1591ED0395C94E, + 4BE9A59D703E4CA4661252C1, + 9C20682A5F49B7BD2CEC3E2B, + 3601DA62C81D9C4FEB9CAA23, + 042DAFB982DBCB0940DAC979, + 81E803F2EB73BF09CB0CF2DE, + B6B133F816AD44FBFFBF8146, + AB6D9BF527527D3143CAC2A2, + B785E11D273E197A78C90597, + FF796B6850F1EE2F18668D06, + 6DAF8D36A60A6F606DCDBADB, + D05C8EB1FF06FB0A06C39518, + 3957E1F6F24F89D6DCB8829E, ); name = memory; sourceTree = ""; }; + DE20E30B21BA7579285670A5 = {isa = PBXGroup; children = ( + 9CAA1BFBE6B44233E6F1247E, + 3481CFA2138FAF27F8514E06, + F18B23CFD55FD0C26C21B539, + 3BA17634675701A90B92AA88, + BCDFDFFF924A8FDF40B82990, + 837FC46135954E8144A996FD, + 3F02521692ADDB7FFD0453AE, ); name = misc; sourceTree = ""; }; + ADA28624D33425ECCBD6D7E9 = {isa = PBXGroup; children = ( + AC2F6510662AD5D52E367FB8, + 174E22634C4ADC7062948B9D, + 8680FB438DEC3B3994B6CB9D, + F7BF997FD40A633D0B519290, + B5AD346DCBF1814536BE72F1, + BFD53A594929B7CC58D46BCF, + 9D2C7F9E1E4B1A96183E2B32, + 9813552533EFFAACD0F7E1EC, + 7FDAFC6129A0497C57648A8C, + 0C58D2236F902CCD34EA4FCA, + 89A8ED7F8AF435841DFC5279, + 8F1630E85F43E88E4A40C2B1, + 1B4E025E8860D906F0ABA692, + 3234FA3655EA51C78D5E2D87, + E89452B0110096760B06397C, + 3F7FA0D8E610BE1172D0CC6E, + 42AA82D963C53D81EC596A0A, + 4AA5C3A1B7202460820F4017, + 24FD7D015B6C46BDFC98E2DE, + DB5365D435396965FC3974BC, + 2FB4483EADD06BB5F6BFC110, + 5CCB6DBE5D69271176CD9603, + 8C19D0C6E404A67C74D07A9F, + 7E7E7B2174155F2FA49E3E56, + 6EF18D083B3FAC255D719DA6, + C7E1D706A09E4E96883215BC, + 54358D8A9A8DE6AF4F781E8B, + 489FD44544F03774CBFA04E5, + B8D9A7FDB054852EF59BF4AE, ); name = native; sourceTree = ""; }; + 5079C5D49043615B3E5AE437 = {isa = PBXGroup; children = ( + 621893AE2A99F8D4331194AD, + DC4E35EEAF01C08CFC4A4CAC, + 95139F961E2C7FB6421D04A5, + A6AC587CC82C4689D4C0D90E, + 4B2D5FBEF56C3D584E65D9AD, + 04609F32D6A859ED385DCBE6, + B4E70AE3447587BABF51A076, + 2AAA2414F61ABBBF1C571901, + 8FD227DE98DB156FBBC8DD1D, + 90348A625874E8DD3DCBF583, ); name = network; sourceTree = ""; }; + E15D306575BCCB6DB43BEF49 = {isa = PBXGroup; children = ( + E4546F8D14174EB8C05A47C3, + BAE421BF414A8713DC446E10, + E428D9BEA0B66A12448F3649, + F4825162600591FAF2F1F79E, + 60DC6B904E0A0ED7D5BACBD3, + 30B528362C388E5B51DF91D6, + D1CA4E7E20D80D0AC1614F98, + 357FB6126252FB4FC7551A59, + B594FC49609DB3E2CF3DCB0C, + C26C5CA5E6514CF7457B1ACB, + DE42EED0A04BB9F90D623BAF, + C0C7CB3229B2E54FFB785CA6, + 2253863C60C8AAB3DBA4B5F1, + 861F5C579BDAA33718FFE9CA, + FCFEAB9C67D9B7FB03AB51BD, ); name = streams; sourceTree = ""; }; + E4F6351A1C51843C3C686024 = {isa = PBXGroup; children = ( + 0F26080D0E46879414836AE2, + 01A0FE7CE574B63A82297143, + F13FB76427772F29EAD88728, + C41176B7A1D16BC5C67A5727, + 5DC79394D56549821815B376, + 2A10DFB3A22E8AABF4763F68, ); name = system; sourceTree = ""; }; + F2BC8A0DE5898813BB1CECC8 = {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 = ""; }; + 05CCF6F8896FC1169CA8BD4B = {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 = ""; }; + 66A6F553AD051557E41C6F7D = {isa = PBXGroup; children = ( + BED621A030C4C37B2326EE4A, + 34CAFBB1E014F17C6111C716, + D4C5D7EE1A40AD018E5E6F02, + 724D1A80CA91E8ADB78287BE, + 32E5AD1B0A329492EDB0D49C, + 9D29AC99CA678DE27CAAAE31, ); name = time; sourceTree = ""; }; + 9B620AA0A0F276EEAFDC9C60 = {isa = PBXGroup; children = ( + C938DCCA334DE363B27C1E65, + F163668D4C2343C282574A78, ); name = "unit_tests"; sourceTree = ""; }; + C8338F80C645C13EB5D734E0 = {isa = PBXGroup; children = ( + 50385CBC88D67EF57CBAF9F6, + D0E00FC62C3DA68962100AD6, + A8F0A5C9A372D5C57033B581, + D65C8F172D8C1FD532B67348, ); name = xml; sourceTree = ""; }; + FB2DFC82F78D2B0C60928397 = {isa = PBXGroup; children = ( + A27C439D080928FF3BC24268, + 07955C2B1994766829BE8043, + CB7A2C9335B52DC0510B984C, + AC0B8C4CC494CB234A84D39C, + B90524EBC3C35060A097E235, + 114D2A42345F3C8642455581, + 7BA547517B6D33D86B4342F0, + 18CE8447EE68998F8B8A73A2, + 8C605F6103324D46D3BBCE9C, + 9D61CEB1D121A478BD6D613E, + AF6DBE0D8AEA6C65FAD991E0, + 8590765B8670984845E89C5D, + 72D5E2B81ADBBE51BD02D059, + E72F1BD0D88CC25CD009F3EF, + 620C2800C5215BD75BF1098C, + 30AB52C8CD7DE116EA6F5C56, + DC774ED9CFD985F9C1F103E3, + 11E02BC0DACDA2B24C5E48CF, + CFAF7A271641575B87488DE7, + C20F81136AF8D41BF6175EC0, + C3B9FC2E56369FCAE1651B96, + 344BD32A57659CA7D813B81A, ); name = zlib; sourceTree = ""; }; + BA65DD59C75943591A6FBB6E = {isa = PBXGroup; children = ( + FB2DFC82F78D2B0C60928397, + 777AA662407B7A91748C92A8, + FC4F3DA26D3500959DF7662A, + 1EE2B1FB37648506A369D269, + 8F9E95F991B215FFDD3F8E9B, + 10E1C3C331DF35D35508268B, + AABBDC405E85A02000A3991B, ); name = zip; sourceTree = ""; }; + F7B521C7EB8A7EFC4DE2AD31 = {isa = PBXGroup; children = ( + 74B1B0252780CD8B0603A2F8, + 20E3D9E2E57E2CF4D2111D3A, + CC84678C15EAE543EC06B8DD, + 17DB33E182B6BEF901661A65, + 4C760741AE42B957F74B800C, + 7ED3D6B61D7DF035CF9245BA, + DE20E30B21BA7579285670A5, + ADA28624D33425ECCBD6D7E9, + 5079C5D49043615B3E5AE437, + E15D306575BCCB6DB43BEF49, + E4F6351A1C51843C3C686024, + F2BC8A0DE5898813BB1CECC8, + 05CCF6F8896FC1169CA8BD4B, + 66A6F553AD051557E41C6F7D, + 9B620AA0A0F276EEAFDC9C60, + C8338F80C645C13EB5D734E0, + BA65DD59C75943591A6FBB6E, + 864898EFD2035AB69C86E1D5, + 5AAF6FD01A8ACE63E3FAEA56, + C63EFC8D5E9FDC58BD4A9CA2, + 5AAF6FD01A8ACE63E3FAEA56, ); name = "juce_core"; sourceTree = ""; }; + 83E7F8F4C0F653DE37DD0D26 = {isa = PBXGroup; children = ( + C7373F24FD2E886C50CB3903, + 268EAE33422B585DF545499A, + 84E76068048CB52123545F7B, + 6367B5EA6602CD73063A481A, + BDC7D9A7A14232DD7BBCB123, + 4C0B3826ABACE371F8681E61, ); name = encryption; sourceTree = ""; }; + FEF90C075EB43B3E9F95586E = {isa = PBXGroup; children = ( + F9A9B6A4120CCCBBD2057F9B, + F22EB69681485A38365940DD, + 17CBE6045D10290C77948F0C, + 42248B6AB06E8D01893DBDB8, + 20193027F5E90E62F44027B0, + 9069DC6DF609DE1E4A57DA7F, ); name = hashing; sourceTree = ""; }; + 7C749B953A62BB34443CEA51 = {isa = PBXGroup; children = ( + 83E7F8F4C0F653DE37DD0D26, + FEF90C075EB43B3E9F95586E, + 408E68B8CEC5FF3F2E7AFD9D, + 53AB900649E4156D953DB1CA, + DD866BA894AC019F86C5F4C9, + 53AB900649E4156D953DB1CA, ); name = "juce_cryptography"; sourceTree = ""; }; + B571D0335B8C8F01A9CEFEEA = {isa = PBXGroup; children = ( + 4F742E04B5AD194395A593C0, + 8DFA74E13F6E40A5B1C09C11, + D9FC957CB510399786D69D8D, + BDFEE2E6B40F3E47E3B16D38, ); name = "app_properties"; sourceTree = ""; }; + D9C180891CA986870A0E8822 = {isa = PBXGroup; children = ( + 7C4111F98C8023097C14C138, + 60D9E4052C3FFFA026BB35C6, + D7F183070EDA8D6D7659BDA1, ); name = undomanager; sourceTree = ""; }; + 6151CBF88527355FC496C774 = {isa = PBXGroup; children = ( + 67E9F9CC9B47815A7BC9EC0D, + 9866C2367A878D003DF3C479, + 1140A39FF348973EE6F372CB, + F39E719901F12B16AD7D600C, + BB3265EFC32ADB68A59A90CF, + 991A179EF480F6B3049D0CE2, + 4D3007B3F8AECBDB658F7259, + 82B25B30D756F75BDFDBBCD0, ); name = values; sourceTree = ""; }; + FF81165C6DC0BE3D7DDDDB3C = {isa = PBXGroup; children = ( + B571D0335B8C8F01A9CEFEEA, + D9C180891CA986870A0E8822, + 6151CBF88527355FC496C774, + 4CC686B637C4AD76543A905F, + AC98912B3226C0D29B0C8861, + A67B57899953E98B2B52FA2C, + AC98912B3226C0D29B0C8861, ); name = "juce_data_structures"; sourceTree = ""; }; + D2F6AFEB9AA55BE367590015 = {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 = ""; }; + 54F8D5BFEC9FBD89B3F13258 = {isa = PBXGroup; children = ( + E526AF80946C3F077C1C63C6, + 09532D678D2C41FEFACA71F3, + DCE64BC49FFC96654D30AD87, + C92F4F51EC54B859EAB7F09D, + CBE595558B9038547D418CEE, + F9E113AE1D2940394B95BC0F, + D0436D71AD541BF93E0585DB, + 56D6FF1634AE7B4B4B6AC323, + 3A132DEDF59503D8AEE2E1F8, + 445C1F432C6144BD2F6D3327, + EF337D9B43E0569DE3E48279, + 5016A40C1850BBD55197D30E, + 1AB81EC2CA06F18202F3049B, ); name = messages; sourceTree = ""; }; + AC5D4891563D5D16BFAACCEF = {isa = PBXGroup; children = ( + B576434956BD89F0B571B6C4, + BB9242FB689B4DAEDF1963BE, + AB26977EA68E27838B54A8E4, + 15FB19A9D4DE60608E5E123A, + B060C1B4985F4D6071C6C1F5, + 001CA7EAF68DA335025FF01E, + CB3DD188BB8AAB1931436CD4, + DFC37DEA417DA0FC812FDAC2, ); name = native; sourceTree = ""; }; + 94F502B656E51A299DCD0A31 = {isa = PBXGroup; children = ( + E540A462EBB080CF14B31764, + 9EEF2A75EDD5E8023F9AD6B0, + EE6895EE5020998469F17433, + C6CCDF5390C72C6C37F3446D, ); name = timers; sourceTree = ""; }; + 194518F009569975413BBA1F = {isa = PBXGroup; children = ( + D2F6AFEB9AA55BE367590015, + 443BF89F57F585ED86F2ADA5, + 54F8D5BFEC9FBD89B3F13258, + AC5D4891563D5D16BFAACCEF, + 94F502B656E51A299DCD0A31, + DEBE73E4D9C6362F146FCA08, + 3BAA4C5AFD5E6AE8B7447E17, + 13BEE456E0A7D58819C06B21, + 3BAA4C5AFD5E6AE8B7447E17, ); name = "juce_events"; sourceTree = ""; }; + 8B1FE7DCAB84D325EB38DFD9 = {isa = PBXGroup; children = ( + 61F74754A7B5F0BD930A51DD, + B42577EBD62A6AF7AC97DAF1, + 472EB91AAAB000217017E8EF, + F5A991062FE0EEEFE0CAAC17, + D7ECFEB15046C60EAACA0F54, + F8D8C58CEDD851E0274B5402, + 36DB2BF91B5D3D8462CB4AD5, + 27A192427FAA8C466F9D8EB2, + A210326040D3F2A40B2B9D15, ); name = colour; sourceTree = ""; }; + 3F9361C241D19FED00C9ACDB = {isa = PBXGroup; children = ( + 7D5322C5D58C267F5FC815B1, + 783AF1428118CFF4B105487B, + 7319C1AFC4D882F649320DDB, + 289B6067D3B3FED5F7A64AB6, + BBE01A9C5FD8C0656AEA9D3C, + AE6120B318B44C69CEDA6321, + A198E2290B15C62F68D21050, ); name = contexts; sourceTree = ""; }; + 9FBE402D11E1CC74224AB1F3 = {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 = ""; }; + 9154F5763AFDB267801B5853 = {isa = PBXGroup; children = ( + 1296A96AEE50FD66957B71C1, + CF1F536ECAA15F7AF8B20746, + 4292602AC091358A3439FE9F, + 28861D0EC5C396B9FFCFF1B3, + 79C9759DA5A25C1D53AC2E93, + 70736236C82A9ACE63DB3D3D, + 9A39BF4B65A5B6A66D84F232, + F9668685A98E33554348BEA6, + 709EB992B73BB302F0D9FC8F, + 648610AB6A110B1ACD64CDAE, + 201270E933BAEFC855FF02FF, + 0402044CF4F834C138AA337F, + 2D4E5BBC19F41BB8512E5E03, + 6EA97857D017530AE58ECA66, + 672780D824A4CAD951DBB29B, ); name = geometry; sourceTree = ""; }; + F702CEB46C3FFC012C868375 = {isa = PBXGroup; children = ( + B2CF1C6EC8294143130ED267, + 39F57D79499AFD60A8706173, + A28B0E73283A17AA2450E989, + 0A05B1F2D014870BD4B21E7B, + 08AF4D7E9DE1F55B2D45C8AA, + CCD82540E3B04B6496BD15D5, + 81D44AFD0558021B3028A3FB, + A239DEE243F0D1FB1158A8B7, + 35C3E6043EA3FF47B106036D, + DFA362B144EFF8EEA6308E71, + 42AB75CE1EC7C77E316D1F30, + 195A632E2BD30EC0CC6E869D, + B62CF48E6CC4BF83D13F364D, + 28367208E4B58AAB9E29EF33, + 3B8472D078D53F1910418082, + B43CD34A519E131F62B1F73C, + 956F789B3DDD41EB09972AF2, + 76C51AC2B20A39EF7CE902B5, + E173538C3256A263CE3E5FF0, + 8249C0114EA153D2CE5C666A, + 766D9EC18EA5CBA993EA7B34, + 27568E51257A3876D535CDEA, + 1C3BC60557F9F8C06DC2FB76, + FCE7C67868197DFBCA2365EB, + 648259AF304511A097949BED, + B56C31CC51CE8428AC4E98D4, + 6C0A661C078D8F0037FED489, + 3DAED22E89A1023AE9AED449, + B095F8592A4F0289CE98D041, + BB7FC171D63A2EE81B4659CE, + 9CD09A3CB4C01D7F5EAC8B66, + 2698E95DD86A2CFDC1FAE49D, + 1E56FD9A78DFADF577A7254E, + 027A576839D1AF609FEB7DFF, + 8396C2624822FA5705134669, + 839E82BEDF149242C2A71F9F, + AB49C0C6379EA96874D0D69C, + B6E3EC3D9EC70B0C6DCF1854, + EB88747AB652A19CE52ECB21, + 757D712721E9C95EDB104FF8, + EDEA829264CBF20206337EBD, + 512957EEC679ACF28E7D2D93, + 9A63FFCEE6242E708749606D, + 20A8D459915928C05BE0BE48, + 77A3030BB739150756AE9082, + 10170D04538387CCCDC7C02F, + 1EC3DA6CEB73D40AF6EC5194, + 18134B1B0216D1307B929E00, + 18874E042E7799AE612BA77B, + 426AF787C0152F7815300C21, + 76DD8144B3328378575D42C7, + 629E16D351B3980A18BB9447, + 9C0C2FD8C5F184F0928D9BA8, + DFD9DDC75D6278979853E65B, + 03633F8B1DF9BF6E54F78D32, + 6A3B6420EFDE164D237E72EB, + 1FC13A030A27EBEC285B1F24, + A7C23474EBC107984FDA82E9, + 5A014F0EE43937F98274FB18, + 65285D35AA75D110D0A95851, ); name = jpglib; sourceTree = ""; }; + 09EFF35FF4F3D3267BEAEF6B = {isa = PBXGroup; children = ( + C3520C63B69C0326050C463D, + 2DE77B2A3336EFC65E5000D4, + 95F94292250AF5E2964A6498, + B75141B09A7C2011E48E73E1, + EFF6643B70D349EA56702028, + E95FF3770356CF243076C7BB, + BA381CF0ACD78A3451D51E3B, + 4720C632893308B09BDEEB3E, + 0FD691EB4DE6A5517085781E, + BB5571E517F10D1C187AA4EC, + 4AF5BB06E6B594F6A38BE8B4, + 8210BC2014B5B597F5BCC698, + EF6D57C0BB0D018EC15DA6A8, + 5A45A96D6755567B2C720C15, + 093DF902CE8D8765BDE6EBB7, + 96E72CBFC328EC6BC45960D6, + 4BBD6A0FAD396B6C5DCE01B5, + 7D811F94785E951BE96037AC, + 917D886764AF8CEBE11BDCEC, + EDD2BBA5B68875F78E7E1D84, + 726412ECAA91C13A355DC860, ); name = pnglib; sourceTree = ""; }; + ED03B8E9C1E85FE5E4ADDB05 = {isa = PBXGroup; children = ( + F702CEB46C3FFC012C868375, + 09EFF35FF4F3D3267BEAEF6B, + 39E116DC12FD26E3DB3F4DFA, + 8C2A93223809C1EFD6D7C404, + 9D05F58F8CE58D9D6952BF1D, ); name = "image_formats"; sourceTree = ""; }; + FF90A6A8FA2C478481929B65 = {isa = PBXGroup; children = ( + 965402AAAAF0A0D920DC7C36, + A55309C54076A01EA57315CE, + 5A2B63BC2433F17DB96CC411, + 3320CAFB079DBFED7E79D33E, + 276FBDD27027CDB3CDE7A1C3, + 21530C9C69B792CA80BE9398, + 3B92F7E81BAB71A0460668E6, + EA65F835FDB1DB86406C9471, ); name = images; sourceTree = ""; }; + 0E0B15D8D091953822EF68E5 = {isa = PBXGroup; children = ( + B97A4BE39BF95F50E67A4683, + A1AF1E8ADB16AE21785390F5, + DCA560DA0C66BB6D6EA92500, + 2B27A56579939EAD06DD6061, + E07D1F3E8D8727F58F868B90, + 8621C4BB5D591743A1B86697, + 0456E3F8B40732E545A844CC, + C1688DC3A2F892F53F8F15DE, + E74DA5EF2C208608AF676212, + AF81BE7F88B9B754A9005DC0, + AE358D496192BAED93263F83, + 758A85BA2A15681252AAC852, + A6AFC4953E324CC5163256E6, ); name = native; sourceTree = ""; }; + CE3176E27202C44077AD498F = {isa = PBXGroup; children = ( + B18369F3EF227348BAECC29F, + F3472E21D095DB91ADE8D714, + C56022F99B8FB808D00CE6D7, ); name = placement; sourceTree = ""; }; + 02D2BF1071BA036B1046217F = {isa = PBXGroup; children = ( + 8B1FE7DCAB84D325EB38DFD9, + 3F9361C241D19FED00C9ACDB, + 9FBE402D11E1CC74224AB1F3, + A625E1CAB83679B5120F0B10, + 9154F5763AFDB267801B5853, + ED03B8E9C1E85FE5E4ADDB05, + FF90A6A8FA2C478481929B65, + 0E0B15D8D091953822EF68E5, + CE3176E27202C44077AD498F, + BDEC48B38506A8964328275F, + 0CFDFC8B0EE4F67F3140A95E, + A80E52C517801112E8F19350, + 0CFDFC8B0EE4F67F3140A95E, ); name = "juce_graphics"; sourceTree = ""; }; + F454A7DEA7AC32DA24B3FCB8 = {isa = PBXGroup; children = ( + 5BDA528B96063067AFD59CBB, + 0833B2844B74E56A7F375B99, ); name = application; sourceTree = ""; }; + D936EF4927B84E28C1B1B554 = {isa = PBXGroup; children = ( + 3CFD6B00875759345575ECFD, + 03C5EFBEA606B1857E2E7E70, + ECD46DBA26680A8F86569C2E, + 35E9781C54B1729BDD73DEC9, + 61F3AAB84249F782A56E88A2, + 3121B99F19132789145FDF58, + F765D762D0012A1607F5622A, + 13A6B8661E1D605FCD86F1E0, + 82CF205CD196BF77B68EA75A, + 8AF3D4A8845EBB742E3F521C, + 096F493E855364B082CA966C, + 3153401B1C69B651D2AD37E5, + 5C9AF08626A44F2AF6783A53, + 1AC73EEBD03A5926652CB682, + 22A9BA274F3AD6FAF4331D11, + 5DBA889C8116242666F3C93B, + 63DB40AFD30CEFB03779AB79, + 665FF99D0D1BF3755FE7B803, ); name = buttons; sourceTree = ""; }; + 590E46C9441299E53DD05EA6 = {isa = PBXGroup; children = ( + CD3D15787DE0633AF0F41D14, + 14B4A539EBA209BC22B91F76, + A9FE7AE10A02329F18BAF8BB, + 11FC5BF4D4CE5451BA651132, + 0DD52BE61E4DCA9575F5649F, + A4A507E78D1082DF5EDA723E, + 5127ACB1400962FB70BF6D07, + 53F664A2A3FE1983E183A431, + 1A25D684574EDD045683D4E8, ); name = commands; sourceTree = ""; }; + A5E8106B546EA717CF14DDEE = {isa = PBXGroup; children = ( + 2DAF843B2C0DA27E8741E080, + FD362E3DD7D0ED06015A52CB, + 94363B04A83DFC9C02B023DE, + F31752A999520E521BC507D1, + B77EBFED3A56358BE8599594, + 43BEA6B7451F512AC9B1ED38, + 429925ABEF514DEDE33BF925, + D2C6697A783580EE58B2C5EF, + 91B931E774E4401630F74EE7, ); name = components; sourceTree = ""; }; + 2469F5C384D7ED25C77792F2 = {isa = PBXGroup; children = ( + 4E8939ACD0CB224ABD3B3C00, + 57C8BBE1EFA839C458DEF2F6, + 9817FEEE6C1D99BCE7DB2395, + D15B6AC0F49F8BAAAF71FDF6, + 40178653E67E3C6585653D38, + C10AF8B74E855D60A481CBD4, + C4D626F9CEE1FD851551D91C, + A1F1F469B33048DD0609E02E, + 4006D8A53AC91D81816BF576, + AE20126D491A4FD52D059EFB, + 02181D9B5A755E385CD47FD2, + 8924F9B3C5A5EF7B9771465F, + 39F7F18157821A256E23B868, + 77234EEA6FC39172D3B4B455, + EF805FA4F575DBCAF69C1AE4, ); name = drawables; 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 = ""; }; + F10872691BEF7EBF7C128EC5 = {isa = PBXGroup; children = ( + BAC4FD0C99CEBD2133F79C24, + 1A5E7683202DE3D3B911F9C8, + EF8BAD426428948862257FC4, + FAF2AB8383B89E9A5AF5E946, + A42F8BC3DE25F1CC15D383E0, + DC15808BB97E1521C055A470, + E8DE188896E5791E338D4EE7, + C790F51988B04C4A38A737EE, + C1E7A30EDB756EF33710AB4C, + FC4C976D76A0B0F932B3188A, + FEF9EF55D1BF28C6A84DE4C0, + 2E551D5175FA94E0FFBF08F4, + 56FA5F3ABA3B0278767C107B, ); name = keyboard; sourceTree = ""; }; + 61733765FECFF4CEBC551D54 = {isa = PBXGroup; children = ( + 097E290A4679C103208EF789, + C8A38D75BD930F3CC7634124, + 26407477D58D92220A6AA6E8, + F90875A12DE5F66F7E70CC89, + 1ADEA6673C57B57FC0BBCD04, + 3FCD20ECBA1032D55D90DAF9, + 546BB53FC47D83869F8DDCE9, + F6440E90EC3193EBD07AD3D7, + 2669CC5C7AE7A916B5F5CF89, + A7198BFD9B0CC598BD50B587, + E368DF5C372BB7CCE82DC763, + 58B4452DE10C4ABF8D8DC7EB, + 2ABA2A324D752641AD2EA84D, + 42203A96B0F67E68EDB0939E, + 864DAFF59D56AC67F7BE6F77, + 83E38E7D0548FCDF7B150F22, + 2AF3F242C6AE6B81BEA684EE, + B35603E21B57E534616F599B, + C78105C8AEE452AED0700AAC, + 91BDECC58244D65FC321A8E8, + 03CD52285663EB462E66AEDE, + D8E594FED69859E740E91543, + 877CA42D199DE2C3C4EF58A9, + AF7E3E7137C6F49674649968, + 9801E411857A072092954171, + D79506405903905814D5B32B, + 8745ACE2C81BA9685BF99233, + 029E06243E22D19B62C7FAC4, + C18944C7BB1D9143312BE3A7, + 75636F75113CD1ABF8B01F08, + 6E01440F1FACE2977203A70B, + 74C15BFC6E036DE767574778, + 971B377F39D4CAFA77AB790C, + 95738AF2EAF17A2FA9B8E069, + 035144F9C35671488A15E9F6, + 678B3B27F695152D396C09A3, ); name = layout; sourceTree = ""; }; + 255803D0AE76436AAFE9BDCD = {isa = PBXGroup; children = ( + 140159E9C38C975949494E5C, + DCE5AE0A528365094776BE17, + 047CB008052CCD126633FB9B, + 05FD1A2AE03215E9DF92132F, + EB990950081504EBD067FF9A, + 48A798B2097EF59A8A53F1F5, + F1AEC47949E75A0B4DBEA130, + CCCF7AA714938B03DE4407FA, ); name = lookandfeel; sourceTree = ""; }; + 5CD3A2F1B412D9F553E1BB43 = {isa = PBXGroup; children = ( + BB7CA26CF4540A535BE229CA, + 8BD1742DEA98185FA7ED4152, + A84DBA7DBC8FBEA5740CB026, + 14340FB465ADE55CB3E9B66A, + FE11EB2D3A4040325E458261, + 7B441C4B6CF9473676EA3610, ); name = menus; sourceTree = ""; }; + FFCADC2DFF4EB205F2CED125 = {isa = PBXGroup; children = ( + 56E7EE3C43947842BB8BDC1A, + F80B331AD631D4F77A673691, + 3F05E519F0B0931CE0347455, + 0BAD16A58A9CBB0A2FC3C273, ); name = misc; sourceTree = ""; }; + 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 = ""; }; + 0BB6A568F8BE704F752C10FD = {isa = PBXGroup; children = ( + 051B1F5CA25863E123C662B0, + 82073AD531BE1009AE92477D, + 795FF599087653F77C7E98D2, + D4C20B86C7B0A9FFBCA8FE6B, + DF0C3025BC5B572CC28B8EEB, + C9A02E17EA16F69B823F9964, + 271E9E19BDC24378E6E73175, + A8A0AF041F30CB7F45D2FF47, + FE3080D1EC46C287930B7E18, + A5360675341F06F73AF96D1E, + 54E5C8F4F9BF6B8228482AD3, + BE28C3777F5A468E4BE1596B, + FFE74EF868B7D7FAA24DE742, + BA93F94CB1FC135E6F8D8910, + 5C2B9D77C8CEB8A1F6C121E1, + 94C3811F389418A6C4304554, ); name = native; sourceTree = ""; }; + 573CF1FE770CBD103D18F97B = {isa = PBXGroup; children = ( + 5A1C17DCA88F1D02ED5F401F, + 123CEDA734678EE95C34463D, + A118AD624CE30228686D51F3, + 00B6967A854897C9D379AAF4, + 6B59A53C3FB3B4462A5E10D0, + 648E0A0D55BE1D012C1D89B1, + 150135E20D3B4547F1B8A76F, + F81AAE65A3598A15825E6794, + 4D5112F69E06189A9318A69F, + A15770CD33E47FF114451904, + CCA843C191E1EC761E0C4B1B, + 382D4767A626A3D30826EE1B, + 82B807E750DB47D6FA6AA5F8, + 48EBF61EDF71322807F5AF4E, ); name = positioning; sourceTree = ""; }; + 35F387601ED8CBA929B8FA2D = {isa = PBXGroup; children = ( + 4533B1E6786C588EEB5F17F1, + 2C8DB3B21316CF58A088AE4B, + 80B9B913DD55B0BD215AEC86, + ECB67354113361CDADA77BC6, + 57134B5B764CAAAEA07C56CE, + 1A89B025B5C028C536ED4A8F, + FD28016A7BC2B34138B3C986, + 27B46B69A1381640C0C14CF6, + 8D32D3B412213EC3153588E0, + D380F5AED297C4D7BE55911C, + 357921A7E994C213A2D768DE, + DDD38519DCDDE8BDE8AC092B, + 4D823926C18ED8ABD95035DB, + B7DA793390976975B7967E54, ); name = properties; sourceTree = ""; }; + 21FDD18AEFB88F9D17C91350 = {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 = ""; }; + 56BF88D11AF5DB1BEDDDC86A = {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 = ( + F454A7DEA7AC32DA24B3FCB8, + D936EF4927B84E28C1B1B554, + 590E46C9441299E53DD05EA6, + A5E8106B546EA717CF14DDEE, + 2469F5C384D7ED25C77792F2, + CA4B62998A983A5AE6AFE0F9, + F10872691BEF7EBF7C128EC5, + 61733765FECFF4CEBC551D54, + 255803D0AE76436AAFE9BDCD, + 5CD3A2F1B412D9F553E1BB43, + FFCADC2DFF4EB205F2CED125, + 01F4037CDE89AF7D798873F5, + 0BB6A568F8BE704F752C10FD, + 573CF1FE770CBD103D18F97B, + 35F387601ED8CBA929B8FA2D, + 21FDD18AEFB88F9D17C91350, + 56BF88D11AF5DB1BEDDDC86A, + BF4CFF896E4EBF4324E7BF32, + 7FC7D527EA3B088288F8DA36, + 3C02F146BFD3D2C8B0B3D8B8, + 7FC7D527EA3B088288F8DA36, ); name = "juce_gui_basics"; sourceTree = ""; }; + 7D704943FCEF069FCCB19F13 = {isa = PBXGroup; children = ( + 84DFB13BE79A86FC987A63C7, + B5612B7C73B7C8313932225C, + 06753930A82DF7E1BF429914, + 2A77EE2209FDF066386F30AD, + DEB62073956FBC23B33C3215, + A032B47E0B1DFE6656768078, + 0368A590FC29803595DF7D62, + 03CA60ABCF619E81CB165C97, + 1F3F5EE19B8CA78D9513AD94, + 8EF118DED70F115DEF3DB6AE, + 3AE3D7A50A8D7F598DB6F0AE, + 46D4E162A4C937BBFE26584A, ); name = "code_editor"; sourceTree = ""; }; + 95465EABFD641097D66BC736 = {isa = PBXGroup; children = ( + 67701BB0717F9CBA6772BC42, + 7BF4C9B621AF133163D15675, ); name = documents; sourceTree = ""; }; + 72C12E60BB036DC22E27460B = {isa = PBXGroup; children = ( + 66EA0A2E6DCB92EB7CE24516, + A34D1DA226DFFEACE090BD72, + F199EA5517B054547E193F08, ); name = embedding; sourceTree = ""; }; + B59A0F94465808EC22F3905F = {isa = PBXGroup; children = ( + 58B5DEFABBF903630496C479, + 6110B87158ED828E5F9C8FA4, + 3235BA8BC4542F69C66DF218, + 63E2478C4D365C034FAEF66B, + B82B3B2DA336D3591A73280F, + FBC97D6777B3B66837ED4404, + 69995C9ACA8B57DDB8E49495, + 0A4955566797EBA0ECE56806, + D8E43470409EC218DC96B555, + ED2D3A163433149267F3C47D, + F4ED9D3E27226B0974BEC563, + 9247A389C11552FA21BAB71F, + 4A167D0C24B56DA19E2B0722, + E614AF9C124E2CEE229954DA, + 000DAE49A15BE8D4DA5ADA8E, + 6D584871C4325DBC6FA689A7, + DB85BDB1DF720391F80F0D94, + E0F302E28F1CA85EE2A60BEB, + 5BF77AE97FE5C121B30358AF, + 3E69925DB6558BBAEE5EB41B, ); name = misc; sourceTree = ""; }; + 87BCD0FC46DAAAFDAAB19333 = {isa = PBXGroup; children = ( + D1696F4E539DDB4D7423051C, + 49EEE3FAA41505E20A1587BB, + 74A4500C4809EFB73D5FA36C, + CD63DD73C9818BDF67BF9828, + DE508CE9EE6F6AFC689CDA33, + 6F4CD56079CABCB8F4FBA0D2, + 60E6823DF3335C4F4A2B4A09, + 689962387B441B1770B53D6C, + A38836ADAE0113CFA40F16EF, + C13A62F3B2A01774AD8A9921, + F672C9D6819D4CEA39A76445, + 943A1F16EFDD0E6789C90656, ); name = native; sourceTree = ""; }; + F7B6291F4272BF387B067C4F = {isa = PBXGroup; children = ( + 7D704943FCEF069FCCB19F13, + 95465EABFD641097D66BC736, + 72C12E60BB036DC22E27460B, + B59A0F94465808EC22F3905F, + 87BCD0FC46DAAAFDAAB19333, + 7F313C042BD6C3DD38A63B5C, + A7DF0F471086004A6B81CD11, + D185AFBBD6B50B5CCC2A9A3D, + A7DF0F471086004A6B81CD11, ); name = "juce_gui_extra"; sourceTree = ""; }; + 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 = ""; }; + 69DDDFC56817A2AA4F2D36B6 = {isa = PBXGroup; children = ( + 1ABEE94704EA506C399E9BB7, + AC5460D2875AEE783D2A2AAD, + 2373A1F1357D75E328517966, + FCD17983F05312385F6C17F6, + C1BD7A3D23B873F716F6C68F, + 50B9979133759179FAFFA25F, + 71359267D6C329BC132B88CF, + 8BB63BFDE6F8C634381B9CF3, + 6D6C2ADFA12CB2A3AA90E10D, + 084DC67E578B4943704DF6A8, + 04F797332FEC7F3DEAE457B5, + C5104FA479708493D5396BAA, + 6386ADE8A90ABD189AB72936, + E73144B6B99143468DB98842, + 72887C393A61739FD6C803A3, + 60707845CE9EFAADCB5BB90F, + 94F05A309F81C027AF3AA82C, ); name = opengl; sourceTree = ""; }; + 3311567F9F8DDE7DEFB18E17 = {isa = PBXGroup; children = ( + A630EDA780905F9CCC6EF5D8, + AB0C82D0A432008DA9B02B67, ); name = utils; sourceTree = ""; }; + 538DDB7E7BA2CEDE1BB9E479 = {isa = PBXGroup; children = ( + 40C488926F781C6AD971DA44, + 444D592E3E85DCB91FACCD6E, + 69DDDFC56817A2AA4F2D36B6, + 3311567F9F8DDE7DEFB18E17, + 489720A3B4E0AFC2DF1FAF2E, + B93D72307AE413B7A9A074C5, + 556B39875D557171B3E0D68C, + B93D72307AE413B7A9A074C5, ); name = "juce_opengl"; sourceTree = ""; }; + 42CBBA1D16E2CBEF03AD1739 = {isa = PBXGroup; children = ( + BF62BF87517BCECDF7BFC044, + EB5D5F550EC7617B00286524, + 0F98FC70765AB9D2566AFD47, + A6B8840048CE44449BF2E319, + CA5CAB4B48FE75C6760BB780, + 0543BDC4AF5B2ABF41749383, + 1C38EDA19B0B3A45BA47CE6E, + 15AF91E3F446F92E4B2F7093, + 5C99C4705F0D6CE613DE7711, + ED256A12202BBE4615053DD5, + B34A4D738811E54546CA93CD, + A09A20116F929D337AE95CB6, + 13BD4B06D1A341403533186D, + F0C6892CD64002A92B68F37B, + C2AF71A259E7FE29A378F063, + B3342B74DDD833F6D04A7AD3, ); name = osc; sourceTree = ""; }; + 3A7D17A61BAAFBFCAC026C49 = {isa = PBXGroup; children = ( + 42CBBA1D16E2CBEF03AD1739, + 71274DD47D3EFC3EB83ED73C, + 913E0691329569D88E7AAB64, + 913E0691329569D88E7AAB64, ); name = "juce_osc"; sourceTree = ""; }; + EF0AACA84F1CEE7F45F56339 = {isa = PBXGroup; children = ( + 81E8B4FDE23F10677BD70DCD, + 05C8723D6B99C1C95FA1860E, + E645944AAADA77E0BF55B753, + 5102C5BFB76FB218BB512EC7, + 738E94C7871EC777AE05CA28, + F7B521C7EB8A7EFC4DE2AD31, + 7C749B953A62BB34443CEA51, + FF81165C6DC0BE3D7DDDDB3C, + 194518F009569975413BBA1F, + 02D2BF1071BA036B1046217F, + A8198033A6100EDB28E54475, + F7B6291F4272BF387B067C4F, + 538DDB7E7BA2CEDE1BB9E479, + 3A7D17A61BAAFBFCAC026C49, ); name = "Juce Modules"; sourceTree = ""; }; + C20D4DECE1291BF6AF8711DC = {isa = PBXGroup; children = ( + 0555BAE6156EAF15CA77A2D8, + 74711D7544168CCAC4969A07, + 92800676AF753D1A60108F11, + C330F97CDD84D73ADFF32B6B, + 7426094FECDBDB73C1DDE58B, + 75F0E24A0BFFB573DA77B602, + 92B708D33562C06F382E615F, + 1D9299636D0100B772E26000, + F5D1149D91939A33DE653BAB, + 82F67360DC3AD52A255A3829, + 48C10DE9B2C0B0B6D874D2D2, + EF15E2FA8F8D4DB6479A48B6, + 8BA1BD3E0D16C4009774F319, + 5C8C2C045A2E27C9B23754D3, + A119D66FC1AD1E7BA31EFA46, + B431FB5881D1232F27DC05DA, + 70128920B5973BE15D2E58CF, + D12A0DFFE18728E84D9AB739, ); name = "Juce Library Code"; sourceTree = ""; }; + 4AA57E2B5FD5374D348EEF7F = {isa = PBXGroup; children = ( + 1FD6DBAC73414DD4C152E34E, + A7050DB1488924F209A7B5CF, + 70F1CAF3C4C561DD81E6AFC1, ); name = Resources; sourceTree = ""; }; + 71F5560BE0EE3A17A9CE44F6 = {isa = PBXGroup; children = ( + 2E13A899F4E3C99054A3656F, + 9E8129263CD42C6029FC2CAD, + 080961C54C58ECF2346B4C23, + 6799B056504F9F017998B9E2, + 4D1DB6D77B6F3DE7A569780B, + DA40ED39AF4B56000E5A2743, + 448838BE6E937D450A3C84CE, + 9193D2A3C463BEAA07FD424D, + F7D557738137CA1A370BAA27, + C821C5805007FFDC2636BBE6, + 935CA85EF98714D3A17AE737, + 379F77D23BFAE3795282CEB3, ); name = Frameworks; sourceTree = ""; }; + 8B59A884C62D960EE9DFEF47 = {isa = PBXGroup; children = ( + E4162459ED4C829EF7B19691, ); name = Products; sourceTree = ""; }; + D2EB65517396C974F0415A7F = {isa = PBXGroup; children = ( + 856518502A948813C90E6761, + EF0AACA84F1CEE7F45F56339, + C20D4DECE1291BF6AF8711DC, + 4AA57E2B5FD5374D348EEF7F, + 71F5560BE0EE3A17A9CE44F6, + 8B59A884C62D960EE9DFEF47, ); name = Source; sourceTree = ""; }; + EE7498599191DDC73ECB55B0 = {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", + "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-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.NetworkGraphicsDemo; }; name = Debug; }; + 2E06386CE7CCA5FF76819BFF = {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", + "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-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.NetworkGraphicsDemo; }; name = Release; }; + 3BF0365A560ACD4FD24D40CE = {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 = "JUCE Network Graphics Demo"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Debug; }; + 9C6D2FD441D79104734762A5 = {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 = "JUCE Network Graphics Demo"; + SDKROOT = iphoneos; + 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; }; + B73863F5D180C23D3EC40C38 = {isa = XCConfigurationList; buildConfigurations = ( + EE7498599191DDC73ECB55B0, + 2E06386CE7CCA5FF76819BFF, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 714944DB86A4D402E7FA269E = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 521016BFC5181B3170BD9E8A, + 006DF460F8DF66EFFA80D968, ); runOnlyForDeploymentPostprocessing = 0; }; + C2977559BF9148DB70CA10AE = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 987CBD5330E76B404F0D966C, + 9F618C008A503063D10076C4, + 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, + 67DF295E93E54432043126DF, + 770AB74B1D3A0108F764DD47, + 366A216FDEBD7BDDC1BA12D9, + CA694B2A73FCF12D7F9E7E49, + 5A64B64E5B45AEA1A0EECC4B, + F918FB5901F09EA77DB32022, + A6AA70BD9364BB974CDEB337, + EC14DA30C090DDC62084DB4C, + F714F0C84F5945BF3539239E, ); runOnlyForDeploymentPostprocessing = 0; }; + 4311FBCBD02948A0ED96C7DD = {isa = PBXNativeTarget; buildConfigurationList = B73863F5D180C23D3EC40C38; buildPhases = ( + 714944DB86A4D402E7FA269E, + C2977559BF9148DB70CA10AE, + 865E89B94B41EB14C202CBB0, ); buildRules = ( ); dependencies = ( ); name = "JUCE Network Graphics Demo (App)"; productName = "JUCE Network Graphics Demo"; productReference = E4162459ED4C829EF7B19691; 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/Contents.json b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..c0af172f --- /dev/null +++ b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/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/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 new file mode 100644 index 0000000000000000000000000000000000000000..fab6ec160a4a3fa3898c1cb13d39dcad059c0f7d GIT binary patch literal 1896 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 S^~jef6--i8PNW)S5b%FbeVQ`> literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..c155e3cb66d1faeda85b4d83810c71ad7cf87da1 GIT binary patch literal 4859 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 I3DeO30Z*U*?EnA( literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..2e07ee828397011aba3f2d8fd72ff65faf62c770 GIT binary patch literal 5556 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 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..90a424f47a2bd5424ea8048731071d5dcffa7732 GIT binary patch literal 15434 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 WK=g6m7yW4t2FOY&Nmhy*1OEpRm*=kl literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..fab6ec160a4a3fa3898c1cb13d39dcad059c0f7d GIT binary patch literal 1896 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 AAOHXW literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..6b774b1ffbab7594576b38b248fb161ef879003c GIT binary patch literal 8685 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 LNkvXXu0mjftHDm? literal 0 HcmV?d00001 diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..18950aa151cdedd9207b9f72c3f847fc6da7c459 GIT binary patch literal 4599 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 S)PAG@0000a~g{rnIfssk+E^ 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 S^~jef6--i8PNW)S5b%FbeVQ`> literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..75780329cbd991d1b90a5f5dda6f7c936bc976b6 GIT binary patch literal 4433 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 RFaAJ)ytE3eLeePce*k&rUJw8P literal 0 HcmV?d00001 diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/LaunchImage.launchimage/Contents.json b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 00000000..235448f3 --- /dev/null +++ b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/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/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-1x.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/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/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-2x.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/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/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-1x.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/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/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-2x.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/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/NetworkGraphicsDemo/JuceLibraryCode/AppConfig.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/AppConfig.h new file mode 100644 index 00000000..b632e231 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/AppConfig.h @@ -0,0 +1,197 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + 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 + 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_GWI5IR__ +#define __JUCE_APPCONFIG_GWI5IR__ + +//============================================================================== +// [BEGIN_USER_CODE_SECTION] + +// (You can add your own code in this section, and the Projucer will not overwrite it) + +// [END_USER_CODE_SECTION] + +//============================================================================== +#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_formats 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_osc 1 + +//============================================================================== +#ifndef JUCE_STANDALONE_APPLICATION + #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: + +#ifndef JUCE_ASIO + //#define JUCE_ASIO +#endif + +#ifndef JUCE_WASAPI + //#define JUCE_WASAPI +#endif + +#ifndef JUCE_WASAPI_EXCLUSIVE + //#define JUCE_WASAPI_EXCLUSIVE +#endif + +#ifndef JUCE_DIRECTSOUND + //#define JUCE_DIRECTSOUND +#endif + +#ifndef JUCE_ALSA + //#define JUCE_ALSA +#endif + +#ifndef JUCE_JACK + //#define JUCE_JACK +#endif + +#ifndef JUCE_USE_ANDROID_OPENSLES + //#define JUCE_USE_ANDROID_OPENSLES +#endif + +#ifndef JUCE_USE_CDREADER + //#define JUCE_USE_CDREADER +#endif + +#ifndef JUCE_USE_CDBURNER + //#define JUCE_USE_CDBURNER +#endif + +//============================================================================== +// juce_audio_formats flags: + +#ifndef JUCE_USE_FLAC + //#define JUCE_USE_FLAC +#endif + +#ifndef JUCE_USE_OGGVORBIS + //#define JUCE_USE_OGGVORBIS +#endif + +#ifndef JUCE_USE_MP3AUDIOFORMAT + //#define JUCE_USE_MP3AUDIOFORMAT +#endif + +#ifndef JUCE_USE_LAME_AUDIO_FORMAT + //#define JUCE_USE_LAME_AUDIO_FORMAT +#endif + +#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT + //#define JUCE_USE_WINDOWS_MEDIA_FORMAT +#endif + +//============================================================================== +// juce_audio_processors flags: + +#ifndef JUCE_PLUGINHOST_VST + //#define JUCE_PLUGINHOST_VST +#endif + +#ifndef JUCE_PLUGINHOST_VST3 + //#define JUCE_PLUGINHOST_VST3 +#endif + +#ifndef JUCE_PLUGINHOST_AU + //#define JUCE_PLUGINHOST_AU +#endif + +//============================================================================== +// juce_core flags: + +#ifndef JUCE_FORCE_DEBUG + //#define JUCE_FORCE_DEBUG +#endif + +#ifndef JUCE_LOG_ASSERTIONS + //#define JUCE_LOG_ASSERTIONS +#endif + +#ifndef JUCE_CHECK_MEMORY_LEAKS + //#define JUCE_CHECK_MEMORY_LEAKS +#endif + +#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES + //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES +#endif + +#ifndef JUCE_INCLUDE_ZLIB_CODE + //#define JUCE_INCLUDE_ZLIB_CODE +#endif + +#ifndef JUCE_USE_CURL + //#define JUCE_USE_CURL +#endif + +//============================================================================== +// juce_graphics flags: + +#ifndef JUCE_USE_COREIMAGE_LOADER + //#define JUCE_USE_COREIMAGE_LOADER +#endif + +#ifndef JUCE_USE_DIRECTWRITE + //#define JUCE_USE_DIRECTWRITE +#endif + +//============================================================================== +// juce_gui_basics flags: + +#ifndef JUCE_ENABLE_REPAINT_DEBUGGING + //#define JUCE_ENABLE_REPAINT_DEBUGGING +#endif + +#ifndef JUCE_USE_XSHM + //#define JUCE_USE_XSHM +#endif + +#ifndef JUCE_USE_XRENDER + //#define JUCE_USE_XRENDER +#endif + +#ifndef JUCE_USE_XCURSOR + //#define JUCE_USE_XCURSOR +#endif + +//============================================================================== +// juce_gui_extra flags: + +#ifndef JUCE_WEB_BROWSER + //#define JUCE_WEB_BROWSER +#endif + +#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR + //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR +#endif + + +#endif // __JUCE_APPCONFIG_GWI5IR__ diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/BinaryData.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/BinaryData.cpp new file mode 100644 index 00000000..11d86451 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/BinaryData.cpp @@ -0,0 +1,683 @@ +/* ==================================== JUCER_BINARY_RESOURCE ==================================== + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +namespace BinaryData +{ + +//================== juce_icon.png ================== +static const unsigned char temp_binary_data_0[] = +{ 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_0; + + +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 0x154a7275: numBytes = 45854; return juce_icon_png; + default: break; + } + + numBytes = 0; + return 0; +} + +const char* namedResourceList[] = +{ + "juce_icon_png" +}; + +} diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/BinaryData.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/BinaryData.h new file mode 100644 index 00000000..5a7a9e04 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/BinaryData.h @@ -0,0 +1,26 @@ +/* ========================================================================================= + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#ifndef BINARYDATA_H_78586917_INCLUDED +#define BINARYDATA_H_78586917_INCLUDED + +namespace BinaryData +{ + extern const char* juce_icon_png; + const int juce_icon_pngSize = 45854; + + // Points to the start of a list of resource names. + extern const char* namedResourceList[]; + + // Number of elements in the namedResourceList array. + const int namedResourceListSize = 1; + + // 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/NetworkGraphicsDemo/JuceLibraryCode/JuceHeader.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/JuceHeader.h new file mode 100644 index 00000000..4d957d35 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/JuceHeader.h @@ -0,0 +1,50 @@ +/* + + 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_GWI5IR__ +#define __APPHEADERFILE_GWI5IR__ + +#include "AppConfig.h" + +#include +#include +#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 = "JUCE Network Graphics Demo"; + const char* const versionString = "1.0.0"; + const int versionNumber = 0x10000; +} +#endif + +#endif // __APPHEADERFILE_GWI5IR__ diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/ReadMe.txt b/examples/NetworkGraphicsDemo/JuceLibraryCode/ReadMe.txt new file mode 100644 index 00000000..091a5aa6 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/ReadMe.txt @@ -0,0 +1,12 @@ + + Important Note!! + ================ + +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 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 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..97bd2c56 --- /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 00000000..8eae7c6e --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..0c3b9ae9 --- /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/NetworkGraphicsDemo.jucer b/examples/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer new file mode 100644 index 00000000..d0dac9a6 --- /dev/null +++ b/examples/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/NetworkGraphicsDemo/README.txt b/examples/NetworkGraphicsDemo/README.txt new file mode 100644 index 00000000..f42ec3d0 --- /dev/null +++ b/examples/NetworkGraphicsDemo/README.txt @@ -0,0 +1,39 @@ + + JUCE Network graphics demo + ========================== + +This example is an app that we threw together to run as a demo of JUCE on our +booth at CES 2016. + +It allows a collection of heterogenous devices on a local network to collectively +draw parts of a large animated vector graphic image that is being generated and +broadcast by one of the machines (the 'master'). + +Each 'slave' device can be positioned within the overall canvas so that if you put +all of their displays on a wall next to each other and line things up correctly, they +all form a bigger display. At CES we set up a bunch of machines including a Mac, a +Linux box, a PC, and some tablets and phones running iOS and Android, to show how the +same app can run uniformly across all these platforms. + +We wrote a few simple animations to run in this context, mainly around the idea of +flocking bird-type objects, because this creates a nice effect as they fly between +each monitor, which helps to create the illusion of a bigger picture. + +Any touchs/mouse-clicks on each slave display are sent back to the master, so that +it can react to these. In our demos we used this to cause the flock to swarm towards +the place that was being touched. + +To run it, there's a command line flag "master" that will cause the app to run in +master-mode. Other instances running without this will act as slaves. The master +will open a special window that lets you modify the positions of all the networked +devices by dragging/mouse-wheeling. In this window you can also press cursor +left/right to select the demo to run. + +These are some interesting bits of code in here - notably a special +LowLevelGraphicsContext class which allows the content generator to simply +draw to a Graphics object as you normally would, but instead of painting to the +screen, everything that is drawn gets serialised into binary packets and broadcast +over UDP to the slaves, which each render their own part of it. + +The content should be easy to hack - have a look in Demos.h. Have fun tweaking it +with your own code and ideas! diff --git a/examples/NetworkGraphicsDemo/Source/Demos.h b/examples/NetworkGraphicsDemo/Source/Demos.h new file mode 100644 index 00000000..a8b90a40 --- /dev/null +++ b/examples/NetworkGraphicsDemo/Source/Demos.h @@ -0,0 +1,504 @@ +/* + ============================================================================== + + 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 BlankCanvas : public AnimatedContent +{ + String getName() const override { return "Blank Canvas"; } + void reset() override {} + void handleTouch (Point) override {} + void generateCanvas (Graphics&, SharedCanvasDescription&, Rectangle) override {} +}; + +//============================================================================== +struct GridLines : public AnimatedContent +{ + String getName() const override { return "Grid Lines"; } + void reset() override {} + void handleTouch (Point) override {} + + void generateCanvas (Graphics& g, SharedCanvasDescription& canvas, Rectangle) override + { + auto limits = canvas.getLimits(); + float lineThickness = 0.1f; + + g.setColour (Colours::blue); + g.drawRect (canvas.getLimits(), lineThickness); + + for (float y = limits.getY(); y < limits.getBottom(); y += 2.0f) + g.drawLine (limits.getX(), y, limits.getRight(), y, lineThickness); + + for (float x = limits.getX(); x < limits.getRight(); x += 2.0f) + g.drawLine (x, limits.getY(), x, limits.getBottom(), lineThickness); + + g.setColour (Colours::darkred); + g.drawLine (limits.getX(), limits.getCentreY(), limits.getRight(), limits.getCentreY(), lineThickness); + g.drawLine (limits.getCentreX(), limits.getY(), limits.getCentreX(), limits.getBottom(), lineThickness); + + g.setColour (Colours::lightgrey); + g.drawLine (limits.getX(), limits.getY(), limits.getRight(), limits.getBottom(), lineThickness); + g.drawLine (limits.getX(), limits.getBottom(), limits.getRight(), limits.getY(), lineThickness); + } +}; + +//============================================================================== +struct BackgroundLogo : public AnimatedContent +{ + BackgroundLogo() + { + static const char logoData[] = R"blahblah( + + + + + + + + + + + + )blahblah"; + + ScopedPointer svg (XmlDocument::parse (logoData)); + logo = Drawable::createFromSVG (*svg); + } + + String getName() const override { return "Background Image"; } + void reset() override {} + void handleTouch (Point) override {} + + void generateCanvas (Graphics& g, SharedCanvasDescription& canvas, Rectangle activeArea) override + { + logo->drawWithin (g, canvas.getLimits().reduced (3.0f), RectanglePlacement (RectanglePlacement::centred), 0.6f); + } + + ScopedPointer logo; +}; + +//============================================================================== +struct FlockDemo : public BackgroundLogo +{ + String getName() const override { return "Flock"; } + + void setNumBirds (int numBirds) + { + BackgroundLogo::reset(); + + birds.clear(); + + for (int i = numBirds; --i >= 0;) + birds.add ({}); + + centreOfGravity = {}; + lastGravityMove = {}; + fakeMouseTouchLengthToRun = 0; + fakeMouseTouchPosition = {}; + fakeMouseTouchVelocity = {}; + } + + void reset() override + { + BackgroundLogo::reset(); + setNumBirds (100); + } + + void generateCanvas (Graphics& g, SharedCanvasDescription& canvas, Rectangle activeArea) override + { + BackgroundLogo::generateCanvas (g, canvas, activeArea); + + if (Time::getCurrentTime() > lastGravityMove + RelativeTime::seconds (0.5)) + { + if (fakeMouseTouchLengthToRun > 0) + { + --fakeMouseTouchLengthToRun; + fakeMouseTouchPosition += fakeMouseTouchVelocity; + centreOfGravity = fakeMouseTouchPosition; + } + else + { + centreOfGravity = {}; + + if (rng.nextInt (300) == 2 && canvas.clients.size() > 0) + { + fakeMouseTouchLengthToRun = 50; + fakeMouseTouchPosition = canvas.clients.getReference (rng.nextInt (canvas.clients.size())).centre; + fakeMouseTouchVelocity = { rng.nextFloat() * 0.3f - 0.15f, + rng.nextFloat() * 0.3f - 0.15f }; + } + } + } + + g.setColour (Colours::white.withAlpha (0.2f)); + + if (! centreOfGravity.isOrigin()) + g.fillEllipse (centreOfGravity.getX() - 1.0f, centreOfGravity.getY() - 1.0f, 2.0f, 2.0f); + + for (int i = 0; i < birds.size(); ++i) + for (int j = i + 1; j < birds.size(); ++j) + attractBirds (birds.getReference(i), birds.getReference(j)); + + for (auto& b : birds) + { + if (! centreOfGravity.isOrigin()) + b.move (centreOfGravity, 0.4f); + + b.update(); + b.draw (g); + b.bounceOffEdges (canvas.getLimits().expanded (1.0f)); + } + + for (int i = rings.size(); --i >= 0;) + { + if (rings.getReference(i).update()) + rings.getReference(i).draw (g); + else + rings.remove (i); + } + } + + bool isRingNear (Point p) const + { + for (auto& r : rings) + if (r.centre.getDistanceFrom (p) < 1.0f) + return true; + + return false; + } + + void handleTouch (Point position) override + { + lastGravityMove = Time::getCurrentTime(); + centreOfGravity = position; + fakeMouseTouchLengthToRun = 0; + + if (! isRingNear (position)) + rings.add ({ position, 1.0f, 0.5f }); + } + + //============================================================================== + struct Bird + { + Bird() + { + Random rng; + pos.x = rng.nextFloat() * 10.0f - 5.0f; + pos.y = rng.nextFloat() * 10.0f - 5.0f; + velocity.x = rng.nextFloat() * 0.001f; + velocity.y = rng.nextFloat() * 0.001f; + + colour = Colour::fromHSV (rng.nextFloat(), 0.2f, 0.9f, rng.nextFloat() * 0.4f + 0.2f); + + shape.addTriangle (0.0f, 0.0f, -0.3f, 1.0f, 0.3f, 1.0f); + shape = shape.createPathWithRoundedCorners (0.2f); + + shape.applyTransform (AffineTransform::scale (rng.nextFloat() + 1.0f)); + } + + Point pos, velocity, acc; + Colour colour; + Path shape; + + void move (Point target, float strength) + { + auto r = target - pos; + float rSquared = jmax (0.1f, (r.x * r.x) + (r.y * r.y)); + + if (rSquared > 1.0f) + velocity += (r * strength / rSquared); + + acc = {}; + } + + void accelerate (Point acceleration) + { + acc += acceleration; + } + + void bounceOffEdges (Rectangle limits) + { + if (pos.x < limits.getX()) { velocity.x = std::abs (velocity.x); acc = {}; } + if (pos.x > limits.getRight()) { velocity.x = -std::abs (velocity.x); acc = {}; } + if (pos.y < limits.getY()) { velocity.y = std::abs (velocity.y); acc = {}; } + if (pos.y > limits.getBottom()) { velocity.y = -std::abs (velocity.y); acc = {}; } + } + + void update() + { + velocity += acc; + + float length = velocity.getDistanceFromOrigin(); + const float maxSpeed = 0.5f; + + if (length > maxSpeed) + velocity = getVectorWithLength (velocity, maxSpeed); + + pos += velocity; + } + + void draw (Graphics& g) + { + g.setColour (colour); + g.fillPath (shape, AffineTransform::rotation (Point().getAngleToPoint (velocity)).translated (pos)); + } + }; + + static Point getVectorWithLength (Point v, float newLength) + { + return v * (newLength / v.getDistanceFromOrigin()); + } + + static void attractBirds (Bird& b1, Bird& b2) + { + auto delta = b1.pos - b2.pos; + + const float zoneRadius = 10.0f; + const float low = 0.4f; + const float high = 0.65f; + const float strength = 0.01f; + + const float distanceSquared = (delta.x * delta.x) * (delta.y * delta.y); + + if (distanceSquared < zoneRadius * zoneRadius && distanceSquared > 0.01f) + { + float proportion = distanceSquared / (zoneRadius * zoneRadius); + + if (proportion < low) + { + const float F = (low / proportion - 1.0f) * strength * 0.003f; + delta = getVectorWithLength (delta, F); + + b1.accelerate (delta); + b2.accelerate (-delta); + } + else if (proportion < high) + { + const float regionSize = high - low; + const float adjustedProportion = (proportion - low) / regionSize; + const float F = (0.5f - cos (adjustedProportion * float_Pi * 2.0f) * 0.5f + 0.5f) * strength; + + b1.accelerate (getVectorWithLength (b2.velocity, F)); + b2.accelerate (getVectorWithLength (b1.velocity, F)); + } + else + { + const float regionSize = 1.0f - high; + const float adjustedProportion = (proportion - high) / regionSize; + const float F = (0.5f - cos (adjustedProportion * float_Pi * 2.0f) * 0.5f + 0.5f) * strength; + delta = getVectorWithLength (delta, F); + + b1.accelerate (-delta); + b2.accelerate (delta); + } + } + } + + Random rng; + Array birds; + Point centreOfGravity; + Time lastGravityMove; + + int fakeMouseTouchLengthToRun = 0; + Point fakeMouseTouchPosition, fakeMouseTouchVelocity; + + //============================================================================== + struct Ring + { + Point centre; + float diameter, opacity; + + bool update() + { + diameter += 0.7f; + opacity -= 0.01f; + + return opacity > 0; + } + + void draw (Graphics& g) + { + const float thickness = 0.2f; + + auto r = Rectangle (diameter, diameter).withCentre (centre); + + Path p; + p.addEllipse (r); + p.addEllipse (r.reduced (thickness)); + p.setUsingNonZeroWinding (false); + + g.setColour (Colours::white.withAlpha (opacity)); + g.fillPath (p); + + } + }; + + Array rings; +}; + +//============================================================================== +struct FlockWithText : public FlockDemo +{ + FlockWithText() + { + messages.add ("JUCE is our cross-platform C++ framework\n\n" + "In this demo, the same C++ app is running natively on NUMDEVICES devices,\n" + "which are sharing their graphic state via the network"); + + messages.add ("No other libraries were needed to create this demo.\n" + "JUCE provides thousands of classes for cross-platform GUI,\n" + "audio, networking, data-structures and many other common tasks"); + + messages.add ("As well as a code library, JUCE provides tools for managing\n" + "cross-platform projects that are built with Xcode,\n" + "Visual Studio, Android Studio, GCC and other compilers"); + + messages.add ("JUCE can be used to build desktop or mobile apps, and also\n" + "audio plug-ins in the VST2, VST3, AudioUnit, AAX and RTAS formats"); + } + + String getName() const override { return "Flock with text"; } + + void reset() override + { + FlockDemo::reset(); + + currentMessage = 0; + currentMessageStart = {}; + clientIndex = 0; + } + + void generateCanvas (Graphics& g, SharedCanvasDescription& canvas, Rectangle activeArea) override + { + FlockDemo::generateCanvas (g, canvas, activeArea); + + const float textSize = 0.5f; // inches + const float textBlockWidth = 20.0f; // inches + + tick(); + + Graphics::ScopedSaveState ss (g); + const float scale = 20.0f; // scaled to allow the fonts to use more reasonable sizes + g.addTransform (AffineTransform::scale (1.0f / scale)); + + String text = String (messages[currentMessage]).replace ("NUMDEVICES", String (canvas.clients.size())); + + AttributedString as; + as.append (text, Font (textSize * scale), Colour (0x80ffffff).withMultipliedAlpha (alpha)); + + as.setJustification (Justification::centred); + auto centre = canvas.clients[clientIndex % canvas.clients.size()].centre * scale; + as.draw (g, Rectangle (textBlockWidth * scale, textBlockWidth * scale).withCentre (centre)); + } + + void tick() + { + const double displayTimeSeconds = 5.0; + const double fadeTimeSeconds = 1.0; + + Time now = Time::getCurrentTime(); + const double secondsSinceStart = (now - currentMessageStart).inSeconds(); + + if (secondsSinceStart > displayTimeSeconds) + { + currentMessageStart = now; + currentMessage = (currentMessage + 1) % messages.size(); + ++clientIndex; + alpha = 0; + } + else if (secondsSinceStart > displayTimeSeconds - fadeTimeSeconds) + { + alpha = (float) jlimit (0.0, 1.0, (displayTimeSeconds - secondsSinceStart) / fadeTimeSeconds); + } + else if (secondsSinceStart < fadeTimeSeconds) + { + alpha = (float) jlimit (0.0, 1.0, secondsSinceStart / fadeTimeSeconds); + } + } + + StringArray messages; + int currentMessage = 0, clientIndex = 0; + float alpha = 0; + Point centre; + Time currentMessageStart; +}; + +//============================================================================== +struct SmallFlock : public FlockDemo +{ + String getName() const override { return "Small Flock"; } + + void reset() override + { + setNumBirds (20); + } +}; + +//============================================================================== +struct BigFlock : public FlockDemo +{ + String getName() const override { return "Big Flock"; } + + void reset() override + { + setNumBirds (200); + } +}; + +//============================================================================== +template +struct MultiLogo : public BackgroundLogo +{ + String getName() const override { return "Multi-Logo " + String ((int) numHorizontalLogos); } + + void generateCanvas (Graphics& g, SharedCanvasDescription& canvas, Rectangle activeArea) override + { + float indent = 0.5f; + float logoSize = canvas.getLimits().getWidth() / numHorizontalLogos; + auto limits = canvas.getLimits(); + + for (float x = limits.getX(); x < limits.getRight(); x += logoSize) + { + for (float y = limits.getY(); y < limits.getBottom(); y += logoSize) + { + logo->drawWithin (g, Rectangle (x, y, logoSize, logoSize).reduced (indent), + RectanglePlacement (RectanglePlacement::centred), 0.5f); + } + } + } +}; + +//============================================================================== +void createAllDemos (OwnedArray& demos) +{ + demos.add (new FlockDemo()); + demos.add (new FlockWithText()); + demos.add (new SmallFlock()); + demos.add (new BigFlock()); + demos.add (new BackgroundLogo()); + demos.add (new MultiLogo<5>()); + demos.add (new MultiLogo<10>()); + demos.add (new GridLines()); + demos.add (new BlankCanvas()); +} diff --git a/examples/NetworkGraphicsDemo/Source/Main.cpp b/examples/NetworkGraphicsDemo/Source/Main.cpp new file mode 100644 index 00000000..ae92a429 --- /dev/null +++ b/examples/NetworkGraphicsDemo/Source/Main.cpp @@ -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. + + ============================================================================== +*/ + +#include "../JuceLibraryCode/JuceHeader.h" + +namespace +{ + String getIPAddress() + { + Array addresses; + IPAddress::findAllAddresses (addresses); + return addresses[1].toString(); + } + + String getBroadcastIPAddress() + { + return getIPAddress().upToLastOccurrenceOf (".", false, false) + ".255"; + } + + static const int masterPortNumber = 9001; // the UDP port the master sends on / the clients receive. + static const int clientPortNumber = 9002; // the UDP port the clients send on / the master receives. + + static const String canvasStateOSCAddress = "/juce/nfd/canvasState"; + static const String newClientOSCAddress = "/juce/nfd/newClient"; + static const String userInputOSCAddress = "/juce/nfd/userInput"; +}; + +#include "SharedCanvas.h" +#include "SlaveComponent.h" +#include "Demos.h" +#include "MasterComponent.h" + + +//============================================================================== +class NetworkGraphicsDemoApplication : public JUCEApplication +{ +public: + NetworkGraphicsDemoApplication() : properties (getPropertyFileOptions()) + {} + + const String getApplicationName() override { return ProjectInfo::projectName; } + const String getApplicationVersion() override { return ProjectInfo::versionString; } + bool moreThanOneInstanceAllowed() override { return true; } + void anotherInstanceStarted (const String&) override {} + + //============================================================================== + void initialise (const String& commandLine) override + { + #if ! JUCE_IOS && ! JUCE_ANDROID + // Run as the master if we have a command-line flag "master" or if the exe itself + // has been renamed to include the word "master".. + bool isMaster = commandLine.containsIgnoreCase ("master") + || File::getSpecialLocation (File::currentApplicationFile) + .getFileName().containsIgnoreCase ("master"); + + if (isMaster) + mainWindows.add (new MainWindow (properties)); + #endif + + mainWindows.add (new MainWindow (properties, 0)); + + Desktop::getInstance().setScreenSaverEnabled (false); + } + + void shutdown() override + { + mainWindows.clear(); + properties.saveIfNeeded(); + } + + void systemRequestedQuit() override + { + quit(); + } + + //============================================================================== + struct MainWindow : public DocumentWindow + { + MainWindow (PropertiesFile& props) + : DocumentWindow ("JUCE Networked Graphics Demo - Master", Colours::white, DocumentWindow::allButtons) + { + setUsingNativeTitleBar (true); + setContentOwned (new MasterContentComponent (props), true); + setBounds (100, 50, getWidth(), getHeight()); + setResizable (true, false); + setVisible (true); + + glContext.attachTo (*this); + } + + MainWindow (PropertiesFile& props, int windowIndex) + : DocumentWindow ("JUCE Networked Graphics Demo", Colours::black, DocumentWindow::allButtons) + { + setUsingNativeTitleBar (true); + setContentOwned (new SlaveCanvasComponent (props, windowIndex), true); + setBounds (500, 100, getWidth(), getHeight()); + setResizable (true, false); + setVisible (true); + + #if ! JUCE_IOS + glContext.attachTo (*this); + #endif + + #if JUCE_IOS || JUCE_ANDROID + setFullScreen (true); + #endif + } + + ~MainWindow() + { + glContext.detach(); + } + + void closeButtonPressed() override + { + JUCEApplication::getInstance()->systemRequestedQuit(); + } + + OpenGLContext glContext; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow) + }; + + static PropertiesFile::Options getPropertyFileOptions() + { + PropertiesFile::Options o; + o.applicationName = "JUCE Network Graphics Demo"; + o.filenameSuffix = ".settings"; + o.folderName = "JUCE Network Graphics Demo"; + o.osxLibrarySubFolder = "Application Support/JUCE Network Graphics Demo"; + o.millisecondsBeforeSaving = 2000; + return o; + } + + PropertiesFile properties; + OwnedArray mainWindows; +}; + + +//============================================================================== +// This macro generates the main() routine that launches the app. +START_JUCE_APPLICATION (NetworkGraphicsDemoApplication) diff --git a/examples/NetworkGraphicsDemo/Source/MasterComponent.h b/examples/NetworkGraphicsDemo/Source/MasterComponent.h new file mode 100644 index 00000000..03951ae6 --- /dev/null +++ b/examples/NetworkGraphicsDemo/Source/MasterComponent.h @@ -0,0 +1,416 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + + +/** + Runs the master node, calls the demo to update the canvas, broadcasts those changes + out to slaves, and shows a view of all the clients to allow them to be dragged around. +*/ +struct MasterContentComponent : public Component, + private Timer, + private OSCSender, + private OSCReceiver, + private OSCReceiver::Listener +{ + MasterContentComponent (PropertiesFile& props) + : properties (props) + { + setWantsKeyboardFocus (true); + createAllDemos (demos); + setContent (0); + + setSize (15.0f * currentCanvas.getLimits().getWidth(), + 15.0f * currentCanvas.getLimits().getHeight()); + + if (! OSCSender::connect (getBroadcastIPAddress(), masterPortNumber)) + error = "Master app OSC sender: network connection error."; + + if (! OSCReceiver::connect (clientPortNumber)) + error = "Master app OSC receiver: network connection error."; + + OSCReceiver::addListener (this); + + startTimerHz (30); + } + + ~MasterContentComponent() + { + OSCReceiver::removeListener (this); + } + + //============================================================================== + struct Client + { + String name, ipAddress; + float widthInches, heightInches; + Point centre; // in inches + float scaleFactor; + }; + + Array clients; + + void addClient (String name, String ipAddress, String areaDescription) + { + auto area = Rectangle::fromString (areaDescription); + + if (auto c = getClient (name)) + { + c->ipAddress = ipAddress; + c->widthInches = area.getWidth(); + c->heightInches = area.getHeight(); + return; + } + + DBG (name + " " + ipAddress); + + removeClient (name); + clients.add ({ name, ipAddress, area.getWidth(), area.getHeight(), {}, 1.0f }); + + String lastX = properties.getValue ("lastX_" + name); + String lastY = properties.getValue ("lastY_" + name); + String lastScale = properties.getValue ("scale_" + name); + + if (lastX.isEmpty() || lastY.isEmpty()) + setClientCentre (name, { Random().nextFloat() * 10.0f, + Random().nextFloat() * 10.0f }); + else + setClientCentre (name, Point (lastX.getFloatValue(), + lastY.getFloatValue())); + + if (lastScale.isNotEmpty()) + setClientScale (name, lastScale.getFloatValue()); + else + setClientScale (name, 1.0f); + + updateDeviceComponents(); + } + + void removeClient (String name) + { + for (int i = clients.size(); --i >= 0;) + if (clients.getReference (0).name == name) + clients.remove (i); + + updateDeviceComponents(); + } + + void setClientCentre (const String& name, Point newCentre) + { + if (auto c = getClient (name)) + { + newCentre = currentCanvas.getLimits().getConstrainedPoint (newCentre); + c->centre = newCentre; + + properties.setValue ("lastX_" + name, String (newCentre.x)); + properties.setValue ("lastY_" + name, String (newCentre.y)); + + startTimer (1); + } + } + + float getClientScale (const String& name) const + { + if (auto c = getClient (name)) + return c->scaleFactor; + + return 1.0f; + } + + void setClientScale (const String& name, float newScale) + { + if (auto c = getClient (name)) + { + c->scaleFactor = jlimit (0.5f, 2.0f, newScale); + properties.setValue ("scale_" + name, String (newScale)); + } + } + + Point getClientCentre (const String& name) const + { + if (auto c = getClient (name)) + return c->centre; + + return {}; + } + + Rectangle getClientArea (const String& name) const + { + if (auto c = getClient (name)) + return Rectangle (c->widthInches, c->heightInches) + .withCentre (c->centre); + + return {}; + } + + Rectangle getActiveCanvasArea() const + { + Rectangle r; + + if (clients.size() > 0) + r = Rectangle (1.0f, 1.0f).withCentre (clients.getReference (0).centre); + + for (int i = 1; i < clients.size(); ++i) + r = r.getUnion (Rectangle (1.0f, 1.0f).withCentre (clients.getReference (i).centre)); + + return r.expanded (6.0f); + } + + int getContentIndex() const + { + return demos.indexOf (content); + } + + void setContent (int demoIndex) + { + content = demos[demoIndex]; + + if (content != nullptr) + content->reset(); + } + + bool keyPressed (const KeyPress& key) override + { + if (key == KeyPress::spaceKey || key == KeyPress::rightKey || key == KeyPress::downKey) + { + setContent ((getContentIndex() + 1) % demos.size()); + return true; + } + + if (key == KeyPress::upKey || key == KeyPress::leftKey) + { + setContent ((getContentIndex() + demos.size() - 1) % demos.size()); + return true; + } + + return Component::keyPressed (key); + } + +private: + //============================================================================== + void paint (Graphics& g) override + { + g.fillAll (Colours::black); + + currentCanvas.draw (g, getLocalBounds().toFloat(), currentCanvas.getLimits()); + + if (error.isNotEmpty()) + { + g.setColour (Colours::red); + g.setFont (20.0f); + g.drawText (error, getLocalBounds().reduced (10).removeFromBottom (80), + Justification::centredRight, true); + } + + if (content != nullptr) + { + g.setColour (Colours::white); + g.setFont (17.0f); + g.drawText ("Demo: " + content->getName(), + getLocalBounds().reduced (10).removeFromTop (30), + Justification::centredLeft, true); + } + } + + void resized() override + { + updateDeviceComponents(); + } + + void updateDeviceComponents() + { + for (int i = devices.size(); --i >= 0;) + if (getClient (devices.getUnchecked(i)->getName()) == nullptr) + devices.remove (i); + + for (const auto& c : clients) + if (getDeviceComponent (c.name) == nullptr) + addAndMakeVisible (devices.add (new DeviceComponent (*this, c.name))); + + for (auto d : devices) + d->setBounds (virtualSpaceToLocal (getClientArea (d->getName())).getSmallestIntegerContainer()); + } + + Point virtualSpaceToLocal (Point p) const + { + auto total = currentCanvas.getLimits(); + + return { getWidth() * (p.x - total.getX()) / total.getWidth(), + getHeight() * (p.y - total.getY()) / total.getHeight() }; + } + + Rectangle virtualSpaceToLocal (Rectangle p) const + { + return { virtualSpaceToLocal (p.getTopLeft()), + virtualSpaceToLocal (p.getBottomRight()) }; + } + + Point localSpaceToVirtual (Point p) const + { + auto total = currentCanvas.getLimits(); + + return { total.getX() + total.getWidth() * (p.x / getWidth()), + total.getY() + total.getHeight() * (p.y / getHeight()) }; + } + + //============================================================================== + struct DeviceComponent : public Component + { + DeviceComponent (MasterContentComponent& e, String name) + : Component (name), editor (e) + { + setMouseCursor (MouseCursor::DraggingHandCursor); + } + + void paint (Graphics& g) override + { + g.fillAll (Colours::blue.withAlpha (0.4f)); + + g.setColour (Colours::white); + g.setFont (11.0f); + g.drawFittedText (getName(), getLocalBounds(), Justification::centred, 2); + } + + void mouseDown (const MouseEvent&) override + { + dragStartLocation = editor.getClientCentre (getName()); + } + + void mouseDrag (const MouseEvent& e) override + { + editor.setClientCentre (getName(), dragStartLocation + + editor.localSpaceToVirtual (e.getPosition().toFloat()) + - editor.localSpaceToVirtual (e.getMouseDownPosition().toFloat())); + } + + void mouseWheelMove (const MouseEvent&, const MouseWheelDetails& e) override + { + editor.setClientScale (getName(), editor.getClientScale (getName()) + 0.1f * e.deltaY); + } + + void mouseDoubleClick (const MouseEvent&) override + { + editor.setClientScale (getName(), 1.0f); + } + + MasterContentComponent& editor; + Point dragStartLocation; + Rectangle clientArea; + }; + + DeviceComponent* getDeviceComponent (const String& name) const + { + for (auto d : devices) + if (d->getName() == name) + return d; + + return nullptr; + } + + //============================================================================== + void broadcastNewCanvasState (const MemoryBlock& canvasData) + { + BlockPacketiser packetiser; + packetiser.createBlocksFromData (canvasData, 1000); + + for (const auto& client : clients) + for (auto& b : packetiser.blocks) + sendToIPAddress (client.ipAddress, masterPortNumber, canvasStateOSCAddress, b); + } + + void timerCallback() override + { + startTimerHz (30); + + currentCanvas.reset(); + updateCanvasInfo (currentCanvas); + + { + ScopedPointer context (new CanvasGeneratingContext (currentCanvas)); + Graphics g (*context); + + if (content != nullptr) + content->generateCanvas (g, currentCanvas, getActiveCanvasArea()); + } + + broadcastNewCanvasState (currentCanvas.toMemoryBlock()); + + updateDeviceComponents(); + repaint(); + } + + void updateCanvasInfo (SharedCanvasDescription& canvas) + { + canvas.backgroundColour = Colours::black; + + for (const auto& c : clients) + canvas.clients.add ({ c.name, c.centre, c.scaleFactor }); + } + + Client* getClient (const String& name) const + { + for (auto& c : clients) + if (c.name == name) + return &c; + + return nullptr; + } + + //============================================================================== + void oscMessageReceived (const OSCMessage& message) override + { + auto address = message.getAddressPattern(); + + if (address.matches (newClientOSCAddress)) newClientOSCMessageReceived (message); + else if (address.matches (userInputOSCAddress)) userInputOSCMessageReceived (message); + } + + void newClientOSCMessageReceived (const OSCMessage& message) + { + if (message.isEmpty() || ! message[0].isString()) + return; + + StringArray tokens = StringArray::fromTokens (message[0].getString(), ":", ""); + addClient (tokens[0], tokens[1], tokens[2]); + } + + void userInputOSCMessageReceived (const OSCMessage& message) + { + if (message.size() == 3 && message[0].isString() && message[1].isFloat32() && message[2].isFloat32()) + { + content->handleTouch ({ message[1].getFloat32(), + message[2].getFloat32() }); + } + } + + //============================================================================== + AnimatedContent* content = nullptr; + PropertiesFile& properties; + OwnedArray devices; + SharedCanvasDescription currentCanvas; + String error; + + OwnedArray demos; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MasterContentComponent) +}; diff --git a/examples/NetworkGraphicsDemo/Source/SharedCanvas.h b/examples/NetworkGraphicsDemo/Source/SharedCanvas.h new file mode 100644 index 00000000..f7746508 --- /dev/null +++ b/examples/NetworkGraphicsDemo/Source/SharedCanvas.h @@ -0,0 +1,526 @@ +/* + ============================================================================== + + 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 scene description is broadcast to all the clients, and contains a list of all + the clients involved, as well as the set of shapes to be drawn. + + Each client will draw the part of the path that lies within its own area. It can + find its area by looking at the list of clients contained in this structure. + + All the path coordinates are roughly in units of inches, and devices will convert + this to pixels based on their screen size and DPI +*/ +struct SharedCanvasDescription +{ + SharedCanvasDescription() {} + + Colour backgroundColour = Colours::black; + + struct ColouredPath + { + Path path; + FillType fill; + }; + + Array paths; + + struct ClientArea + { + String name; + Point centre; // in inches + float scaleFactor; // extra scaling + }; + + Array clients; + + //============================================================================== + void reset() + { + paths.clearQuick(); + clients.clearQuick(); + } + + void swapWith (SharedCanvasDescription& other) + { + std::swap (backgroundColour, other.backgroundColour); + paths.swapWith (other.paths); + clients.swapWith (other.clients); + } + + // This is a fixed size that represents the overall canvas limits that + // content should lie within + Rectangle getLimits() const + { + float inchesX = 60.0f; + float inchesY = 30.0f; + + return { inchesX * -0.5f, inchesY * -0.5f, inchesX, inchesY }; + } + + //============================================================================== + void draw (Graphics& g, Rectangle targetArea, Rectangle clientArea) const + { + draw (g, clientArea, + AffineTransform::fromTargetPoints (clientArea.getX(), clientArea.getY(), + targetArea.getX(), targetArea.getY(), + clientArea.getRight(), clientArea.getY(), + targetArea.getRight(), targetArea.getY(), + clientArea.getRight(), clientArea.getBottom(), + targetArea.getRight(), targetArea.getBottom())); + } + + void draw (Graphics& g, Rectangle clientArea, AffineTransform t) const + { + g.saveState(); + g.addTransform (t); + + for (const auto& p : paths) + { + if (p.path.getBounds().intersects (clientArea)) + { + g.setFillType (p.fill); + g.fillPath (p.path); + } + } + + g.restoreState(); + } + + const ClientArea* findClient (const String& clientName) const + { + for (const auto& c : clients) + if (c.name == clientName) + return &c; + + return nullptr; + } + + //============================================================================== + // Serialisation... + + void save (OutputStream& out) const + { + out.writeInt (magic); + out.writeInt ((int) backgroundColour.getARGB()); + + out.writeInt (clients.size()); + + for (const auto& c : clients) + { + out.writeString (c.name); + writePoint (out, c.centre); + out.writeFloat (c.scaleFactor); + } + + out.writeInt (paths.size()); + + for (const auto& p : paths) + { + writeFill (out, p.fill); + p.path.writePathToStream (out); + } + } + + void load (InputStream& in) + { + if (in.readInt() != magic) + return; + + backgroundColour = Colour ((uint32) in.readInt()); + + { + const int numClients = in.readInt(); + clients.clearQuick(); + + for (int i = 0; i < numClients; ++i) + { + ClientArea c; + c.name = in.readString(); + c.centre = readPoint (in); + c.scaleFactor = in.readFloat(); + clients.add (c); + } + } + + { + const int numPaths = in.readInt(); + paths.clearQuick(); + + for (int i = 0; i < numPaths; ++i) + { + ColouredPath p; + p.fill = readFill (in); + p.path.loadPathFromStream (in); + + paths.add (std::move (p)); + } + } + } + + MemoryBlock toMemoryBlock() const + { + MemoryOutputStream o; + save (o); + return o.getMemoryBlock(); + } + +private: + //============================================================================== + static void writePoint (OutputStream& out, Point p) + { + out.writeFloat (p.x); + out.writeFloat (p.y); + } + + static void writeRect (OutputStream& out, Rectangle r) + { + writePoint (out, r.getPosition()); + out.writeFloat (r.getWidth()); + out.writeFloat (r.getHeight()); + } + + static Point readPoint (InputStream& in) + { + Point p; + p.x = in.readFloat(); + p.y = in.readFloat(); + return p; + } + + static Rectangle readRect (InputStream& in) + { + Rectangle r; + r.setPosition (readPoint (in)); + r.setWidth (in.readFloat()); + r.setHeight (in.readFloat()); + return r; + } + + static void writeFill (OutputStream& out, const FillType& f) + { + if (f.isColour()) + { + out.writeByte (0); + out.writeInt ((int) f.colour.getARGB()); + } + else if (f.isGradient()) + { + const ColourGradient& cg = *f.gradient; + jassert (cg.getNumColours() >= 2); + + out.writeByte (cg.isRadial ? 2 : 1); + + writePoint (out, cg.point1); + writePoint (out, cg.point2); + + out.writeCompressedInt (cg.getNumColours()); + + for (int i = 0; i < cg.getNumColours(); ++i) + { + out.writeDouble (cg.getColourPosition (i)); + out.writeInt ((int) cg.getColour(i).getARGB()); + } + } + else + { + jassertfalse; + } + } + + static FillType readFill (InputStream& in) + { + int type = in.readByte(); + + if (type == 0) + return FillType (Colour ((uint32) in.readInt())); + + if (type > 2) + { + jassertfalse; + return FillType(); + } + + ColourGradient cg; + cg.point1 = readPoint (in); + cg.point2 = readPoint (in); + + cg.clearColours(); + + int numColours = in.readCompressedInt(); + + for (int i = 0; i < numColours; ++i) + { + const double pos = in.readDouble(); + cg.addColour (pos, Colour ((uint32) in.readInt())); + } + + jassert (cg.getNumColours() >= 2); + + return FillType (cg); + } + + const int magic = 0x2381239a; + + JUCE_DECLARE_NON_COPYABLE (SharedCanvasDescription) +}; + +//============================================================================== +class CanvasGeneratingContext : public LowLevelGraphicsContext +{ +public: + CanvasGeneratingContext (SharedCanvasDescription& c) : canvas (c) + { + stateStack.add (new SavedState()); + } + + //============================================================================== + bool isVectorDevice() const override { return true; } + float getPhysicalPixelScaleFactor() override { return 1.0f; } + void setOrigin (Point o) override { addTransform (AffineTransform::translation ((float) o.x, (float) o.y)); } + + void addTransform (const AffineTransform& t) override + { + getState().transform = t.followedBy (getState().transform); + } + + bool clipToRectangle (const Rectangle&) override { return true; } + bool clipToRectangleList (const RectangleList&) override { return true; } + void excludeClipRectangle (const Rectangle&) override {} + void clipToPath (const Path&, const AffineTransform&) override {} + void clipToImageAlpha (const Image&, const AffineTransform&) override {} + + void saveState() override + { + stateStack.add (new SavedState (getState())); + } + + void restoreState() override + { + jassert (stateStack.size() > 0); + + if (stateStack.size() > 0) + stateStack.removeLast(); + } + + void beginTransparencyLayer (float alpha) override + { + saveState(); + getState().transparencyLayer = new SharedCanvasHolder(); + getState().transparencyOpacity = alpha; + } + + void endTransparencyLayer() override + { + const ReferenceCountedObjectPtr finishedTransparencyLayer (getState().transparencyLayer); + float alpha = getState().transparencyOpacity; + restoreState(); + + if (SharedCanvasHolder* c = finishedTransparencyLayer) + { + for (auto& path : c->canvas.paths) + { + path.fill.setOpacity (path.fill.getOpacity() * alpha); + getTargetCanvas().paths.add (path); + } + } + } + + Rectangle getClipBounds() const override + { + return canvas.getLimits().getSmallestIntegerContainer() + .transformedBy (getState().transform.inverted()); + } + + bool clipRegionIntersects (const Rectangle&) override { return true; } + bool isClipEmpty() const override { return false; } + + //============================================================================== + void setFill (const FillType& fillType) override { getState().fillType = fillType; } + void setOpacity (float op) override { getState().fillType.setOpacity (op); } + void setInterpolationQuality (Graphics::ResamplingQuality) override {} + + //============================================================================== + void fillRect (const Rectangle& r, bool) override { fillRect (r.toFloat()); } + void fillRectList (const RectangleList& list) override { fillPath (list.toPath(), AffineTransform()); } + + void fillRect (const Rectangle& r) override + { + Path p; + p.addRectangle (r.toFloat()); + fillPath (p, AffineTransform()); + } + + void fillPath (const Path& p, const AffineTransform& t) override + { + Path p2 (p); + p2.applyTransform (t.followedBy (getState().transform)); + + getTargetCanvas().paths.add ({ std::move (p2), getState().fillType }); + } + + void drawImage (const Image&, const AffineTransform&) override {} + + void drawLine (const Line& line) override + { + Path p; + p.addLineSegment (line, 1.0f); + fillPath (p, AffineTransform()); + } + + //============================================================================== + const Font& getFont() override { return getState().font; } + void setFont (const Font& newFont) override { getState().font = newFont; } + + void drawGlyph (int glyphNumber, const AffineTransform& transform) override + { + Path p; + Font& font = getState().font; + font.getTypeface()->getOutlineForGlyph (glyphNumber, p); + fillPath (p, AffineTransform::scale (font.getHeight() * font.getHorizontalScale(), font.getHeight()).followedBy (transform)); + } + +private: + //============================================================================== + struct SharedCanvasHolder : public ReferenceCountedObject + { + SharedCanvasDescription canvas; + }; + + struct SavedState + { + FillType fillType; + AffineTransform transform; + Font font; + ReferenceCountedObjectPtr transparencyLayer; + float transparencyOpacity = 1.0f; + }; + + SharedCanvasDescription& getTargetCanvas() const + { + if (SharedCanvasHolder* c = getState().transparencyLayer) + return c->canvas; + + return canvas; + } + + SavedState& getState() const noexcept + { + jassert (stateStack.size() > 0); + return *stateStack.getLast(); + } + + SharedCanvasDescription& canvas; + OwnedArray stateStack; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CanvasGeneratingContext) +}; + +//============================================================================== +/** Helper for breaking and reassembling a memory block into smaller checksummed + blocks that will fit inside UDP packets +*/ +struct BlockPacketiser +{ + void createBlocksFromData (const MemoryBlock& data, size_t maxBlockSize) + { + jassert (blocks.size() == 0); + + int offset = 0; + size_t remaining = data.getSize(); + + while (remaining > 0) + { + const int num = jmin (maxBlockSize, remaining); + blocks.add (MemoryBlock (addBytesToPointer (data.getData(), offset), (size_t) num)); + offset += num; + remaining -= num; + } + + MemoryOutputStream checksumBlock; + checksumBlock << getLastPacketPrefix() << MD5 (data).toHexString() << (char) 0 << (char) 0; + blocks.add (checksumBlock.getMemoryBlock()); + + for (int i = 0; i < blocks.size(); ++i) + { + uint32 index = ByteOrder::swapIfBigEndian (i); + blocks.getReference(i).append (&index, sizeof (index)); + } + } + + // returns true if this is an end-of-sequence block + bool appendIncomingBlock (MemoryBlock data) + { + if (data.getSize() > 4) + blocks.addSorted (*this, data); + + return String (CharPointer_ASCII ((const char*) data.getData())).startsWith (getLastPacketPrefix()); + } + + bool reassemble (MemoryBlock& result) + { + result.reset(); + + if (blocks.size() > 1) + { + for (int i = 0; i < blocks.size() - 1; ++i) + result.append (blocks.getReference(i).getData(), blocks.getReference(i).getSize() - 4); + + String storedMD5 (String (CharPointer_ASCII ((const char*) blocks.getLast().getData())) + .fromFirstOccurrenceOf (getLastPacketPrefix(), false, false)); + + blocks.clearQuick(); + + if (MD5 (result).toHexString().trim().equalsIgnoreCase (storedMD5.trim())) + return true; + } + + result.reset(); + return false; + } + + static int compareElements (const MemoryBlock& b1, const MemoryBlock& b2) + { + int i1 = ByteOrder::littleEndianInt (addBytesToPointer (b1.getData(), b1.getSize() - 4)); + int i2 = ByteOrder::littleEndianInt (addBytesToPointer (b2.getData(), b2.getSize() - 4)); + return i1 - i2; + } + + static const char* getLastPacketPrefix() { return "**END_OF_PACKET_LIST** "; } + + Array blocks; +}; + + +//============================================================================== +struct AnimatedContent +{ + virtual ~AnimatedContent() {} + + virtual String getName() const = 0; + virtual void reset() = 0; + virtual void generateCanvas (Graphics&, SharedCanvasDescription& canvas, Rectangle activeArea) = 0; + virtual void handleTouch (Point position) = 0; +}; diff --git a/examples/NetworkGraphicsDemo/Source/SlaveComponent.h b/examples/NetworkGraphicsDemo/Source/SlaveComponent.h new file mode 100644 index 00000000..0dfd5a27 --- /dev/null +++ b/examples/NetworkGraphicsDemo/Source/SlaveComponent.h @@ -0,0 +1,221 @@ +/* + ============================================================================== + + 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 component runs in a slave process, draws the part of the canvas that this + particular client covers, and updates itself when messages arrive from the master + containing new canvas states. +*/ +class SlaveCanvasComponent : public Component, + private OSCSender, + private OSCReceiver, + private OSCReceiver::Listener, + private AsyncUpdater, + private Timer +{ +public: + SlaveCanvasComponent (PropertiesFile& p, int windowIndex) : properties (p) + { + { + String uuidPropName ("UUID" + String (windowIndex)); + clientName = properties.getValue (uuidPropName); + + if (clientName.isEmpty()) + { + clientName = "CLIENT_" + String (Random().nextInt (10000)).toUpperCase(); + properties.setValue (uuidPropName, clientName); + } + } + + setOpaque (true); + setSize (1500, 900); + + if (! OSCSender::connect (getBroadcastIPAddress(), clientPortNumber)) + error = "Client app OSC sender: network connection error."; + + if (! OSCReceiver::connect (masterPortNumber)) + error = "Client app OSC receiver: network connection error."; + + OSCReceiver::addListener (this); + + timerCallback(); + startTimer (2000); + } + + ~SlaveCanvasComponent() + { + OSCReceiver::removeListener (this); + } + +private: + void mouseDrag (const MouseEvent& e) override + { + auto clientArea = getAreaInGlobalSpace(); + + if (! clientArea.isEmpty()) + { + OSCMessage message (userInputOSCAddress); + + message.addString (clientName); + message.addFloat32 (e.position.x * clientArea.getWidth() / getWidth() + clientArea.getX()); + message.addFloat32 (e.position.y * clientArea.getHeight() / getHeight() + clientArea.getY()); + + send (message); + } + } + + //============================================================================== + void oscMessageReceived (const OSCMessage& message) override + { + auto address = message.getAddressPattern(); + + if (address.matches (canvasStateOSCAddress)) + canvasStateOSCMessageReceived (message); + } + + struct NewStateMessage : public Message + { + NewStateMessage (const MemoryBlock& d) : data (d) {} + MemoryBlock data; + }; + + void canvasStateOSCMessageReceived (const OSCMessage& message) + { + if (message.isEmpty() || ! message[0].isBlob()) + return; + + if (packetiser.appendIncomingBlock (message[0].getBlob())) + { + const ScopedLock sl (canvasLock); + + MemoryBlock newCanvasData; + + if (packetiser.reassemble (newCanvasData)) + { + MemoryInputStream i (newCanvasData.getData(), newCanvasData.getSize(), false); + canvas2.load (i); + triggerAsyncUpdate(); + } + } + } + + //============================================================================== + String getMachineInfoToDisplay() const + { + //auto display = Desktop::getInstance().getDisplays().getDisplayContaining (getScreenBounds().getCentre()); + return getOSName();// + " " + String (display.dpi) + " " + String (display.scale); + } + + static String getOSName() + { + #if JUCE_MAC + return "Mac OSX"; + #elif JUCE_ANDROID + return "Android"; + #elif JUCE_IOS + return "iOS"; + #elif JUCE_WINDOWS + return "Windows"; + #elif JUCE_LINUX + return "Linux"; + #endif + } + + void paint (Graphics& g) override + { + g.fillAll (canvas.backgroundColour); + + auto clientArea = getAreaInGlobalSpace(); + + if (clientArea.isEmpty()) + { + g.setColour (Colours::red.withAlpha (0.5f)); + g.setFont (20.0f); + g.drawText ("Not Connected", getLocalBounds(), Justification::centred, false); + return; + } + + canvas.draw (g, getLocalBounds().toFloat(), clientArea); + + g.setFont (Font (34.0f)); + g.setColour (Colours::white.withAlpha (0.6f)); + + g.drawText (getMachineInfoToDisplay(), + getLocalBounds().reduced (10).removeFromBottom (20), + Justification::centredRight, true); + + if (error.isNotEmpty()) + { + g.setColour (Colours::red); + g.drawText (error, getLocalBounds().reduced (10).removeFromBottom (80), + Justification::centredRight, true); + } + } + + Rectangle getAreaInGlobalSpace() const + { + if (auto client = canvas.findClient (clientName)) + { + auto screenBounds = getScreenBounds(); + auto display = Desktop::getInstance().getDisplays().getDisplayContaining (screenBounds.getCentre()); + return ((screenBounds - display.userArea.getCentre()).toFloat() / (client->scaleFactor * display.dpi / display.scale)) + client->centre; + } + + return {}; + } + + Rectangle getScreenAreaInGlobalSpace() const + { + if (auto client = canvas.findClient (clientName)) + { + auto display = Desktop::getInstance().getDisplays().getDisplayContaining (getScreenBounds().getCentre()); + return (display.userArea.toFloat() / (client->scaleFactor * display.dpi / display.scale)).withCentre (client->centre); + } + + return {}; + } + + void timerCallback() override + { + send (newClientOSCAddress, clientName + ":" + getIPAddress() + + ":" + getScreenAreaInGlobalSpace().toString()); + } + + void handleAsyncUpdate() override + { + const ScopedLock sl (canvasLock); + canvas.swapWith (canvas2); + repaint(); + } + + SharedCanvasDescription canvas, canvas2; + PropertiesFile& properties; + String clientName, error; + + CriticalSection canvasLock; + BlockPacketiser packetiser; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SlaveCanvasComponent) +}; diff --git a/examples/NetworkGraphicsDemo/Source/juce_icon.png b/examples/NetworkGraphicsDemo/Source/juce_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2564a24f7846d841e57b35b191bd8fa82ce648aa GIT binary patch literal 45854 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 A=Kufz literal 0 HcmV?d00001 diff --git a/examples/OSCMonitor/Builds/LinuxMakefile/Makefile b/examples/OSCMonitor/Builds/LinuxMakefile/Makefile index 0bdce8ba..17f3ca0d 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-App.plist b/examples/OSCMonitor/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..f1dd7a4e --- /dev/null +++ b/examples/OSCMonitor/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + OSCMonitor + CFBundleDisplayName + OSCMonitor + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/OSCMonitor/Builds/MacOSX/Info.plist b/examples/OSCMonitor/Builds/MacOSX/Info.plist deleted file mode 100644 index 0ab11669..00000000 --- a/examples/OSCMonitor/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.rawmaterialsoftware.OSCMonitor - CFBundleName - OSCMonitor - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - - diff --git a/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj b/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj index 22b7eefa..ef2da2a8 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,18 +50,26 @@ 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"; }; + 04D22E5FE579570E891AA570 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; 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"; }; + 058689EB45370CFDB649FDCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 05BECDDA18EEDCC6026046A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; + 0633D0C7EFAF3C2F1AAED8B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; 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"; }; + 077D14BDF440711227A88652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; 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"; }; 07E22F69D1BD5DBC61EB6B57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; 0834DCEB2DC13BDD835B441A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; 0871563B8BDFAC16F5251093 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; 08F133FB8B5DB6987C98CC09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 08F19C22CFDE21AB84F08973 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; 090D7A003EFBAC2DA007DE2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 093FD81AC22F2360CB37B521 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0942EF0F579AD64745BF6E46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; 09E8A68A55FC89AB30031896 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 09EA4A83F537E580914C15F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A0816474865473EAFFE0270 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; + 0A1063CF123E10AEFFA07AA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 0A17FB8DCF54A6A9925BDCF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 0A457862EB500278DEEECF1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0A573194C14F5E358AB6058C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -68,6 +77,7 @@ 0A74CD90D322A6643667AEB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; 0A9E895E546EE06D88C06244 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 0ACBAF3F9407F2B934D24D88 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; + 0ADDF315306918F1310598A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; 0AE91DB866D8AE676C2BB8B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 0AEA9B9D6E56CF2A6C7EC920 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 0B6399463624923B1F4CFC38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -75,14 +85,17 @@ 0B78D5D3D6C02AA7A4B3559A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OSCLogListBox.h; path = ../../Source/OSCLogListBox.h; sourceTree = "SOURCE_ROOT"; }; 0B937276D924CF3783A8A990 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 0BCF6AC43324F9021FF16748 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 0C7A399F8D20931E86ECBD1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C9908DBBB251080767CB7B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; 0CD1C179A543158E062F80AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; 0CE6EEBE234E83B3E2DAB95A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 0D0B81E173A81C17BA45F96D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 0D66F38F10E92C396696ACF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D7B0F7C662A5A7888C6D7AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; }; 0E2B40062C5D6544BE55CBB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E65C00550EDB61CC5E5FF40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E6F9F11832F6F0B7758C17E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E92572D643B4190D3BC36E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; }; 0ED24CE56E57EDA481E7EB94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0F03E7E5326779513AAC0BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0F5A8B23DE353199B5F5283E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -90,18 +103,23 @@ 0F820B3BF539916C211131A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; 0FD049CADEA606E86B5EB2D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 0FDDEBCE30FA3E3075335D3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FEB9F4C6003F332DF37B676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 1010FD77F32B1F7F525FC184 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 101553749FA5B3FAAE090CEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + 10B8B0E54FDF9713F642DD15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; 11262CA618824ECCC0A0C8A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 12048D5089B56D2E450935B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.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"; }; + 132F4C98D0B3BBD395EFEBF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; 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"; }; + 144F75ED82A4474C11A3D2E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; 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"; }; @@ -114,27 +132,35 @@ 164F70E2E821DAB11E9CF8A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; 165DCE208FB600EFD1D43397 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; 1689FD3E472FFEE920E276CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 16957B951953C332751AE07C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 16A74CB1F6FA181515A39A4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; 170C3DD431559BB66E4A8936 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 17385E08CF13E8A648C449E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; 175C70C20B5074616F3FC422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + 175FF8F74000A6143EB009B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 179F013F410ABCEB7D90C596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 17CBC430274E9E3AFB522A3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; 17D1AE835BB6F69441F039C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 17F88B6945BC396BBE2196A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; 18088B30C1C100B2A5FF25D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; }; 1893FA4609AAF5DD33145B9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; 18B177F15EE47BE1AC851939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; + 18BC7C0BAD0A7E1B16B9B866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; 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"; }; + 19F3ECBA31C84A82EBC689A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.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"; }; 1A6F4CAD8CDBB0B0F3042460 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; 1AC8746F44493CB2A10988CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 1AD4C1F6D1E6ED83EB5DBBDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 1B05AEE049AC25AD321EA2BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 1B0BC2531E700CB7B80EBA0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B21873B9F81046B23619738 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; 1B300283FD8DEEF9DEC40BD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + 1B53364284CBC92E27295913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; 1B651D7940B2A18230B010CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; 1B9757C441E3CC598DC724EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; 1BDC19DCD409213D9F7517CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -154,6 +180,8 @@ 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"; }; + 1E7182C9B2AD1C849B25A723 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; 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"; }; @@ -163,34 +191,44 @@ 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"; }; + 211118FAF846DE2851DFF1E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; 212FFEC2F3F546181AE14D9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 218135DD70843A03773FCAB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; 223B261692F3A7B8EBE0698A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 226E91C793AA30C6BB14FF95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + 227EC4F5703BD5825F74F952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 22AC9F47245739AE2472102E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + 22BD4FA140C1697A93C22BE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 22E2EF7FE8A98E380815B772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; 22F268841B521ED17CB4AD12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; 2312625A1CD29ED1D2A0BE51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 2319FD854AEDE5DA7A1EE44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 232FED0EE7C9C479477BA3E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; 2339D4A97BF9E2653F8D3F61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; + 2344AD2148F089495B4309A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; + 23FC2D5BC68943F5C87C3147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; 249AA00B4BC41EF753A0CDAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; 24A323A660A20DCBF3770931 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 24AEC14403AB6EF9014C30AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; 24F2138E76577957B7EBE036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; + 253F4D5B545AA3A9FDC00837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; 256073A521B6C37C224E2187 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 25D21EBF354AA051D31844A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; 25D69ED7309518ADBDBBE198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26321A27EA41FCC3153C6EEE = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; 263E3E0A442EF6EB3805B9A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osc.h"; path = "../../../../modules/juce_osc/juce_osc.h"; sourceTree = "SOURCE_ROOT"; }; 266A4835116E96CAE8C0C2F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + 266BF647229E7AFE106068A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; 26C5F885CAB646DAD5ED7D69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; 27336149BE1D29412DC73E12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; 27BF90280023BA08E1278AAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; 27EDF665F88CD3C5B137992A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 291605D143708CDD8FB77C6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; 29255870A697551C8FA98D7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; + 29589E6D348361659DBFB01E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; 29DBE389E1B355F875D78678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 2AA7FF1FB0D464A4E7B93360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; 2AE92F43F180A63B166DE38D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -198,13 +236,16 @@ 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"; }; + 2C851B592F7C6962491C78D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + 2D0AFCE6CA206FF2990C2DED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; 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"; }; + 2D320EAC3B8AC56EC9D0315D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; 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"; }; @@ -216,10 +257,15 @@ 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"; }; + 30958C0CBFB821F48A995104 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; + 30B5DAA1777E91FCE881E9D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; 3197ECA158ADC679CEC7C1FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; 31C855440BB6B27F62C5C387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32026CE86F59CE84DA0E15D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; 329E82CA3BCB5AE3EC94E0E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 32AC9478ACC01263E3682FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; 32B9239DB65A4155D9359AEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 32D16F1F867D6DBB5A5FC74B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; 32DBF7163B9A4AA8DC431601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 334948AD783C8AF3F2F79EC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 33F4C0A2E2BE66B11B2F3543 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -229,7 +275,11 @@ 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"; }; + 35F694705D841585409B9B7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; + 361FC963F23CB1C695A109A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; 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"; }; 36C332EE21CA0C2C9082724A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 3743ABD992FD0399280ACC84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -240,36 +290,48 @@ 38642A87B7D1C6F79FEDE9A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 38D85778B73A6C360924C4F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; 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"; }; + 39FEA965561F0BD8A4925FD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; + 3A3C6B76FCA259D65ABC0D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; 3AC4EF5519352B9718374AA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; 3ACD7E6C445B61480DD28999 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 3ADC33A4BB2FC6D0912DFA84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 3B75732836FDBC325648BD15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 3BD3A16A0E68EC8A1FA8168F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; + 3BEFA61941E0B2DED40931CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; 3C1300FAA182D25C698628A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 3C40C365FAB7497575E2D5A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C761B297128292EE396BCCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C9E6C5E6EDB9E845A605510 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; 3CA476FE75A94874E8E11CFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3D235BA90C56998D10559826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; 3D430654C1A8100D8456BCD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; 3D5FCD43EF70370CF65E0D83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DAAB5EAE4D64D5B3E834AE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 3E1AE20954C34AA9F036B5AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E66160B5CD6D5A22B61AEC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 3E8E28F4F11176F2871880CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3EA50C79893C6301FD5BEDD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; 3EA76B3A32FAB33AC24694B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3EB0A4B7C24977250121F411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 3EF24EFFE77D709A08F7B95B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; 3F04D121026029F52DA204ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; 3F275F94A58B457F4BECFA54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; 3F3C9B9B2ED3BA29B29B3E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F4E31764D0462593ADC3496 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F539C3943F3BB30EAED8F74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 400ED217BA684FC25C915E10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; 4013800D32C2018D9BE4F319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + 4050EBF6180549BAE4B88565 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; 4090D3F4822C0FEE21DEB675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + 40C3653905838301A4888573 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 40E38B30897D69B7967187E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; 4108131AC1B21E2CD413850F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 4161F12A1FD93F9DE57905EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; 41AC8843343204ADB93DA531 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -287,18 +349,24 @@ 442D9B72ECE154D5D4E7C72F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; 4449C89CEFC61424356435C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 444BF4B8E503C41F0E2C6BC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 44A91F7F090A1D354D969735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; + 44DE2D310EAA7A0DC892A7B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 45B1B1E60901C55FB03D9883 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; 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"; }; 45EC230E69B0801C93615256 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; 45F0BC9FD5A2D8A50C09E463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 46175DD8DD8511DA50CEA9A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 462D423963B1B96FA13F4CCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 46609082F0807F204974298F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; 467159B092B7DAEFBC31355F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 467A0E7286B0E659B55D27D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; + 468E58C1BE4D791EAD91CF0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; 469372BCD2E4A19BA918C8B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; 47B5F10C7E724663B4B880EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; 47D3A79943D449E43F412A21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -310,14 +378,17 @@ 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"; }; + 4BF5A04B6C3BD1E88FBF928C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; 4C1A0683157E41566FE6D598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 4CCA401E721AB63A54743B7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; + 4CCD598AEFA75FFDBC948C09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; 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"; }; @@ -325,6 +396,7 @@ 4DDB3989D75079AA8FF15062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DF5037765A9178E337D7FC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DF644D1E654E291CE601B51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E59816EBFE06FDC3B0D5960 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; 4E8364A84D361DDAACEFA0B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 4E841B8918329CBB21300408 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 4EC63ADD493CDD4E68CEFB35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -344,6 +416,7 @@ 521EE6D475BD296FBD490047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 5272A8388DC70C91202CAA0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; 528F3ECFFAEC8B9E3A4C7AEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + 52B2A378FAC9702E6D1FE0CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; 52C5FA12E963B920CA9928B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; 52D1F051E3E5621523336ED9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 5380CC43E60C4A196EAC47B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; @@ -355,6 +428,8 @@ 55295170729634D819EBE035 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 55538300E62FDE690DA8D106 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 561FE318335738D4B9354BB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 563591F94DEDD8F978C22A92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; + 56A63B0AFBC0CF5341091CF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; 56AE9A2DF810FBD48B3BA9C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 56C6120DD85B76D6110E2D58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 56C82FF4728693D04AAA38BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -365,6 +440,7 @@ 577657AAAA317267A5720420 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; 57A5F6CB3C8DAED67B3420BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 57E9A871D4F8D8877C4DB69E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 586D5C43D349E572458540EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; 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"; }; @@ -374,34 +450,40 @@ 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"; }; + 5BA6EBCFF694F6F34F6ACF50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; 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"; }; 5DD304453634D0A35498AAF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; 5DDB34F1460752BDB8E858BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E550C0743F7F482378D1111 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 5E7589175DFAB43AB7C93480 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; 5E8C21AC2A1B8B0B58C37955 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; 5EB5E1732F1A80BFF198A65A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5EF6B81B155E397E7E8B1179 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; 5F1CF8AAF8520839ED694288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5FD571BBD429FB59940F87F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.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"; }; + 60070EFADE2E98AB9413D5A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; 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"; }; 60EA11D2A640CA7106736CC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 61125CE096D3BDAF3E2A3A93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 6118ECDDD7A0C59435DED65D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + 613E90AC8C4E0953DB8C1509 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; + 614778883F672DC6525BAEC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; 621FFF1AFD85D8EC07BABC0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; 627744948C009090770BCDA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 62AD0E7AE00BC3716E4DB639 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 62F3AE2465F8D316C816D12F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; 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"; }; + 63CF54631460F1BF4EA5A49A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; 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"; }; 642F22B0ADEBA8CC1654EE2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -409,32 +491,38 @@ 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"; }; + 65CE22D2F846C6661B3671D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.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"; }; + 667E67FA726D09B6EEF6872C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; 66B766743EF3D786F82DF6D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 670A85A6ED2DE16E9C7604E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 692BB40AA8FB830B2B937142 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 6947BEBDD8CAF2EE9369A4AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; 6963B4F5E804A6D8CFAF00DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; 6973C70B3664F6D63CD86D75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; 6979C786438B387A708F998C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; 69967F6CD19884EDCCDAED59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 69FDD439374E74C6FD65DD89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + 6A6A0C8CACC5C5EE6C95D2DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; 6A9B2C2EBCB45F4BA1D54D4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; 6AA0A63D8CC3AA8384660C5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + 6AEAF0CEE13E8AFFC31D4217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; 6AF346DF4F9CB8D62772936D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; 6B92A087BFDDCBDCCDBA2D48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6B9459BE4EC5314FCBE0F353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; 6C0E8DD390ACCB54294FE33A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 6C1B267748E5D4219642BF12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; 6C1EF9323884AD8EA79597C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6C2EBCA5789F27C58CBB5C96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; 6C3A809E35B50ED0F74CC7EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 6C4247B39550441A1914323B = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; 6C5DD8C8B5597727678B2087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -453,10 +541,13 @@ 6E5DECD2B9E5106FF6842D08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6E81208884A2AC83F8B7272F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; 6F0F3AF804B7AD6F8D53C13E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; + 6F9F02E8D3ED4CF57E6B40A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; 6FC2F17D4E5D123C97F09F07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 702BA72BF7AEE824B2DEAEA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 702DD6473F829AF063982E74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCTypes.h"; path = "../../../../modules/juce_osc/osc/juce_OSCTypes.h"; sourceTree = "SOURCE_ROOT"; }; 704B3C1731A15F6B592C00D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; + 7052CB1D34DB6C13E71E09C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; + 706B748C8B4C463D879B33B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; 70805F194C6C47E9AAA4DFA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 70CD9F04B8C4E8585A47B7A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; 712386EF4AED19DBB31455CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -464,11 +555,18 @@ 718F9D6323697CA7C31F5771 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; 71BAA1581CEA26400FC2CCC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 71F10F7540A0B99E957BF101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 722DA98FB2E14CA92069A241 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; 724C59399A89D9490419D7E7 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 7291651C0212AF56065E0EDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; 7299A9386CE1DD8C41EAD3CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 72B77FE4573B3325B4AB7946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; + 72E848AD8036913686DF660F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.cpp"; sourceTree = "SOURCE_ROOT"; }; + 731EE1300B0CE1DBEC923A84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; 739D70DB4A75270A6A803A70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + 73DC78AA54A2CD800AB922BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; 74DF1E83B08CAB5A9A5E5946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 75235FDF5790F4BF3F296868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 75C2F87B5CFD7BC4EBFB2B63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 761DA9C529B9B5ECDAFA1C8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 7634CF6E1DD0CF377710C1CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCBundle.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.cpp"; sourceTree = "SOURCE_ROOT"; }; 7658E33B283A581C99AAA1F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -480,6 +578,7 @@ 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"; }; + 7827A32DCF19A27ABD2EDD33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; 78528FE6D711A3BBB927573B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; 78696C016F20378383635650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 78846FAD89A8024C2DF4A5B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; @@ -487,24 +586,27 @@ 79E82330B4E03EDBAE7B02FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; 79F4B049934ABF6CE6469758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A235136312261192A71D54C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; + 7A338E34E563DCC1379EFD57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 7B23E0278A25C8DF27ADB61A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; 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"; }; 7BA009163B2817D60F384F5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + 7BA271616FE0E049096B31E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; 7C767BC60EE873BE781EF70D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; 7CBC0ADE30B477391523C87E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7D43E7AB05E009032C9BF587 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 7F06AF9DADA9FA01C5BE542D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; 7F527095A51540B79804CD7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 7F6D98AC02F8582F8923A6EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7F97E4F4E4BF1A3D66A3B6AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; @@ -513,13 +615,19 @@ 7FD3E666F28FF5A576C059D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; 802996F9D73F9E19BF068262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 805234B5BD52EADB4DA09003 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 80B396ED924AB18941F4ADEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; 80D06819AAD5DADEFA49E368 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + 813945A0794FBB3FBE4824AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 817B9BC77E6E3495972E2721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 82057BD5EBB1693F8F8F1CEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; 821CE9C4168E49691D94BE45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 82B74AD40D18503D344474D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; 82CE66C8B4C6DFBAF7002C41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 83019926121E8B7CBE8E8B60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; 832DBFE365FF4401502B3ED8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 8333C2E5ACCEAE9AD2E7F62E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; 834AB64202425C94AF06AFA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + 8388C6BAC9D75DF8B1A364EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; 838EA06BAB84B579A76AFBDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; 83C608D4305CEFA8843EAC44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; 83CBCCA7C4D52E55789D037D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -527,8 +635,10 @@ 847F89B5558F79D1C9136E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; 84AEE4F8A28635C15D906000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; 8507750652A865CBA6B95F4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + 85546B8B4BE4666E41514466 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; 85AF243A59C3D9275CEB0378 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; 85B22C8F806360EC8B2324F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 860A2FA57D14E62CC263C17B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 8636533D7813465385050185 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 8653A0233F520EA2BFD80046 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 86552B262FC4D6D47158B076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -536,21 +646,30 @@ 86EEA574B70AF42545893527 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 8789C8F56E07011AA9C17018 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; 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; }; + 890571EFAD0682E495B478D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; 897EBF1E16066819F60D126A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 899BA221B227C1BD5378A636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; 89B9CE5944BD211319BB72E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 89D550B5461CA34FA952AE89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A32D700A2598D18918CF450 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + 8AAA7DE49F0FC71E3F1F990A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; 8AC99C5AA7B0B07459E2D44E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8B131E67E4F15B8A0456FD18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; 8B23D1D8F1C991C53758D6A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; 8B370086932633E444EF17C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 8B70006FA24F4AB5FDA19629 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8B71A1BBFCDE56CA2948235B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + 8B7295FDEDA5EB5E131E00AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; + 8B7F2767361231E5DB26F934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; 8BAA9A5EB8A4E29191005B69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 8BF8C9D23F4B9731216E745D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C1D74B6E452037701E3B1A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -567,6 +686,8 @@ 8DB2A9C4AFFD78F692A72A33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 8DB6B031A36AAA1339D8F334 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 8E25FE6229A0B21AF784D198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + 8E464BB480C062B9844D38AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 8E55188A40DD22F3505D6EA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; 8E861422F29DA820ED7F3945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; 8EF1D9DC7431D93543EAB32C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 8F42FFF548336F1D49D1751D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -576,33 +697,47 @@ 8FF22BA611B0716A31094AB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 902CA738F4833633FA3B9DC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; 908251F9681073304D768A70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + 90881A097A3963DDD23ECB3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; 90BF13AA1F1AA780E2C68EBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 90FD02383541F8D93C4EF093 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 9126915353EE9DA8FB3044D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; + 917DC4BDF97DD5708B1C24F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 91D40C7B4DEEB7251ED4DDD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; 91EE10112886057DB9A28D2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCTimeTag.h"; path = "../../../../modules/juce_osc/osc/juce_OSCTimeTag.h"; sourceTree = "SOURCE_ROOT"; }; 9211518D85B0A6E047E1D69E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + 9261B5A3EA7EE78CC2587C97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; 929AAC6BA3EE488D258EDD82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; 92BF599DA326087F0C148FCD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 9317D08358E3C29D04BA18C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; 93186C1F1BDEA9DF5F1FA87C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + 9324FF93E339558DF9386530 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; 939A0EA1F257371A763028B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 940E81BE4814812C59C95981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; 943E32EC90312A13809CBE1E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; 9444E056A9A5E4FD10664BA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; 94706AE83DC007EF8E7DC00F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; 94BE548F69E9D384EAD5CA98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; + 94CEE08437F31C084FC46221 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 95601282CC53D624D74000BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; 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"; }; + 967B141FE6704F4345DD1623 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; 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"; }; + 970B9F146EFAC01EC8250225 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; + 9763D2505829DFB589AD2D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; 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"; }; + 98401ECFE02E47EE31B5D672 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; 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"; }; + 98A34F65A84F6F75A2AF984C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; 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"; }; + 9933039986F65F32C7091C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; 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"; }; @@ -612,7 +747,11 @@ 9AE7965BD2EBA345DAA07E25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; 9AF021C7C1903B0CA58931F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; 9B193E0AB956EEF9BB78BFDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 9B31515A9A40AFA8299BCBDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9B6D2B8510252B16AB87E475 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; + 9BA006CD3924A5E2596FFA45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 9BB586E269D50D4CE1B98DB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9BD3027949EB92B22DE95918 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; 9BDEEDEB30805D700581397C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; 9BE18ECE67A4225EA024ECAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9C0377F1B1457E27B3B712CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -622,6 +761,7 @@ 9CA8D3775F4482E63D79918C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CA97E0C94F1ADAB09C98C5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; 9CB3E10539EEED748DB3C7BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; + 9CDBAA8791C9A854ABC57746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; 9CE5EC31F66339C217049ABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; 9D8E9752A5C153E08024FC13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 9DA832698B55D8F0ED3B959D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -630,6 +770,7 @@ 9E661C5ED9566B737F4DE6EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCArgument.h"; path = "../../../../modules/juce_osc/osc/juce_OSCArgument.h"; sourceTree = "SOURCE_ROOT"; }; 9E718CB2C9FAEEEE1B1C5B07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 9E90724F45380929532DB25B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9EDF3FE6EE49B59D4382734A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; 9EE2C6C971AE76CB5573AA98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 9F1070785921A815CD8DA14D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F632EA6F5EA390C46075248 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; @@ -640,20 +781,30 @@ 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"; }; + A064DB36CF3F538FD80AE289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; 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"; }; + A0B87D3903F1A22089D541AF = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; 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"; }; A0CD01955005913A92EE427E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A1718388BA7DED6BA356D608 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; + A242AF12D9267506433B42D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; + A24C79CA12E0492FDB4DD885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; A2989A2A41C59268D97EC910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; + A2CF4D8E9FD6484FDCF87F29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; 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"; }; + A37687DAE6C312312674A71F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.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"; }; A4575A17E9772B600827A600 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; + A4B4FF59100DF7D453327602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; A4BEB89430315A384B09C4F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + A512A15EF0335C8C8574EC32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; + A5683E6B976377B8B6FC36CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; A594184A80BC0A22C94E2C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; A5AEC6772F3634B8FA17CCE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; A5E528975CEDA4C62FBD7EF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; @@ -661,27 +812,37 @@ A61B6CC0519B2B6A3927B0F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; A629FBDFC0C84F9C667D9170 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; A66CDC01DDA634EC52387A9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + A77706F1E05A983E748E07AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; A7B4FBA164C49941A0C44524 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A8F48306D834168587AD429C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; 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"; }; + A958E644DE8A9949D8594772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; 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"; }; AA6A4A547AC324D358EA8F0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA912A4E9A4486E2B3B6B7F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; AA9904FE1B1735455A3DA986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; AA9AB2C93D9A7875B2D082E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; AB374F1F77E379CA761495F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCMessage.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB62DB86267C5609F51C5464 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; ABA483F71FF6E7B4CC8AF22E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; ABCA61BC987590C3899EC412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AC1D689111ED9AAA1F237725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; AC6C0541D84539578CD41683 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; ACE47FBC8BA954531F30B7E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + AD3390E5060FADCAC11F68B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; + AD4CF4796566AFD03820DE23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; AD61AA97BEAA9C7C8F7E575D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + AD92223DE5C73762B9A63C03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; ADD141B902E704C94F8B3B20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; ADFA9CAF4004ABAE0AD3E303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; AE417DE47A8CCEB06C95F67F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; AE5445BC3DE960A29D3A326A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE987067F329979CCDA10174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; AEAA1C7503CC0B79128A26A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; AEEE2D47C9004E2CB03099EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; AEF3066DCBEC6A038833B8EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -691,9 +852,11 @@ B03225051683D8CEB15FD6B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; B07FDCAAE27B8F1071624755 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; B08BCBEBE861F2E50007F8A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + B0962E1ADC58BCA109B400C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; 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"; }; + B1181D8A6E97556E4057484C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; 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"; }; @@ -704,12 +867,20 @@ B2C44BD9DC0BC43833291C31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; B2D5CEEECCBDA18218663DDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; B30CA62D733E4CA9F8ECD659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B3118554A2384FB516063EC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; B3418720FCA262A1CD1908BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + B357B177C0085D196D42B4D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; + B3E9B2D7490237AB60C551D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; + B402FD0B64873C5A6E253D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + B54532A1AE5778685543FC33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; 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"; }; + B59D8314EF03AB1A849245DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; 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"; }; B65E16BFB96D7D8CB34BB3EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; B6875E27BB7D6368546103F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; B694F3B120FE3A72D2BF95DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -720,6 +891,7 @@ B7C2B33067296268BC41BFA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCReceiver.h"; path = "../../../../modules/juce_osc/osc/juce_OSCReceiver.h"; sourceTree = "SOURCE_ROOT"; }; B7EDE5E99C9546634D789AF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; B7EEE94FF7D01308A5C0C919 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + B8373530702DE647A882D6D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; B83962292A82CC209B4E28B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; B85116C34AC3CB6A0305ACBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; B87279BB08766512ECF1C31A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; @@ -732,6 +904,7 @@ BA7A76CCDA7706963A2F9498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; BA8F0B37324B871503539522 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; BA9A887B9D1420D1ADDBCECD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + BACF25B2B42E4A9BFA389169 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; BB1708C7F87CD08A0E5C7B33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; BB4595EAD7AAD26DEA947502 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; BB532258A959D6085D63B2BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -747,17 +920,26 @@ 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"; }; + BF1BDBA3FD4E2478B57F1E4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; + C0795A634E0585855497E132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; 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"; }; + C0F1CF9B05B9949C7910BD30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; 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"; }; + C24256EB8281E8F356D79EC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; + C25D672C692C13214DC461A1 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; + C26380F33726B910873B9444 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; 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"; }; + C2B3E4C8477171C2F60B67F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; 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"; }; + C41D2D4CABD6A6C79A5475D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; 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"; }; C42EBB793E610DC9666D218C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCTypes.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCTypes.cpp"; sourceTree = "SOURCE_ROOT"; }; C431C4B65FFD4CE6140020E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; @@ -769,24 +951,36 @@ C62AE50F5295DAAE4DF52814 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; C66AE85EED85DF1401157F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C6713D70BC7A48BB64D087B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + C6AD2C78C55572980022A67D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; + C6AE777522CFACEC53A2AC97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; C6C15C3582C0AD078804ACB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C6D76936280293045F53A330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; C6EE4905A85C0298D4118585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; C703A87721102B3D4A951647 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; C709E5066F98B420FE3C3DBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C77C7EDB04371794B1920C06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; C7F7761D7EDF1C9437CD3EFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; C81029DFF074D690E7FB8D45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + C81F95096E2CC10E90E897FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; C821676ADB1114EBF545AB99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCTimeTag.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp"; sourceTree = "SOURCE_ROOT"; }; + C89EDBFFE32AF7907F94A017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; C8A58DA57048F9AC3C450112 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; C91F9DCA97F600ABCBAE6D7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; C978ECD3E0C26210796FD720 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; + C9B81A6F6E57AD92989EFC4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; C9ED67E997392BCA5187A6FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; C9F989742EA146EC8F7ADF06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + CA7B71AD82083E09D2BA95C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; + CA7D645103D443CC7DF6FEEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; CB470B028573245FBE005313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; CB4B82E084836530BC5C8E3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + CB8D9DB587C5E77C369A5AF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; CBBAAD56C7A8E5E4A089731E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; CBFFF4CA18A5FB6684BBFE1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; CC61DA3AE156924861E9FD7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; CCDE12A0ED5F595995B6E251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + CCEC530A31036018600AB4E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; + CD04FE4D823003834CE2BF32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; CD3B8BA8B63B711DFF484BB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; CD5DC582467328A560C21201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; CD66E549F25814B7ADCBDB29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -796,9 +990,11 @@ CE015BBF7DDBF902EE0BB037 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; CE9E18CC3DD526FFB49C7C2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; CEDE2EC556888033393A6DFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CEF845F0D72A3C4946EC311A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; CF25F9F3C0B9F289DEF2482B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; CF3C4CFE6039FB3057B27C6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CF976AA0959CE47A261345BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + CFE4715BA33711DA27826694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; CFEFEC74444928A999C3AC2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; D024257A226A8285D314258E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; D0A770B75FEA9B2F4C26B791 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; @@ -806,17 +1002,22 @@ D0C258A46B09A01C0783CDE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; D0F6CC51712BFFFD9294E0D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; D1F4C2D3DE449A5FBC521103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + D201F8496B63070DC7829B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + D5A6844CB4FE911E71CEC6EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; 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"; }; D6BC20082FD7712E3C8F84F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + D72E8531FE37273574FE95EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; D76F7038A4C53439F7D5A9C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + D7B9278B3E67FC0ECD8F4AFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; D7C17D95CFFB7D19BC91CDB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; D805DC088DDCE6CF336074A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; D835E304C64C3C8EBC3A3115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -826,10 +1027,19 @@ D8CFDE2AF9C97CD2DB63019C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; D91B56F8E3541AC55DC92710 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; D92660F5C732CA1569721441 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + D95B4C2D959D2EE152B2C695 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; + D9C5CF01E43A407D56BF2650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; + D9D65DCD29E0A673D5C67258 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + DA4651CDE7FB847C9E43FD29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; DA9EA6821F0C8D8B0A49C419 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + DAB342CD5EE0D89FE395143E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; + DB2D8A553645B09A93A42148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; DB4D763F2417D65B4B714CF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; DB6C5631073F72F42B1D8482 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; DB99F33F70011679062076D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + DC969F9F438E655C237FD445 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; + DD12240A3005AF72D621A4AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; + DD2E5CC6A7131C88858386C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; DD424F8EA63B33E90F19A137 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; DDE417C268A7F07384AE598C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; DDF58F993D5C3FDC1BCC3F2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; @@ -843,11 +1053,17 @@ E0A4254ED08A431980C43E82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; E0E9FBBDCBE859621BEBB793 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; E0FC1AC7FBDE7DC227224506 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + E111B2BC28477BB8C21F80DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; + E114E0F3C1A0BD629B70CF3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; E11E12956051DEE747D056DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + E180AD0ED68E29365D2D7139 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; + E21F9516E6D65F2A55DAFD69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; + E22102B0C748A5C31D65856B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; E2A8B3B4F1A612440F0EE923 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; E2AD56E977F28B024A8CD5D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; E2D35298383D5664DEC8FEA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; E2D720524D43512CDDC66EC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + E2F7426AF9CB2C2B0E633E5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; E3100CBACD6F8F1443D0CA6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCArgument.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCArgument.cpp"; sourceTree = "SOURCE_ROOT"; }; E358F540B316FC5C7907FEC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; E36F4E6658950E867ECF189B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -858,35 +1074,49 @@ E45C222FAA9FDD6B77F0B908 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E4B7DF9375DB4CD8EF7FE1FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; E4CD12ECF2F6F0E82D279AB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + E4E8FAF08109D735C7308F33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E5A768DA4BD733061E408CF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; + E6367953A6AD869EDD805326 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.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"; }; + E69CC3CFB1F43459657A8BF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; 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"; }; + E7C00B7E427D75486B5767E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; 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"; }; E86BD94114E2428144CF8BEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; E8A9654C170BE152F2A57F32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E939825CA0EEBC815F70F33E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; E94B0560F5F44074C0FBBE77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + E94FC9152F9FDC19726D5BEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; E96F7A0D984A6658550AA6B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; E99CA588DFBC5CB04207ABB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9EAFE84310678D31AA8C764 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; E9EFD82EE1849472D04DD63A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; E9FC87E2E04739D5E08F3FA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA1428C3EAB4C10707608BAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; EA48B223B5A836773014E33A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; EA563A53C0F074DAC5F64F3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; + EA57AA6E8F76325884F2AB61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; }; EA60159CC041A13921194558 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA9C1C68A0577480974E3FF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; EAD0D749404AC9F2F1355016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; EB5B64960B581F8E9CCE293C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; EB7702F51FACD00F9B4D2052 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; EBBDAF9C0412A88B5C3BA813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; + EBC187C6D1EF9D53D2657287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; + EBC33C029F0C9F2FF33D998A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; EC1F4760AA4F4543060C094C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; EC67081B5745049B6BF7CBB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; ECEEAC8BDD56B722EAAAB855 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; ED0BDABE9414F6DD57F802D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EDBCE7672BCE3F91FDD163F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; + EDC87A3CCCE8E97AA9AB9F67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; EDCE26E2062112148F61A6A2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; EDD12DE23FB78F1A6DA4B838 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; EE59138563FAA3589C79DD12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -897,39 +1127,41 @@ EEABF9C7265E9B1B6767B2A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; EED6252B8E88159841FFAB1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; EF6E0AA7622256AD0A0F2DDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF8D50867BCC011A28EC4BEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + EFB2B860FA73940D27E0AF32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; 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"; }; + F0D5CF2DBE8C17118CCCA1D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; F0D76BB6A6F9EE5F9565E20B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; F11F664F3D0B5D9FB18EDB6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; F1278DE3527B766223893149 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F127F94CCCB66682AC4CDD8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; + F17D1EEF8CC0D8F58389E014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; F1BEB0C8CB28B028C3729F74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; F1DCD074D9033094C2B0B910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; F1E74B467C2D75E4541B0089 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; F1E832E47844E00EA3890C14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F2023C92F5870FE247F4183E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; F24615BD7E4A3AFAA3C0D03A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + F250C27D51A62BDDE1793723 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; + F25D558073C42ABA8960C497 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; F26EB94EAB1ECD64FF9DC3B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; F2C4A8100F656DA3F9CDBE53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; F3395E2EECDF18160E8AD7AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; F34BC9586F9E5C03B50E54FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.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"; }; - F424523A813298D45AF5609F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; 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"; }; - F9A232538E8082942E3BE8EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; 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"; }; - 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"; }; 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"; }; F4EB797898FBCE771679190A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; F59581D8631D6A684736D6FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + F5D08B3F42677B34F472A33D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; }; F602B7C59298D4C2E97F1B8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; F61D480253AF8F68D427401D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; F6225C8B7CC1B813ED258485 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -937,19 +1169,30 @@ 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"; }; + F6F2AA3143D55BCBDE6AEBA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; + F6FF97FCCC216F4172FAA3AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.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"; }; - F7B3F2B1489E2F4785C3EB70 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; 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"; }; 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"; }; + F89F91E244BCF63874862C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; + F9250AAE70781ADB682A4E86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + F926A323966BAD394D10D7D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; + F94442F8CA7883E82B4E7DEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; 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"; }; + FB5F6DB2856FF8896A9BEDC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; 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"; }; @@ -960,8 +1203,11 @@ FC96894322C5B0C1A2BEEC18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; FCCE4BBC18DBC962ADC2E1D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; FD1C3FBD64077AEF13E25E14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FD49433F04EF497BA256E5A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; FD54E26E14C7799FB267E30F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; FD6C7EC1A46DC3607515BD19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE15A065F5971DDA77EA8692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; + FE6DDDA4D869791B45A1D7AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; FE73287049CAD4511D3B2E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; FEA35615DC3863B868C521FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; FF12EDEC6BDB2316EADD020D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -977,13 +1223,15 @@ FF808EBE29B18293E3FD55CC, ); name = Source; sourceTree = ""; }; 1C8FA7F39C7073AF87993BFB = {isa = PBXGroup; children = ( 89A7E3ABB1B5A12BE261B889, ); name = OSCMonitor; sourceTree = ""; }; - 0C184A05155AE45D9C2AE3BB = {isa = PBXGroup; children = ( + A9C2B78C482A46837A454782 = {isa = PBXGroup; children = ( EC1F4760AA4F4543060C094C, 9F632EA6F5EA390C46075248, 74DF1E83B08CAB5A9A5E5946, A978950359CE60EE16EDD405, 226E91C793AA30C6BB14FF95, ); name = buffers; sourceTree = ""; }; - F988745648DDB89DF57F7B27 = {isa = PBXGroup; children = ( + 4B188C572A40EE3FCEE1E873 = {isa = PBXGroup; children = ( + CFE4715BA33711DA27826694, + B5E07F627720E85BD6EB9C86, A2E5BFBBD60FA9648AC987BD, 6963B4F5E804A6D8CFAF00DD, 98FDCF7E5366C838F4A7748D, @@ -993,7 +1241,7 @@ 68A4E22DDB4CED69F96A6259, AFD33986A79364C71F527BEC, 232FED0EE7C9C479477BA3E0, ); name = effects; sourceTree = ""; }; - 0DF4F1AA4A1F208A6BD248C6 = {isa = PBXGroup; children = ( + C42EAB280224E8082FFA3E3C = {isa = PBXGroup; children = ( 4AB8AA9C00AABD642EB89226, 4B153C1FBEAC8C5E5511C0E2, 4DF5037765A9178E337D7FC9, @@ -1006,7 +1254,7 @@ EA563A53C0F074DAC5F64F3E, DFC5E42390AE2D4E416B43F6, 66B766743EF3D786F82DF6D5, ); name = midi; sourceTree = ""; }; - EEC31DD5BC0144A1929F8DCE = {isa = PBXGroup; children = ( + 50F1E2E9AF53C3B8BF594808 = {isa = PBXGroup; children = ( DF2724BB83DA60B2CA70A95F, 528F3ECFFAEC8B9E3A4C7AEA, 56E21AC789A448DF15DA219E, @@ -1042,19 +1290,25 @@ 1E4426BD77F191D9FBE4FBDF, 467159B092B7DAEFBC31355F, 3DAAB5EAE4D64D5B3E834AE3, ); name = sources; sourceTree = ""; }; - CA483CF50DDC0B6B3029BDA4 = {isa = PBXGroup; children = ( + 2E2FC9119D5B496D2D6E0D18 = {isa = PBXGroup; children = ( 518AC8A0B6AD2E9569CC653B, CBFFF4CA18A5FB6684BBFE1C, ); name = synthesisers; sourceTree = ""; }; 02E8AEA25C47897EDD8B9B19 = {isa = PBXGroup; children = ( - 0C184A05155AE45D9C2AE3BB, - F988745648DDB89DF57F7B27, - 0DF4F1AA4A1F208A6BD248C6, - EEC31DD5BC0144A1929F8DCE, + A9C2B78C482A46837A454782, + 4B188C572A40EE3FCEE1E873, + C42EAB280224E8082FFA3E3C, + 50F1E2E9AF53C3B8BF594808, BF272CF14F80BCFAD73C6A69, - CA483CF50DDC0B6B3029BDA4, - 68B582809A191485E9FD4D4C, + 2E2FC9119D5B496D2D6E0D18, + 3EB0A4B7C24977250121F411, + BC999BF11EAB7650B8287BCE, + 2FD05BF82591C31E51A38F00, BC999BF11EAB7650B8287BCE, ); name = "juce_audio_basics"; sourceTree = ""; }; - 03B180A17D427308EEC6696B = {isa = PBXGroup; children = ( + ECB49B52B776C2537352980F = {isa = PBXGroup; children = ( + 15FA0D0EEA50529921168B25, + F602B7C59298D4C2E97F1B8E, + 78846FAD89A8024C2DF4A5B6, ); name = "audio_cd"; sourceTree = ""; }; + EA9FC61FEDB3F0C3D18CF2EF = {isa = PBXGroup; children = ( B290C41D6E05CBBA547F1E66, A86BA293740A836D28E4227D, 637F50C2A71D1F082EF59D2B, @@ -1062,22 +1316,13 @@ 7D89CB30EB93482F4129DCB3, 65C6416A76A5AAC3CED238A7, 4F4C2EF98147FF8D605E6D96, ); name = "audio_io"; sourceTree = ""; }; - 1DAD20199A6085A2557A5F2E = {isa = PBXGroup; children = ( + 11CE5A9899AA873121314FFB = {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 = ( + 06C4DBFAF3461AAA400B66A3 = {isa = PBXGroup; children = ( 8653A0233F520EA2BFD80046, 42A0DA889B07E54F7705AE59, 881A06BE765B73B152D535C9, @@ -1097,31 +1342,169 @@ 50CF4C6188B65866FCB2F4BE, 78696C016F20378383635650, 47D3A79943D449E43F412A21, ); name = native; sourceTree = ""; }; + 342F2D753342291337E66D7C = {isa = PBXGroup; children = ( + F992CDC031E3207C1FA3D434, + 8779BA1B52DB30945634F123, + C91F9DCA97F600ABCBAE6D7F, + 0F811AEF01714D0718673F96, ); name = sources; sourceTree = ""; }; 63A93E1A6FD3FB74FE6DC5C7 = {isa = PBXGroup; children = ( - 03B180A17D427308EEC6696B, - 1DAD20199A6085A2557A5F2E, - F0EF1051D859662D5EA66ED1, - 7766FD569C6F360797B4985D, - DC66A5183DDABF2806F149DC, - 9949A38A5C0D1EC7B1E17714, + ECB49B52B776C2537352980F, + EA9FC61FEDB3F0C3D18CF2EF, + 11CE5A9899AA873121314FFB, + 06C4DBFAF3461AAA400B66A3, + 342F2D753342291337E66D7C, + 8388C6BAC9D75DF8B1A364EB, + 4DB71D5516FB189AAB65F5C3, + 773E3BE403111A26BBE44585, 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 = ( + 73B175546626BAB8858C21DF = {isa = PBXGroup; children = ( + 3EA50C79893C6301FD5BEDD9, + 4050EBF6180549BAE4B88565, + E180AD0ED68E29365D2D7139, + 16957B951953C332751AE07C, + 3BEFA61941E0B2DED40931CE, + 9CDBAA8791C9A854ABC57746, + 291605D143708CDD8FB77C6B, + 30B5DAA1777E91FCE881E9D1, + AE987067F329979CCDA10174, + 75C2F87B5CFD7BC4EBFB2B63, + B402FD0B64873C5A6E253D5C, + C0795A634E0585855497E132, + 8B71A1BBFCDE56CA2948235B, + 0A1063CF123E10AEFFA07AA1, + 731EE1300B0CE1DBEC923A84, + F250C27D51A62BDDE1793723, ); name = private; sourceTree = ""; }; + 1D136DC9E4675F725419FEB6 = {isa = PBXGroup; children = ( + A37687DAE6C312312674A71F, + F9250AAE70781ADB682A4E86, + EFB2B860FA73940D27E0AF32, ); name = protected; sourceTree = ""; }; + 02B01EEEF590535BC007F6FF = {isa = PBXGroup; children = ( + 73B175546626BAB8858C21DF, + 1D136DC9E4675F725419FEB6, ); name = include; sourceTree = ""; }; + 9752C245BBF919F358F4F4F4 = {isa = PBXGroup; children = ( + 02B01EEEF590535BC007F6FF, + 1B53364284CBC92E27295913, + C26380F33726B910873B9444, + A4B4FF59100DF7D453327602, + 8AAA7DE49F0FC71E3F1F990A, + 56A63B0AFBC0CF5341091CF7, + 266BF647229E7AFE106068A2, + 5E7589175DFAB43AB7C93480, + 4CCD598AEFA75FFDBC948C09, + 62F3AE2465F8D316C816D12F, + 9763D2505829DFB589AD2D12, + 46609082F0807F204974298F, + AD92223DE5C73762B9A63C03, + 90881A097A3963DDD23ECB3B, + 8789C8F56E07011AA9C17018, + F94442F8CA7883E82B4E7DEC, ); name = libFLAC; sourceTree = ""; }; + B5B22FC3EE06F67893099451 = {isa = PBXGroup; children = ( + 9752C245BBF919F358F4F4F4, + E21F9516E6D65F2A55DAFD69, + 17CBC430274E9E3AFB522A3E, + 468E58C1BE4D791EAD91CF0D, + F6FF97FCCC216F4172FAA3AA, + BACF25B2B42E4A9BFA389169, + EBC33C029F0C9F2FF33D998A, + 9EDF3FE6EE49B59D4382734A, + E9EAFE84310678D31AA8C764, + 9BD3027949EB92B22DE95918, + F0D5CF2DBE8C17118CCCA1D5, + 0D7B0F7C662A5A7888C6D7AF, + AA912A4E9A4486E2B3B6B7F0, + 917DC4BDF97DD5708B1C24F0, + 7291651C0212AF56065E0EDC, ); name = flac; sourceTree = ""; }; + 7CB242CD0344DBD7B7ABBB88 = {isa = PBXGroup; children = ( + 614778883F672DC6525BAEC3, + 9126915353EE9DA8FB3044D1, ); name = coupled; sourceTree = ""; }; + 9F9637A35175B0FBCB874469 = {isa = PBXGroup; children = ( + D72E8531FE37273574FE95EA, ); name = floor; sourceTree = ""; }; + FA8A9AB244C95D318CCF7315 = {isa = PBXGroup; children = ( + 132F4C98D0B3BBD395EFEBF1, ); name = uncoupled; sourceTree = ""; }; + FBA45B263CC9CACFAD53C80C = {isa = PBXGroup; children = ( + 7CB242CD0344DBD7B7ABBB88, + 9F9637A35175B0FBCB874469, + FA8A9AB244C95D318CCF7315, ); name = books; sourceTree = ""; }; + FF6E4F2480E65BC6A3E93EC1 = {isa = PBXGroup; children = ( + 05BECDDA18EEDCC6026046A3, + A8F48306D834168587AD429C, + B357B177C0085D196D42B4D6, + 72B77FE4573B3325B4AB7946, + D201F8496B63070DC7829B6F, + 6A6A0C8CACC5C5EE6C95D2DF, + CB8D9DB587C5E77C369A5AF9, + 890571EFAD0682E495B478D7, + 40C3653905838301A4888573, + 563591F94DEDD8F978C22A92, + 970B9F146EFAC01EC8250225, + DD2E5CC6A7131C88858386C6, + 218135DD70843A03773FCAB2, + 5EF6B81B155E397E7E8B1179, + 7827A32DCF19A27ABD2EDD33, + 19F3ECBA31C84A82EBC689A5, + 9324FF93E339558DF9386530, + 706B748C8B4C463D879B33B7, + AC1D689111ED9AAA1F237725, ); name = modes; sourceTree = ""; }; + 2046C32FE632194A2E4F194A = {isa = PBXGroup; children = ( + FBA45B263CC9CACFAD53C80C, + FF6E4F2480E65BC6A3E93EC1, + A1718388BA7DED6BA356D608, + 400ED217BA684FC25C915E10, + 60070EFADE2E98AB9413D5A4, + DD12240A3005AF72D621A4AA, + 5BA6EBCFF694F6F34F6ACF50, + A2CF4D8E9FD6484FDCF87F29, + 9261B5A3EA7EE78CC2587C97, + 32AC9478ACC01263E3682FD6, + 6947BEBDD8CAF2EE9369A4AA, + DC969F9F438E655C237FD445, + B3E9B2D7490237AB60C551D8, + 586D5C43D349E572458540EA, + 0A0816474865473EAFFE0270, + 32D16F1F867D6DBB5A5FC74B, + B3118554A2384FB516063EC2, + A064DB36CF3F538FD80AE289, + C81F95096E2CC10E90E897FF, + 967B141FE6704F4345DD1623, + E114E0F3C1A0BD629B70CF3E, + AD4CF4796566AFD03820DE23, + 722DA98FB2E14CA92069A241, + 23FC2D5BC68943F5C87C3147, + F926A323966BAD394D10D7D7, + 8B131E67E4F15B8A0456FD18, + 65CE22D2F846C6661B3671D3, + 12048D5089B56D2E450935B7, + C24256EB8281E8F356D79EC7, + 0E92572D643B4190D3BC36E8, + 44DE2D310EAA7A0DC892A7B6, + D7B9278B3E67FC0ECD8F4AFF, + C9B81A6F6E57AD92989EFC4D, + B54532A1AE5778685543FC33, + A958E644DE8A9949D8594772, + B8373530702DE647A882D6D0, + 7052CB1D34DB6C13E71E09C5, + A242AF12D9267506433B42D5, + 73DC78AA54A2CD800AB922BB, + 8B7F2767361231E5DB26F934, + 144F75ED82A4474C11A3D2E9, + EBC187C6D1EF9D53D2657287, + 2344AD2148F089495B4309A7, ); name = lib; sourceTree = ""; }; + 704347620D47A39F78D8E306 = {isa = PBXGroup; children = ( + 2046C32FE632194A2E4F194A, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + C1ECF06DE1CCCF9B48048C76 = {isa = PBXGroup; children = ( + 704347620D47A39F78D8E306, + 2C851B592F7C6962491C78D3, + 613E90AC8C4E0953DB8C1509, + F17D1EEF8CC0D8F58389E014, + 30958C0CBFB821F48A995104, + A0B87D3903F1A22089D541AF, + 8E55188A40DD22F3505D6EA3, + 52B2A378FAC9702E6D1FE0CF, + FE15A065F5971DDA77EA8692, + 077D14BDF440711227A88652, ); name = oggvorbis; sourceTree = ""; }; + 5870835C591B7204EF491322 = {isa = PBXGroup; children = ( + B5B22FC3EE06F67893099451, + C1ECF06DE1CCCF9B48048C76, 3692F9744F63568BB55C5832, F3691DDD08C473863F673CE2, 9AA7ED1899A8D59824AC8FC0, @@ -1140,16 +1523,51 @@ 3C1300FAA182D25C698628A1, 86552B262FC4D6D47158B076, 2E6360B62CFFED4839F7961C, ); name = codecs; sourceTree = ""; }; - CD5C6E14FC4134879755EE8E = {isa = PBXGroup; children = ( + 2B572F64002F14226D56C883 = {isa = PBXGroup; children = ( + B7EEE94FF7D01308A5C0C919, + 8CE6BA814CA26635E30FB638, + A0CD01955005913A92EE427E, + 164F70E2E821DAB11E9CF8A5, + C7F7761D7EDF1C9437CD3EFD, + D1F4C2D3DE449A5FBC521103, + 58807FAE2F1BDA3631CA0A12, + 427462132CCFF0852AE7BBA7, + 9F1070785921A815CD8DA14D, + D4AC0E3C702771BD4F09BA80, + EF6E0AA7622256AD0A0F2DDC, + 4C1A0683157E41566FE6D598, + B20E5FADE096019409390991, + C6EE4905A85C0298D4118585, + EA48B223B5A836773014E33A, ); name = format; sourceTree = ""; }; + 909EBBADDB159CDFCBE773B0 = {isa = PBXGroup; children = ( 1BDC19DCD409213D9F7517CC, F826E94660C9F7EA2FA0D9F0, ); name = sampler; sourceTree = ""; }; 7FB63F87FF5252BDDAD349AD = {isa = PBXGroup; children = ( - D1F2D482F3A6684AA7CFD2AC, - CE3DECEB64F11893FFDC6300, - CD5C6E14FC4134879755EE8E, - 04D4E9B7A6AF0183A58EA686, + 5870835C591B7204EF491322, + 2B572F64002F14226D56C883, + 909EBBADDB159CDFCBE773B0, + E69CC3CFB1F43459657A8BF9, + 9FFE49CBCD039E37C002D62E, + A8AF947903C0976A1D45F0B2, 9FFE49CBCD039E37C002D62E, ); name = "juce_audio_formats"; sourceTree = ""; }; - 12C5D6D914065669F676FD33 = {isa = PBXGroup; children = ( + 901B8839D683020AF6D6E1BC = {isa = PBXGroup; children = ( + EC67081B5745049B6BF7CBB0, + CD66E549F25814B7ADCBDB29, + 56AE9A2DF810FBD48B3BA9C6, + 329E82CA3BCB5AE3EC94E0E7, ); name = format; sourceTree = ""; }; + 216D3907DF7DA3A5F355D7D1 = {isa = PBXGroup; children = ( + 1F249E983E9D32170A294720, + 349D17DB66E9B32A98CC3C18, + E36F4E6658950E867ECF189B, + BD92453FE23A75ACF72FA6E6, + E94B0560F5F44074C0FBBE77, + 6D88A3624F51E4B8C4386378, + C629913291BE1608B58ABF38, + 88964E03F3F86CDCA280D3CC, + 442D9B72ECE154D5D4E7C72F, + 1010FD77F32B1F7F525FC184, + 2F13071B3F288C3AA6842EF2, ); name = "format_types"; sourceTree = ""; }; + 194D6EEB3476DE2C9AF5EF41 = {isa = PBXGroup; children = ( 179F013F410ABCEB7D90C596, DE7EB6D4AA1377B537E5DA61, 5708133B2F0805351AC43D89, @@ -1166,24 +1584,7 @@ 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 = ( + 7D104F1FB8F403DCC7CF75A7 = {isa = PBXGroup; children = ( 157DD96EB1DD4D98C3F156FA, BB532258A959D6085D63B2BD, 7150C10D8A7C7757AA28BB2A, @@ -1200,64 +1601,16 @@ 0B7274E64537FF84DDB983BB, B285E664E174164A6988AFAE, ); name = utilities; sourceTree = ""; }; E212DC5AEF2D3B995C1F590B = {isa = PBXGroup; children = ( - 12C5D6D914065669F676FD33, - 72763E036F9F243878879B77, - 0C9FEDB522A79AD04451943E, - 314D690BDF36BE7C52C60F07, + 901B8839D683020AF6D6E1BC, + 216D3907DF7DA3A5F355D7D1, + 194D6EEB3476DE2C9AF5EF41, + 7D104F1FB8F403DCC7CF75A7, 6E26057A2CF8C7301A74A913, - 6049B54C8174211B60B2A055, + 1E7182C9B2AD1C849B25A723, + 5D2F8A2AC5001B3F52E0C2B9, + 7A8F1905710789B01FE1A14D, 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, ); 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 = ( + CCEF9D2C1C63EB5F531B9CA1 = {isa = PBXGroup; children = ( BFCA4A5C80FF0F33F4CCBA24, 8507750652A865CBA6B95F4A, 538CDEC1A82653CF2B043768, @@ -1279,37 +1632,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 = ( + 9D681059AA37C5E0910DF51E = {isa = PBXGroup; children = ( A4BEB89430315A384B09C4F0, 3D430654C1A8100D8456BCD2, C41913780AA61B40B03B3D11, @@ -1327,76 +1650,56 @@ 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 = ( + 13ED0555F9BE7535DFE0558E = {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 = ( + C490B33BD963AA61BC77ED30 = {isa = PBXGroup; children = ( + 83CBCCA7C4D52E55789D037D, + E2D720524D43512CDDC66EC7, + 489FAE16E149CD33F7537E50, + CDDD6D736C583E8C4149391F, ); name = logging; sourceTree = ""; }; + 1E3C20E2E8C2F80F344FFB83 = {isa = PBXGroup; children = ( + E56B74585A437DC40DE78032, + 1B300283FD8DEEF9DEC40BD9, + 4D8A9482F14C2B3F4DFC88D3, + 60C9D9BFE0E03F49685966C2, + 58C28CA4617075BAB7A8038D, + 1E805AE9C0B42D966358C6D5, + 424EFE12D38CCC7118C09C98, + 6973C70B3664F6D63CD86D75, + 7AB7C52E9663FFAC21F1EA8E, + 3640E214F8BEDF8E89FC914D, ); name = maths; sourceTree = ""; }; + C0C388FD1453F46B3630AC09 = {isa = PBXGroup; children = ( + 94706AE83DC007EF8E7DC00F, + EB5B64960B581F8E9CCE293C, + B0CC31C7BD577C3F7AFCCD70, + 939A0EA1F257371A763028B8, + 9BDEEDEB30805D700581397C, + 3F04D121026029F52DA204ED, + 3EA76B3A32FAB33AC24694B5, + 07E22F69D1BD5DBC61EB6B57, + 2B24BCDFDECF4F9FD9085E45, + 8B23D1D8F1C991C53758D6A1, + 7299A9386CE1DD8C41EAD3CD, + E0FC1AC7FBDE7DC227224506, + 45EC230E69B0801C93615256, + F34BC9586F9E5C03B50E54FD, ); name = memory; sourceTree = ""; }; + A1EA3DDAAAE0DBF32D829006 = {isa = PBXGroup; children = ( 8DB6B031A36AAA1339D8F334, F79F6DDBB0986E4830F4B721, + 22BD4FA140C1697A93C22BE1, + 227EC4F5703BD5825F74F952, 0B6399463624923B1F4CFC38, BB4595EAD7AAD26DEA947502, 16A74CB1F6FA181515A39A4F, ); name = misc; sourceTree = ""; }; - DFDB747A601B62654178BA70 = {isa = PBXGroup; children = ( + B37716B63259CC4D15BDA07B = {isa = PBXGroup; children = ( 8BF8C9D23F4B9731216E745D, 4D905DF5C99A1F7338529C69, 1DF63834B9F72A20A19304D4, 03B225BB600FDB2D5B519425, + 0C7A399F8D20931E86ECBD1C, B5DE2E4BE83FF38AECFD6508, B54D0E306C7DC81E7386C43B, 14E16FA0B7973302A103B6CD, @@ -1421,87 +1724,204 @@ 4C1E136AF707D37EB04FCD20, FA32FB49615A3B0E9086BA9A, 6C1EF9323884AD8EA79597C1, ); name = native; sourceTree = ""; }; - 04530BE441509256B41B129C = {isa = PBXGroup; children = ( - 0E8A813C60D191DFFB2FA5DF, - 7B4418814E9FA30DF1D0C62C, - 454032F31E0706030E582E8A, - 4693F6467173AA89726BAEFF, - 6964D844AF59B7755CE196FE, - 3804CB59C553AA196BAD24E4, - 1BE2C598F380FCA7134530BB, - D5E5FF50428EF776E73AB64D, - AF33516F030F249934E83081, - 7ABAF69EA3E773C960673FB7, - 8E2AEC98AE0456107A883D33, - 66ED79F1B2A6545F2A92C755, - BFBD50ECA4A031B3F042625A, - 9BE0DD9AB7DE1A768334953A, - 1B7BEDF25D7ECDE8D49F1218, - 8FBE3103EEF8B7C31B62A3AB, - DFDB747A601B62654178BA70, - 7E4550501E5A54888E7ED351, - 306F25437106318BD777BF09, ); name = "juce_core"; sourceTree = ""; }; - CBC1750812C618AD5EBCF244 = {isa = PBXGroup; children = ( - 70CD9F04B8C4E8585A47B7A9, - 1C1CEC5BB6046C9314D07185, - 5F1CF8AAF8520839ED694288, - 24F2138E76577957B7EBE036, - 847F89B5558F79D1C9136E6B, - D0A770B75FEA9B2F4C26B791, ); name = encryption; sourceTree = ""; }; - 8312E72C58140E7769A25660 = {isa = PBXGroup; children = ( - 21063ABF3276DB8C881A3364, - D0AD92CE7170351DE53C5F23, - FB3FB21E5BD47C02184247D1, - B65E16BFB96D7D8CB34BB3EE, - B467F12B062575F1ACDF0724, - E60695026D59B6B4C943E0D8, ); name = hashing; sourceTree = ""; }; - 2364693A9D930389CDA83796 = {isa = PBXGroup; children = ( - CBC1750812C618AD5EBCF244, - 8312E72C58140E7769A25660, - 13FB921BD5364A43A3F186FE, + D3493CDFE4908DECA2C1A36C = {isa = PBXGroup; children = ( + 712386EF4AED19DBB31455CB, + 692BB40AA8FB830B2B937142, + 0040EFFA55DA79672691E1C9, + D92660F5C732CA1569721441, + 4A2ADAE7C7EA0DF38808E698, + 1B651D7940B2A18230B010CD, + 22E2EF7FE8A98E380815B772, + 462D423963B1B96FA13F4CCC, + 39DA57397F102CACE67EF508, + 17385E08CF13E8A648C449E7, ); name = network; sourceTree = ""; }; + A99B621862768A470B4BB842 = {isa = PBXGroup; children = ( + 0CE6EEBE234E83B3E2DAB95A, + 8EF1D9DC7431D93543EAB32C, + 41AC8843343204ADB93DA531, + F3BD7F962B365E0BCBFBBE12, + F49B8A85A34D03B31B93A9A7, + 4F35D94974B6805CFB5C0A62, + E4B7DF9375DB4CD8EF7FE1FF, + 6FC2F17D4E5D123C97F09F07, + C62AE50F5295DAAE4DF52814, + 6DC3EA763C070E0A86A6E4FD, + F631816532F24F531A68C53B, + 965994E01B22C3AF860CBAF0, + 07D9756CD40A2257CE645AFC, + 2AE92F43F180A63B166DE38D, + 49FD193755A233E48F13F680, ); name = streams; sourceTree = ""; }; + CDC44DF15B56B599478FCDE8 = {isa = PBXGroup; children = ( + 43BAFD24057A16AC4EF14656, + 6AA0A63D8CC3AA8384660C5A, + 908251F9681073304D768A70, + 7FC2861204BEEB508D724BDB, + 4090D3F4822C0FEE21DEB675, + E4FF14B9F3E8708E8F2C160B, ); name = system; sourceTree = ""; }; + 3EB4646C4C411AC63576154F = {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 = ""; }; + 4F92195ED0434EA4B820DB08 = {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 = ""; }; + 92A3ADEBEC97A12CD098F086 = {isa = PBXGroup; children = ( + 35BF7EA4D9297B11F5682DA8, + F6225C8B7CC1B813ED258485, + 7D8E9CBB28B2F797833432AF, + 4B53D7057784C151C6B2A983, + 7F9B5150C04EC6D0A6322AD2, + FBAC0AF23CF55B44D5862219, ); name = time; sourceTree = ""; }; + D6EB718993DB8D906D3E585E = {isa = PBXGroup; children = ( + ABA483F71FF6E7B4CC8AF22E, + 7BA009163B2817D60F384F5B, ); name = "unit_tests"; sourceTree = ""; }; + 05EB8DB70699BA6CF16DAADC = {isa = PBXGroup; children = ( + 8B370086932633E444EF17C2, + 3ACD7E6C445B61480DD28999, + 60B2246A7EB6823F13BBB690, + 49F75B75D9E6382256D2CF7B, ); name = xml; sourceTree = ""; }; + EF73A3525C4C01D7FFFF0D9A = {isa = PBXGroup; children = ( + 29589E6D348361659DBFB01E, + E4E8FAF08109D735C7308F33, + 0633D0C7EFAF3C2F1AAED8B7, + F6F2AA3143D55BCBDE6AEBA6, + D9D65DCD29E0A673D5C67258, + FB5F6DB2856FF8896A9BEDC6, + 860A2FA57D14E62CC263C17B, + A512A15EF0335C8C8574EC32, + A77706F1E05A983E748E07AB, + C89EDBFFE32AF7907F94A017, + E7C00B7E427D75486B5767E4, + E6367953A6AD869EDD805326, + C6AE777522CFACEC53A2AC97, + AD3390E5060FADCAC11F68B7, + 0942EF0F579AD64745BF6E46, + B1181D8A6E97556E4057484C, + 361FC963F23CB1C695A109A3, + EF8D50867BCC011A28EC4BEB, + CD04FE4D823003834CE2BF32, + DA4651CDE7FB847C9E43FD29, + 82057BD5EBB1693F8F8F1CEA, + 35F694705D841585409B9B7D, ); name = zlib; sourceTree = ""; }; + EBF5E2EAAEEC037435CAAA64 = {isa = PBXGroup; children = ( + EF73A3525C4C01D7FFFF0D9A, + FF12EDEC6BDB2316EADD020D, + B03225051683D8CEB15FD6B7, + 9A794173272771D15A53CCAD, + 0BCF6AC43324F9021FF16748, + 1CB14C3A0B8355BCE373FBF9, + 85AF243A59C3D9275CEB0378, ); name = zip; sourceTree = ""; }; + 04530BE441509256B41B129C = {isa = PBXGroup; children = ( + CCEF9D2C1C63EB5F531B9CA1, + 9D681059AA37C5E0910DF51E, + 13ED0555F9BE7535DFE0558E, + C490B33BD963AA61BC77ED30, + 1E3C20E2E8C2F80F344FFB83, + C0C388FD1453F46B3630AC09, + A1EA3DDAAAE0DBF32D829006, + B37716B63259CC4D15BDA07B, + D3493CDFE4908DECA2C1A36C, + A99B621862768A470B4BB842, + CDC44DF15B56B599478FCDE8, + 3EB4646C4C411AC63576154F, + 4F92195ED0434EA4B820DB08, + 92A3ADEBEC97A12CD098F086, + D6EB718993DB8D906D3E585E, + 05EB8DB70699BA6CF16DAADC, + EBF5E2EAAEEC037435CAAA64, + CCEC530A31036018600AB4E8, + 306F25437106318BD777BF09, + 139FE5BDC0CAD41194997C43, + 306F25437106318BD777BF09, ); name = "juce_core"; sourceTree = ""; }; + CBC1750812C618AD5EBCF244 = {isa = PBXGroup; children = ( + 70CD9F04B8C4E8585A47B7A9, + 1C1CEC5BB6046C9314D07185, + 5F1CF8AAF8520839ED694288, + 24F2138E76577957B7EBE036, + 847F89B5558F79D1C9136E6B, + D0A770B75FEA9B2F4C26B791, ); name = encryption; sourceTree = ""; }; + F45FDDF78C2F8EFDE3BD656C = {isa = PBXGroup; children = ( + 21063ABF3276DB8C881A3364, + D0AD92CE7170351DE53C5F23, + FB3FB21E5BD47C02184247D1, + B65E16BFB96D7D8CB34BB3EE, + B467F12B062575F1ACDF0724, + E60695026D59B6B4C943E0D8, ); name = hashing; sourceTree = ""; }; + 2364693A9D930389CDA83796 = {isa = PBXGroup; children = ( + CBC1750812C618AD5EBCF244, + F45FDDF78C2F8EFDE3BD656C, + F5D08B3F42677B34F472A33D, + E7680CBA50F9F4A7D36892EC, + FC0949070ED3A847CF1BD5E3, E7680CBA50F9F4A7D36892EC, ); name = "juce_cryptography"; sourceTree = ""; }; - CDADA9AEAD759821F12FC6CA = {isa = PBXGroup; children = ( + 73410E70DFF2B4C6B71DC306 = {isa = PBXGroup; children = ( + AE5445BC3DE960A29D3A326A, + BA7A76CCDA7706963A2F9498, + B2D5CEEECCBDA18218663DDE, + 8D6490CAC20F94D0E4D07B07, ); name = "app_properties"; sourceTree = ""; }; + 6462878912AFC29FEC5728AA = {isa = PBXGroup; children = ( + 0834DCEB2DC13BDD835B441A, + 7E358C7894FDBB00F8AA46DC, + 83C608D4305CEFA8843EAC44, ); name = undomanager; sourceTree = ""; }; + 9DDA963EBB63D4CC3993AD08 = {isa = PBXGroup; children = ( + 98401ECFE02E47EE31B5D672, + DB2D8A553645B09A93A42148, 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, - CDDE28AB5179E0B6065ACF43, - 2A3E0B11DF85B74CAF13E923, - 4AFE98947E77FA1290C3A8C4, + 73410E70DFF2B4C6B71DC306, + 6462878912AFC29FEC5728AA, + 9DDA963EBB63D4CC3993AD08, + A5683E6B976377B8B6FC36CC, + 3C9E6C5E6EDB9E845A605510, + A066C539AE34EB28990E01CC, 3C9E6C5E6EDB9E845A605510, ); name = "juce_data_structures"; sourceTree = ""; }; - 65B7CB9016F7B6E8274C24DE = {isa = PBXGroup; children = ( - 75235FDF5790F4BF3F296868, - 386AAACD51CB0D292C12100A, - 718F9D6323697CA7C31F5771, - 65ECEC24C06ECD557C27C1E4, - 5A0888C5A02B58EC0381072C, - F4EB797898FBCE771679190A, - 8A32D700A2598D18918CF450, - 3CA476FE75A94874E8E11CFE, - BFBC6C8A6354FF5E99C94B7D, - FB278F50B3A1F911E8D74E39, - A5E528975CEDA4C62FBD7EF6, - 8C93C44495AC4D1527201634, - 5A229A581FCDB644F5C09BA1, ); name = messages; sourceTree = ""; }; - 2F707E4BB8CA772057BC7F9F = {isa = PBXGroup; children = ( - 57A5F6CB3C8DAED67B3420BB, - 3197ECA158ADC679CEC7C1FA, - B90BFDC91636E77EDB4FA432, - 4BBEF84CE407FC573032E7F4, ); name = timers; sourceTree = ""; }; - C420F1CA85E52005991C4130 = {isa = PBXGroup; children = ( + 896D62E47FFBEA4084772F9D = {isa = PBXGroup; children = ( 1689FD3E472FFEE920E276CF, EDD12DE23FB78F1A6DA4B838, 0C9908DBBB251080767CB7B6, @@ -1517,7 +1937,21 @@ B08BCBEBE861F2E50007F8A5, 968B57E185735EB4E9741976, 8CFC2A3A28FDAD0E15DADC26, ); name = interprocess; sourceTree = ""; }; - 1511B4BCAE2E2D4D9F9D6CE4 = {isa = PBXGroup; children = ( + C2CDA3DDEC690FD2C040CF08 = {isa = PBXGroup; children = ( + 75235FDF5790F4BF3F296868, + 386AAACD51CB0D292C12100A, + 718F9D6323697CA7C31F5771, + 65ECEC24C06ECD557C27C1E4, + 5A0888C5A02B58EC0381072C, + F4EB797898FBCE771679190A, + 8A32D700A2598D18918CF450, + 3CA476FE75A94874E8E11CFE, + BFBC6C8A6354FF5E99C94B7D, + FB278F50B3A1F911E8D74E39, + A5E528975CEDA4C62FBD7EF6, + 8C93C44495AC4D1527201634, + 5A229A581FCDB644F5C09BA1, ); name = messages; sourceTree = ""; }; + 62FE16161BA6A59D866E9598 = {isa = PBXGroup; children = ( 79A578B4E39C1F03DA98123E, 018DA3E8748C6F315B914247, 71BAA1581CEA26400FC2CCC4, @@ -1526,15 +1960,22 @@ 0FD049CADEA606E86B5EB2D3, 511278C785AC5B1CBB69D6CA, C703A87721102B3D4A951647, ); name = native; sourceTree = ""; }; + FE0985F2706A0C3A174DF501 = {isa = PBXGroup; children = ( + 57A5F6CB3C8DAED67B3420BB, + 3197ECA158ADC679CEC7C1FA, + B90BFDC91636E77EDB4FA432, + 4BBEF84CE407FC573032E7F4, ); name = timers; sourceTree = ""; }; A6F169A2B7BA617174343A9D = {isa = PBXGroup; children = ( - 65B7CB9016F7B6E8274C24DE, - 2F707E4BB8CA772057BC7F9F, - C420F1CA85E52005991C4130, + 896D62E47FFBEA4084772F9D, 4EE1E47DA20EB6C2DD451DF1, - 1511B4BCAE2E2D4D9F9D6CE4, - 97067F1023B8787E7201D27D, + C2CDA3DDEC690FD2C040CF08, + 62FE16161BA6A59D866E9598, + FE0985F2706A0C3A174DF501, + 83019926121E8B7CBE8E8B60, + FC8782E00B9947A49AA68E46, + 38FDAC6BD78D0C9CA797194F, FC8782E00B9947A49AA68E46, ); name = "juce_events"; sourceTree = ""; }; - 193FA90E69CB286A2CD57C13 = {isa = PBXGroup; children = ( + AD72B0FB8ADAE9D3C2EE288E = {isa = PBXGroup; children = ( 50EC51517B6987D5031F71BD, 1D2F53A746DA719BB943BE82, 6D7D0B1ED6540959AA3AC4E9, @@ -1544,7 +1985,7 @@ FD6C7EC1A46DC3607515BD19, 2C3A99F8E7B710927DDF6E07, 95C8952F136BC7624DF21336, ); name = colour; sourceTree = ""; }; - 8CDAEE4123C457704E64C266 = {isa = PBXGroup; children = ( + 5ABFB3C57840A237E655CE4B = {isa = PBXGroup; children = ( 0181CC9B723B742CA8165C76, BC66914DB876E7EC4D50A7FB, 19CB55D9BA33A4DFBB8A1E1C, @@ -1552,20 +1993,26 @@ 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 = ""; }; - 4E18B01D9164F469A96C5AD1 = {isa = PBXGroup; children = ( + 316A5C370C10576ADAD0A8D1 = {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 = ""; }; + 84B4024869B13FBACECC4B83 = {isa = PBXGroup; children = ( FC404EDC4C79CF946E92E80F, A89117012B929E6A602169C5, 1C0707EF7821DEA63C6FE05D, @@ -1581,30 +2028,105 @@ 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 = ( + 6FD8A55DE6E28AD538721224 = {isa = PBXGroup; children = ( + 4E59816EBFE06FDC3B0D5960, + C25D672C692C13214DC461A1, + CA7B71AD82083E09D2BA95C6, + F25D558073C42ABA8960C497, + 7A338E34E563DCC1379EFD57, + 7B23E0278A25C8DF27ADB61A, + C6D76936280293045F53A330, + A24C79CA12E0492FDB4DD885, + 5FD571BBD429FB59940F87F0, + D95B4C2D959D2EE152B2C695, + D5A6844CB4FE911E71CEC6EF, + 3A3C6B76FCA259D65ABC0D8A, + 63CF54631460F1BF4EA5A49A, + 7BA271616FE0E049096B31E1, + 9B6D2B8510252B16AB87E475, + E94FC9152F9FDC19726D5BEE, + 10B8B0E54FDF9713F642DD15, + C2B3E4C8477171C2F60B67F7, + CA7D645103D443CC7DF6FEEA, + 8B7295FDEDA5EB5E131E00AF, + 6C2EBCA5789F27C58CBB5C96, + 2D0AFCE6CA206FF2990C2DED, + AB62DB86267C5609F51C5464, + B0962E1ADC58BCA109B400C6, + 40E38B30897D69B7967187E2, + 1B21873B9F81046B23619738, + 8E464BB480C062B9844D38AA, + 32026CE86F59CE84DA0E15D9, + 85546B8B4BE4666E41514466, + EDC87A3CCCE8E97AA9AB9F67, + CEF845F0D72A3C4946EC311A, + C0F1CF9B05B9949C7910BD30, + DAB342CD5EE0D89FE395143E, + 667E67FA726D09B6EEF6872C, + 90FD02383541F8D93C4EF093, + D9C5CF01E43A407D56BF2650, + 7F06AF9DADA9FA01C5BE542D, + 211118FAF846DE2851DFF1E6, + 18BC7C0BAD0A7E1B16B9B866, + E111B2BC28477BB8C21F80DF, + C41D2D4CABD6A6C79A5475D1, + 6AEAF0CEE13E8AFFC31D4217, + 4CCA401E721AB63A54743B7F, + EDBCE7672BCE3F91FDD163F0, + 08F19C22CFDE21AB84F08973, + F89F91E244BCF63874862C6F, + 98A34F65A84F6F75A2AF984C, + 9BA006CD3924A5E2596FFA45, + 2D320EAC3B8AC56EC9D0315D, + FE6DDDA4D869791B45A1D7AC, + 39FEA965561F0BD8A4925FD9, + EA1428C3EAB4C10707608BAE, + F2023C92F5870FE247F4183E, + 0FEB9F4C6003F332DF37B676, + 44A91F7F090A1D354D969735, + E5A768DA4BD733061E408CF3, + BF1BDBA3FD4E2478B57F1E4F, + 4BF5A04B6C3BD1E88FBF928C, + F127F94CCCB66682AC4CDD8C, + 45B1B1E60901C55FB03D9883, ); name = jpglib; sourceTree = ""; }; + 3556C433CC80AEE425194BFE = {isa = PBXGroup; children = ( + 26321A27EA41FCC3153C6EEE, + 82B74AD40D18503D344474D7, + 3D235BA90C56998D10559826, + FD49433F04EF497BA256E5A8, + 6F9F02E8D3ED4CF57E6B40A6, + 95601282CC53D624D74000BE, + 0ADDF315306918F1310598A6, + 9933039986F65F32C7091C2C, + C6AD2C78C55572980022A67D, + 813945A0794FBB3FBE4824AC, + E2F7426AF9CB2C2B0E633E5F, + 38D85778B73A6C360924C4F2, + 940E81BE4814812C59C95981, + 253F4D5B545AA3A9FDC00837, + 94CEE08437F31C084FC46221, + C77C7EDB04371794B1920C06, + 058689EB45370CFDB649FDCC, + E22102B0C748A5C31D65856B, + 80B396ED924AB18941F4ADEA, + B59D8314EF03AB1A849245DF, + 04D22E5FE579570E891AA570, ); name = pnglib; sourceTree = ""; }; + FF6408C82986038F66093A33 = {isa = PBXGroup; children = ( + 6FD8A55DE6E28AD538721224, + 3556C433CC80AEE425194BFE, + 9BB586E269D50D4CE1B98DB6, + AC6C0541D84539578CD41683, + 2C23A15BD379D6830DC85532, ); name = "image_formats"; sourceTree = ""; }; + EBB384FC9D923FCAC26A5655 = {isa = PBXGroup; children = ( + B2C44BD9DC0BC43833291C31, + 4161F12A1FD93F9DE57905EE, + C61175EC56A3396F7A655A1A, + 929AAC6BA3EE488D258EDD82, + 670A85A6ED2DE16E9C7604E5, + 1DDF96105DC0A71370D897A1, + 1D55171F1D2B0B9DC4C602EC, + C274477CF75CDD73B30E28C5, ); name = images; sourceTree = ""; }; + 3CEA9003EC6185F99AA88522 = {isa = PBXGroup; children = ( 1AC8746F44493CB2A10988CE, F40305BC0F95331D37275E1B, 5DDB34F1460752BDB8E858BE, @@ -1618,19 +2140,57 @@ 9CA8D3775F4482E63D79918C, 4449C89CEFC61424356435C6, 1B0BC2531E700CB7B80EBA0A, ); name = native; sourceTree = ""; }; + 14F66C8484BC4CAEE3854236 = {isa = PBXGroup; children = ( + 6DBD223556B6358059AB1403, + 3852D02AFF1A6622E89B3065, + D76F7038A4C53439F7D5A9C0, ); name = placement; sourceTree = ""; }; 1A864CA1C037AEF8651F04B6 = {isa = PBXGroup; children = ( - 193FA90E69CB286A2CD57C13, - 8CDAEE4123C457704E64C266, - 2A18197C6BA35764DFBB4F61, - 5E880712890877C209020053, - 4E18B01D9164F469A96C5AD1, - B11C51E14C3721B2FF79E15B, - CAB4A19602F9A8405B278577, - 087AB3A2D7744DA8D667D947, - 33656CBC336A3CEDA4638572, - E75226FF57885A514E8128D0, + AD72B0FB8ADAE9D3C2EE288E, + 5ABFB3C57840A237E655CE4B, + 316A5C370C10576ADAD0A8D1, + 0C6A15AA82BE04D928903BB7, + 84B4024869B13FBACECC4B83, + FF6408C82986038F66093A33, + EBB384FC9D923FCAC26A5655, + 3CEA9003EC6185F99AA88522, + 14F66C8484BC4CAEE3854236, + 9B31515A9A40AFA8299BCBDB, + 86A0609131EE92B994CD198E, + D4BC5051ED3495BE68FF2D8B, 86A0609131EE92B994CD198E, ); name = "juce_graphics"; sourceTree = ""; }; - AFEE3E46C43FAF1F045F3FD2 = {isa = PBXGroup; children = ( + 32B398CD6EED090D8FDB6530 = {isa = PBXGroup; children = ( + A66CDC01DDA634EC52387A9F, + F63E9A6CE243E37C5DC0FB29, ); name = application; sourceTree = ""; }; + CF5CDE7E600D873F3FA0B05C = {isa = PBXGroup; children = ( + 9515301F2975CE5A3A711331, + 577657AAAA317267A5720420, + E99CA588DFBC5CB04207ABB0, + 9AF021C7C1903B0CA58931F1, + 79F4B049934ABF6CE6469758, + 266A4835116E96CAE8C0C2F5, + 0A573194C14F5E358AB6058C, + F64126345166E6E1761529E2, + F0D76BB6A6F9EE5F9565E20B, + 175C70C20B5074616F3FC422, + 550A9E3DB80630699503DC5E, + 5182AC0EF0286956C02C58D5, + 4EF9E77337FCA3679883AD18, + E59938EF72B9B1399F6252E9, + 1B05AEE049AC25AD321EA2BB, + 781F3993397D6162EB946821, + A45144F7AA2A065205E6EF69, + FB8CC2AAE7DE5B1322BEBBA2, ); name = buttons; sourceTree = ""; }; + 8DC1C8A7DDFDD3065ECCBACA = {isa = PBXGroup; children = ( + E0A4254ED08A431980C43E82, + 621FFF1AFD85D8EC07BABC0E, + E06F54C05FAE3CC7EA944088, + 29DBE389E1B355F875D78678, + E939825CA0EEBC815F70F33E, + 205318E4898CC1F92C3C97D4, + 8BAA9A5EB8A4E29191005B69, + 8F42FFF548336F1D49D1751D, + 34F963D9423350CC9BC1AA2D, ); name = commands; sourceTree = ""; }; + 020191D3854E5B7057B71CF8 = {isa = PBXGroup; children = ( C978ECD3E0C26210796FD720, B07FDCAAE27B8F1071624755, 6AF346DF4F9CB8D62772936D, @@ -1640,97 +2200,60 @@ 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 = ( - B48D54221C972777DB5E1DB7, - 8AC99C5AA7B0B07459E2D44E, - E86BD94114E2428144CF8BEE, - 3821D8045802C8FA0752246F, - 455A271D79613442DA6954A2, - F07E3DE303038428046BA4EC, - 4F9D284775E04B8A8A1B263C, - 24AEC14403AB6EF9014C30AC, - 25D21EBF354AA051D31844A6, - 1C36DE81BDCDABFA106A9E4E, - 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 = ( + 91CF6A5404CAC784EF15D43E = {isa = PBXGroup; children = ( + C168C173BF39312F42E695A0, + 15838577621F565985121DB7, + BDD3DED63DF7E85212EFC4DD, + B7096B25A9A75BDEDB4A18C7, + 19C4CDE07CD0E4BDC7C692CC, + 6DD39268E6D0E01ED0452F41, + EAD0D749404AC9F2F1355016, + C431C4B65FFD4CE6140020E6, + 05527C29D68C389FFFDB6A4B, + 2D72AC40DE6A6B5A2047486B, + 17D1AE835BB6F69441F039C4, + 3EF24EFFE77D709A08F7B95B, + B94E840D38EE5717DA2CE143, + 1FE499D425A1D7B00817E21D, + 8CE6C0B5D91D86EF1A0A4C82, ); name = drawables; 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 = ""; }; + D36853405B2914AEF3A2895D = {isa = PBXGroup; children = ( + B48D54221C972777DB5E1DB7, + 8AC99C5AA7B0B07459E2D44E, + E86BD94114E2428144CF8BEE, + 3821D8045802C8FA0752246F, + 455A271D79613442DA6954A2, + F07E3DE303038428046BA4EC, + 4F9D284775E04B8A8A1B263C, + 24AEC14403AB6EF9014C30AC, + 25D21EBF354AA051D31844A6, + 1C36DE81BDCDABFA106A9E4E, + FC605ECBC8125885D00D0526, + BBD681E0438764FACE1EA5C3, + 1E40098BCA096EB5C9C6596D, ); name = keyboard; sourceTree = ""; }; + 17171A938F9B28CF4B7CF983 = {isa = PBXGroup; children = ( 6D21535E79FAE30423635568, 68B3255F10534CD67E0CE011, 5272A8388DC70C91202CAA0E, @@ -1767,72 +2290,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 = ( + 160F6F3BDCCE3736556E58F4 = {isa = PBXGroup; children = ( EFD08844B4C9B4D00BC29DE7, 91D40C7B4DEEB7251ED4DDD5, 9AE7965BD2EBA345DAA07E25, @@ -1841,48 +2299,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 = ( + 17EC5EEEAF5BF8F8C997C069 = {isa = PBXGroup; children = ( + 09EA4A83F537E580914C15F8, + 6DCE27AD94A35948C935793C, + 4AA78CFAB63A32A600401439, + 802996F9D73F9E19BF068262, + 8C1D74B6E452037701E3B1A6, + FBEB9027B0B573C67835E318, ); name = menus; sourceTree = ""; }; + 8BE9C0A31BC87205DECF870F = {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 = ""; }; + 71D86F85A642B63EA07E6FD2 = {isa = PBXGroup; children = ( ADD141B902E704C94F8B3B20, 3E8E28F4F11176F2871880CC, 9EE2C6C971AE76CB5573AA98, @@ -1899,27 +2349,107 @@ CCDE12A0ED5F595995B6E251, 6C3A809E35B50ED0F74CC7EE, E96F7A0D984A6658550AA6B7, ); name = native; sourceTree = ""; }; + 344D2F642D3B8607973C331D = {isa = PBXGroup; children = ( + 5E8C21AC2A1B8B0B58C37955, + 84AEE4F8A28635C15D906000, + 950402C14F0031033AB280CE, + 1893FA4609AAF5DD33145B9B, + 165DCE208FB600EFD1D43397, + F1E74B467C2D75E4541B0089, + 7E75ED738B0C5B23921807B4, + 469372BCD2E4A19BA918C8B2, + A7B4FBA164C49941A0C44524, + 90BF13AA1F1AA780E2C68EBE, + FE73287049CAD4511D3B2E6B, + D0C258A46B09A01C0783CDE0, + 9E90724F45380929532DB25B, + 39D1D5605F6A04795AF73812, ); name = positioning; sourceTree = ""; }; + E20F6B89A69CB3B7AEF13822 = {isa = PBXGroup; children = ( + 1DD4E07B4A6CAD50B3FC9B90, + 093FD81AC22F2360CB37B521, + 4D9CE24E398FBF5424988A63, + 334948AD783C8AF3F2F79EC0, + 502A9F538EEAE40A8293254B, + 9BE18ECE67A4225EA024ECAE, + EB7702F51FACD00F9B4D2052, + 45DF47F918E119829B97D35B, + 0A9E895E546EE06D88C06244, + 32B9239DB65A4155D9359AEE, + E45C222FAA9FDD6B77F0B908, + 4D1D1974424944E09F462A6A, + C66AE85EED85DF1401157F7C, + 62DF30A0CE4D887A5C0D4699, ); name = properties; sourceTree = ""; }; + E587E3B83C801D874FE84A6D = {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 = ""; }; + 4430A7F4DA4D5AAD79CEB6BA = {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, + 32B398CD6EED090D8FDB6530, + CF5CDE7E600D873F3FA0B05C, + 8DC1C8A7DDFDD3065ECCBACA, + 020191D3854E5B7057B71CF8, + 91CF6A5404CAC784EF15D43E, 4922861301B9FBA7307424FA, - 37735166A980647B6A1D3950, - A777F9A9DA58479A7155B8C0, - 9761B4254CD555BA968431BA, - FCBB31DC84430DC151BD8505, - 2072900E34F05ADC7F5BD2F5, + D36853405B2914AEF3A2895D, + 17171A938F9B28CF4B7CF983, + 160F6F3BDCCE3736556E58F4, + 17EC5EEEAF5BF8F8C997C069, + 8BE9C0A31BC87205DECF870F, + BD0937E51E7B19AE268A7C6F, + 71D86F85A642B63EA07E6FD2, + 344D2F642D3B8607973C331D, + E20F6B89A69CB3B7AEF13822, + E587E3B83C801D874FE84A6D, + 4430A7F4DA4D5AAD79CEB6BA, + 175FF8F74000A6143EB009B3, + 2AA7FF1FB0D464A4E7B93360, + 58F833B530C1A1C3E615379F, 2AA7FF1FB0D464A4E7B93360, ); name = "juce_gui_basics"; sourceTree = ""; }; - B8E6CEE17FD58461BD95F1CE = {isa = PBXGroup; children = ( + 48B641C301F7C71790137B5B = {isa = PBXGroup; children = ( F59581D8631D6A684736D6FC, 656F956C47B9E1133FCD552D, 31C855440BB6B27F62C5C387, @@ -1932,14 +2462,14 @@ 60EA11D2A640CA7106736CC8, 13F0E0ABB01B5C8DD425DBA1, E684B32B706CB744D57256FD, ); name = "code_editor"; sourceTree = ""; }; - 4F1AC1AD1D63FE3A634D6C85 = {isa = PBXGroup; children = ( + 1C00039FA5A4A02575607AD7 = {isa = PBXGroup; children = ( 377EDD26F7ABB5CCD4AD4726, D22729A94EB5BD43F30295CF, ); name = documents; sourceTree = ""; }; - BD854673D1CB82FD3ACFA668 = {isa = PBXGroup; children = ( + C43261BE5783D3E612390373 = {isa = PBXGroup; children = ( C6C15C3582C0AD078804ACB9, 6E5DECD2B9E5106FF6842D08, 1DC0F3CBE38BFEB47BE3E5EF, ); name = embedding; sourceTree = ""; }; - 131555DB93941B3E5B9BACFF = {isa = PBXGroup; children = ( + 8352D97F756A51F0F21208DB = {isa = PBXGroup; children = ( 001CDEAF55B56911FAD8318B, ED0BDABE9414F6DD57F802D8, 8E25FE6229A0B21AF784D198, @@ -1960,7 +2490,7 @@ C709E5066F98B420FE3C3DBD, 5DB90CF44731234A5B96E735, 7CBC0ADE30B477391523C87E, ); name = misc; sourceTree = ""; }; - C4F10243A619A916FD713FAE = {isa = PBXGroup; children = ( + F8B810B8F8AFE3C9F3EA5A12 = {isa = PBXGroup; children = ( 428B819F7089003FE32FC1F9, F3395E2EECDF18160E8AD7AA, 45C4BCCF0DC3E414644BA6F9, @@ -1974,14 +2504,29 @@ 3F3C9B9B2ED3BA29B29B3E3F, 89B9CE5944BD211319BB72E5, ); name = native; sourceTree = ""; }; 01B0805B55D7E82754105080 = {isa = PBXGroup; children = ( - B8E6CEE17FD58461BD95F1CE, - 4F1AC1AD1D63FE3A634D6C85, - BD854673D1CB82FD3ACFA668, - 131555DB93941B3E5B9BACFF, - C4F10243A619A916FD713FAE, - 5CB78AA388C4618C4468DB1C, + 48B641C301F7C71790137B5B, + 1C00039FA5A4A02575607AD7, + C43261BE5783D3E612390373, + 8352D97F756A51F0F21208DB, + F8B810B8F8AFE3C9F3EA5A12, + EA9C1C68A0577480974E3FF9, + 27336149BE1D29412DC73E12, + BE358E16CD9B3BC47DF0087B, 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 = ""; }; + 6C0F5FAB2A9E9D99F891C5E4 = {isa = PBXGroup; children = ( 1AD4C1F6D1E6ED83EB5DBBDD, 1F2CE673570F6C544FD544B3, 3C40C365FAB7497575E2D5A2, @@ -1999,30 +2544,19 @@ BD4FD4732B0E4BD368F5B898, C624611F6A868DF1A16DEED0, B9AFD1D82A8CD4C118FDDBF9, ); name = opengl; sourceTree = ""; }; - 893B6EEEA66D4F65D3CB6147 = {isa = PBXGroup; children = ( - 6D690C2CDE841D840C052CE9, - 1F61AA2380037F90324BE5BF, - 3F275F94A58B457F4BECFA54, - DFE92977799232F2452D2062, ); name = geometry; sourceTree = ""; }; - 83D94F3A45BE3111914F7D5C = {isa = PBXGroup; children = ( + 7CF476D3AD03CA74A0BA1FF1 = {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, + 6C0F5FAB2A9E9D99F891C5E4, + 7CF476D3AD03CA74A0BA1FF1, + EA57AA6E8F76325884F2AB61, + F61D480253AF8F68D427401D, + A2989A2A41C59268D97EC910, F61D480253AF8F68D427401D, ); name = "juce_opengl"; sourceTree = ""; }; - 44990DE89D324D6B81E6A8E2 = {isa = PBXGroup; children = ( + 9A65119F9F5A6051D9385104 = {isa = PBXGroup; children = ( F02694B234A3FE3D1AA45DE5, 6913045C1CB139191111F55B, E3100CBACD6F8F1443D0CA6C, @@ -2040,27 +2574,30 @@ C42EBB793E610DC9666D218C, 702DD6473F829AF063982E74, ); name = osc; sourceTree = ""; }; 8265888AF82733C9A1BA0D7F = {isa = PBXGroup; children = ( - 44990DE89D324D6B81E6A8E2, - 63B71455C122FC45B51802A5, + 9A65119F9F5A6051D9385104, + C175252F593D94B80BDD21DA, + 263E3E0A442EF6EB3805B9A3, 263E3E0A442EF6EB3805B9A3, ); name = "juce_osc"; sourceTree = ""; }; - EC485C1724B21160EEC35B9F = {isa = PBXGroup; children = ( - ABCA61BC987590C3899EC412, - 9FF00873ACBF0083987EBA61, ); name = playback; sourceTree = ""; }; 94E3A33E881385C33E608E1B = {isa = PBXGroup; children = ( 561FE318335738D4B9354BB4, EBBDAF9C0412A88B5C3BA813, ); name = capture; sourceTree = ""; }; - D0830723721FDF3634581173 = {isa = PBXGroup; children = ( + 6DEAF5A38AE82499FF3EB81E = {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, + 6DEAF5A38AE82499FF3EB81E, + 65066F35BAA0C7F8B7EFC627, + 72E848AD8036913686DF660F, + C4A48003D715E59DBBF845B6, + B1039CCF4C73FC87D5BC3091, C4A48003D715E59DBBF845B6, ); name = "juce_video"; sourceTree = ""; }; B62CDACBF44910C40A0B36B5 = {isa = PBXGroup; children = ( 02E8AEA25C47897EDD8B9B19, @@ -2079,23 +2616,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, @@ -2112,7 +2649,7 @@ 0ACBAF3F9407F2B934D24D88, 943E32EC90312A13809CBE1E, ); name = Frameworks; sourceTree = ""; }; 6778E8BDE76400A1AF2624CB = {isa = PBXGroup; children = ( - A047FB322984257B904B6C5C, ); name = Products; sourceTree = ""; }; + 1997CE41947A0FA3AE6FD84C, ); name = Products; sourceTree = ""; }; 6A9D07656A985D7935C7FE29 = {isa = PBXGroup; children = ( 1C8FA7F39C7073AF87993BFB, B62CDACBF44910C40A0B36B5, @@ -2120,7 +2657,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; @@ -2136,11 +2673,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; @@ -2157,13 +2695,15 @@ 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; SDKROOT_ppc = macosx10.5; }; name = Release; }; A73601CA8085AB937DA91A68 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2192,31 +2732,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, @@ -2230,11 +2771,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; 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 8ac3818d..4e3df731 100644 --- a/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj +++ b/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj @@ -136,6 +136,9 @@ true + + true + true @@ -214,6 +217,12 @@ true + + true + + + true + true @@ -229,15 +238,6 @@ true - - true - - - true - - - true - true @@ -286,259 +286,274 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + true @@ -547,21 +562,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -574,6 +598,9 @@ true + + true + true @@ -616,625 +643,976 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1252,6 +1630,9 @@ true + + true + true @@ -1276,6 +1657,9 @@ true + + true + true @@ -1291,20 +1675,23 @@ true - - - - - - - - - - - - - - + + true + + + + + + + + + + + + + + + @@ -1312,6 +1699,7 @@ + @@ -1344,6 +1732,9 @@ + + + @@ -1351,20 +1742,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1374,8 +1836,26 @@ + + + + + + + + + + + + + + + + + + @@ -1386,15 +1866,6 @@ - - - - - - - - - @@ -1405,40 +1876,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1455,25 +1893,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1483,6 +1902,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1496,30 +1949,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1528,14 +2014,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1545,19 +2042,12 @@ - - - - - - - - - - + + + @@ -1568,10 +2058,15 @@ - - - - + + + + + + + + + @@ -1582,39 +2077,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1623,33 +2153,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1669,15 +2172,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1685,13 +2202,6 @@ - - - - - - - @@ -1699,31 +2209,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1749,20 +2259,11 @@ - - - - - - - - - + - @@ -1770,6 +2271,17 @@ + + + + + + + + + + + @@ -1780,28 +2292,20 @@ + + - + - - - - - - - - - - - - - - + + + + diff --git a/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj.filters b/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj.filters index 9dc02893..5c578f4f 100644 --- a/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj.filters +++ b/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj.filters @@ -35,45 +35,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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 +122,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 +140,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -110,29 +152,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -146,33 +188,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,80 +224,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -278,18 +326,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 +347,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} @@ -322,6 +370,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -400,6 +451,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -415,15 +475,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,41 +529,149 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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 @@ -526,26 +685,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -565,6 +733,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,44 +766,11 @@ 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_audio_processors - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_processors Juce Modules\juce_core\containers @@ -634,33 +787,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 +811,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -727,36 +823,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -769,6 +853,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -826,17 +913,167 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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 @@ -844,17 +1081,11 @@ 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_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -862,23 +1093,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -898,6 +1132,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 +1159,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -934,26 +1192,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -970,236 +1231,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1228,26 +1504,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1259,52 +1538,19 @@ Juce Modules\juce_gui_basics\drawables - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\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\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables Juce Modules\juce_gui_basics\filebrowser @@ -1336,17 +1582,92 @@ Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + 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 @@ -1354,8 +1675,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1402,6 +1741,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1480,6 +1933,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1507,6 +1966,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_osc\osc @@ -1531,6 +1996,9 @@ Juce Modules\juce_osc\osc + + Juce Modules\juce_osc + Juce Modules\juce_video\capture @@ -1552,46 +2020,52 @@ Juce Modules\juce_video\native - + + Juce Modules\juce_video + + + Juce Modules\juce_video + + 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 @@ -1611,6 +2085,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1707,6 +2184,15 @@ Juce Modules\juce_audio_basics + + 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 @@ -1728,47 +2214,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1797,41 +2496,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -1860,6 +2556,36 @@ 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\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 @@ -1890,50 +2616,95 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_processors + + + 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\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1953,6 +2724,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1992,197 +2766,194 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers - - - 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2190,50 +2961,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2259,14 +3030,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2274,15 +3045,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values Juce Modules\juce_data_structures + + 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 @@ -2310,36 +3114,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 @@ -2349,6 +3123,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2379,17 +3162,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 @@ -2421,50 +3219,137 @@ Juce Modules\juce_graphics\geometry + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + Juce Modules\juce_graphics\placement Juce Modules\juce_graphics\placement - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics + + 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 @@ -2481,44 +3366,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2544,87 +3447,6 @@ 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 @@ -2682,32 +3504,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2730,27 +3594,6 @@ 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 @@ -2772,80 +3615,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2922,32 +3765,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -2961,9 +3780,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -2985,6 +3801,39 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_opengl + Juce Modules\juce_opengl @@ -3015,14 +3864,20 @@ Juce Modules\juce_osc + + 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 Juce Modules\juce_video @@ -3035,47 +3890,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_opengl + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_osc + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/OSCMonitor/JuceLibraryCode/AppConfig.h b/examples/OSCMonitor/JuceLibraryCode/AppConfig.h index 77c4aac1..b48b2cb9 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 91248fad..422cbb85 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..0c3b9ae9 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 7d4583db..00000000 --- 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 06e88f93..00000000 --- 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 e4574f47..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 718392ff..00000000 --- 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 40bdd444..00000000 --- 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 0dd1636e..00000000 --- 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 533794ff..d8f152a6 100644 --- a/examples/OSCMonitor/OSCMonitor.jucer +++ b/examples/OSCMonitor/OSCMonitor.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.1"> diff --git a/examples/OSCMonitor/Source/Main.cpp b/examples/OSCMonitor/Source/Main.cpp index b253d03e..58e5ee7a 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 e94c4ee6..9d6976bd 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 - - 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_graphics\image_formats\jpglib - - Juce Modules\juce_osc + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/OSCReceiver/Builds/iOS/Info-App.plist b/examples/OSCReceiver/Builds/iOS/Info-App.plist new file mode 100644 index 00000000..2c2d4c92 --- /dev/null +++ b/examples/OSCReceiver/Builds/iOS/Info-App.plist @@ -0,0 +1,43 @@ + + + + + + LSRequiresIPhoneOS + + UIViewControllerBasedStatusBarAppearance + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + OSCReceiver + CFBundleDisplayName + OSCReceiver + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + UIRequiresFullScreen + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIBackgroundModes + + + diff --git a/examples/OSCReceiver/Builds/iOS/Info.plist b/examples/OSCReceiver/Builds/iOS/Info.plist deleted file mode 100644 index a2639920..00000000 --- a/examples/OSCReceiver/Builds/iOS/Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - LSRequiresIPhoneOS - - UIViewControllerBasedStatusBarAppearance - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.OSCReceiver - CFBundleName - OSCReceiver - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - UIRequiresFullScreen - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj b/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj index 00019722..34db5233 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,12 +30,16 @@ 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"; }; + 02C2D41C3ACE914AE96C6AC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; 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"; }; 03C966078E55833F89869654 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + 03CB889A8D08A099FAC734B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; 03DD32FBD029C82D3F22A3FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; 04549F6731AF483F963B9B96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + 04973C31E4231329F3BBA4E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; 058B9BB7CBFF10B3C5BC5C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; 06160D99938D8DB84E9F905E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 06545463B8174C7C16547ACA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -48,15 +53,20 @@ 08DF4F29B96477C92ED7A5B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 08E80056F3657A4A09CD2959 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 09F9AE61E505CAE5394ECAD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; 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"; }; + 0AB3DCC727E73EE2E80F229D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 0B329EC6741C5272F6A316E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; 0B60A600A4680D8EEDC49C19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B8EA993F7BF4DEC8AE70AF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; 0BAF400A3E4F13538CF72077 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 0CC39A8BABBA874AACFC7BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; @@ -67,14 +77,18 @@ 0F70B9F2D91DE1BEC0BD9EA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; 0F72CC9F80BE50B08C101621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; 0FDA0F674C5C5285F2AA3BB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FF12EC7255BDEE035543EB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; + 102F0A639DAF38318162857D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 12B8A9654B0E0AA7306E3755 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 12BA7F117478172C52E61101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 12F61001398B1E142A2D11C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; 12FCBB996C1B4A7FA292D433 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 13000566D7C09683EFE53E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 1357360553EB805A741CE8C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; @@ -88,24 +102,32 @@ 154CDA29F1FB80E53572163A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 15B628114AE00B3B46D8AC99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; 15C412FC0AA31C6176F8923A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + 1610DC815E1DC8A457A467D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; 1641001AB85C7CCC2A524F97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 16A2E47C403086AADA95D89D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 16D5770A24EE77E90B20440C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; 17166DBDB04C22ED6FAD63B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; 17250AEEC1A8EE7778CD581C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 173219850B72DEC19B1DC9DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 173CBAB103CFC050445FAB6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + 1745017E841E49DA43A58AD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 19A5887B8C9338C515FB8037 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; 19B1C2B51A9B511819348135 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + 19F7D2A302B93E75F11C6FC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; 1A5EAFD302A7CBDA42CA1355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; 1AD3B58EF82A3E2C666DBFE0 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 1AE967CCBE702ED5E330783D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; 1AF04033312925AEFBE5D29E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; 1B1E99DA1D133DE21750F2B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 1B26C25D0282434288E5BB6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 1BA25963C42B95F6ECED0730 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; 1BA339A436BE5DA183214DEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 1BE7A747E30B6D8582D89C25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCBundle.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C35775D662AB3BFF1B2BAD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; 1C521897C11D572AC772470C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; 1D47D2DB82AC84807428E138 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; 1D82059FDA977E6D069CE2BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; + 1DCD299EE107542A7F1D0B15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; 1E56948AF06BFD1A718921DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; 1EA3323B543816286CC52A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; 1EA34D5D6B7812FA51756875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -120,9 +142,14 @@ 227ED53751B254BCFCC9D397 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; 22C3DC40F0504496216B1606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 22E7A84B54F1994B4D18C73D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + 230DA5863781A8B65785580F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; + 236BD482AC7531A148BE62FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 24FB55B0756B0F243FDE72FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + 2504AF4E1F2BF8E5AC33B49F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; 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"; }; @@ -131,14 +158,15 @@ 2938AF03FFF27AA8325D67E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; 295C33C2F1D9BE164A65B7D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 29B53A4517C0BD861F290282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A5A20FEBFCB7B25E584AA9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 2A9678E01048A11132E2897E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 2A9E313E793095709DF3B5FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; 2AACAB107F32D63286F4150A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 2AB9AB1A4332D87324152CA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; 2AEA375F71EFD9D008DD46D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -146,7 +174,9 @@ 2DA8EE98C7FA0107BB795DE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2E4E97AC7EAF3E27735237D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; 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"; }; + 2ECAEB2FC78B637E580154B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; 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"; }; @@ -164,6 +194,7 @@ 34626B67E295B5CCC14EA574 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; 348630263969F53E99701B67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 34E480C353B9C741DF744493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 34E73AEA2C029D8448A4329E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; 34EBFF98FC16464C109B0888 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; 35283E43621A3EE05DE5DD03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; 35BF20471F66D6A6F5A88EDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -175,8 +206,10 @@ 3718E5BB4634A35053091D2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 3725361DF38C906442276C14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; 37437092B3F57B0CAB566010 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3750334796191BB156B71627 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; 38111E53FDBDFD636E2453C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; 38170DB569DC8B502EEF97EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + 393A6E8AF9AD41715EE7CBF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; 39C555C5A6C4F5D6FBC57EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; 39DA58633C1211C747F67DA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 39DBD4799E7BF499F1358411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; @@ -185,8 +218,9 @@ 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"; }; + 3D42E2DE57EB442042C10841 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; 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"; }; + 3EAAF25E5CA2E66F9ECCDD2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; 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"; }; @@ -199,7 +233,9 @@ 42F516156B0D21D30AAB8C99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; 43146754470FC405E35C61C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 4330C6D3102A1CE34EF07274 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 438152EF06B6C60D775CECA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; 43889CC80C386BE6083465BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 43A791DB034B74449FD22FEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; 43C2F15C3A916D74C6F7BECD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; 44EF07F9D55CF240D2C6829F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 454BB027AFF25595005FCDCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -207,19 +243,22 @@ 466945F053EE1F17B1EA2965 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; 468E251A8BFF9094F2A1F40B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; 46BA387B9846DE95B9734A6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 473D27E4C6B786C46894EAFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; 47420E9F2C3992BBEC304169 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 4748800BF08552270E0F23F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47A7FE632D6768737E99EDC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; 47AE5D950463462AD0119DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47B09ACBB4DCACF035842864 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; 48DBDC402957B8813D34889F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; 48F197EF4B1D7C387C4D4143 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; 48F3C234939CEEF721969B62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 495292E448D50AF789D8285F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 497BEB91984847A2EA58696A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 498DB22441F2505AA7925156 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; 49F68460B468D1A74BBA6D33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -255,12 +294,14 @@ 53308A06254AEA925E67A1C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 53996814B52F9D0E9469E2F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 53D4021F5F26734981C00141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 53E7A904332D8AD6824826DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; 53F7A707EB7DF75E7BFB1F46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 543D99A819656A9CE0C6705E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; 553B2991C1D6F6919DD21D66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; 55AFCC03E3846A148D39F107 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 55CC8BECA30814132292C621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 55CD0CF473F7DD360414F853 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 55ECA64DDEEDBEBA9A709320 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; 562543990F40D511D35860B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 56A85728869D613DD63B09D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; 572BA4B7C35AEFD765701AC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -274,7 +315,9 @@ 5AD77E4580E993027F6E66DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 5BC4EBBC1362511087711396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C20D38EEE8CD19F9DB35C25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C442F6BF1B4242846BFAE50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D1B48AD0BBD56E4CCA903E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + 5D40831CED82E2AA2BE78F80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; 5D516238633A2C54AA3F15C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; 5EF0B5CB5268F14E7E6AAC76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 5F102FB2CFF1A1E9980A9798 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -283,8 +326,10 @@ 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"; }; + 62470EB620E00184941291A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; 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"; }; + 63090B109D4607219E76F5BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.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"; }; 64069872E48DFBEB4C088986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -318,6 +363,7 @@ 6C4347AB3DA9FD6AFAC4FED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; 6C5128F5931411DA99798615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; 6CFCF06D79C5E1BE561C0449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D7ADE3DFF95BFD39494E216 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; 6DD42F1C0C1F431E52AE33B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 6E2D140C6E376BDB1705C146 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; 6E64991AD8758CC9928F2FD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -326,6 +372,7 @@ 6EDB811A231F6073015BDEFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; 6F45B51D34423C5B4D5E7C30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F9E2B4F294C514975CDEC88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6FE614802FF9540DC42AB50D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 7032AFDEBE7F912A53B1BE94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; 708D1E96D60FE0623CCA6F5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 71F744EF88196254BC8723A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; @@ -334,17 +381,21 @@ 72DD5CD034CD303C2B18A57C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; 72F539F961C89BA62142C842 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 73035CCE543396241CF1CC6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + 732F51BB3DF704CD444170B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 73300B38F6FAD7DCCFA3ABBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 733CB62BD606962B480FA06C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 736526701EB0A4B456BC693C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCReceiver.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp"; sourceTree = "SOURCE_ROOT"; }; 73BFE7053BFEB7048361CDD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7428F446B90CF7F6D6E892E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; + 749DCC393CD3B1E2FE04A41C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 7522049EA64D3602F2F1F43B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 75499CAD626EAEFBCC4BDA73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; + 75ED1FF6EFED86283B5BDAC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; 75FA5584B971194439D53F2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; 76CB04A787E1A56B081E78D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -352,12 +403,15 @@ 78C7C0B5C9BFB288EB6FA90A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 79A9CBF81E14BA9DEF349A42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; 7A3F2D0B4E8977D4F41C3642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A4B760F31313DA02DA61258 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; 7AC60F45B53E544C73444A4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 7ACEA195D02B56FEFBBDFC48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; 7AE60B16383CCCE42DB2B5C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 7AEC40C6AA4C53417310F4F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B2C220BA2F031FD0B41CB0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; 7BA658AE8F5879F0C6AA409D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 7C3789FDC48E242E998828EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + 7C4DBAD75BA2AE24FAA3AA2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; 7C71DAAB94218D3D74E16080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 7C811924DDDEF5654444C3AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; 7DAFB1EF06E70BF521A9D54B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -365,11 +419,15 @@ 7E5929781730A36E236FE175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; 7EE9E2A8480D8C94BCC89D3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 7F032CBC31D932C62734354A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F4AD9F7318037A05E1D0F3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; 802F0F00B21260AE4387989C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 80B77176796A3A6D66E39825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; 811B1A490EC72442A97325A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + 8132B07B61B9FA671142599F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; 813F143E827AC7B7F6824A5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 81D8A310C3EC50822819FAAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; 81DE400BF155228DE78775AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 81E8CCD8AB6424DB53C7B6C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; 82E73EB5D8B07BF5ACC4D324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; 82F52609BB06002135EA7922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; 8348849E3155F3D8C2BC25CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; @@ -396,17 +454,22 @@ 8A82CE68FDD855A84A38D5DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; 8AB8FDC910690D28C897F9DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 8ABEB7DF1A5191CF1AEE8AE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8AFD6857A254AC6FC0259589 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; 8B26E3242BC1117C0440AF18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 8B6DCA8FAE0FAFCA0243E56C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8CBFEA5C90BF3A3B5C429587 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + 8CCAFF1DACBE072391340AEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; 8CD817E5218875AAB997DC5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 8DBDFD4842B217A36D854305 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; 8E020AF967498BB4870389A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; 8E2CE516B79D19BEB37091F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; 8E6D5BA7C926EF91846751DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8EA27B8650D742E1E55B6904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 8EBD89FCD97956A62F772C67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; 8F1FE388326ADC209857F67B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; 8F6B662381AA854DA2BB135A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 8F8307A395A898224E34DAAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + 8F93F76FF711A608B07023EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; 8FB1291D7DF43665AA16B8DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 90DDC8CFB5372CC67C55A064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 9183FE6399753C92E85E90E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -416,19 +479,24 @@ 92D7BDB32E71543CE71197FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 930C575DA251C43E3557A6B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 933071AE01A499C371BE3B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + 949383C054E70759782F179A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + 94A75685343FBB282A4844C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 968B458915CBFDAC547707B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 981637567B995A0E62CF94D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; 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"; }; + 9A12C88B781B6724664429B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; 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"; }; + 9CA3ABD7C0C94896071807F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; 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"; }; @@ -436,6 +504,7 @@ 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"; }; 9E38266E6C788A84B23EFF38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F15D0FCA578D0194CEC1704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F2279E6DB48ED74F9D97403 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; 9F442098CC5C1F10406A0470 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F6452874CE54BE04A310FEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; 9F73A3F60DAA10EFFBF931F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -446,59 +515,59 @@ A18A90FA1552283B6BDF2DC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A2CB4EE2D7813410217BC97D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.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"; }; + 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"; }; - A696A473DCB2949D180C32F3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_osc/juce_module_info"; 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"; }; + A766AADDEDFF62A0D12EC8C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; A805FCFA6FEA8BD5EF3A9E44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + A823DD20822F22F308D9FD43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; 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"; }; AB6C04C1633A778DF95EB92A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + AC0DFB100E60C8BCEC911752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; 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"; }; - AD3D5554C179E7D360D47EC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; 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"; }; - B0FDE99C3834AF0693AC3A01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - A44D40B3EFD665DB9AEFA52D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; 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"; }; - A9B4F052D838C107FAFD1942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; 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"; }; - AB485B79A834EAE2423070B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.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"; }; 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"; }; + AEB8350D8A0CBABF6596A2A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; 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"; }; + B0FDE99C3834AF0693AC3A01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; B174DA3281047C7EAC6094F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; B1BCE232AB62B32B4383B5A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; B1C8AA5976BE10A0868A0D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -506,7 +575,9 @@ 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"; }; + B44B32601DC5377E8D495A79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; 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"; }; B62ADA35ED8B8FC5B03CCD11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -516,26 +587,36 @@ B6F52787254295B9FE405094 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; B703A6B2748D906CAD72890E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; B74252ECEEEBB79A3FE6D792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B7B6C3D70B2DE89EE052790F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; B7D5A64ABEB5E95D79AAB93C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; B8286F716D48E4F3F40D18C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; B8627F7B3341190CD7ED8D41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; B8B228F03123683FB0F003F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + B8ED128DBBEEDF6F5A210328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; + B8F8529ED567CD84EDABE625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; B95E3992A72900539ECA613B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; B9E44FF40E2F9DAF2980C7C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; BA9F7CFA56AA7D02371740CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; BAB56299EA22E12ADBA912CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + BAD93AD3E84E4304C8B132D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; }; BADB77F2A3EEB2CC3D92A6FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; BBAA8397ABCB2E7370AFEDC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; BBABED75602DFC68C50A59CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; BBC5780E3334A0B38CEE3132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + BBCFE7093F51A9F755E2FB62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; BBE630009C367704659D83AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + BBF6C97DA72F836FC289B321 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; + BC08C3CF6F1FF97B27B0F752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; BC094BC2DA8B23E658A6B819 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + BCC0883F7666A11B3258EBBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; BD0EA80C4BC4E18285D9EEF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; BD967DC309387DC521ABCFCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; BE98CB33D87DC6D0F6554384 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; BEEF29E02364652DC0B3E5F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; BEFE75AD197E5D5381CD4C3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; BF210F1FC404D8E7E584070D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + BFB7580F6891EF325235E3DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + BFBA80D4C19565E242C8CC41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; C003FA05EC37D3C2AC194912 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; C00E476E25C38140F2843A28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; C0487595B34A677EAA6A9506 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; @@ -546,6 +627,7 @@ C1F24281F4140662C233E39B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; C28118368FF1AD6BC7510AC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; C2B03A4889FC5F0A4E54AE12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + C2C99BAF64616F0832839C90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; C2CE15126F0D9C35001BA09B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; C2FEF8DFF4C563E87C3996DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; C2FFC6B3077CE4D5DDB9BB2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -553,21 +635,28 @@ C3A9159139BE77281F911AD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; C4BE349D33F846D96D39E39C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; C5048036C884ACDE81672A35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + C51166C05EE8E215D3530173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; C52BCCE2EE8A5705FD78FF39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + C545F6DAFFEC9C9C56406190 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; + C5944D401ECA54191A2AC6F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; + C5CBCF6AC45F1F7EB1985226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; C5E902B70833BFE456E615E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; C6BBF7B5ED8309831D08E839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; C71335CC680C84ED2F7A10F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + C7AC0DAFA7EC9011516E7CC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; C8CDB54D0CA8C038E39D17B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; C958753C4C963D7173070C30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; C967E0681EBDCC72C15DB20B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; C978C00BC9E9AF3D047CB776 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; C990035023ECD9A1571F6C67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + C99F90D93DC8D604A74102BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; C9DEF4317B0B08D7FDC829D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; CA13789D2B775D5F9BDBCA3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; CA8B268DFEED1165BC990BA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -576,6 +665,7 @@ CE1EBFE8CB48D17396D136FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osc.h"; path = "../../../../modules/juce_osc/juce_osc.h"; sourceTree = "SOURCE_ROOT"; }; CE494A925774A25F0DCB6C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; CEC786D2A6B7B93FE7483DD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + CF0E1F12919D12EC1B1DC363 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; CF28EB7E08F78B73042382D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; CF3EDAB6FCD6DB8F3081A806 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; CF577D8B2505E070A64A69B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; @@ -584,11 +674,13 @@ D08BFAF17DDB7552A27622EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; D0B23622748D41DAD10AE768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; D0D4EC860432570FE05603C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + D1AE9B996DBE50383E8E052F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; D21D5DCBCA5DA09A33309382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; D23912011310F6AB9D15B717 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; D2ABC80009489A163D322840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCBundle.h"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.h"; sourceTree = "SOURCE_ROOT"; }; D38FC62D98E4DE9A4B49D87F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; D43B23E35170ABA7CCB036DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; + D4424BB49BAC2DDA54A2B653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; D49D9721EF36A0A9003A2185 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; D4D56ABACAB91708B2C7F429 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; D4D6D58A5E8D012F2C6BE6A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -596,30 +688,45 @@ D4FDB0BE2ECC4CD0D0E43EF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; D5A0C3B70D24018BC390AA55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D5A80039BD85EA3BCF5FEB5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5BFBFEE2CD1B94F4A5EDE20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; + D5F1ACC47C2E14FAFBD70FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; D6CABCC4491CF634613E112D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; D6DE4E497283A637232DFEAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + D725347525528F43126732C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; D7382C91BBE7BED7EEC2593D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7609C611B80B7358D802390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; D7744E3395FB2EDB6BA87348 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + D7909121C2A22576361952D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; D8CFBF2ABCEA59DA64F2CA97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; D8FA9CFF62186C13E59E6777 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; D91B35DAD2EECF65BFB5DE7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; D94F6A1F7528E796BCCA5133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; DA4A97E7126D60678E605F6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; DAD8D98D05016F4B35F30F89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + DB4BD4A9867DF4626C6C8B58 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + DB5E1AD1DAC3AD2621B0ABE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; 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"; }; + DC39B5D2CF491DC35FD561EA = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; 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"; }; + DCF13EB73A56E4C93A3040D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; 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"; }; + DDF4116147A7BC31B313B6BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; 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"; }; DE65E7CCEA32CA6DE503E6BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; DEDCFFBDAED5D311B3AA20CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; + DEEA454D96778D7FD36BDBF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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"; }; + E0261F029D19C7B57C97081B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; 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"; }; E0B34CA80FF62EA906C4C243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; @@ -646,20 +753,28 @@ E89E48AFA00E5622F1692438 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; E8E6ABC353168BEE959E71C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; E921864FBDD7EA06B80B174D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + E9747504456F5CEA1882E234 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; E9C7F2012E864AF0E3A0C54F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; EA0C72B080C0210059FFF3B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + EAA312396E6A24534142328F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; EAD8CB0E424AE7D4AE816A27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; EB3359254304B69D05D67FB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; EC755497D39FA520E93F3370 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; ECF4234FEAE6C75137E5DB79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; EE0D03B7B6AB32FA40449259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + EE18D7FF05DAA99C34F4362B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; EE1B3E14D3030AC7E9264F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; EEAE83B80684E9D36AC68FB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + EEB640036A14C0466DA14297 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; + EECF1B8F4D9C41CE50FE3FF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; + EED89D7559AE8F96790525A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; EEE5998A58C5A2F3F16446EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; EF5192ADE6E17ACC78041FAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; EFC57D6F74325EE5FB0EBA04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFCFD27FABBD773B97A42570 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; EFE8D0D7DA06E1363D2FF558 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; F00734AD60B70D43265F0E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F0BA319931ED06C257E2B98A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; F0C271145B3700945FCEABA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; F1677628C82070DBF59801E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; F1893D7942C374078098DE2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -667,7 +782,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"; }; @@ -683,12 +797,14 @@ F5ACA7711E16C71E09FC73B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; F64B83D11FA65FE8007E283C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; F66A98229393D8EC965D1DE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCTypes.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCTypes.cpp"; sourceTree = "SOURCE_ROOT"; }; + F69BD19D244DE313B7482101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; F6EBABE2BFE9070CDC224B6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; F72632010108B75747ECF64A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; F772BBF20D29A55B03ED584C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; F785479480C4D3608214F232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; F79941BFA9FA88D7E88D8485 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; F7C3DF66D78EA1D211019D88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + F7C6B50FC38D3591BC0899F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; F7FF860DC3ACED469A2BFEC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; F8353823A3BAC4B973DCCD1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; F882169438543868B110E088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; @@ -710,62 +826,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, ); 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 = ( + 27C209CBB5D4A85E7BD8B036 = {isa = PBXGroup; children = ( 02902070CB983B5C660E9353, A30DB48976D59DC60840F2D5, 19A5887B8C9338C515FB8037, @@ -787,37 +854,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 = ( + 1FA8D6447DF65BA64B0ACC20 = {isa = PBXGroup; children = ( E42028FA6B1F69AB78BD49A6, 7AC60F45B53E544C73444A4E, E2261AD6C631588B92DC35C9, @@ -835,7 +872,81 @@ A10BDD742143769FB54E7B04, 424B11AA3AD5C76780279F1A, 12FCBB996C1B4A7FA292D433, ); name = files; sourceTree = ""; }; - 0E0C978D78667D0A6D1C0E66 = {isa = PBXGroup; children = ( + 3F0B51632BC240561E1D7D1E = {isa = PBXGroup; children = ( + 2F5D91A8BEED8BDDEA3A3B76, + DE65E7CCEA32CA6DE503E6BB, + 9CA34293E4273F295FFBB660, + 513DCF2A9CF7107A46F24DED, ); name = javascript; sourceTree = ""; }; + D28D41E61CD4343C8FA15B8B = {isa = PBXGroup; children = ( + 63ACD466D68FCF1C2961D998, + 42F516156B0D21D30AAB8C99, + 8F6B662381AA854DA2BB135A, + 346175F3C3EBEDF87593C922, ); name = logging; sourceTree = ""; }; + FF0C512458D09E46B870413B = {isa = PBXGroup; children = ( + 3FE59126846263AB26CB0774, + A50DFE0EB9BAA4101CD7340D, + 92D7BDB32E71543CE71197FA, + A28DEB804458D726B1C7B6F3, + 53F7A707EB7DF75E7BFB1F46, + 6E6DD2EBF8B46DA19CE4FDD0, + 33E821C107D7EFCA4D6AE625, + F25C3FD19868F480AE07C8B1, + 3A5C25CF94C5E9EDD134E98B, + 5D40831CED82E2AA2BE78F80, ); name = maths; sourceTree = ""; }; + 7A953849122FB23F04C42B7B = {isa = PBXGroup; children = ( + E7EADC825F5DF0028801B29A, + 933071AE01A499C371BE3B91, + 0A596F8DC135FE9557563DA7, + DC72DD3BD9A383213F066945, + 79A9CBF81E14BA9DEF349A42, + 4CC72F1AD3ECB6090A9EE0F1, + 50E452823758DBEBD07E457C, + E2FBD8ADD1D1BA17C9BF9E0E, + 8CD817E5218875AAB997DC5B, + D4FB0A83D4A7485C7A4B3C5B, + 1FF424FF6292C3A261881465, + E3002E30D244778EBB37DD59, + 3BD3440C2FFC460C41E84AE5, + C967E0681EBDCC72C15DB20B, ); name = memory; sourceTree = ""; }; + A59FC472695916A243C1A71F = {isa = PBXGroup; children = ( + 7AE60B16383CCCE42DB2B5C4, + 82E73EB5D8B07BF5ACC4D324, + 495292E448D50AF789D8285F, + 94A75685343FBB282A4844C5, + D4D6D58A5E8D012F2C6BE6A8, + E921864FBDD7EA06B80B174D, + 0E2D67E4FB1C2A7F4B539F69, ); name = misc; sourceTree = ""; }; + 1321CFFF37494AD83F0CD347 = {isa = PBXGroup; children = ( + 71FB886A43C4C12F09DD8F83, + 4330C6D3102A1CE34EF07274, + FC690C1A6B49F5FB0FB4BFF1, + E831617BDC8E84954DAF38D5, + 0CE5F7457382ADF9A1BDC171, + DC774BDEB713B96D5CC8250B, + 2105A609D766ABA7B558574E, + C5E902B70833BFE456E615E5, + CA13789D2B775D5F9BDBCA3D, + 4748800BF08552270E0F23F2, + 2AACAB107F32D63286F4150A, + 43146754470FC405E35C61C2, + 2177227CC11C1CB5ACECD3C0, + F0C271145B3700945FCEABA9, + 3E3D86CFB920FE4F508AF2E1, + 0F70B9F2D91DE1BEC0BD9EA7, + 8720FDDB26F663E3718902FD, + E4F5E4EC08CE1288E5A4E535, + 39C555C5A6C4F5D6FBC57EB0, + D4FDB0BE2ECC4CD0D0E43EF8, + 07039D2BA2618088A20B32F7, + 1641001AB85C7CCC2A524F97, + D7744E3395FB2EDB6BA87348, + 61F68A9EAE73779AB6B03394, + CAB607544E4BFF30E9A7B3EB, + 284A5A4EA48E221E964683D2, + 81D8A310C3EC50822819FAAB, + 0FDA0F674C5C5285F2AA3BB5, + F9DDF5ECEA898480B8C0682B, ); name = native; sourceTree = ""; }; + 11EB2D4BB58FEE6D2243AEB9 = {isa = PBXGroup; children = ( 5971D31EDEC2065BE5037233, E0B34CA80FF62EA906C4C243, A1EF889B3140DFD9252AF63F, @@ -846,7 +957,7 @@ 58DDDC9F9A246900A39CD543, 43C2F15C3A916D74C6F7BECD, B95E3992A72900539ECA613B, ); name = network; sourceTree = ""; }; - D023AAAAE7A51DE0ED2BBBB0 = {isa = PBXGroup; children = ( + 0ADB80B628B0FD6B46B4D24D = {isa = PBXGroup; children = ( 34E480C353B9C741DF744493, 1B1E99DA1D133DE21750F2B5, ACCA52F26CCCA0AFFA6A8CD7, @@ -862,92 +973,128 @@ 22C3DC40F0504496216B1606, 06545463B8174C7C16547ACA, 2938AF03FFF27AA8325D67E4, ); name = streams; sourceTree = ""; }; - AE26E6CD3A04F69975FA6EA7 = {isa = PBXGroup; children = ( - 63ACD466D68FCF1C2961D998, - 42F516156B0D21D30AAB8C99, - 8F6B662381AA854DA2BB135A, - 346175F3C3EBEDF87593C922, ); name = logging; sourceTree = ""; }; - EA3BBAD4740E39D494A89B7F = {isa = PBXGroup; children = ( + AF701AEB6D64AB46067E527C = {isa = PBXGroup; children = ( FCAFE9D9D365B0D81CD0ADBB, 68997969EBB0698521F23F03, 5D1B48AD0BBD56E4CCA903E1, B174DA3281047C7EAC6094F3, 468E251A8BFF9094F2A1F40B, 34626B67E295B5CCC14EA574, ); name = system; sourceTree = ""; }; - B86D1813C40F514F7CCB3CBF = {isa = PBXGroup; children = ( + 0C74516B9B8528651BD7890B = {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 = ""; }; + F061B9C59D8CC1D3351A96E6 = {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 = ""; }; + 8106960854CD0FC27DFFF8B2 = {isa = PBXGroup; children = ( + 73BFE7053BFEB7048361CDD7, + 08E80056F3657A4A09CD2959, + A0F56E204C579B3092C93B94, + 154CDA29F1FB80E53572163A, + 3B38D39DE9EBA8BE3717DEA9, + 787A3937A8B0DBE96BAC0830, ); name = time; sourceTree = ""; }; + 1B0326180FB37DED0EBD20AC = {isa = PBXGroup; children = ( + 6520C9924FEF72AABB3D549E, + F91E4EDC09685B5D28610183, ); name = "unit_tests"; sourceTree = ""; }; + 4AF47EF60FD760701C26CB1C = {isa = PBXGroup; children = ( AC7DAA723FAE3F02E1C4CEE9, 0274BC3438864250B2DDD21E, A8EDA3B8057F16EEF1E365C3, AB485B79A834EAE2423070B2, ); name = xml; sourceTree = ""; }; - 9D86176CB35770E086683E0F = {isa = PBXGroup; children = ( - 2F5D91A8BEED8BDDEA3A3B76, - DE65E7CCEA32CA6DE503E6BB, - 9CA34293E4273F295FFBB660, - 513DCF2A9CF7107A46F24DED, ); name = javascript; sourceTree = ""; }; - 45AEF1B2E6EFDBF31DCC916F = {isa = PBXGroup; children = ( + B3F31165FFE7205A95DF294E = {isa = PBXGroup; children = ( + 02C2D41C3ACE914AE96C6AC5, + 0AB3DCC727E73EE2E80F229D, + 53E7A904332D8AD6824826DB, + C5944D401ECA54191A2AC6F3, + 0B8EA993F7BF4DEC8AE70AF8, + EFCFD27FABBD773B97A42570, + 6FE614802FF9540DC42AB50D, + 9F2279E6DB48ED74F9D97403, + AC0DFB100E60C8BCEC911752, + CF0E1F12919D12EC1B1DC363, + BCC0883F7666A11B3258EBBA, + 80B77176796A3A6D66E39825, + EED89D7559AE8F96790525A5, + 7ACEA195D02B56FEFBBDFC48, + D5BFBFEE2CD1B94F4A5EDE20, + 7F4AD9F7318037A05E1D0F3D, + 102F0A639DAF38318162857D, + 8EBD89FCD97956A62F772C67, + 438152EF06B6C60D775CECA9, + 473D27E4C6B786C46894EAFC, + 8132B07B61B9FA671142599F, + B8F8529ED567CD84EDABE625, ); name = zlib; sourceTree = ""; }; + 009BCD9DDCD2A0ABAE76F667 = {isa = PBXGroup; children = ( + B3F31165FFE7205A95DF294E, F8353823A3BAC4B973DCCD1C, E739A5F3B28EBAC342D4CA8E, C2FEF8DFF4C563E87C3996DF, 497BEB91984847A2EA58696A, F46AEB053CAA7CAA1B6E8F20, 19B1C2B51A9B511819348135, ); name = zip; sourceTree = ""; }; - ECAE52D2648814EEF73DEE75 = {isa = PBXGroup; children = ( - 6520C9924FEF72AABB3D549E, - F91E4EDC09685B5D28610183, ); name = "unit_tests"; sourceTree = ""; }; - D434E5B79E878B46550AA98C = {isa = PBXGroup; children = ( - 7AE60B16383CCCE42DB2B5C4, - 82E73EB5D8B07BF5ACC4D324, - D4D6D58A5E8D012F2C6BE6A8, - E921864FBDD7EA06B80B174D, - 0E2D67E4FB1C2A7F4B539F69, ); name = misc; sourceTree = ""; }; - 7838DB57EC9E88D3143FC1F9 = {isa = PBXGroup; children = ( - 71FB886A43C4C12F09DD8F83, - 4330C6D3102A1CE34EF07274, - FC690C1A6B49F5FB0FB4BFF1, - E831617BDC8E84954DAF38D5, - DC774BDEB713B96D5CC8250B, - 2105A609D766ABA7B558574E, - C5E902B70833BFE456E615E5, - CA13789D2B775D5F9BDBCA3D, - 4748800BF08552270E0F23F2, - 2AACAB107F32D63286F4150A, - 43146754470FC405E35C61C2, - 2177227CC11C1CB5ACECD3C0, - F0C271145B3700945FCEABA9, - 3E3D86CFB920FE4F508AF2E1, - 0F70B9F2D91DE1BEC0BD9EA7, - 8720FDDB26F663E3718902FD, - E4F5E4EC08CE1288E5A4E535, - 39C555C5A6C4F5D6FBC57EB0, - D4FDB0BE2ECC4CD0D0E43EF8, - 07039D2BA2618088A20B32F7, - 1641001AB85C7CCC2A524F97, - D7744E3395FB2EDB6BA87348, - 61F68A9EAE73779AB6B03394, - CAB607544E4BFF30E9A7B3EB, - 284A5A4EA48E221E964683D2, - 81D8A310C3EC50822819FAAB, - 0FDA0F674C5C5285F2AA3BB5, - F9DDF5ECEA898480B8C0682B, ); name = native; sourceTree = ""; }; A441ACE8FE8C90C1C24D6113 = {isa = PBXGroup; children = ( - 3196D8462A7A9ECA38B99608, - 19ED8E59DC256BA38F91B3D0, - AB026E843C263E19F49B34A8, - BEBB1CD0E30A3621CDF1F0DA, - C32C57EBCBB4781E90D32FEC, - BB75F759C1593B81724A91DC, - F9238429FDAA04F670AC6857, - 0E0C978D78667D0A6D1C0E66, - D023AAAAE7A51DE0ED2BBBB0, - AE26E6CD3A04F69975FA6EA7, - EA3BBAD4740E39D494A89B7F, - B86D1813C40F514F7CCB3CBF, - 9D86176CB35770E086683E0F, - 45AEF1B2E6EFDBF31DCC916F, - ECAE52D2648814EEF73DEE75, - D434E5B79E878B46550AA98C, - 7838DB57EC9E88D3143FC1F9, - 2B7CD02A2496F74A835F85EC, + 27C209CBB5D4A85E7BD8B036, + 1FA8D6447DF65BA64B0ACC20, + 3F0B51632BC240561E1D7D1E, + D28D41E61CD4343C8FA15B8B, + FF0C512458D09E46B870413B, + 7A953849122FB23F04C42B7B, + A59FC472695916A243C1A71F, + 1321CFFF37494AD83F0CD347, + 11EB2D4BB58FEE6D2243AEB9, + 0ADB80B628B0FD6B46B4D24D, + AF701AEB6D64AB46067E527C, + 0C74516B9B8528651BD7890B, + F061B9C59D8CC1D3351A96E6, + 8106960854CD0FC27DFFF8B2, + 1B0326180FB37DED0EBD20AC, + 4AF47EF60FD760701C26CB1C, + 009BCD9DDCD2A0ABAE76F667, + 2ECAEB2FC78B637E580154B5, + A18A90FA1552283B6BDF2DC8, + 626F0D75A5519028C44B4CF1, A18A90FA1552283B6BDF2DC8, ); name = "juce_core"; sourceTree = ""; }; 5D861E98DF674CEBCFEA5218 = {isa = PBXGroup; children = ( 2AB9AB1A4332D87324152CA3, @@ -956,7 +1103,7 @@ BBABED75602DFC68C50A59CD, 40F8B56D9CB67C9EA12FE8E7, 1D82059FDA977E6D069CE2BB, ); name = encryption; sourceTree = ""; }; - 1415FBACFE8A4726B934C7F4 = {isa = PBXGroup; children = ( + EAE5BE9053E67BD8D235ADFD = {isa = PBXGroup; children = ( 24CEC2AE253DA876582FC176, 5277A3F7A1C79A1C329904BB, 89A9290B073AED09AB9D811D, @@ -965,51 +1112,38 @@ F882169438543868B110E088, ); name = hashing; sourceTree = ""; }; 94896443AE0D0B2A7E932DB2 = {isa = PBXGroup; children = ( 5D861E98DF674CEBCFEA5218, - 1415FBACFE8A4726B934C7F4, - AD9F6FD5885C1A30F8A4137B, + EAE5BE9053E67BD8D235ADFD, + BAD93AD3E84E4304C8B132D6, + 2FB22C2B905BD2481D707EA3, + 2F4C92EFC95FE5318931035E, 2FB22C2B905BD2481D707EA3, ); name = "juce_cryptography"; sourceTree = ""; }; - F3523D31E135A94C9B144F2E = {isa = PBXGroup; children = ( + 85CCB68EC5E502C96B4ABA49 = {isa = PBXGroup; children = ( + 4C25A8DD71351D96AF7C2D5A, + 682CE152DBD7B715D9304027, + BC094BC2DA8B23E658A6B819, + 2DC13DC88C4B1078BBC49E15, ); name = "app_properties"; sourceTree = ""; }; + D2ECED6EF3ADC0936E4E56F6 = {isa = PBXGroup; children = ( + F51CEDBA1DF53D624E267294, + 0028C92C4974244F9F2C0552, + 1074CAEE6474E42D127DD39E, ); name = undomanager; sourceTree = ""; }; + D90618362DC831B0B32722D8 = {isa = PBXGroup; children = ( + BFB7580F6891EF325235E3DA, + 6D7ADE3DFF95BFD39494E216, 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, - 07E12511F5CCC94359BE727D, - D0D01BD5585C49ABAA7D630F, - AA9900BC5F986A7CA0881A42, + 85CCB68EC5E502C96B4ABA49, + D2ECED6EF3ADC0936E4E56F6, + D90618362DC831B0B32722D8, + DB5E1AD1DAC3AD2621B0ABE9, + DA4A97E7126D60678E605F6F, + 4DAB65524949B4339D76298D, DA4A97E7126D60678E605F6F, ); name = "juce_data_structures"; sourceTree = ""; }; - 2EF1594F28DEC6B7B3CD07CC = {isa = PBXGroup; children = ( - 0862462F411727C384F44BC8, - 84D987C97E5C00276E8DE77A, - D0D4EC860432570FE05603C6, - BBAA8397ABCB2E7370AFEDC2, - 6931D44E4079C4B3733E3D54, - 8E2CE516B79D19BEB37091F8, - 15C412FC0AA31C6176F8923A, - 52F9ACFA59568749AD48B88D, - F199CB61A6382676D2158F0A, - 37437092B3F57B0CAB566010, - 04549F6731AF483F963B9B96, - F1893D7942C374078098DE2C, - 73035CCE543396241CF1CC6D, ); name = messages; sourceTree = ""; }; - 0916B216684A064A4C26E284 = {isa = PBXGroup; children = ( - 562543990F40D511D35860B1, - E8E6ABC353168BEE959E71C0, - 2BBCE022AB819439997B08AA, - A7C919D8B93563494712C2D9, ); name = timers; sourceTree = ""; }; - 65D64FED748E0D5C0FFAC466 = {isa = PBXGroup; children = ( + 42F7ADAFEA5E31413D87DB80 = {isa = PBXGroup; children = ( E6066C6390B02A9A4F2CE371, 71F744EF88196254BC8723A6, 2BBF562AFD6A56C8129EC787, @@ -1025,7 +1159,21 @@ 2B7B1D5CED081D2F0390C46B, 20B89D3C3AC21790B1E0D236, A022F5153117EDD144C535EB, ); name = interprocess; sourceTree = ""; }; - 1D42746B81267028D31594A2 = {isa = PBXGroup; children = ( + A9669E39D67951918DD9AD42 = {isa = PBXGroup; children = ( + 0862462F411727C384F44BC8, + 84D987C97E5C00276E8DE77A, + D0D4EC860432570FE05603C6, + BBAA8397ABCB2E7370AFEDC2, + 6931D44E4079C4B3733E3D54, + 8E2CE516B79D19BEB37091F8, + 15C412FC0AA31C6176F8923A, + 52F9ACFA59568749AD48B88D, + F199CB61A6382676D2158F0A, + 37437092B3F57B0CAB566010, + 04549F6731AF483F963B9B96, + F1893D7942C374078098DE2C, + 73035CCE543396241CF1CC6D, ); name = messages; sourceTree = ""; }; + 13DD6DB52ABCBB6D8F3858CA = {isa = PBXGroup; children = ( 0B60A600A4680D8EEDC49C19, CE494A925774A25F0DCB6C8B, 06160D99938D8DB84E9F905E, @@ -1034,15 +1182,22 @@ 39DA58633C1211C747F67DA9, 51E9D1E004857083B730EF36, 33D27513B795542ADA640B1A, ); name = native; sourceTree = ""; }; + 950E908E4124703C470C4223 = {isa = PBXGroup; children = ( + 562543990F40D511D35860B1, + E8E6ABC353168BEE959E71C0, + 2BBCE022AB819439997B08AA, + A7C919D8B93563494712C2D9, ); name = timers; sourceTree = ""; }; 75AA84A7BB64BF365EB55A2E = {isa = PBXGroup; children = ( - 2EF1594F28DEC6B7B3CD07CC, - 0916B216684A064A4C26E284, - 65D64FED748E0D5C0FFAC466, + 42F7ADAFEA5E31413D87DB80, A6897CD2446220A13F897CF0, - 1D42746B81267028D31594A2, - 98E1274F9510AEB691B15037, + A9669E39D67951918DD9AD42, + 13DD6DB52ABCBB6D8F3858CA, + 950E908E4124703C470C4223, + EAA312396E6A24534142328F, + F3DA4CEDB1B0B934B98683B1, + 3F73EB500D747EB6820A0527, F3DA4CEDB1B0B934B98683B1, ); name = "juce_events"; sourceTree = ""; }; - 92E5D5E7D3A2564FE48537D0 = {isa = PBXGroup; children = ( + DB8D46D6B61B41545B7B15F0 = {isa = PBXGroup; children = ( 6AD6B0C08F078B725494547C, 658575A4488574E6135B249F, 26B97B73DC75AF55EEC7F6EF, @@ -1052,7 +1207,7 @@ F2EAD1FE87BE27F14FF5BD56, B0FDE99C3834AF0693AC3A01, 2DA8EE98C7FA0107BB795DE6, ); name = colour; sourceTree = ""; }; - 34C75DEAD3F72EF2C034DEB0 = {isa = PBXGroup; children = ( + 768F36FEEA3629CDDABBDBCB = {isa = PBXGroup; children = ( 0BAF400A3E4F13538CF72077, 5F6AB1A1EA0021DD78CC50E6, 968B458915CBFDAC547707B2, @@ -1060,20 +1215,26 @@ 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 = ""; }; - 5343BD1505AC38EFBE4188CE = {isa = PBXGroup; children = ( + AAFDC0D383AB3019A2090E7A = {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 = ""; }; + 5A15492D20E0922CD2056CB4 = {isa = PBXGroup; children = ( F26E02D6360ECA56393F94F0, 858B1B4B5D86499655B2F90E, 5D516238633A2C54AA3F15C1, @@ -1089,30 +1250,105 @@ 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 = ( + 92837D14320AFE4354C68851 = {isa = PBXGroup; children = ( + C5CBCF6AC45F1F7EB1985226, + DC39B5D2CF491DC35FD561EA, + 12F61001398B1E142A2D11C9, + EEB640036A14C0466DA14297, + 1DCD299EE107542A7F1D0B15, + E0261F029D19C7B57C97081B, + EE18D7FF05DAA99C34F4362B, + 7428F446B90CF7F6D6E892E3, + B7B6C3D70B2DE89EE052790F, + 47A7FE632D6768737E99EDC5, + 03CB889A8D08A099FAC734B7, + 230DA5863781A8B65785580F, + F69BD19D244DE313B7482101, + 1C35775D662AB3BFF1B2BAD1, + D7609C611B80B7358D802390, + 949383C054E70759782F179A, + 7C4DBAD75BA2AE24FAA3AA2C, + AEB8350D8A0CBABF6596A2A8, + E9747504456F5CEA1882E234, + B8ED128DBBEEDF6F5A210328, + F0BA319931ED06C257E2B98A, + 3D42E2DE57EB442042C10841, + 43A791DB034B74449FD22FEE, + 1B26C25D0282434288E5BB6B, + DDF4116147A7BC31B313B6BB, + 2A9E313E793095709DF3B5FD, + 732F51BB3DF704CD444170B2, + EECF1B8F4D9C41CE50FE3FF7, + 8AFD6857A254AC6FC0259589, + 8CCAFF1DACBE072391340AEA, + 3EAAF25E5CA2E66F9ECCDD2F, + BC08C3CF6F1FF97B27B0F752, + B44B32601DC5377E8D495A79, + DEEA454D96778D7FD36BDBF4, + 7A4B760F31313DA02DA61258, + A766AADDEDFF62A0D12EC8C6, + C51166C05EE8E215D3530173, + D725347525528F43126732C7, + DCF13EB73A56E4C93A3040D3, + BFBA80D4C19565E242C8CC41, + 81E8CCD8AB6424DB53C7B6C3, + 9A12C88B781B6724664429B9, + 1AE967CCBE702ED5E330783D, + C7AC0DAFA7EC9011516E7CC9, + 3750334796191BB156B71627, + 34E73AEA2C029D8448A4329E, + BBCFE7093F51A9F755E2FB62, + 0FF12EC7255BDEE035543EB3, + 9CA3ABD7C0C94896071807F2, + 62470EB620E00184941291A7, + 09F9AE61E505CAE5394ECAD4, + F7C6B50FC38D3591BC0899F8, + 393A6E8AF9AD41715EE7CBF9, + D7909121C2A22576361952D8, + 04973C31E4231329F3BBA4E0, + C545F6DAFFEC9C9C56406190, + 1745017E841E49DA43A58AD0, + 63090B109D4607219E76F5BA, + 47B09ACBB4DCACF035842864, + 75ED1FF6EFED86283B5BDAC0, ); name = jpglib; sourceTree = ""; }; + 39B1A3169D2532855B0A844F = {isa = PBXGroup; children = ( + DB4BD4A9867DF4626C6C8B58, + BBF6C97DA72F836FC289B321, + 75499CAD626EAEFBCC4BDA73, + D4424BB49BAC2DDA54A2B653, + D1AE9B996DBE50383E8E052F, + 2E4E97AC7EAF3E27735237D8, + 2504AF4E1F2BF8E5AC33B49F, + 24FB55B0756B0F243FDE72FE, + 2A5A20FEBFCB7B25E584AA9C, + A2CB4EE2D7813410217BC97D, + 749DCC393CD3B1E2FE04A41C, + C2C99BAF64616F0832839C90, + 19F7D2A302B93E75F11C6FC8, + 173CBAB103CFC050445FAB6D, + A823DD20822F22F308D9FD43, + 8CBFEA5C90BF3A3B5C429587, + 981637567B995A0E62CF94D8, + 55ECA64DDEEDBEBA9A709320, + 8F93F76FF711A608B07023EB, + 236BD482AC7531A148BE62FC, + C99F90D93DC8D604A74102BB, ); name = pnglib; sourceTree = ""; }; + 082717D89D5D18AAFF2ADE12 = {isa = PBXGroup; children = ( + 92837D14320AFE4354C68851, + 39B1A3169D2532855B0A844F, + 58CFEBC52C4F0EEBCF0F032F, + AD3D5554C179E7D360D47EC0, + C1304780621DE055F575181F, ); name = "image_formats"; sourceTree = ""; }; + E7A3B0165967C798CEE4DD1A = {isa = PBXGroup; children = ( + 2B103F6E08849A9AE36A2165, + B0DC7CF123BFC8C862C8912F, + 8AB8FDC910690D28C897F9DA, + 6602C7EF80420D32E355D30D, + AC34C394EE1177F153EDFC91, + 0F72CC9F80BE50B08C101621, + AB6C04C1633A778DF95EB92A, + B6E234273F54AC461DE0972E, ); name = images; sourceTree = ""; }; + E6AE04AC52A8E8FA4ED8462E = {isa = PBXGroup; children = ( 90DDC8CFB5372CC67C55A064, B1BCE232AB62B32B4383B5A5, 420EC00184E732853B859498, @@ -1126,19 +1362,57 @@ 47420E9F2C3992BBEC304169, E08589A8355E8C1DC9D754F2, 9F442098CC5C1F10406A0470, ); name = native; sourceTree = ""; }; + E683B05D471509C9BB57E681 = {isa = PBXGroup; children = ( + F9EF35668A2A35EE4397CF97, + 8DBDFD4842B217A36D854305, + 543D99A819656A9CE0C6705E, ); name = placement; sourceTree = ""; }; C0210E5A0AA217EE1EED9707 = {isa = PBXGroup; children = ( - 92E5D5E7D3A2564FE48537D0, - 34C75DEAD3F72EF2C034DEB0, - 5BF419E75E5511FC7F98D036, - F613D720BE2285804EF1F805, - 5343BD1505AC38EFBE4188CE, - 7F703C40D1BAF189229D4B71, - FC482DDDC045CB22E0A15901, - 6868F876ECC26F71BB86D908, - 9FD58B7D1C820DF19DC543A5, - F268ABCD7EBF4C2E4EA2E96D, + DB8D46D6B61B41545B7B15F0, + 768F36FEEA3629CDDABBDBCB, + AAFDC0D383AB3019A2090E7A, + 998A0B03EA375AEC063A43F7, + 5A15492D20E0922CD2056CB4, + 082717D89D5D18AAFF2ADE12, + E7A3B0165967C798CEE4DD1A, + E6AE04AC52A8E8FA4ED8462E, + E683B05D471509C9BB57E681, + 5C442F6BF1B4242846BFAE50, + 69FCF31091B8DF1F66A11F9C, + AC784033583E622DB1464805, 69FCF31091B8DF1F66A11F9C, ); name = "juce_graphics"; sourceTree = ""; }; - 4873AF61C732EBA18D2797EA = {isa = PBXGroup; children = ( + 4E7874A3FF8B9AB303C03767 = {isa = PBXGroup; children = ( + 9A3D877E587069ADB7365B92, + 32F6164EDD380F56C109812C, ); name = application; sourceTree = ""; }; + 449411EACB52E848DB6D9AAA = {isa = PBXGroup; children = ( + 73300B38F6FAD7DCCFA3ABBB, + C00E476E25C38140F2843A28, + D7382C91BBE7BED7EEC2593D, + 69FF902817DCFF546435B59F, + 020787EB7CB4A8CB5888EF73, + FAF8F3BA152C98B141435E65, + 7522049EA64D3602F2F1F43B, + A4C1F3D1AA69ADDC5963CCA2, + A949782BC8060E4E273CB6EF, + 1E56948AF06BFD1A718921DF, + 4BD6885A97318128113BF740, + FC4E4F4D6C30CC3815F48F1E, + F772BBF20D29A55B03ED584C, + C9DEF4317B0B08D7FDC829D9, + 33EF376C9E6EC58512F7136D, + E52B0E1B01B45F002711218C, + 57ADFC0BC8B66239C100B3C5, + 7C3789FDC48E242E998828EF, ); name = buttons; sourceTree = ""; }; + F7D95850756D641DB091EB33 = {isa = PBXGroup; children = ( + D38FC62D98E4DE9A4B49D87F, + E2FC567A845AFBB111DA3AD9, + B3B5CF55063B47C199C6B23C, + 252D3950A4124CE60E9DAD73, + 987F918DF03658A5B2475E0C, + F1D3D26DC605F752A04CC6C1, + BF210F1FC404D8E7E584070D, + D8CFBF2ABCEA59DA64F2CA97, + 4DBB16306F66F9CCEE2AE45B, ); name = commands; sourceTree = ""; }; + C82AAE3A36CA6535A2CCF59D = {isa = PBXGroup; children = ( 4FB0FF076CFBED51C87BC038, E2C6BC6DBC6E1820F35064F3, CB3E2E48A52B38CC5E301745, @@ -1148,28 +1422,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 = ( + 4F4DE10BA730B59C6D900616 = {isa = PBXGroup; children = ( + 7DF816E9B4FA154F6DF79E69, + 39DBD4799E7BF499F1358411, + 666D964599014AAEFD4D0B13, + E9C7F2012E864AF0E3A0C54F, + F64B83D11FA65FE8007E283C, + BBE630009C367704659D83AB, + 1AF04033312925AEFBE5D29E, + C3A9159139BE77281F911AD9, + 4F5953E8E7D7606E49DD7E87, + B8286F716D48E4F3F40D18C6, + 002E89CB123D85A57409EEE8, + 2211383539F401D4FF235230, + 47AE5D950463462AD0119DB3, + 51FF65B7843D85110E1C641D, + AB48C11409BEF7DAC112B5A5, ); name = drawables; 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 = ""; }; + 48D2E97BF0EBE07F4988A0AF = {isa = PBXGroup; children = ( CAA237A47E903868BC099B4E, 1EA34D5D6B7812FA51756875, F3D96294341F0B641C216844, @@ -1183,62 +1475,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 = ( + 4E7EBA8E42A55218297ED315 = {isa = PBXGroup; children = ( 34EBFF98FC16464C109B0888, 414C3FC8261D0E20FE5DFE29, 6F9E2B4F294C514975CDEC88, @@ -1275,72 +1512,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 = ( + FD738C956AB6632C13314F70 = {isa = PBXGroup; children = ( 68B9FFB0261D994A7B40111C, E0D81F0D3F9D870A9BA2E982, 5F1DCA84DC0A781223820C78, @@ -1349,48 +1521,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 = ( + 62890EB48BFA904D428F0370 = {isa = PBXGroup; children = ( + 53308A06254AEA925E67A1C9, + 036003CDECC05581F3B33AB5, + 35CF7EC4E042EC67B20A1975, + 01949AD16E75F910AD407D27, + 9AAA046520355AF9CBE79A22, + 53031DDCF5A3C59B68A0DF43, ); name = menus; sourceTree = ""; }; + 8BD29B1FD0ADF161908F9898 = {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 = ""; }; + 8F405971A3E9B1BAECD8F689 = {isa = PBXGroup; children = ( DB739DFF6ADCB091B538221A, 9242007BBBF5DD3CD58CBE58, 43889CC80C386BE6083465BA, @@ -1407,27 +1571,107 @@ 55CD0CF473F7DD360414F853, 46BA387B9846DE95B9734A6B, E0553658BE0C87D88BAF6F25, ); name = native; sourceTree = ""; }; + 68FFAC53A25AD9E02A44FB59 = {isa = PBXGroup; children = ( + 8A82CE68FDD855A84A38D5DC, + 516C05953144D34053401870, + 516250A86D1681B6276AAB73, + 789577FEA20AB28765755B59, + CA8B268DFEED1165BC990BA7, + 83B9D853DD2F33FD72C7729B, + F6EBABE2BFE9070CDC224B6E, + C003FA05EC37D3C2AC194912, + FA886A244681AD88F97E6BB2, + 0F66EDBB3C3EC855D3F3F7A7, + 5AD77E4580E993027F6E66DA, + 21BCE05567F675BFCAC7C521, + 89BDDD906ABBA3B304C3D2F0, + C0487595B34A677EAA6A9506, ); name = positioning; sourceTree = ""; }; + 44842A05C71959523E76632D = {isa = PBXGroup; children = ( + B4FC4474E9E10774B47604A6, + 295C33C2F1D9BE164A65B7D1, + F00734AD60B70D43265F0E38, + 07B02E77BDF9D385D5E46239, + BEFE75AD197E5D5381CD4C3E, + 01786050DE815DB51FA995C2, + 08DF4F29B96477C92ED7A5B5, + 2B69DF69E0ECCC5DFEF6710A, + B8627F7B3341190CD7ED8D41, + A805FCFA6FEA8BD5EF3A9E44, + 76CE3A3D3B5E3DAE4AC69C9F, + E6CC0C7CB5FD2237C5BC99F5, + 9930C7E17284B8470A2BD163, + 78C7C0B5C9BFB288EB6FA90A, ); name = properties; sourceTree = ""; }; + 630B0F1A66B4C60EB71763FA = {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 = ""; }; + D6F0F598693AC88138669D69 = {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, + 4E7874A3FF8B9AB303C03767, + 449411EACB52E848DB6D9AAA, + F7D95850756D641DB091EB33, + C82AAE3A36CA6535A2CCF59D, + 4F4DE10BA730B59C6D900616, BEC1D84C160E3207516BBDEB, - 136184A78938C6EF8FCD4399, - CAA10F5542C0355BD315899D, - A173F1540E281B4BD926D941, - 40644189C11E97CC955F2056, - 77CB8165F0BA65153FCB1C9B, + 48D2E97BF0EBE07F4988A0AF, + 4E7EBA8E42A55218297ED315, + FD738C956AB6632C13314F70, + 62890EB48BFA904D428F0370, + 8BD29B1FD0ADF161908F9898, + FEDD3BD81CFFB51F253751DB, + 8F405971A3E9B1BAECD8F689, + 68FFAC53A25AD9E02A44FB59, + 44842A05C71959523E76632D, + 630B0F1A66B4C60EB71763FA, + D6F0F598693AC88138669D69, + D5F1ACC47C2E14FAFBD70FE8, + 802F0F00B21260AE4387989C, + 51158CCA4B7971020DECB9AF, 802F0F00B21260AE4387989C, ); name = "juce_gui_basics"; sourceTree = ""; }; - 8ECA73C8DE170721F1FF8414 = {isa = PBXGroup; children = ( + 8511D82630AD9B6FBAEF9D42 = {isa = PBXGroup; children = ( 7F032CBC31D932C62734354A, 53D4021F5F26734981C00141, 84A68D75789B01ECA2C9E99C, @@ -1440,14 +1684,14 @@ 32E413FDEFA31101CCA907A6, BE98CB33D87DC6D0F6554384, 2A9678E01048A11132E2897E, ); name = "code_editor"; sourceTree = ""; }; - 6C2B5CE72E81AA5658F2F6D7 = {isa = PBXGroup; children = ( + 47F032E6AD096029F6AA5308 = {isa = PBXGroup; children = ( ADD96A54A83A2E838B0C74D5, 580D2367D037F6878866BDED, ); name = documents; sourceTree = ""; }; - 9D6EF582E8B80A64F0F16586 = {isa = PBXGroup; children = ( + 358EED724ABC645D714E4015 = {isa = PBXGroup; children = ( 507DCF40818D5D16D19A5328, ABBB192D4B75A5C26EFB1664, 42E1D32A388CEF815E7C9A31, ); name = embedding; sourceTree = ""; }; - CEFA97363DA625E1E470F960 = {isa = PBXGroup; children = ( + 57FD9ADFE7987A86CD925761 = {isa = PBXGroup; children = ( BEEF29E02364652DC0B3E5F0, A9075C2C2085DB0064BE4B38, 7032AFDEBE7F912A53B1BE94, @@ -1468,7 +1712,7 @@ B41AC6A01A3EF9A79F257C1B, 16D5770A24EE77E90B20440C, CDD3BD7D5D2B5D34D8E9C752, ); name = misc; sourceTree = ""; }; - 2F16245B73E7D3547586F766 = {isa = PBXGroup; children = ( + E9060F166C4F52A10387A489 = {isa = PBXGroup; children = ( 4A3707EA9A1DB779BA3545E6, FA0684965B9183AB6F7B9917, 7BA658AE8F5879F0C6AA409D, @@ -1482,14 +1726,16 @@ 0955C6AFD51BE8B0D2BD428B, 6960AC97E397C2C24537F43C, ); name = native; sourceTree = ""; }; 65D2B04A9ADA307A7E217361 = {isa = PBXGroup; children = ( - 8ECA73C8DE170721F1FF8414, - 6C2B5CE72E81AA5658F2F6D7, - 9D6EF582E8B80A64F0F16586, - CEFA97363DA625E1E470F960, - 2F16245B73E7D3547586F766, - 4AEFBB60F0DD354125B318AB, + 8511D82630AD9B6FBAEF9D42, + 47F032E6AD096029F6AA5308, + 358EED724ABC645D714E4015, + 57FD9ADFE7987A86CD925761, + E9060F166C4F52A10387A489, + 1610DC815E1DC8A457A467D1, + EC755497D39FA520E93F3370, + 9D38793FCA710DACB59923EC, EC755497D39FA520E93F3370, ); name = "juce_gui_extra"; sourceTree = ""; }; - CD79F39BDB14E1322AD19538 = {isa = PBXGroup; children = ( + 1EC34CCC294EC57501C3E85A = {isa = PBXGroup; children = ( FB21EA7E80B2E8AC2E212FBA, 3C9A527231181774DC31F3AD, C32D834D3C2CC32A07A52A9A, @@ -1507,8 +1753,9 @@ F66A98229393D8EC965D1DE8, 6A07BB23E500A0E820AB54C7, ); name = osc; sourceTree = ""; }; 58AFAA47F8DB52EB18DA1627 = {isa = PBXGroup; children = ( - CD79F39BDB14E1322AD19538, - A696A473DCB2949D180C32F3, + 1EC34CCC294EC57501C3E85A, + 0D5509E7051D4434009C25E4, + CE1EBFE8CB48D17396D136FE, CE1EBFE8CB48D17396D136FE, ); name = "juce_osc"; sourceTree = ""; }; 3A5215130DB93D8BC069DF39 = {isa = PBXGroup; children = ( A441ACE8FE8C90C1C24D6113, @@ -1521,17 +1768,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, @@ -1540,7 +1787,7 @@ 1071DB173D561A5841FF0F30, B035AE57473F86C5121B2A3E, ); name = Frameworks; sourceTree = ""; }; C4C4A8503D11FA400E85EDB5 = {isa = PBXGroup; children = ( - 8E433B1A05AA2D18AB894B09, ); name = Products; sourceTree = ""; }; + 0AB2F0BDAF44CF1FE7BA007A, ); name = Products; sourceTree = ""; }; 9C0E80FC020192937C98CFC2 = {isa = PBXGroup; children = ( 298BAA7A2AE152C7E1883471, 3A5215130DB93D8BC069DF39, @@ -1548,7 +1795,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"; @@ -1566,9 +1813,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; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; - BC27690A38327AE29CC81DE0 = {isa = XCBuildConfiguration; buildSettings = { + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCReceiver; }; name = Debug; }; + 7FE2E6B09FEAE455422E1496 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -1587,12 +1835,14 @@ 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 = "$(HOME)/Applications"; }; name = Release; }; + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCReceiver; }; name = Release; }; AEC2629A4CDDB6132D9118A8 = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -1626,35 +1876,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; 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/Builds/iOS/OSCReceiver/Images.xcassets/AppIcon.appiconset/Contents.json b/examples/OSCReceiver/Builds/iOS/OSCReceiver/Images.xcassets/AppIcon.appiconset/Contents.json index 5ca51e92..c0af172f 100644 --- a/examples/OSCReceiver/Builds/iOS/OSCReceiver/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/examples/OSCReceiver/Builds/iOS/OSCReceiver/Images.xcassets/AppIcon.appiconset/Contents.json @@ -3,19 +3,19 @@ { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small.png", + "filename": "Icon-29.png", "scale": "1x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@2x.png", + "filename": "Icon-29@2x.png", "scale": "2x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@3x.png", + "filename": "Icon-29@3x.png", "scale": "3x" }, { @@ -113,6 +113,12 @@ "size": "76x76", "filename": "Icon-76@2x.png", "scale": "2x" + }, + { + "idiom": "ipad", + "size": "83.5x83.5", + "filename": "Icon-83.5@2x.png", + "scale": "2x" } ], "info": { diff --git a/examples/OSCReceiver/JuceLibraryCode/AppConfig.h b/examples/OSCReceiver/JuceLibraryCode/AppConfig.h index 5ee3fec4..9d4a6b19 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 c344b1bc..d6e282a3 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 f6c3564e..091a5aa6 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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..0c3b9ae9 --- /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 06e88f93..00000000 --- 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 e4574f47..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 40bdd444..00000000 --- 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 65f7c3d2..24f69d27 100644 --- a/examples/OSCReceiver/OSCReceiver.jucer +++ b/examples/OSCReceiver/OSCReceiver.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.1"> @@ -64,7 +64,7 @@ - + @@ -82,11 +82,11 @@ - + diff --git a/examples/OSCReceiver/Source/Main.cpp b/examples/OSCReceiver/Source/Main.cpp index c16390f4..87ec3e54 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 9fe26bb2..b9d90fc2 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 d0e73a0e..70de81b7 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-App.plist b/examples/OSCSender/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..0d711c34 --- /dev/null +++ b/examples/OSCSender/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + OSCSender + CFBundleDisplayName + OSCSender + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/OSCSender/Builds/MacOSX/Info.plist b/examples/OSCSender/Builds/MacOSX/Info.plist deleted file mode 100644 index bc9278ab..00000000 --- a/examples/OSCSender/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.OSCSender - CFBundleName - OSCSender - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - - diff --git a/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj b/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj index bd2d098c..13a64ead 100644 --- a/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj +++ b/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj @@ -6,28 +6,34 @@ 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"; }; + 004D36A65267CAFFCDD4FAD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; 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"; }; 0110BEC9ADF4DAB83E81DB7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 01C827740BEFED5D0C0568DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 01DEAD94D6AD73C1BE4BE357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + 021ECC3A63E1CC0E7569AE50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; 022A85562D9308EC164A2692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02569E05598458BAA8212C4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; 028A331429FB24687E6F4178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 029299521469F64490977419 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 031466AAD3240E4468588275 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; 03266C50EF5A5A72232F1340 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 03B086DDD75DBA168CC15C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; 041926A046564E0E3D0EFDE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; 044052990FE21E86105CDC27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; 053E86E2127D79BB537168C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -36,20 +42,28 @@ 0625FE8FB912E392F2710EAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; 062E93756C4C2047BFFE2DB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 06404261BC841C314E34A1A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + 0710B76F45A239740A1A0D56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 075E8F5B0CE507EA241E7820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; 088320650994388DB9A6F9C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + 0979134E905453F4139E8E17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; 0998D7987146E954282FEB33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 0A57964A96FEA9A9FB66B41C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; 0A9FD8DEA2B1D97923BFDEE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCReceiver.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp"; sourceTree = "SOURCE_ROOT"; }; 0ABFC69420764D47876F90C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + 0ADD34D6D7B6579331EC3B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; + 0C3789618083EB623CA7CEFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 0C52788862239CCDFFA2B5C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 0C77794DF4B68DB97D174834 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; 0DA79E1F9EBBF20B153CE1B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 0DA97F6DF97050683F834CA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; 0DB62E76787DA030C07650DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 0DC03E9375671E457891A729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0DF68E1B3F45C6C6C3A56005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 0E090204426B67CAF8B93481 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 0E1C1DAC32A2F0299F581CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; 0E3613C3AD773AB362CA45EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 0E3A157F6B22278C013170B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 0E78B57ADA4A3B2A6A7EF0F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; 0F173E9956EC7F3F26F55472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; 0F5C8789D33A47DA78BEEFDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; 0FF5B7A3E7ACE2C0C4F4941F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; @@ -57,6 +71,7 @@ 105993ED238D528CD399FF92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; 1084CA2EA8D003161FDB7824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 10F537FABCC653D1C8F05FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 10F65B262E6B44733054FACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; 11371D3819C11870351DF5D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; 11D53565B6B910B4C6D3B5D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; 126A516090327A3B6C9EFCE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -64,6 +79,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"; }; @@ -71,6 +87,7 @@ 162B88C97B3B2FE6FF0506D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 16B08F86012631AE74FCF89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 16D238D027A1F900F190A59A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 1744615C9DEBB137CB6CE44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; 17BFF0DFD2596C177802B80E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 17DA11859066C1A6550541DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; 18373E02365D98A26CDA435B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; @@ -87,13 +104,16 @@ 1B3AD48503A5E6E50A632BFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; 1BA1941BE9831878420374C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; 1BB767A8B8DCC526D621A37E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 1BBC10DE5B0712D7E15C11AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; 1C13BEC629F1DD9B093CC885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; 1C4ACF94AC8D8649C22EBA6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; 1CC3CC3615F549A3714403FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; 1CDCE8137C9253926AF5BC1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 1CEC669517AEFB9DA60654F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D0D22BD3066EA256BBBAC0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 1D2BEC7EE53761D866E4A11B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D2D5DCA104967DEDCE2E900 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 1D364677143A5E9EDE932F1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; 1D3EDF3D9B02677F0CC86EAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; 1D421BF3B85E99CD596765AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 1D4C0E175995158D4C18AB9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -101,18 +121,19 @@ 1DDFBB0F225E4F95F635052C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E02908C9637CF4C22BB58DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; 1EED7017C33745D0E23EFED7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + 1F38F916D630350DD8EC2FA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; 1F983F682C7C39739FF66DFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; 204825E69740E61C3BB37472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 217C36243EA5DDFFA94B9F12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 21BF0CAF7A4F1263372A5C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 2233EC2817CE0FC35128DB7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 22A69D5393B32BD94050C02D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -122,14 +143,20 @@ 28E913EFE1CEB57ED8935740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; 290841815EF10FEB2685BDF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 29953F0649A18831E891815C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 29CD60907394D68990D0AD0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2C894EAD434399AD38FFCD29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + 2C89BE9139840FE5295E18B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; 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"; }; + 2D1339014BD92402D03A72D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; 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"; }; + 2D902E8B331828A1FCE4F689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; 2DF80EDCBEC3706EEE3DF8BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 2E58A12EE1FDB1796FA2962E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; 2EC883766946EBDB683674AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -137,10 +164,13 @@ 2F405AF1917FCFC23D0B64E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 2F77D1AAC55792234A1A12CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; 300B798AE6D1456AF71725F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3015CA121D0D96D5AE7BD753 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 302CAE0B9D8DA232076E6B84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 323E31F040EF5C2BF6C0D539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; 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"; }; @@ -150,6 +180,7 @@ 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"; }; 37B3ADE4412D615A5F386B74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -162,38 +193,57 @@ 3A649F8B1FFCA953E354BDE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; 3A7CAA9C93698244C9DB8256 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 3AA5F3D97273776E1B2E3EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + 3B4DDBCA252D9D5BA1C83EE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; 3BAA414A63015A0429F7E21B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3BD8A2292E1D6E597620DB27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 3BE904F9AEA4B987BA08C4BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; 3BF906798B72C53AA17C42E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 3C6266E06512926AA719ED6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3CBC1B4C503A66E2FC899E76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + 3CF927C397A1CFD6C8D0D541 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; + 3D6B521E60AAFCF975A4D9A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; 3DC7587D2334C184382A0521 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E0874E1F6F508F4848D483E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E3FEDBFDE2D9B7BB5C78127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 403FC708FACAFFD6C99FBAA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; + 405AB1FF596629E1661C01F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; 4067B8C85A270F53FEE06980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 40C8252FA8FDA84DA2F897B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; 411CCB03DC29AC25367A95E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; 41D7BC4C569213AF26F18B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; 424CC3F82EC87CDE8F547452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4292A8D1EED6DABB2114EB32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; 42DBAA5FEB22C47EB3E9A465 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 431D37DEF42489D3D2BAA92C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 431E90D8119368A51F45F9F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 43FB864DB11F4A6D182EECBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 445AD046C327FB7D2C082952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; 44D6F268BB9D222CF15E8152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 4547B054D645C8B314124DDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; 45880C2CED1DE53F368D6DC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; 45896F16C409721A1988D036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 45DD5C12231E3AD67515E5EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; 45DE191D497670E66BB5252C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 4662FA43B7E65523A651F2DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; 468BF60A1A0E9550C34419E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 46D9A546710BF2503ABD4C96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + 46FE38521B2F564C4D42CA6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; + 480DFCAA62EC931BB0B4BB62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; 482FD6D43CB94752B1DD0243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + 48D54FBA56BAD78DD1EC0733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; 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"; }; 4B11E3C6B1D6F06038F8E5A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B13D66B82B420CD8B8C5AB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B163E7F6AFED71EE28BD68B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; 4B3200BF90A9A56DA0BACDAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B3BDEC206ACDE4BCE0E2778 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + 4B56982A9F3D5FE666CC74DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + 4B5F9FCE6549FD42148F3E5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 4B6F14663424B4075D37D75A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; 4BCB6AF53C2A972E4AC20EFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 4BDB4220849AF86BC1348E9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; @@ -202,7 +252,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"; }; @@ -213,14 +262,19 @@ 5306E2E1E4D3EDB584CB9957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 534CDC320462F430020262A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCMessage.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; 54D6721139580A36CE2D0A5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54E039403CEA71A35C79C82D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; 5536E5B6A109E3A6A5279D0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5573AD1090CB4855AEA88298 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; 5579A809BAAEC707977D7515 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + 56171D5E50C275618ED8E595 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + 5689C8AADDE3796E7E0803E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; 56ACA5E2124B635579CF7615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; 572DD86F800699B320C50718 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; 5786605F1BC2DCBC066F122D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 578A0C5AAA465A09B2ECC2EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 57CDB5AFD561349F179D658D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 5893171B6BA4AF650B8C1D41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + 59589B35F0F214AA58D0E5AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; 5998888018A6809EB12543AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; 59FE94EFAA706AEF962EE7F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; 5A58E4097153888A8A8C1CD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -229,6 +283,7 @@ 5B16B30659106EA13D373E5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; 5B20963BCC9209B2069E4A55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5B609FDDC79F73F3BD14CC68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5CC33A6AF455B5100662E07E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; 5D14BB057C1DCC194D4110A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D8BFB8CBCF7DA74A375D6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 5D97086E73EC3FA4DA2D8E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -242,14 +297,17 @@ 644BA51BE9C61B056F6B25E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; 6467B818C4A8564579EB95A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; 64A4085FAB8D536155D630CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 652A702D4AC2B2DA5ED3D039 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 6530C248DC2C3B048F34DDFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; 663607A2A052262E3F04EC1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; 666A2459C2BD2C5048749A3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 67C284A0D80710E1E2AC0C0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; 67C966FCF491A98350C58CAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; 680C1BC84958D80670517D60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6839583701D24144B7A8AED8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; 68757349C662D48B6E8D95F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 68C660B543CCF8E23F4FCFAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; + 69EBA544837171FCF37CE84B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; 6AF8CC00C9B0A71AFA20F408 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 6B8EABF5A1B9555BF8E672F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 6BAE2060DE5C2E78779A0470 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -257,10 +315,13 @@ 6C72CD267B04F64DA9B3CA96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; 6C8482B28590113DC3D093DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; 6C89169126AF5205014D8AE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + 6C946F52C28340B3A28A77B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; 6CF342D41752D3033E847E9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCArgument.h"; path = "../../../../modules/juce_osc/osc/juce_OSCArgument.h"; sourceTree = "SOURCE_ROOT"; }; + 6D1B9E2B6A984B03DBBDC834 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; 6D81EC26DD64274A3BB77D96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 6E27619CD5C9B116CB3160E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 6E461813B7DC6631B7FCCB58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6E92F65DA9DD9C99F16F2F94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; 6EBC7A20DAF0299082F3C48D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F11C39FA9C8E2F1DCD6CB53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 6F9DFA3769DA9D9F0FA46968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -277,12 +338,14 @@ 73ECE098454A1E93F65F750C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 7419FCD8B242A894D72EC5F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 741AE4CDEAAA1AB1657A4A53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7500AB21C77CF4783576F759 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; 766243F2E499522B0BCF90D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; 76FA69159E195EC73C54C166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 775586DF3FED31DE6FAF7A48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; 7804C945A084AFEE73DF0D42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; 791FF25A18905D86E00AD36F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; 79629645AD54B50428C710F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 79D3702FE4E9ADF12E9534F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; 79F23F85772E0B3B028B7DA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; 79FD6D91D317339650EBAE92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; 7A0CB2B04ADE780AF3BF4219 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -291,7 +354,11 @@ 7ACB4BC6D063A4BF3EDA90FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; 7B79F66C174BAC99CD5FA90A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B8EBDFC8FC37BAF659298DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7B9A1218329A138B8F63FDF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7BA2E0A4F0F1FCE1692CDA4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; 7C33F1B4BF7CBFE66731D34C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + 7D5378C4B695E584814A8AEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 7D89F8D80BF9BCBED5B48CA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; 7DF41CF3989F4AAEE3ED5020 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 7E6E6D14D6F86626B1F85469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; 7ECF6918C01E45A2AE2A2D80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -313,20 +380,23 @@ 8568AB9BAE72B96265CBD75D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 8599EDB720D284DF684DDD57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 85C00E1440983A2F4F6A0430 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 85F90BA859ADBFA4D1A4D1A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; 85FA970C8CBA66305710AC81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; 869B84A46023D33AFDC0D1A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; 869E8C4D5C7C71BBD9D3DE13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; 86C81C569A8BC04DF417D5CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; 8754500BE079EAC8F32D6EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; 8773F84FA14F288D8ABAADFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 879B6E31E3CC0D86AF542665 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; 87A59A16FFB7F76FE61F21F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 88CEF894CF89C020C0969646 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 8907D739246B0F33CAB468DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; 8914C0E96EF68616B913C2A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 893AD986510217314E783905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 89F6F98E739200985B36EB23 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; 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"; }; @@ -335,10 +405,11 @@ 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"; }; + 8CC22399E3EF0F402F9E619E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; + 8F9305C26E7DAD5F52AB1ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; 8FE0497A404634FB483502C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; 9057E39B7C935E0C4267F1D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 9070498C10B88FB07312D2F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -356,6 +427,7 @@ 935007CA595A6A01AAD4CA08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 936220D32E68A1F659E7E0E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; 9373C6EA5BA89D5EBCFFAF6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 93F61C72B5CE37377082D144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; 940FAD7463B2A21CAF68ABD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; 946EE5AB4425456B8DC0F534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; 953B8119D4983047502355C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; @@ -370,8 +442,10 @@ 98E7E80CFA4AEE2ADC882C16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; 9B4D73256D25275FB309DAAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 9B561B5E684B00FE1BA27C13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9B95A39C4ACE27A395BA7D17 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 9C5ED7962D76591FDB35BFD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9C9B05F2934F0EA6E998D125 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CCFB28C4E6FE3629E722990 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 9CF199A5DB26993BA4842ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 9D7A373ECD058548A106A2A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 9D8BFC780964898A45DE4D02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -383,9 +457,12 @@ 9F80A197F695CE97616BD1E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 9FE2029E98CE31DE5E20496F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; A029C65BC0ABFF7181A63158 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + A0A4087376584B7F9E22609B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A32DE534C7BCD8DB7DCE1AE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; 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"; }; @@ -403,11 +480,13 @@ A813CA7CC0D3D2724B95D8FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; A83D209F7375389768B82994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; A87945C779CE68925B076D1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + A8AA26FFBAE27A9E52FCF711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; A8FD638BD93E8B4332CC8F7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; A9450EC319A9D37307AB7D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; A979A96E5616479B39218B2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; AA08ACAB3B8317DB35F9F209 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; AA776E87EF55F5B39DB3E6E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + AA995F5EF6E2E9D0D943A34E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; AAAA831490496F47D3807C0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; AAD5211C8E9EC185BF2E0513 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; AAE256E4F057457CEDD27A90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; @@ -434,6 +513,7 @@ B43D3771C0B8A99592E7F36B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; B48FEF193584C4735B8DAEA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; B4C9EE22A48A894A442FDEF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + B57A5299F1CC56B74310EEDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; B5991CB9A6C3E287B55C941C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; B5D2C88B8B090BDBEF9858AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; B66ECE8537A65C2AE20F3200 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -446,23 +526,28 @@ 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"; }; + BA73F9D9F7083CD65564393F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; 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"; }; BA865C9C5F9A81A41ABC2AF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; BA8CFC69F1C04974E93BE59C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; BB5F825662E1D0FFF44D22DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + BB8A697F12EEC02B5072830C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; BB8C54D34EF4FC862F2A91C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; BC2496AD58936DD70AF96330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; BC779F0EF23E0FD73F142602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; BD7E1441C110B2EB18580673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BDD403C7010C9656ECBC147A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; BE307F83A3877A47F81609AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; BF32CCC7DACE9BFD99273809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; BF728F1A80664B788402B94B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; BFF09EF3282D581DA210F092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; BFFCE59B4D94538113E12C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; C0070123843836867FB7FDF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; + C04D53D3AD86DBF68A0EBC11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; C0514A1B9F261820568AB5B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; C078149F5EC57FB18E899494 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; C0D2F7A87802CB59FF660C85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCBundle.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1063B18BE1A14B021BE6197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; C107196A74FA34A35EBFD8BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; C1F93E08ECF4BD864AAF914B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; C2B211151D7D3B7B96DA01A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -470,19 +555,23 @@ C35B2D23C6F92C440DC39084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; C37E01CD441BB57B0BD6C2D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; C38135F3C6287FD3860C4527 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + C39E9C9B85A2DD49285B1C66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; C3D367C0B3573411FE70D226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; C408339286C0EDCE7DE32E85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; C42155548358E30AD7DE4E25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; C445C9169161BC685264BB15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; C48C63AAD19E578DFF4F1178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + C58A86D7FDFA58EBF38935AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; C5A813AEF580F0DD29CC9BE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; C6350A8E920D19081524D425 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; C6465F90A1AE888243ADF614 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; C673FDCB2F087C3AB4A0188F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; C68BD7F904FB1079B6924931 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + C720746B79A6D0587C155ABA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; C794AB7DC16EA991F2E27273 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; C80154A9702E9F4140FD8573 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C87AB2E5D49E6030C4A3AC69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C8C4673C4AD31A51E0F18504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; C959DCDA5A0B45FD52231382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; C9D88946156002CE878BC4D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; C9FF6E12A8FD051CF6193B24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -493,11 +582,15 @@ CBCE2DE10CF82B5A463AEE00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; CC3B5CB321D001FF58CEACFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; CC5EF14FD939E63C78702E3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC615882E57C2FE219163178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; + CC8C5EE9916788168CCA68F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; CC91DE14E4ACC0D61C0FCC79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; CCA929A6A7A11D49059CA387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + CCDC17DA72ECEE23507298D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; CD0ED8112E5882C2A43D822F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; CD150E69E3961A2123E10C3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; CD4BC4428621BA9E10D963C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + CDE17BB68233CBE05B73F5FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; CF089C2F19939657FF77F446 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D11A190329FB2207215105C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; D15419DD90C0B320FBFE18A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; @@ -507,6 +600,7 @@ D25E79431BC193D5A47EC2F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; D294EA753ECFF016927BA7A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; D29E6D92BC1F9A4FAF616D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2A3B8C9D527727F7E624C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; D35BB13A98176E269CE615FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; D3D7C420E73EF5BCAD146AD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; D3FFEFC1B56E0CBEB3385B20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -515,6 +609,7 @@ D52CEEA36B26A91E1599CF90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; D53140323325368C36FF0980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; D535F0D6E9FF45E90928E160 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + D571CB007288493C61A73210 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; D5724FDB5A378C2F07D22B19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; D5BC2755CE4878BBF46D7752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; D5CA92B53DCF1BBA6C85D831 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -529,10 +624,11 @@ 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"; }; + DA09E6E8ED71D7B1ADA6166D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; 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"; }; + DB4B31EEDC9093E8382C8F0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; DBC2857A5AE0E3FB583BCD1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; DBC8C5695E5DF33DA755D47E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; DBDD822F9E2E1D6C876E5A0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -544,26 +640,34 @@ DD8690C8331A25FF586CEC32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; DE6F38DBFDCB87036772C055 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; DEACC6D7655717F30F59FB06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + DF126518272BD97001C93516 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; DF7BD21111CBD2184C999702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; DF803E04A92B4158494A30A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCMessage.h"; path = "../../../../modules/juce_osc/osc/juce_OSCMessage.h"; sourceTree = "SOURCE_ROOT"; }; DF833FBE7FAB055403EBAE29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; E084AFE8575D1EED6EC41BC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + E19A49A74673024955511D66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; E1A752C30F9E9CBF6AB409C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E34A25EDE45036549F501D00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; 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"; }; + E5AA1D1F37F4A1E8DC967C63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + E5D045361A3474295E010D37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; 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"; }; + E90645DA016225CABF2C4726 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + E917F3D7ABC884FCE82F6D94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; 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"; }; E9F857BCDFD748ED45340B08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; EA2A51B88619FC02A3455A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -576,6 +680,7 @@ EBF82BF2A63ABCCFADE18D0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; EBFFEFCE6CB0E4D77E05D225 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; ED4420CC02B25ED88E45BCC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + ED4DED3BFB5FDCC29F03EC68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; ED4E215F7CA65E0BD389D502 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; ED9C8FB4CABE3EDAD39BFCA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; EDFA816F0A1B807DDC469251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -588,11 +693,14 @@ 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"; }; F17D77A72E81AA8F8D6B3476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; F19A4B985C96C873FCC33389 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F1B5D39B61015CF8E482D196 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; + F20A3E45A42F811B7DADA919 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; F305B5B71B3B44364A70FB81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; F3594481E7829FFA2CD5C778 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; F38DD3C9585C616FCA538086 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -603,39 +711,46 @@ 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"; }; + F63F182E6FB049B22253688B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; 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"; }; + F74B34BA03332AC52664DA24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; F80B6F65E57D2AB96730C877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; + F826E604C7229A1F9D05793A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; - F7123F50EA511941DE626E79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.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"; }; + F926CDD46023063E873D7707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; F92BE90E61CE349D6C9DB741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; F9D73B4708EF9C39C234B79B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCTypes.h"; path = "../../../../modules/juce_osc/osc/juce_OSCTypes.h"; sourceTree = "SOURCE_ROOT"; }; FA1E705CDB469910D9CD45DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; FAB7137B238411F408A7359F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + FAE64541C0D2875601710BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; FAF73612E3CEE8981A15E6DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; FB0DEF7E62FF0B36E44A3175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; FB804B682C683C360DAE6C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; FBA3D65086497BDD3F684CA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; FBE4BC80A9BD7723C4BAFD57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FBE756804C40A680F0C42292 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; + FC3D2FF31F91C91158D726A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; FC44B8B2D266A7D969245F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; FC62184F4FC5E35781238309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; FC8C3B125B6526B9845DAD20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + FC9079045148C0CE23D11213 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; FCADDC6F82016D387F9159C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + FEC75D4513B008064BF0AF66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; 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"; }; @@ -644,57 +759,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, ); 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 = ( + D695D1D6AC619250D13453A8 = {isa = PBXGroup; children = ( A5D217BC9E2D0717B5FEC88D, ACA16BA92B5E2C735AF5F0AB, BFF09EF3282D581DA210F092, @@ -716,37 +781,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 = ( + C4E4451CC22318A670EF63C3 = {isa = PBXGroup; children = ( E2F186EFF4E392744FC0848E, C2B211151D7D3B7B96DA01A1, C38135F3C6287FD3860C4527, @@ -764,7 +799,81 @@ F17D77A72E81AA8F8D6B3476, BA8CFC69F1C04974E93BE59C, A813CA7CC0D3D2724B95D8FE, ); name = files; sourceTree = ""; }; - F06C05002537FAF7F1D13770 = {isa = PBXGroup; children = ( + 410E14D6F8EEC647F0D8583B = {isa = PBXGroup; children = ( + 4B13D66B82B420CD8B8C5AB7, + E4E21650A774C8418AFC33B9, + 11D53565B6B910B4C6D3B5D1, + 0E3613C3AD773AB362CA45EC, ); name = javascript; sourceTree = ""; }; + DEC74E0F8F49A51BD401F869 = {isa = PBXGroup; children = ( + C9D88946156002CE878BC4D2, + 52893977D68DFB4A91DCEF20, + 5786605F1BC2DCBC066F122D, + 21BF0CAF7A4F1263372A5C8B, ); name = logging; sourceTree = ""; }; + 0B06ABE31046CD58ECC086F1 = {isa = PBXGroup; children = ( + 6C536C513F6B5AEEE5647FC1, + 946EE5AB4425456B8DC0F534, + 22FB6CDBF9536FCACFFC702A, + 17DA11859066C1A6550541DC, + 45DE191D497670E66BB5252C, + 953B8119D4983047502355C3, + 0625FE8FB912E392F2710EAF, + 1CC3CC3615F549A3714403FB, + 7088CCB58F437B0DE9524E00, + 56171D5E50C275618ED8E595, ); name = maths; sourceTree = ""; }; + 45AEE23F49D5CE6D3DE928CF = {isa = PBXGroup; children = ( + 8754500BE079EAC8F32D6EDF, + 4AFFB00C50E5188C6173F81A, + F8306341C38FC9F71F9C289C, + 41D7BC4C569213AF26F18B0C, + 5998888018A6809EB12543AB, + DC146BC82E9DF5DE3387E5A0, + 3E0874E1F6F508F4848D483E, + 940FAD7463B2A21CAF68ABD8, + 9CF199A5DB26993BA4842ACF, + DA57BC0681DDCA88FE5F312E, + FC8C3B125B6526B9845DAD20, + 8A129151479A5AAD2BD39091, + 9373C6EA5BA89D5EBCFFAF6E, + 71CA0EBE5516DA53A6054514, ); name = memory; sourceTree = ""; }; + 94B3AB9D2CDC1AA7C30FADB4 = {isa = PBXGroup; children = ( + 35C07BF1273F1F1611E65BE0, + ABACE0FD4603F0AC6DC24986, + 88CEF894CF89C020C0969646, + 371D30FA280FD0CD39132955, + 73ECE098454A1E93F65F750C, + 869E8C4D5C7C71BBD9D3DE13, + F917AC1B20761A5CBA104955, ); name = misc; sourceTree = ""; }; + 28F635DCE09B95FDC666F0A3 = {isa = PBXGroup; children = ( + 924B8AEE63D51A88C424236D, + FA1E705CDB469910D9CD45DD, + F0A3B21A5E0FB04F59010235, + 90DAA6689446974C08A8CA22, + FC9079045148C0CE23D11213, + 1042F89BE3FD99BF962CD559, + 83E6D34A5C23CF3CFA194161, + 13264B0D46B7A04ED8AD3A0E, + AC72E5B78884DAF40217DAAB, + 97E331CE947418C03CE0F7A4, + F49CAD469E29E78A6BC35C22, + E864E951F29D6C9E719ECDD8, + B1E516520B36FD7CA932BFE7, + C6465F90A1AE888243ADF614, + CA3B343B4917C1BB3ACF4AA9, + C35B2D23C6F92C440DC39084, + EBF82BF2A63ABCCFADE18D0F, + 4547B054D645C8B314124DDA, + C0070123843836867FB7FDF7, + CB43D8D41B8C1FD4DDD670B9, + 4067B8C85A270F53FEE06980, + 8914C0E96EF68616B913C2A3, + A87945C779CE68925B076D1F, + B1C65AD0886DF44A61D70939, + 5B609FDDC79F73F3BD14CC68, + 2233EC2817CE0FC35128DB7E, + 1CEC669517AEFB9DA60654F3, + E76B7CFCC39F3907C1874D4B, + 68757349C662D48B6E8D95F0, ); name = native; sourceTree = ""; }; + EDBC9294CA32BD18D93214C8 = {isa = PBXGroup; children = ( 5D14BB057C1DCC194D4110A4, FAB7137B238411F408A7359F, 3265394635B1C027552EBC97, @@ -775,7 +884,7 @@ 6F11C39FA9C8E2F1DCD6CB53, C3D367C0B3573411FE70D226, 1EED7017C33745D0E23EFED7, ); name = network; sourceTree = ""; }; - 59B49F16B2CCDFD9149D3435 = {isa = PBXGroup; children = ( + B0F2F8645A847AF8090C4FA2 = {isa = PBXGroup; children = ( 9F80A197F695CE97616BD1E2, D53140323325368C36FF0980, FD8944C5B057E4029E64E701, @@ -791,135 +900,156 @@ 76FA69159E195EC73C54C166, F305B5B71B3B44364A70FB81, D52CEEA36B26A91E1599CF90, ); name = streams; sourceTree = ""; }; - C0C2173267ABCBDD61C10A41 = {isa = PBXGroup; children = ( - C9D88946156002CE878BC4D2, - 52893977D68DFB4A91DCEF20, - 5786605F1BC2DCBC066F122D, - 21BF0CAF7A4F1263372A5C8B, ); name = logging; sourceTree = ""; }; - F06D7C2FFE79B1C5E77ABABF = {isa = PBXGroup; children = ( + 505289F1661937D8A19EA3C1 = {isa = PBXGroup; children = ( 7804C945A084AFEE73DF0D42, 11371D3819C11870351DF5D4, A83D209F7375389768B82994, 52EC460B51B671A78DA0B0D0, D73AD91EB6FB85DD8C129E31, EBA76494AF0634E852001C0E, ); name = system; sourceTree = ""; }; - 7976EE937AFBFC4A673985AD = {isa = PBXGroup; children = ( + 905E676243B010CE1AC86AB0 = {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 = ""; }; + DF4BD54097AB7853B829FDB0 = {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 = ""; }; + ADD2EA9B9CAB141EA7E1D45E = {isa = PBXGroup; children = ( + FF0A25C484FF14D68A7FA84C, + 4AE3787EBA02DE0DFEFF32F0, + 0DB62E76787DA030C07650DF, + A4D808F48A57E5401EE2E28D, + 5F1DCEEEC0AF0DAEFAE558C3, + 8DDEF1513C451116AA0E965A, ); name = time; sourceTree = ""; }; + B9A320FB9A856886DAF0ECE9 = {isa = PBXGroup; children = ( + 5A58E4097153888A8A8C1CD9, + F041FD178F6C8187DDBB046D, ); name = "unit_tests"; sourceTree = ""; }; + E7E3F84EF65E357458625BD7 = {isa = PBXGroup; children = ( 3E3FEDBFDE2D9B7BB5C78127, 2DF80EDCBEC3706EEE3DF8BF, EBD65185E6F4C735BA39DFDD, F509A91694B01BC57C7A2D6C, ); name = xml; sourceTree = ""; }; - 50C1F008D33888DAECED2C54 = {isa = PBXGroup; children = ( - 4B13D66B82B420CD8B8C5AB7, - E4E21650A774C8418AFC33B9, - 11D53565B6B910B4C6D3B5D1, - 0E3613C3AD773AB362CA45EC, ); name = javascript; sourceTree = ""; }; - E863DA674CF86507033B7199 = {isa = PBXGroup; children = ( + 45D30362AA855448978013B6 = {isa = PBXGroup; children = ( + 403FC708FACAFFD6C99FBAA1, + 4B5F9FCE6549FD42148F3E5F, + FBE756804C40A680F0C42292, + 0C3789618083EB623CA7CEFD, + 4B3BDEC206ACDE4BCE0E2778, + 879B6E31E3CC0D86AF542665, + 3CF927C397A1CFD6C8D0D541, + F74B34BA03332AC52664DA24, + 3CBC1B4C503A66E2FC899E76, + 01DEAD94D6AD73C1BE4BE357, + 6D1B9E2B6A984B03DBBDC834, + 79D3702FE4E9ADF12E9534F6, + 03B086DDD75DBA168CC15C49, + 0979134E905453F4139E8E17, + 6E92F65DA9DD9C99F16F2F94, + DB4B31EEDC9093E8382C8F0C, + 6839583701D24144B7A8AED8, + 5689C8AADDE3796E7E0803E1, + 69EBA544837171FCF37CE84B, + CCDC17DA72ECEE23507298D8, + E917F3D7ABC884FCE82F6D94, + 2C89BE9139840FE5295E18B3, ); name = zlib; sourceTree = ""; }; + ACEE1A1E6696FE485D9024AE = {isa = PBXGroup; children = ( + 45D30362AA855448978013B6, C5A813AEF580F0DD29CC9BE8, CC91DE14E4ACC0D61C0FCC79, 7F1D13704277EDA6CD435392, 29953F0649A18831E891815C, 844D65F83A1B7DA2E0CAB652, 663607A2A052262E3F04EC1B, ); name = zip; sourceTree = ""; }; - AA05FE9A13A8F6A47C0B0203 = {isa = PBXGroup; children = ( - 5A58E4097153888A8A8C1CD9, - F041FD178F6C8187DDBB046D, ); name = "unit_tests"; sourceTree = ""; }; - 38B197F3796A41FFB20E61F6 = {isa = PBXGroup; children = ( - 35C07BF1273F1F1611E65BE0, - ABACE0FD4603F0AC6DC24986, - 73ECE098454A1E93F65F750C, - 869E8C4D5C7C71BBD9D3DE13, - F917AC1B20761A5CBA104955, ); name = misc; sourceTree = ""; }; - 3ABF5204E322FD3121ACF9A9 = {isa = PBXGroup; children = ( - 924B8AEE63D51A88C424236D, - FA1E705CDB469910D9CD45DD, - F0A3B21A5E0FB04F59010235, - 90DAA6689446974C08A8CA22, - 1042F89BE3FD99BF962CD559, - 83E6D34A5C23CF3CFA194161, - 13264B0D46B7A04ED8AD3A0E, - AC72E5B78884DAF40217DAAB, - 97E331CE947418C03CE0F7A4, - F49CAD469E29E78A6BC35C22, - E864E951F29D6C9E719ECDD8, - B1E516520B36FD7CA932BFE7, - C6465F90A1AE888243ADF614, - CA3B343B4917C1BB3ACF4AA9, - C35B2D23C6F92C440DC39084, - EBF82BF2A63ABCCFADE18D0F, - 4547B054D645C8B314124DDA, - C0070123843836867FB7FDF7, - CB43D8D41B8C1FD4DDD670B9, - 4067B8C85A270F53FEE06980, - 8914C0E96EF68616B913C2A3, - A87945C779CE68925B076D1F, - B1C65AD0886DF44A61D70939, - 5B609FDDC79F73F3BD14CC68, - 2233EC2817CE0FC35128DB7E, - 1CEC669517AEFB9DA60654F3, - E76B7CFCC39F3907C1874D4B, - 68757349C662D48B6E8D95F0, ); name = native; sourceTree = ""; }; 3E082BBABDA4AFA223BBE04B = {isa = PBXGroup; children = ( - 5266C3C7C760374BBAD548B3, - 44D717CFBACAB1B4708480BC, - 3BB2F8CF52A119966C680F2C, - B5A1175E39DFF66C86750114, - A57D0A9AD6F4BCEAC8BE2F7A, - 0FE1613FE62D5B180B6807C9, - C55558366533E30609E33554, - F06C05002537FAF7F1D13770, - 59B49F16B2CCDFD9149D3435, - C0C2173267ABCBDD61C10A41, - F06D7C2FFE79B1C5E77ABABF, - 7976EE937AFBFC4A673985AD, - 50C1F008D33888DAECED2C54, - E863DA674CF86507033B7199, - AA05FE9A13A8F6A47C0B0203, - 38B197F3796A41FFB20E61F6, - 3ABF5204E322FD3121ACF9A9, - D94EF76F396180083C2C59BE, + D695D1D6AC619250D13453A8, + C4E4451CC22318A670EF63C3, + 410E14D6F8EEC647F0D8583B, + DEC74E0F8F49A51BD401F869, + 0B06ABE31046CD58ECC086F1, + 45AEE23F49D5CE6D3DE928CF, + 94B3AB9D2CDC1AA7C30FADB4, + 28F635DCE09B95FDC666F0A3, + EDBC9294CA32BD18D93214C8, + B0F2F8645A847AF8090C4FA2, + 505289F1661937D8A19EA3C1, + 905E676243B010CE1AC86AB0, + DF4BD54097AB7853B829FDB0, + ADD2EA9B9CAB141EA7E1D45E, + B9A320FB9A856886DAF0ECE9, + E7E3F84EF65E357458625BD7, + ACEE1A1E6696FE485D9024AE, + 59589B35F0F214AA58D0E5AB, + 01C827740BEFED5D0C0568DA, + B88E3863BBF92D6B99FAF80D, 01C827740BEFED5D0C0568DA, ); name = "juce_core"; sourceTree = ""; }; - 01307D8B957801021225C358 = {isa = PBXGroup; children = ( + 08A834EE359B774D80BB5D13 = {isa = PBXGroup; children = ( + 357615E8CFB3033813CCBE7E, + DCFE0625D38D5F8F25767F83, + 7B8EBDFC8FC37BAF659298DB, + A509336C0CACBF48AE588564, ); name = "app_properties"; sourceTree = ""; }; + 3462B7FCBA8FBF9F74C0D764 = {isa = PBXGroup; children = ( + AD15BCA918CB97B82F057CE7, + EBFFEFCE6CB0E4D77E05D225, + 8457A426244850B181C5B86A, ); name = undomanager; sourceTree = ""; }; + 6ECDC7A26F6962050387A768 = {isa = PBXGroup; children = ( + 7B9A1218329A138B8F63FDF2, + 7500AB21C77CF4783576F759, 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, - 7D609A3DACE30A47E7636733, - 29948B583E16D2C6EC417837, - E815543B6E2665185D07433D, + 08A834EE359B774D80BB5D13, + 3462B7FCBA8FBF9F74C0D764, + 6ECDC7A26F6962050387A768, + 1D2BEC7EE53761D866E4A11B, + 51ED9BC4B23811D5F8E5A308, + 2C48D8AB740EC67F50362309, 51ED9BC4B23811D5F8E5A308, ); name = "juce_data_structures"; sourceTree = ""; }; - 9A9BC239C9C3588A2C48AB1C = {isa = PBXGroup; children = ( - 7B79F66C174BAC99CD5FA90A, - 7DF41CF3989F4AAEE3ED5020, - 1F983F682C7C39739FF66DFD, - 2F0710F336891230564C064E, - 06404261BC841C314E34A1A9, - CC3B5CB321D001FF58CEACFD, - 893AD986510217314E783905, - 241B1014F4230EF7A0E93C49, - C0514A1B9F261820568AB5B4, - FCADDC6F82016D387F9159C1, - 031466AAD3240E4468588275, - 8A8EB41D7E88B03839083874, - 0C77794DF4B68DB97D174834, ); name = messages; sourceTree = ""; }; - 4F28D3E6CE3FF17A11481867 = {isa = PBXGroup; children = ( - 2CE73880E4F4117B106C06AD, - 1D2D5DCA104967DEDCE2E900, - 6431731E6FF1D9E30B3F0105, - 9B4D73256D25275FB309DAAF, ); name = timers; sourceTree = ""; }; - A607A5A3F534D69E87B47F85 = {isa = PBXGroup; children = ( + F721F32B0C19CD313B4DEACF = {isa = PBXGroup; children = ( 22DA3B310056F9288264BDF6, E9F857BCDFD748ED45340B08, 0E090204426B67CAF8B93481, @@ -935,7 +1065,21 @@ 5EAE8337D70E2F0C8388CD5B, F8A7322DFB3FDDCFE4504FD8, FCB1ADA208906DCFD9553E86, ); name = interprocess; sourceTree = ""; }; - 6209BB20FCC498F6FC3630D2 = {isa = PBXGroup; children = ( + B5AC9538911996F20DE7E79F = {isa = PBXGroup; children = ( + 7B79F66C174BAC99CD5FA90A, + 7DF41CF3989F4AAEE3ED5020, + 1F983F682C7C39739FF66DFD, + 2F0710F336891230564C064E, + 06404261BC841C314E34A1A9, + CC3B5CB321D001FF58CEACFD, + 893AD986510217314E783905, + 241B1014F4230EF7A0E93C49, + C0514A1B9F261820568AB5B4, + FCADDC6F82016D387F9159C1, + 031466AAD3240E4468588275, + 8A8EB41D7E88B03839083874, + 0C77794DF4B68DB97D174834, ); name = messages; sourceTree = ""; }; + 66CD2163580050EAE16947C3 = {isa = PBXGroup; children = ( 8A5080FEECD8BD2FDA32C65D, 3BF906798B72C53AA17C42E5, 6EBC7A20DAF0299082F3C48D, @@ -944,15 +1088,22 @@ C1F93E08ECF4BD864AAF914B, F8360E50FF29AE25E6D10C60, A029C65BC0ABFF7181A63158, ); name = native; sourceTree = ""; }; + E11CB94DA953C2FB6BDCD167 = {isa = PBXGroup; children = ( + 2CE73880E4F4117B106C06AD, + 1D2D5DCA104967DEDCE2E900, + 6431731E6FF1D9E30B3F0105, + 9B4D73256D25275FB309DAAF, ); name = timers; sourceTree = ""; }; 30F00850FB3DAE66AD9DC7C6 = {isa = PBXGroup; children = ( - 9A9BC239C9C3588A2C48AB1C, - 4F28D3E6CE3FF17A11481867, - A607A5A3F534D69E87B47F85, + F721F32B0C19CD313B4DEACF, EA5B9AE51700241A6AAB1503, - 6209BB20FCC498F6FC3630D2, - 263BFB38AA9FAAC750C7EA0A, + B5AC9538911996F20DE7E79F, + 66CD2163580050EAE16947C3, + E11CB94DA953C2FB6BDCD167, + DF126518272BD97001C93516, + FCD57A996940414954D3A16C, + FE9E614EEFF0DB6698FFB50A, FCD57A996940414954D3A16C, ); name = "juce_events"; sourceTree = ""; }; - 1740BE8D8C5C7BBAA2120711 = {isa = PBXGroup; children = ( + D6E79962E373F6853170AA1D = {isa = PBXGroup; children = ( 4B6F14663424B4075D37D75A, 8FE0497A404634FB483502C1, B281E4181BE4B10CE6240947, @@ -962,7 +1113,7 @@ 83138919B5BA0EDD8F39C6BE, B5991CB9A6C3E287B55C941C, 1276013A60C9B2CE10513071, ); name = colour; sourceTree = ""; }; - 5FFE6515D67F14A30EC82B03 = {isa = PBXGroup; children = ( + 4EF4F31D057094595A19CB05 = {isa = PBXGroup; children = ( 83C15DB313052EB7554E78D3, D6DDD2E9928A5214D5C6CAC3, 1AA170683B842A7B3BBA3711, @@ -970,20 +1121,26 @@ 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 = ""; }; - 7E9202D43BB01B54DE6C7CF9 = {isa = PBXGroup; children = ( + 0C900A9DC1867FA038E5CDB4 = {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 = ""; }; + 70FE948DD356B1726EC404A8 = {isa = PBXGroup; children = ( 1B3AD48503A5E6E50A632BFA, 3BE904F9AEA4B987BA08C4BF, C673FDCB2F087C3AB4A0188F, @@ -999,30 +1156,105 @@ 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 = ( + 75427D1D7DF3A650C09A13FA = {isa = PBXGroup; children = ( + AA995F5EF6E2E9D0D943A34E, + 9B95A39C4ACE27A395BA7D17, + 7D89F8D80BF9BCBED5B48CA4, + BB8A697F12EEC02B5072830C, + 0E3A157F6B22278C013170B8, + F20A3E45A42F811B7DADA919, + F63F182E6FB049B22253688B, + FAE64541C0D2875601710BA5, + 45DD5C12231E3AD67515E5EF, + 0E1C1DAC32A2F0299F581CFD, + 4662FA43B7E65523A651F2DB, + 1744615C9DEBB137CB6CE44D, + 1D364677143A5E9EDE932F1D, + 5CC33A6AF455B5100662E07E, + 480DFCAA62EC931BB0B4BB62, + 0E78B57ADA4A3B2A6A7EF0F4, + 5573AD1090CB4855AEA88298, + 10F65B262E6B44733054FACB, + 2C894EAD434399AD38FFCD29, + 4B163E7F6AFED71EE28BD68B, + 93F61C72B5CE37377082D144, + E34A25EDE45036549F501D00, + 48D54FBA56BAD78DD1EC0733, + 652A702D4AC2B2DA5ED3D039, + 02569E05598458BAA8212C4A, + 1F38F916D630350DD8EC2FA5, + E90645DA016225CABF2C4726, + 85F90BA859ADBFA4D1A4D1A0, + E5AA1D1F37F4A1E8DC967C63, + D571CB007288493C61A73210, + DA09E6E8ED71D7B1ADA6166D, + 2D1339014BD92402D03A72D2, + 7BA2E0A4F0F1FCE1692CDA4A, + FC3D2FF31F91C91158D726A0, + 021ECC3A63E1CC0E7569AE50, + 8CC22399E3EF0F402F9E619E, + 4292A8D1EED6DABB2114EB32, + F826E604C7229A1F9D05793A, + F926CDD46023063E873D7707, + 445AD046C327FB7D2C082952, + D2A3B8C9D527727F7E624C2E, + CDE17BB68233CBE05B73F5FF, + 3D6B521E60AAFCF975A4D9A0, + CC8C5EE9916788168CCA68F0, + 3B4DDBCA252D9D5BA1C83EE2, + A32DE534C7BCD8DB7DCE1AE0, + 7D5378C4B695E584814A8AEE, + C39E9C9B85A2DD49285B1C66, + 2D902E8B331828A1FCE4F689, + CC615882E57C2FE219163178, + C720746B79A6D0587C155ABA, + E19A49A74673024955511D66, + 405AB1FF596629E1661C01F0, + A0A4087376584B7F9E22609B, + E5D045361A3474295E010D37, + A8AA26FFBAE27A9E52FCF711, + 9CCFB28C4E6FE3629E722990, + 29CD60907394D68990D0AD0F, + BDD403C7010C9656ECBC147A, + 46FE38521B2F564C4D42CA6F, ); name = jpglib; sourceTree = ""; }; + 28C121B4F0B40660EA11FCFE = {isa = PBXGroup; children = ( + 89F6F98E739200985B36EB23, + C58A86D7FDFA58EBF38935AE, + 0ADD34D6D7B6579331EC3B0C, + BA73F9D9F7083CD65564393F, + 8F9305C26E7DAD5F52AB1ADC, + 1BBC10DE5B0712D7E15C11AD, + F1B5D39B61015CF8E482D196, + 004D36A65267CAFFCDD4FAD5, + 0710B76F45A239740A1A0D56, + 0DF68E1B3F45C6C6C3A56005, + 22A69D5393B32BD94050C02D, + B57A5299F1CC56B74310EEDE, + 6C946F52C28340B3A28A77B8, + ED4DED3BFB5FDCC29F03EC68, + 54E039403CEA71A35C79C82D, + 323E31F040EF5C2BF6C0D539, + 40C8252FA8FDA84DA2F897B9, + C1063B18BE1A14B021BE6197, + C04D53D3AD86DBF68A0EBC11, + C8C4673C4AD31A51E0F18504, + 4B56982A9F3D5FE666CC74DC, ); name = pnglib; sourceTree = ""; }; + 5BAA9848AA09A5B529494DCD = {isa = PBXGroup; children = ( + 75427D1D7DF3A650C09A13FA, + 28C121B4F0B40660EA11FCFE, + 5306E2E1E4D3EDB584CB9957, + BA07C21FD4F38B2264BCE715, + 3C6266E06512926AA719ED6C, ); name = "image_formats"; sourceTree = ""; }; + AF02BDFAF13D16185756073A = {isa = PBXGroup; children = ( + 0DC03E9375671E457891A729, + FBA3D65086497BDD3F684CA9, + 7F2303D10B03C641C7F70296, + 7C33F1B4BF7CBFE66731D34C, + 6FD5D94B5C936F45C3223D71, + D294EA753ECFF016927BA7A2, + 666A2459C2BD2C5048749A3F, + D4463A8D4C9C7BBBECDBBF54, ); name = images; sourceTree = ""; }; + 54D9C3BC731452302667CA7C = {isa = PBXGroup; children = ( 266DABCCAC8727B7289E1709, A5A702D48E339F30DBAA70F3, 4F8B25661F28FBC413BD9B26, @@ -1036,19 +1268,57 @@ BA4DE2B0C739A63E6D4D20D8, FE52AE3A7D89784CC2108049, 2C506A2FB3878C94AE27D6CB, ); name = native; sourceTree = ""; }; + 7CF05034A85F26B76AB407F9 = {isa = PBXGroup; children = ( + E1CF9A4ADE4123124FED0E9D, + 2F77D1AAC55792234A1A12CC, + DEACC6D7655717F30F59FB06, ); name = placement; sourceTree = ""; }; CB4F8BAD557D46ED28907420 = {isa = PBXGroup; children = ( - 1740BE8D8C5C7BBAA2120711, - 5FFE6515D67F14A30EC82B03, - 13DF8011E9D1DEE60F9E9970, - 02C6B4ABA7C452EC2AA2511D, - 7E9202D43BB01B54DE6C7CF9, - D3836109FDDFDD715F2BAB8B, - 5240A27651F9E34F2992D4BE, - 9F6522EE613666A811E66B03, - 43ACB9A5DA7F4D3314F835BC, - FD58AC0D48956C5E5EE22300, + D6E79962E373F6853170AA1D, + 4EF4F31D057094595A19CB05, + 0C900A9DC1867FA038E5CDB4, + 5DC923EAE25164D3FC77695C, + 70FE948DD356B1726EC404A8, + 5BAA9848AA09A5B529494DCD, + AF02BDFAF13D16185756073A, + 54D9C3BC731452302667CA7C, + 7CF05034A85F26B76AB407F9, + 3015CA121D0D96D5AE7BD753, + 9E8E1B569EDFEF8F08B0165A, + B12DDE5BF035D875DFF3618F, 9E8E1B569EDFEF8F08B0165A, ); name = "juce_graphics"; sourceTree = ""; }; - 10E3EA03E37910A38A810D1B = {isa = PBXGroup; children = ( + 4577293D77C4D2282A56F041 = {isa = PBXGroup; children = ( + 61EEC07DDEAA85061C5D86C9, + F8F208696192F671B5C5E25F, ); name = application; sourceTree = ""; }; + F5903B9F9E837AB2071235FD = {isa = PBXGroup; children = ( + 062E93756C4C2047BFFE2DB8, + 0A57964A96FEA9A9FB66B41C, + 8907D739246B0F33CAB468DF, + 3638A335D7D1C48855C20D90, + 17BFF0DFD2596C177802B80E, + AD3F47F068C0A25B5D4328EE, + A546CD3EF21D18732319AC05, + 088320650994388DB9A6F9C1, + 72BD2080835C585D96780DBE, + 766243F2E499522B0BCF90D7, + 3A7CAA9C93698244C9DB8256, + C48C63AAD19E578DFF4F1178, + FDF5FA2CDA01F5017075EC53, + EED951C77E3A15B9C60BF3D4, + 431E90D8119368A51F45F9F7, + D9E235F13969D41DE2334965, + F3B12C442C73A5CD0642C9D3, + 0577DF2A977E1812176767A6, ); name = buttons; sourceTree = ""; }; + 7009BC80BB5D5905B1968332 = {isa = PBXGroup; children = ( + FC62184F4FC5E35781238309, + 4B11E3C6B1D6F06038F8E5A9, + D79D027C940D63921A6A4652, + D11A190329FB2207215105C5, + 8BC822C23CC0A74A0297DCF4, + B24CA0F38F848CB0C859BC05, + 48FC2233096E11940A6D930D, + 2F405AF1917FCFC23D0B64E3, + 6C72CD267B04F64DA9B3CA96, ); name = commands; sourceTree = ""; }; + 7CD9C7E78F6594D488A87D13 = {isa = PBXGroup; children = ( BB8C54D34EF4FC862F2A91C8, C408339286C0EDCE7DE32E85, 7020143E6EF838A9745860A2, @@ -1058,28 +1328,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 = ( + C69A76099052BB5BAEDAFC51 = {isa = PBXGroup; children = ( + F80B6F65E57D2AB96730C877, + 57CDB5AFD561349F179D658D, + DBC8C5695E5DF33DA755D47E, + A8FD638BD93E8B4332CC8F7F, + 9C9B05F2934F0EA6E998D125, + ACCE1BA4E775D7838E4AAB3F, + D5724FDB5A378C2F07D22B19, + E380F437948E68251B4DA178, + 6E461813B7DC6631B7FCCB58, + 6AF8CC00C9B0A71AFA20F408, + 1CDCE8137C9253926AF5BC1A, + 0FF5B7A3E7ACE2C0C4F4941F, + 34BD55EE695F248239C046C6, + 7ACB4BC6D063A4BF3EDA90FC, + 9B561B5E684B00FE1BA27C13, ); name = drawables; 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 = ""; }; + B5EF6C93CBE0FFCCAA7591F7 = {isa = PBXGroup; children = ( FBE4BC80A9BD7723C4BAFD57, E65281690EA762F5FAE84653, BA81B30FD657CCE058ACC8AB, @@ -1093,62 +1381,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 = ( + 03E9535C195FB352014D9549 = {isa = PBXGroup; children = ( 5B16B30659106EA13D373E5A, BFFCE59B4D94538113E12C1E, F67426274F90FFFDD017BC05, @@ -1185,72 +1418,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 = ( + 74257796A6BC2C9C4986CB60 = {isa = PBXGroup; children = ( 190A8701F6AED1C8F3E6ED94, 92FFD4D11ACFACDFE5232553, DC4BB656CA2804DA293E30BD, @@ -1259,48 +1427,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 = ( + 70730486822BF3BB7E15A9B5 = {isa = PBXGroup; children = ( + 5F1E8479743F4F07A15194B7, + B80E5F5FF2C25D743460A055, + DF7BD21111CBD2184C999702, + 0DA79E1F9EBBF20B153CE1B5, + EFD71855BBB95E5D466D1857, + B74C683A165E21901633D393, ); name = menus; sourceTree = ""; }; + 7E60CA3C3A8DAC997C8624A1 = {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 = ""; }; + 7BE05F314AF8A83900AC01F7 = {isa = PBXGroup; children = ( B20888B6A393C55FDF98A804, B43D3771C0B8A99592E7F36B, DD16F5C89E4C362296B0DC49, @@ -1317,27 +1477,107 @@ DE6F38DBFDCB87036772C055, D29E6D92BC1F9A4FAF616D36, 3DC7587D2334C184382A0521, ); name = native; sourceTree = ""; }; + 5BF1C6560B18021FDEC426ED = {isa = PBXGroup; children = ( + 936220D32E68A1F659E7E0E4, + A1904550CAE440F85C89AAF5, + 217C36243EA5DDFFA94B9F12, + D3D7C420E73EF5BCAD146AD8, + 79629645AD54B50428C710F0, + 4BDB4220849AF86BC1348E9E, + 6BAE2060DE5C2E78779A0470, + BA865C9C5F9A81A41ABC2AF4, + 0110BEC9ADF4DAB83E81DB7B, + 79FD6D91D317339650EBAE92, + F0CC8A577FF723874C9F2B91, + 2E58A12EE1FDB1796FA2962E, + 1084CA2EA8D003161FDB7824, + D15419DD90C0B320FBFE18A4, ); name = positioning; sourceTree = ""; }; + 0E9AE01D5A43BCE9903DB165 = {isa = PBXGroup; children = ( + 8AF7EBF16C1AADA1E9A29866, + 44D6F268BB9D222CF15E8152, + 5536E5B6A109E3A6A5279D0E, + 852ECAB7F74A33E19D3DE9DC, + 7ECF6918C01E45A2AE2A2D80, + 1B2CE985F2202FA1FA7A8416, + 374EE591A155C88E0D731A45, + 03266C50EF5A5A72232F1340, + 0998D7987146E954282FEB33, + 1BB767A8B8DCC526D621A37E, + 8F057B95D3C4F9BF8DE76453, + F41DF60BE07032C30DC4776E, + A5F9F0BFFD4FE587919899CF, + BD7E1441C110B2EB18580673, ); name = properties; sourceTree = ""; }; + 5C3515F51E168B9D0470FB7D = {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 = ""; }; + E08427D9017AA38887B92C14 = {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, + 4577293D77C4D2282A56F041, + F5903B9F9E837AB2071235FD, + 7009BC80BB5D5905B1968332, + 7CD9C7E78F6594D488A87D13, + C69A76099052BB5BAEDAFC51, 2B791EDAFF03DAD2915B1426, - 0BAB26AA8A67A6434AB3B814, - 105118AA1920D22DBAB69E83, - 2D707ECCE1A3654A0FF7A862, - 2242952BFE772C70EB2680E9, - 504EAAECE90FD59545F4CEEE, + B5EF6C93CBE0FFCCAA7591F7, + 03E9535C195FB352014D9549, + 74257796A6BC2C9C4986CB60, + 70730486822BF3BB7E15A9B5, + 7E60CA3C3A8DAC997C8624A1, + 080C70FDDC4DFA1127D8EF81, + 7BE05F314AF8A83900AC01F7, + 5BF1C6560B18021FDEC426ED, + 0E9AE01D5A43BCE9903DB165, + 5C3515F51E168B9D0470FB7D, + E08427D9017AA38887B92C14, + FEC75D4513B008064BF0AF66, + A4D855D1ADAAFB1BE7DA16FC, + 36F5932B212DC45F306782B6, A4D855D1ADAAFB1BE7DA16FC, ); name = "juce_gui_basics"; sourceTree = ""; }; - 0AC7ABED25A93BBFEB13594B = {isa = PBXGroup; children = ( + 36C2C054A6694801BF00DEF6 = {isa = PBXGroup; children = ( 393773350CA3B3EA68F785E0, 96B6DFDB57B45A0A3F9BBFC9, B7224283EAC60E3B999D35F9, @@ -1355,8 +1595,9 @@ 34B5E2EFD4A34CEAAE67C8D3, F9D73B4708EF9C39C234B79B, ); name = osc; sourceTree = ""; }; 5BBA8D9ECB9EFD5AD6240FAC = {isa = PBXGroup; children = ( - 0AC7ABED25A93BBFEB13594B, - 8C3DF2E0C907479C3DA1FD32, + 36C2C054A6694801BF00DEF6, + 231A1BAE4463A07BA69EA3FF, + 399469BA3496C8C0CB413C56, 399469BA3496C8C0CB413C56, ); name = "juce_osc"; sourceTree = ""; }; 3053E0F517C1BD34D36C59CC = {isa = PBXGroup; children = ( 3E082BBABDA4AFA223BBE04B, @@ -1367,15 +1608,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, @@ -1383,7 +1624,7 @@ 1A889B5B8A437BA1E0D6DFB4, 42DBAA5FEB22C47EB3E9A465, ); name = Frameworks; sourceTree = ""; }; E978A0812D52861A2786F473 = {isa = PBXGroup; children = ( - E7A37D21EA1E79DA2B8682C5, ); name = Products; sourceTree = ""; }; + E6F7F38EEF1BA55231F5B1D4, ); name = Products; sourceTree = ""; }; 168BF90B7EF8C12090B0A9B2 = {isa = PBXGroup; children = ( AF6DBEE9D9113EFB7464CADD, 3053E0F517C1BD34D36C59CC, @@ -1391,7 +1632,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; @@ -1407,11 +1648,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; @@ -1428,13 +1670,15 @@ 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; SDKROOT_ppc = macosx10.5; }; name = Release; }; 37EE6DAA0F0B202D10D0995B = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -1463,32 +1707,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; 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 e49e8a22..b738354b 100644 --- a/examples/OSCSender/Builds/VisualStudio2015/OSCSender.vcxproj +++ b/examples/OSCSender/Builds/VisualStudio2015/OSCSender.vcxproj @@ -130,31 +130,55 @@ - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -169,70 +193,67 @@ true - - true - - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true @@ -271,106 +292,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 @@ -379,22 +409,22 @@ true - + true - + true - + true - + true - + true - + true @@ -415,6 +445,18 @@ true + + true + + + true + + + true + + + true + true @@ -424,6 +466,15 @@ true + + true + + + true + + + true + true @@ -445,25 +496,28 @@ true - + true - + true - + true - + true - + true - + true - + + true + + true @@ -481,229 +535,241 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + true @@ -733,25 +799,28 @@ true - + true - + true - + true - + true - + true - + true - + + true + + true @@ -778,79 +847,121 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + 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,7 +970,25 @@ true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -886,108 +1015,169 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -997,6 +1187,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1010,39 +1234,82 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - - - - - - - - - + + + + + + - - - - + + + + + + + + + @@ -1052,19 +1319,12 @@ - - - - - - - - - - + + + @@ -1075,10 +1335,15 @@ - - - - + + + + + + + + + @@ -1089,39 +1354,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1130,33 +1430,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1176,15 +1449,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1192,13 +1479,6 @@ - - - - - - - @@ -1206,31 +1486,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1241,16 +1521,13 @@ + - - - - - - + + diff --git a/examples/OSCSender/Builds/VisualStudio2015/OSCSender.vcxproj.filters b/examples/OSCSender/Builds/VisualStudio2015/OSCSender.vcxproj.filters index 0aad71b3..de062f45 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} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -41,60 +44,60 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {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,80 +107,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {1A62F82C-C14A-E14A-94DE-8A27E0F8A090} @@ -193,45 +202,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 +217,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,77 +241,35 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\network + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\memory - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\misc - - 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 @@ -382,6 +283,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -439,17 +343,155 @@ Juce Modules\juce_core\native - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\undomanager + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core Juce Modules\juce_data_structures\app_properties @@ -457,23 +499,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -493,6 +538,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 @@ -508,6 +565,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -529,26 +598,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -565,236 +637,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -823,26 +910,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -868,80 +958,122 @@ Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\filebrowser - - 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\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\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 @@ -949,8 +1081,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -997,6 +1147,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_osc\osc @@ -1021,22 +1285,25 @@ Juce Modules\juce_osc\osc - + + Juce Modules\juce_osc + + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1044,50 +1311,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 @@ -1107,6 +1416,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1146,53 +1458,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\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\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\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\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -1251,104 +1644,47 @@ 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\unit_tests - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\xml - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\xml - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib Juce Modules\juce_core\zip @@ -1359,38 +1695,26 @@ 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 - - Juce Modules\juce_core\native + + Juce Modules\juce_core - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_core + + Juce Modules\juce_data_structures\values Juce Modules\juce_data_structures\values @@ -1401,20 +1725,35 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures + + 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 @@ -1437,41 +1776,11 @@ 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\messages - - Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages Juce Modules\juce_events\native @@ -1482,6 +1791,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -1512,17 +1830,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 @@ -1554,38 +1887,71 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -1596,167 +1962,158 @@ 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_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -1815,32 +2172,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native Juce Modules\juce_gui_basics\positioning @@ -1863,27 +2262,6 @@ 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 @@ -1905,80 +2283,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2010,6 +2388,9 @@ Juce Modules\juce_osc + + Juce Modules\juce_osc + Juce Library Code @@ -2018,23 +2399,11 @@ - - 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_graphics\image_formats\jpglib - - Juce Modules\juce_osc + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/OSCSender/Builds/iOS/Info-App.plist b/examples/OSCSender/Builds/iOS/Info-App.plist new file mode 100644 index 00000000..452bc6e3 --- /dev/null +++ b/examples/OSCSender/Builds/iOS/Info-App.plist @@ -0,0 +1,43 @@ + + + + + + LSRequiresIPhoneOS + + UIViewControllerBasedStatusBarAppearance + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + OSCSender + CFBundleDisplayName + OSCSender + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + UIRequiresFullScreen + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIBackgroundModes + + + diff --git a/examples/OSCSender/Builds/iOS/Info.plist b/examples/OSCSender/Builds/iOS/Info.plist deleted file mode 100644 index b43c4a99..00000000 --- a/examples/OSCSender/Builds/iOS/Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - LSRequiresIPhoneOS - - UIViewControllerBasedStatusBarAppearance - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.OSCSender - CFBundleName - OSCSender - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - UIRequiresFullScreen - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj b/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj index 5e41dde0..40364ec5 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,22 +14,27 @@ 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"; }; + 004D36A65267CAFFCDD4FAD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; 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"; }; 0110BEC9ADF4DAB83E81DB7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 01C827740BEFED5D0C0568DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 01DEAD94D6AD73C1BE4BE357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + 021ECC3A63E1CC0E7569AE50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; 022A85562D9308EC164A2692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02569E05598458BAA8212C4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; 028A331429FB24687E6F4178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 029299521469F64490977419 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 031466AAD3240E4468588275 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; 03266C50EF5A5A72232F1340 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 03B086DDD75DBA168CC15C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; 041926A046564E0E3D0EFDE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; 044052990FE21E86105CDC27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; 053E86E2127D79BB537168C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -37,20 +43,28 @@ 0625FE8FB912E392F2710EAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; 062E93756C4C2047BFFE2DB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 06404261BC841C314E34A1A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + 0710B76F45A239740A1A0D56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 075E8F5B0CE507EA241E7820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; 088320650994388DB9A6F9C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + 0979134E905453F4139E8E17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; 0998D7987146E954282FEB33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 0A57964A96FEA9A9FB66B41C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; 0A9FD8DEA2B1D97923BFDEE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCReceiver.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp"; sourceTree = "SOURCE_ROOT"; }; 0ABFC69420764D47876F90C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + 0ADD34D6D7B6579331EC3B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; + 0C3789618083EB623CA7CEFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 0C52788862239CCDFFA2B5C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 0C77794DF4B68DB97D174834 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; 0DA79E1F9EBBF20B153CE1B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 0DA97F6DF97050683F834CA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; 0DB62E76787DA030C07650DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 0DC03E9375671E457891A729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0DF68E1B3F45C6C6C3A56005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 0E090204426B67CAF8B93481 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 0E1C1DAC32A2F0299F581CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; 0E3613C3AD773AB362CA45EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 0E3A157F6B22278C013170B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 0E78B57ADA4A3B2A6A7EF0F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; 0F173E9956EC7F3F26F55472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; 0F5C8789D33A47DA78BEEFDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; 0FF5B7A3E7ACE2C0C4F4941F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; @@ -58,6 +72,7 @@ 105993ED238D528CD399FF92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; 1084CA2EA8D003161FDB7824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 10F537FABCC653D1C8F05FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 10F65B262E6B44733054FACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; 11371D3819C11870351DF5D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; 11D53565B6B910B4C6D3B5D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; 126A516090327A3B6C9EFCE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -65,6 +80,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"; }; @@ -72,6 +88,7 @@ 162B88C97B3B2FE6FF0506D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 16B08F86012631AE74FCF89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 16D238D027A1F900F190A59A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 1744615C9DEBB137CB6CE44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; 17BFF0DFD2596C177802B80E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 17DA11859066C1A6550541DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; 18373E02365D98A26CDA435B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; @@ -87,13 +104,16 @@ 1B3AD48503A5E6E50A632BFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; 1BA1941BE9831878420374C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; 1BB767A8B8DCC526D621A37E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 1BBC10DE5B0712D7E15C11AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; 1C13BEC629F1DD9B093CC885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; 1C4ACF94AC8D8649C22EBA6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; 1CC3CC3615F549A3714403FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; 1CDCE8137C9253926AF5BC1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 1CEC669517AEFB9DA60654F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D0D22BD3066EA256BBBAC0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 1D2BEC7EE53761D866E4A11B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D2D5DCA104967DEDCE2E900 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 1D364677143A5E9EDE932F1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; 1D3EDF3D9B02677F0CC86EAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; 1D421BF3B85E99CD596765AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 1D4C0E175995158D4C18AB9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -101,18 +121,19 @@ 1DDFBB0F225E4F95F635052C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E02908C9637CF4C22BB58DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; 1EED7017C33745D0E23EFED7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + 1F38F916D630350DD8EC2FA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; 1F983F682C7C39739FF66DFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; 204825E69740E61C3BB37472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 217C36243EA5DDFFA94B9F12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 21BF0CAF7A4F1263372A5C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 2233EC2817CE0FC35128DB7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 22A69D5393B32BD94050C02D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -122,14 +143,20 @@ 28E913EFE1CEB57ED8935740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; 290841815EF10FEB2685BDF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 29953F0649A18831E891815C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 29CD60907394D68990D0AD0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2C894EAD434399AD38FFCD29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + 2C89BE9139840FE5295E18B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; 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"; }; + 2D1339014BD92402D03A72D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; 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"; }; + 2D902E8B331828A1FCE4F689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; 2DF80EDCBEC3706EEE3DF8BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 2E58A12EE1FDB1796FA2962E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; 2EC883766946EBDB683674AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -137,10 +164,13 @@ 2F405AF1917FCFC23D0B64E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 2F77D1AAC55792234A1A12CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; 300B798AE6D1456AF71725F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3015CA121D0D96D5AE7BD753 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 302CAE0B9D8DA232076E6B84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 323E31F040EF5C2BF6C0D539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; 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"; }; @@ -150,6 +180,7 @@ 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"; }; 37B3ADE4412D615A5F386B74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -162,39 +193,58 @@ 3A649F8B1FFCA953E354BDE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; 3A7CAA9C93698244C9DB8256 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 3AA5F3D97273776E1B2E3EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + 3B4DDBCA252D9D5BA1C83EE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; 3BAA414A63015A0429F7E21B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3BD8A2292E1D6E597620DB27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 3BE904F9AEA4B987BA08C4BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; 3BF906798B72C53AA17C42E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 3C6266E06512926AA719ED6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3CBC1B4C503A66E2FC899E76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + 3CF927C397A1CFD6C8D0D541 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; + 3D6B521E60AAFCF975A4D9A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; 3DC7587D2334C184382A0521 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E0874E1F6F508F4848D483E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E3FEDBFDE2D9B7BB5C78127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 403FC708FACAFFD6C99FBAA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; + 405AB1FF596629E1661C01F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; 4067B8C85A270F53FEE06980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 40C8252FA8FDA84DA2F897B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; 411CCB03DC29AC25367A95E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; 41D7BC4C569213AF26F18B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; 424CC3F82EC87CDE8F547452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4292A8D1EED6DABB2114EB32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; 42DBAA5FEB22C47EB3E9A465 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 431D37DEF42489D3D2BAA92C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 431E90D8119368A51F45F9F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 43FB864DB11F4A6D182EECBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 445AD046C327FB7D2C082952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; 44D6F268BB9D222CF15E8152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 4547B054D645C8B314124DDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; 45880C2CED1DE53F368D6DC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; 45896F16C409721A1988D036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 45DD5C12231E3AD67515E5EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; 45DE191D497670E66BB5252C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 4662FA43B7E65523A651F2DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; 468BF60A1A0E9550C34419E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 46D9A546710BF2503ABD4C96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + 46FE38521B2F564C4D42CA6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; + 480DFCAA62EC931BB0B4BB62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; 482FD6D43CB94752B1DD0243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + 48D54FBA56BAD78DD1EC0733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; 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"; }; 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"; }; 4B11E3C6B1D6F06038F8E5A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B13D66B82B420CD8B8C5AB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B163E7F6AFED71EE28BD68B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; 4B3200BF90A9A56DA0BACDAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B3BDEC206ACDE4BCE0E2778 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + 4B56982A9F3D5FE666CC74DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + 4B5F9FCE6549FD42148F3E5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 4B6F14663424B4075D37D75A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; 4BCB6AF53C2A972E4AC20EFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 4BDB4220849AF86BC1348E9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; @@ -203,7 +253,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; }; @@ -215,14 +264,19 @@ 5306E2E1E4D3EDB584CB9957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 534CDC320462F430020262A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCMessage.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; 54D6721139580A36CE2D0A5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54E039403CEA71A35C79C82D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; 5536E5B6A109E3A6A5279D0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5573AD1090CB4855AEA88298 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; 5579A809BAAEC707977D7515 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + 56171D5E50C275618ED8E595 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + 5689C8AADDE3796E7E0803E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; 56ACA5E2124B635579CF7615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; 572DD86F800699B320C50718 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; 5786605F1BC2DCBC066F122D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 578A0C5AAA465A09B2ECC2EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 57CDB5AFD561349F179D658D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 5893171B6BA4AF650B8C1D41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + 59589B35F0F214AA58D0E5AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; 5998888018A6809EB12543AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; 59FE94EFAA706AEF962EE7F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; 5A58E4097153888A8A8C1CD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -231,6 +285,7 @@ 5B16B30659106EA13D373E5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; 5B20963BCC9209B2069E4A55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5B609FDDC79F73F3BD14CC68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5CC33A6AF455B5100662E07E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; 5D14BB057C1DCC194D4110A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D8BFB8CBCF7DA74A375D6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 5D97086E73EC3FA4DA2D8E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -244,15 +299,18 @@ 644BA51BE9C61B056F6B25E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; 6467B818C4A8564579EB95A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; 64A4085FAB8D536155D630CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 652A702D4AC2B2DA5ED3D039 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 6530C248DC2C3B048F34DDFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; 663607A2A052262E3F04EC1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; 666A2459C2BD2C5048749A3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 67C284A0D80710E1E2AC0C0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; 67C966FCF491A98350C58CAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; 680C1BC84958D80670517D60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6839583701D24144B7A8AED8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; 68757349C662D48B6E8D95F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 68C660B543CCF8E23F4FCFAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; 69841546D58D64E5BCC0CD09 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 69EBA544837171FCF37CE84B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; 6AF8CC00C9B0A71AFA20F408 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 6B8EABF5A1B9555BF8E672F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 6BAE2060DE5C2E78779A0470 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -260,10 +318,13 @@ 6C72CD267B04F64DA9B3CA96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; 6C8482B28590113DC3D093DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; 6C89169126AF5205014D8AE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + 6C946F52C28340B3A28A77B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; 6CF342D41752D3033E847E9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCArgument.h"; path = "../../../../modules/juce_osc/osc/juce_OSCArgument.h"; sourceTree = "SOURCE_ROOT"; }; + 6D1B9E2B6A984B03DBBDC834 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; 6D81EC26DD64274A3BB77D96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 6E27619CD5C9B116CB3160E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 6E461813B7DC6631B7FCCB58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6E92F65DA9DD9C99F16F2F94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; 6EBC7A20DAF0299082F3C48D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F11C39FA9C8E2F1DCD6CB53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 6F9DFA3769DA9D9F0FA46968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -280,12 +341,14 @@ 73ECE098454A1E93F65F750C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 7419FCD8B242A894D72EC5F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 741AE4CDEAAA1AB1657A4A53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7500AB21C77CF4783576F759 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; 766243F2E499522B0BCF90D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; 76FA69159E195EC73C54C166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 775586DF3FED31DE6FAF7A48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; 7804C945A084AFEE73DF0D42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; 791FF25A18905D86E00AD36F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; 79629645AD54B50428C710F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 79D3702FE4E9ADF12E9534F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; 79F23F85772E0B3B028B7DA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; 79FD6D91D317339650EBAE92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; 7A0CB2B04ADE780AF3BF4219 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -294,7 +357,11 @@ 7ACB4BC6D063A4BF3EDA90FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; 7B79F66C174BAC99CD5FA90A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B8EBDFC8FC37BAF659298DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7B9A1218329A138B8F63FDF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7BA2E0A4F0F1FCE1692CDA4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; 7C33F1B4BF7CBFE66731D34C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + 7D5378C4B695E584814A8AEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 7D89F8D80BF9BCBED5B48CA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; 7DF41CF3989F4AAEE3ED5020 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 7E6E6D14D6F86626B1F85469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; 7ECF6918C01E45A2AE2A2D80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -315,20 +382,23 @@ 8568AB9BAE72B96265CBD75D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 8599EDB720D284DF684DDD57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 85C00E1440983A2F4F6A0430 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 85F90BA859ADBFA4D1A4D1A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; 85FA970C8CBA66305710AC81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; 869B84A46023D33AFDC0D1A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; 869E8C4D5C7C71BBD9D3DE13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; 86C81C569A8BC04DF417D5CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; 8754500BE079EAC8F32D6EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; 8773F84FA14F288D8ABAADFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 879B6E31E3CC0D86AF542665 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; 87A59A16FFB7F76FE61F21F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 88CEF894CF89C020C0969646 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 8907D739246B0F33CAB468DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; 8914C0E96EF68616B913C2A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 893AD986510217314E783905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 89F6F98E739200985B36EB23 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; 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"; }; @@ -337,10 +407,11 @@ 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"; }; + 8CC22399E3EF0F402F9E619E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; + 8F9305C26E7DAD5F52AB1ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; 8FE0497A404634FB483502C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; 9057E39B7C935E0C4267F1D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 9070498C10B88FB07312D2F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -358,6 +429,7 @@ 935007CA595A6A01AAD4CA08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 936220D32E68A1F659E7E0E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; 9373C6EA5BA89D5EBCFFAF6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 93F61C72B5CE37377082D144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; 940FAD7463B2A21CAF68ABD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; 946EE5AB4425456B8DC0F534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; 953B8119D4983047502355C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; @@ -372,8 +444,10 @@ 98E7E80CFA4AEE2ADC882C16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; 9B4D73256D25275FB309DAAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 9B561B5E684B00FE1BA27C13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9B95A39C4ACE27A395BA7D17 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 9C5ED7962D76591FDB35BFD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9C9B05F2934F0EA6E998D125 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CCFB28C4E6FE3629E722990 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 9CF199A5DB26993BA4842ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 9D7A373ECD058548A106A2A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 9D8BFC780964898A45DE4D02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -386,9 +460,12 @@ 9F80A197F695CE97616BD1E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 9FE2029E98CE31DE5E20496F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; A029C65BC0ABFF7181A63158 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + A0A4087376584B7F9E22609B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A32DE534C7BCD8DB7DCE1AE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; 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"; }; @@ -406,11 +483,13 @@ A813CA7CC0D3D2724B95D8FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; A83D209F7375389768B82994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; A87945C779CE68925B076D1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + A8AA26FFBAE27A9E52FCF711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; A8FD638BD93E8B4332CC8F7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; A9450EC319A9D37307AB7D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; A979A96E5616479B39218B2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; AA08ACAB3B8317DB35F9F209 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; AA776E87EF55F5B39DB3E6E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + AA995F5EF6E2E9D0D943A34E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; AAAA831490496F47D3807C0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; AAD5211C8E9EC185BF2E0513 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; AAE256E4F057457CEDD27A90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; @@ -438,6 +517,7 @@ B43D3771C0B8A99592E7F36B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; B48FEF193584C4735B8DAEA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; B4C9EE22A48A894A442FDEF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + B57A5299F1CC56B74310EEDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; B5991CB9A6C3E287B55C941C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; B5D2C88B8B090BDBEF9858AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; B66ECE8537A65C2AE20F3200 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -449,23 +529,28 @@ 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"; }; + BA73F9D9F7083CD65564393F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; 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"; }; BA865C9C5F9A81A41ABC2AF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; BA8CFC69F1C04974E93BE59C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; BB5F825662E1D0FFF44D22DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + BB8A697F12EEC02B5072830C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; BB8C54D34EF4FC862F2A91C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; BC2496AD58936DD70AF96330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; BC779F0EF23E0FD73F142602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; BD7E1441C110B2EB18580673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BDD403C7010C9656ECBC147A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; BE307F83A3877A47F81609AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; BF32CCC7DACE9BFD99273809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; BF728F1A80664B788402B94B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; BFF09EF3282D581DA210F092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; BFFCE59B4D94538113E12C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; C0070123843836867FB7FDF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; + C04D53D3AD86DBF68A0EBC11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; C0514A1B9F261820568AB5B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; C078149F5EC57FB18E899494 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; C0D2F7A87802CB59FF660C85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCBundle.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1063B18BE1A14B021BE6197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; C107196A74FA34A35EBFD8BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; C1F93E08ECF4BD864AAF914B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; C2B211151D7D3B7B96DA01A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -473,19 +558,23 @@ C35B2D23C6F92C440DC39084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; C37E01CD441BB57B0BD6C2D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; C38135F3C6287FD3860C4527 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + C39E9C9B85A2DD49285B1C66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; C3D367C0B3573411FE70D226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; C408339286C0EDCE7DE32E85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; C42155548358E30AD7DE4E25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; C445C9169161BC685264BB15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; C48C63AAD19E578DFF4F1178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + C58A86D7FDFA58EBF38935AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; C5A813AEF580F0DD29CC9BE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; C6350A8E920D19081524D425 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; C6465F90A1AE888243ADF614 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; C673FDCB2F087C3AB4A0188F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; C68BD7F904FB1079B6924931 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + C720746B79A6D0587C155ABA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; C794AB7DC16EA991F2E27273 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; C80154A9702E9F4140FD8573 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C87AB2E5D49E6030C4A3AC69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C8C4673C4AD31A51E0F18504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; C959DCDA5A0B45FD52231382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; C9D88946156002CE878BC4D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; C9FF6E12A8FD051CF6193B24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -496,11 +585,15 @@ CBCE2DE10CF82B5A463AEE00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; CC3B5CB321D001FF58CEACFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; CC5EF14FD939E63C78702E3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC615882E57C2FE219163178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; + CC8C5EE9916788168CCA68F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; CC91DE14E4ACC0D61C0FCC79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; CCA929A6A7A11D49059CA387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + CCDC17DA72ECEE23507298D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; CD0ED8112E5882C2A43D822F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; CD150E69E3961A2123E10C3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; CD4BC4428621BA9E10D963C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + CDE17BB68233CBE05B73F5FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; CF089C2F19939657FF77F446 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D11A190329FB2207215105C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; D15419DD90C0B320FBFE18A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; @@ -510,6 +603,7 @@ D25E79431BC193D5A47EC2F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; D294EA753ECFF016927BA7A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; D29E6D92BC1F9A4FAF616D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2A3B8C9D527727F7E624C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; D35BB13A98176E269CE615FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; D3D7C420E73EF5BCAD146AD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; D3FFEFC1B56E0CBEB3385B20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -518,6 +612,7 @@ D52CEEA36B26A91E1599CF90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; D53140323325368C36FF0980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; D535F0D6E9FF45E90928E160 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + D571CB007288493C61A73210 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; D5724FDB5A378C2F07D22B19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; D5BC2755CE4878BBF46D7752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; D5CA92B53DCF1BBA6C85D831 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -532,10 +627,11 @@ 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"; }; + DA09E6E8ED71D7B1ADA6166D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; 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"; }; + DB4B31EEDC9093E8382C8F0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; DBC2857A5AE0E3FB583BCD1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; DBC8C5695E5DF33DA755D47E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; DBDD822F9E2E1D6C876E5A0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -547,27 +643,34 @@ DD8690C8331A25FF586CEC32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; DE6F38DBFDCB87036772C055 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; DEACC6D7655717F30F59FB06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + DF126518272BD97001C93516 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; DF7BD21111CBD2184C999702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; DF803E04A92B4158494A30A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCMessage.h"; path = "../../../../modules/juce_osc/osc/juce_OSCMessage.h"; sourceTree = "SOURCE_ROOT"; }; DF833FBE7FAB055403EBAE29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; E084AFE8575D1EED6EC41BC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + E19A49A74673024955511D66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; E1A752C30F9E9CBF6AB409C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E34A25EDE45036549F501D00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; 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"; }; + E5AA1D1F37F4A1E8DC967C63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + E5D045361A3474295E010D37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; 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"; }; + E90645DA016225CABF2C4726 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + E917F3D7ABC884FCE82F6D94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; 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"; }; E9F857BCDFD748ED45340B08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; EA2A51B88619FC02A3455A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -580,6 +683,7 @@ EBF82BF2A63ABCCFADE18D0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; EBFFEFCE6CB0E4D77E05D225 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; ED4420CC02B25ED88E45BCC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + ED4DED3BFB5FDCC29F03EC68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; ED4E215F7CA65E0BD389D502 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; ED9C8FB4CABE3EDAD39BFCA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; EDFA816F0A1B807DDC469251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -592,11 +696,14 @@ 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"; }; F17D77A72E81AA8F8D6B3476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; F19A4B985C96C873FCC33389 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F1B5D39B61015CF8E482D196 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; + F20A3E45A42F811B7DADA919 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; F305B5B71B3B44364A70FB81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; F3594481E7829FFA2CD5C778 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; F38DD3C9585C616FCA538086 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -607,37 +714,45 @@ 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"; }; + F63F182E6FB049B22253688B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; 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"; }; + F74B34BA03332AC52664DA24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; F80B6F65E57D2AB96730C877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; + F826E604C7229A1F9D05793A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 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"; }; + F926CDD46023063E873D7707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; F92BE90E61CE349D6C9DB741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; F9D73B4708EF9C39C234B79B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCTypes.h"; path = "../../../../modules/juce_osc/osc/juce_OSCTypes.h"; sourceTree = "SOURCE_ROOT"; }; FA1E705CDB469910D9CD45DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; FAB7137B238411F408A7359F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + FAE64541C0D2875601710BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; FAF73612E3CEE8981A15E6DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; FB0DEF7E62FF0B36E44A3175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; FB804B682C683C360DAE6C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; FBA3D65086497BDD3F684CA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; FBE4BC80A9BD7723C4BAFD57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FBE756804C40A680F0C42292 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; + FC3D2FF31F91C91158D726A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; FC44B8B2D266A7D969245F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; FC62184F4FC5E35781238309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; FC8C3B125B6526B9845DAD20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + FC9079045148C0CE23D11213 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; FCADDC6F82016D387F9159C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + FEC75D4513B008064BF0AF66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; 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"; }; @@ -646,57 +761,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, ); 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 = ( + D695D1D6AC619250D13453A8 = {isa = PBXGroup; children = ( A5D217BC9E2D0717B5FEC88D, ACA16BA92B5E2C735AF5F0AB, BFF09EF3282D581DA210F092, @@ -718,37 +783,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 = ( + C4E4451CC22318A670EF63C3 = {isa = PBXGroup; children = ( E2F186EFF4E392744FC0848E, C2B211151D7D3B7B96DA01A1, C38135F3C6287FD3860C4527, @@ -766,7 +801,81 @@ F17D77A72E81AA8F8D6B3476, BA8CFC69F1C04974E93BE59C, A813CA7CC0D3D2724B95D8FE, ); name = files; sourceTree = ""; }; - F06C05002537FAF7F1D13770 = {isa = PBXGroup; children = ( + 410E14D6F8EEC647F0D8583B = {isa = PBXGroup; children = ( + 4B13D66B82B420CD8B8C5AB7, + E4E21650A774C8418AFC33B9, + 11D53565B6B910B4C6D3B5D1, + 0E3613C3AD773AB362CA45EC, ); name = javascript; sourceTree = ""; }; + DEC74E0F8F49A51BD401F869 = {isa = PBXGroup; children = ( + C9D88946156002CE878BC4D2, + 52893977D68DFB4A91DCEF20, + 5786605F1BC2DCBC066F122D, + 21BF0CAF7A4F1263372A5C8B, ); name = logging; sourceTree = ""; }; + 0B06ABE31046CD58ECC086F1 = {isa = PBXGroup; children = ( + 6C536C513F6B5AEEE5647FC1, + 946EE5AB4425456B8DC0F534, + 22FB6CDBF9536FCACFFC702A, + 17DA11859066C1A6550541DC, + 45DE191D497670E66BB5252C, + 953B8119D4983047502355C3, + 0625FE8FB912E392F2710EAF, + 1CC3CC3615F549A3714403FB, + 7088CCB58F437B0DE9524E00, + 56171D5E50C275618ED8E595, ); name = maths; sourceTree = ""; }; + 45AEE23F49D5CE6D3DE928CF = {isa = PBXGroup; children = ( + 8754500BE079EAC8F32D6EDF, + 4AFFB00C50E5188C6173F81A, + F8306341C38FC9F71F9C289C, + 41D7BC4C569213AF26F18B0C, + 5998888018A6809EB12543AB, + DC146BC82E9DF5DE3387E5A0, + 3E0874E1F6F508F4848D483E, + 940FAD7463B2A21CAF68ABD8, + 9CF199A5DB26993BA4842ACF, + DA57BC0681DDCA88FE5F312E, + FC8C3B125B6526B9845DAD20, + 8A129151479A5AAD2BD39091, + 9373C6EA5BA89D5EBCFFAF6E, + 71CA0EBE5516DA53A6054514, ); name = memory; sourceTree = ""; }; + 94B3AB9D2CDC1AA7C30FADB4 = {isa = PBXGroup; children = ( + 35C07BF1273F1F1611E65BE0, + ABACE0FD4603F0AC6DC24986, + 88CEF894CF89C020C0969646, + 371D30FA280FD0CD39132955, + 73ECE098454A1E93F65F750C, + 869E8C4D5C7C71BBD9D3DE13, + F917AC1B20761A5CBA104955, ); name = misc; sourceTree = ""; }; + 28F635DCE09B95FDC666F0A3 = {isa = PBXGroup; children = ( + 924B8AEE63D51A88C424236D, + FA1E705CDB469910D9CD45DD, + F0A3B21A5E0FB04F59010235, + 90DAA6689446974C08A8CA22, + FC9079045148C0CE23D11213, + 1042F89BE3FD99BF962CD559, + 83E6D34A5C23CF3CFA194161, + 13264B0D46B7A04ED8AD3A0E, + AC72E5B78884DAF40217DAAB, + 97E331CE947418C03CE0F7A4, + F49CAD469E29E78A6BC35C22, + E864E951F29D6C9E719ECDD8, + B1E516520B36FD7CA932BFE7, + C6465F90A1AE888243ADF614, + CA3B343B4917C1BB3ACF4AA9, + C35B2D23C6F92C440DC39084, + EBF82BF2A63ABCCFADE18D0F, + 4547B054D645C8B314124DDA, + C0070123843836867FB7FDF7, + CB43D8D41B8C1FD4DDD670B9, + 4067B8C85A270F53FEE06980, + 8914C0E96EF68616B913C2A3, + A87945C779CE68925B076D1F, + B1C65AD0886DF44A61D70939, + 5B609FDDC79F73F3BD14CC68, + 2233EC2817CE0FC35128DB7E, + 1CEC669517AEFB9DA60654F3, + E76B7CFCC39F3907C1874D4B, + 68757349C662D48B6E8D95F0, ); name = native; sourceTree = ""; }; + EDBC9294CA32BD18D93214C8 = {isa = PBXGroup; children = ( 5D14BB057C1DCC194D4110A4, FAB7137B238411F408A7359F, 3265394635B1C027552EBC97, @@ -777,7 +886,7 @@ 6F11C39FA9C8E2F1DCD6CB53, C3D367C0B3573411FE70D226, 1EED7017C33745D0E23EFED7, ); name = network; sourceTree = ""; }; - 59B49F16B2CCDFD9149D3435 = {isa = PBXGroup; children = ( + B0F2F8645A847AF8090C4FA2 = {isa = PBXGroup; children = ( 9F80A197F695CE97616BD1E2, D53140323325368C36FF0980, FD8944C5B057E4029E64E701, @@ -793,135 +902,156 @@ 76FA69159E195EC73C54C166, F305B5B71B3B44364A70FB81, D52CEEA36B26A91E1599CF90, ); name = streams; sourceTree = ""; }; - C0C2173267ABCBDD61C10A41 = {isa = PBXGroup; children = ( - C9D88946156002CE878BC4D2, - 52893977D68DFB4A91DCEF20, - 5786605F1BC2DCBC066F122D, - 21BF0CAF7A4F1263372A5C8B, ); name = logging; sourceTree = ""; }; - F06D7C2FFE79B1C5E77ABABF = {isa = PBXGroup; children = ( + 505289F1661937D8A19EA3C1 = {isa = PBXGroup; children = ( 7804C945A084AFEE73DF0D42, 11371D3819C11870351DF5D4, A83D209F7375389768B82994, 52EC460B51B671A78DA0B0D0, D73AD91EB6FB85DD8C129E31, EBA76494AF0634E852001C0E, ); name = system; sourceTree = ""; }; - 7976EE937AFBFC4A673985AD = {isa = PBXGroup; children = ( + 905E676243B010CE1AC86AB0 = {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 = ""; }; + DF4BD54097AB7853B829FDB0 = {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 = ""; }; + ADD2EA9B9CAB141EA7E1D45E = {isa = PBXGroup; children = ( + FF0A25C484FF14D68A7FA84C, + 4AE3787EBA02DE0DFEFF32F0, + 0DB62E76787DA030C07650DF, + A4D808F48A57E5401EE2E28D, + 5F1DCEEEC0AF0DAEFAE558C3, + 8DDEF1513C451116AA0E965A, ); name = time; sourceTree = ""; }; + B9A320FB9A856886DAF0ECE9 = {isa = PBXGroup; children = ( + 5A58E4097153888A8A8C1CD9, + F041FD178F6C8187DDBB046D, ); name = "unit_tests"; sourceTree = ""; }; + E7E3F84EF65E357458625BD7 = {isa = PBXGroup; children = ( 3E3FEDBFDE2D9B7BB5C78127, 2DF80EDCBEC3706EEE3DF8BF, EBD65185E6F4C735BA39DFDD, F509A91694B01BC57C7A2D6C, ); name = xml; sourceTree = ""; }; - 50C1F008D33888DAECED2C54 = {isa = PBXGroup; children = ( - 4B13D66B82B420CD8B8C5AB7, - E4E21650A774C8418AFC33B9, - 11D53565B6B910B4C6D3B5D1, - 0E3613C3AD773AB362CA45EC, ); name = javascript; sourceTree = ""; }; - E863DA674CF86507033B7199 = {isa = PBXGroup; children = ( + 45D30362AA855448978013B6 = {isa = PBXGroup; children = ( + 403FC708FACAFFD6C99FBAA1, + 4B5F9FCE6549FD42148F3E5F, + FBE756804C40A680F0C42292, + 0C3789618083EB623CA7CEFD, + 4B3BDEC206ACDE4BCE0E2778, + 879B6E31E3CC0D86AF542665, + 3CF927C397A1CFD6C8D0D541, + F74B34BA03332AC52664DA24, + 3CBC1B4C503A66E2FC899E76, + 01DEAD94D6AD73C1BE4BE357, + 6D1B9E2B6A984B03DBBDC834, + 79D3702FE4E9ADF12E9534F6, + 03B086DDD75DBA168CC15C49, + 0979134E905453F4139E8E17, + 6E92F65DA9DD9C99F16F2F94, + DB4B31EEDC9093E8382C8F0C, + 6839583701D24144B7A8AED8, + 5689C8AADDE3796E7E0803E1, + 69EBA544837171FCF37CE84B, + CCDC17DA72ECEE23507298D8, + E917F3D7ABC884FCE82F6D94, + 2C89BE9139840FE5295E18B3, ); name = zlib; sourceTree = ""; }; + ACEE1A1E6696FE485D9024AE = {isa = PBXGroup; children = ( + 45D30362AA855448978013B6, C5A813AEF580F0DD29CC9BE8, CC91DE14E4ACC0D61C0FCC79, 7F1D13704277EDA6CD435392, 29953F0649A18831E891815C, 844D65F83A1B7DA2E0CAB652, 663607A2A052262E3F04EC1B, ); name = zip; sourceTree = ""; }; - AA05FE9A13A8F6A47C0B0203 = {isa = PBXGroup; children = ( - 5A58E4097153888A8A8C1CD9, - F041FD178F6C8187DDBB046D, ); name = "unit_tests"; sourceTree = ""; }; - 38B197F3796A41FFB20E61F6 = {isa = PBXGroup; children = ( - 35C07BF1273F1F1611E65BE0, - ABACE0FD4603F0AC6DC24986, - 73ECE098454A1E93F65F750C, - 869E8C4D5C7C71BBD9D3DE13, - F917AC1B20761A5CBA104955, ); name = misc; sourceTree = ""; }; - 3ABF5204E322FD3121ACF9A9 = {isa = PBXGroup; children = ( - 924B8AEE63D51A88C424236D, - FA1E705CDB469910D9CD45DD, - F0A3B21A5E0FB04F59010235, - 90DAA6689446974C08A8CA22, - 1042F89BE3FD99BF962CD559, - 83E6D34A5C23CF3CFA194161, - 13264B0D46B7A04ED8AD3A0E, - AC72E5B78884DAF40217DAAB, - 97E331CE947418C03CE0F7A4, - F49CAD469E29E78A6BC35C22, - E864E951F29D6C9E719ECDD8, - B1E516520B36FD7CA932BFE7, - C6465F90A1AE888243ADF614, - CA3B343B4917C1BB3ACF4AA9, - C35B2D23C6F92C440DC39084, - EBF82BF2A63ABCCFADE18D0F, - 4547B054D645C8B314124DDA, - C0070123843836867FB7FDF7, - CB43D8D41B8C1FD4DDD670B9, - 4067B8C85A270F53FEE06980, - 8914C0E96EF68616B913C2A3, - A87945C779CE68925B076D1F, - B1C65AD0886DF44A61D70939, - 5B609FDDC79F73F3BD14CC68, - 2233EC2817CE0FC35128DB7E, - 1CEC669517AEFB9DA60654F3, - E76B7CFCC39F3907C1874D4B, - 68757349C662D48B6E8D95F0, ); name = native; sourceTree = ""; }; 3E082BBABDA4AFA223BBE04B = {isa = PBXGroup; children = ( - 5266C3C7C760374BBAD548B3, - 44D717CFBACAB1B4708480BC, - 3BB2F8CF52A119966C680F2C, - B5A1175E39DFF66C86750114, - A57D0A9AD6F4BCEAC8BE2F7A, - 0FE1613FE62D5B180B6807C9, - C55558366533E30609E33554, - F06C05002537FAF7F1D13770, - 59B49F16B2CCDFD9149D3435, - C0C2173267ABCBDD61C10A41, - F06D7C2FFE79B1C5E77ABABF, - 7976EE937AFBFC4A673985AD, - 50C1F008D33888DAECED2C54, - E863DA674CF86507033B7199, - AA05FE9A13A8F6A47C0B0203, - 38B197F3796A41FFB20E61F6, - 3ABF5204E322FD3121ACF9A9, - D94EF76F396180083C2C59BE, + D695D1D6AC619250D13453A8, + C4E4451CC22318A670EF63C3, + 410E14D6F8EEC647F0D8583B, + DEC74E0F8F49A51BD401F869, + 0B06ABE31046CD58ECC086F1, + 45AEE23F49D5CE6D3DE928CF, + 94B3AB9D2CDC1AA7C30FADB4, + 28F635DCE09B95FDC666F0A3, + EDBC9294CA32BD18D93214C8, + B0F2F8645A847AF8090C4FA2, + 505289F1661937D8A19EA3C1, + 905E676243B010CE1AC86AB0, + DF4BD54097AB7853B829FDB0, + ADD2EA9B9CAB141EA7E1D45E, + B9A320FB9A856886DAF0ECE9, + E7E3F84EF65E357458625BD7, + ACEE1A1E6696FE485D9024AE, + 59589B35F0F214AA58D0E5AB, + 01C827740BEFED5D0C0568DA, + B88E3863BBF92D6B99FAF80D, 01C827740BEFED5D0C0568DA, ); name = "juce_core"; sourceTree = ""; }; - 01307D8B957801021225C358 = {isa = PBXGroup; children = ( + 08A834EE359B774D80BB5D13 = {isa = PBXGroup; children = ( + 357615E8CFB3033813CCBE7E, + DCFE0625D38D5F8F25767F83, + 7B8EBDFC8FC37BAF659298DB, + A509336C0CACBF48AE588564, ); name = "app_properties"; sourceTree = ""; }; + 3462B7FCBA8FBF9F74C0D764 = {isa = PBXGroup; children = ( + AD15BCA918CB97B82F057CE7, + EBFFEFCE6CB0E4D77E05D225, + 8457A426244850B181C5B86A, ); name = undomanager; sourceTree = ""; }; + 6ECDC7A26F6962050387A768 = {isa = PBXGroup; children = ( + 7B9A1218329A138B8F63FDF2, + 7500AB21C77CF4783576F759, 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, - 7D609A3DACE30A47E7636733, - 29948B583E16D2C6EC417837, - E815543B6E2665185D07433D, + 08A834EE359B774D80BB5D13, + 3462B7FCBA8FBF9F74C0D764, + 6ECDC7A26F6962050387A768, + 1D2BEC7EE53761D866E4A11B, + 51ED9BC4B23811D5F8E5A308, + 2C48D8AB740EC67F50362309, 51ED9BC4B23811D5F8E5A308, ); name = "juce_data_structures"; sourceTree = ""; }; - 9A9BC239C9C3588A2C48AB1C = {isa = PBXGroup; children = ( - 7B79F66C174BAC99CD5FA90A, - 7DF41CF3989F4AAEE3ED5020, - 1F983F682C7C39739FF66DFD, - 2F0710F336891230564C064E, - 06404261BC841C314E34A1A9, - CC3B5CB321D001FF58CEACFD, - 893AD986510217314E783905, - 241B1014F4230EF7A0E93C49, - C0514A1B9F261820568AB5B4, - FCADDC6F82016D387F9159C1, - 031466AAD3240E4468588275, - 8A8EB41D7E88B03839083874, - 0C77794DF4B68DB97D174834, ); name = messages; sourceTree = ""; }; - 4F28D3E6CE3FF17A11481867 = {isa = PBXGroup; children = ( - 2CE73880E4F4117B106C06AD, - 1D2D5DCA104967DEDCE2E900, - 6431731E6FF1D9E30B3F0105, - 9B4D73256D25275FB309DAAF, ); name = timers; sourceTree = ""; }; - A607A5A3F534D69E87B47F85 = {isa = PBXGroup; children = ( + F721F32B0C19CD313B4DEACF = {isa = PBXGroup; children = ( 22DA3B310056F9288264BDF6, E9F857BCDFD748ED45340B08, 0E090204426B67CAF8B93481, @@ -937,7 +1067,21 @@ 5EAE8337D70E2F0C8388CD5B, F8A7322DFB3FDDCFE4504FD8, FCB1ADA208906DCFD9553E86, ); name = interprocess; sourceTree = ""; }; - 6209BB20FCC498F6FC3630D2 = {isa = PBXGroup; children = ( + B5AC9538911996F20DE7E79F = {isa = PBXGroup; children = ( + 7B79F66C174BAC99CD5FA90A, + 7DF41CF3989F4AAEE3ED5020, + 1F983F682C7C39739FF66DFD, + 2F0710F336891230564C064E, + 06404261BC841C314E34A1A9, + CC3B5CB321D001FF58CEACFD, + 893AD986510217314E783905, + 241B1014F4230EF7A0E93C49, + C0514A1B9F261820568AB5B4, + FCADDC6F82016D387F9159C1, + 031466AAD3240E4468588275, + 8A8EB41D7E88B03839083874, + 0C77794DF4B68DB97D174834, ); name = messages; sourceTree = ""; }; + 66CD2163580050EAE16947C3 = {isa = PBXGroup; children = ( 8A5080FEECD8BD2FDA32C65D, 3BF906798B72C53AA17C42E5, 6EBC7A20DAF0299082F3C48D, @@ -946,15 +1090,22 @@ C1F93E08ECF4BD864AAF914B, F8360E50FF29AE25E6D10C60, A029C65BC0ABFF7181A63158, ); name = native; sourceTree = ""; }; + E11CB94DA953C2FB6BDCD167 = {isa = PBXGroup; children = ( + 2CE73880E4F4117B106C06AD, + 1D2D5DCA104967DEDCE2E900, + 6431731E6FF1D9E30B3F0105, + 9B4D73256D25275FB309DAAF, ); name = timers; sourceTree = ""; }; 30F00850FB3DAE66AD9DC7C6 = {isa = PBXGroup; children = ( - 9A9BC239C9C3588A2C48AB1C, - 4F28D3E6CE3FF17A11481867, - A607A5A3F534D69E87B47F85, + F721F32B0C19CD313B4DEACF, EA5B9AE51700241A6AAB1503, - 6209BB20FCC498F6FC3630D2, - 263BFB38AA9FAAC750C7EA0A, + B5AC9538911996F20DE7E79F, + 66CD2163580050EAE16947C3, + E11CB94DA953C2FB6BDCD167, + DF126518272BD97001C93516, + FCD57A996940414954D3A16C, + FE9E614EEFF0DB6698FFB50A, FCD57A996940414954D3A16C, ); name = "juce_events"; sourceTree = ""; }; - 1740BE8D8C5C7BBAA2120711 = {isa = PBXGroup; children = ( + D6E79962E373F6853170AA1D = {isa = PBXGroup; children = ( 4B6F14663424B4075D37D75A, 8FE0497A404634FB483502C1, B281E4181BE4B10CE6240947, @@ -964,7 +1115,7 @@ 83138919B5BA0EDD8F39C6BE, B5991CB9A6C3E287B55C941C, 1276013A60C9B2CE10513071, ); name = colour; sourceTree = ""; }; - 5FFE6515D67F14A30EC82B03 = {isa = PBXGroup; children = ( + 4EF4F31D057094595A19CB05 = {isa = PBXGroup; children = ( 83C15DB313052EB7554E78D3, D6DDD2E9928A5214D5C6CAC3, 1AA170683B842A7B3BBA3711, @@ -972,20 +1123,26 @@ 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 = ""; }; - 7E9202D43BB01B54DE6C7CF9 = {isa = PBXGroup; children = ( + 0C900A9DC1867FA038E5CDB4 = {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 = ""; }; + 70FE948DD356B1726EC404A8 = {isa = PBXGroup; children = ( 1B3AD48503A5E6E50A632BFA, 3BE904F9AEA4B987BA08C4BF, C673FDCB2F087C3AB4A0188F, @@ -1001,30 +1158,105 @@ 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 = ( + 75427D1D7DF3A650C09A13FA = {isa = PBXGroup; children = ( + AA995F5EF6E2E9D0D943A34E, + 9B95A39C4ACE27A395BA7D17, + 7D89F8D80BF9BCBED5B48CA4, + BB8A697F12EEC02B5072830C, + 0E3A157F6B22278C013170B8, + F20A3E45A42F811B7DADA919, + F63F182E6FB049B22253688B, + FAE64541C0D2875601710BA5, + 45DD5C12231E3AD67515E5EF, + 0E1C1DAC32A2F0299F581CFD, + 4662FA43B7E65523A651F2DB, + 1744615C9DEBB137CB6CE44D, + 1D364677143A5E9EDE932F1D, + 5CC33A6AF455B5100662E07E, + 480DFCAA62EC931BB0B4BB62, + 0E78B57ADA4A3B2A6A7EF0F4, + 5573AD1090CB4855AEA88298, + 10F65B262E6B44733054FACB, + 2C894EAD434399AD38FFCD29, + 4B163E7F6AFED71EE28BD68B, + 93F61C72B5CE37377082D144, + E34A25EDE45036549F501D00, + 48D54FBA56BAD78DD1EC0733, + 652A702D4AC2B2DA5ED3D039, + 02569E05598458BAA8212C4A, + 1F38F916D630350DD8EC2FA5, + E90645DA016225CABF2C4726, + 85F90BA859ADBFA4D1A4D1A0, + E5AA1D1F37F4A1E8DC967C63, + D571CB007288493C61A73210, + DA09E6E8ED71D7B1ADA6166D, + 2D1339014BD92402D03A72D2, + 7BA2E0A4F0F1FCE1692CDA4A, + FC3D2FF31F91C91158D726A0, + 021ECC3A63E1CC0E7569AE50, + 8CC22399E3EF0F402F9E619E, + 4292A8D1EED6DABB2114EB32, + F826E604C7229A1F9D05793A, + F926CDD46023063E873D7707, + 445AD046C327FB7D2C082952, + D2A3B8C9D527727F7E624C2E, + CDE17BB68233CBE05B73F5FF, + 3D6B521E60AAFCF975A4D9A0, + CC8C5EE9916788168CCA68F0, + 3B4DDBCA252D9D5BA1C83EE2, + A32DE534C7BCD8DB7DCE1AE0, + 7D5378C4B695E584814A8AEE, + C39E9C9B85A2DD49285B1C66, + 2D902E8B331828A1FCE4F689, + CC615882E57C2FE219163178, + C720746B79A6D0587C155ABA, + E19A49A74673024955511D66, + 405AB1FF596629E1661C01F0, + A0A4087376584B7F9E22609B, + E5D045361A3474295E010D37, + A8AA26FFBAE27A9E52FCF711, + 9CCFB28C4E6FE3629E722990, + 29CD60907394D68990D0AD0F, + BDD403C7010C9656ECBC147A, + 46FE38521B2F564C4D42CA6F, ); name = jpglib; sourceTree = ""; }; + 28C121B4F0B40660EA11FCFE = {isa = PBXGroup; children = ( + 89F6F98E739200985B36EB23, + C58A86D7FDFA58EBF38935AE, + 0ADD34D6D7B6579331EC3B0C, + BA73F9D9F7083CD65564393F, + 8F9305C26E7DAD5F52AB1ADC, + 1BBC10DE5B0712D7E15C11AD, + F1B5D39B61015CF8E482D196, + 004D36A65267CAFFCDD4FAD5, + 0710B76F45A239740A1A0D56, + 0DF68E1B3F45C6C6C3A56005, + 22A69D5393B32BD94050C02D, + B57A5299F1CC56B74310EEDE, + 6C946F52C28340B3A28A77B8, + ED4DED3BFB5FDCC29F03EC68, + 54E039403CEA71A35C79C82D, + 323E31F040EF5C2BF6C0D539, + 40C8252FA8FDA84DA2F897B9, + C1063B18BE1A14B021BE6197, + C04D53D3AD86DBF68A0EBC11, + C8C4673C4AD31A51E0F18504, + 4B56982A9F3D5FE666CC74DC, ); name = pnglib; sourceTree = ""; }; + 5BAA9848AA09A5B529494DCD = {isa = PBXGroup; children = ( + 75427D1D7DF3A650C09A13FA, + 28C121B4F0B40660EA11FCFE, + 5306E2E1E4D3EDB584CB9957, + BA07C21FD4F38B2264BCE715, + 3C6266E06512926AA719ED6C, ); name = "image_formats"; sourceTree = ""; }; + AF02BDFAF13D16185756073A = {isa = PBXGroup; children = ( + 0DC03E9375671E457891A729, + FBA3D65086497BDD3F684CA9, + 7F2303D10B03C641C7F70296, + 7C33F1B4BF7CBFE66731D34C, + 6FD5D94B5C936F45C3223D71, + D294EA753ECFF016927BA7A2, + 666A2459C2BD2C5048749A3F, + D4463A8D4C9C7BBBECDBBF54, ); name = images; sourceTree = ""; }; + 54D9C3BC731452302667CA7C = {isa = PBXGroup; children = ( 266DABCCAC8727B7289E1709, A5A702D48E339F30DBAA70F3, 4F8B25661F28FBC413BD9B26, @@ -1038,19 +1270,57 @@ BA4DE2B0C739A63E6D4D20D8, FE52AE3A7D89784CC2108049, 2C506A2FB3878C94AE27D6CB, ); name = native; sourceTree = ""; }; + 7CF05034A85F26B76AB407F9 = {isa = PBXGroup; children = ( + E1CF9A4ADE4123124FED0E9D, + 2F77D1AAC55792234A1A12CC, + DEACC6D7655717F30F59FB06, ); name = placement; sourceTree = ""; }; CB4F8BAD557D46ED28907420 = {isa = PBXGroup; children = ( - 1740BE8D8C5C7BBAA2120711, - 5FFE6515D67F14A30EC82B03, - 13DF8011E9D1DEE60F9E9970, - 02C6B4ABA7C452EC2AA2511D, - 7E9202D43BB01B54DE6C7CF9, - D3836109FDDFDD715F2BAB8B, - 5240A27651F9E34F2992D4BE, - 9F6522EE613666A811E66B03, - 43ACB9A5DA7F4D3314F835BC, - FD58AC0D48956C5E5EE22300, + D6E79962E373F6853170AA1D, + 4EF4F31D057094595A19CB05, + 0C900A9DC1867FA038E5CDB4, + 5DC923EAE25164D3FC77695C, + 70FE948DD356B1726EC404A8, + 5BAA9848AA09A5B529494DCD, + AF02BDFAF13D16185756073A, + 54D9C3BC731452302667CA7C, + 7CF05034A85F26B76AB407F9, + 3015CA121D0D96D5AE7BD753, + 9E8E1B569EDFEF8F08B0165A, + B12DDE5BF035D875DFF3618F, 9E8E1B569EDFEF8F08B0165A, ); name = "juce_graphics"; sourceTree = ""; }; - 10E3EA03E37910A38A810D1B = {isa = PBXGroup; children = ( + 4577293D77C4D2282A56F041 = {isa = PBXGroup; children = ( + 61EEC07DDEAA85061C5D86C9, + F8F208696192F671B5C5E25F, ); name = application; sourceTree = ""; }; + F5903B9F9E837AB2071235FD = {isa = PBXGroup; children = ( + 062E93756C4C2047BFFE2DB8, + 0A57964A96FEA9A9FB66B41C, + 8907D739246B0F33CAB468DF, + 3638A335D7D1C48855C20D90, + 17BFF0DFD2596C177802B80E, + AD3F47F068C0A25B5D4328EE, + A546CD3EF21D18732319AC05, + 088320650994388DB9A6F9C1, + 72BD2080835C585D96780DBE, + 766243F2E499522B0BCF90D7, + 3A7CAA9C93698244C9DB8256, + C48C63AAD19E578DFF4F1178, + FDF5FA2CDA01F5017075EC53, + EED951C77E3A15B9C60BF3D4, + 431E90D8119368A51F45F9F7, + D9E235F13969D41DE2334965, + F3B12C442C73A5CD0642C9D3, + 0577DF2A977E1812176767A6, ); name = buttons; sourceTree = ""; }; + 7009BC80BB5D5905B1968332 = {isa = PBXGroup; children = ( + FC62184F4FC5E35781238309, + 4B11E3C6B1D6F06038F8E5A9, + D79D027C940D63921A6A4652, + D11A190329FB2207215105C5, + 8BC822C23CC0A74A0297DCF4, + B24CA0F38F848CB0C859BC05, + 48FC2233096E11940A6D930D, + 2F405AF1917FCFC23D0B64E3, + 6C72CD267B04F64DA9B3CA96, ); name = commands; sourceTree = ""; }; + 7CD9C7E78F6594D488A87D13 = {isa = PBXGroup; children = ( BB8C54D34EF4FC862F2A91C8, C408339286C0EDCE7DE32E85, 7020143E6EF838A9745860A2, @@ -1060,28 +1330,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 = ( + C69A76099052BB5BAEDAFC51 = {isa = PBXGroup; children = ( + F80B6F65E57D2AB96730C877, + 57CDB5AFD561349F179D658D, + DBC8C5695E5DF33DA755D47E, + A8FD638BD93E8B4332CC8F7F, + 9C9B05F2934F0EA6E998D125, + ACCE1BA4E775D7838E4AAB3F, + D5724FDB5A378C2F07D22B19, + E380F437948E68251B4DA178, + 6E461813B7DC6631B7FCCB58, + 6AF8CC00C9B0A71AFA20F408, + 1CDCE8137C9253926AF5BC1A, + 0FF5B7A3E7ACE2C0C4F4941F, + 34BD55EE695F248239C046C6, + 7ACB4BC6D063A4BF3EDA90FC, + 9B561B5E684B00FE1BA27C13, ); name = drawables; 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 = ""; }; + B5EF6C93CBE0FFCCAA7591F7 = {isa = PBXGroup; children = ( FBE4BC80A9BD7723C4BAFD57, E65281690EA762F5FAE84653, BA81B30FD657CCE058ACC8AB, @@ -1095,62 +1383,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 = ( + 03E9535C195FB352014D9549 = {isa = PBXGroup; children = ( 5B16B30659106EA13D373E5A, BFFCE59B4D94538113E12C1E, F67426274F90FFFDD017BC05, @@ -1187,72 +1420,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 = ( + 74257796A6BC2C9C4986CB60 = {isa = PBXGroup; children = ( 190A8701F6AED1C8F3E6ED94, 92FFD4D11ACFACDFE5232553, DC4BB656CA2804DA293E30BD, @@ -1261,48 +1429,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 = ( + 70730486822BF3BB7E15A9B5 = {isa = PBXGroup; children = ( + 5F1E8479743F4F07A15194B7, + B80E5F5FF2C25D743460A055, + DF7BD21111CBD2184C999702, + 0DA79E1F9EBBF20B153CE1B5, + EFD71855BBB95E5D466D1857, + B74C683A165E21901633D393, ); name = menus; sourceTree = ""; }; + 7E60CA3C3A8DAC997C8624A1 = {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 = ""; }; + 7BE05F314AF8A83900AC01F7 = {isa = PBXGroup; children = ( B20888B6A393C55FDF98A804, B43D3771C0B8A99592E7F36B, DD16F5C89E4C362296B0DC49, @@ -1319,27 +1479,107 @@ DE6F38DBFDCB87036772C055, D29E6D92BC1F9A4FAF616D36, 3DC7587D2334C184382A0521, ); name = native; sourceTree = ""; }; + 5BF1C6560B18021FDEC426ED = {isa = PBXGroup; children = ( + 936220D32E68A1F659E7E0E4, + A1904550CAE440F85C89AAF5, + 217C36243EA5DDFFA94B9F12, + D3D7C420E73EF5BCAD146AD8, + 79629645AD54B50428C710F0, + 4BDB4220849AF86BC1348E9E, + 6BAE2060DE5C2E78779A0470, + BA865C9C5F9A81A41ABC2AF4, + 0110BEC9ADF4DAB83E81DB7B, + 79FD6D91D317339650EBAE92, + F0CC8A577FF723874C9F2B91, + 2E58A12EE1FDB1796FA2962E, + 1084CA2EA8D003161FDB7824, + D15419DD90C0B320FBFE18A4, ); name = positioning; sourceTree = ""; }; + 0E9AE01D5A43BCE9903DB165 = {isa = PBXGroup; children = ( + 8AF7EBF16C1AADA1E9A29866, + 44D6F268BB9D222CF15E8152, + 5536E5B6A109E3A6A5279D0E, + 852ECAB7F74A33E19D3DE9DC, + 7ECF6918C01E45A2AE2A2D80, + 1B2CE985F2202FA1FA7A8416, + 374EE591A155C88E0D731A45, + 03266C50EF5A5A72232F1340, + 0998D7987146E954282FEB33, + 1BB767A8B8DCC526D621A37E, + 8F057B95D3C4F9BF8DE76453, + F41DF60BE07032C30DC4776E, + A5F9F0BFFD4FE587919899CF, + BD7E1441C110B2EB18580673, ); name = properties; sourceTree = ""; }; + 5C3515F51E168B9D0470FB7D = {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 = ""; }; + E08427D9017AA38887B92C14 = {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, + 4577293D77C4D2282A56F041, + F5903B9F9E837AB2071235FD, + 7009BC80BB5D5905B1968332, + 7CD9C7E78F6594D488A87D13, + C69A76099052BB5BAEDAFC51, 2B791EDAFF03DAD2915B1426, - 0BAB26AA8A67A6434AB3B814, - 105118AA1920D22DBAB69E83, - 2D707ECCE1A3654A0FF7A862, - 2242952BFE772C70EB2680E9, - 504EAAECE90FD59545F4CEEE, + B5EF6C93CBE0FFCCAA7591F7, + 03E9535C195FB352014D9549, + 74257796A6BC2C9C4986CB60, + 70730486822BF3BB7E15A9B5, + 7E60CA3C3A8DAC997C8624A1, + 080C70FDDC4DFA1127D8EF81, + 7BE05F314AF8A83900AC01F7, + 5BF1C6560B18021FDEC426ED, + 0E9AE01D5A43BCE9903DB165, + 5C3515F51E168B9D0470FB7D, + E08427D9017AA38887B92C14, + FEC75D4513B008064BF0AF66, + A4D855D1ADAAFB1BE7DA16FC, + 36F5932B212DC45F306782B6, A4D855D1ADAAFB1BE7DA16FC, ); name = "juce_gui_basics"; sourceTree = ""; }; - 0AC7ABED25A93BBFEB13594B = {isa = PBXGroup; children = ( + 36C2C054A6694801BF00DEF6 = {isa = PBXGroup; children = ( 393773350CA3B3EA68F785E0, 96B6DFDB57B45A0A3F9BBFC9, B7224283EAC60E3B999D35F9, @@ -1357,8 +1597,9 @@ 34B5E2EFD4A34CEAAE67C8D3, F9D73B4708EF9C39C234B79B, ); name = osc; sourceTree = ""; }; 5BBA8D9ECB9EFD5AD6240FAC = {isa = PBXGroup; children = ( - 0AC7ABED25A93BBFEB13594B, - 8C3DF2E0C907479C3DA1FD32, + 36C2C054A6694801BF00DEF6, + 231A1BAE4463A07BA69EA3FF, + 399469BA3496C8C0CB413C56, 399469BA3496C8C0CB413C56, ); name = "juce_osc"; sourceTree = ""; }; 3053E0F517C1BD34D36C59CC = {isa = PBXGroup; children = ( 3E082BBABDA4AFA223BBE04B, @@ -1369,15 +1610,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, @@ -1386,7 +1627,7 @@ 42DBAA5FEB22C47EB3E9A465, 9E51C46CCF8A330F769678CE, ); name = Frameworks; sourceTree = ""; }; E978A0812D52861A2786F473 = {isa = PBXGroup; children = ( - E7A37D21EA1E79DA2B8682C5, ); name = Products; sourceTree = ""; }; + E6F7F38EEF1BA55231F5B1D4, ); name = Products; sourceTree = ""; }; 168BF90B7EF8C12090B0A9B2 = {isa = PBXGroup; children = ( AF6DBEE9D9113EFB7464CADD, 3053E0F517C1BD34D36C59CC, @@ -1394,7 +1635,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"; @@ -1412,9 +1653,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; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; - 7FD72A877FE3166C5C80C732 = {isa = XCBuildConfiguration; buildSettings = { + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCSender; }; name = Debug; }; + 78984703F810FFE630C99455 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -1433,12 +1675,14 @@ 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 = "$(HOME)/Applications"; }; name = Release; }; + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCSender; }; name = Release; }; 37EE6DAA0F0B202D10D0995B = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -1472,33 +1716,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; 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/iOS/OSCSender/Images.xcassets/AppIcon.appiconset/Contents.json b/examples/OSCSender/Builds/iOS/OSCSender/Images.xcassets/AppIcon.appiconset/Contents.json index 5ca51e92..c0af172f 100644 --- a/examples/OSCSender/Builds/iOS/OSCSender/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/examples/OSCSender/Builds/iOS/OSCSender/Images.xcassets/AppIcon.appiconset/Contents.json @@ -3,19 +3,19 @@ { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small.png", + "filename": "Icon-29.png", "scale": "1x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@2x.png", + "filename": "Icon-29@2x.png", "scale": "2x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@3x.png", + "filename": "Icon-29@3x.png", "scale": "3x" }, { @@ -113,6 +113,12 @@ "size": "76x76", "filename": "Icon-76@2x.png", "scale": "2x" + }, + { + "idiom": "ipad", + "size": "83.5x83.5", + "filename": "Icon-83.5@2x.png", + "scale": "2x" } ], "info": { diff --git a/examples/OSCSender/JuceLibraryCode/AppConfig.h b/examples/OSCSender/JuceLibraryCode/AppConfig.h index c68212ec..0a7d60ab 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 1ee9b715..2e2c99ba 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 f6c3564e..091a5aa6 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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..0c3b9ae9 --- /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 06e88f93..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 40bdd444..00000000 --- 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 73438de0..09d445cf 100644 --- a/examples/OSCSender/OSCSender.jucer +++ b/examples/OSCSender/OSCSender.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.1"> @@ -58,7 +58,7 @@ - + @@ -74,12 +74,10 @@ - + diff --git a/examples/OSCSender/Source/Main.cpp b/examples/OSCSender/Source/Main.cpp index 5828b1ee..1d1e0bfa 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 3b4e5e95..85997bb3 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-App.plist b/examples/OpenGLAppExample/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..ddde97cb --- /dev/null +++ b/examples/OpenGLAppExample/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + OpenGLAppExample + CFBundleDisplayName + OpenGLAppExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/OpenGLAppExample/Builds/MacOSX/Info.plist b/examples/OpenGLAppExample/Builds/MacOSX/Info.plist deleted file mode 100644 index fa928253..00000000 --- a/examples/OpenGLAppExample/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.OpenGLAppExample - CFBundleName - OpenGLAppExample - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - - diff --git a/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj b/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj index d9ef9bd0..f95e28c6 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; }; @@ -20,51 +21,60 @@ 70755FD2C3B5797C7BD66CF3 = {isa = PBXBuildFile; fileRef = 201259150E2168D8B93D9C87; }; A449C4B4D524AF85F99933DB = {isa = PBXBuildFile; fileRef = 56B04319D227E406E44AD15D; }; 4A3B2112EAB24C18FCD790DD = {isa = PBXBuildFile; fileRef = 25D7DC711CE171A1F8DBFF05; }; - D0E5FADCDC70B5989BE7D147 = {isa = PBXBuildFile; fileRef = 9BE0EDFED0FC2720BB3AE101; }; - D31034CCE86D686B109ADE0F = {isa = PBXBuildFile; fileRef = DD387A0509039658A5DC2AE5; }; 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"; }; + 0164AA0AC217A99CDA13191B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; 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"; }; 01D4F510A1EE5495A8A419C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; 01D4FBCFEB845B42A173B450 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; 01FC5A0075F643D703F56555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; + 0245BB5F5FD9A86D59B1E9DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + 028F00D143E21B4B434EAD2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 029B3B1336D8028EEF1AA5EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; + 03EC64E3788AAE1023245DB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; + 040E328BAA101251A526BB23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; 0411B541BEDEC5A67ECEAA31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; 046591508FC3F71F74126E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 04763FECDDE2EE34094114B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; 04EC6529BA82A6BCDA64A3D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; 04F64700F41A639DA16732BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 0557BAAD94B3B3AFAF7607EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 05C6F060011C5DD37F622202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; 05F871A5DA3290898E2EBFBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 06954ECFC21655606758855C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; 06FB32F5B510DEC2A6D2FBCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 0737A415932C93579574CE2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; 0769D44014FDF069ECA54115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 07A41B027C9FC2A6DAC801F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; 07E89C9A0EBF5FF6A0A05EA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 086CE8B7F8175DAC1B5DD18C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; 0892B622D73826BB91C8E418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 08E18FEBB3596E9DE7A5BF9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 0917DAAA83C16F4D430A4961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 0950F9F7698F791C6BC7626A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; 097B8DA5C29B16C544CEA626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; 09B659F4A61EA3BDC6521FEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A2608950EEA0BB719B538D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; 0B26EC9D2A47B858246A76EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 0BB6230BB8EFC6D0CF7BFADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; 0C2B705429E7587EB29AAD6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; 0C5D36923235127BEC48777C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 0C76BB6E3BA98DEED44473E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -73,27 +83,36 @@ 0D158239399CB7487C663168 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 0D5008DFFC00B074A9970585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; 0D79BD52315BE837BAD64A82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0DDE192E5A26D3C00B0F7352 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; 0E1CA391708ADDE3952BF147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 0E2D953697BBC42AE80867B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + 0E471CA7FF18C5DB1A134615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.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"; }; + 0F40C06216C18EDF0C56D938 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; + 0F624DC7F16BF3CE9E0BF46E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; 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"; }; + 103839BBB4C787E90459481F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; 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"; }; 108D2A323EA2D7B31289AFFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 10FB75AD59E8E2AEF38167B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; 110D8C5EEF130FB1E1F7D286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 11614D602849B43F5ED92934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 11881E7CC7D301CFCD56D450 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; 11AA656929A0D7F50667583B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; 11F77DEDB8DDE2BC9B1DAB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 121C4D9B35F16FF170A9D4E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; 1233B57573AB9503E0625ECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 126EBEB3A314786B9D332687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 12BD203CEA0CE311A5789BB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 13FC99389707E91E7EB6D000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; 13FF137ABBAC726B7785FE0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13FF419E411FB6978E6A5223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; 140AFDDDAB2B88153F46692E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; 14254C2E6F168DB69F9F6494 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; 144BF62327063E0017BB7B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 145168CF47F32284012AD9AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; 14BAD66A370FA342144C7BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; 14BF2173D8CD3520B21E01E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; 1542F586268CE982EE1C9607 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -102,6 +121,8 @@ 16094015FECE7F7A1EE6B751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; 1633D4A7385E8AB77FB6723E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 16421110FEB104E290E3F13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 16633721C0AC077FD332F530 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; + 166A7E07349A9C416DE71479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; 168D70A9989ECA609D355DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 169C1D0433B29AF96A6FD27E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 16D38AE110B44FE0D5E26F9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -111,48 +132,63 @@ 179BD4E3BB66F7CC1747ADAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 17A033D6C28B1E76FA8BEFCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 17AB5E83E71D5864435A011B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + 18195F5653CF2D27416940BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; + 18251913FAC0BEC00A1BCAF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; 18459D45EE3F7766AB932678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; 18E61768FC20A6C65CF73DA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + 196F16578D04B3D1B1E1D11C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; 198B97A4FB9B21A3357160C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; 19B1556541E4426450C8397C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 1A366C1E8FF34F708C0AF994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A3D25F8D93A0DFE7238A140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; 1A424A0B9D68C68CD5B075E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 1AB2337020B7AA4AD329405A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 1B0BEB542ED5BA84E52AEA2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; 1BC364DFD3A975A0CBA0AC61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; 1C02F9D8BEBC13937D8D9BAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1C196D0BC6B08623601273FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C5E7A9B230FE6B962802C53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 1CC05551F14FFC0161D8E12A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; 1CEAFFE79A9E1A1E32C2BFD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 1D6EA6E2DC8F03826454F21D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + 1D7AB481EB2E15204C0A78AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + 1D7CF8165446AE087D3E91A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 1DC4AC19C53D307B6007D02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 1DDDF6BDA9523D729A6D3116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; 1E07768DDE29F15BF4F32C48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; 1E21F56456B1A05606B1A328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; 1E6168E98312F552A0C57E54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 1E7CA4A04A182412B3ECEBF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 1ED3843AC8AC67374F6F5F77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 1F0F8E76A0B7D289D66C4101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1F5D714D0B69DB7F00C1F0D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; 1F6C3ACBB74CDDEBCBFCCA57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 1F8ED827C6DF9E92BB82E05F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; 201259150E2168D8B93D9C87 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; 20425A69967DA67634118166 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; 20A48C39E51031BF57458A55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; 20F2CFC88281301E30E08682 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 20FD3BF2E58B0BF9B0C57939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; 21273C209FE7E19C59952EE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; 21FAFC1D8D92872E96F56764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; 220732F05D2DEBC2ADF2D45C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 223B9626308B07EEEDA7C89F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; 22B8E3336C2DA6F5DE3CE748 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 22D01A956BCD31F2C54E4E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 232FD2712ECE30C43C788BBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; 23E996355EF7DFDCECA97B64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 23EA0178C7150CBA80E79215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 23EB172E073859853F1426E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; 23F1F8A1566366CCFAC8A5BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; 24E54A22403128BA82D02B09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 2517140ED8C0697A51CF87AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 260DEA29B185537013E63193 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; 2740DD21925484E4BC243630 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -166,21 +202,27 @@ 281ADBFFA54CFADAE46AAE79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; 2822F9B316AEF7797E0F04B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 284C742F571D494237C52C2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + 2863A1814B832797C2B5BDBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; + 287CF1BA48EF9AB415274363 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 2889D4712628B6D3676F2C34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; + 289D0C47C9BBA6CD46EF9765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2A561EA63E4D64CB648F6790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; 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"; }; 2BCD3C3BC90487E5B932FC98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; 2BEA66F83F12716439729EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BFABFBE400EBD477EEC1F7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + 2C3B9B1593F6CB6BB6B4F8F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; 2C4E26E2F6F3B5522CA9993E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CB561058728D0EA3A66AF4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CD2FBF66999807E0B86E0B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; @@ -190,14 +232,20 @@ 2D6A1D77D896FF6DDD5EC49F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; 2DA8BDECC570B976D34D9263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; 2DBFFAB8701557418A4C7CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2DD71C2E25546E180B21DF6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 2E1213ABCA6E339D156C6825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 2E355DED51A6E9DFBFDA84CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; 2E62B2A1D5FE20D7E675DC3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E707F1CF18BFA0580429FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; + 2E9FF32167281D8C038A2E95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; 2EC200E7CF8C908AC3DF4416 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + 2EDC3825746112A326F6E5D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; 30CBDFC5F16FD990ABC2C486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 3130E78064C89D6B15019477 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; 3134A6BDE49CF0D3F0B12FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; 31416E7F36800B9ACAEA176F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; 317988D9466ECCE83B91CD24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; + 31958F6C1EC769F17A513596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; 3197F342A372898714E25F70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; 31AF78DCC817DE98C01E1EEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; 31B42F889DD1C79540881B97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; @@ -207,10 +255,12 @@ 32D11E8A57FD1B5250A5E493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 332346809620F9AFA7CF3D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 338C5E41B8903F0894709201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 3399F315085A85ACDF24D20A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; 33B50F43732A04D1702F5140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; 33B9E6212D92FB49C792ACE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; 33D5910744D9482DBA614144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; 33FDA12B0256C2A4BD51B11E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3402A83DC19BC6040902E01F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; 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"; }; @@ -221,25 +271,29 @@ 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"; }; + 36B2F6871C02C782FD933048 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; 38ADFF5CB2DD15D371425F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38DCDFC05979954E8478EF4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; 3901027B107F1E3047BE9DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; 3935FEBDBA2F8025F602042C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 393EA74C63AFA103F5F3264B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; 3948321FE783006946DC8F1F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 396986DB8689B7C6909777E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + 39BE0DB587B58A12C556E683 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; 39CD252C183BBF175E1C0602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 39DAB20FE9D55152EB2D224A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 39E15EA7A7D5C14DC2567263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A360AD08206A8A9492E604C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A52ADB8D2B72A1E6F455ABA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A5C86CF6276058B0D5AC399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A8EA18FCAE5801EF1AECC06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -252,9 +306,11 @@ 3B719AB087869724229AF10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 3B883BA33260250D6C443F87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C90895F90CF6FA4714DBF6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3CC8052A6B1D8AA78655D40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 3CCB2447E4FA1C412FEEE551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; 3CF6CC164ED4826B4DF73177 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; 3D26B83681D1E47ADFB2D8A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3D8DF951B1B329BE4D5A2EFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; 3DCD8AA2FF25FBE6919E8F64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DF5CBEC136D13446079C001 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 3E157C0C9F33470C32DE6008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -263,23 +319,26 @@ 3E5E15C429B5D8BDA6815193 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 3EC9D76DD3EDF3387C733F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; 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"; }; + 3F4CA675B8C4B322D6D22A93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; 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"; }; 410C72660348DFD81F81386C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; 4142E8BA365FE77662B11891 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 41459B47F41FB1C145E533FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 41509E8D4AF461C1B23CF71F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; 417D4A3533F8C72814441F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 41D42F7438B6C953A2DC5038 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; 41F9BAD0BC589CC46CFEF495 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 42359EA0046C4A2BB6A30AC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; 426B31F8A63727D575B2C782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 4271A817DD6497D0023C43A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; 427EF6B8A919A04D12F63829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -288,10 +347,14 @@ 4391785C112C65C6C1F4E05A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 4411214CB9D7F986DA5A92FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 4421B5629FD22618255E5539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 44378FAA22C086528A655CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; 449FC2FAA282C731A58D51E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; 44EFBCE30DD206F4A55E4E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 451F57EB04767F4C5F2E21C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; 45693266645F0549AD1FEA88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + 4577CFBEE0734712E5C01B67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; 46258D3B622AB0E2EF63F709 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 4652307490EBE8A237A90230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; 4660BCF2E3BB5D499FA4A5EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 4676425D91097FBD1689298C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; 4683DEED4D9E52F0A84FCEE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -299,20 +362,27 @@ 4717C14F84229B39FA2FA86B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 473E98AA655246EECA75EDD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 47E94C2476E8A7171A484CF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 482096246CF2E4B57C55EC14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; 4825BC8A3502320ED671408E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; 48285F283B8D98122DB9D028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; 484ACD3191DB5BEB198EEF97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + 489A04E7768D16A2706D2D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; 489D9B3F2489315DBF5C552E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; 48E0880AD4495DFA30F7826B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 48FCAA413FA6EC7E02B33A6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + 4977C7CFE884BA7395DC3BC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 49837BCC6CD64D108AA3E37D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; 49EE14EEEF6EADB9F20306E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; + 4A143DCCAD15A27B77C49C60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + 4A5D18F46829A0FC5C5E1CFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; 4AB3D9133A3357A3FDAD3BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 4AB453F1DFC4EA7AE058B0EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 4ADEE86E1B443E58DA6A90FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B26823296057130130EDE43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; 4B409B90CC47BF0477D7F6E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; 4BF34287391AB2ED382C9CB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; 4C57FEDA7D19BB3D05326948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4C8AE5930518A68489A1A62C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C9A2AA5CFE2C1995A302765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -321,8 +391,15 @@ 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"; }; + 4EECCB6831037838C0A5A8E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 4F1712171383DAF56D105F1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + 4F2726D6C605EE825B015408 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; 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"; }; + 4F7F97EAE3B58B55AE621BDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; 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"; }; + 4F9FDABFD74E9B010F57F03E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; 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"; }; 50151F5E1EA38C0768AD9AC8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; 502503CB0C00102976DF1023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -331,12 +408,16 @@ 509FC03682CA45E87F7E0A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; 50CAEE20832DF292261BF105 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 51713BEF84B3A58844692401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 518E970A9F97262BE2305E14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 51C3B7D6330C765ADFB672FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 51EBA3F0882A59BF1A835725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; 51FDDE6DD9DC3FB98747A0E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 52057B317B0FC98209D5BEC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; 521847F6ECE733E5CDE3AE09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 525E733E59BB89937210A34E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 52B122DC1886502CCCD16ED2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 52C9D5F354B17D7D408F93AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 535F61AE8D0DB310DDC86701 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; 5375E8C69E76D1570BE36946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 53890D1A9DE3751F3A19C3C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; 541C3E9F5E720BF6D99D94CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -344,34 +425,48 @@ 54B30BCC43C6CBF57A69A654 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; 54B906BD664BBEB8392DC0A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 54E56E35A31C662C67992C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5531660E59F73238C0AC3B7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; 5576ADF82B58BDBBCC75477C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + 557E731474589321CF39AD72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; 55C1F41C94C7C8ED73FC3288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5691EA6BAB5D7357163865D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; + 56AFA4FC9376153B89A6C6AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; 56B04319D227E406E44AD15D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 56B06F326AFEC39E572F5121 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; 56C0EB0C9E4089ACA44588E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; 56C2444E299E030DE7243C7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 56CAE507F1D59D551C26B998 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; 575F4E371F82188902F74A96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; 5784477EFEEAAD041BDF34D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; 5789E773C615D393363707C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57971AB6604198DBB7F151FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 57FE8CC6D36C0376D4065444 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 58301731C17BEF7BF07541AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; 5848A09E20AA6FE9EF1E6898 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 587B66B1DA0C9E97B6BE5815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; 58C9B8F93CF63036CA33A6C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 595AFBBA5B20E99897C1A124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5B0DD4D36CAC46FE1469177B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.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"; }; + 5B6DF353E9728760CA37B1D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; 5BB4A463E17E9C4AD5F43FFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 5BD5301D9DFF3CEA10C32DBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; 5BF81A5EBE596AB3F3E4C222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 5C51BB323073B2AD0320825A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + 5C8CD5FF4701065558BCB28A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 5CD7B0F647F366AC5510A13E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; 5CE4484E6BAB76C9B49E6ADE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 5CF8CAB948FAAB9164F206B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D3D1B4D3EB8BB2C4A37ACB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; 5D998A4BC436D82C3A6E8606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 5E20BD0A199999DBE2E9A497 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 5EEADEEAD5DF68A030DDA0ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 5F43D23FA8A72E66792AE5C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F49099628EF3662332FDB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F6BDD2491C4086940AAE045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -382,20 +477,29 @@ 61596F68A47C4BEA8F9A4D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; 619377E030188B909977D85B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; 61C1B6B3336D774EAE4994F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61DEAC06F8C115B1DE078559 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 61EFB1120837C4B54493568E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; 623C7B6BD0B564F60F1F4012 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; 62935FD655DDDCE70536555F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; 62ABA7CF7D0CE2D7B3F7BFCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 62F44CB38033A31A40F13C6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; 62F8069EE12495D7BDF5BCCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 6364C602FBB1C4D7915DF708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 6367EF1A37C6AC6B710B3273 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + 6421A637B074FCE8F9480F7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; 6436F4F5D143E72BD77EE053 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + 6460FB62A967FC74BA5360E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; 6536E6457A8B77FDCC506401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; 6549876733A874A58F78CE78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; 6555D39D3BE572E611DCA8EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 656CA5CB0EF44C76ACFFDCEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 657EE50642CA91DF03BB49A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; + 65949BED64C75D5B403736DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; 661DA0426C81D826ADA90BAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -403,6 +507,7 @@ 67239C8DF5524A278253F181 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 673396F4BEBFE86BF911DBB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; 6741B65B42E9858C7B580A36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67426C7C75F66912F2067B31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; 67B47838D621A526D8148308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; 6894AE00A49D15E9C4A31355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; 68C292BF84E3387285884015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -424,7 +529,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"; }; @@ -433,26 +537,33 @@ 6D3191834A1567C5C18A13AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 6D36D69499FD940CAD1E7484 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 6D4B64EFB759022FA002D065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D994147A4D0CB06EAB09856 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; 6D9EBBDDFD2AF922A6947057 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; 6DC6E88C0FC0045CD52064F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 6DEF5E5D162E4F32631FE2D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; 6E35055BA3436FC2F9B77365 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; 6EAF92417BE40684D0FAA797 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F0A25914D95D4F547F91C79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F90F93BA224DD2936EA8456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; 6F974A4B1AC400251425C8CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; 6FA9A28DB80D43E87900A1B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + 6FF40DCFB5082EAB53388CCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; 70407DF33563B729D4758A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 7049C408D43D64C1504F6505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; 7063B929C5E98B803E0464EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; 70687CABD6ABBC69E717B73D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 7069BF224A795890367AB809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 70C9E5BB2C3C4F1314DD8F4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 70E6E5ECE171621517003158 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; + 7103A8339D5F5EE20FC46D52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 7109E1D6A2AD7A013453C922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 71159E965AD35ED1496B5866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7156B58188258F7EBE617E15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 718E39433D13021F56FCA2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; 71F494877324567960FC3F84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 7207669F41206DC961E08FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 7246A65F3B8646D764F3A355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 7264370AC60580E5E9B414E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; 72694B9BC870AF124976586F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; 72723038519B5AB5FFB52EB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 72B3FF3E4E9060A4F06F89F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -460,16 +571,22 @@ 73636C4935CD275E66A85104 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 73A2BE77A14CA909541BBC2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.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"; }; + 7545533CDB4A7E1652483FEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; 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"; }; + 759E1FBE4B2677984220174B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; 75A8F56B635DA7158E472382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; 75CD7766A1ACC3BA17C8B73B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 7609867A9F36324EA1C9F228 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + 7619A4CD6A10ABCF4F03F735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; 76372445FC076FB8D26CEEC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 766B95D45D4D17B3E2D3B226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; 7703A0B63AFF2C5FE9587CBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; 7712C8260E9F4A7C2BD9FD63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 773BD1E9176FB073B71705A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -488,8 +605,11 @@ 7987CDDDE250EA56F0B26A0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; 79A01A9B8A17C9419EBC5F73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; 79F7E702E92F8B23B6BCA74E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A31E83C5BEBDE3E0662CD34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; 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"; }; + 7B0E4CA7FCA2DA948115C008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; 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"; }; @@ -499,31 +619,46 @@ 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"; }; + 7C40DADCBD16D1384F0BFC34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; 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"; }; + 7CE228763D12DCDBFF31CAD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; 7D15374142A01E2760AC4818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D21460B496E5E03FA58654B = {isa = PBXFileReference; lastKnownFileType = file.obj; name = teapot.obj; path = ../../Source/Resources/teapot.obj; sourceTree = "SOURCE_ROOT"; }; + 7D7135709DC9EFB6B8BAC01B = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; + 7D9D774692FC599B85A5F0CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; 7DDF23FA0DDE4FCFB121CA68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = "SOURCE_ROOT"; }; 7E278ACE0E80F59FBEB3122F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7E5D04471A75DF9057A4D73E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + 7E719D7787CCEC90D6813EB7 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + 7EABFF4F7DDB3634A91AE3B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; + 7ED5D52CA34F13619B219810 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; 7EEFCCCD23C883F6B797834E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + 7FE7A18B1D79257F27AAD75B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; 80465B70BFD2A13EDB18B702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 80648C9ABD2B763398568A0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 80A6B9266A11D6977AD84546 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; 80BE3657BDC9B08AB3570055 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; 80C983055BC197AE9FEF51D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + 8140577BA1F1C43ED50A24DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; 81556F6E103D6843193EA1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 816CA082336A8BC8A9AA61BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; 819B5DAEB3840F04881F7CBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 81A01F0E7F5AD08A0643C2B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 82327EBDDBDE6104A0FFE08D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; 82443CD4F42884B9D33A85EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; + 82BDCB9AE232E6FBE0FE2702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; 83619BFC8B92A2B5F17F596C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 840BF2C2A78A25AA039663B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; 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"; }; + 84427259AAA76E2923734B6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.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"; }; 850E016A9EA33CDCF888D7AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 85156525CF0D6DC8F711142C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; 85379D9BB0BA7D60CFF83DC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; 853E685A7CBF56CB4A532768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 856F3C72739BD34C8CA40F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -532,6 +667,7 @@ 8684BC420922F40BD629C51C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 87AFF1365CFACD2CB6C9AF1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; 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"; }; @@ -539,13 +675,17 @@ 887EE77979249B8A3E7C2C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; 88B4E2B52BB5B6B622243FDC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; 88EB915831B819EC3B7B124E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 8907B4F6D39F7B8748EECD84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + 89548EDACA8417A9F3800F02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 89CC7514E6F2628CE82591BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; 8A011075C19F974A22685EAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A67491E410C9DB6523DABF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; 8B1374A21A81C82233EBC523 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; 8B743E5BA29E435BACFE17BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; 8B8CEF7A6937C76CA7642C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + 8BA57188E17C4D0AA9A470F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BA590FF6DD42B77C70BA092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 8BA75ABF9156FD3D17B909C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BD7E643486B7C1968E68D51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C4045D24297D10F0EC9348F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C69B0700CBEF4AAD6F41B08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -559,68 +699,88 @@ 8E5DB762FF5447085518EB85 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 8F5EC320CBE18D8923C7D3EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; 8F81943FE96DB8DD0ABB9DF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F8A43DB3329BB2DA7F77E12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; 8F9A2F59A71422296C56C8A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 8FA29927B18439A066241F38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; 8FAA47BE39D087684520C15F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; 8FFF7C1572807209B9A8A08D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 90653718620F806E197441B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 907D08843439A347B3E2A869 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + 9087107B7883E699849BB462 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; }; 91A5A6A217FA091F2ADBE3C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 91AA561AD6E0D0F14AA67FB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; 92655A59F40624CBDA9194B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 93F8CE256A5B96CA39DB68CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; 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"; }; + 957547B30F0209B706C71F93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; + 9629D21E57F62952DA68FF52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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"; }; 972D271918F957FB6FCD6CFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 98D6895004EB081BBABCA15C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; 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"; }; 98F1DD6EE3E63CA046070664 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; 9954A5B8424CE9ABC802AC8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; 9986CD0D1752D063F3DC2652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; 99BF73D0D5B995E84BAB52B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + 9A3209A7E5C33CDC36DC6E80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 9A67CA8503FB1E02090F5FAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A9455318FAE348D58C369D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; 9AD78BC87097481DDC1815B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9AE02E7A1CDCB47D3FCBF9AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; + 9B0FA8040F827C3F233FE171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; 9B9B8DBEBEA5051A602DA6C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9BB0C1DF50B403CBD3CAE03F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; + 9BBBE239896FF94E781B449C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; 9BBC3E0155BC3F36F21F7EBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; - 9BE0EDFED0FC2720BB3AE101 = {isa = PBXFileReference; lastKnownFileType = file.glsl; name = FragmentShader.glsl; path = ../../Source/FragmentShader.glsl; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 9C85A4EDD2B95A25A23DA373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; 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"; }; 9E3280D945ACF3D3D1EDC0B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; 9E46C8356029EC009F7A1C46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + 9E6559D11202BF5C8E09B857 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; + 9EDE5B5D061D125589F80309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; 9F3DCE572188E0085FCF1956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F7902BD488EEE04E055F018 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; 9F8B21E7C672840ACD02251E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; 9FBCE80E444BA9E69C3F6172 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9FC7CEB3AFCF2C929A3149E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A06B0489395A029A4F04EBF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; 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"; }; + A08204B26124FCFF92383BF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; A1C21D6CF6F456E34A0E7FBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1FF664E6AC64473C7C923D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; A20DD4F2960264FC20095777 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; A23A20A098747A2449C47047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; A2A8888BB2A9B1BF61955BEA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; A2D465168084C9FFAE312E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + A31292BD2BBF1B7601F2012C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; }; A3C0B621A37595B09825518B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; A3EFD0BE919B2F7AD7295F2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; A4E723D11ADD694C4A3D318C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; A4F075DFF243F6BB90CD5950 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5802C3C5B3C3130ACAE5FFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; @@ -630,9 +790,13 @@ A8451C0D5D0549A7D923F2D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; A85BBB0551113A7CD910AA16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; A878B40B811C4B83658F6A60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + A87A02365C95CEA478838D40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; 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"; }; + A900A56A57D410F0A78FE64B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + A91A41860F3F1AA2C762F1CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.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"; }; + A96A21232A57ABCE293F7AEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.cpp"; 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"; }; @@ -644,21 +808,32 @@ 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"; }; + AC734C29160A8EB175F512FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; + ACD53A5C414208FF0583C1C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.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"; }; + AD02148A0B608A3AF26797C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.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"; }; + ADA7F102B4956AE7E8460514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.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"; }; AE86A03508278775CA9F250B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AEA5E43C19B3566D5B2655E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + AEA97943FCC32C96BEBD9433 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; AEBF8C2FCAF972F014D43738 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AEF9214E21ED8FA968C3CDBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; + AF3842A1DE465344A84FDDBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; AF5C2B3C5CF657FA722F9A68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AF6001FA947F3A7DF15CBF8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + AFB6F48AC541B5510EFDB61C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; 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"; }; + AFD230E1151B486A2F25D968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; + B02019532879A1FA380877C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; 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"; }; @@ -669,6 +844,7 @@ 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"; }; + B20F0C9955E38CB55AF09421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.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"; }; @@ -680,15 +856,21 @@ B49E98EF01462277526C417D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B5A8A3579F03D2CCE4894848 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; B607DF0E27752A1B9A863CC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + B632B53930F795E159D0833E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + B796518B8D8D9D93E592FF74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; + B8068B64462B63213CA1B0DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; + B8316B5D31F8E9642F1F94A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; 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"; }; + B97C66BFD02B9196772C5AA5 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; 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"; }; @@ -696,11 +878,16 @@ 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"; }; + BA686EC2CAE48D49F65BC7C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; 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"; }; + BAD4881B21516B73A6630913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; 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"; }; + BBAB6041BCEBFBB8634ED1A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + BBB0244719E5864129F6CBB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + BBB8011E6F8143C6BD52D40D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; 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"; }; @@ -709,8 +896,10 @@ 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"; }; + BD7B6B657BB0F57F6FF831D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; 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"; }; + BDCDD2768F462A09A5C07A4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; 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"; }; @@ -726,12 +915,14 @@ 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"; }; + C2563F798C3ECAE115E33D05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; 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"; }; + C3BD9E5F30CE7D86D6417FF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; 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"; }; @@ -741,24 +932,35 @@ 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"; }; + C580DED56011A4C37900A12D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.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"; }; + C5D3363ECE8E4B23E18AF11B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; 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"; }; + C6D82F9B4DA9A2DC61196711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; 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"; }; + C7437A517A5F583059B9E729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; 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"; }; + C8D55BD43529A213A5859D3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; + C8EC4A3DBB290A68162A50CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; 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"; }; + C933038E0DEC46DC44B6FC37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.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"; }; + CB408541526DB191264C45ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + CC2A6BFEED4D62580AE07E06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.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"; }; @@ -766,9 +968,9 @@ 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"; }; + CE9F4DABBFF59139EED71DE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; 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"; }; CED808C5809FF89D32131CB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CEE5BF72C9D7E467212D8973 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -780,36 +982,42 @@ D17F209C6915C948F90F1349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; D1A2603E46734D31975B7540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; D1C13988EF76674213DF92F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + D231C3491016372DC84343DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + D235C7C78A9ACEEA867ECC55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; D23A9E25612E33C0C6AAA09E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; D23F862EE7BAEDAC24479902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; D24F3C46F1A46422C080A0A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; D258105EC6398A3984FD8DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; D276367530731B2C732C50CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + D27A72D3437DF0ACDF00708E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; D2C557606FD68958DC545A2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + D41D5B61C6164873CABC4DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; + D45F14581BBA9D98130D5E05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.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"; }; + D4BB844DC118FF84DAFC1249 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; 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"; }; D54457FBB5D7B2362E69D9AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; D677D05978DC2C67386B63AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.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"; }; - D8C269D8BFE34CF33A2B243C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; 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"; }; - D93861E50D66746DF070A158 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; 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"; }; - C9CD8A1AB4DAA664557DEBDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.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"; }; - D53FD6223C4A997E441E1F80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; D67D8599E2F89D673EA36D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + D7252281E56F2AB6FF3BEA02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; 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"; }; + D880F5F4BFED2BFE98AA4A66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; 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"; }; + D98EAEFAD3E46F55A5259404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; 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"; }; D9E4C045A178EA678116D439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; D9F41579025D12F2CCF079C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -817,16 +1025,21 @@ DA12229986D485B2E2DE059B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + DB0A75BD6ED80E833C9FDA57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.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; }; + DB49E4B4F4CCF9F8CBFC33BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + DBA8673C777EEC296D31987D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; + DBB5A7638D1846ACFF4D4671 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; 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"; }; DC254EFF0D95657D703FA8F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; DC3E9EDCD85270B2E9D33BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; DC9D4AE01FB7CF8D2877B198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; DCB52EFF8A9F5D9F6CF3D3FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; - DD387A0509039658A5DC2AE5 = {isa = PBXFileReference; lastKnownFileType = file.glsl; name = VertexShader.glsl; path = ../../Source/VertexShader.glsl; sourceTree = "SOURCE_ROOT"; }; DD542B6F61E6C27A0D5A5F2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + DDE0FBFAC8D2239A971F3C94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; DDF7D7828813BEC0173FD43A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; DE00116B59A20E5B69367B70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; DE1A6A1C0CCC94A3E3A887E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; @@ -836,6 +1049,10 @@ DF2B90185FBA2C86DE767F46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; DF42C1B300CA66580D0AED1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; DF53D8FD5DE7B15694D26E91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + DFB71B5EFE2190D2240D8AEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; + DFD9E5EC7D4557840FBEF267 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; + DFF0AA6FF4FCF9FF9E99F18F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; + E040F7DBE91A5635FAAD2804 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; E041ABD2C503FCB7EB7E49F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; E046CC53401A9551BDEA2D83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; E0544ED1BC8832C4D1296FAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; @@ -843,6 +1060,8 @@ E0E847621EEAEEFB21B87986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; E0FF460CC2AACA09D6C7412E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; E10DD1F7E7994B77BFF7C8AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + E132D3722E1C772377F707FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; + E189230FCE765186CEE9094D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; E22C09309C11DAE1AA0AA148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; E273A9AEACF13BC595F82289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; E2B10A7DBF2B35A4C3A1DE21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -850,9 +1069,11 @@ E2EEB444EC638B0C72A8A7E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; E31FDA8F23FEAB726361C8DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; E3381BC529641894F95F9AD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E359452FFDC17795732E1089 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; E388DABC27B6A417CE9B7F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; E441F10A3241806474779D5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; E45F076842C926BA5400B70B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + E45F616D699555C4C4010C9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; E488221DF5AFED73C4518AE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; E49C04EACE55BED74E156911 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; E4D98F92A6646FC7CE4FFA1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -863,10 +1084,14 @@ E62A008F49C8FB4ECEB6CC37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; E66B64B5619AFCB389836C06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; E6AB1D98C43E9017F546D707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + E70760977A93F8F40054E9DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; E7D88F20FB6FEA84BFEC67D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; E7EF18BE4F22063894C6FF61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + E7F498516FFF4B206B03B5E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; E81332E1BCBF978D86F92DFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + E821ED84103F358C51F3169C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; E83074E632966778B10AF088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; + E8830FF3D8B9FD07004B5011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; E8ED8CA85BE4E1BF7C5ADF53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; E90FDEEB9C536E5E1124B00D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; E9164448EE60F4DB5F2A14D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -877,16 +1102,21 @@ EA77ADEA8100DFE7C2E0ABB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; EA8B6054D2E6C204214422CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; EAE65B593000E1AFCA63AEE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + EB799FA8B4968835C38E5A3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; EBABE678E857A993B3753B83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; ECD6C0DDB8587984580C96B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; ECE3837512B3E620155A8432 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + ED1B2CA601039E69B10B22DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; ED4FD41F6F5825084831A29C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + ED7210F3B7FA39BD76D85CE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; + ED94BCB2CB0EE47C45B111E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + ED961DB784EA4FAABF9F0205 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; ED9CF9B1476F08D13A1E636E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + EEF44DCF39DA630C5E98F36C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; 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"; }; EF70C0EA201D702D22D06396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -897,7 +1127,10 @@ 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"; }; + F0EED6AEA291456A0D806594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.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"; }; + F11844235D2F8B514D0247FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; 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"; }; @@ -909,18 +1142,23 @@ F356FC782C13333907F2EE17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; F3813BA8E8B9F775D0A049FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F3868CB33CA2805C31829647 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + F3E243F3B379E587B2724BFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; F4B9C009E75153F873F4AA25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + F4C524F7ADD04FB0990B4277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + F6ACAD14D5F5618B6D0F3829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + F6E3CE7177F5638F762B1E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + F71108ABBBBFDDF2D39FF206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; 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"; }; + F79FB831BF3BE4EE70CC80EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; + F7A2AB40037C9C702654CDCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; 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"; }; @@ -932,11 +1170,13 @@ 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"; }; FAF22574F9AFF74820925F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; FB748B4E5E7E7CB38BBF07AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB8D2DE920C6E56C1421F8A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; 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"; }; @@ -949,6 +1189,7 @@ FC50C6150E60281125E69115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; FC5306AC9A046F7DF6CC09FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; FC865A2B46F423E11725FFBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + FCAB8A2CA70073F9939DFA45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; FCF5891DAC2887A6FE3EEA9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; FD04FE1CA7A8937A90864D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; FD1A5CF76641E1CE7F29B44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -960,9 +1201,7 @@ FDFE40162E4F5CCAA833061C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; FE42628E4890B2FC1D85E574 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; FEA733154FFDC895C4E40DDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; - FEADE63D967146EB972AA6A4 = {isa = PBXGroup; children = ( - 9BE0EDFED0FC2720BB3AE101, - DD387A0509039658A5DC2AE5, ); name = Shaders; sourceTree = ""; }; + FF997B115840B490E171C909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; A4D3B14A21B5F8202D2A49AE = {isa = PBXGroup; children = ( 7D21460B496E5E03FA58654B, ); name = Resources; sourceTree = ""; }; 3FD01CA071C629C30000EC75 = {isa = PBXGroup; children = ( @@ -971,15 +1210,16 @@ 82443CD4F42884B9D33A85EA, 69AE98AB9502B4B4E7EBCD60, ); name = Source; sourceTree = ""; }; 853E25E8F0EA391EE8D4A3B8 = {isa = PBXGroup; children = ( - FEADE63D967146EB972AA6A4, 3FD01CA071C629C30000EC75, ); name = OpenGLAppExample; sourceTree = ""; }; - CA34E66B71A70E489DCD9028 = {isa = PBXGroup; children = ( + BD8BD7AD59B318355DEFDCD5 = {isa = PBXGroup; children = ( 11614D602849B43F5ED92934, 6B5D185CB49DC6746B357183, 47E94C2476E8A7171A484CF0, 8C69B0700CBEF4AAD6F41B08, E10DD1F7E7994B77BFF7C8AF, ); name = buffers; sourceTree = ""; }; - 3CE3049318B2ED1269FB50BF = {isa = PBXGroup; children = ( + A4DDA389CAB937B3AD97CC0D = {isa = PBXGroup; children = ( + 4C8AE5930518A68489A1A62C, + A5CC5E8F46D0A61F7FD2E01A, 53890D1A9DE3751F3A19C3C3, D0EC667AE7E12BF7A050613D, C82D3226C2974C9A7A567173, @@ -989,7 +1229,7 @@ D8FDF81708D362F909F5421B, 5D3D1B4D3EB8BB2C4A37ACB8, 28ECC3EF6106E7DB0E4F256C, ); name = effects; sourceTree = ""; }; - 65B6583ACD9C2013563AA59A = {isa = PBXGroup; children = ( + 43B8C16698232C1B1DB5653E = {isa = PBXGroup; children = ( 0917DAAA83C16F4D430A4961, 04F64700F41A639DA16732BF, FD04FE1CA7A8937A90864D6F, @@ -1002,7 +1242,7 @@ 7A9C6994055A82AFC438626A, 35F6D65077550D282646AC8A, 85DC28C1ADCC4E2427F60462, ); name = midi; sourceTree = ""; }; - A0AD69242AF85A596CBC183E = {isa = PBXGroup; children = ( + 98F07D9730A5E10F59C58F18 = {isa = PBXGroup; children = ( 103DC7AD553B89B350BDB4BF, 98F1DD6EE3E63CA046070664, 6D4B64EFB759022FA002D065, @@ -1038,19 +1278,25 @@ 2CE3A9187CAA637AAF93C273, B1440ED412E2277340903AB0, 7B1C3855706B615C704556DD, ); name = sources; sourceTree = ""; }; - EFE15661AA2B9FA0F29792FB = {isa = PBXGroup; children = ( + 1C2C4F09F24C5740D9F1EC9E = {isa = PBXGroup; children = ( 06FB32F5B510DEC2A6D2FBCD, 24E54A22403128BA82D02B09, ); name = synthesisers; sourceTree = ""; }; 333F7FC9E4E695D243B51D53 = {isa = PBXGroup; children = ( - CA34E66B71A70E489DCD9028, - 3CE3049318B2ED1269FB50BF, - 65B6583ACD9C2013563AA59A, - A0AD69242AF85A596CBC183E, + BD8BD7AD59B318355DEFDCD5, + A4DDA389CAB937B3AD97CC0D, + 43B8C16698232C1B1DB5653E, + 98F07D9730A5E10F59C58F18, 2336D69CE0AC8B24294664D3, - EFE15661AA2B9FA0F29792FB, - F6086AE27F4DEB9C75A8FFB5, + 1C2C4F09F24C5740D9F1EC9E, + 518E970A9F97262BE2305E14, + 66634B351B20F6B1F16ED9D2, + C62300B9478B60BCBE254256, 66634B351B20F6B1F16ED9D2, ); name = "juce_audio_basics"; sourceTree = ""; }; - 5C2DC77520F6E8AB1413621E = {isa = PBXGroup; children = ( + 2BC4B91BB4B41CD17CB88DD1 = {isa = PBXGroup; children = ( + 7703A0B63AFF2C5FE9587CBF, + 2E1213ABCA6E339D156C6825, + 619377E030188B909977D85B, ); name = "audio_cd"; sourceTree = ""; }; + E53BD1793DF9DAA4B246EB3E = {isa = PBXGroup; children = ( D276367530731B2C732C50CB, A07D0C5C60BE446FD41ADE51, 70687CABD6ABBC69E717B73D, @@ -1058,22 +1304,13 @@ 9A67CA8503FB1E02090F5FAD, CE5CDD52C447D5DCC7DE1259, D4CA818D9DA2269EBCE376DE, ); name = "audio_io"; sourceTree = ""; }; - ED484B85EA0EC12853FAC2A6 = {isa = PBXGroup; children = ( + 2A1B0A91633F41C14123DB41 = {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 = ( + 99CCC399FF2CA7D69394B0D0 = {isa = PBXGroup; children = ( 59B2E8822B445FDD2BC590B2, ED4FD41F6F5825084831A29C, 1542F586268CE982EE1C9607, @@ -1093,31 +1330,169 @@ DD542B6F61E6C27A0D5A5F2A, 2951B1B0EE3CE714426016F1, E488221DF5AFED73C4518AE7, ); name = native; sourceTree = ""; }; + 1FDC05B7D979479AC8DACA69 = {isa = PBXGroup; children = ( + CD27B64646C58118052C3459, + 51C3B7D6330C765ADFB672FF, + AABFFB2D2D9F9BB39C95BA25, + 45693266645F0549AD1FEA88, ); name = sources; sourceTree = ""; }; EFBCC9AA9132896CF439C9BD = {isa = PBXGroup; children = ( - 5C2DC77520F6E8AB1413621E, - ED484B85EA0EC12853FAC2A6, - 9116D006293FCD1E0A12EE16, - 729710EC0419FCEE902079EF, - 6BB4269ECC3477AD8A7A32A3, - EEE157CFCD553CC2F4D15CBB, + 2BC4B91BB4B41CD17CB88DD1, + E53BD1793DF9DAA4B246EB3E, + 2A1B0A91633F41C14123DB41, + 99CCC399FF2CA7D69394B0D0, + 1FDC05B7D979479AC8DACA69, + F3E243F3B379E587B2724BFB, + EBABE678E857A993B3753B83, + D4A815675983D742D87E37A5, 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 = ( + D61AA84BE89168AD7176E593 = {isa = PBXGroup; children = ( + 3D8DF951B1B329BE4D5A2EFB, + 086CE8B7F8175DAC1B5DD18C, + 0BB6230BB8EFC6D0CF7BFADD, + 1C5E7A9B230FE6B962802C53, + 2C3B9B1593F6CB6BB6B4F8F8, + A91A41860F3F1AA2C762F1CF, + BBB0244719E5864129F6CBB3, + AD02148A0B608A3AF26797C6, + 7FE7A18B1D79257F27AAD75B, + ED961DB784EA4FAABF9F0205, + 7545533CDB4A7E1652483FEC, + 6FF40DCFB5082EAB53388CCD, + 1D7CF8165446AE087D3E91A4, + 5EEADEEAD5DF68A030DDA0ED, + 05C6F060011C5DD37F622202, + 4652307490EBE8A237A90230, ); name = private; sourceTree = ""; }; + 68D4B37FD3362C773EC86D9B = {isa = PBXGroup; children = ( + 7D9D774692FC599B85A5F0CB, + A1FF664E6AC64473C7C923D8, + ADA7F102B4956AE7E8460514, ); name = protected; sourceTree = ""; }; + 082F0233658F216D0B532C2C = {isa = PBXGroup; children = ( + D61AA84BE89168AD7176E593, + 68D4B37FD3362C773EC86D9B, ); name = include; sourceTree = ""; }; + 6D448389012864FA69801015 = {isa = PBXGroup; children = ( + 082F0233658F216D0B532C2C, + C6D82F9B4DA9A2DC61196711, + 91AA561AD6E0D0F14AA67FB2, + 9EDE5B5D061D125589F80309, + E7F498516FFF4B206B03B5E2, + 2A561EA63E4D64CB648F6790, + 6D994147A4D0CB06EAB09856, + 65949BED64C75D5B403736DC, + DFB71B5EFE2190D2240D8AEC, + 957547B30F0209B706C71F93, + 7264370AC60580E5E9B414E1, + 145168CF47F32284012AD9AF, + 0DDE192E5A26D3C00B0F7352, + 0164AA0AC217A99CDA13191B, + 23EB172E073859853F1426E0, + 87AFF1365CFACD2CB6C9AF1A, ); name = libFLAC; sourceTree = ""; }; + 5A3C578EFF9C2871225D1853 = {isa = PBXGroup; children = ( + 6D448389012864FA69801015, + 2EDC3825746112A326F6E5D5, + E189230FCE765186CEE9094D, + 196F16578D04B3D1B1E1D11C, + B8068B64462B63213CA1B0DE, + F0EED6AEA291456A0D806594, + 5B0DD4D36CAC46FE1469177B, + 42359EA0046C4A2BB6A30AC0, + D4BB844DC118FF84DAFC1249, + 9BBBE239896FF94E781B449C, + 7103A8339D5F5EE20FC46D52, + 9087107B7883E699849BB462, + 89548EDACA8417A9F3800F02, + 41459B47F41FB1C145E533FD, + 8907B4F6D39F7B8748EECD84, ); name = flac; sourceTree = ""; }; + 4AE680467A6B4D2E97094820 = {isa = PBXGroup; children = ( + 20FD3BF2E58B0BF9B0C57939, + 8F8A43DB3329BB2DA7F77E12, ); name = coupled; sourceTree = ""; }; + 24DE66750844D857C996FB74 = {isa = PBXGroup; children = ( + 0F624DC7F16BF3CE9E0BF46E, ); name = floor; sourceTree = ""; }; + D2ECADEFD8B377861947BDF5 = {isa = PBXGroup; children = ( + B632B53930F795E159D0833E, ); name = uncoupled; sourceTree = ""; }; + 81A87AF2710CCC4288BDA02D = {isa = PBXGroup; children = ( + 4AE680467A6B4D2E97094820, + 24DE66750844D857C996FB74, + D2ECADEFD8B377861947BDF5, ); name = books; sourceTree = ""; }; + 075404B41EFF8B480FD9E88B = {isa = PBXGroup; children = ( + 9BB0C1DF50B403CBD3CAE03F, + 0F40C06216C18EDF0C56D938, + B796518B8D8D9D93E592FF74, + 2889D4712628B6D3676F2C34, + 535F61AE8D0DB310DDC86701, + 06954ECFC21655606758855C, + 4B26823296057130130EDE43, + BA686EC2CAE48D49F65BC7C5, + 103839BBB4C787E90459481F, + 9B0FA8040F827C3F233FE171, + FCAB8A2CA70073F9939DFA45, + 38DCDFC05979954E8478EF4B, + 3399F315085A85ACDF24D20A, + BAD4881B21516B73A6630913, + AEA97943FCC32C96BEBD9433, + 67426C7C75F66912F2067B31, + 85156525CF0D6DC8F711142C, + 5691EA6BAB5D7357163865D9, + C3BD9E5F30CE7D86D6417FF0, ); name = modes; sourceTree = ""; }; + E2A009E88E94C23A1D677454 = {isa = PBXGroup; children = ( + 81A87AF2710CCC4288BDA02D, + 075404B41EFF8B480FD9E88B, + 62F44CB38033A31A40F13C6A, + D7252281E56F2AB6FF3BEA02, + 7A31E83C5BEBDE3E0662CD34, + 9AE02E7A1CDCB47D3FCBF9AF, + CE9F4DABBFF59139EED71DE4, + B02019532879A1FA380877C7, + 2E9FF32167281D8C038A2E95, + B20F0C9955E38CB55AF09421, + ED1B2CA601039E69B10B22DE, + D98EAEFAD3E46F55A5259404, + 489A04E7768D16A2706D2D6F, + F7A2AB40037C9C702654CDCE, + E132D3722E1C772377F707FE, + 6421A637B074FCE8F9480F7E, + F71108ABBBBFDDF2D39FF206, + 9A3209A7E5C33CDC36DC6E80, + 451F57EB04767F4C5F2E21C6, + C5D3363ECE8E4B23E18AF11B, + 57971AB6604198DBB7F151FC, + 51EBA3F0882A59BF1A835725, + 31958F6C1EC769F17A513596, + AF3842A1DE465344A84FDDBF, + C933038E0DEC46DC44B6FC37, + ED7210F3B7FA39BD76D85CE6, + E821ED84103F358C51F3169C, + 11881E7CC7D301CFCD56D450, + DB0A75BD6ED80E833C9FDA57, + CB408541526DB191264C45ED, + 0245BB5F5FD9A86D59B1E9DD, + 3402A83DC19BC6040902E01F, + 029B3B1336D8028EEF1AA5EC, + 2E707F1CF18BFA0580429FA4, + 4A5D18F46829A0FC5C5E1CFE, + DBA8673C777EEC296D31987D, + C8EC4A3DBB290A68162A50CF, + EEF44DCF39DA630C5E98F36C, + 4F1712171383DAF56D105F1E, + 9E6559D11202BF5C8E09B857, + F11844235D2F8B514D0247FB, + 6460FB62A967FC74BA5360E5, + 44378FAA22C086528A655CCA, ); name = lib; sourceTree = ""; }; + 6F96E4212350F13356E78766 = {isa = PBXGroup; children = ( + E2A009E88E94C23A1D677454, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + DFBBE1DEC6C9BABC4CA1F1EA = {isa = PBXGroup; children = ( + 6F96E4212350F13356E78766, + A900A56A57D410F0A78FE64B, + FF997B115840B490E171C909, + 84427259AAA76E2923734B6C, + 587B66B1DA0C9E97B6BE5815, + B97C66BFD02B9196772C5AA5, + 9F7902BD488EEE04E055F018, + 4F9FDABFD74E9B010F57F03E, + DFF0AA6FF4FCF9FF9E99F18F, + CC2A6BFEED4D62580AE07E06, ); name = oggvorbis; sourceTree = ""; }; + D571FF6C422F6398A0666572 = {isa = PBXGroup; children = ( + 5A3C578EFF9C2871225D1853, + DFBBE1DEC6C9BABC4CA1F1EA, 5F49099628EF3662332FDB0D, AEBF8C2FCAF972F014D43738, 73636C4935CD275E66A85104, @@ -1136,16 +1511,51 @@ 1742A7C8BB2AA11AE93DA43D, 16D38AE110B44FE0D5E26F9D, C8CEDA86517FE447F3A3DCF2, ); name = codecs; sourceTree = ""; }; - CD94C234A6AF95D63133D736 = {isa = PBXGroup; children = ( + 7C9734F968F3D18760C71D27 = {isa = PBXGroup; children = ( + B5A8A3579F03D2CCE4894848, + 2DBFFAB8701557418A4C7CA2, + EA77ADEA8100DFE7C2E0ABB6, + A3C0B621A37595B09825518B, + A1C21D6CF6F456E34A0E7FBE, + 819B5DAEB3840F04881F7CBD, + 983FBC7E850263512E41D13D, + 3E157C0C9F33470C32DE6008, + 31416E7F36800B9ACAEA176F, + D8EB2E5BDF6806B37482DE70, + BC35263317084BA60132B43D, + 509FC03682CA45E87F7E0A67, + 13FF137ABBAC726B7785FE0B, + 108D2A323EA2D7B31289AFFE, + 2822F9B316AEF7797E0F04B4, ); name = format; sourceTree = ""; }; + 6E99BEC3B1AE47C5EF3A29BF = {isa = PBXGroup; children = ( E22C09309C11DAE1AA0AA148, 4E4A47F8BEEF90A57C0C98C5, ); name = sampler; sourceTree = ""; }; 8BB98CFCE02C8F888DEAD934 = {isa = PBXGroup; children = ( - D285EE2EABEF952CC46877BA, - F0E2F377D5961CE0CF2EEEC1, - CD94C234A6AF95D63133D736, - 3594634D87002997155671C1, + D571FF6C422F6398A0666572, + 7C9734F968F3D18760C71D27, + 6E99BEC3B1AE47C5EF3A29BF, + 3A360AD08206A8A9492E604C, + 0737A415932C93579574CE2D, + FBDBBE33AEF062A1457DAA42, 0737A415932C93579574CE2D, ); name = "juce_audio_formats"; sourceTree = ""; }; - D7A7AC6EED05D3EFB23E0FBD = {isa = PBXGroup; children = ( + 006D02511CFE26C2F9C2FB0E = {isa = PBXGroup; children = ( + 9FE8D5E52AC84BCDEE8B414B, + 266A60D0C3095B8F7F16751E, + 1A366C1E8FF34F708C0AF994, + 20F2CFC88281301E30E08682, ); name = format; sourceTree = ""; }; + 1EF68EEF952C0E97F8366154 = {isa = PBXGroup; children = ( + 23EA0178C7150CBA80E79215, + 1CC05551F14FFC0161D8E12A, + 966F24941F855EA74A2A8914, + EEBA2A14B5473C1F19BF3D3E, + C9CD8A1AB4DAA664557DEBDC, + B7612EA3B34C6AC48079A447, + 58C9B8F93CF63036CA33A6C3, + AD0DBF0531130EAD4DF2A8FA, + 8E0D42B79853ED7FC60F931B, + D8F75466ADD0287144087C5B, + 794DEE7E5CC51940507F676F, ); name = "format_types"; sourceTree = ""; }; + 9D1668FDF155A70D5F26AA72 = {isa = PBXGroup; children = ( 09B659F4A61EA3BDC6521FEC, EF7A3AF54294E08EB489D9AF, 52057B317B0FC98209D5BEC9, @@ -1162,24 +1572,7 @@ 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 = ( + F3B6A6258B3BDBEC1CD06FA1 = {isa = PBXGroup; children = ( 4ADEE86E1B443E58DA6A90FC, E388DABC27B6A417CE9B7F7B, 6D9EBBDDFD2AF922A6947057, @@ -1196,64 +1589,16 @@ 8684BC420922F40BD629C51C, 49EE14EEEF6EADB9F20306E4, ); name = utilities; sourceTree = ""; }; B0A8A78F56D39E5C52AB1C76 = {isa = PBXGroup; children = ( - D7A7AC6EED05D3EFB23E0FBD, - 3D87BE7DE866701CC5B6C485, - 98BF95789FAFC50466F1A1DC, - D943062B41CDE85FA2B03472, + 006D02511CFE26C2F9C2FB0E, + 1EF68EEF952C0E97F8366154, + 9D1668FDF155A70D5F26AA72, + F3B6A6258B3BDBEC1CD06FA1, 1B61782F94F534A6144C3496, - 9C56D1AE6B7768F6E27D8F31, + 5531660E59F73238C0AC3B7F, + F7E246B8F8600787C3F10552, + BA895F5D0FC2F40DA0566469, 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, ); 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 = ( + DB5548CB1399CBE32EC769D2 = {isa = PBXGroup; children = ( E5F97C758712010CF0E6D1B5, 160486C90F388089629BA392, FC865A2B46F423E11725FFBC, @@ -1275,37 +1620,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 = ( + 3040DE7BE1344C02605D3D87 = {isa = PBXGroup; children = ( 23E996355EF7DFDCECA97B64, DE3832516FB6969C0E3210D4, 55C1F41C94C7C8ED73FC3288, @@ -1323,76 +1638,56 @@ 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 = ( + CA6AAD37124AF9D4F0E765FF = {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 = ( + 2A85E03BFC5AE3C2C1BA89F4 = {isa = PBXGroup; children = ( + 791D605377E089529EA264D0, + 5784477EFEEAAD041BDF34D4, + 3DCD8AA2FF25FBE6919E8F64, + 0F7BCDE5E324E86EEA86BA7A, ); name = logging; sourceTree = ""; }; + 89E85000B77A30615EB954C5 = {isa = PBXGroup; children = ( + FB748B4E5E7E7CB38BBF07AD, + C33DDF76E058D3E11E61DE63, + 7BAEC8D30E310460FB3FC406, + 3E3D664A12153D29FC1D42ED, + 05F871A5DA3290898E2EBFBE, + 5D998A4BC436D82C3A6E8606, + 41F9BAD0BC589CC46CFEF495, + 0F0458EF50C559CFF42DDC67, + C0AC297D17FA68BBAB417A64, + 61EFB1120837C4B54493568E, ); name = maths; sourceTree = ""; }; + 124679F9E104D8D7A97BB318 = {isa = PBXGroup; children = ( + F2DFFAA96667B5897702E4B6, + 5989B7979A4446D163FD7E13, + DEE9366528ACF7F2CC0A9F73, + FD6A6D3E26D069707DD51652, + 3E85ACEDFE88D01251E25E24, + BEFB2034FC381E2DD019E372, + 4660BCF2E3BB5D499FA4A5EF, + BE4CF2165544FB2D720E1DD6, + 671B91E2FBEFF3E1A411B28A, + C66D4CDC39A565833178EB0D, + 773BD1E9176FB073B71705A0, + DA67F5A5693214A2189039D4, + 1DC4AC19C53D307B6007D02F, + C7BABEEA061F989A0A74F708, ); name = memory; sourceTree = ""; }; + E246EEB9ED6600870A80C1E8 = {isa = PBXGroup; children = ( D74B9C3F462333A72B889773, D23F862EE7BAEDAC24479902, + 4EDEB6768212BFBBDFC1CEFF, + 2DD71C2E25546E180B21DF6D, F937ACD8AA15A27F13F85A88, 6364C602FBB1C4D7915DF708, 6B5BE388D982E05CD2C7BE10, ); name = misc; sourceTree = ""; }; - 791BA85C5C83D6BFBBF82631 = {isa = PBXGroup; children = ( + 2615D69E87558E6AC181F22D = {isa = PBXGroup; children = ( 57FE8CC6D36C0376D4065444, 19B1556541E4426450C8397C, 274FB7736A16D65B40E1EA71, 0CD440EC6D9EF66E117E3EBD, + D33BA771F1FA8F73233004EA, 2C4E26E2F6F3B5522CA9993E, 274546C14A985F7D454E16B7, 783C910D9B34E33F4C7D270F, @@ -1417,87 +1712,204 @@ 32940D3F55D43FA834DAD545, CEE5BF72C9D7E467212D8973, 332346809620F9AFA7CF3D59, ); name = native; sourceTree = ""; }; - 6D357C7BC335FFE2B3877318 = {isa = PBXGroup; children = ( - 9DB85B0F2371EE26F3E89D82, - C9A88DFF6E95D969C2A09F24, - EDEB768592E2E04E19CBBB39, - 1EB689C939940E8ABE1AD59B, - 312A62049C445C01FDD661BD, - 447896868A39D1BBF6C215C4, - B2800371CE1A826ABDD312A5, - 22AF4BABA7E4362DABCA3E9D, - 6B04E6A30689BE379804BC1C, - 1D0C55594A9BAF09CB69ABA6, - 810ABDB24E2FE53C90BFDDFA, - 5A97C8FA90181188140B83A0, - 96DA2309744F7B1844D7EADE, - EAFC9A1D80CBC941C7724431, - 2C36774A2938F4DE66EA7B1F, - CCC10C50368A3362DAC1E895, - 791BA85C5C83D6BFBBF82631, - D8C269D8BFE34CF33A2B243C, - D476B9FCEF30511BC736C744, ); name = "juce_core"; sourceTree = ""; }; - C65F5142919A93D5CB350F76 = {isa = PBXGroup; children = ( - 198B97A4FB9B21A3357160C0, - 5BD5301D9DFF3CEA10C32DBB, - 5789E773C615D393363707C8, - 59C461E6BF35CEC17FB2C9DC, - E83074E632966778B10AF088, - 14BAD66A370FA342144C7BFC, ); name = encryption; sourceTree = ""; }; - 37082FEFC588B71DD2E9F80C = {isa = PBXGroup; children = ( - 56C0EB0C9E4089ACA44588E6, - 4CAE848C3F30163816E921DC, - 83ED74D05C2699811929138C, - 9954A5B8424CE9ABC802AC8C, - 98EC0D95FAEDE6ACB31FE1AE, - 270682BD87D4E3E0C264D05E, ); name = hashing; sourceTree = ""; }; - 6BC6B2DDDAEB6F4F64D1A010 = {isa = PBXGroup; children = ( - C65F5142919A93D5CB350F76, - 37082FEFC588B71DD2E9F80C, - 2A765F108608FDD8B2089BD1, + 765585A9F28CCEEE510CC036 = {isa = PBXGroup; children = ( + E2B33608E3097EE1E7801707, + 82327EBDDBDE6104A0FFE08D, + 7B7B6659C2DD68F2373F9D3C, + 70C9E5BB2C3C4F1314DD8F4B, + 434AB1A1510034290ED3FBA8, + 3ECBCBB5D76AD9DDE65BD81A, + E81332E1BCBF978D86F92DFE, + 7A76BF61E569CCC96B9E16DE, + F1EB95EC0156CE6D16280A45, + 2517140ED8C0697A51CF87AA, ); name = network; sourceTree = ""; }; + 641D66477D3BB6B1EE58A930 = {isa = PBXGroup; children = ( + 3F20765E456B1B8FF59C2461, + 5BB4A463E17E9C4AD5F43FFE, + DF2B90185FBA2C86DE767F46, + 417D4A3533F8C72814441F51, + 972D271918F957FB6FCD6CFB, + BD69D8ABDB6741F717E0DD1C, + 2D23BD941B1F4B65E5A2C2F3, + E2EEB444EC638B0C72A8A7E6, + D99465F417B8D56C2C9A212D, + C7F47C1BEDD7EE514BA40C27, + 5375E8C69E76D1570BE36946, + F8E83B5544E2379CB0B323D8, + 3AD3CC5787E119E3A1F6A55F, + F05511231DB8D8615D4A336C, + 34CBE9CCD9B23B1405C76D9C, ); name = streams; sourceTree = ""; }; + FC3DE4C56EB96FEE610ABB62 = {isa = PBXGroup; children = ( + 2A274CF384892F3968889E0C, + F2C08F60BC16ABA3BE1F3A36, + 509031D02C057DCD1F713B6B, + 83C4DBF3382367051A65FF4D, + D37936ED5B5A415DF1F5F2C2, + F67FF8B4FA78D4E285AC0242, ); name = system; sourceTree = ""; }; + 001644752477FB76E8633615 = {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 = ""; }; + F2CCAAD7622C9021E9236D02 = {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 = ""; }; + FD072C846A565A35098705E9 = {isa = PBXGroup; children = ( + 8FA29927B18439A066241F38, + BB4B7332B8B456297344608E, + A5A883D3DAD1D2BF2F044379, + 7609867A9F36324EA1C9F228, + 56CAE507F1D59D551C26B998, + 5C51BB323073B2AD0320825A, ); name = time; sourceTree = ""; }; + D3FBC04503A20FE0AE4F9467 = {isa = PBXGroup; children = ( + 6549876733A874A58F78CE78, + 20A48C39E51031BF57458A55, ); name = "unit_tests"; sourceTree = ""; }; + E83B4F6BC77472F08F89343E = {isa = PBXGroup; children = ( + E5D5588D0F985DB2D5A8BAF5, + BDB1FA875F2C8263E3D2650A, + C50CE0A0485507647C78F30E, + 5CD7B0F647F366AC5510A13E, ); name = xml; sourceTree = ""; }; + 9F61E2438365BDA95B34B72E = {isa = PBXGroup; children = ( + FB8D2DE920C6E56C1421F8A2, + 595AFBBA5B20E99897C1A124, + 7ED5D52CA34F13619B219810, + 126EBEB3A314786B9D332687, + 6F90F93BA224DD2936EA8456, + 56B06F326AFEC39E572F5121, + E8830FF3D8B9FD07004B5011, + 9629D21E57F62952DA68FF52, + 1F8ED827C6DF9E92BB82E05F, + BBAB6041BCEBFBB8634ED1A1, + A87A02365C95CEA478838D40, + 73A2BE77A14CA909541BBC2A, + 766B95D45D4D17B3E2D3B226, + 0E471CA7FF18C5DB1A134615, + 9C85A4EDD2B95A25A23DA373, + 840BF2C2A78A25AA039663B9, + 557E731474589321CF39AD72, + 1F5D714D0B69DB7F00C1F0D3, + C8D55BD43529A213A5859D3D, + 3F4CA675B8C4B322D6D22A93, + 5B6DF353E9728760CA37B1D8, + ACD53A5C414208FF0583C1C8, ); name = zlib; sourceTree = ""; }; + 612BAC64EF88A7A18DF27955 = {isa = PBXGroup; children = ( + 9F61E2438365BDA95B34B72E, + 0F7EB01A494A7D2D347B9167, + 1E6168E98312F552A0C57E54, + FBFB17CDB832B533BEF3BFAB, + C02F8C844FAD835F09408406, + 32D11E8A57FD1B5250A5E493, + 396986DB8689B7C6909777E3, ); name = zip; sourceTree = ""; }; + 6D357C7BC335FFE2B3877318 = {isa = PBXGroup; children = ( + DB5548CB1399CBE32EC769D2, + 3040DE7BE1344C02605D3D87, + CA6AAD37124AF9D4F0E765FF, + 2A85E03BFC5AE3C2C1BA89F4, + 89E85000B77A30615EB954C5, + 124679F9E104D8D7A97BB318, + E246EEB9ED6600870A80C1E8, + 2615D69E87558E6AC181F22D, + 765585A9F28CCEEE510CC036, + 641D66477D3BB6B1EE58A930, + FC3DE4C56EB96FEE610ABB62, + 001644752477FB76E8633615, + F2CCAAD7622C9021E9236D02, + FD072C846A565A35098705E9, + D3FBC04503A20FE0AE4F9467, + E83B4F6BC77472F08F89343E, + 612BAC64EF88A7A18DF27955, + C7437A517A5F583059B9E729, + D476B9FCEF30511BC736C744, + 3ED09149246BD2CC3D114FB1, + D476B9FCEF30511BC736C744, ); name = "juce_core"; sourceTree = ""; }; + C65F5142919A93D5CB350F76 = {isa = PBXGroup; children = ( + 198B97A4FB9B21A3357160C0, + 5BD5301D9DFF3CEA10C32DBB, + 5789E773C615D393363707C8, + 59C461E6BF35CEC17FB2C9DC, + E83074E632966778B10AF088, + 14BAD66A370FA342144C7BFC, ); name = encryption; sourceTree = ""; }; + 9F6A00EFD1F1B50AC5623B6E = {isa = PBXGroup; children = ( + 56C0EB0C9E4089ACA44588E6, + 4CAE848C3F30163816E921DC, + 83ED74D05C2699811929138C, + 9954A5B8424CE9ABC802AC8C, + 98EC0D95FAEDE6ACB31FE1AE, + 270682BD87D4E3E0C264D05E, ); name = hashing; sourceTree = ""; }; + 6BC6B2DDDAEB6F4F64D1A010 = {isa = PBXGroup; children = ( + C65F5142919A93D5CB350F76, + 9F6A00EFD1F1B50AC5623B6E, + 8BA75ABF9156FD3D17B909C8, + 8B1374A21A81C82233EBC523, + 7BE9659292437455B77D53F1, 8B1374A21A81C82233EBC523, ); name = "juce_cryptography"; sourceTree = ""; }; - A6D444FE8D85CED1C171C0EC = {isa = PBXGroup; children = ( + 77AF317BDD3865F8D65819AA = {isa = PBXGroup; children = ( + 260D03D00CBF739BB3A2F604, + 623C7B6BD0B564F60F1F4012, + 6D3191834A1567C5C18A13AA, + 4411214CB9D7F986DA5A92FD, ); name = "app_properties"; sourceTree = ""; }; + CC163C0F830F6CCB6D2D9973 = {isa = PBXGroup; children = ( + 73B62E5AA67F4B0483ED680F, + 0CB9B8098AB7F4CFF3991565, + 14254C2E6F168DB69F9F6494, ); name = undomanager; sourceTree = ""; }; + CB53E46536FA9FAD0DCB7E4D = {isa = PBXGroup; children = ( + C2563F798C3ECAE115E33D05, + D45F14581BBA9D98130D5E05, 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, - FF74D4493903CDAEF7181A06, - FA2F4F69BFFFAE7A215E77CA, - 014A45F4DF5D4B850A2E712D, + 77AF317BDD3865F8D65819AA, + CC163C0F830F6CCB6D2D9973, + CB53E46536FA9FAD0DCB7E4D, + 482096246CF2E4B57C55EC14, + 8B8CEF7A6937C76CA7642C8F, + 353C4A5B04236912332BDB1E, 8B8CEF7A6937C76CA7642C8F, ); name = "juce_data_structures"; sourceTree = ""; }; - 6B69835D713DBE0AA1335554 = {isa = PBXGroup; children = ( - F9EED40DD78515ADF3189694, - FA9CE8D2EEF012CB74C1E8CA, - 8FAA47BE39D087684520C15F, - F1BE04264A690B5EFA99FCA5, - 7063B929C5E98B803E0464EE, - 907D08843439A347B3E2A869, - 6DEF5E5D162E4F32631FE2D7, - F4EA57711C5E9DC6746728FD, - FD2080564407C8EFE21CBC96, - 427EF6B8A919A04D12F63829, - 5576ADF82B58BDBBCC75477C, - 1E21F56456B1A05606B1A328, - 6A972E2430F4B2D9A07D44D2, ); name = messages; sourceTree = ""; }; - 21AE815F08BE75F4B146FF17 = {isa = PBXGroup; children = ( - CC0ED57DE1266CEB11001787, - BEA260469BBB48EB998AA4DB, - E7EF18BE4F22063894C6FF61, - F3868CB33CA2805C31829647, ); name = timers; sourceTree = ""; }; - CFA962EE09603F3370751E99 = {isa = PBXGroup; children = ( + F123E47F5D7F92BCE8E75634 = {isa = PBXGroup; children = ( E8ED8CA85BE4E1BF7C5ADF53, C3E4252156EDD0E001A10DE3, 51713BEF84B3A58844692401, @@ -1513,7 +1925,21 @@ 54B30BCC43C6CBF57A69A654, E31FDA8F23FEAB726361C8DB, 3CCB2447E4FA1C412FEEE551, ); name = interprocess; sourceTree = ""; }; - ED26DB941C1087A481ED9C8B = {isa = PBXGroup; children = ( + FF921D2222169AB18518E66B = {isa = PBXGroup; children = ( + F9EED40DD78515ADF3189694, + FA9CE8D2EEF012CB74C1E8CA, + 8FAA47BE39D087684520C15F, + F1BE04264A690B5EFA99FCA5, + 7063B929C5E98B803E0464EE, + 907D08843439A347B3E2A869, + 6DEF5E5D162E4F32631FE2D7, + F4EA57711C5E9DC6746728FD, + FD2080564407C8EFE21CBC96, + 427EF6B8A919A04D12F63829, + 5576ADF82B58BDBBCC75477C, + 1E21F56456B1A05606B1A328, + 6A972E2430F4B2D9A07D44D2, ); name = messages; sourceTree = ""; }; + 601087E95414F57AE4CFC48D = {isa = PBXGroup; children = ( A878B40B811C4B83658F6A60, 3B3FC34DE0D784314690A93C, 656CA5CB0EF44C76ACFFDCEA, @@ -1522,15 +1948,22 @@ DC254EFF0D95657D703FA8F6, 121C4D9B35F16FF170A9D4E3, 502503CB0C00102976DF1023, ); name = native; sourceTree = ""; }; + B427066826B5D81F0447BA49 = {isa = PBXGroup; children = ( + CC0ED57DE1266CEB11001787, + BEA260469BBB48EB998AA4DB, + E7EF18BE4F22063894C6FF61, + F3868CB33CA2805C31829647, ); name = timers; sourceTree = ""; }; 1B0890891B764226EB568489 = {isa = PBXGroup; children = ( - 6B69835D713DBE0AA1335554, - 21AE815F08BE75F4B146FF17, - CFA962EE09603F3370751E99, + F123E47F5D7F92BCE8E75634, C6AA6C3360946FAC6A1E4CFF, - ED26DB941C1087A481ED9C8B, - A061F1646238A35ED0BDA32A, + FF921D2222169AB18518E66B, + 601087E95414F57AE4CFC48D, + B427066826B5D81F0447BA49, + 8BA57188E17C4D0AA9A470F8, + 887EE77979249B8A3E7C2C49, + 4DDD5CACDD472784437AB83C, 887EE77979249B8A3E7C2C49, ); name = "juce_events"; sourceTree = ""; }; - 76BAE43251ED78FD6BE739E9 = {isa = PBXGroup; children = ( + 0F8895FE1ED16567D627A3E4 = {isa = PBXGroup; children = ( 2A5F9649D883210E5C67CEE4, F7D98798130B4AB14E4E82F2, 8F5EC320CBE18D8923C7D3EF, @@ -1540,7 +1973,7 @@ 223B9626308B07EEEDA7C89F, 0D5008DFFC00B074A9970585, 46F845FD963442D8748D3261, ); name = colour; sourceTree = ""; }; - F0740B98E17BCB69B54B4619 = {isa = PBXGroup; children = ( + 5C80AF7E4F85900C70CECC96 = {isa = PBXGroup; children = ( E2B10A7DBF2B35A4C3A1DE21, B28DFE72ADE03393BE8B764C, F5EB78612A35D53F005597D4, @@ -1548,20 +1981,26 @@ 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 = ""; }; - 9F57E3145B8DE085C7435C7D = {isa = PBXGroup; children = ( + 1E3C13E72C5E34B101E0C2D1 = {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 = ""; }; + 82CE87A7EC1A20CD9A71304C = {isa = PBXGroup; children = ( CE9CAFB040BE90431A432537, A19D3050F95BFD17129EA013, 17077E8777B646C03C92D20B, @@ -1577,30 +2016,105 @@ 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 = ( + CDE6820567ACD5AA13912480 = {isa = PBXGroup; children = ( + 04763FECDDE2EE34094114B6, + 7D7135709DC9EFB6B8BAC01B, + AEF9214E21ED8FA968C3CDBC, + 3EC9D76DD3EDF3387C733F31, + 61DEAC06F8C115B1DE078559, + 7619A4CD6A10ABCF4F03F735, + 52C9D5F354B17D7D408F93AE, + AFD230E1151B486A2F25D968, + 8140577BA1F1C43ED50A24DB, + 36B2F6871C02C782FD933048, + F4C524F7ADD04FB0990B4277, + 93F8CE256A5B96CA39DB68CF, + BD7B6B657BB0F57F6FF831D5, + 7B0E4CA7FCA2DA948115C008, + D27A72D3437DF0ACDF00708E, + D231C3491016372DC84343DA, + 82BDCB9AE232E6FBE0FE2702, + 70E6E5ECE171621517003158, + 4A143DCCAD15A27B77C49C60, + DBB5A7638D1846ACFF4D4671, + 4EECCB6831037838C0A5A8E3, + 040E328BAA101251A526BB23, + ED94BCB2CB0EE47C45B111E3, + 9FC7CEB3AFCF2C929A3149E9, + D235C7C78A9ACEEA867ECC55, + 2863A1814B832797C2B5BDBD, + 5E20BD0A199999DBE2E9A497, + D880F5F4BFED2BFE98AA4A66, + BDCDD2768F462A09A5C07A4E, + DFD9E5EC7D4557840FBEF267, + 1A3D25F8D93A0DFE7238A140, + D41D5B61C6164873CABC4DF3, + 759E1FBE4B2677984220174B, + 4577CFBEE0734712E5C01B67, + EB799FA8B4968835C38E5A3F, + E359452FFDC17795732E1089, + 03EC64E3788AAE1023245DB2, + 39BE0DB587B58A12C556E683, + 232FD2712ECE30C43C788BBB, + 657EE50642CA91DF03BB49A3, + 1DDDF6BDA9523D729A6D3116, + 287CF1BA48EF9AB415274363, + 56AFA4FC9376153B89A6C6AB, + 260DEA29B185537013E63193, + F79FB831BF3BE4EE70CC80EE, + BBB8011E6F8143C6BD52D40D, + 3130E78064C89D6B15019477, + AC734C29160A8EB175F512FE, + 98D6895004EB081BBABCA15C, + B8316B5D31F8E9642F1F94A9, + 4F7F97EAE3B58B55AE621BDE, + E45F616D699555C4C4010C9A, + C580DED56011A4C37900A12D, + 81A01F0E7F5AD08A0643C2B4, + 4F2726D6C605EE825B015408, + A5802C3C5B3C3130ACAE5FFD, + A08204B26124FCFF92383BF3, + 166A7E07349A9C416DE71479, + DDE0FBFAC8D2239A971F3C94, + 18251913FAC0BEC00A1BCAF2, ); name = jpglib; sourceTree = ""; }; + 548D6ED578549C4BAED42A3D = {isa = PBXGroup; children = ( + 7E719D7787CCEC90D6813EB7, + 289D0C47C9BBA6CD46EF9765, + 13FF419E411FB6978E6A5223, + 7CE228763D12DCDBFF31CAD5, + 18195F5653CF2D27416940BD, + E70760977A93F8F40054E9DE, + E040F7DBE91A5635FAAD2804, + F6E3CE7177F5638F762B1E78, + 7C40DADCBD16D1384F0BFC34, + 6367EF1A37C6AC6B710B3273, + 4977C7CFE884BA7395DC3BC1, + 5C8CD5FF4701065558BCB28A, + DB49E4B4F4CCF9F8CBFC33BB, + F6ACAD14D5F5618B6D0F3829, + 7EABFF4F7DDB3634A91AE3B2, + 0E2D953697BBC42AE80867B2, + 0A2608950EEA0BB719B538D6, + AFB6F48AC541B5510EFDB61C, + 16633721C0AC077FD332F530, + A06B0489395A029A4F04EBF9, + 1D7AB481EB2E15204C0A78AF, ); name = pnglib; sourceTree = ""; }; + 1CA60DE2AD687DEBCD59F3AA = {isa = PBXGroup; children = ( + CDE6820567ACD5AA13912480, + 548D6ED578549C4BAED42A3D, + 793E09206EDE78138AB56CC5, + F0074D8C86D3265AF7889CCF, + 2B594B1579F4770CA36E870C, ); name = "image_formats"; sourceTree = ""; }; + 90A4A49FD776B5AB9D539135 = {isa = PBXGroup; children = ( + 1565307D5DC70CAC563B579F, + 14BF2173D8CD3520B21E01E0, + AEA5E43C19B3566D5B2655E9, + 6BC5C181AD876196213378C2, + 9BECE88C6AB34861AF408C37, + 6E35055BA3436FC2F9B77365, + E441F10A3241806474779D5A, + 91A5A6A217FA091F2ADBE3C5, ); name = images; sourceTree = ""; }; + D59223202DE58F2EF78FEC3C = {isa = PBXGroup; children = ( 3A8EA18FCAE5801EF1AECC06, E041ABD2C503FCB7EB7E49F8, 2E62B2A1D5FE20D7E675DC3F, @@ -1614,19 +2128,57 @@ 6741B65B42E9858C7B580A36, D9FDDAC72C576633FD41B2E7, 4AB453F1DFC4EA7AE058B0EA, ); name = native; sourceTree = ""; }; + 52A2A780A9B6627ECE28F988 = {isa = PBXGroup; children = ( + 7E5D04471A75DF9057A4D73E, + 6CF6624AD370E4716D42CEDF, + 284C742F571D494237C52C2D, ); name = placement; sourceTree = ""; }; B4351AB8FE980A7A843DD7EB = {isa = PBXGroup; children = ( - 76BAE43251ED78FD6BE739E9, - F0740B98E17BCB69B54B4619, - DDD3EBD3493F3D8076685D09, - 240D1F671827DE817DDE901B, - 9F57E3145B8DE085C7435C7D, - 997C7BFF828EBD6BDD06D036, - 013403E10034C0DA7BEE1F39, - 556560AAD3C29E08F7AFBCBA, - 66DC0A97992202B7629A58C7, - F7D32C5CE1D85C542190C26C, + 0F8895FE1ED16567D627A3E4, + 5C80AF7E4F85900C70CECC96, + 1E3C13E72C5E34B101E0C2D1, + D3FC9F88D8C0499272B0D54A, + 82CE87A7EC1A20CD9A71304C, + 1CA60DE2AD687DEBCD59F3AA, + 90A4A49FD776B5AB9D539135, + D59223202DE58F2EF78FEC3C, + 52A2A780A9B6627ECE28F988, + 3CC8052A6B1D8AA78655D40A, + 30CBDFC5F16FD990ABC2C486, + C0C66A94FBDE992AAD71C698, 30CBDFC5F16FD990ABC2C486, ); name = "juce_graphics"; sourceTree = ""; }; - 5A794D6AA7ACA03DC348F94D = {isa = PBXGroup; children = ( + DB33673DA556F78A6440421E = {isa = PBXGroup; children = ( + FC00E5ABDD903617E7498A0B, + 489D9B3F2489315DBF5C552E, ); name = application; sourceTree = ""; }; + F9EB22A2445D11F2F6A6772B = {isa = PBXGroup; children = ( + F5DBF428153938207320675F, + BB8AD6D858D518E804AFA0C7, + 6536E6457A8B77FDCC506401, + A87A60BF515078DF23E1F737, + AA54E821F947C9A9DC359693, + BEAB03E92089D87D7D6A2353, + 3935FEBDBA2F8025F602042C, + 5CE4484E6BAB76C9B49E6ADE, + 3B883BA33260250D6C443F87, + 80A6B9266A11D6977AD84546, + 5848A09E20AA6FE9EF1E6898, + 28BF10B49B1D14FE05CBC5DA, + F2ED5A15267070B560EFFA2B, + ECE3837512B3E620155A8432, + F7487F2DEA61873B12C6CAC0, + 449FC2FAA282C731A58D51E6, + 0892B622D73826BB91C8E418, + 6436F4F5D143E72BD77EE053, ); name = buttons; sourceTree = ""; }; + FA1CB4E3724F4D87E463DD04 = {isa = PBXGroup; children = ( + 2CD2FBF66999807E0B86E0B0, + C568E8888819EAFDCAEAF04F, + 8DBDCF6753B9AE327FC8E382, + A23A20A098747A2449C47047, + 31B42F889DD1C79540881B97, + 62935FD655DDDCE70536555F, + EEDD0D3608DCB2E459F3BF24, + EFDD05E3C006BA460761594C, + 01D4F510A1EE5495A8A419C0, ); name = commands; sourceTree = ""; }; + 9B2C79FE8108C2BDDF05F710 = {isa = PBXGroup; children = ( AC2A502E05BB93CB0840344D, 31CD83018DA7BED28A70EC1C, 2D6A1D77D896FF6DDD5EC49F, @@ -1636,97 +2188,60 @@ 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 = ( - 6D1D3AFCBD704E2E3A9AB0D9, - 776FC3A674D9CCD21CB2D7A0, - E90FDEEB9C536E5E1124B00D, - 4FBA6C32DE977B1330BAD5DD, - D521465375DD0F179649668B, - 38A0CFC456FB82927DF8B990, - 3A52ADB8D2B72A1E6F455ABA, - 1E07768DDE29F15BF4F32C48, - 665600E48FF051CFE90C698D, - 69CA413A66B0EA204C1AFF4A, - 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 = ( + EA795414FC8B7F5CB00A7F3D = {isa = PBXGroup; children = ( + EA2BE0B9C8E1546D25A02D67, + 38043242051AD4996B081769, + 0D79BD52315BE837BAD64A82, + 9CABACB9A2FF46A8B3059D8E, + FAD5D9101D6427D96558C37F, + FC50C6150E60281125E69115, + 3F57F6B58B93E88A29F90809, + FDFE40162E4F5CCAA833061C, + 9F3DCE572188E0085FCF1956, + ADA1339F195F699D7F5369F9, + 9B9B8DBEBEA5051A602DA6C1, + DE1A6A1C0CCC94A3E3A887E3, + DCB52EFF8A9F5D9F6CF3D3FC, + 61596F68A47C4BEA8F9A4D68, + D6EDBF07E4162364DB8825D9, ); name = drawables; 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 = ""; }; + 256F1C5EFDE21E269E58AF0C = {isa = PBXGroup; children = ( + 6D1D3AFCBD704E2E3A9AB0D9, + 776FC3A674D9CCD21CB2D7A0, + E90FDEEB9C536E5E1124B00D, + 4FBA6C32DE977B1330BAD5DD, + D521465375DD0F179649668B, + 38A0CFC456FB82927DF8B990, + 3A52ADB8D2B72A1E6F455ABA, + 1E07768DDE29F15BF4F32C48, + 665600E48FF051CFE90C698D, + 69CA413A66B0EA204C1AFF4A, + 42AE889B4D596FF23E2D77CB, + B1E4A1F07EFCCA50D963CF4F, + B77BD5847F412656109A378E, ); name = keyboard; sourceTree = ""; }; + 9C833930F854FF7F6F5F85B4 = {isa = PBXGroup; children = ( 2EC200E7CF8C908AC3DF4416, 1BC364DFD3A975A0CBA0AC61, 77802A78E9D43C940C14B0BF, @@ -1763,72 +2278,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 = ( + 3D2658D9399547B4F58DCE86 = {isa = PBXGroup; children = ( 046591508FC3F71F74126E81, 8594A236A434383AA96AEB53, BA5A9BB00CD8BEA408371875, @@ -1837,48 +2287,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 = ( + 1F7DE06B05D22B67B08C9A49 = {isa = PBXGroup; children = ( + E9164448EE60F4DB5F2A14D1, + 01B29765150B583E2460837C, + 275CF9CA5A34E2825DB8792C, + C2B61447889E781465E49AC3, + 1B0BEB542ED5BA84E52AEA2E, + E50BADB05430CBE8BF33F8F5, ); name = menus; sourceTree = ""; }; + 459489379FAEED6201EE3D2E = {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 = ""; }; + C669C98211E69867C0764A39 = {isa = PBXGroup; children = ( 4717C14F84229B39FA2FA86B, 3A5C86CF6276058B0D5AC399, AF6001FA947F3A7DF15CBF8B, @@ -1895,27 +2337,107 @@ C05E16AAF0CF0676135C0C9B, 279D354D902DE91EB32B1BE6, 6C5F536D935CF788C07424CC, ); name = native; sourceTree = ""; }; + 5311024233EE91F8F26EFE9B = {isa = PBXGroup; children = ( + 8D11B58353EBDC8EBE9C641D, + C52847A293D0E8958E88DFD5, + 17A033D6C28B1E76FA8BEFCF, + 816CA082336A8BC8A9AA61BD, + C3B93391519DA8A352766580, + 406587D828CD424333E55C81, + 33B9E6212D92FB49C792ACE9, + C6B9F01A0AAA2A1DA8122912, + 9CF41B989B4516C8DB6CF7A0, + 35748B2B69B3A54D19679F3A, + ACD7FAE9EE61A4085580912B, + 360B3CDCB046B9D69C6F5ED4, + 56C2444E299E030DE7243C7D, + 220732F05D2DEBC2ADF2D45C, ); name = positioning; sourceTree = ""; }; + 80696C0E60C6430CF49F66B3 = {isa = PBXGroup; children = ( + 87C173B4D57F00E5523D3395, + 5B546C6ED44CAF4197788BC0, + 6555D39D3BE572E611DCA8EB, + 3545CC1CCF501BDBFF528908, + 78C9531A81D34333AEF14019, + 1ED3843AC8AC67374F6F5F77, + 3B3B1BB15DFF71215E86A175, + EA19F37E2AB4C42A1ACF17CE, + 70407DF33563B729D4758A17, + 3134A6BDE49CF0D3F0B12FE2, + AF5C2B3C5CF657FA722F9A68, + 1633D4A7385E8AB77FB6723E, + 5F6BDD2491C4086940AAE045, + 7392F4B60E4E28A340E465BE, ); name = properties; sourceTree = ""; }; + B002DFC8131802CB86DD8C1E = {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 = ""; }; + D8E4626E82E519012DE8350B = {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, + DB33673DA556F78A6440421E, + F9EB22A2445D11F2F6A6772B, + FA1CB4E3724F4D87E463DD04, + 9B2C79FE8108C2BDDF05F710, + EA795414FC8B7F5CB00A7F3D, 42F8790BBB2D6EAC6A228F28, - EB0838BDF3EDD2A6C56D1B10, - 3F09D506DAF77142944CD206, - 2EFA9503FCACF0651BB57D5A, - BC1C3CB4DF57CE8A1B29522F, - 0F1752D7FC9D89588551D5C3, + 256F1C5EFDE21E269E58AF0C, + 9C833930F854FF7F6F5F85B4, + 3D2658D9399547B4F58DCE86, + 1F7DE06B05D22B67B08C9A49, + 459489379FAEED6201EE3D2E, + 15099FEDA05F5B2369A1BF36, + C669C98211E69867C0764A39, + 5311024233EE91F8F26EFE9B, + 80696C0E60C6430CF49F66B3, + B002DFC8131802CB86DD8C1E, + D8E4626E82E519012DE8350B, + 028F00D143E21B4B434EAD2D, + A85BBB0551113A7CD910AA16, + C3B0CE7BC50EE3F20BB261EC, A85BBB0551113A7CD910AA16, ); name = "juce_gui_basics"; sourceTree = ""; }; - 7B917E77D4B25A14822B94CB = {isa = PBXGroup; children = ( + 1BA880FBB9D27D8F9C475A93 = {isa = PBXGroup; children = ( 1233B57573AB9503E0625ECB, 89CC7514E6F2628CE82591BD, 3C90895F90CF6FA4714DBF6F, @@ -1928,14 +2450,14 @@ B05257BD950E35B28F9E88CC, 110D8C5EEF130FB1E1F7D286, 1CEAFFE79A9E1A1E32C2BFD6, ); name = "code_editor"; sourceTree = ""; }; - 206C4AD1A507D7D003F44AD4 = {isa = PBXGroup; children = ( + 496F580D099EF79AD9D23B0F = {isa = PBXGroup; children = ( 169C1D0433B29AF96A6FD27E, F0F7DE7E362D726569559501, ); name = documents; sourceTree = ""; }; - 8AB5C3D67E25D52FC85A482D = {isa = PBXGroup; children = ( + 665DE861CFB7D14C2074451D = {isa = PBXGroup; children = ( E3381BC529641894F95F9AD6, 9FBCE80E444BA9E69C3F6172, AC4730773DE422AE346C6D6B, ); name = embedding; sourceTree = ""; }; - 284172C32915E2B9B95F2B0A = {isa = PBXGroup; children = ( + 975F70F112F3802E4717393E = {isa = PBXGroup; children = ( F9A0A82AA4D8EDB4B2305849, 7109E1D6A2AD7A013453C922, BCD3969359F2EB2EB970C412, @@ -1956,7 +2478,7 @@ 4C57FEDA7D19BB3D05326948, FBA60035993B1D5796D202DF, C57BA5F014343276128923F6, ); name = misc; sourceTree = ""; }; - 7934D8F0485905857255419D = {isa = PBXGroup; children = ( + B94FB129A464E72A698A0AC8 = {isa = PBXGroup; children = ( 07E89C9A0EBF5FF6A0A05EA5, 77BAA6C13A52BE0F0A42FD0E, 179BD4E3BB66F7CC1747ADAA, @@ -1970,14 +2492,29 @@ D23A9E25612E33C0C6AAA09E, 74E37866C31A35A559E1E80D, ); name = native; sourceTree = ""; }; 5055ACAE49BC97DD34466C48 = {isa = PBXGroup; children = ( - 7B917E77D4B25A14822B94CB, - 206C4AD1A507D7D003F44AD4, - 8AB5C3D67E25D52FC85A482D, - 284172C32915E2B9B95F2B0A, - 7934D8F0485905857255419D, - 97C71C2DD318EDB304FC1CEB, + 1BA880FBB9D27D8F9C475A93, + 496F580D099EF79AD9D23B0F, + 665DE861CFB7D14C2074451D, + 975F70F112F3802E4717393E, + B94FB129A464E72A698A0AC8, + 718E39433D13021F56FCA2AC, + B121FF657B96C6FFEB2C2DC1, + D782993D6DAF0AF948A62517, 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 = ""; }; + B2DF875F4095D8C30BA0BE9B = {isa = PBXGroup; children = ( DF53D8FD5DE7B15694D26E91, 01FC5A0075F643D703F56555, 9D87175DE3988B783002560D, @@ -1995,47 +2532,38 @@ B2B042F73709D0057DE8A51E, 6F0A25914D95D4F547F91C79, E046CC53401A9551BDEA2D83, ); name = opengl; sourceTree = ""; }; - FEE6ACB178D213783FF6E964 = {isa = PBXGroup; children = ( - 838BB45D693ED0AAD43B93C3, - B9B0A3004948FA2387C28829, - 21FAFC1D8D92872E96F56764, - CD44827B5286ADE94DB0B79C, ); name = geometry; sourceTree = ""; }; - AC7F13F5542D3403D8F2ACB8 = {isa = PBXGroup; children = ( + 9D6ECB3173D7F900E6234D8E = {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, + B2DF875F4095D8C30BA0BE9B, + 9D6ECB3173D7F900E6234D8E, + A31292BD2BBF1B7601F2012C, + E0E847621EEAEEFB21B87986, + F07914AFCF34610BAC0D3B0B, E0E847621EEAEEFB21B87986, ); name = "juce_opengl"; sourceTree = ""; }; - E1A6B922CD26B2E238FFE633 = {isa = PBXGroup; children = ( - CC83A115FBF5C65772BBFAE3, - 3D26B83681D1E47ADFB2D8A9, ); name = playback; sourceTree = ""; }; B43E665356CC8841DCE56D07 = {isa = PBXGroup; children = ( 83619BFC8B92A2B5F17F596C, 985C549EBDB26AF7BFD6E8A4, ); name = capture; sourceTree = ""; }; - 9BD07AD149BE8BBE4BA6B001 = {isa = PBXGroup; children = ( + E4EF620E2A9464BAA129D16C = {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, + E4EF620E2A9464BAA129D16C, + DFE776317D90B3D3BD911CC3, + A96A21232A57ABCE293F7AEF, + 317988D9466ECCE83B91CD24, + 757D9E8B34634C0E899922F9, 317988D9466ECCE83B91CD24, ); name = "juce_video"; sourceTree = ""; }; 128007CA5E777E8B423777F8 = {isa = PBXGroup; children = ( 333F7FC9E4E695D243B51D53, @@ -2055,22 +2583,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, @@ -2087,7 +2615,7 @@ 201259150E2168D8B93D9C87, 56B04319D227E406E44AD15D, ); name = Frameworks; sourceTree = ""; }; 5D365257108A916858E3947F = {isa = PBXGroup; children = ( - 5802E3490BEAFD892C837E2A, ); name = Products; sourceTree = ""; }; + 7451C664E0B1FF42F028813E, ); name = Products; sourceTree = ""; }; 5EB8D0E327356FA2D5323013 = {isa = PBXGroup; children = ( 853E25E8F0EA391EE8D4A3B8, 128007CA5E777E8B423777F8, @@ -2095,7 +2623,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; @@ -2111,11 +2639,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; @@ -2132,13 +2661,15 @@ 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; SDKROOT_ppc = macosx10.5; }; name = Release; }; 3132BF724B47EEFACACC0FF2 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2167,34 +2698,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 = ( - D0E5FADCDC70B5989BE7D147, - D31034CCE86D686B109ADE0F, + 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, @@ -2208,11 +2738,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; 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 8b0f5b2b..9189dd80 100644 --- a/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj +++ b/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj @@ -131,6 +131,9 @@ true + + true + true @@ -209,6 +212,12 @@ true + + true + + + true + true @@ -224,15 +233,6 @@ true - - true - - - true - - - true - true @@ -281,259 +281,274 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + true @@ -542,21 +557,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -569,6 +593,9 @@ true + + true + true @@ -611,625 +638,976 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + 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,6 +1625,9 @@ true + + true + true @@ -1262,26 +1643,30 @@ true + + true + - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -1314,6 +1699,9 @@ + + + @@ -1321,20 +1709,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1344,8 +1803,26 @@ + + + + + + + + + + + + + + + + + + @@ -1356,15 +1833,6 @@ - - - - - - - - - @@ -1375,40 +1843,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1425,25 +1860,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1453,6 +1869,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1466,30 +1916,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1498,14 +1981,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1515,19 +2009,12 @@ - - - - - - - - - - + + + @@ -1538,10 +2025,15 @@ - - - - + + + + + + + + + @@ -1552,39 +2044,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1593,33 +2120,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1639,15 +2139,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1655,13 +2169,6 @@ - - - - - - - @@ -1669,31 +2176,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1719,20 +2226,11 @@ - - - - - - - - - + - @@ -1740,32 +2238,33 @@ + + + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + diff --git a/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj.filters b/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj.filters index 1cb712ad..7901b688 100644 --- a/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj.filters +++ b/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj.filters @@ -5,9 +5,6 @@ {2C84AFEA-39C5-45BB-67B0-D0028AFD3304} - - {66A1AF91-A77F-473F-6845-129C256B37A7} - {A8EE5285-360D-2B24-CFF2-504431E3E613} @@ -41,45 +38,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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} @@ -89,8 +125,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} @@ -98,17 +143,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -116,29 +155,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -152,33 +191,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} @@ -188,80 +227,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -284,30 +329,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} @@ -325,6 +370,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -403,6 +451,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -418,15 +475,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,40 +529,148 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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 @@ -529,26 +685,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -568,6 +733,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,44 +766,11 @@ 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_audio_processors - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_processors Juce Modules\juce_core\containers @@ -637,33 +787,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 +811,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -730,36 +823,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -772,6 +853,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -829,35 +913,179 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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_data_structures\values + + Juce Modules\juce_cryptography\hashing - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography\hashing - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -865,23 +1093,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -901,6 +1132,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 @@ -916,6 +1159,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -937,26 +1192,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -973,236 +1231,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1231,26 +1504,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1267,47 +1543,14 @@ Juce Modules\juce_gui_basics\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\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables Juce Modules\juce_gui_basics\filebrowser @@ -1339,17 +1582,92 @@ Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + 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 @@ -1357,8 +1675,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1405,6 +1741,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1483,6 +1933,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1510,6 +1966,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1531,46 +1993,52 @@ Juce Modules\juce_video\native + + Juce Modules\juce_video + + + Juce Modules\juce_video + 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 @@ -1587,6 +2055,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1683,6 +2154,15 @@ Juce Modules\juce_audio_basics + + 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,47 +2184,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1773,41 +2466,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -1836,6 +2526,36 @@ 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\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 @@ -1866,50 +2586,95 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + 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\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\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1929,6 +2694,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1968,197 +2736,194 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers - - - 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2166,50 +2931,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2235,14 +3000,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2250,15 +3015,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 @@ -2286,36 +3084,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 @@ -2325,6 +3093,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2355,17 +3132,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 @@ -2397,50 +3189,137 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands Juce Modules\juce_gui_basics\components @@ -2457,44 +3336,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2520,87 +3417,6 @@ 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 @@ -2655,35 +3471,77 @@ 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2706,27 +3564,6 @@ 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 @@ -2748,80 +3585,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2898,32 +3735,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -2937,9 +3750,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -2961,17 +3771,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_opengl + 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 Juce Modules\juce_video @@ -2987,53 +3833,20 @@ - - OpenGLAppExample\Shaders - - - OpenGLAppExample\Shaders - 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_audio_formats\codecs\flac - - Juce Modules\juce_gui_extra + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_opengl + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/OpenGLAppExample/Builds/iOS/Info-App.plist b/examples/OpenGLAppExample/Builds/iOS/Info-App.plist new file mode 100644 index 00000000..2e9d67b4 --- /dev/null +++ b/examples/OpenGLAppExample/Builds/iOS/Info-App.plist @@ -0,0 +1,43 @@ + + + + + + LSRequiresIPhoneOS + + UIViewControllerBasedStatusBarAppearance + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + OpenGLAppExample + CFBundleDisplayName + OpenGLAppExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + UIRequiresFullScreen + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIBackgroundModes + + + diff --git a/examples/OpenGLAppExample/Builds/iOS/Info.plist b/examples/OpenGLAppExample/Builds/iOS/Info.plist deleted file mode 100644 index 84ebf00a..00000000 --- a/examples/OpenGLAppExample/Builds/iOS/Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - LSRequiresIPhoneOS - - UIViewControllerBasedStatusBarAppearance - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.OpenGLAppExample - CFBundleName - OpenGLAppExample - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - UIRequiresFullScreen - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj index 0befedc3..64f31410 100644 --- a/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj +++ b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj @@ -6,8 +6,11 @@ objectVersion = 46; objects = { + A795ACBDD9D51ADDC86EAA03 = {isa = PBXBuildFile; fileRef = 7451C664E0B1FF42F028813E; }; F2E327A47E10F43D6991A306 = {isa = PBXBuildFile; fileRef = 50151F5E1EA38C0768AD9AC8; }; 7FF434A451FC85BF1B79BC7F = {isa = PBXBuildFile; fileRef = 3948321FE783006946DC8F1F; }; + F9B99B7794442B691803718A = {isa = PBXBuildFile; fileRef = CC144EDF680633EC54BB6C7C; }; + 2A954B85CEC7CB6CDDE645AF = {isa = PBXBuildFile; fileRef = 8E5DB762FF5447085518EB85; }; 8F43218E0AFA8FBC12C39860 = {isa = PBXBuildFile; fileRef = C3C776709CFEB52B87A9E260; }; 3BFCAE441B663BD739FBCCB4 = {isa = PBXBuildFile; fileRef = 6CDDF198D9632DA763449E05; }; 5AE83D61A34B2B62A0610EBB = {isa = PBXBuildFile; fileRef = 9D95CB2E713755CD61842774; }; @@ -16,51 +19,60 @@ 6243594E2BFD65B88D9F9918 = {isa = PBXBuildFile; fileRef = 525E733E59BB89937210A34E; }; 31F4958CEE4B57FD45310A05 = {isa = PBXBuildFile; fileRef = 844820FE23753AF260B13D1D; }; E7FB9D1F12020A9A921577AB = {isa = PBXBuildFile; fileRef = 342622E99E9622EDF376B782; }; - D0E5FADCDC70B5989BE7D147 = {isa = PBXBuildFile; fileRef = 9BE0EDFED0FC2720BB3AE101; }; - D31034CCE86D686B109ADE0F = {isa = PBXBuildFile; fileRef = DD387A0509039658A5DC2AE5; }; 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"; }; + 0164AA0AC217A99CDA13191B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; 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"; }; 01D4F510A1EE5495A8A419C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; 01D4FBCFEB845B42A173B450 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; 01FC5A0075F643D703F56555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; + 0245BB5F5FD9A86D59B1E9DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + 028F00D143E21B4B434EAD2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 029B3B1336D8028EEF1AA5EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; + 03EC64E3788AAE1023245DB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; + 040E328BAA101251A526BB23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; 0411B541BEDEC5A67ECEAA31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; 046591508FC3F71F74126E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 04763FECDDE2EE34094114B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; 04EC6529BA82A6BCDA64A3D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; 04F64700F41A639DA16732BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 0557BAAD94B3B3AFAF7607EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 05C6F060011C5DD37F622202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; 05F871A5DA3290898E2EBFBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 06954ECFC21655606758855C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; 06FB32F5B510DEC2A6D2FBCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 0737A415932C93579574CE2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; 0769D44014FDF069ECA54115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 07A41B027C9FC2A6DAC801F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; 07E89C9A0EBF5FF6A0A05EA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 086CE8B7F8175DAC1B5DD18C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; 0892B622D73826BB91C8E418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 08E18FEBB3596E9DE7A5BF9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 0917DAAA83C16F4D430A4961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 0950F9F7698F791C6BC7626A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; 097B8DA5C29B16C544CEA626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; 09B659F4A61EA3BDC6521FEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A2608950EEA0BB719B538D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; 0B26EC9D2A47B858246A76EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 0BB6230BB8EFC6D0CF7BFADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; 0C2B705429E7587EB29AAD6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; 0C5D36923235127BEC48777C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 0C76BB6E3BA98DEED44473E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -69,27 +81,36 @@ 0D158239399CB7487C663168 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 0D5008DFFC00B074A9970585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; 0D79BD52315BE837BAD64A82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0DDE192E5A26D3C00B0F7352 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; 0E1CA391708ADDE3952BF147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 0E2D953697BBC42AE80867B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + 0E471CA7FF18C5DB1A134615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.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"; }; + 0F40C06216C18EDF0C56D938 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; + 0F624DC7F16BF3CE9E0BF46E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; 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"; }; + 103839BBB4C787E90459481F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; 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"; }; 108D2A323EA2D7B31289AFFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 10FB75AD59E8E2AEF38167B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; 110D8C5EEF130FB1E1F7D286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 11614D602849B43F5ED92934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 11881E7CC7D301CFCD56D450 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; 11AA656929A0D7F50667583B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; 11F77DEDB8DDE2BC9B1DAB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 121C4D9B35F16FF170A9D4E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; 1233B57573AB9503E0625ECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 126EBEB3A314786B9D332687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 12BD203CEA0CE311A5789BB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 13FC99389707E91E7EB6D000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; 13FF137ABBAC726B7785FE0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13FF419E411FB6978E6A5223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; 140AFDDDAB2B88153F46692E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; 14254C2E6F168DB69F9F6494 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; 144BF62327063E0017BB7B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 145168CF47F32284012AD9AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; 14BAD66A370FA342144C7BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; 14BF2173D8CD3520B21E01E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; 1542F586268CE982EE1C9607 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -98,6 +119,8 @@ 16094015FECE7F7A1EE6B751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; 1633D4A7385E8AB77FB6723E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 16421110FEB104E290E3F13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 16633721C0AC077FD332F530 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; + 166A7E07349A9C416DE71479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; 168D70A9989ECA609D355DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 169C1D0433B29AF96A6FD27E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 16D38AE110B44FE0D5E26F9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -107,45 +130,60 @@ 179BD4E3BB66F7CC1747ADAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 17A033D6C28B1E76FA8BEFCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 17AB5E83E71D5864435A011B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + 18195F5653CF2D27416940BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; + 18251913FAC0BEC00A1BCAF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; 18459D45EE3F7766AB932678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; 18E61768FC20A6C65CF73DA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + 196F16578D04B3D1B1E1D11C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; 198B97A4FB9B21A3357160C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; 19B1556541E4426450C8397C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 1A366C1E8FF34F708C0AF994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A3D25F8D93A0DFE7238A140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; 1A424A0B9D68C68CD5B075E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 1AB2337020B7AA4AD329405A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 1B0BEB542ED5BA84E52AEA2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; 1BC364DFD3A975A0CBA0AC61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; 1C02F9D8BEBC13937D8D9BAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1C196D0BC6B08623601273FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C5E7A9B230FE6B962802C53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 1CC05551F14FFC0161D8E12A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; 1CEAFFE79A9E1A1E32C2BFD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 1D6EA6E2DC8F03826454F21D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + 1D7AB481EB2E15204C0A78AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + 1D7CF8165446AE087D3E91A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 1DC4AC19C53D307B6007D02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 1DDDF6BDA9523D729A6D3116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; 1E07768DDE29F15BF4F32C48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; 1E21F56456B1A05606B1A328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; 1E6168E98312F552A0C57E54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 1E7CA4A04A182412B3ECEBF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 1ED3843AC8AC67374F6F5F77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 1F0F8E76A0B7D289D66C4101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1F5D714D0B69DB7F00C1F0D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; 1F6C3ACBB74CDDEBCBFCCA57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 1F8ED827C6DF9E92BB82E05F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; 20A48C39E51031BF57458A55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; 20F2CFC88281301E30E08682 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 20FD3BF2E58B0BF9B0C57939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; 21273C209FE7E19C59952EE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; 21FAFC1D8D92872E96F56764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; 220732F05D2DEBC2ADF2D45C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 223B9626308B07EEEDA7C89F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; 22B8E3336C2DA6F5DE3CE748 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 22D01A956BCD31F2C54E4E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 232FD2712ECE30C43C788BBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; 23E996355EF7DFDCECA97B64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 23EA0178C7150CBA80E79215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 23EB172E073859853F1426E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; 23F1F8A1566366CCFAC8A5BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; 24E54A22403128BA82D02B09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 2517140ED8C0697A51CF87AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 260DEA29B185537013E63193 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; 2740DD21925484E4BC243630 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -159,21 +197,27 @@ 281ADBFFA54CFADAE46AAE79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; 2822F9B316AEF7797E0F04B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 284C742F571D494237C52C2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + 2863A1814B832797C2B5BDBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; + 287CF1BA48EF9AB415274363 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 2889D4712628B6D3676F2C34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; + 289D0C47C9BBA6CD46EF9765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2A561EA63E4D64CB648F6790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; 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"; }; 2BCD3C3BC90487E5B932FC98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; 2BEA66F83F12716439729EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BFABFBE400EBD477EEC1F7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + 2C3B9B1593F6CB6BB6B4F8F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; 2C4E26E2F6F3B5522CA9993E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CB561058728D0EA3A66AF4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CD2FBF66999807E0B86E0B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; @@ -183,14 +227,20 @@ 2D6A1D77D896FF6DDD5EC49F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; 2DA8BDECC570B976D34D9263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; 2DBFFAB8701557418A4C7CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2DD71C2E25546E180B21DF6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 2E1213ABCA6E339D156C6825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 2E355DED51A6E9DFBFDA84CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; 2E62B2A1D5FE20D7E675DC3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E707F1CF18BFA0580429FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; + 2E9FF32167281D8C038A2E95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; 2EC200E7CF8C908AC3DF4416 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + 2EDC3825746112A326F6E5D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; 30CBDFC5F16FD990ABC2C486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 3130E78064C89D6B15019477 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; 3134A6BDE49CF0D3F0B12FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; 31416E7F36800B9ACAEA176F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; 317988D9466ECCE83B91CD24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; + 31958F6C1EC769F17A513596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; 3197F342A372898714E25F70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; 31AF78DCC817DE98C01E1EEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; 31B42F889DD1C79540881B97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; @@ -200,10 +250,12 @@ 32D11E8A57FD1B5250A5E493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 332346809620F9AFA7CF3D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 338C5E41B8903F0894709201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 3399F315085A85ACDF24D20A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; 33B50F43732A04D1702F5140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; 33B9E6212D92FB49C792ACE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; 33D5910744D9482DBA614144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; 33FDA12B0256C2A4BD51B11E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3402A83DC19BC6040902E01F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -215,25 +267,29 @@ 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"; }; + 36B2F6871C02C782FD933048 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; 38ADFF5CB2DD15D371425F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38DCDFC05979954E8478EF4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; 3901027B107F1E3047BE9DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; 3935FEBDBA2F8025F602042C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 393EA74C63AFA103F5F3264B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; 3948321FE783006946DC8F1F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 396986DB8689B7C6909777E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + 39BE0DB587B58A12C556E683 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; 39CD252C183BBF175E1C0602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 39DAB20FE9D55152EB2D224A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 39E15EA7A7D5C14DC2567263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A360AD08206A8A9492E604C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A52ADB8D2B72A1E6F455ABA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A5C86CF6276058B0D5AC399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A8EA18FCAE5801EF1AECC06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -246,9 +302,11 @@ 3B719AB087869724229AF10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 3B883BA33260250D6C443F87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C90895F90CF6FA4714DBF6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3CC8052A6B1D8AA78655D40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 3CCB2447E4FA1C412FEEE551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; 3CF6CC164ED4826B4DF73177 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; 3D26B83681D1E47ADFB2D8A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3D8DF951B1B329BE4D5A2EFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; 3DCD8AA2FF25FBE6919E8F64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DF5CBEC136D13446079C001 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 3E157C0C9F33470C32DE6008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -257,23 +315,26 @@ 3E5E15C429B5D8BDA6815193 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 3EC9D76DD3EDF3387C733F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; 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"; }; + 3F4CA675B8C4B322D6D22A93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; 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"; }; 410C72660348DFD81F81386C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; 4142E8BA365FE77662B11891 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 41459B47F41FB1C145E533FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 41509E8D4AF461C1B23CF71F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; 417D4A3533F8C72814441F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 41D42F7438B6C953A2DC5038 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; 41F9BAD0BC589CC46CFEF495 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 42359EA0046C4A2BB6A30AC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; 426B31F8A63727D575B2C782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 4271A817DD6497D0023C43A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; 427EF6B8A919A04D12F63829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -282,10 +343,14 @@ 4391785C112C65C6C1F4E05A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 4411214CB9D7F986DA5A92FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 4421B5629FD22618255E5539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 44378FAA22C086528A655CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; 449FC2FAA282C731A58D51E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; 44EFBCE30DD206F4A55E4E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 451F57EB04767F4C5F2E21C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; 45693266645F0549AD1FEA88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + 4577CFBEE0734712E5C01B67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; 46258D3B622AB0E2EF63F709 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 4652307490EBE8A237A90230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; 4660BCF2E3BB5D499FA4A5EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 4676425D91097FBD1689298C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; 4683DEED4D9E52F0A84FCEE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -293,20 +358,27 @@ 4717C14F84229B39FA2FA86B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 473E98AA655246EECA75EDD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 47E94C2476E8A7171A484CF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 482096246CF2E4B57C55EC14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; 4825BC8A3502320ED671408E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; 48285F283B8D98122DB9D028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; 484ACD3191DB5BEB198EEF97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + 489A04E7768D16A2706D2D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; 489D9B3F2489315DBF5C552E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; 48E0880AD4495DFA30F7826B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 48FCAA413FA6EC7E02B33A6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + 4977C7CFE884BA7395DC3BC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 49837BCC6CD64D108AA3E37D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; 49EE14EEEF6EADB9F20306E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; + 4A143DCCAD15A27B77C49C60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + 4A5D18F46829A0FC5C5E1CFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; 4AB3D9133A3357A3FDAD3BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 4AB453F1DFC4EA7AE058B0EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 4ADEE86E1B443E58DA6A90FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B26823296057130130EDE43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; 4B409B90CC47BF0477D7F6E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; 4BF34287391AB2ED382C9CB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; 4C57FEDA7D19BB3D05326948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4C8AE5930518A68489A1A62C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C9A2AA5CFE2C1995A302765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -315,8 +387,15 @@ 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"; }; + 4EECCB6831037838C0A5A8E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 4F1712171383DAF56D105F1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + 4F2726D6C605EE825B015408 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; 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"; }; + 4F7F97EAE3B58B55AE621BDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; 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"; }; + 4F9FDABFD74E9B010F57F03E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; 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"; }; 50151F5E1EA38C0768AD9AC8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; 502503CB0C00102976DF1023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -326,12 +405,16 @@ 50CAEE20832DF292261BF105 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 51626197E6CE921E472AFCA1 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; 51713BEF84B3A58844692401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 518E970A9F97262BE2305E14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 51C3B7D6330C765ADFB672FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 51EBA3F0882A59BF1A835725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; 51FDDE6DD9DC3FB98747A0E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 52057B317B0FC98209D5BEC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; 521847F6ECE733E5CDE3AE09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 525E733E59BB89937210A34E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 52B122DC1886502CCCD16ED2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 52C9D5F354B17D7D408F93AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 535F61AE8D0DB310DDC86701 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; 5375E8C69E76D1570BE36946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 53890D1A9DE3751F3A19C3C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; 541C3E9F5E720BF6D99D94CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -339,33 +422,47 @@ 54B30BCC43C6CBF57A69A654 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; 54B906BD664BBEB8392DC0A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 54E56E35A31C662C67992C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5531660E59F73238C0AC3B7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; 5576ADF82B58BDBBCC75477C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + 557E731474589321CF39AD72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; 55C1F41C94C7C8ED73FC3288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5691EA6BAB5D7357163865D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; + 56AFA4FC9376153B89A6C6AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; + 56B06F326AFEC39E572F5121 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; 56C0EB0C9E4089ACA44588E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; 56C2444E299E030DE7243C7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 56CAE507F1D59D551C26B998 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; 575F4E371F82188902F74A96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; 5784477EFEEAAD041BDF34D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; 5789E773C615D393363707C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57971AB6604198DBB7F151FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 57FE8CC6D36C0376D4065444 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 58301731C17BEF7BF07541AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; 5848A09E20AA6FE9EF1E6898 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 587B66B1DA0C9E97B6BE5815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; 58C9B8F93CF63036CA33A6C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 595AFBBA5B20E99897C1A124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5B0DD4D36CAC46FE1469177B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.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"; }; + 5B6DF353E9728760CA37B1D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; 5BB4A463E17E9C4AD5F43FFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 5BD5301D9DFF3CEA10C32DBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; 5BF81A5EBE596AB3F3E4C222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 5C51BB323073B2AD0320825A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + 5C8CD5FF4701065558BCB28A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 5CD7B0F647F366AC5510A13E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; 5CE4484E6BAB76C9B49E6ADE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 5CF8CAB948FAAB9164F206B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D3D1B4D3EB8BB2C4A37ACB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; 5D998A4BC436D82C3A6E8606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 5E20BD0A199999DBE2E9A497 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 5EEADEEAD5DF68A030DDA0ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 5F43D23FA8A72E66792AE5C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F49099628EF3662332FDB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F6BDD2491C4086940AAE045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -376,20 +473,29 @@ 61596F68A47C4BEA8F9A4D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; 619377E030188B909977D85B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; 61C1B6B3336D774EAE4994F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61DEAC06F8C115B1DE078559 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 61EFB1120837C4B54493568E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; 623C7B6BD0B564F60F1F4012 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; 62935FD655DDDCE70536555F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; 62ABA7CF7D0CE2D7B3F7BFCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 62F44CB38033A31A40F13C6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; 62F8069EE12495D7BDF5BCCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 6364C602FBB1C4D7915DF708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 6367EF1A37C6AC6B710B3273 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + 6421A637B074FCE8F9480F7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; 6436F4F5D143E72BD77EE053 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + 6460FB62A967FC74BA5360E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; 6536E6457A8B77FDCC506401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; 6549876733A874A58F78CE78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; 6555D39D3BE572E611DCA8EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 656CA5CB0EF44C76ACFFDCEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 657EE50642CA91DF03BB49A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; + 65949BED64C75D5B403736DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; 661DA0426C81D826ADA90BAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -397,6 +503,7 @@ 67239C8DF5524A278253F181 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 673396F4BEBFE86BF911DBB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; 6741B65B42E9858C7B580A36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67426C7C75F66912F2067B31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; 67B47838D621A526D8148308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; 6894AE00A49D15E9C4A31355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; 68C292BF84E3387285884015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -418,7 +525,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"; }; @@ -427,26 +533,33 @@ 6D3191834A1567C5C18A13AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 6D36D69499FD940CAD1E7484 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 6D4B64EFB759022FA002D065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D994147A4D0CB06EAB09856 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; 6D9EBBDDFD2AF922A6947057 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; 6DC6E88C0FC0045CD52064F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 6DEF5E5D162E4F32631FE2D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; 6E35055BA3436FC2F9B77365 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; 6EAF92417BE40684D0FAA797 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F0A25914D95D4F547F91C79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F90F93BA224DD2936EA8456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; 6F974A4B1AC400251425C8CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; 6FA9A28DB80D43E87900A1B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + 6FF40DCFB5082EAB53388CCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; 70407DF33563B729D4758A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 7049C408D43D64C1504F6505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; 7063B929C5E98B803E0464EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; 70687CABD6ABBC69E717B73D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 7069BF224A795890367AB809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 70C9E5BB2C3C4F1314DD8F4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 70E6E5ECE171621517003158 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; + 7103A8339D5F5EE20FC46D52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 7109E1D6A2AD7A013453C922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 71159E965AD35ED1496B5866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7156B58188258F7EBE617E15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 718E39433D13021F56FCA2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; 71F494877324567960FC3F84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 7207669F41206DC961E08FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 7246A65F3B8646D764F3A355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 7264370AC60580E5E9B414E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; 72694B9BC870AF124976586F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; 72723038519B5AB5FFB52EB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 72B3FF3E4E9060A4F06F89F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -454,17 +567,23 @@ 73636C4935CD275E66A85104 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 73A2BE77A14CA909541BBC2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.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"; }; + 7545533CDB4A7E1652483FEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; 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"; }; + 759E1FBE4B2677984220174B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; 75A8F56B635DA7158E472382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; 75CD7766A1ACC3BA17C8B73B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 7609867A9F36324EA1C9F228 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + 7619A4CD6A10ABCF4F03F735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; 76372445FC076FB8D26CEEC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 766B95D45D4D17B3E2D3B226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; 7703A0B63AFF2C5FE9587CBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; 7712C8260E9F4A7C2BD9FD63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 773BD1E9176FB073B71705A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -483,55 +602,85 @@ 7987CDDDE250EA56F0B26A0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; 79A01A9B8A17C9419EBC5F73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; 79F7E702E92F8B23B6BCA74E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A31E83C5BEBDE3E0662CD34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; 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"; }; + 7B0E4CA7FCA2DA948115C008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; 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"; }; + 7C40DADCBD16D1384F0BFC34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; 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"; }; + 7CE228763D12DCDBFF31CAD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; 7D15374142A01E2760AC4818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D21460B496E5E03FA58654B = {isa = PBXFileReference; lastKnownFileType = file.obj; name = teapot.obj; path = ../../Source/Resources/teapot.obj; sourceTree = "SOURCE_ROOT"; }; + 7D7135709DC9EFB6B8BAC01B = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; + 7D9D774692FC599B85A5F0CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; 7DDF23FA0DDE4FCFB121CA68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = "SOURCE_ROOT"; }; 7E278ACE0E80F59FBEB3122F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7E5D04471A75DF9057A4D73E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + 7E719D7787CCEC90D6813EB7 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + 7EABFF4F7DDB3634A91AE3B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; + 7ED5D52CA34F13619B219810 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; 7EEFCCCD23C883F6B797834E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + 7FE7A18B1D79257F27AAD75B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; 80465B70BFD2A13EDB18B702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 80648C9ABD2B763398568A0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 80A6B9266A11D6977AD84546 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; 80BE3657BDC9B08AB3570055 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; 80C983055BC197AE9FEF51D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + 8140577BA1F1C43ED50A24DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; 81556F6E103D6843193EA1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 816CA082336A8BC8A9AA61BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; 819B5DAEB3840F04881F7CBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 81A01F0E7F5AD08A0643C2B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; + 82327EBDDBDE6104A0FFE08D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; 82443CD4F42884B9D33A85EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; + 82BDCB9AE232E6FBE0FE2702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; 83619BFC8B92A2B5F17F596C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 840BF2C2A78A25AA039663B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; 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"; }; + 84427259AAA76E2923734B6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.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"; }; 850E016A9EA33CDCF888D7AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 85156525CF0D6DC8F711142C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; 85379D9BB0BA7D60CFF83DC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; 853E685A7CBF56CB4A532768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 856F3C72739BD34C8CA40F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; 8594A236A434383AA96AEB53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; + 85DC28C1ADCC4E2427F60462 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 8684BC420922F40BD629C51C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 87AFF1365CFACD2CB6C9AF1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; 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"; }; 88EB915831B819EC3B7B124E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 8907B4F6D39F7B8748EECD84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + 89548EDACA8417A9F3800F02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 89CC7514E6F2628CE82591BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; 8A011075C19F974A22685EAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A67491E410C9DB6523DABF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; 8B1374A21A81C82233EBC523 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; 8B743E5BA29E435BACFE17BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8B8CEF7A6937C76CA7642C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + 8BA57188E17C4D0AA9A470F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BA590FF6DD42B77C70BA092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 8BA75ABF9156FD3D17B909C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BD7E643486B7C1968E68D51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C4045D24297D10F0EC9348F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C69B0700CBEF4AAD6F41B08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -542,79 +691,91 @@ 8DFA760FAD9756305F9C7515 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; 8E06EBA4362C66A9040A2EC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; 8E0D42B79853ED7FC60F931B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 8E5DB762FF5447085518EB85 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 8F5EC320CBE18D8923C7D3EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F81943FE96DB8DD0ABB9DF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F8A43DB3329BB2DA7F77E12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; 8F9A2F59A71422296C56C8A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 8FA29927B18439A066241F38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8FAA47BE39D087684520C15F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; 8FFF7C1572807209B9A8A08D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 90653718620F806E197441B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 907D08843439A347B3E2A869 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + 9087107B7883E699849BB462 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; }; 91A5A6A217FA091F2ADBE3C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 91AA561AD6E0D0F14AA67FB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; + 92655A59F40624CBDA9194B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 93F8CE256A5B96CA39DB68CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; 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"; }; + 957547B30F0209B706C71F93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; + 9629D21E57F62952DA68FF52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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"; }; + 972D271918F957FB6FCD6CFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 983FBC7E850263512E41D13D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; 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"; }; - 9A9455318FAE348D58C369D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9BE0EDFED0FC2720BB3AE101 = {isa = PBXFileReference; lastKnownFileType = file.glsl; name = FragmentShader.glsl; path = ../../Source/FragmentShader.glsl; sourceTree = "SOURCE_ROOT"; }; - 9BECE88C6AB34861AF408C37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9C56D1AE6B7768F6E27D8F31 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 9D95CB2E713755CD61842774 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; - 9FE8D5E52AC84BCDEE8B414B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - A1C21D6CF6F456E34A0E7FBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - A3C0B621A37595B09825518B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; - C3C776709CFEB52B87A9E260 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 5802E3490BEAFD892C837E2A = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenGLAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - 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"; }; - 7B7B6659C2DD68F2373F9D3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; - 82327EBDDBDE6104A0FFE08D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.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"; }; - 85DC28C1ADCC4E2427F60462 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; - 8B8CEF7A6937C76CA7642C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; - 8F81943FE96DB8DD0ABB9DF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8FAA47BE39D087684520C15F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; - 907D08843439A347B3E2A869 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; - 92655A59F40624CBDA9194B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 94D011BBB3D330AEDAC86D11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; - 972D271918F957FB6FCD6CFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; - 97C71C2DD318EDB304FC1CEB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; 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"; }; + 98D6895004EB081BBABCA15C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; 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"; }; 98F1DD6EE3E63CA046070664 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; 9954A5B8424CE9ABC802AC8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; 9986CD0D1752D063F3DC2652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; 99BF73D0D5B995E84BAB52B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + 9A3209A7E5C33CDC36DC6E80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 9A67CA8503FB1E02090F5FAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A9455318FAE348D58C369D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; 9AD78BC87097481DDC1815B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9AE02E7A1CDCB47D3FCBF9AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; + 9B0FA8040F827C3F233FE171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; 9B9B8DBEBEA5051A602DA6C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9BB0C1DF50B403CBD3CAE03F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; + 9BBBE239896FF94E781B449C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; 9BBC3E0155BC3F36F21F7EBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 9C85A4EDD2B95A25A23DA373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; 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"; }; + 9D95CB2E713755CD61842774 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; 9E3280D945ACF3D3D1EDC0B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; 9E46C8356029EC009F7A1C46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + 9E6559D11202BF5C8E09B857 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; + 9EDE5B5D061D125589F80309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; 9F3DCE572188E0085FCF1956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F7902BD488EEE04E055F018 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; 9F8B21E7C672840ACD02251E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; 9FBCE80E444BA9E69C3F6172 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9FC7CEB3AFCF2C929A3149E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A06B0489395A029A4F04EBF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; 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"; }; + A08204B26124FCFF92383BF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; + A1C21D6CF6F456E34A0E7FBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1FF664E6AC64473C7C923D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; A20DD4F2960264FC20095777 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; A23A20A098747A2449C47047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; A2D465168084C9FFAE312E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + A31292BD2BBF1B7601F2012C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3C0B621A37595B09825518B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; A3EFD0BE919B2F7AD7295F2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; A4E723D11ADD694C4A3D318C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; A4F075DFF243F6BB90CD5950 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5802C3C5B3C3130ACAE5FFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; @@ -624,9 +785,13 @@ A8451C0D5D0549A7D923F2D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; A85BBB0551113A7CD910AA16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; A878B40B811C4B83658F6A60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + A87A02365C95CEA478838D40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; 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"; }; + A900A56A57D410F0A78FE64B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + A91A41860F3F1AA2C762F1CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.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"; }; + A96A21232A57ABCE293F7AEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.cpp"; 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"; }; @@ -638,21 +803,32 @@ 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"; }; + AC734C29160A8EB175F512FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; + ACD53A5C414208FF0583C1C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.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"; }; + AD02148A0B608A3AF26797C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.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"; }; + ADA7F102B4956AE7E8460514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.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"; }; AE86A03508278775CA9F250B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AEA5E43C19B3566D5B2655E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + AEA97943FCC32C96BEBD9433 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; AEBF8C2FCAF972F014D43738 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AEF9214E21ED8FA968C3CDBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; + AF3842A1DE465344A84FDDBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; AF5C2B3C5CF657FA722F9A68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AF6001FA947F3A7DF15CBF8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + AFB6F48AC541B5510EFDB61C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; 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"; }; + AFD230E1151B486A2F25D968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; + B02019532879A1FA380877C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; 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"; }; @@ -663,6 +839,7 @@ 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"; }; + B20F0C9955E38CB55AF09421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.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"; }; @@ -674,15 +851,21 @@ B49E98EF01462277526C417D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B5A8A3579F03D2CCE4894848 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; B607DF0E27752A1B9A863CC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + B632B53930F795E159D0833E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + B796518B8D8D9D93E592FF74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; + B8068B64462B63213CA1B0DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; + B8316B5D31F8E9642F1F94A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; 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"; }; + B97C66BFD02B9196772C5AA5 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; 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"; }; @@ -690,11 +873,16 @@ 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"; }; + BA686EC2CAE48D49F65BC7C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; 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"; }; + BAD4881B21516B73A6630913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; 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"; }; + BBAB6041BCEBFBB8634ED1A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + BBB0244719E5864129F6CBB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + BBB8011E6F8143C6BD52D40D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; 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"; }; @@ -703,8 +891,10 @@ 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"; }; + BD7B6B657BB0F57F6FF831D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; 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"; }; + BDCDD2768F462A09A5C07A4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; 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"; }; @@ -720,12 +910,15 @@ 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"; }; + C2563F798C3ECAE115E33D05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; 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"; }; + C3BD9E5F30CE7D86D6417FF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; 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"; }; @@ -735,25 +928,36 @@ 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"; }; + C580DED56011A4C37900A12D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.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"; }; + C5D3363ECE8E4B23E18AF11B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; 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"; }; + C6D82F9B4DA9A2DC61196711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; 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"; }; + C7437A517A5F583059B9E729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; 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"; }; + C8D55BD43529A213A5859D3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; + C8EC4A3DBB290A68162A50CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; 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"; }; + C933038E0DEC46DC44B6FC37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.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"; }; + CB408541526DB191264C45ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + CC2A6BFEED4D62580AE07E06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.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"; }; @@ -761,9 +965,9 @@ 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"; }; + CE9F4DABBFF59139EED71DE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; 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"; }; CED808C5809FF89D32131CB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CEE5BF72C9D7E467212D8973 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -775,16 +979,23 @@ D17F209C6915C948F90F1349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; D1A2603E46734D31975B7540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; D1C13988EF76674213DF92F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + D231C3491016372DC84343DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + D235C7C78A9ACEEA867ECC55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; D23A9E25612E33C0C6AAA09E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; D23F862EE7BAEDAC24479902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; D24F3C46F1A46422C080A0A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; D258105EC6398A3984FD8DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; D276367530731B2C732C50CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + D27A72D3437DF0ACDF00708E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; D2C557606FD68958DC545A2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + D41D5B61C6164873CABC4DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; + D45F14581BBA9D98130D5E05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.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"; }; + D4BB844DC118FF84DAFC1249 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; 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"; }; @@ -793,15 +1004,17 @@ D67D8599E2F89D673EA36D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + D7252281E56F2AB6FF3BEA02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; 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"; }; + D880F5F4BFED2BFE98AA4A66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; 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"; }; + D98EAEFAD3E46F55A5259404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; 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"; }; D9E4C045A178EA678116D439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; D9F41579025D12F2CCF079C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -809,16 +1022,20 @@ DA12229986D485B2E2DE059B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + DB0A75BD6ED80E833C9FDA57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.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"; }; + DB49E4B4F4CCF9F8CBFC33BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + DBA8673C777EEC296D31987D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; + DBB5A7638D1846ACFF4D4671 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; 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"; }; DC254EFF0D95657D703FA8F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; DC3E9EDCD85270B2E9D33BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; DC9D4AE01FB7CF8D2877B198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; DCB52EFF8A9F5D9F6CF3D3FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; - DD387A0509039658A5DC2AE5 = {isa = PBXFileReference; lastKnownFileType = file.glsl; name = VertexShader.glsl; path = ../../Source/VertexShader.glsl; sourceTree = "SOURCE_ROOT"; }; DD542B6F61E6C27A0D5A5F2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + DDE0FBFAC8D2239A971F3C94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; DDF7D7828813BEC0173FD43A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; DE00116B59A20E5B69367B70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; DE1A6A1C0CCC94A3E3A887E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; @@ -828,6 +1045,10 @@ DF2B90185FBA2C86DE767F46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; DF42C1B300CA66580D0AED1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; DF53D8FD5DE7B15694D26E91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + DFB71B5EFE2190D2240D8AEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; + DFD9E5EC7D4557840FBEF267 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; + DFF0AA6FF4FCF9FF9E99F18F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; + E040F7DBE91A5635FAAD2804 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; E041ABD2C503FCB7EB7E49F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; E046CC53401A9551BDEA2D83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; E0544ED1BC8832C4D1296FAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; @@ -835,6 +1056,8 @@ E0E847621EEAEEFB21B87986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; E0FF460CC2AACA09D6C7412E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; E10DD1F7E7994B77BFF7C8AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + E132D3722E1C772377F707FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; + E189230FCE765186CEE9094D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; E22C09309C11DAE1AA0AA148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; E273A9AEACF13BC595F82289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; E2B10A7DBF2B35A4C3A1DE21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -842,9 +1065,11 @@ E2EEB444EC638B0C72A8A7E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; E31FDA8F23FEAB726361C8DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; E3381BC529641894F95F9AD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E359452FFDC17795732E1089 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; E388DABC27B6A417CE9B7F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; E441F10A3241806474779D5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; E45F076842C926BA5400B70B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + E45F616D699555C4C4010C9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; E488221DF5AFED73C4518AE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; E49C04EACE55BED74E156911 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; E4D98F92A6646FC7CE4FFA1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -855,10 +1080,14 @@ E62A008F49C8FB4ECEB6CC37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; E66B64B5619AFCB389836C06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; E6AB1D98C43E9017F546D707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + E70760977A93F8F40054E9DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; E7D88F20FB6FEA84BFEC67D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; E7EF18BE4F22063894C6FF61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + E7F498516FFF4B206B03B5E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; E81332E1BCBF978D86F92DFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + E821ED84103F358C51F3169C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; E83074E632966778B10AF088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; + E8830FF3D8B9FD07004B5011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; E8ED8CA85BE4E1BF7C5ADF53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; E90FDEEB9C536E5E1124B00D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; E9164448EE60F4DB5F2A14D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -869,16 +1098,21 @@ EA77ADEA8100DFE7C2E0ABB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; EA8B6054D2E6C204214422CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; EAE65B593000E1AFCA63AEE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + EB799FA8B4968835C38E5A3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; EBABE678E857A993B3753B83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; ECD6C0DDB8587984580C96B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; ECE3837512B3E620155A8432 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + ED1B2CA601039E69B10B22DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; ED4FD41F6F5825084831A29C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + ED7210F3B7FA39BD76D85CE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; + ED94BCB2CB0EE47C45B111E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + ED961DB784EA4FAABF9F0205 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; ED9CF9B1476F08D13A1E636E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + EEF44DCF39DA630C5E98F36C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; 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"; }; EF70C0EA201D702D22D06396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -889,7 +1123,10 @@ 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"; }; + F0EED6AEA291456A0D806594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.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"; }; + F11844235D2F8B514D0247FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; 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"; }; @@ -901,18 +1138,23 @@ F356FC782C13333907F2EE17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; F3813BA8E8B9F775D0A049FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F3868CB33CA2805C31829647 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + F3E243F3B379E587B2724BFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; F4B9C009E75153F873F4AA25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + F4C524F7ADD04FB0990B4277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + F6ACAD14D5F5618B6D0F3829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + F6E3CE7177F5638F762B1E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + F71108ABBBBFDDF2D39FF206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; 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"; }; + F79FB831BF3BE4EE70CC80EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; + F7A2AB40037C9C702654CDCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; 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"; }; @@ -924,11 +1166,13 @@ 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"; }; FAF22574F9AFF74820925F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; FB748B4E5E7E7CB38BBF07AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB8D2DE920C6E56C1421F8A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; 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"; }; @@ -941,6 +1185,7 @@ FC50C6150E60281125E69115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; FC5306AC9A046F7DF6CC09FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; FC865A2B46F423E11725FFBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + FCAB8A2CA70073F9939DFA45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; FCF5891DAC2887A6FE3EEA9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; FD04FE1CA7A8937A90864D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; FD1A5CF76641E1CE7F29B44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -952,9 +1197,7 @@ FDFE40162E4F5CCAA833061C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; FE42628E4890B2FC1D85E574 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; FEA733154FFDC895C4E40DDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; - FEADE63D967146EB972AA6A4 = {isa = PBXGroup; children = ( - 9BE0EDFED0FC2720BB3AE101, - DD387A0509039658A5DC2AE5, ); name = Shaders; sourceTree = ""; }; + FF997B115840B490E171C909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; A4D3B14A21B5F8202D2A49AE = {isa = PBXGroup; children = ( 7D21460B496E5E03FA58654B, ); name = Resources; sourceTree = ""; }; 3FD01CA071C629C30000EC75 = {isa = PBXGroup; children = ( @@ -963,15 +1206,16 @@ 82443CD4F42884B9D33A85EA, 69AE98AB9502B4B4E7EBCD60, ); name = Source; sourceTree = ""; }; 853E25E8F0EA391EE8D4A3B8 = {isa = PBXGroup; children = ( - FEADE63D967146EB972AA6A4, 3FD01CA071C629C30000EC75, ); name = OpenGLAppExample; sourceTree = ""; }; - CA34E66B71A70E489DCD9028 = {isa = PBXGroup; children = ( + BD8BD7AD59B318355DEFDCD5 = {isa = PBXGroup; children = ( 11614D602849B43F5ED92934, 6B5D185CB49DC6746B357183, 47E94C2476E8A7171A484CF0, 8C69B0700CBEF4AAD6F41B08, E10DD1F7E7994B77BFF7C8AF, ); name = buffers; sourceTree = ""; }; - 3CE3049318B2ED1269FB50BF = {isa = PBXGroup; children = ( + A4DDA389CAB937B3AD97CC0D = {isa = PBXGroup; children = ( + 4C8AE5930518A68489A1A62C, + A5CC5E8F46D0A61F7FD2E01A, 53890D1A9DE3751F3A19C3C3, D0EC667AE7E12BF7A050613D, C82D3226C2974C9A7A567173, @@ -981,7 +1225,7 @@ D8FDF81708D362F909F5421B, 5D3D1B4D3EB8BB2C4A37ACB8, 28ECC3EF6106E7DB0E4F256C, ); name = effects; sourceTree = ""; }; - 65B6583ACD9C2013563AA59A = {isa = PBXGroup; children = ( + 43B8C16698232C1B1DB5653E = {isa = PBXGroup; children = ( 0917DAAA83C16F4D430A4961, 04F64700F41A639DA16732BF, FD04FE1CA7A8937A90864D6F, @@ -994,7 +1238,7 @@ 7A9C6994055A82AFC438626A, 35F6D65077550D282646AC8A, 85DC28C1ADCC4E2427F60462, ); name = midi; sourceTree = ""; }; - A0AD69242AF85A596CBC183E = {isa = PBXGroup; children = ( + 98F07D9730A5E10F59C58F18 = {isa = PBXGroup; children = ( 103DC7AD553B89B350BDB4BF, 98F1DD6EE3E63CA046070664, 6D4B64EFB759022FA002D065, @@ -1030,19 +1274,25 @@ 2CE3A9187CAA637AAF93C273, B1440ED412E2277340903AB0, 7B1C3855706B615C704556DD, ); name = sources; sourceTree = ""; }; - EFE15661AA2B9FA0F29792FB = {isa = PBXGroup; children = ( + 1C2C4F09F24C5740D9F1EC9E = {isa = PBXGroup; children = ( 06FB32F5B510DEC2A6D2FBCD, 24E54A22403128BA82D02B09, ); name = synthesisers; sourceTree = ""; }; 333F7FC9E4E695D243B51D53 = {isa = PBXGroup; children = ( - CA34E66B71A70E489DCD9028, - 3CE3049318B2ED1269FB50BF, - 65B6583ACD9C2013563AA59A, - A0AD69242AF85A596CBC183E, + BD8BD7AD59B318355DEFDCD5, + A4DDA389CAB937B3AD97CC0D, + 43B8C16698232C1B1DB5653E, + 98F07D9730A5E10F59C58F18, 2336D69CE0AC8B24294664D3, - EFE15661AA2B9FA0F29792FB, - F6086AE27F4DEB9C75A8FFB5, + 1C2C4F09F24C5740D9F1EC9E, + 518E970A9F97262BE2305E14, + 66634B351B20F6B1F16ED9D2, + C62300B9478B60BCBE254256, 66634B351B20F6B1F16ED9D2, ); name = "juce_audio_basics"; sourceTree = ""; }; - 5C2DC77520F6E8AB1413621E = {isa = PBXGroup; children = ( + 2BC4B91BB4B41CD17CB88DD1 = {isa = PBXGroup; children = ( + 7703A0B63AFF2C5FE9587CBF, + 2E1213ABCA6E339D156C6825, + 619377E030188B909977D85B, ); name = "audio_cd"; sourceTree = ""; }; + E53BD1793DF9DAA4B246EB3E = {isa = PBXGroup; children = ( D276367530731B2C732C50CB, A07D0C5C60BE446FD41ADE51, 70687CABD6ABBC69E717B73D, @@ -1050,22 +1300,13 @@ 9A67CA8503FB1E02090F5FAD, CE5CDD52C447D5DCC7DE1259, D4CA818D9DA2269EBCE376DE, ); name = "audio_io"; sourceTree = ""; }; - ED484B85EA0EC12853FAC2A6 = {isa = PBXGroup; children = ( + 2A1B0A91633F41C14123DB41 = {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 = ( + 99CCC399FF2CA7D69394B0D0 = {isa = PBXGroup; children = ( 59B2E8822B445FDD2BC590B2, ED4FD41F6F5825084831A29C, 1542F586268CE982EE1C9607, @@ -1085,31 +1326,169 @@ DD542B6F61E6C27A0D5A5F2A, 2951B1B0EE3CE714426016F1, E488221DF5AFED73C4518AE7, ); name = native; sourceTree = ""; }; + 1FDC05B7D979479AC8DACA69 = {isa = PBXGroup; children = ( + CD27B64646C58118052C3459, + 51C3B7D6330C765ADFB672FF, + AABFFB2D2D9F9BB39C95BA25, + 45693266645F0549AD1FEA88, ); name = sources; sourceTree = ""; }; EFBCC9AA9132896CF439C9BD = {isa = PBXGroup; children = ( - 5C2DC77520F6E8AB1413621E, - ED484B85EA0EC12853FAC2A6, - 9116D006293FCD1E0A12EE16, - 729710EC0419FCEE902079EF, - 6BB4269ECC3477AD8A7A32A3, - EEE157CFCD553CC2F4D15CBB, + 2BC4B91BB4B41CD17CB88DD1, + E53BD1793DF9DAA4B246EB3E, + 2A1B0A91633F41C14123DB41, + 99CCC399FF2CA7D69394B0D0, + 1FDC05B7D979479AC8DACA69, + F3E243F3B379E587B2724BFB, + EBABE678E857A993B3753B83, + D4A815675983D742D87E37A5, 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 = ( + D61AA84BE89168AD7176E593 = {isa = PBXGroup; children = ( + 3D8DF951B1B329BE4D5A2EFB, + 086CE8B7F8175DAC1B5DD18C, + 0BB6230BB8EFC6D0CF7BFADD, + 1C5E7A9B230FE6B962802C53, + 2C3B9B1593F6CB6BB6B4F8F8, + A91A41860F3F1AA2C762F1CF, + BBB0244719E5864129F6CBB3, + AD02148A0B608A3AF26797C6, + 7FE7A18B1D79257F27AAD75B, + ED961DB784EA4FAABF9F0205, + 7545533CDB4A7E1652483FEC, + 6FF40DCFB5082EAB53388CCD, + 1D7CF8165446AE087D3E91A4, + 5EEADEEAD5DF68A030DDA0ED, + 05C6F060011C5DD37F622202, + 4652307490EBE8A237A90230, ); name = private; sourceTree = ""; }; + 68D4B37FD3362C773EC86D9B = {isa = PBXGroup; children = ( + 7D9D774692FC599B85A5F0CB, + A1FF664E6AC64473C7C923D8, + ADA7F102B4956AE7E8460514, ); name = protected; sourceTree = ""; }; + 082F0233658F216D0B532C2C = {isa = PBXGroup; children = ( + D61AA84BE89168AD7176E593, + 68D4B37FD3362C773EC86D9B, ); name = include; sourceTree = ""; }; + 6D448389012864FA69801015 = {isa = PBXGroup; children = ( + 082F0233658F216D0B532C2C, + C6D82F9B4DA9A2DC61196711, + 91AA561AD6E0D0F14AA67FB2, + 9EDE5B5D061D125589F80309, + E7F498516FFF4B206B03B5E2, + 2A561EA63E4D64CB648F6790, + 6D994147A4D0CB06EAB09856, + 65949BED64C75D5B403736DC, + DFB71B5EFE2190D2240D8AEC, + 957547B30F0209B706C71F93, + 7264370AC60580E5E9B414E1, + 145168CF47F32284012AD9AF, + 0DDE192E5A26D3C00B0F7352, + 0164AA0AC217A99CDA13191B, + 23EB172E073859853F1426E0, + 87AFF1365CFACD2CB6C9AF1A, ); name = libFLAC; sourceTree = ""; }; + 5A3C578EFF9C2871225D1853 = {isa = PBXGroup; children = ( + 6D448389012864FA69801015, + 2EDC3825746112A326F6E5D5, + E189230FCE765186CEE9094D, + 196F16578D04B3D1B1E1D11C, + B8068B64462B63213CA1B0DE, + F0EED6AEA291456A0D806594, + 5B0DD4D36CAC46FE1469177B, + 42359EA0046C4A2BB6A30AC0, + D4BB844DC118FF84DAFC1249, + 9BBBE239896FF94E781B449C, + 7103A8339D5F5EE20FC46D52, + 9087107B7883E699849BB462, + 89548EDACA8417A9F3800F02, + 41459B47F41FB1C145E533FD, + 8907B4F6D39F7B8748EECD84, ); name = flac; sourceTree = ""; }; + 4AE680467A6B4D2E97094820 = {isa = PBXGroup; children = ( + 20FD3BF2E58B0BF9B0C57939, + 8F8A43DB3329BB2DA7F77E12, ); name = coupled; sourceTree = ""; }; + 24DE66750844D857C996FB74 = {isa = PBXGroup; children = ( + 0F624DC7F16BF3CE9E0BF46E, ); name = floor; sourceTree = ""; }; + D2ECADEFD8B377861947BDF5 = {isa = PBXGroup; children = ( + B632B53930F795E159D0833E, ); name = uncoupled; sourceTree = ""; }; + 81A87AF2710CCC4288BDA02D = {isa = PBXGroup; children = ( + 4AE680467A6B4D2E97094820, + 24DE66750844D857C996FB74, + D2ECADEFD8B377861947BDF5, ); name = books; sourceTree = ""; }; + 075404B41EFF8B480FD9E88B = {isa = PBXGroup; children = ( + 9BB0C1DF50B403CBD3CAE03F, + 0F40C06216C18EDF0C56D938, + B796518B8D8D9D93E592FF74, + 2889D4712628B6D3676F2C34, + 535F61AE8D0DB310DDC86701, + 06954ECFC21655606758855C, + 4B26823296057130130EDE43, + BA686EC2CAE48D49F65BC7C5, + 103839BBB4C787E90459481F, + 9B0FA8040F827C3F233FE171, + FCAB8A2CA70073F9939DFA45, + 38DCDFC05979954E8478EF4B, + 3399F315085A85ACDF24D20A, + BAD4881B21516B73A6630913, + AEA97943FCC32C96BEBD9433, + 67426C7C75F66912F2067B31, + 85156525CF0D6DC8F711142C, + 5691EA6BAB5D7357163865D9, + C3BD9E5F30CE7D86D6417FF0, ); name = modes; sourceTree = ""; }; + E2A009E88E94C23A1D677454 = {isa = PBXGroup; children = ( + 81A87AF2710CCC4288BDA02D, + 075404B41EFF8B480FD9E88B, + 62F44CB38033A31A40F13C6A, + D7252281E56F2AB6FF3BEA02, + 7A31E83C5BEBDE3E0662CD34, + 9AE02E7A1CDCB47D3FCBF9AF, + CE9F4DABBFF59139EED71DE4, + B02019532879A1FA380877C7, + 2E9FF32167281D8C038A2E95, + B20F0C9955E38CB55AF09421, + ED1B2CA601039E69B10B22DE, + D98EAEFAD3E46F55A5259404, + 489A04E7768D16A2706D2D6F, + F7A2AB40037C9C702654CDCE, + E132D3722E1C772377F707FE, + 6421A637B074FCE8F9480F7E, + F71108ABBBBFDDF2D39FF206, + 9A3209A7E5C33CDC36DC6E80, + 451F57EB04767F4C5F2E21C6, + C5D3363ECE8E4B23E18AF11B, + 57971AB6604198DBB7F151FC, + 51EBA3F0882A59BF1A835725, + 31958F6C1EC769F17A513596, + AF3842A1DE465344A84FDDBF, + C933038E0DEC46DC44B6FC37, + ED7210F3B7FA39BD76D85CE6, + E821ED84103F358C51F3169C, + 11881E7CC7D301CFCD56D450, + DB0A75BD6ED80E833C9FDA57, + CB408541526DB191264C45ED, + 0245BB5F5FD9A86D59B1E9DD, + 3402A83DC19BC6040902E01F, + 029B3B1336D8028EEF1AA5EC, + 2E707F1CF18BFA0580429FA4, + 4A5D18F46829A0FC5C5E1CFE, + DBA8673C777EEC296D31987D, + C8EC4A3DBB290A68162A50CF, + EEF44DCF39DA630C5E98F36C, + 4F1712171383DAF56D105F1E, + 9E6559D11202BF5C8E09B857, + F11844235D2F8B514D0247FB, + 6460FB62A967FC74BA5360E5, + 44378FAA22C086528A655CCA, ); name = lib; sourceTree = ""; }; + 6F96E4212350F13356E78766 = {isa = PBXGroup; children = ( + E2A009E88E94C23A1D677454, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + DFBBE1DEC6C9BABC4CA1F1EA = {isa = PBXGroup; children = ( + 6F96E4212350F13356E78766, + A900A56A57D410F0A78FE64B, + FF997B115840B490E171C909, + 84427259AAA76E2923734B6C, + 587B66B1DA0C9E97B6BE5815, + B97C66BFD02B9196772C5AA5, + 9F7902BD488EEE04E055F018, + 4F9FDABFD74E9B010F57F03E, + DFF0AA6FF4FCF9FF9E99F18F, + CC2A6BFEED4D62580AE07E06, ); name = oggvorbis; sourceTree = ""; }; + D571FF6C422F6398A0666572 = {isa = PBXGroup; children = ( + 5A3C578EFF9C2871225D1853, + DFBBE1DEC6C9BABC4CA1F1EA, 5F49099628EF3662332FDB0D, AEBF8C2FCAF972F014D43738, 73636C4935CD275E66A85104, @@ -1128,16 +1507,51 @@ 1742A7C8BB2AA11AE93DA43D, 16D38AE110B44FE0D5E26F9D, C8CEDA86517FE447F3A3DCF2, ); name = codecs; sourceTree = ""; }; - CD94C234A6AF95D63133D736 = {isa = PBXGroup; children = ( + 7C9734F968F3D18760C71D27 = {isa = PBXGroup; children = ( + B5A8A3579F03D2CCE4894848, + 2DBFFAB8701557418A4C7CA2, + EA77ADEA8100DFE7C2E0ABB6, + A3C0B621A37595B09825518B, + A1C21D6CF6F456E34A0E7FBE, + 819B5DAEB3840F04881F7CBD, + 983FBC7E850263512E41D13D, + 3E157C0C9F33470C32DE6008, + 31416E7F36800B9ACAEA176F, + D8EB2E5BDF6806B37482DE70, + BC35263317084BA60132B43D, + 509FC03682CA45E87F7E0A67, + 13FF137ABBAC726B7785FE0B, + 108D2A323EA2D7B31289AFFE, + 2822F9B316AEF7797E0F04B4, ); name = format; sourceTree = ""; }; + 6E99BEC3B1AE47C5EF3A29BF = {isa = PBXGroup; children = ( E22C09309C11DAE1AA0AA148, 4E4A47F8BEEF90A57C0C98C5, ); name = sampler; sourceTree = ""; }; 8BB98CFCE02C8F888DEAD934 = {isa = PBXGroup; children = ( - D285EE2EABEF952CC46877BA, - F0E2F377D5961CE0CF2EEEC1, - CD94C234A6AF95D63133D736, - 3594634D87002997155671C1, + D571FF6C422F6398A0666572, + 7C9734F968F3D18760C71D27, + 6E99BEC3B1AE47C5EF3A29BF, + 3A360AD08206A8A9492E604C, + 0737A415932C93579574CE2D, + FBDBBE33AEF062A1457DAA42, 0737A415932C93579574CE2D, ); name = "juce_audio_formats"; sourceTree = ""; }; - D7A7AC6EED05D3EFB23E0FBD = {isa = PBXGroup; children = ( + 006D02511CFE26C2F9C2FB0E = {isa = PBXGroup; children = ( + 9FE8D5E52AC84BCDEE8B414B, + 266A60D0C3095B8F7F16751E, + 1A366C1E8FF34F708C0AF994, + 20F2CFC88281301E30E08682, ); name = format; sourceTree = ""; }; + 1EF68EEF952C0E97F8366154 = {isa = PBXGroup; children = ( + 23EA0178C7150CBA80E79215, + 1CC05551F14FFC0161D8E12A, + 966F24941F855EA74A2A8914, + EEBA2A14B5473C1F19BF3D3E, + C9CD8A1AB4DAA664557DEBDC, + B7612EA3B34C6AC48079A447, + 58C9B8F93CF63036CA33A6C3, + AD0DBF0531130EAD4DF2A8FA, + 8E0D42B79853ED7FC60F931B, + D8F75466ADD0287144087C5B, + 794DEE7E5CC51940507F676F, ); name = "format_types"; sourceTree = ""; }; + 9D1668FDF155A70D5F26AA72 = {isa = PBXGroup; children = ( 09B659F4A61EA3BDC6521FEC, EF7A3AF54294E08EB489D9AF, 52057B317B0FC98209D5BEC9, @@ -1154,24 +1568,7 @@ 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 = ( + F3B6A6258B3BDBEC1CD06FA1 = {isa = PBXGroup; children = ( 4ADEE86E1B443E58DA6A90FC, E388DABC27B6A417CE9B7F7B, 6D9EBBDDFD2AF922A6947057, @@ -1188,64 +1585,16 @@ 8684BC420922F40BD629C51C, 49EE14EEEF6EADB9F20306E4, ); name = utilities; sourceTree = ""; }; B0A8A78F56D39E5C52AB1C76 = {isa = PBXGroup; children = ( - D7A7AC6EED05D3EFB23E0FBD, - 3D87BE7DE866701CC5B6C485, - 98BF95789FAFC50466F1A1DC, - D943062B41CDE85FA2B03472, + 006D02511CFE26C2F9C2FB0E, + 1EF68EEF952C0E97F8366154, + 9D1668FDF155A70D5F26AA72, + F3B6A6258B3BDBEC1CD06FA1, 1B61782F94F534A6144C3496, - 9C56D1AE6B7768F6E27D8F31, + 5531660E59F73238C0AC3B7F, + F7E246B8F8600787C3F10552, + BA895F5D0FC2F40DA0566469, 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, ); 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 = ( + DB5548CB1399CBE32EC769D2 = {isa = PBXGroup; children = ( E5F97C758712010CF0E6D1B5, 160486C90F388089629BA392, FC865A2B46F423E11725FFBC, @@ -1267,37 +1616,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 = ( + 3040DE7BE1344C02605D3D87 = {isa = PBXGroup; children = ( 23E996355EF7DFDCECA97B64, DE3832516FB6969C0E3210D4, 55C1F41C94C7C8ED73FC3288, @@ -1315,78 +1634,58 @@ 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 = ( + CA6AAD37124AF9D4F0E765FF = {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 = ( - D74B9C3F462333A72B889773, - D23F862EE7BAEDAC24479902, - F937ACD8AA15A27F13F85A88, - 6364C602FBB1C4D7915DF708, - 6B5BE388D982E05CD2C7BE10, ); name = misc; sourceTree = ""; }; - 791BA85C5C83D6BFBBF82631 = {isa = PBXGroup; children = ( - 57FE8CC6D36C0376D4065444, - 19B1556541E4426450C8397C, - 274FB7736A16D65B40E1EA71, - 0CD440EC6D9EF66E117E3EBD, - 2C4E26E2F6F3B5522CA9993E, - 274546C14A985F7D454E16B7, + 2A85E03BFC5AE3C2C1BA89F4 = {isa = PBXGroup; children = ( + 791D605377E089529EA264D0, + 5784477EFEEAAD041BDF34D4, + 3DCD8AA2FF25FBE6919E8F64, + 0F7BCDE5E324E86EEA86BA7A, ); name = logging; sourceTree = ""; }; + 89E85000B77A30615EB954C5 = {isa = PBXGroup; children = ( + FB748B4E5E7E7CB38BBF07AD, + C33DDF76E058D3E11E61DE63, + 7BAEC8D30E310460FB3FC406, + 3E3D664A12153D29FC1D42ED, + 05F871A5DA3290898E2EBFBE, + 5D998A4BC436D82C3A6E8606, + 41F9BAD0BC589CC46CFEF495, + 0F0458EF50C559CFF42DDC67, + C0AC297D17FA68BBAB417A64, + 61EFB1120837C4B54493568E, ); name = maths; sourceTree = ""; }; + 124679F9E104D8D7A97BB318 = {isa = PBXGroup; children = ( + F2DFFAA96667B5897702E4B6, + 5989B7979A4446D163FD7E13, + DEE9366528ACF7F2CC0A9F73, + FD6A6D3E26D069707DD51652, + 3E85ACEDFE88D01251E25E24, + BEFB2034FC381E2DD019E372, + 4660BCF2E3BB5D499FA4A5EF, + BE4CF2165544FB2D720E1DD6, + 671B91E2FBEFF3E1A411B28A, + C66D4CDC39A565833178EB0D, + 773BD1E9176FB073B71705A0, + DA67F5A5693214A2189039D4, + 1DC4AC19C53D307B6007D02F, + C7BABEEA061F989A0A74F708, ); name = memory; sourceTree = ""; }; + E246EEB9ED6600870A80C1E8 = {isa = PBXGroup; children = ( + D74B9C3F462333A72B889773, + D23F862EE7BAEDAC24479902, + 4EDEB6768212BFBBDFC1CEFF, + 2DD71C2E25546E180B21DF6D, + F937ACD8AA15A27F13F85A88, + 6364C602FBB1C4D7915DF708, + 6B5BE388D982E05CD2C7BE10, ); name = misc; sourceTree = ""; }; + 2615D69E87558E6AC181F22D = {isa = PBXGroup; children = ( + 57FE8CC6D36C0376D4065444, + 19B1556541E4426450C8397C, + 274FB7736A16D65B40E1EA71, + 0CD440EC6D9EF66E117E3EBD, + D33BA771F1FA8F73233004EA, + 2C4E26E2F6F3B5522CA9993E, + 274546C14A985F7D454E16B7, 783C910D9B34E33F4C7D270F, DDF7D7828813BEC0173FD43A, 72E1B34915000641B7AD80EF, @@ -1409,25 +1708,155 @@ 32940D3F55D43FA834DAD545, CEE5BF72C9D7E467212D8973, 332346809620F9AFA7CF3D59, ); name = native; sourceTree = ""; }; + 765585A9F28CCEEE510CC036 = {isa = PBXGroup; children = ( + E2B33608E3097EE1E7801707, + 82327EBDDBDE6104A0FFE08D, + 7B7B6659C2DD68F2373F9D3C, + 70C9E5BB2C3C4F1314DD8F4B, + 434AB1A1510034290ED3FBA8, + 3ECBCBB5D76AD9DDE65BD81A, + E81332E1BCBF978D86F92DFE, + 7A76BF61E569CCC96B9E16DE, + F1EB95EC0156CE6D16280A45, + 2517140ED8C0697A51CF87AA, ); name = network; sourceTree = ""; }; + 641D66477D3BB6B1EE58A930 = {isa = PBXGroup; children = ( + 3F20765E456B1B8FF59C2461, + 5BB4A463E17E9C4AD5F43FFE, + DF2B90185FBA2C86DE767F46, + 417D4A3533F8C72814441F51, + 972D271918F957FB6FCD6CFB, + BD69D8ABDB6741F717E0DD1C, + 2D23BD941B1F4B65E5A2C2F3, + E2EEB444EC638B0C72A8A7E6, + D99465F417B8D56C2C9A212D, + C7F47C1BEDD7EE514BA40C27, + 5375E8C69E76D1570BE36946, + F8E83B5544E2379CB0B323D8, + 3AD3CC5787E119E3A1F6A55F, + F05511231DB8D8615D4A336C, + 34CBE9CCD9B23B1405C76D9C, ); name = streams; sourceTree = ""; }; + FC3DE4C56EB96FEE610ABB62 = {isa = PBXGroup; children = ( + 2A274CF384892F3968889E0C, + F2C08F60BC16ABA3BE1F3A36, + 509031D02C057DCD1F713B6B, + 83C4DBF3382367051A65FF4D, + D37936ED5B5A415DF1F5F2C2, + F67FF8B4FA78D4E285AC0242, ); name = system; sourceTree = ""; }; + 001644752477FB76E8633615 = {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 = ""; }; + F2CCAAD7622C9021E9236D02 = {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 = ""; }; + FD072C846A565A35098705E9 = {isa = PBXGroup; children = ( + 8FA29927B18439A066241F38, + BB4B7332B8B456297344608E, + A5A883D3DAD1D2BF2F044379, + 7609867A9F36324EA1C9F228, + 56CAE507F1D59D551C26B998, + 5C51BB323073B2AD0320825A, ); name = time; sourceTree = ""; }; + D3FBC04503A20FE0AE4F9467 = {isa = PBXGroup; children = ( + 6549876733A874A58F78CE78, + 20A48C39E51031BF57458A55, ); name = "unit_tests"; sourceTree = ""; }; + E83B4F6BC77472F08F89343E = {isa = PBXGroup; children = ( + E5D5588D0F985DB2D5A8BAF5, + BDB1FA875F2C8263E3D2650A, + C50CE0A0485507647C78F30E, + 5CD7B0F647F366AC5510A13E, ); name = xml; sourceTree = ""; }; + 9F61E2438365BDA95B34B72E = {isa = PBXGroup; children = ( + FB8D2DE920C6E56C1421F8A2, + 595AFBBA5B20E99897C1A124, + 7ED5D52CA34F13619B219810, + 126EBEB3A314786B9D332687, + 6F90F93BA224DD2936EA8456, + 56B06F326AFEC39E572F5121, + E8830FF3D8B9FD07004B5011, + 9629D21E57F62952DA68FF52, + 1F8ED827C6DF9E92BB82E05F, + BBAB6041BCEBFBB8634ED1A1, + A87A02365C95CEA478838D40, + 73A2BE77A14CA909541BBC2A, + 766B95D45D4D17B3E2D3B226, + 0E471CA7FF18C5DB1A134615, + 9C85A4EDD2B95A25A23DA373, + 840BF2C2A78A25AA039663B9, + 557E731474589321CF39AD72, + 1F5D714D0B69DB7F00C1F0D3, + C8D55BD43529A213A5859D3D, + 3F4CA675B8C4B322D6D22A93, + 5B6DF353E9728760CA37B1D8, + ACD53A5C414208FF0583C1C8, ); name = zlib; sourceTree = ""; }; + 612BAC64EF88A7A18DF27955 = {isa = PBXGroup; children = ( + 9F61E2438365BDA95B34B72E, + 0F7EB01A494A7D2D347B9167, + 1E6168E98312F552A0C57E54, + FBFB17CDB832B533BEF3BFAB, + C02F8C844FAD835F09408406, + 32D11E8A57FD1B5250A5E493, + 396986DB8689B7C6909777E3, ); name = zip; sourceTree = ""; }; 6D357C7BC335FFE2B3877318 = {isa = PBXGroup; children = ( - 9DB85B0F2371EE26F3E89D82, - C9A88DFF6E95D969C2A09F24, - EDEB768592E2E04E19CBBB39, - 1EB689C939940E8ABE1AD59B, - 312A62049C445C01FDD661BD, - 447896868A39D1BBF6C215C4, - B2800371CE1A826ABDD312A5, - 22AF4BABA7E4362DABCA3E9D, - 6B04E6A30689BE379804BC1C, - 1D0C55594A9BAF09CB69ABA6, - 810ABDB24E2FE53C90BFDDFA, - 5A97C8FA90181188140B83A0, - 96DA2309744F7B1844D7EADE, - EAFC9A1D80CBC941C7724431, - 2C36774A2938F4DE66EA7B1F, - CCC10C50368A3362DAC1E895, - 791BA85C5C83D6BFBBF82631, - D8C269D8BFE34CF33A2B243C, + DB5548CB1399CBE32EC769D2, + 3040DE7BE1344C02605D3D87, + CA6AAD37124AF9D4F0E765FF, + 2A85E03BFC5AE3C2C1BA89F4, + 89E85000B77A30615EB954C5, + 124679F9E104D8D7A97BB318, + E246EEB9ED6600870A80C1E8, + 2615D69E87558E6AC181F22D, + 765585A9F28CCEEE510CC036, + 641D66477D3BB6B1EE58A930, + FC3DE4C56EB96FEE610ABB62, + 001644752477FB76E8633615, + F2CCAAD7622C9021E9236D02, + FD072C846A565A35098705E9, + D3FBC04503A20FE0AE4F9467, + E83B4F6BC77472F08F89343E, + 612BAC64EF88A7A18DF27955, + C7437A517A5F583059B9E729, + D476B9FCEF30511BC736C744, + 3ED09149246BD2CC3D114FB1, D476B9FCEF30511BC736C744, ); name = "juce_core"; sourceTree = ""; }; C65F5142919A93D5CB350F76 = {isa = PBXGroup; children = ( 198B97A4FB9B21A3357160C0, @@ -1436,7 +1865,7 @@ 59C461E6BF35CEC17FB2C9DC, E83074E632966778B10AF088, 14BAD66A370FA342144C7BFC, ); name = encryption; sourceTree = ""; }; - 37082FEFC588B71DD2E9F80C = {isa = PBXGroup; children = ( + 9F6A00EFD1F1B50AC5623B6E = {isa = PBXGroup; children = ( 56C0EB0C9E4089ACA44588E6, 4CAE848C3F30163816E921DC, 83ED74D05C2699811929138C, @@ -1445,51 +1874,38 @@ 270682BD87D4E3E0C264D05E, ); name = hashing; sourceTree = ""; }; 6BC6B2DDDAEB6F4F64D1A010 = {isa = PBXGroup; children = ( C65F5142919A93D5CB350F76, - 37082FEFC588B71DD2E9F80C, - 2A765F108608FDD8B2089BD1, + 9F6A00EFD1F1B50AC5623B6E, + 8BA75ABF9156FD3D17B909C8, + 8B1374A21A81C82233EBC523, + 7BE9659292437455B77D53F1, 8B1374A21A81C82233EBC523, ); name = "juce_cryptography"; sourceTree = ""; }; - A6D444FE8D85CED1C171C0EC = {isa = PBXGroup; children = ( + 77AF317BDD3865F8D65819AA = {isa = PBXGroup; children = ( + 260D03D00CBF739BB3A2F604, + 623C7B6BD0B564F60F1F4012, + 6D3191834A1567C5C18A13AA, + 4411214CB9D7F986DA5A92FD, ); name = "app_properties"; sourceTree = ""; }; + CC163C0F830F6CCB6D2D9973 = {isa = PBXGroup; children = ( + 73B62E5AA67F4B0483ED680F, + 0CB9B8098AB7F4CFF3991565, + 14254C2E6F168DB69F9F6494, ); name = undomanager; sourceTree = ""; }; + CB53E46536FA9FAD0DCB7E4D = {isa = PBXGroup; children = ( + C2563F798C3ECAE115E33D05, + D45F14581BBA9D98130D5E05, 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, - FF74D4493903CDAEF7181A06, - FA2F4F69BFFFAE7A215E77CA, - 014A45F4DF5D4B850A2E712D, + 77AF317BDD3865F8D65819AA, + CC163C0F830F6CCB6D2D9973, + CB53E46536FA9FAD0DCB7E4D, + 482096246CF2E4B57C55EC14, + 8B8CEF7A6937C76CA7642C8F, + 353C4A5B04236912332BDB1E, 8B8CEF7A6937C76CA7642C8F, ); name = "juce_data_structures"; sourceTree = ""; }; - 6B69835D713DBE0AA1335554 = {isa = PBXGroup; children = ( - F9EED40DD78515ADF3189694, - FA9CE8D2EEF012CB74C1E8CA, - 8FAA47BE39D087684520C15F, - F1BE04264A690B5EFA99FCA5, - 7063B929C5E98B803E0464EE, - 907D08843439A347B3E2A869, - 6DEF5E5D162E4F32631FE2D7, - F4EA57711C5E9DC6746728FD, - FD2080564407C8EFE21CBC96, - 427EF6B8A919A04D12F63829, - 5576ADF82B58BDBBCC75477C, - 1E21F56456B1A05606B1A328, - 6A972E2430F4B2D9A07D44D2, ); name = messages; sourceTree = ""; }; - 21AE815F08BE75F4B146FF17 = {isa = PBXGroup; children = ( - CC0ED57DE1266CEB11001787, - BEA260469BBB48EB998AA4DB, - E7EF18BE4F22063894C6FF61, - F3868CB33CA2805C31829647, ); name = timers; sourceTree = ""; }; - CFA962EE09603F3370751E99 = {isa = PBXGroup; children = ( + F123E47F5D7F92BCE8E75634 = {isa = PBXGroup; children = ( E8ED8CA85BE4E1BF7C5ADF53, C3E4252156EDD0E001A10DE3, 51713BEF84B3A58844692401, @@ -1505,7 +1921,21 @@ 54B30BCC43C6CBF57A69A654, E31FDA8F23FEAB726361C8DB, 3CCB2447E4FA1C412FEEE551, ); name = interprocess; sourceTree = ""; }; - ED26DB941C1087A481ED9C8B = {isa = PBXGroup; children = ( + FF921D2222169AB18518E66B = {isa = PBXGroup; children = ( + F9EED40DD78515ADF3189694, + FA9CE8D2EEF012CB74C1E8CA, + 8FAA47BE39D087684520C15F, + F1BE04264A690B5EFA99FCA5, + 7063B929C5E98B803E0464EE, + 907D08843439A347B3E2A869, + 6DEF5E5D162E4F32631FE2D7, + F4EA57711C5E9DC6746728FD, + FD2080564407C8EFE21CBC96, + 427EF6B8A919A04D12F63829, + 5576ADF82B58BDBBCC75477C, + 1E21F56456B1A05606B1A328, + 6A972E2430F4B2D9A07D44D2, ); name = messages; sourceTree = ""; }; + 601087E95414F57AE4CFC48D = {isa = PBXGroup; children = ( A878B40B811C4B83658F6A60, 3B3FC34DE0D784314690A93C, 656CA5CB0EF44C76ACFFDCEA, @@ -1514,15 +1944,22 @@ DC254EFF0D95657D703FA8F6, 121C4D9B35F16FF170A9D4E3, 502503CB0C00102976DF1023, ); name = native; sourceTree = ""; }; + B427066826B5D81F0447BA49 = {isa = PBXGroup; children = ( + CC0ED57DE1266CEB11001787, + BEA260469BBB48EB998AA4DB, + E7EF18BE4F22063894C6FF61, + F3868CB33CA2805C31829647, ); name = timers; sourceTree = ""; }; 1B0890891B764226EB568489 = {isa = PBXGroup; children = ( - 6B69835D713DBE0AA1335554, - 21AE815F08BE75F4B146FF17, - CFA962EE09603F3370751E99, + F123E47F5D7F92BCE8E75634, C6AA6C3360946FAC6A1E4CFF, - ED26DB941C1087A481ED9C8B, - A061F1646238A35ED0BDA32A, + FF921D2222169AB18518E66B, + 601087E95414F57AE4CFC48D, + B427066826B5D81F0447BA49, + 8BA57188E17C4D0AA9A470F8, + 887EE77979249B8A3E7C2C49, + 4DDD5CACDD472784437AB83C, 887EE77979249B8A3E7C2C49, ); name = "juce_events"; sourceTree = ""; }; - 76BAE43251ED78FD6BE739E9 = {isa = PBXGroup; children = ( + 0F8895FE1ED16567D627A3E4 = {isa = PBXGroup; children = ( 2A5F9649D883210E5C67CEE4, F7D98798130B4AB14E4E82F2, 8F5EC320CBE18D8923C7D3EF, @@ -1532,7 +1969,7 @@ 223B9626308B07EEEDA7C89F, 0D5008DFFC00B074A9970585, 46F845FD963442D8748D3261, ); name = colour; sourceTree = ""; }; - F0740B98E17BCB69B54B4619 = {isa = PBXGroup; children = ( + 5C80AF7E4F85900C70CECC96 = {isa = PBXGroup; children = ( E2B10A7DBF2B35A4C3A1DE21, B28DFE72ADE03393BE8B764C, F5EB78612A35D53F005597D4, @@ -1540,20 +1977,26 @@ 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 = ""; }; - 9F57E3145B8DE085C7435C7D = {isa = PBXGroup; children = ( + 1E3C13E72C5E34B101E0C2D1 = {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 = ""; }; + 82CE87A7EC1A20CD9A71304C = {isa = PBXGroup; children = ( CE9CAFB040BE90431A432537, A19D3050F95BFD17129EA013, 17077E8777B646C03C92D20B, @@ -1569,30 +2012,105 @@ 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 = ( + CDE6820567ACD5AA13912480 = {isa = PBXGroup; children = ( + 04763FECDDE2EE34094114B6, + 7D7135709DC9EFB6B8BAC01B, + AEF9214E21ED8FA968C3CDBC, + 3EC9D76DD3EDF3387C733F31, + 61DEAC06F8C115B1DE078559, + 7619A4CD6A10ABCF4F03F735, + 52C9D5F354B17D7D408F93AE, + AFD230E1151B486A2F25D968, + 8140577BA1F1C43ED50A24DB, + 36B2F6871C02C782FD933048, + F4C524F7ADD04FB0990B4277, + 93F8CE256A5B96CA39DB68CF, + BD7B6B657BB0F57F6FF831D5, + 7B0E4CA7FCA2DA948115C008, + D27A72D3437DF0ACDF00708E, + D231C3491016372DC84343DA, + 82BDCB9AE232E6FBE0FE2702, + 70E6E5ECE171621517003158, + 4A143DCCAD15A27B77C49C60, + DBB5A7638D1846ACFF4D4671, + 4EECCB6831037838C0A5A8E3, + 040E328BAA101251A526BB23, + ED94BCB2CB0EE47C45B111E3, + 9FC7CEB3AFCF2C929A3149E9, + D235C7C78A9ACEEA867ECC55, + 2863A1814B832797C2B5BDBD, + 5E20BD0A199999DBE2E9A497, + D880F5F4BFED2BFE98AA4A66, + BDCDD2768F462A09A5C07A4E, + DFD9E5EC7D4557840FBEF267, + 1A3D25F8D93A0DFE7238A140, + D41D5B61C6164873CABC4DF3, + 759E1FBE4B2677984220174B, + 4577CFBEE0734712E5C01B67, + EB799FA8B4968835C38E5A3F, + E359452FFDC17795732E1089, + 03EC64E3788AAE1023245DB2, + 39BE0DB587B58A12C556E683, + 232FD2712ECE30C43C788BBB, + 657EE50642CA91DF03BB49A3, + 1DDDF6BDA9523D729A6D3116, + 287CF1BA48EF9AB415274363, + 56AFA4FC9376153B89A6C6AB, + 260DEA29B185537013E63193, + F79FB831BF3BE4EE70CC80EE, + BBB8011E6F8143C6BD52D40D, + 3130E78064C89D6B15019477, + AC734C29160A8EB175F512FE, + 98D6895004EB081BBABCA15C, + B8316B5D31F8E9642F1F94A9, + 4F7F97EAE3B58B55AE621BDE, + E45F616D699555C4C4010C9A, + C580DED56011A4C37900A12D, + 81A01F0E7F5AD08A0643C2B4, + 4F2726D6C605EE825B015408, + A5802C3C5B3C3130ACAE5FFD, + A08204B26124FCFF92383BF3, + 166A7E07349A9C416DE71479, + DDE0FBFAC8D2239A971F3C94, + 18251913FAC0BEC00A1BCAF2, ); name = jpglib; sourceTree = ""; }; + 548D6ED578549C4BAED42A3D = {isa = PBXGroup; children = ( + 7E719D7787CCEC90D6813EB7, + 289D0C47C9BBA6CD46EF9765, + 13FF419E411FB6978E6A5223, + 7CE228763D12DCDBFF31CAD5, + 18195F5653CF2D27416940BD, + E70760977A93F8F40054E9DE, + E040F7DBE91A5635FAAD2804, + F6E3CE7177F5638F762B1E78, + 7C40DADCBD16D1384F0BFC34, + 6367EF1A37C6AC6B710B3273, + 4977C7CFE884BA7395DC3BC1, + 5C8CD5FF4701065558BCB28A, + DB49E4B4F4CCF9F8CBFC33BB, + F6ACAD14D5F5618B6D0F3829, + 7EABFF4F7DDB3634A91AE3B2, + 0E2D953697BBC42AE80867B2, + 0A2608950EEA0BB719B538D6, + AFB6F48AC541B5510EFDB61C, + 16633721C0AC077FD332F530, + A06B0489395A029A4F04EBF9, + 1D7AB481EB2E15204C0A78AF, ); name = pnglib; sourceTree = ""; }; + 1CA60DE2AD687DEBCD59F3AA = {isa = PBXGroup; children = ( + CDE6820567ACD5AA13912480, + 548D6ED578549C4BAED42A3D, + 793E09206EDE78138AB56CC5, + F0074D8C86D3265AF7889CCF, + 2B594B1579F4770CA36E870C, ); name = "image_formats"; sourceTree = ""; }; + 90A4A49FD776B5AB9D539135 = {isa = PBXGroup; children = ( + 1565307D5DC70CAC563B579F, + 14BF2173D8CD3520B21E01E0, + AEA5E43C19B3566D5B2655E9, + 6BC5C181AD876196213378C2, + 9BECE88C6AB34861AF408C37, + 6E35055BA3436FC2F9B77365, + E441F10A3241806474779D5A, + 91A5A6A217FA091F2ADBE3C5, ); name = images; sourceTree = ""; }; + D59223202DE58F2EF78FEC3C = {isa = PBXGroup; children = ( 3A8EA18FCAE5801EF1AECC06, E041ABD2C503FCB7EB7E49F8, 2E62B2A1D5FE20D7E675DC3F, @@ -1606,19 +2124,57 @@ 6741B65B42E9858C7B580A36, D9FDDAC72C576633FD41B2E7, 4AB453F1DFC4EA7AE058B0EA, ); name = native; sourceTree = ""; }; + 52A2A780A9B6627ECE28F988 = {isa = PBXGroup; children = ( + 7E5D04471A75DF9057A4D73E, + 6CF6624AD370E4716D42CEDF, + 284C742F571D494237C52C2D, ); name = placement; sourceTree = ""; }; B4351AB8FE980A7A843DD7EB = {isa = PBXGroup; children = ( - 76BAE43251ED78FD6BE739E9, - F0740B98E17BCB69B54B4619, - DDD3EBD3493F3D8076685D09, - 240D1F671827DE817DDE901B, - 9F57E3145B8DE085C7435C7D, - 997C7BFF828EBD6BDD06D036, - 013403E10034C0DA7BEE1F39, - 556560AAD3C29E08F7AFBCBA, - 66DC0A97992202B7629A58C7, - F7D32C5CE1D85C542190C26C, + 0F8895FE1ED16567D627A3E4, + 5C80AF7E4F85900C70CECC96, + 1E3C13E72C5E34B101E0C2D1, + D3FC9F88D8C0499272B0D54A, + 82CE87A7EC1A20CD9A71304C, + 1CA60DE2AD687DEBCD59F3AA, + 90A4A49FD776B5AB9D539135, + D59223202DE58F2EF78FEC3C, + 52A2A780A9B6627ECE28F988, + 3CC8052A6B1D8AA78655D40A, + 30CBDFC5F16FD990ABC2C486, + C0C66A94FBDE992AAD71C698, 30CBDFC5F16FD990ABC2C486, ); name = "juce_graphics"; sourceTree = ""; }; - 5A794D6AA7ACA03DC348F94D = {isa = PBXGroup; children = ( + DB33673DA556F78A6440421E = {isa = PBXGroup; children = ( + FC00E5ABDD903617E7498A0B, + 489D9B3F2489315DBF5C552E, ); name = application; sourceTree = ""; }; + F9EB22A2445D11F2F6A6772B = {isa = PBXGroup; children = ( + F5DBF428153938207320675F, + BB8AD6D858D518E804AFA0C7, + 6536E6457A8B77FDCC506401, + A87A60BF515078DF23E1F737, + AA54E821F947C9A9DC359693, + BEAB03E92089D87D7D6A2353, + 3935FEBDBA2F8025F602042C, + 5CE4484E6BAB76C9B49E6ADE, + 3B883BA33260250D6C443F87, + 80A6B9266A11D6977AD84546, + 5848A09E20AA6FE9EF1E6898, + 28BF10B49B1D14FE05CBC5DA, + F2ED5A15267070B560EFFA2B, + ECE3837512B3E620155A8432, + F7487F2DEA61873B12C6CAC0, + 449FC2FAA282C731A58D51E6, + 0892B622D73826BB91C8E418, + 6436F4F5D143E72BD77EE053, ); name = buttons; sourceTree = ""; }; + FA1CB4E3724F4D87E463DD04 = {isa = PBXGroup; children = ( + 2CD2FBF66999807E0B86E0B0, + C568E8888819EAFDCAEAF04F, + 8DBDCF6753B9AE327FC8E382, + A23A20A098747A2449C47047, + 31B42F889DD1C79540881B97, + 62935FD655DDDCE70536555F, + EEDD0D3608DCB2E459F3BF24, + EFDD05E3C006BA460761594C, + 01D4F510A1EE5495A8A419C0, ); name = commands; sourceTree = ""; }; + 9B2C79FE8108C2BDDF05F710 = {isa = PBXGroup; children = ( AC2A502E05BB93CB0840344D, 31CD83018DA7BED28A70EC1C, 2D6A1D77D896FF6DDD5EC49F, @@ -1628,97 +2184,60 @@ 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 = ( - 6D1D3AFCBD704E2E3A9AB0D9, - 776FC3A674D9CCD21CB2D7A0, - E90FDEEB9C536E5E1124B00D, - 4FBA6C32DE977B1330BAD5DD, - D521465375DD0F179649668B, - 38A0CFC456FB82927DF8B990, - 3A52ADB8D2B72A1E6F455ABA, - 1E07768DDE29F15BF4F32C48, - 665600E48FF051CFE90C698D, - 69CA413A66B0EA204C1AFF4A, - 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 = ( + EA795414FC8B7F5CB00A7F3D = {isa = PBXGroup; children = ( + EA2BE0B9C8E1546D25A02D67, + 38043242051AD4996B081769, + 0D79BD52315BE837BAD64A82, + 9CABACB9A2FF46A8B3059D8E, + FAD5D9101D6427D96558C37F, + FC50C6150E60281125E69115, + 3F57F6B58B93E88A29F90809, + FDFE40162E4F5CCAA833061C, + 9F3DCE572188E0085FCF1956, + ADA1339F195F699D7F5369F9, + 9B9B8DBEBEA5051A602DA6C1, + DE1A6A1C0CCC94A3E3A887E3, + DCB52EFF8A9F5D9F6CF3D3FC, + 61596F68A47C4BEA8F9A4D68, + D6EDBF07E4162364DB8825D9, ); name = drawables; 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 = ""; }; + 256F1C5EFDE21E269E58AF0C = {isa = PBXGroup; children = ( + 6D1D3AFCBD704E2E3A9AB0D9, + 776FC3A674D9CCD21CB2D7A0, + E90FDEEB9C536E5E1124B00D, + 4FBA6C32DE977B1330BAD5DD, + D521465375DD0F179649668B, + 38A0CFC456FB82927DF8B990, + 3A52ADB8D2B72A1E6F455ABA, + 1E07768DDE29F15BF4F32C48, + 665600E48FF051CFE90C698D, + 69CA413A66B0EA204C1AFF4A, + 42AE889B4D596FF23E2D77CB, + B1E4A1F07EFCCA50D963CF4F, + B77BD5847F412656109A378E, ); name = keyboard; sourceTree = ""; }; + 9C833930F854FF7F6F5F85B4 = {isa = PBXGroup; children = ( 2EC200E7CF8C908AC3DF4416, 1BC364DFD3A975A0CBA0AC61, 77802A78E9D43C940C14B0BF, @@ -1755,72 +2274,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 = ( + 3D2658D9399547B4F58DCE86 = {isa = PBXGroup; children = ( 046591508FC3F71F74126E81, 8594A236A434383AA96AEB53, BA5A9BB00CD8BEA408371875, @@ -1829,48 +2283,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 = ( + 1F7DE06B05D22B67B08C9A49 = {isa = PBXGroup; children = ( + E9164448EE60F4DB5F2A14D1, + 01B29765150B583E2460837C, + 275CF9CA5A34E2825DB8792C, + C2B61447889E781465E49AC3, + 1B0BEB542ED5BA84E52AEA2E, + E50BADB05430CBE8BF33F8F5, ); name = menus; sourceTree = ""; }; + 459489379FAEED6201EE3D2E = {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 = ""; }; + C669C98211E69867C0764A39 = {isa = PBXGroup; children = ( 4717C14F84229B39FA2FA86B, 3A5C86CF6276058B0D5AC399, AF6001FA947F3A7DF15CBF8B, @@ -1887,27 +2333,107 @@ C05E16AAF0CF0676135C0C9B, 279D354D902DE91EB32B1BE6, 6C5F536D935CF788C07424CC, ); name = native; sourceTree = ""; }; + 5311024233EE91F8F26EFE9B = {isa = PBXGroup; children = ( + 8D11B58353EBDC8EBE9C641D, + C52847A293D0E8958E88DFD5, + 17A033D6C28B1E76FA8BEFCF, + 816CA082336A8BC8A9AA61BD, + C3B93391519DA8A352766580, + 406587D828CD424333E55C81, + 33B9E6212D92FB49C792ACE9, + C6B9F01A0AAA2A1DA8122912, + 9CF41B989B4516C8DB6CF7A0, + 35748B2B69B3A54D19679F3A, + ACD7FAE9EE61A4085580912B, + 360B3CDCB046B9D69C6F5ED4, + 56C2444E299E030DE7243C7D, + 220732F05D2DEBC2ADF2D45C, ); name = positioning; sourceTree = ""; }; + 80696C0E60C6430CF49F66B3 = {isa = PBXGroup; children = ( + 87C173B4D57F00E5523D3395, + 5B546C6ED44CAF4197788BC0, + 6555D39D3BE572E611DCA8EB, + 3545CC1CCF501BDBFF528908, + 78C9531A81D34333AEF14019, + 1ED3843AC8AC67374F6F5F77, + 3B3B1BB15DFF71215E86A175, + EA19F37E2AB4C42A1ACF17CE, + 70407DF33563B729D4758A17, + 3134A6BDE49CF0D3F0B12FE2, + AF5C2B3C5CF657FA722F9A68, + 1633D4A7385E8AB77FB6723E, + 5F6BDD2491C4086940AAE045, + 7392F4B60E4E28A340E465BE, ); name = properties; sourceTree = ""; }; + B002DFC8131802CB86DD8C1E = {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 = ""; }; + D8E4626E82E519012DE8350B = {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, + DB33673DA556F78A6440421E, + F9EB22A2445D11F2F6A6772B, + FA1CB4E3724F4D87E463DD04, + 9B2C79FE8108C2BDDF05F710, + EA795414FC8B7F5CB00A7F3D, 42F8790BBB2D6EAC6A228F28, - EB0838BDF3EDD2A6C56D1B10, - 3F09D506DAF77142944CD206, - 2EFA9503FCACF0651BB57D5A, - BC1C3CB4DF57CE8A1B29522F, - 0F1752D7FC9D89588551D5C3, + 256F1C5EFDE21E269E58AF0C, + 9C833930F854FF7F6F5F85B4, + 3D2658D9399547B4F58DCE86, + 1F7DE06B05D22B67B08C9A49, + 459489379FAEED6201EE3D2E, + 15099FEDA05F5B2369A1BF36, + C669C98211E69867C0764A39, + 5311024233EE91F8F26EFE9B, + 80696C0E60C6430CF49F66B3, + B002DFC8131802CB86DD8C1E, + D8E4626E82E519012DE8350B, + 028F00D143E21B4B434EAD2D, + A85BBB0551113A7CD910AA16, + C3B0CE7BC50EE3F20BB261EC, A85BBB0551113A7CD910AA16, ); name = "juce_gui_basics"; sourceTree = ""; }; - 7B917E77D4B25A14822B94CB = {isa = PBXGroup; children = ( + 1BA880FBB9D27D8F9C475A93 = {isa = PBXGroup; children = ( 1233B57573AB9503E0625ECB, 89CC7514E6F2628CE82591BD, 3C90895F90CF6FA4714DBF6F, @@ -1920,14 +2446,14 @@ B05257BD950E35B28F9E88CC, 110D8C5EEF130FB1E1F7D286, 1CEAFFE79A9E1A1E32C2BFD6, ); name = "code_editor"; sourceTree = ""; }; - 206C4AD1A507D7D003F44AD4 = {isa = PBXGroup; children = ( + 496F580D099EF79AD9D23B0F = {isa = PBXGroup; children = ( 169C1D0433B29AF96A6FD27E, F0F7DE7E362D726569559501, ); name = documents; sourceTree = ""; }; - 8AB5C3D67E25D52FC85A482D = {isa = PBXGroup; children = ( + 665DE861CFB7D14C2074451D = {isa = PBXGroup; children = ( E3381BC529641894F95F9AD6, 9FBCE80E444BA9E69C3F6172, AC4730773DE422AE346C6D6B, ); name = embedding; sourceTree = ""; }; - 284172C32915E2B9B95F2B0A = {isa = PBXGroup; children = ( + 975F70F112F3802E4717393E = {isa = PBXGroup; children = ( F9A0A82AA4D8EDB4B2305849, 7109E1D6A2AD7A013453C922, BCD3969359F2EB2EB970C412, @@ -1948,7 +2474,7 @@ 4C57FEDA7D19BB3D05326948, FBA60035993B1D5796D202DF, C57BA5F014343276128923F6, ); name = misc; sourceTree = ""; }; - 7934D8F0485905857255419D = {isa = PBXGroup; children = ( + B94FB129A464E72A698A0AC8 = {isa = PBXGroup; children = ( 07E89C9A0EBF5FF6A0A05EA5, 77BAA6C13A52BE0F0A42FD0E, 179BD4E3BB66F7CC1747ADAA, @@ -1962,14 +2488,29 @@ D23A9E25612E33C0C6AAA09E, 74E37866C31A35A559E1E80D, ); name = native; sourceTree = ""; }; 5055ACAE49BC97DD34466C48 = {isa = PBXGroup; children = ( - 7B917E77D4B25A14822B94CB, - 206C4AD1A507D7D003F44AD4, - 8AB5C3D67E25D52FC85A482D, - 284172C32915E2B9B95F2B0A, - 7934D8F0485905857255419D, - 97C71C2DD318EDB304FC1CEB, + 1BA880FBB9D27D8F9C475A93, + 496F580D099EF79AD9D23B0F, + 665DE861CFB7D14C2074451D, + 975F70F112F3802E4717393E, + B94FB129A464E72A698A0AC8, + 718E39433D13021F56FCA2AC, + B121FF657B96C6FFEB2C2DC1, + D782993D6DAF0AF948A62517, 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 = ""; }; + B2DF875F4095D8C30BA0BE9B = {isa = PBXGroup; children = ( DF53D8FD5DE7B15694D26E91, 01FC5A0075F643D703F56555, 9D87175DE3988B783002560D, @@ -1987,47 +2528,38 @@ B2B042F73709D0057DE8A51E, 6F0A25914D95D4F547F91C79, E046CC53401A9551BDEA2D83, ); name = opengl; sourceTree = ""; }; - FEE6ACB178D213783FF6E964 = {isa = PBXGroup; children = ( - 838BB45D693ED0AAD43B93C3, - B9B0A3004948FA2387C28829, - 21FAFC1D8D92872E96F56764, - CD44827B5286ADE94DB0B79C, ); name = geometry; sourceTree = ""; }; - AC7F13F5542D3403D8F2ACB8 = {isa = PBXGroup; children = ( + 9D6ECB3173D7F900E6234D8E = {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, + B2DF875F4095D8C30BA0BE9B, + 9D6ECB3173D7F900E6234D8E, + A31292BD2BBF1B7601F2012C, + E0E847621EEAEEFB21B87986, + F07914AFCF34610BAC0D3B0B, E0E847621EEAEEFB21B87986, ); name = "juce_opengl"; sourceTree = ""; }; - E1A6B922CD26B2E238FFE633 = {isa = PBXGroup; children = ( - CC83A115FBF5C65772BBFAE3, - 3D26B83681D1E47ADFB2D8A9, ); name = playback; sourceTree = ""; }; B43E665356CC8841DCE56D07 = {isa = PBXGroup; children = ( 83619BFC8B92A2B5F17F596C, 985C549EBDB26AF7BFD6E8A4, ); name = capture; sourceTree = ""; }; - 9BD07AD149BE8BBE4BA6B001 = {isa = PBXGroup; children = ( + E4EF620E2A9464BAA129D16C = {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, + E4EF620E2A9464BAA129D16C, + DFE776317D90B3D3BD911CC3, + A96A21232A57ABCE293F7AEF, + 317988D9466ECCE83B91CD24, + 757D9E8B34634C0E899922F9, 317988D9466ECCE83B91CD24, ); name = "juce_video"; sourceTree = ""; }; 128007CA5E777E8B423777F8 = {isa = PBXGroup; children = ( 333F7FC9E4E695D243B51D53, @@ -2047,26 +2579,28 @@ 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, 3948321FE783006946DC8F1F, + CC144EDF680633EC54BB6C7C, + 8E5DB762FF5447085518EB85, C3C776709CFEB52B87A9E260, 6CDDF198D9632DA763449E05, 9D95CB2E713755CD61842774, @@ -2075,7 +2609,7 @@ 525E733E59BB89937210A34E, 844820FE23753AF260B13D1D, ); name = Frameworks; sourceTree = ""; }; 5D365257108A916858E3947F = {isa = PBXGroup; children = ( - 5802E3490BEAFD892C837E2A, ); name = Products; sourceTree = ""; }; + 7451C664E0B1FF42F028813E, ); name = Products; sourceTree = ""; }; 5EB8D0E327356FA2D5323013 = {isa = PBXGroup; children = ( 853E25E8F0EA391EE8D4A3B8, 128007CA5E777E8B423777F8, @@ -2083,7 +2617,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"; @@ -2101,9 +2635,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; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; - D10126CC8CE60E150025A42D = {isa = XCBuildConfiguration; buildSettings = { + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OpenGLAppExample; }; name = Debug; }; + B1560FC01F28141593B7C16C = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2122,12 +2657,14 @@ 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 = "$(HOME)/Applications"; }; name = Release; }; + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OpenGLAppExample; }; name = Release; }; 3132BF724B47EEFACACC0FF2 = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2161,36 +2698,37 @@ 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 = ( - D0E5FADCDC70B5989BE7D147, - D31034CCE86D686B109ADE0F, + 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, + 2A954B85CEC7CB6CDDE645AF, 8F43218E0AFA8FBC12C39860, 3BFCAE441B663BD739FBCCB4, 5AE83D61A34B2B62A0610EBB, @@ -2198,11 +2736,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; 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/iOS/OpenGLAppExample/Images.xcassets/AppIcon.appiconset/Contents.json b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample/Images.xcassets/AppIcon.appiconset/Contents.json index 5ca51e92..c0af172f 100644 --- a/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample/Images.xcassets/AppIcon.appiconset/Contents.json @@ -3,19 +3,19 @@ { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small.png", + "filename": "Icon-29.png", "scale": "1x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@2x.png", + "filename": "Icon-29@2x.png", "scale": "2x" }, { "idiom": "iphone", "size": "29x29", - "filename": "Icon-Small@3x.png", + "filename": "Icon-29@3x.png", "scale": "3x" }, { @@ -113,6 +113,12 @@ "size": "76x76", "filename": "Icon-76@2x.png", "scale": "2x" + }, + { + "idiom": "ipad", + "size": "83.5x83.5", + "filename": "Icon-83.5@2x.png", + "scale": "2x" } ], "info": { diff --git a/examples/OpenGLAppExample/JuceLibraryCode/AppConfig.h b/examples/OpenGLAppExample/JuceLibraryCode/AppConfig.h index c7ca182b..3b391382 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 0af28d33..b79be6e1 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 7d4583db..00000000 --- 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 06e88f93..00000000 --- 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 e4574f47..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 718392ff..00000000 --- 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 0dd1636e..00000000 --- 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 bc5c51cf..8c1c1519 100644 --- a/examples/OpenGLAppExample/OpenGLAppExample.jucer +++ b/examples/OpenGLAppExample/OpenGLAppExample.jucer @@ -2,14 +2,8 @@ + jucerVersion="4.2.1"> - - - - @@ -45,7 +39,7 @@ - + diff --git a/examples/OpenGLAppExample/Source/FragmentShader.glsl b/examples/OpenGLAppExample/Source/FragmentShader.glsl deleted file mode 100644 index 92f98906..00000000 --- a/examples/OpenGLAppExample/Source/FragmentShader.glsl +++ /dev/null @@ -1,10 +0,0 @@ -/* - ============================================================================== - - FragmentShader.cpp - Created: 11 Nov 2014 12:17:53pm - Author: Felix Faire - - ============================================================================== -*/ - diff --git a/examples/OpenGLAppExample/Source/Main.cpp b/examples/OpenGLAppExample/Source/Main.cpp index f21b0d28..3dd6a83b 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/OpenGLAppExample/Source/VertexShader.glsl b/examples/OpenGLAppExample/Source/VertexShader.glsl deleted file mode 100644 index 4bc25651..00000000 --- a/examples/OpenGLAppExample/Source/VertexShader.glsl +++ /dev/null @@ -1,9 +0,0 @@ -/* - ============================================================================== - - VertexShader.cpp - Created: 11 Nov 2014 12:17:40pm - Author: Felix Faire - - ============================================================================== -*/ diff --git a/examples/PluckedStringsDemo/Builds/MacOSX/Info-App.plist b/examples/PluckedStringsDemo/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..c2b74a1e --- /dev/null +++ b/examples/PluckedStringsDemo/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + PluckedStringsDemo + CFBundleDisplayName + PluckedStringsDemo + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PluckedStringsDemo/Builds/MacOSX/Info.plist b/examples/PluckedStringsDemo/Builds/MacOSX/Info.plist deleted file mode 100644 index 3ce29df4..00000000 --- a/examples/PluckedStringsDemo/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.timurdoumler.PluckedStringsDemo - CFBundleName - PluckedStringsDemo - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - - diff --git a/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj b/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj index 81127b92..cf14b15a 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,24 +19,25 @@ 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"; }; + 01172C4A9E1B78DC4C1ECB5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + 01299622958E16EB5EFCCF3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; 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"; }; 01848E51D0F9E4BAB83D2E67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 01964DD7F75941420488F7FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; @@ -45,34 +47,45 @@ 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"; }; + 031F664A464B470A81484530 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; + 034C91F8B59869BC107FA64F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; 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"; }; + 03B7F57B7DB2E5022A364935 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; 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"; }; 040E8B9D12A14041D9B84190 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; 04295555907497FD556E015D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 042CD950A801DB1AF7C72360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 0443919411CFFA599C096373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 0478589866F0302BF163F95D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; 047BF8614C28582A36F829E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 051188AC62E1F2F1EC3B8172 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 05738243F637DB638893847E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; + 0589A3CE72272951C9776687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; 05D52C29D5FC0795ABD77566 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; 05DAC2B7884839900B97DC26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; 06024288BA6D0A6AAE3691A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 0657DB56FB23A6BE67208B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; 065B650CEAFA60C45A04F371 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 065FD18DF86C99CF5F654EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0701388EF5123610601898F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; 071B5F7BDAEA5AA4254259B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; 072204A3DD23A0007C2D5BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; 074E5A380EA7F8C8EF88F13A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 07BA05B963910EBD1BDD09DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; 07C770726C30A4EAE75251D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 0874F696E38C170FBF0DB8E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 089E449CF41E25FD385B0350 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; 08DAD9D21DE357B43B7F67C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 099CB39CA29E1ED5F689C082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.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"; }; + 0ACC362663B8E2012FDD399F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; 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"; }; 0B2DCC91EDFA460CBDB846D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B514D0B98769247D9DB3E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; @@ -106,6 +119,8 @@ 12A8797110BFCD0A9A29D9AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 1309160A7FBDBCA34BC77637 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 131206AE581D9D95D1260C5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 135FF1FEDE34B052FBEA1DB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + 13843E517773650742139899 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; 13A92B80C221EF73AFCD9E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 141D4274F3335DADD5A3FAF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; 1529462D2CBFEAD56E450BC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -116,30 +131,35 @@ 15B46852B7937B0DA874D4C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; 15C28011601DBC0F34357232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 15E2C6DA9D186E7097C501B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; + 15ED853ADFF78FA5537A085E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; 1618E3050F66723769E3BED1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 1642EA4FD27E6AA0D3ED294F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; 16747AE33169CAE41818A0FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 16FC53D6B89990E017B5E23B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; 17342DAA7DDCE8A758F4A353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; 17614E1C7FCB3152646C7496 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; 17BFC11EA3AA659DDA506227 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 17C1B88CF8910492B6FBBEC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; 17EC7096935B5A928FC2AB9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; + 17F305F2F0EB177E37D95F21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; 181BAB8AC09C013CB3516356 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 1866A678D99FFFE45214D7B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; 186756E20B6CFABA33F63154 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; + 18AD4A84C7C958758B042FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; 18CF0A5873315FEEE140C633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; 18D8C24E922819A4677998FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; 18DC10E83B1833E6E32ABBE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 191D7A6F4B53B4F73D84FBD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; 19334C2ACF4BDF3AF33A4E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1954DF0B4605C1DAB8B483E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; 197F9DCA351F511D6AB0E688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 19969ABC3D4021D65FEF8365 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; 19A4832E8EDE878AF294FE4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 1AD7087782E7CAC145C9C405 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; 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"; }; 1B833D7158AFD9908157D66E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -147,6 +167,7 @@ 1BE9D8227B34614C24E0842C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; 1D0B71248C75667B0F722396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D19F9D1656D4486D519E314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1E5A7BA29B96E730B06DBD83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 1E8799CA24CF6C92BB6CDA2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; 1EF18D4C0A33770BA15CE400 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 1F128E562352950E3DD49EE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -163,8 +184,11 @@ 214827AF7CAE484C9588C4E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 217581A16B821915FDAAA6B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; 2196C8481B4177D9055AA47E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + 21ACF2CBB7413FFD43675AA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; + 21F73F828250056A48646D01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; 226DE5CC38A1677D7B19643A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 23065276F7827699DCF04D5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 231558462F8BDE7F73452EBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; 23448351E16A902371BCADFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 237404D7EAAD696962C85B05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; 2428C5301C5544A5173310E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -173,17 +197,33 @@ 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"; }; + 25883C583BA3505B32CB4AB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; + 25CF14657306FA96620FA10A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; + 263F856E14735D1BB4398D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.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"; }; + 27BD302EE3C8B11B5E2AD802 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 27C406540653447AC2D3661B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27D80591F48FEE943DA925AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 27E53A80CB7DF9FCCB106B76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; + 2825D7AB5CBA0AC36DD68D0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 28C5D30A359C5676262E96C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; + 2967AB09D392074A228EA204 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2A69350FC76206ADA980DDC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; 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"; }; + 2AF638E5536951A3607DE1EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + 2AF8713E48B13A10419703B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; + 2BFAE305009906C1C52FBCBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; + 2C1FB5CA5408803738CAB817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; 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; }; 2CBDA02360FDE3AC17DC2309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 2CDE3A3C56111B028372BB8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CF3E47D166B9851E0F24055 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; + 2D2D77FD663CC3A0BE72D12B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; 2D5A7388583D32A8F1BC278B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; 2D83F272ADEE60DD58B77923 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; 2DCC9E193676CF4A46D3B0C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -192,31 +232,40 @@ 2E36AFC7A8EA135C6A48DBAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 2E51DD2DE70D90CE62D5AFB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; 2F13A3FBE68B316F7925D448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2F513CB36624FC05EAAC2758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; 2F51474A2BBF4329878B3CA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2F5458B994CB1E6240534663 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 2FB3AA94E588843A3BE38537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 305B8DD0EB6717ED01B4FF54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; 30C51CA8BAB614A3B7238D97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; 30E73DA3869DD88FF98B7A0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; 30EC4A1E0395536C084915FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 31208525D2C3DA2BCE47E47F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 3189FEBA60C66AA1C7E57112 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 318AD324AD2776F94479F312 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 3209873602E32EEB08B9C2A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 322E6DDBF9511D7C401BD17F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; 323DC7E5772CD0BF855F1BE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 324A43E1DAB1A2A0017D80F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; + 32625D80EA6EA67343DC331C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; 32C633E55DB50E3A121A9952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 32E37F931356C7E6FC5D512D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.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"; }; + 33B1A25AECDEB74A772B8004 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.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"; }; + 341666E6C06639A6AE44722B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; 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"; }; 354F10E537996AD4B596EFB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 356F3858F9A4DE6055FAA59F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3582770C043EBB6E67DBCE62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; 35C65A78610026BAA448D956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; 3610BCE8F9B56531CFC35E07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 365EC6C15E12BCBDD0657D0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; @@ -225,8 +274,11 @@ 36C5392CBC219CDD99F4EA9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 36DB2656810D54682EDD89DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; 372F90511F33764DA46D0219 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 37511CE5C93BB35C59AF8493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; 3769082FE18021FB19823EB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3799DDA17A51A8FFEE35F033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; 37CD5176510F1D00AA249F1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 37F975CD7B37083A508065D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; 3803DF879F943052A088A2ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; 384F9F0B2B2DF491C8265025 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 38D001655D30BC38B4DE4C6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; @@ -235,9 +287,12 @@ 391ACB947CB2D4F529FDABE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; 392555C3ACC301829471BB99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; 3926616EC56E25F66F6CD790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + 3972CE07B664956A2998CFB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + 3A13DA48EBDD0DCD7C18FE75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; 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 +300,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"; }; @@ -267,14 +321,18 @@ 410CF1DF89133411F1434CAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 411C432CB74EE05BCBFCD97A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; 416641AB5B352AB9753B4B70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 41CEFEFA33AC6D0EBEF73CBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 435D7DEACB2181B6E5FAE51D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; 4362C2C82F72B8FADB0A75BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4363FFBF6FF0E9230A637CD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + 43B1FD7B93781768A5C3CD05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; 43F2C84ABB35BCF45A2DD126 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 4425A2459C182A7E92C87582 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 443708F62791FF0D4F639D51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -286,9 +344,13 @@ 4532BCD402C284ECFC51E0BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; 455428DF4B6C1E56587AC645 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 464373F538C13408F13947D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 464D52BF0E9E0D7221042DBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 4680925B001761374318240B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 471E8FEFACCD33F64D19D993 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 47778A0DA3CB1729B8565520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 47CE98BF6BFC1E13F9DED70C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; + 47E2C79D26C2A7EDAC5FEA91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; + 47EB6051728718682263AF34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; 4852E3C8682ABCE67D5636A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 48C181B3A236B53DD3EBAC95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 492FD600FC422E5F17C99DCE = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; @@ -296,6 +358,8 @@ 497468A8CC4D864512C2044E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 49AE1FF510C68018F047B25C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; 49B6080018A76A6B43E4BD09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + 4A448CCDA3A5973D256FA6AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A6B643083A8990EEC6F75AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; 4B046999C395426E3C497334 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B6A8C8A7737818D196A9CAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 4BB8A999BA53A8863FF0FB53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -303,6 +367,7 @@ 4C1851ACE9DED43B706CFFC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C48373D60E3301F266AF2E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 4C6263AE4F930DAAE63AD3DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4C9EBA7619EDFB3913E0ACF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; 4D2A30F16BB38A1D63CD289E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; 4D373130354DE470B987AC9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; 4D64649C1A00FD2CB2A0E0B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -310,10 +375,14 @@ 4DBF452C79EE80E24C239E08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DD5F05C19788FAEE003A0CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; 4DE9AB4F1B7D277708620A4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 4DF5BA1D91D0E7533DBC3A30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; 4E080A8DD941D56ED59BF61F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 4E5304D08E23AF81B314CD77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; }; + 4E58DAF7B8943A13BE1FB074 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; 4ECB6626915207232EC908E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; 4F0D3F89EBD39C37BEBC9340 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 4F751F019A7B3E96803FF6E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + 4FCBB01533408574CC5ACE84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; 501415264FFFED81A47BE9B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; 50366E5235FA18FEE9A8BD2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; 505CD8376F8F4A2FB3398B9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -322,6 +391,8 @@ 50EFDAD1CF4D170B9C77FA6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; 50F1440EAD86D78748E9A0AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 511B0591A2F0BAF942161C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + 5197E0EC574C21F764FEA57B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; + 519D2697E49A40C51532DE9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; 51F28DA357C5A3B905F89558 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; 52069187E92126A332F75BA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 5208CAFD939FF7D78DA8CB44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -333,7 +404,9 @@ 53BC605FB4EF66E5C2CA7849 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 53D5930EC511AD10959D2179 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; 53D76D8E982DC666B7927E51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 543268AC7053F8C372FED07D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; 54420A7FCB25BAEEEB0FEEA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + 5493A8E052482773A0AD394E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; 549EB2D372E93DD52A2B530C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; 54FA71D224ADA5BB1D7609F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 5506210306B34612B94A4F73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -343,31 +416,48 @@ 5672F39F7E0BE7C0404DFF3F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; 56DBD10356F84A4BA04CDC91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 5705584FED86AFC880D29636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5801750CF0519C43BF6F450A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; 581C4C0B98C23C3DB668CEB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; 582FBB461EE1EB7CB6523F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 584B4CCDAF7106E99AC52813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 584E5E26ACA7AD527A7C6751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; + 5906AD70A7E2AA3CEB98F5FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; + 591BC5ABAC5BAC7C425431B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.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"; }; + 5C31C71FAB61B8605D805580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; 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"; }; + 5C87BC7BDBBCC2AF11C81D91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; + 5C95BA9F98E439707408D5A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.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"; }; + 5CAFB1705FEA015F58B1FF0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; 5CF7CD3EEF448305C0379EF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D0DE6405AC7FD961FA3F335 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5D279D7B4D9A6F9296031EA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; + 5D43EDC56BE59D4B097BD7C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + 5DD2B95F862F03137D997371 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; 5DE447B4EF54671CDB3D6312 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; 5E08B451958D053503C7D4B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; 5E60BCC59FCD7A7C4BFC12C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; 5EB20E60D32277FD65334F8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 5F03B8BEDE0CD295F88A43A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.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"; }; + 5FBF3B6EFC7F330DA8B68781 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; 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"; }; + 60779F977F78851A260D018C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; 60C3BAD5EFA0919868397BE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 611115879CBEC076CDFAAA19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; 613237A07C28F68AC74E65CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; 61697E991AD1E66C0C594B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; 617FE5BBAEFCD2B7DD028BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + 61A43069B570E44C9545B8DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 61DA015236CFD7B12845962A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6312A6FD41FEB9EBB3734A7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 631C04DB8E078ACFBCE88899 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; @@ -378,50 +468,70 @@ 63F1FAD7C8EFE4EA8C3B0C8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; 6448850AC54F75454D955D13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 64663FA1B06165CB8FBB3517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 64721C1223D0AC624D4163F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; 648B531019DAD4981D0BDF87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 64C3164FC697A6FCFE6B3E27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 64C478A888B5507EDE040B01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 6547E998448E6C4F13D52FA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; + 65523E6A2DCC99A71F894157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.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"; }; + 65BB11618A9F97EE299B1864 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; }; + 65BBEFC85BFC6DAC542BFBF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; 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"; }; + 66381688BC4452212A4E1233 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.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"; }; 66CB68AF65C6F4D9BC9CCEE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + 66E077B879AAC571E92FCFE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; 670F8235428374C1F56CE450 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; 67BDF038CB074B6E187D2416 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 68486F8758F2EEF9993D7857 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6851538A94D2AC48F4B98DF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 685DE9D3F2D761B6D72034EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 687D7CF533980697442177B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 688706C1B86485F96C8B5F75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; 689661668DD8343C392F6386 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + 68B9E244738E43B9CC70AA4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; 68BA9B4F25D21E387AFC5508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68EBB3188D19AAD7AA7DEBD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; 6949A4D08A318AD0325C789D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 696DBFCE44ECE9F36CF91EAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; + 69A5FBB4E7332452CA76BC04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; 69BF7FD2878ED66786568F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 69D3204FD1FBAD7E61C4BD75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; 69E0276137D3932868D183CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 69E2A692515096D73E89AEE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; 69FCFCFB27C813FA54433E47 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; 6A1EBAD397DC24CC101A95C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 6A4DDCFA6085BF3B1C3EA8B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; 6A4E715CFA17D90E1D3357FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; 6A940E978871830CA184925B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6AECDA63A11D0653632315C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; + 6AF331F36EF87B3384648A73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; 6B5E4C82FF829907B7AAD9E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 6D7DCC497AC08CAC2AAD88FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6D8BED36A671F9D041E97DDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; 6DD569C2FEB6B74B781B81C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 6E3A962ECB84FC510953CB30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 6E611A3F6A21F38D28BB3F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; 6E77389AF95D5755785BCB22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 6EC8C8563006BF7D6F169BE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F80D964A9A9BB097673CB80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6FC1F892958558D151C82829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + 6FCC03E44D02435354426397 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 7026C717D9CA96D4284F2EA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; 70500CEFC87676A0527B9BEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 70DD9F9787C44382F78AFE49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 70EDDED35F843B69F209517E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; 712579DB83B0E0A46D9CBE4C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; 7168F7090C9FF9823767CD08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 71B26FC46CC356F68522156A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; @@ -431,26 +541,33 @@ 729C925A39C2E4171B1F83D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 72FF837400C45FE952F21A02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 730EED541EB21207503B9215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 731E31893F5378AAF1A5225E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; 73FCCD21049285EFE6BE952A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; 7430B5997F301D74E500CD57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 7451A2B6892F6EBEC1BDCBFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + 7470792C9A2F2E14A1645264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 76C0CB9E87521702EB6CA984 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; 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"; }; 7737BA38A3BFF94A4F81E8B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; 77836DBF108AD82E4F3A0E83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 77BF4B744E58BAC43F0CD683 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; 77F018DAFB95EE7FC4A84116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + 77F7FECFDC8995D85BB0A886 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; + 7845673FB30C66664AF41B4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; + 7874926924E1BFEDF551E81F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; 78B360C6C7E04877B34FC0FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 78EE4EBBF9AFABEEE141C7F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; 78FADABE8677D0116CCEC30C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; 7920FB43FBC0BCBE4913419D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 7941F601CD5179239D8913A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7974BA21A9D5056987B14251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; 7A39255EE30193D7E4FF47BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A7B0FFC73DF9275AF4AF1F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; 7AB5F29264AD8BF9BA656062 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; 7ACF47AD08EDD9B5F8D11864 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B387E78A4F51EB8C1B65580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; @@ -463,36 +580,48 @@ 7D692FC3AE7155628BDCD720 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D862604F1805E0C1C9787DD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 7DAFF7AC80E85A6DD32411FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 7E2AE9D6363C6C7CE2FA6223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; + 7E557EA92FE1E9561CDE091D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; 7F463F63EE03C82B924DBF32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 7FA2224BFD884D387750E1C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7FDA721AB31E9187FE3E65A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; 80187D9602541B6520358225 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 804EEAC995CAB8564151AB19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 8053F38ECD9D9C004CF9FF7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; 80930811C3C2D1F258F426AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; 811F028338F22E417E63D050 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; 815625B94E5D2820523EE42E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + 82154708737BED2E868DCA02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; 826E3E424F0A7BDF5FECE7F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 82F071C070E284D2D73A786A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; + 82FAC8E5022CF21C0EDFF294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; + 83438C47408D5C05FBA789D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; 83A46A2F0420A051CE1619AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; 83AB6158183E5A7404C01005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; 840091BD6C22FB22A4E8192C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; 840B1BC26A131FE18F12088B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 845A9684EBA3F3DA32FF3F1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 846868CEC23636D4A18CA901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; 84F658CB06D45B9D62542CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 852A7C317FEA7562011C10AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; 8543BC7A9B7C06BA2D7492BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 8581D64579233BEA8A83B310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85B19209A3BC2A90FB6E6BBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; 85D62EA4246A12A275DEECFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; 85E556EC089992434FC9D059 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; 85F2B3D0A8663DBFAD1EFFF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; 860AB680399C2884FE9B0D19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 8651D69ED86CAC13B4966053 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; 87231784C36FC88B589C2C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87EF76FE467F0E1EF10B3E8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; 880FD85A41F02F3748CFCAE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; 882CC37B469E0EEF75975B46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; 8832699DA05AF3E69754D928 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8835E7FFB9417A1832512418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 885F12469DA0E9463F844B3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; 88702ED578A756109C44DDDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 8870F99E05F806275E16F368 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 889D2181A4C5B56CC7DA3C3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 88D7320B84F829FB04601EBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 890ADCDB18D11CF064499EBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 8925D78B9DCA7D5CB1B6189F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -503,6 +632,7 @@ 89A0A52FB96BAEA6538CF7B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; 89A0F6183BB37176E209C27C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 89A3E00AB8BBFCCE9CFECB16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 89F2FEA666FDA49F995B332C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; 89F8EC0A779876BC128CD0EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8A415D7B252A423FEB14D2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 8B108A30FDA1E1B9ECB5455C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -511,34 +641,53 @@ 8B5C124C6B46CEB665C2182C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; 8BDE914149402DA3C6066365 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BE1C7BAA2883D1C9DDFE99C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BFA2FA69E71F8C569D037E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; 8C60220B48B95A0B3630FCE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C8FEDE65D4CBECC38D2BB62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; 8CC335AE8A93FEB0D9C0A7A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8CC92225795CF7A358E68CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8CDAF20C1B1E1C3CF5E144D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 8D1F3A7055EB7077ECFA5655 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; 8D7FA2A37603079FDE443AF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 8D8FE20F9365F60BBDB0CDA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; 8DCE74B86647D84771CB024C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 8DF31ADF7747F6C94118B221 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8DF81B6FDFEBEFF95698AE24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; 8E03AAF11FA54C45D7E914E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 8E85B4C86131B75C60D76FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + 8F152D2F8CEDBF044DCFFE62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; + 8F38FB329639CD34C4C88153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; 8F70D446A5AD5055B345DC3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + 8F8DE603B72B00AC31F46783 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 9299E13B7EF69BD5EAEBDD71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92AAA74ADE6167AB4A36FF6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; 92C6E8140B7A11207A75BC92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 92E9E50DCD5CC8113296C700 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 931AAFDDF0998234A87F1199 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 93549DB8C7462D7AC265E8B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 938E9A1DD5BAA2799B0BE9CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 93A3C5ECF52768C902C38456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 93BEC7ED6B55FE2FF09185EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; 93C4F70FF4F4EB41AA6F6C88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 93D5A3ED4C68BE017E66D5CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; 93E55817F62A230AE17BFFBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9406D9035DB1DFA78612924D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; + 9441FD79036DF950556337E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; 9463F443EED05E93B511F24D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 947EBCB2AF41421CCFF35A2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; 94902285B15191250640CEE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; 9491FFC209914E9C2B21B57B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9496BA731D1AAE523F62B8BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + 94D37458590FEF1243441444 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 94DA6DAF5C2B4512BF50F90C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 94E011D3F9516760F1467C33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; 9532A71C9A7BE7F2B60D0532 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 956F09347CA5B17BB6D4A506 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; 959434E052E50D47675F1811 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -549,11 +698,13 @@ 96C9F66E6147673C7C62FF17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 96DC4DD771CEF741889F0DF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 97036BFA07D0B0106EFD882E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 97503CC50C64D66917E12BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 97A593570ACD51EE988AE16F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 9857EFB48E070409825FDA6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 98ADB67D576F177244B3E586 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; 98BA53EAA702029BB8B66D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; 990725C2640BABF1AE3F9ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 991B68F808D79B4D4E35BE3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; 99327B105A339EF73AA9B1F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 997B3B4AAC07DE55F0BAD60D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 9987C8227A4C405F8102D7ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -562,6 +713,7 @@ 9A4FCAF90402686244787CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A57575E631655CCA06424FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A627134360A815F8EC2BC4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 9A7E0C7439F1729B55CEFC00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; 9ACD926CC73948E98781603E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9ADD13C236FD22766AE34F3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 9AFA9168356B94F7B6383514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; @@ -569,14 +721,17 @@ 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"; }; + 9CC5B528A3373D5701900255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 9CE6434F7FD9745C0C6C0AB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; 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"; }; 9D2FB31EBA4C1F922DE01713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 9D637E3832477D92F0D4683A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; 9DE5E783CE5089EFF9212374 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; 9E188388D731F86A3462278E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + 9E4F20709A67428906D869F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; + 9E7D2D017F3EC7EF8FD9DB29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; 9F286D17B041121B4219E763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F51A8C806F771FD62CA1D19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F56E89727F8239EE4145EFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -584,32 +739,46 @@ 9FE22FA506D161BA152CE6E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; A07EA02269FDA6F1D5E7D082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; A0B17ED9F3D469D25D5A8750 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + A133C832F9CB271DD4C6BD58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A2ABBE89F5E2C040EBFA0F53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.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"; }; A419D46EB6EFFE889E0B892E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; A45593371E92730F50225901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + A46872F6E8EE0CC38D9415B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; A46BD37C5515104109D42CCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + A498538372BCBAC74A81749F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; A49DFE831CC39591D0128DFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; A4C1D2581F736CA8D04F49F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; A4FAFF87F498F426BCD9B807 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; A510B76DB11EFD76A03B3947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5135B1844E7C2777DACF00E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; 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"; }; + A68DBCF96F4420A18AABAE03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; + A713C411A4DA7D103235DEB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; 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"; }; + A7CB566A0F3161201443A8D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; 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"; }; A80EFB26F8289ADBB916857F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + A820AAE02914A3E2CDC9CECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; + A8373DA25B6F37DF98F76C53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; A84C1C2B948F649C4BF4B81B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; A87535BCCA1FADDD74E5B71F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; A89C87C35469029FA34797EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + A8CD93ADACBBBCC0CF113C8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; A94E5E78BA59860077A18B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + A97C3AE6AB798B04C93C11D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + A9BB95385984CE07A3D13B87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; AA33C344977218A340CE19CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; AA47E3BC963AF7DC3AC577A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; AA904643FFC473D0D18D0BA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -617,28 +786,34 @@ 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"; }; + ABC92E70AB454C3FC58A177A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; 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"; }; ACE6547962A383D98A9458D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + AE21BBD474B1AEFCF95CE9AB = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; 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"; }; + AF5803CBAD262A5162370F5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; AF8553DAC074FEABDA84C9D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; AFA04C4E517DE4ED633CCFBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; B0696DD3E84E7CE790B9B700 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; B089FEE15E183235208CFDD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + B0E4E3A702C803943A6FD0C5 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; B120BADD5BB2F8E2A3998958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; B13129B0D10094D12C55CEE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + B136FE36E7424A1DC58C227B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; B1AC9A7D91E8207A3E04DCC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + B26AA572B39C86BE220C7E1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; + B2DC142299897A84BA355261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; + B2F298FBDF25F5F0AEB9C6E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; 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"; }; @@ -651,16 +826,22 @@ B47C818242E6977693162FF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B4A05C3317BBCA2D6C6B71D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; B4D96C511A70A80EA0631490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; + B4E32416279E4E6E21EB39A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; B4E72C3E5FADAE29A1B64034 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; B5172B8A395FB7C709F90E3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; B51D8078F3E56D6290BA34C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; B531308B067B95D321F2931D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; B545F7556A6B837BB79234CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; B5549BFA101F6BD22DD7361B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; + B59ECEBFDCB706F84D563D9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; B6AA2BA5701F9CE29C1BB0CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; B6EF2D221B2FBEE591ECF465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + B757E1B58C65F465826BD9BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; }; + B78F42E805D249DC04D50A24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; + B7B84EC9CCA4B969DFAAC283 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; B8BF9B237B8EFC120B58FA5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; B8DC9E6368B53B15909A65C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + B8DEB8B85480E9A5013CFCDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; B92BA92DA9F0E6E4477FFA1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; B9512DEAA022CC70F67A70D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; B96BAD7F695ADE4F866287E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -674,23 +855,32 @@ BA54EE326A7C4C9E09D5FB32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; BA81FD80EC93028C25149C4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; BA890C3213ED550A0141AC92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + BA90C33FCA3C74A95D4047B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; BAA4EFAE7924CB84918B1828 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; BAD20964A3B8A61D32DD6DAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; BB48E48339D63F95EF3C54E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; BC24FD941412387765EA0843 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + BC6F5395CABCB34D189BA838 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; BCB59F2175A5F9A89FA4B7D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + BD66163B653DB53B49CCBCAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; BDB0B91042B66F852D5422EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; BDD7A37E2B58CEF1D3E43F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; BDFBFC678EB00B18E50D8253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + BE34ADC57E56B0AA9884F6EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; BE716697AFA576545758D402 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; BF59C1448C078BB05C98D035 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; BF8E69AF5C7E25E40C5EE291 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; BFE09034425CFDD68681C2E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + BFEB94230C102657A897A152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + C00E9BD1BD42FC89BA8EF199 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; C05FC23CC318A72488B619B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; C07D3C95EAC661548028A248 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; C07F74F9E8E9F8EC006DDA71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; C0DFAE9FDA8F7BCC3119F627 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; C0E8615A163EEF3306166782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C124A8053120B4A3C44F644F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + C13CFD2E0361000757B08D60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; + C18AEC59D7A186FA1F544926 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; C1A80FCB592E835EBCF99353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; C1EC0F340FF36D4E8DFDCC36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; C2642B68EA6E39D33A374565 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; @@ -700,17 +890,26 @@ C3C0A1529556EA398661542D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; C3CD734730B0F29CF21C7A2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; C3CF3D9FA217B7C5AE21167F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3DC8E841AEC6066129806FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; C418AB58AA16DB4C8268AABA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + C42EF198092EF6448143B696 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + C4E42003546B5BC1235AE561 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; C5D85EA3957DB426A64D9BA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; C5FC3F71B878B3F1245ECC15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; C61E0DB94BACBBA1D25C7C2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; C6F97F91E3256D59FA08C9B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + C6FB3B1E0A40C277E7342BE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; + C711AC6AF947CC524DA96EA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; C713F8502BD622BD3E2B905C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; C784852DD948BFA740D1FD9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + C7D36782B9B35C8FDE85466A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; C83830A9E5385799A7DB35DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; C85AF18122749F523593A8A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; C87DE3828B0959802E959622 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StringDemoComponent.h; path = ../../Source/StringDemoComponent.h; sourceTree = "SOURCE_ROOT"; }; + C8F81F707A24601A3CC273C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; + C92FB56000215286FA71B5CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; C98DCED50766D656CE34A929 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9D63A5575BD9C2FB5E7EAC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; CA647FA729CD4CB3AEB1C3B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; CA67ED34495C07BC5AB3BB54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; CA7A3A2C10738D0ED143E698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -729,65 +928,84 @@ CD58F337A0BEF9537A8438F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; CD7ABDCA2C1A10A67B2C34A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; CDDBCDEAE729889B8B4111E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + CDFABAC36069DCCBD9208911 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; CE64D69FD11D6D1E24C52456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; CE7D49BB78F421CCF35597DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; CE852E4C7B5F304AC9129966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + D0D8EAEE7AC524EBB5663753 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.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"; }; + D1E505C7493819DB1D8A26BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; 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"; }; + D30EE75A832E4CC689B457A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; 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"; }; 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"; }; + D40FB94A0C30B8FA4499A809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; + D441FE64E66AC7CC82DC1ACA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; 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"; }; + D543693FA37BC70C36605673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; 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"; }; + D61B26585CDD6B9FA7BC459F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; + D652E4EF667B35BF507D1A93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; 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"; }; + D6F66228FA5F22A6AB677F94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; 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"; }; + D75F560B2BD87C87C53F5A78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; + D7AC889A8869D5560BEEABD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.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"; }; + 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"; }; - DAD40A9B9883D61C3C5215CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; - DB0EC90DD8242F2D1B131770 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; - DCE1EC089E977139F6C190D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; - DDD50D9B532BC1EDE871B388 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - DE7C78699796CD76524D63DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; - DE8FF2462362152A54097844 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; 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"; }; - 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"; }; - D49251DC02B56E702AAF667F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.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"; }; - D874653E5D123090F8BB2F74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; 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"; }; + DA10B9BA0D14AD6A11108990 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; 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"; }; + DA90E72FA67667CB5DFDADF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; + DAD40A9B9883D61C3C5215CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + DAD5FAF0883E19F8BB2FCD81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; + DB0EC90DD8242F2D1B131770 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; DB67F520CBE4FE7CE8D41746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; DBE72EEB237E3C042F2747E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; DC224A6FC6231EB7A814FB67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + DC263AFE95D1E942AE65912E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + DCE1EC089E977139F6C190D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + DD1DC63F2DD7BB0CB043FDCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; DDCA480220877E4AE202096A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; + DDD50D9B532BC1EDE871B388 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DE58DB49BBBC219F6604099D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; DE7C6A2BEAA65A22198CA907 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + DE7C78699796CD76524D63DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + DFAEE67D6424B9186F4509D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; + DFBC0DDCBA553C73964FC593 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; + DFDD9D9DE030E708970FA503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; 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"; }; @@ -797,18 +1015,24 @@ 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"; }; + E45DC03FF85B4B7C97226D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; E49589BBCACCFA22EDBB89FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; E4EAF1E1D83261CA8E4C9DA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; E4FE6F98B17D457B9103C68B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; E5021ACBFEC2AE96AFCF905C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; E516F38B903377B691FBE767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; E55D296396D8FEC9CDD0E369 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + E5C409C0E301457A1BF1273E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; E5E2F72493898D67D148AC4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; E637CFECE4E79BC39A715D2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; E638ABADF69A0A68FFB9B105 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E6571941CDE94F1E6072A128 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; + E6942258C44B0C6E5CCB0240 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E6D261C9F51AF0BE729403BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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"; }; @@ -816,9 +1040,12 @@ E7E1BAB6D2A6DCFE5ACB3609 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; E8D54B01E3C3AB80310631D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; E919FDE8DFA8453736433E22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9B1DAB77B11AFBC17870AB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; E9D53D48588D99F2B7F8F343 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + E9D5BC34778F7D02CF88E020 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.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"; }; @@ -835,6 +1062,8 @@ EE5C63DB91FE13D85C6BA24E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; EE70A7C10CED040476D95688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; EE77D55083776A0A61489211 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + EEDBAD8B46E98ECA8C7597BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + EEE32DF6C61FB8C2688C6727 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; EF03C224897C250349FA8A68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; EF1C7165B6D23C2BDBD465D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; EF43B3C3C2C1B5DE176BDA1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; @@ -843,23 +1072,30 @@ F04C43A2942E3EE680444060 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; F06AA97373B477217CC8B17E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; F1210CDD58B1AE2C1AAAC94A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + F138FC6811EE108A827BAF96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; 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"; }; + F256C75DAD52139B6786DA8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; 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"; }; + F31B231D1F66F56C38FCAF4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; + F36C5D30475643B41AD0965C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; F36D1FF45A7C491B89EDBE34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; F374D2F9019374F058C4C1C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + F38DBC41E8D40101CD087869 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; F3B6F4B22C3F5807030D1544 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; F469DEA733546D787C97D48D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; F4A4AEB7D999BB0E3CC8268F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + F4EC9B26050C45DF7186EAC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; F5376A1DA30DF0D8447CBF61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; F55403CD007C2312C74D60DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; F603EB07E6AD925C5A685FF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; F6197F4E59C3A9614B1DF0CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; F64044802A19E57515621082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; F64424C92797A275E994E4E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F67696A86B9EF81E1B47AC15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; F6901BEB2A9068B45FAF02AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; F6AEBB945D6263EC19184122 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; F74768E6FDB668CFC1AB57ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -869,6 +1105,7 @@ 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"; }; + F7B926B82215B1A9C013D8D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; 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"; }; F82559A2981409B934394A39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; @@ -881,19 +1118,26 @@ 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"; }; + FA05B1C5FCFBC4F63CA6BDE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; 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"; }; + FA67680725131DA84A306D94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; FA820970967B9CCCFAE3937F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; FAA6A2799E263DF240FB637E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FAC181B11D4931548FE3FBAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; FB4894C6FD05CEB53DCE471C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB4CDD2108187AF7A16C2B45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; FBD8883F17ADDBF8DD35DAA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; FBF6E07CE4C8DD2CC43CE0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; + FC056EF691F9EF94D25CCA42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; FC16BAEC03D3D87564D8E436 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; FC6B217E600350A8449C93E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; FCBC2B2CF8C5EB7E4601E209 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; FCCB23C404D8574B6423FD71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD07C6E6E05832CB1BC8A499 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; + FD12F347A392948B38A50955 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; + FD131DEC76024A66DA1E8EB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; FD571868A7827D0DAD77AB49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; FD72DCB41229D242F5F0ECBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StringSynthesiser.h; path = ../../Source/StringSynthesiser.h; sourceTree = "SOURCE_ROOT"; }; FD9700427B688B981627FB32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -914,13 +1158,15 @@ 15E2C6DA9D186E7097C501B9, ); name = Source; sourceTree = ""; }; BBDA2DD68415C10F0E4A2E7F = {isa = PBXGroup; children = ( AC4A50CFED2BAA67D69B4304, ); name = PluckedStringsDemo; sourceTree = ""; }; - 4CDD4E9F3579E62CCDFCD58C = {isa = PBXGroup; children = ( + FFC8A7E00AB7793664792318 = {isa = PBXGroup; children = ( 6C925C01C9CE27D48B8D4F23, D0B644D77B9391EE809D5729, 1A338ED27F04799A114753A9, 78FADABE8677D0116CCEC30C, F469DEA733546D787C97D48D, ); name = buffers; sourceTree = ""; }; - E6F670A3AEF8C951280C37B2 = {isa = PBXGroup; children = ( + 04E48A4EA9DA9A70222B5EB2 = {isa = PBXGroup; children = ( + 889D2181A4C5B56CC7DA3C3B, + 8CDAF20C1B1E1C3CF5E144D4, 3BE93E02F4DC87E09FC9A0D2, 6BC2EE2C476654385265F253, A24BC68465F3DD50799E23F6, @@ -930,7 +1176,7 @@ 2CBDA02360FDE3AC17DC2309, E13EA07F317B5CABDA7C28D5, CAFC369013618A1F8E76C7AE, ); name = effects; sourceTree = ""; }; - 0EAD759AD345FDFC5FA750B3 = {isa = PBXGroup; children = ( + 434B1DBAA272B32E46DF966F = {isa = PBXGroup; children = ( 8BDE914149402DA3C6066365, FC16BAEC03D3D87564D8E436, A7EA5BB9A43B645A88B1DDAD, @@ -943,7 +1189,7 @@ 0CF1B842613B7CB1AD870EB1, B4D96C511A70A80EA0631490, 9CF085AEEEA762EE08B33A8B, ); name = midi; sourceTree = ""; }; - 233ABC94309D4A69E88862CE = {isa = PBXGroup; children = ( + 37DE23DD9DFE50C625F52370 = {isa = PBXGroup; children = ( 124F0362444DF3C638754B62, 689661668DD8343C392F6386, E1ABC9E6B24B3D7CDF0CA22A, @@ -979,19 +1225,25 @@ 0E27E32E44CDE4F786209EA0, B8BF9B237B8EFC120B58FA5E, 32C633E55DB50E3A121A9952, ); name = sources; sourceTree = ""; }; - 3EF5E929FCA56658C70C00FF = {isa = PBXGroup; children = ( + AF7FFCA5168AE81EF36A351E = {isa = PBXGroup; children = ( FBD8883F17ADDBF8DD35DAA7, B96BAD7F695ADE4F866287E7, ); name = synthesisers; sourceTree = ""; }; 72EEB46C16381A28CD77F6CF = {isa = PBXGroup; children = ( - 4CDD4E9F3579E62CCDFCD58C, - E6F670A3AEF8C951280C37B2, - 0EAD759AD345FDFC5FA750B3, - 233ABC94309D4A69E88862CE, + FFC8A7E00AB7793664792318, + 04E48A4EA9DA9A70222B5EB2, + 434B1DBAA272B32E46DF966F, + 37DE23DD9DFE50C625F52370, 9F88BBB03CD6C89EA6522DBE, - 3EF5E929FCA56658C70C00FF, - 9C6C68347FA9F8EE8E72E315, + AF7FFCA5168AE81EF36A351E, + E5C409C0E301457A1BF1273E, + E4EAF1E1D83261CA8E4C9DA2, + A761485A8D6D7DAA5F331CEF, E4EAF1E1D83261CA8E4C9DA2, ); name = "juce_audio_basics"; sourceTree = ""; }; - E21AE5687FBAC3628742B0DF = {isa = PBXGroup; children = ( + 8B201D8B45C6D0E3A3375E87 = {isa = PBXGroup; children = ( + 7250AA25548636949FF5B68B, + 2A896A4242C9F93BFF338CE3, + 38D001655D30BC38B4DE4C6B, ); name = "audio_cd"; sourceTree = ""; }; + E7D08CF3FD943A49982D2370 = {isa = PBXGroup; children = ( D1114D6AD8DBEE47C9833B78, CA647FA729CD4CB3AEB1C3B4, 804EEAC995CAB8564151AB19, @@ -999,22 +1251,13 @@ 243D35409669FD6B5D1040F9, B6EF2D221B2FBEE591ECF465, FBF6E07CE4C8DD2CC43CE0C1, ); name = "audio_io"; sourceTree = ""; }; - DC4234036733F1CAB3F5DA95 = {isa = PBXGroup; children = ( + 14C859E7D7CEB9A1F819FEB2 = {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 = ( + 4D836F2269439F3253736662 = {isa = PBXGroup; children = ( 051188AC62E1F2F1EC3B8172, 7920FB43FBC0BCBE4913419D, FA1C3482A549B7173000DDAB, @@ -1034,31 +1277,169 @@ 217581A16B821915FDAAA6B1, 890ADCDB18D11CF064499EBA, 5506210306B34612B94A4F73, ); name = native; sourceTree = ""; }; + 04A6CB44E83D0C80599F08B6 = {isa = PBXGroup; children = ( + 5E60BCC59FCD7A7C4BFC12C0, + 4D2A30F16BB38A1D63CD289E, + 9AFF4A0F14B8749DC0E0D4C5, + 443708F62791FF0D4F639D51, ); name = sources; sourceTree = ""; }; CB43F53DE66A3B8476A26B14 = {isa = PBXGroup; children = ( - E21AE5687FBAC3628742B0DF, - DC4234036733F1CAB3F5DA95, - 31E966EA5519C0F0A16C5707, - 640720AD74C12C2D844C3F09, - 758A8C9926267454CA6561FC, - 65901CAD34BED898683861C6, + 8B201D8B45C6D0E3A3375E87, + E7D08CF3FD943A49982D2370, + 14C859E7D7CEB9A1F819FEB2, + 4D836F2269439F3253736662, + 04A6CB44E83D0C80599F08B6, + 69E2A692515096D73E89AEE3, + 02E0359692B001FDD7991015, + F9F345826E9AB0968CC27C06, 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 = ( + A1095C18BE23A79C35B5BA28 = {isa = PBXGroup; children = ( + 68EBB3188D19AAD7AA7DEBD8, + AF5803CBAD262A5162370F5C, + 9CE6434F7FD9745C0C6C0AB7, + 97503CC50C64D66917E12BB6, + 324A43E1DAB1A2A0017D80F7, + A9BB95385984CE07A3D13B87, + 8E85B4C86131B75C60D76FD6, + 7E2AE9D6363C6C7CE2FA6223, + A5135B1844E7C2777DACF00E, + D6F66228FA5F22A6AB677F94, + 9A7E0C7439F1729B55CEFC00, + BD66163B653DB53B49CCBCAC, + D441FE64E66AC7CC82DC1ACA, + DD1DC63F2DD7BB0CB043FDCE, + E9D5BC34778F7D02CF88E020, + 4FCBB01533408574CC5ACE84, ); name = private; sourceTree = ""; }; + 5635EB7901A1A3186EE76A52 = {isa = PBXGroup; children = ( + 8D1F3A7055EB7077ECFA5655, + D7AC889A8869D5560BEEABD5, + 6E3A962ECB84FC510953CB30, ); name = protected; sourceTree = ""; }; + 6B561E074DC1D93A435DA294 = {isa = PBXGroup; children = ( + A1095C18BE23A79C35B5BA28, + 5635EB7901A1A3186EE76A52, ); name = include; sourceTree = ""; }; + 86792B5ACB87801BB2BC56DD = {isa = PBXGroup; children = ( + 6B561E074DC1D93A435DA294, + 89F2FEA666FDA49F995B332C, + D40FB94A0C30B8FA4499A809, + 5C31C71FAB61B8605D805580, + 25CF14657306FA96620FA10A, + FD12F347A392948B38A50955, + 7FDA721AB31E9187FE3E65A5, + A8CD93ADACBBBCC0CF113C8D, + 37511CE5C93BB35C59AF8493, + 77F7FECFDC8995D85BB0A886, + 93BEC7ED6B55FE2FF09185EA, + FA05B1C5FCFBC4F63CA6BDE9, + 885F12469DA0E9463F844B3F, + 846868CEC23636D4A18CA901, + 64C478A888B5507EDE040B01, + C9D63A5575BD9C2FB5E7EAC8, ); name = libFLAC; sourceTree = ""; }; + 42D14FB90291AC5B1A264D03 = {isa = PBXGroup; children = ( + 86792B5ACB87801BB2BC56DD, + 5493A8E052482773A0AD394E, + 543268AC7053F8C372FED07D, + D30EE75A832E4CC689B457A0, + 7845673FB30C66664AF41B4B, + 6AECDA63A11D0653632315C8, + B2F298FBDF25F5F0AEB9C6E1, + 92AAA74ADE6167AB4A36FF6C, + B0E4E3A702C803943A6FD0C5, + A820AAE02914A3E2CDC9CECF, + CDFABAC36069DCCBD9208911, + 65BB11618A9F97EE299B1864, + 0ACC362663B8E2012FDD399F, + 93549DB8C7462D7AC265E8B7, + 3972CE07B664956A2998CFB5, ); name = flac; sourceTree = ""; }; + 2FAB145B51B590128BFB2B44 = {isa = PBXGroup; children = ( + 8F8DE603B72B00AC31F46783, + 9441FD79036DF950556337E5, ); name = coupled; sourceTree = ""; }; + 9BEE08F018B2FF619372E6C3 = {isa = PBXGroup; children = ( + 43B1FD7B93781768A5C3CD05, ); name = floor; sourceTree = ""; }; + 38F8BAF868CA7D893265E5FC = {isa = PBXGroup; children = ( + 6AF331F36EF87B3384648A73, ); name = uncoupled; sourceTree = ""; }; + 1A474D48B72A49841E62A479 = {isa = PBXGroup; children = ( + 2FAB145B51B590128BFB2B44, + 9BEE08F018B2FF619372E6C3, + 38F8BAF868CA7D893265E5FC, ); name = books; sourceTree = ""; }; + 8AD9728FCB6FA8332B762DCE = {isa = PBXGroup; children = ( + B78F42E805D249DC04D50A24, + 87EF76FE467F0E1EF10B3E8C, + F31B231D1F66F56C38FCAF4E, + 69A5FBB4E7332452CA76BC04, + 4E58DAF7B8943A13BE1FB074, + BE34ADC57E56B0AA9884F6EC, + A2ABBE89F5E2C040EBFA0F53, + 65523E6A2DCC99A71F894157, + 33B1A25AECDEB74A772B8004, + 69D3204FD1FBAD7E61C4BD75, + 66381688BC4452212A4E1233, + 21F73F828250056A48646D01, + D75F560B2BD87C87C53F5A78, + 099CB39CA29E1ED5F689C082, + 6E611A3F6A21F38D28BB3F9F, + DA90E72FA67667CB5DFDADF9, + A97C3AE6AB798B04C93C11D6, + C13CFD2E0361000757B08D60, + 135FF1FEDE34B052FBEA1DB1, ); name = modes; sourceTree = ""; }; + 81F64E2A92D40B299053DCED = {isa = PBXGroup; children = ( + 1A474D48B72A49841E62A479, + 8AD9728FCB6FA8332B762DCE, + 8F38FB329639CD34C4C88153, + 5F03B8BEDE0CD295F88A43A5, + 231558462F8BDE7F73452EBC, + DAD5FAF0883E19F8BB2FCD81, + C4E42003546B5BC1235AE561, + 034C91F8B59869BC107FA64F, + FD131DEC76024A66DA1E8EB3, + 47EB6051728718682263AF34, + C18AEC59D7A186FA1F544926, + 7974BA21A9D5056987B14251, + C7D36782B9B35C8FDE85466A, + 47CE98BF6BFC1E13F9DED70C, + E9B1DAB77B11AFBC17870AB6, + 64721C1223D0AC624D4163F0, + 8F152D2F8CEDBF044DCFFE62, + A8373DA25B6F37DF98F76C53, + 5197E0EC574C21F764FEA57B, + 85B19209A3BC2A90FB6E6BBF, + B136FE36E7424A1DC58C227B, + 2F513CB36624FC05EAAC2758, + ABC92E70AB454C3FC58A177A, + F38DBC41E8D40101CD087869, + C00E9BD1BD42FC89BA8EF199, + 1AD7087782E7CAC145C9C405, + DFAEE67D6424B9186F4509D0, + 32625D80EA6EA67343DC331C, + 37F975CD7B37083A508065D8, + B757E1B58C65F465826BD9BD, + DC263AFE95D1E942AE65912E, + 13843E517773650742139899, + D0D8EAEE7AC524EBB5663753, + BA90C33FCA3C74A95D4047B8, + 5801750CF0519C43BF6F450A, + 5C87BC7BDBBCC2AF11C81D91, + 83438C47408D5C05FBA789D9, + 2CF3E47D166B9851E0F24055, + 16FC53D6B89990E017B5E23B, + E6571941CDE94F1E6072A128, + 9496BA731D1AAE523F62B8BA, + 7874926924E1BFEDF551E81F, + 9E4F20709A67428906D869F9, ); name = lib; sourceTree = ""; }; + 8A4E54D60AE7FD00D8AE83E5 = {isa = PBXGroup; children = ( + 81F64E2A92D40B299053DCED, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + 26F867194B3F35207011AF0B = {isa = PBXGroup; children = ( + 8A4E54D60AE7FD00D8AE83E5, + 2AF638E5536951A3607DE1EF, + 991B68F808D79B4D4E35BE3B, + 2D2D77FD663CC3A0BE72D12B, + C711AC6AF947CC524DA96EA8, + AE21BBD474B1AEFCF95CE9AB, + 15ED853ADFF78FA5537A085E, + FB4CDD2108187AF7A16C2B45, + 82154708737BED2E868DCA02, + 4E5304D08E23AF81B314CD77, ); name = oggvorbis; sourceTree = ""; }; + CB3C9CA75AD371DAFEFF1C8C = {isa = PBXGroup; children = ( + 42D14FB90291AC5B1A264D03, + 26F867194B3F35207011AF0B, BAA4EFAE7924CB84918B1828, 03AD27A7D8E20DA4B206BE4D, 760B3251AD6F61E226DE09D8, @@ -1077,16 +1458,51 @@ 6949A4D08A318AD0325C789D, 5705584FED86AFC880D29636, AA47E3BC963AF7DC3AC577A0, ); name = codecs; sourceTree = ""; }; - C5595E63275CFF9786809C28 = {isa = PBXGroup; children = ( + 860F795C2AB7185894517C2C = {isa = PBXGroup; children = ( + B545F7556A6B837BB79234CB, + 4E080A8DD941D56ED59BF61F, + 4362C2C82F72B8FADB0A75BF, + 30E73DA3869DD88FF98B7A0A, + 423FCA9A4F7308626AE2C47A, + C3C0A1529556EA398661542D, + 8543BC7A9B7C06BA2D7492BC, + 019E78590DA10653E304AC0B, + D874653E5D123090F8BB2F74, + AAEB41C22FB8D42BACA0B9C0, + 11A1A738ADA6DD6D7C545D2C, + 01964DD7F75941420488F7FF, + 96C9F66E6147673C7C62FF17, + 89A3E00AB8BBFCCE9CFECB16, + 3F6CDD15E54516860979CDB1, ); name = format; sourceTree = ""; }; + 3EA48993DC7C7D6620479410 = {isa = PBXGroup; children = ( CBD271686134A8F8BA7B23B7, 19969ABC3D4021D65FEF8365, ); name = sampler; sourceTree = ""; }; 3E76B4CB1684504553FA4EB1 = {isa = PBXGroup; children = ( - A0661F403337215362DA48F0, - 8A0C0C1E8990A427D355F1CB, - C5595E63275CFF9786809C28, - AE0900763DA0BB9486C60CAD, + CB3C9CA75AD371DAFEFF1C8C, + 860F795C2AB7185894517C2C, + 3EA48993DC7C7D6620479410, + 41CEFEFA33AC6D0EBEF73CBB, + 00DE16C7A681D2B27139271C, + E2B2428CBB8BF06CD4A23DF7, 00DE16C7A681D2B27139271C, ); name = "juce_audio_formats"; sourceTree = ""; }; - 2DDA4BE5A40EE34524B4EF63 = {isa = PBXGroup; children = ( + E64F9ED00CCF57B0567DD01D = {isa = PBXGroup; children = ( + 9639A177FA54F29024B9144A, + DFE372DB89F74CFFF38F79F1, + EABEAA187BB08079ADF9C71F, + E2A0935487433A10A8839CCB, ); name = format; sourceTree = ""; }; + E62137DEFB52FA82239F8155 = {isa = PBXGroup; children = ( + 9FE22FA506D161BA152CE6E4, + 3EE734341645DBB78BA4A05B, + B8DC9E6368B53B15909A65C7, + 48C181B3A236B53DD3EBAC95, + 20C5434A8E167634150883A3, + 54420A7FCB25BAEEEB0FEEA0, + B3CD2EAF0DAB67CFA880BF8A, + 826E3E424F0A7BDF5FECE7F0, + 237404D7EAAD696962C85B05, + 92E9E50DCD5CC8113296C700, + 6B5E4C82FF829907B7AAD9E3, ); name = "format_types"; sourceTree = ""; }; + F83C6BFC736E431166EE423B = {isa = PBXGroup; children = ( 3610BCE8F9B56531CFC35E07, E70E79938BA521CADD5969F1, 3A607B65328748D6F1D742FD, @@ -1103,24 +1519,7 @@ 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 = ( + 7B6728B0005B8FB7BA3EF3A3 = {isa = PBXGroup; children = ( C2BB5BC7F60923C61B3680A5, 6CF4FF1BE015DDE172DD3D62, 4C6263AE4F930DAAE63AD3DA, @@ -1137,14 +1536,16 @@ 549EB2D372E93DD52A2B530C, BF8E69AF5C7E25E40C5EE291, ); name = utilities; sourceTree = ""; }; 9C7B8FD05619E353C4F00D95 = {isa = PBXGroup; children = ( - 2DDA4BE5A40EE34524B4EF63, - C86FB5BADA4D4A4904464BEF, - 4512A2DFCB9EC8F64CFCEBFC, - 99B49F16C746C30937A0C7AB, + E64F9ED00CCF57B0567DD01D, + E62137DEFB52FA82239F8155, + F83C6BFC736E431166EE423B, + 7B6728B0005B8FB7BA3EF3A3, 212F4ABE69E383D3A19B2CED, - B2B06FE1B4D9F6DC9138E5B3, + 4A448CCDA3A5973D256FA6AD, + 61697E991AD1E66C0C594B94, + F1F815174417773FAA117E9C, 61697E991AD1E66C0C594B94, ); name = "juce_audio_processors"; sourceTree = ""; }; - E9F168323DBF4E66116C2C46 = {isa = PBXGroup; children = ( + 59E298AED20858BFD72B9BEC = {isa = PBXGroup; children = ( 2DCC9E193676CF4A46D3B0C2, 61DA015236CFD7B12845962A, 7D692FC3AE7155628BDCD720, @@ -1159,72 +1560,24 @@ CCBFC06C62E598A89B08607D, 729C925A39C2E4171B1F83D7, 44DB0CBEE1E2BCE2B8AB6F2B, ); name = gui; sourceTree = ""; }; - F3E88FEA0F2DE2EEA31A0B8B = {isa = PBXGroup; children = ( - EBFBECF955B0489E81BA44E3, - 409A8214F15A0388D24ABC5F, ); name = players; sourceTree = ""; }; - EE0C77DEB1014675C9880DB1 = {isa = PBXGroup; children = ( + 33E34A97688ED142FEFE7104 = {isa = PBXGroup; children = ( EE30D384E567AE7F475E348F, 6DD569C2FEB6B74B781B81C9, 10797BCF6AB6944C7FB2E608, F7B35B431ED74EE1B2E16EE9, DF8F22B2BA37D04EAFCEE4B5, ); name = native; sourceTree = ""; }; + 0BD0353ECBB439C7AE06F67F = {isa = PBXGroup; children = ( + EBFBECF955B0489E81BA44E3, + 409A8214F15A0388D24ABC5F, ); name = players; sourceTree = ""; }; 43B3766A05E88BFC2AD2D322 = {isa = PBXGroup; children = ( - E9F168323DBF4E66116C2C46, - F3E88FEA0F2DE2EEA31A0B8B, - EE0C77DEB1014675C9880DB1, - 008D750457886981EC00455A, + 59E298AED20858BFD72B9BEC, + 33E34A97688ED142FEFE7104, + 0BD0353ECBB439C7AE06F67F, + 3799DDA17A51A8FFEE35F033, + BA4FAB8D8AE2625409DC5422, + 34777773F3AA232A567F897D, 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, ); 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 = ( + E5B954F1896C493CA639B712 = {isa = PBXGroup; children = ( 17C1B88CF8910492B6FBBEC3, 25785D7BB7C04A6FF5839577, CE852E4C7B5F304AC9129966, @@ -1246,37 +1599,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 = ( + 54D851A85B9499811ABF85C0 = {isa = PBXGroup; children = ( 50F1440EAD86D78748E9A0AC, 6A4DDCFA6085BF3B1C3EA8B6, 505CD8376F8F4A2FB3398B9D, @@ -1294,7 +1617,81 @@ 71B26FC46CC356F68522156A, FB4894C6FD05CEB53DCE471C, 60C3BAD5EFA0919868397BE3, ); name = files; sourceTree = ""; }; - 7824A1487860EEACBD72D747 = {isa = PBXGroup; children = ( + 9FD608079CB99A3721F9B769 = {isa = PBXGroup; children = ( + 93E55817F62A230AE17BFFBF, + 663207923A3359F998A52792, + 501415264FFFED81A47BE9B8, + 9B6A795A588B873B421EA141, ); name = javascript; sourceTree = ""; }; + 2CF74A583A8BE252C118E6F0 = {isa = PBXGroup; children = ( + 2CDE3A3C56111B028372BB8A, + 525B5225F9D36FF1DB0F61BC, + ABCEE2A08CB653C4351ADFF1, + 92C6E8140B7A11207A75BC92, ); name = logging; sourceTree = ""; }; + 1EEDC22A3A812B6C5131ABC7 = {isa = PBXGroup; children = ( + C3CF3D9FA217B7C5AE21167F, + F78E555FDD06265DF3021487, + 2097FB033C90004348C3FBDF, + B5549BFA101F6BD22DD7361B, + 4515D9EE3321B3EC5AA70907, + BC24FD941412387765EA0843, + AAC0C83157516B5A6179C6CB, + FD571868A7827D0DAD77AB49, + 8F70D446A5AD5055B345DC3F, + 5D43EDC56BE59D4B097BD7C9, ); name = maths; sourceTree = ""; }; + 66E1F90F8BAE06112A3A885A = {isa = PBXGroup; children = ( + 2196C8481B4177D9055AA47E, + 5A40FD30E8401DA9D26CD764, + 6A4E715CFA17D90E1D3357FA, + DB0EC90DD8242F2D1B131770, + 9F56E89727F8239EE4145EFB, + EF47881F88AEDF39FA83D7DA, + 36854C5E554CFF0CDE0CE3C6, + 09E1EB16E6EFFDCDD2B09892, + 0443919411CFFA599C096373, + 0DD021F0FADE79B577913355, + 153D6913F7AD9BDF2880ECB9, + DF1BC3535F31B126584889D0, + 3CD2FA1911E347C5ED1257FC, + 94902285B15191250640CEE0, ); name = memory; sourceTree = ""; }; + 2305649117AAF7C7949DA097 = {isa = PBXGroup; children = ( + C05FC23CC318A72488B619B0, + 0025D90AF17DCF2407B7BF92, + ACBE532437A5ACF57AC86CFA, + 606C073FBA068C18A01DE870, + B13129B0D10094D12C55CEE2, + 3E1A293411F1EB1A686856F1, + 633D6298B1EFB62992608980, ); name = misc; sourceTree = ""; }; + 5E56C7391D690D0472E9FD1F = {isa = PBXGroup; children = ( + CAA78838723B7B3A26FE1F60, + F82559A2981409B934394A39, + 657610365F9F7708FFF7E906, + AE5FF36EDB7C5DBB7C4D1541, + C42EF198092EF6448143B696, + 4B046999C395426E3C497334, + C784852DD948BFA740D1FD9C, + 73FCCD21049285EFE6BE952A, + 3DE9ACC436583326342DD06D, + 9463F443EED05E93B511F24D, + C1A80FCB592E835EBCF99353, + F96A1911DD7C5832CFD4720A, + D87FDED519CFBB992B41648B, + 9D2FB31EBA4C1F922DE01713, + 05738243F637DB638893847E, + 7CD7227CB8E14C06B94BDF08, + 6C7537BA1166E49A947D449F, + 7737BA38A3BFF94A4F81E8B4, + ED809F9F1905FAB19E598A17, + F894ACD2B98A32AD4DE41092, + 17BFC11EA3AA659DDA506227, + 997B3B4AAC07DE55F0BAD60D, + D8978A001F09E89AEBF03542, + A5C8FBD75DDB329377542750, + FCCB23C404D8574B6423FD71, + B4626E859518AB0AE90BBC6E, + 18CF0A5873315FEEE140C633, + 532F702298845A3332A17275, + CBE66465FE1EEBAFB01C2FC5, ); name = native; sourceTree = ""; }; + A40C6E8CE4CF1FB264657628 = {isa = PBXGroup; children = ( 1618E3050F66723769E3BED1, E9D53D48588D99F2B7F8F343, 181BAB8AC09C013CB3516356, @@ -1305,7 +1702,7 @@ 631C04DB8E078ACFBCE88899, 1FF72CF8D18F36023DBA52FF, A87535BCCA1FADDD74E5B71F, ); name = network; sourceTree = ""; }; - 659F0A87DEC674E05AE4C6FB = {isa = PBXGroup; children = ( + EB24CCF8E7D77345FB496E7C = {isa = PBXGroup; children = ( EDF22F22D7353773E15461E6, 4B6A8C8A7737818D196A9CAB, 226DE5CC38A1677D7B19643A, @@ -1321,135 +1718,156 @@ 3412232343FC9D9558CCE800, 0874F696E38C170FBF0DB8E1, E5021ACBFEC2AE96AFCF905C, ); name = streams; sourceTree = ""; }; - 721EDF1C87A88E7EB2646313 = {isa = PBXGroup; children = ( - 2CDE3A3C56111B028372BB8A, - 525B5225F9D36FF1DB0F61BC, - ABCEE2A08CB653C4351ADFF1, - 92C6E8140B7A11207A75BC92, ); name = logging; sourceTree = ""; }; - 138812974340AB2735A99911 = {isa = PBXGroup; children = ( + 016BE78558A8E7E57DD24FFC = {isa = PBXGroup; children = ( E2C09023F672D8E5EB8948FB, 0C45B35CE37C03769612DA88, 49B6080018A76A6B43E4BD09, 11F00F11DEE5884CC184E1B0, 3DED258C3988EA0D9AF6049B, 1B6F19BD083D58BB33090398, ); name = system; sourceTree = ""; }; - 4E10B2D399D40EB49BD5EEDD = {isa = PBXGroup; children = ( - 43F2C84ABB35BCF45A2DD126, - 33CC05362C83675C98D9466E, + 41D9E6444D50622A96C9D1CD = {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 = ""; }; + 977B27EC39B61E019F79BF0B = {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 = ""; }; + EBF34B528822EC5563372C0F = {isa = PBXGroup; children = ( + EF1C7165B6D23C2BDBD465D2, + 2D5A7388583D32A8F1BC278B, + 4852E3C8682ABCE67D5636A2, + 1ACB2FD497D4D5832E93B12D, + A510B76DB11EFD76A03B3947, + C3BC3A0D22B369882AC8BE04, ); name = time; sourceTree = ""; }; + 848026A311FD89E9F71271FB = {isa = PBXGroup; children = ( + 1FB3A473C4ACCC87DFBCC969, + DC224A6FC6231EB7A814FB67, ); name = "unit_tests"; sourceTree = ""; }; + 36DEEBC8A886091A85D3C4CC = {isa = PBXGroup; children = ( + 43F2C84ABB35BCF45A2DD126, + 33CC05362C83675C98D9466E, 4235987D6A65167C3984C8E8, 7026C717D9CA96D4284F2EA5, ); name = xml; sourceTree = ""; }; - 87861E3544954A838ADD5CE4 = {isa = PBXGroup; children = ( - 93E55817F62A230AE17BFFBF, - 663207923A3359F998A52792, - 501415264FFFED81A47BE9B8, - 9B6A795A588B873B421EA141, ); name = javascript; sourceTree = ""; }; - 34125E9ED71AB20F2BC1E5E9 = {isa = PBXGroup; children = ( + 43562C66E310E35B2AB8DB04 = {isa = PBXGroup; children = ( + 93D5A3ED4C68BE017E66D5CE, + DA10B9BA0D14AD6A11108990, + D61B26585CDD6B9FA7BC459F, + FA67680725131DA84A306D94, + D652E4EF667B35BF507D1A93, + 2BFAE305009906C1C52FBCBD, + B26AA572B39C86BE220C7E1D, + C8F81F707A24601A3CC273C5, + 2C1FB5CA5408803738CAB817, + 688706C1B86485F96C8B5F75, + B2DC142299897A84BA355261, + 3582770C043EBB6E67DBCE62, + 0478589866F0302BF163F95D, + 68B9E244738E43B9CC70AA4F, + F4EC9B26050C45DF7186EAC2, + 5D279D7B4D9A6F9296031EA3, + 0589A3CE72272951C9776687, + F256C75DAD52139B6786DA8A, + 0701388EF5123610601898F3, + 1954DF0B4605C1DAB8B483E9, + 66E077B879AAC571E92FCFE8, + 25883C583BA3505B32CB4AB0, ); name = zlib; sourceTree = ""; }; + 4225A6F96C8314B9B900BB32 = {isa = PBXGroup; children = ( + 43562C66E310E35B2AB8DB04, AC78D94D0CBA36F91DBD444A, B92BA92DA9F0E6E4477FFA1D, E75D4EEB6E2C59D626FC6F09, 2E0621F79571D5AD77112111, 15521C05CD2760EEF83F91DC, F36D1FF45A7C491B89EDBE34, ); name = zip; sourceTree = ""; }; - B500EEE02E8AD16C67AC8421 = {isa = PBXGroup; children = ( - 1FB3A473C4ACCC87DFBCC969, - DC224A6FC6231EB7A814FB67, ); name = "unit_tests"; sourceTree = ""; }; - B1913D2DF6D5AACFF5A083DD = {isa = PBXGroup; children = ( - C05FC23CC318A72488B619B0, - 0025D90AF17DCF2407B7BF92, - B13129B0D10094D12C55CEE2, - 3E1A293411F1EB1A686856F1, - 633D6298B1EFB62992608980, ); name = misc; sourceTree = ""; }; - F20B9AC5264499D618033C48 = {isa = PBXGroup; children = ( - CAA78838723B7B3A26FE1F60, - F82559A2981409B934394A39, - 657610365F9F7708FFF7E906, - AE5FF36EDB7C5DBB7C4D1541, - 4B046999C395426E3C497334, - C784852DD948BFA740D1FD9C, - 73FCCD21049285EFE6BE952A, - 3DE9ACC436583326342DD06D, - 9463F443EED05E93B511F24D, - C1A80FCB592E835EBCF99353, - F96A1911DD7C5832CFD4720A, - D87FDED519CFBB992B41648B, - 9D2FB31EBA4C1F922DE01713, - 05738243F637DB638893847E, - 7CD7227CB8E14C06B94BDF08, - 6C7537BA1166E49A947D449F, - 7737BA38A3BFF94A4F81E8B4, - ED809F9F1905FAB19E598A17, - F894ACD2B98A32AD4DE41092, - 17BFC11EA3AA659DDA506227, - 997B3B4AAC07DE55F0BAD60D, - D8978A001F09E89AEBF03542, - A5C8FBD75DDB329377542750, - FCCB23C404D8574B6423FD71, - B4626E859518AB0AE90BBC6E, - 18CF0A5873315FEEE140C633, - 532F702298845A3332A17275, - CBE66465FE1EEBAFB01C2FC5, ); name = native; sourceTree = ""; }; 4121866205F7007D3429B67D = {isa = PBXGroup; children = ( - 0EA4D254248FFAA7EDCDA035, - 834E433E15F2D104F04C2274, - 8A9C3DDC54CB0251D00B7ABC, - 48313304E64D9E83BBD4F8D7, - 9D4B5C517593D7A6D94726A9, - 425C900FB375ABE5836E41A5, - D474EB06C18F403399441B55, - 7824A1487860EEACBD72D747, - 659F0A87DEC674E05AE4C6FB, - 721EDF1C87A88E7EB2646313, - 138812974340AB2735A99911, - 4E10B2D399D40EB49BD5EEDD, - 87861E3544954A838ADD5CE4, - 34125E9ED71AB20F2BC1E5E9, - B500EEE02E8AD16C67AC8421, - B1913D2DF6D5AACFF5A083DD, - F20B9AC5264499D618033C48, - 5F944C122A33CC9E872C2670, + E5B954F1896C493CA639B712, + 54D851A85B9499811ABF85C0, + 9FD608079CB99A3721F9B769, + 2CF74A583A8BE252C118E6F0, + 1EEDC22A3A812B6C5131ABC7, + 66E1F90F8BAE06112A3A885A, + 2305649117AAF7C7949DA097, + 5E56C7391D690D0472E9FD1F, + A40C6E8CE4CF1FB264657628, + EB24CCF8E7D77345FB496E7C, + 016BE78558A8E7E57DD24FFC, + 41D9E6444D50622A96C9D1CD, + 977B27EC39B61E019F79BF0B, + EBF34B528822EC5563372C0F, + 848026A311FD89E9F71271FB, + 36DEEBC8A886091A85D3C4CC, + 4225A6F96C8314B9B900BB32, + 031F664A464B470A81484530, + 1FE10636EE995317A9D7E90D, + F7ADFA1034518CF57CDD88C1, 1FE10636EE995317A9D7E90D, ); name = "juce_core"; sourceTree = ""; }; - 1AEC602B04C74CC581E316FE = {isa = PBXGroup; children = ( + DC93DE56A1D9ABAC4C2EE4AE = {isa = PBXGroup; children = ( + 2D83F272ADEE60DD58B77923, + 8651D69ED86CAC13B4966053, + 54FA71D224ADA5BB1D7609F3, + FE503FEEE818268B1A239513, ); name = "app_properties"; sourceTree = ""; }; + 30C80955789CED1C06CEDAE2 = {isa = PBXGroup; children = ( + 366EF1FAB22EAE0059C61C20, + 95D963E74D3B94C7DF6E1ADF, + F74DA30CDA5ED0BF3BA71AA3, ); name = undomanager; sourceTree = ""; }; + 45EA67545FB8961E68A8AC36 = {isa = PBXGroup; children = ( + 2825D7AB5CBA0AC36DD68D0B, + 5906AD70A7E2AA3CEB98F5FE, 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, - EB9AA4C73E4D179AB47AE54C, - 683164DFC1E2789C7BAA2F1C, - D825E43CCC90DC98855B91EE, + DC93DE56A1D9ABAC4C2EE4AE, + 30C80955789CED1C06CEDAE2, + 45EA67545FB8961E68A8AC36, + B8DEB8B85480E9A5013CFCDA, + B089FEE15E183235208CFDD1, + 0B8752EB2FFF2981159478D7, B089FEE15E183235208CFDD1, ); name = "juce_data_structures"; sourceTree = ""; }; - E9CC1B831833F6398E4A2A6D = {isa = PBXGroup; children = ( - 74B37EC7C5FC19FCA69ABF09, - 8F942F0C076D2892C12F9E66, - 1F55762746835FBFBD009901, - 35107190BEADCF109E77F9C3, - 49AE1FF510C68018F047B25C, - 852A7C317FEA7562011C10AC, - C6F97F91E3256D59FA08C9B1, - A4C1D2581F736CA8D04F49F5, - 1529462D2CBFEAD56E450BC1, - 8B108A30FDA1E1B9ECB5455C, - EDAADE66F7AEA9FCA7E3AAF9, - AD6202071634B0443A6A89C1, - 141D4274F3335DADD5A3FAF5, ); name = messages; sourceTree = ""; }; - 83F797C17CE8E72F5E2E000A = {isa = PBXGroup; children = ( - 9ADD13C236FD22766AE34F3D, - 44FF97E9AEA7D1DA42B2AEF7, - 78EE4EBBF9AFABEEE141C7F7, - 617FE5BBAEFCD2B7DD028BB1, ); name = timers; sourceTree = ""; }; - 10E5C7814773A24F06F39927 = {isa = PBXGroup; children = ( + 300AF183F3DD992F9E37EE39 = {isa = PBXGroup; children = ( E359E0675D9A22857A282598, DE7C6A2BEAA65A22198CA907, C418AB58AA16DB4C8268AABA, @@ -1465,7 +1883,21 @@ 6FC1F892958558D151C82829, 53D76D8E982DC666B7927E51, 653362923506155E5F2F43AE, ); name = interprocess; sourceTree = ""; }; - BA1F469322765796FE6EC223 = {isa = PBXGroup; children = ( + 95B56DB5CE2A22602EF7CCEB = {isa = PBXGroup; children = ( + 74B37EC7C5FC19FCA69ABF09, + 8F942F0C076D2892C12F9E66, + 1F55762746835FBFBD009901, + 35107190BEADCF109E77F9C3, + 49AE1FF510C68018F047B25C, + 852A7C317FEA7562011C10AC, + C6F97F91E3256D59FA08C9B1, + A4C1D2581F736CA8D04F49F5, + 1529462D2CBFEAD56E450BC1, + 8B108A30FDA1E1B9ECB5455C, + EDAADE66F7AEA9FCA7E3AAF9, + AD6202071634B0443A6A89C1, + 141D4274F3335DADD5A3FAF5, ); name = messages; sourceTree = ""; }; + A91D9AF3EF43A09635AA83D2 = {isa = PBXGroup; children = ( 4680925B001761374318240B, 730EED541EB21207503B9215, F7E8A13B2CA9CD14B8593000, @@ -1474,15 +1906,22 @@ FA63E754F310AC21AD5CB86A, 92016E62BDE99F07EDE18933, 2FB3AA94E588843A3BE38537, ); name = native; sourceTree = ""; }; + FC5D250C7790662FB285A222 = {isa = PBXGroup; children = ( + 9ADD13C236FD22766AE34F3D, + 44FF97E9AEA7D1DA42B2AEF7, + 78EE4EBBF9AFABEEE141C7F7, + 617FE5BBAEFCD2B7DD028BB1, ); name = timers; sourceTree = ""; }; 2E552CD64B4AA1D8130BDF79 = {isa = PBXGroup; children = ( - E9CC1B831833F6398E4A2A6D, - 83F797C17CE8E72F5E2E000A, - 10E5C7814773A24F06F39927, + 300AF183F3DD992F9E37EE39, 6BDB33B263D6922487534E1E, - BA1F469322765796FE6EC223, - 5BADD2C2CBC10DCEB83C124B, + 95B56DB5CE2A22602EF7CCEB, + A91D9AF3EF43A09635AA83D2, + FC5D250C7790662FB285A222, + 731E31893F5378AAF1A5225E, + 411C432CB74EE05BCBFCD97A, + 33244D8C8D28426A4E6A9336, 411C432CB74EE05BCBFCD97A, ); name = "juce_events"; sourceTree = ""; }; - E96D0892FFD5CC0DF2FF9DC9 = {isa = PBXGroup; children = ( + 212384E25DBCFD780972084E = {isa = PBXGroup; children = ( 34A22196BC0E1DDF88D31647, C61E0DB94BACBBA1D25C7C2D, E3BA75E2B23B4EC7F040F9F7, @@ -1492,7 +1931,7 @@ CF527AE73088E3DB41E0465A, 555060CA14DA6207C573E2D7, 947EBCB2AF41421CCFF35A2B, ); name = colour; sourceTree = ""; }; - 158D370008F577E75DB2591B = {isa = PBXGroup; children = ( + E60AAE701134252FAFB9C98B = {isa = PBXGroup; children = ( 384F9F0B2B2DF491C8265025, 840B1BC26A131FE18F12088B, BDD7A37E2B58CEF1D3E43F8D, @@ -1500,20 +1939,26 @@ 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 = ""; }; - 9BCD5AC5D202216F43813252 = {isa = PBXGroup; children = ( + 800B04B0B16110B148E6954C = {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 = ""; }; + 0011A38D0D6DC7E5D61BF23E = {isa = PBXGroup; children = ( CE7D49BB78F421CCF35597DE, 0EA5903594EF4DADFF6812DB, AF8553DAC074FEABDA84C9D6, @@ -1529,193 +1974,140 @@ 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 = ( - 38FA44918179696A2DB14FA0, - A89C87C35469029FA34797EB, - 99A5AD422178B3A018FDEB83, - ACFD62831F8EFD102CE608A5, - 4458721065296580B037E5AD, - CD7ABDCA2C1A10A67B2C34A3, - D25618C3A3352D6263869E65, - A4FAFF87F498F426BCD9B807, - 7B387E78A4F51EB8C1B65580, - 75063DAB93DB8E1D75359AE3, - E55D296396D8FEC9CDD0E369, - 3EAF92239F942E0CBE392918, - 065FD18DF86C99CF5F654EB0, ); name = native; sourceTree = ""; }; - 31116D882BE2A744EE789329 = {isa = PBXGroup; children = ( - E96D0892FFD5CC0DF2FF9DC9, - 158D370008F577E75DB2591B, - C20F7F1482A80612CCE9EF5F, - 50448039818A099DB1F80B91, - 9BCD5AC5D202216F43813252, - DE08523B5E4A4E15EE0EB32E, - 9A53A1F1CB474DD0D6851C8E, - EE526CE84859006ED02806C7, - 8D57C82D0E05A2766CDF3109, - AB850E316157500DF685B1D2, - 2C4FDC5C1CA9535CCEF100A1, ); name = "juce_graphics"; sourceTree = ""; }; - 11E86639229D0958B058CA25 = {isa = PBXGroup; children = ( - E2899DB06FA2ACD7907E218A, - 3803DF879F943052A088A2ED, - CCD4E304060F628CCC39705E, - 0B275425EFD052C58E457BFE, - 83A46A2F0420A051CE1619AD, - 6EC8C8563006BF7D6F169BE0, - 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 = ( - ED820EE7FC7DD09FB7410168, - 8870F99E05F806275E16F368, - EE5C63DB91FE13D85C6BA24E, - 322E6DDBF9511D7C401BD17F, - 7716D55EE7EDF933E1557B7C, - 511B0591A2F0BAF942161C49, - 416641AB5B352AB9753B4B70, - F7E37D672F20410F549A0ACB, - AA904643FFC473D0D18D0BA0, - D8F15628570603156374AD8D, - 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 = ( - BA81FD80EC93028C25149C4A, - B36C4D97408B391308BE3AE8, - 4532BCD402C284ECFC51E0BB, - B232E5A4B4DD4064BAD14BFF, - C83830A9E5385799A7DB35DD, - 2669B736DCE3942A6ECABF23, - 305B8DD0EB6717ED01B4FF54, - 0F8897FBD797A8C287075808, - 18DC10E83B1833E6E32ABBE2, - DF743B3F7C5D4E39357B2ABD, - A7CFEAB5213E21D1E53E98E2, - EBB0CCB80A0162539892103D, - CA7A3A2C10738D0ED143E698, - 3BEDA5F6F4D05A0A48EB40BC, - 9F51A8C806F771FD62CA1D19, - 50366E5235FA18FEE9A8BD2D, - 3407482F0DCAFBE3C1E272A5, - 354F10E537996AD4B596EFB9, - 197F9DCA351F511D6AB0E688, - 4425A2459C182A7E92C87582, - 2F51474A2BBF4329878B3CA8, - 5236042778C59FDE275D3EA8, - F99B629FA3A9D815B2962DC4, - 66CB68AF65C6F4D9BC9CCEE2, - D06F3D48F9A8CC52BCA62AA7, - 648B531019DAD4981D0BDF87, - 015937D2520B97D0EE2AC994, - 6D8BED36A671F9D041E97DDB, - 9F286D17B041121B4219E763, - 0FE7C873F21FB9963F55E0FD, - 87231784C36FC88B589C2C92, - 186756E20B6CFABA33F63154, - 6D7DCC497AC08CAC2AAD88FA, - 1245BD61C17D6F2965A11E58, - 35C65A78610026BAA448D956, - F5376A1DA30DF0D8447CBF61, ); name = layout; sourceTree = ""; }; - 15A73A4AF08D3CAA2031C362 = {isa = PBXGroup; children = ( + 935DDA22048CD5E073D9D678 = {isa = PBXGroup; children = ( + B59ECEBFDCB706F84D563D9A, + 6FCC03E44D02435354426397, + 2967AB09D392074A228EA204, + 65BBEFC85BFC6DAC542BFBF1, + 5DD2B95F862F03137D997371, + 3A13DA48EBDD0DCD7C18FE75, + 27D80591F48FEE943DA925AF, + 60779F977F78851A260D018C, + D1E505C7493819DB1D8A26BB, + 2AF8713E48B13A10419703B1, + 01299622958E16EB5EFCCF3D, + E45DC03FF85B4B7C97226D12, + 94E011D3F9516760F1467C33, + F138FC6811EE108A827BAF96, + 2A69350FC76206ADA980DDC7, + 03B7F57B7DB2E5022A364935, + B4E32416279E4E6E21EB39A5, + 6547E998448E6C4F13D52FA8, + 4363FFBF6FF0E9230A637CD8, + F7B926B82215B1A9C013D8D1, + EEDBAD8B46E98ECA8C7597BA, + 8BFA2FA69E71F8C569D037E0, + DFDD9D9DE030E708970FA503, + 1E5A7BA29B96E730B06DBD83, + 4A6B643083A8990EEC6F75AA, + 5C95BA9F98E439707408D5A4, + BFEB94230C102657A897A152, + 9406D9035DB1DFA78612924D, + 263F856E14735D1BB4398D4F, + 4C9EBA7619EDFB3913E0ACF0, + 4DF5BA1D91D0E7533DBC3A30, + A68DBCF96F4420A18AABAE03, + F36C5D30475643B41AD0965C, + E6D261C9F51AF0BE729403BD, + 76C0CB9E87521702EB6CA984, + 584E5E26ACA7AD527A7C6751, + 27E53A80CB7DF9FCCB106B76, + 341666E6C06639A6AE44722B, + 611115879CBEC076CDFAAA19, + A46872F6E8EE0CC38D9415B6, + A498538372BCBAC74A81749F, + 7A7B0FFC73DF9275AF4AF1F0, + E6942258C44B0C6E5CCB0240, + 7E557EA92FE1E9561CDE091D, + 07BA05B963910EBD1BDD09DC, + DFBC0DDCBA553C73964FC593, + A713C411A4DA7D103235DEB6, + 27BD302EE3C8B11B5E2AD802, + D543693FA37BC70C36605673, + 17F305F2F0EB177E37D95F21, + 5FBF3B6EFC7F330DA8B68781, + B7B84EC9CCA4B969DFAAC283, + 32E37F931356C7E6FC5D512D, + 464D52BF0E9E0D7221042DBF, + 7470792C9A2F2E14A1645264, + C6FB3B1E0A40C277E7342BE1, + 82F071C070E284D2D73A786A, + 70EDDED35F843B69F209517E, + C3DC8E841AEC6066129806FB, + C92FB56000215286FA71B5CF, ); name = jpglib; sourceTree = ""; }; + 861E5E501B2E248BD1EE46A1 = {isa = PBXGroup; children = ( + EEE32DF6C61FB8C2688C6727, + 47E2C79D26C2A7EDAC5FEA91, + 5CAFB1705FEA015F58B1FF0B, + BC6F5395CABCB34D189BA838, + 519D2697E49A40C51532DE9B, + 82FAC8E5022CF21C0EDFF294, + FD07C6E6E05832CB1BC8A499, + 01172C4A9E1B78DC4C1ECB5B, + A7CB566A0F3161201443A8D2, + 31208525D2C3DA2BCE47E47F, + 2F5458B994CB1E6240534663, + 61A43069B570E44C9545B8DA, + 21ACF2CBB7413FFD43675AA5, + 9E7D2D017F3EC7EF8FD9DB29, + FC056EF691F9EF94D25CCA42, + 591BC5ABAC5BAC7C425431B9, + 9CC5B528A3373D5701900255, + 18AD4A84C7C958758B042FD3, + 8DF81B6FDFEBEFF95698AE24, + A133C832F9CB271DD4C6BD58, + C124A8053120B4A3C44F644F, ); name = pnglib; sourceTree = ""; }; + 58E7E321E3A767F10B672B74 = {isa = PBXGroup; children = ( + 935DDA22048CD5E073D9D678, + 861E5E501B2E248BD1EE46A1, + 455428DF4B6C1E56587AC645, + 9299E13B7EF69BD5EAEBDD71, + 7430B5997F301D74E500CD57, ); name = "image_formats"; sourceTree = ""; }; + 7664E42A7DB623948B5D1F4D = {isa = PBXGroup; children = ( + 24550E30805CE3AB84F77A46, + 1BE9D8227B34614C24E0842C, + F6197F4E59C3A9614B1DF0CC, + 6397580998352AB0A523EC40, + 3E28A94049CBBBF7126DA4F1, + 5DE447B4EF54671CDB3D6312, + 3B73D57902457BA933CBF889, + 0C49557BF55D702CD49B3E34, ); name = images; sourceTree = ""; }; + 35661717EA6A3CA591B7E1A7 = {isa = PBXGroup; children = ( + 38FA44918179696A2DB14FA0, + A89C87C35469029FA34797EB, + 99A5AD422178B3A018FDEB83, + ACFD62831F8EFD102CE608A5, + 4458721065296580B037E5AD, + CD7ABDCA2C1A10A67B2C34A3, + D25618C3A3352D6263869E65, + A4FAFF87F498F426BCD9B807, + 7B387E78A4F51EB8C1B65580, + 75063DAB93DB8E1D75359AE3, + E55D296396D8FEC9CDD0E369, + 3EAF92239F942E0CBE392918, + 065FD18DF86C99CF5F654EB0, ); name = native; sourceTree = ""; }; + B79892A2D8B0275235173BFE = {isa = PBXGroup; children = ( + 0657DB56FB23A6BE67208B3A, + 422C7D87DB73615294A716F9, + C5D85EA3957DB426A64D9BA7, ); name = placement; sourceTree = ""; }; + 31116D882BE2A744EE789329 = {isa = PBXGroup; children = ( + 212384E25DBCFD780972084E, + E60AAE701134252FAFB9C98B, + 800B04B0B16110B148E6954C, + 437E9457010163F1F25039D9, + 0011A38D0D6DC7E5D61BF23E, + 58E7E321E3A767F10B672B74, + 7664E42A7DB623948B5D1F4D, + 35661717EA6A3CA591B7E1A7, + B79892A2D8B0275235173BFE, + 8CC92225795CF7A358E68CDB, + 2C4FDC5C1CA9535CCEF100A1, + A5F937B46BE758E0CE8153C5, + 2C4FDC5C1CA9535CCEF100A1, ); name = "juce_graphics"; sourceTree = ""; }; + 179AD9EA7A8A08CE644632B3 = {isa = PBXGroup; children = ( + 42CF992F9CCD4C05F46B52D5, + DCE1EC089E977139F6C190D6, ); name = application; sourceTree = ""; }; + 7EEFFB9F2E107B3FD8198B71 = {isa = PBXGroup; children = ( F4A4AEB7D999BB0E3CC8268F, 071B5F7BDAEA5AA4254259B3, C5FC3F71B878B3F1245ECC15, @@ -1734,22 +2126,27 @@ 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 = ( + EED09DB16C63AECA9D7BB47E = {isa = PBXGroup; children = ( + B120BADD5BB2F8E2A3998958, + 255E20240534172D3BE24CFF, + F0415313AE3DCA21BB82B875, + D280A954231A4A33ACA7EA40, + B9D904CBFD681C16050DD003, + E5E2F72493898D67D148AC4C, + 0B514D0B98769247D9DB3E6B, + 9857EFB48E070409825FDA6E, + BF59C1448C078BB05C98D035, ); name = commands; sourceTree = ""; }; + 7534EDF8A0FB42512A549AA0 = {isa = PBXGroup; children = ( + E2899DB06FA2ACD7907E218A, + 3803DF879F943052A088A2ED, + CCD4E304060F628CCC39705E, + 0B275425EFD052C58E457BFE, + 83A46A2F0420A051CE1619AD, + 6EC8C8563006BF7D6F169BE0, + 85D62EA4246A12A275DEECFF, + 4DBF452C79EE80E24C239E08, + 1866A678D99FFFE45214D7B9, ); name = components; sourceTree = ""; }; + EBE52E801BE52C473185EDA9 = {isa = PBXGroup; children = ( B219608263929D89DF7919AC, 3E2C736727628CD760922260, F64044802A19E57515621082, @@ -1765,30 +2162,6 @@ 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 = ( - 0B5769CA411D90BC0B0DAE4B, - 3F242FA70F83D66325F196CC, - F8FD0289432D95DD071D3A3E, - 1B4C545909510CA516471CFB, - 8C60220B48B95A0B3630FCE2, - 96658A7F21EDB5D93AF050F2, - 5F6A369358D1C88AC2CB22C7, - 435D7DEACB2181B6E5FAE51D, ); name = lookandfeel; sourceTree = ""; }; CEF62D1A7C52A4F10E272818 = {isa = PBXGroup; children = ( 8BE1C7BAA2883D1C9DDFE99C, 93C4F70FF4F4EB41AA6F6C88, @@ -1812,25 +2185,100 @@ 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 = ( + DB5CB64C1187AEECB2ACB8C3 = {isa = PBXGroup; children = ( + ED820EE7FC7DD09FB7410168, + 8870F99E05F806275E16F368, + EE5C63DB91FE13D85C6BA24E, + 322E6DDBF9511D7C401BD17F, + 7716D55EE7EDF933E1557B7C, + 511B0591A2F0BAF942161C49, + 416641AB5B352AB9753B4B70, + F7E37D672F20410F549A0ACB, + AA904643FFC473D0D18D0BA0, + D8F15628570603156374AD8D, + EE70A7C10CED040476D95688, + DE58DB49BBBC219F6604099D, + C0DFAE9FDA8F7BCC3119F627, ); name = keyboard; sourceTree = ""; }; + B1A4465E4D8C91752B93249C = {isa = PBXGroup; children = ( + BA81FD80EC93028C25149C4A, + B36C4D97408B391308BE3AE8, + 4532BCD402C284ECFC51E0BB, + B232E5A4B4DD4064BAD14BFF, + C83830A9E5385799A7DB35DD, + 2669B736DCE3942A6ECABF23, + 305B8DD0EB6717ED01B4FF54, + 0F8897FBD797A8C287075808, + 18DC10E83B1833E6E32ABBE2, + DF743B3F7C5D4E39357B2ABD, + A7CFEAB5213E21D1E53E98E2, + EBB0CCB80A0162539892103D, + CA7A3A2C10738D0ED143E698, + 3BEDA5F6F4D05A0A48EB40BC, + 9F51A8C806F771FD62CA1D19, + 50366E5235FA18FEE9A8BD2D, + 3407482F0DCAFBE3C1E272A5, + 354F10E537996AD4B596EFB9, + 197F9DCA351F511D6AB0E688, + 4425A2459C182A7E92C87582, + 2F51474A2BBF4329878B3CA8, + 5236042778C59FDE275D3EA8, + F99B629FA3A9D815B2962DC4, + 66CB68AF65C6F4D9BC9CCEE2, + D06F3D48F9A8CC52BCA62AA7, + 648B531019DAD4981D0BDF87, + 015937D2520B97D0EE2AC994, + 6D8BED36A671F9D041E97DDB, + 9F286D17B041121B4219E763, + 0FE7C873F21FB9963F55E0FD, + 87231784C36FC88B589C2C92, + 186756E20B6CFABA33F63154, + 6D7DCC497AC08CAC2AAD88FA, + 1245BD61C17D6F2965A11E58, + 35C65A78610026BAA448D956, + F5376A1DA30DF0D8447CBF61, ); name = layout; sourceTree = ""; }; + 5983591556EDFDF713944546 = {isa = PBXGroup; children = ( + 0B5769CA411D90BC0B0DAE4B, + 3F242FA70F83D66325F196CC, + F8FD0289432D95DD071D3A3E, + 1B4C545909510CA516471CFB, + 8C60220B48B95A0B3630FCE2, + 96658A7F21EDB5D93AF050F2, + 5F6A369358D1C88AC2CB22C7, + 435D7DEACB2181B6E5FAE51D, ); name = lookandfeel; sourceTree = ""; }; + ADA8680CDA87AC3735DBAECC = {isa = PBXGroup; children = ( + CBEA531828841A6CAA17D24D, + 52932CDF22B1A84C7932A97B, + F179A306C7797D36ADDD0113, + 58FC211C847065896BF74E4D, + 8581D64579233BEA8A83B310, + 5C71F7F3FF08BC9F21EC77EE, ); name = menus; sourceTree = ""; }; + B91048DDB3C8011048A591CE = {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 = ""; }; + 0FBA1EAB8784F27966B509A7 = {isa = PBXGroup; children = ( 042CD950A801DB1AF7C72360, 047BF8614C28582A36F829E7, 9C66FAB8BEB89C9F359235AF, @@ -1847,27 +2295,107 @@ E49589BBCACCFA22EDBB89FD, C713F8502BD622BD3E2B905C, 4BB8A999BA53A8863FF0FB53, ); name = native; sourceTree = ""; }; + 38C7461FE1D90F0E7DF00A6A = {isa = PBXGroup; children = ( + CA67ED34495C07BC5AB3BB54, + 1B833D7158AFD9908157D66E, + 4322E018259102A6F9D1F63A, + F06AA97373B477217CC8B17E, + DE8FF2462362152A54097844, + 19FC0A766DB79A1E0A0554A7, + 7D3BFBDD7850948E412B8902, + A45593371E92730F50225901, + 0DA09911CF116E73799CA0B3, + 3C42E75C470788A9FDDA3604, + D451535498DC3AD41A6B1C52, + A2370D36C840FF9D28E15317, + 32E648ABD22AA5F6A0D46F4E, + D04FD8A890D7576BE0797857, ); name = positioning; sourceTree = ""; }; + 3E36A89E0D38D6213D0DE2DA = {isa = PBXGroup; children = ( + 464373F538C13408F13947D7, + 4D64649C1A00FD2CB2A0E0B1, + D3BBE4AD39020A9B644F1C4C, + 13A92B80C221EF73AFCD9E3C, + DDD50D9B532BC1EDE871B388, + 01848E51D0F9E4BAB83D2E67, + E638ABADF69A0A68FFB9B105, + EBCE186D7F2135C433EFEDD1, + BB48E48339D63F95EF3C54E3, + D4E2028638FF1DFC04CB78A9, + 3A79441D4CAD1A2176A58961, + 5895CBDE3C1717110102E430, + 9491FFC209914E9C2B21B57B, + 410CF1DF89133411F1434CAE, ); name = properties; sourceTree = ""; }; + 6646E47F8F642D14950A3642 = {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 = ""; }; + 992BFC4FDA1DF130D355F9F4 = {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, + 179AD9EA7A8A08CE644632B3, + 7EEFFB9F2E107B3FD8198B71, + EED09DB16C63AECA9D7BB47E, + 7534EDF8A0FB42512A549AA0, + EBE52E801BE52C473185EDA9, CEF62D1A7C52A4F10E272818, - B0C3317FCF729361A7B953F2, - C938554284563D3444F9D656, - FEABFE7AEABC73B9A1FCA240, - 0F9F0FABB8F722455D2A63BC, - 3D08E5F861CE4E8A4C77CC94, + DB5CB64C1187AEECB2ACB8C3, + B1A4465E4D8C91752B93249C, + 5983591556EDFDF713944546, + ADA8680CDA87AC3735DBAECC, + B91048DDB3C8011048A591CE, + 0339D856A3D1021A94C1F4EE, + 0FBA1EAB8784F27966B509A7, + 38C7461FE1D90F0E7DF00A6A, + 3E36A89E0D38D6213D0DE2DA, + 6646E47F8F642D14950A3642, + 992BFC4FDA1DF130D355F9F4, + 94D37458590FEF1243441444, + EF43B3C3C2C1B5DE176BDA1F, + 25169A980919B2B03FBDCFB0, EF43B3C3C2C1B5DE176BDA1F, ); name = "juce_gui_basics"; sourceTree = ""; }; - 7D128303F1820D6A22086522 = {isa = PBXGroup; children = ( + A7A9DA65B064CD6A41F8E938 = {isa = PBXGroup; children = ( 372F90511F33764DA46D0219, D03DD363B33030D11E1D8755, 582FBB461EE1EB7CB6523F08, @@ -1880,14 +2408,14 @@ E9F48CFFCCED35CAF6DB9AFE, CD58F337A0BEF9537A8438F6, A94E5E78BA59860077A18B0A, ); name = "code_editor"; sourceTree = ""; }; - 98C4F54A3255F87CC88D2C10 = {isa = PBXGroup; children = ( + C70EC6FE45C3BF2F7625F1F5 = {isa = PBXGroup; children = ( 67BDF038CB074B6E187D2416, B3672E99F9CEEB4E2F574635, ); name = documents; sourceTree = ""; }; - 6A4E34A440BC146D4AE5445B = {isa = PBXGroup; children = ( + 50657695C6514CB7252B2642 = {isa = PBXGroup; children = ( 356F3858F9A4DE6055FAA59F, A419D46EB6EFFE889E0B892E, 9ACD926CC73948E98781603E, ); name = embedding; sourceTree = ""; }; - 7CA13A4B0E456AC6FB83D5FF = {isa = PBXGroup; children = ( + 9A242F5162E93D96F2B59915 = {isa = PBXGroup; children = ( F74768E6FDB668CFC1AB57ED, 8832699DA05AF3E69754D928, B9512DEAA022CC70F67A70D6, @@ -1908,7 +2436,7 @@ D146BB260657F5F63B360B2F, FD9700427B688B981627FB32, 36C5392CBC219CDD99F4EA9F, ); name = misc; sourceTree = ""; }; - 7E5FB3F0C6D8E38885D18B42 = {isa = PBXGroup; children = ( + 748EA69949242DCD77FD270C = {isa = PBXGroup; children = ( 1D19F9D1656D4486D519E314, 4DE9AB4F1B7D277708620A4C, 6A940E978871830CA184925B, @@ -1922,12 +2450,14 @@ 8DF31ADF7747F6C94118B221, E6B57B097825330545DE5F94, ); name = native; sourceTree = ""; }; 2F352D90D13184A5042F582B = {isa = PBXGroup; children = ( - 7D128303F1820D6A22086522, - 98C4F54A3255F87CC88D2C10, - 6A4E34A440BC146D4AE5445B, - 7CA13A4B0E456AC6FB83D5FF, - 7E5FB3F0C6D8E38885D18B42, - 761D1DCEA3574C0C306505D2, + A7A9DA65B064CD6A41F8E938, + C70EC6FE45C3BF2F7625F1F5, + 50657695C6514CB7252B2642, + 9A242F5162E93D96F2B59915, + 748EA69949242DCD77FD270C, + F67696A86B9EF81E1B47AC15, + 8B319833FDC197EEF5673B1A, + FDE77778E47EF43B44987E6C, 8B319833FDC197EEF5673B1A, ); name = "juce_gui_extra"; sourceTree = ""; }; DC1786BC30994F0B627A2F15 = {isa = PBXGroup; children = ( 72EEB46C16381A28CD77F6CF, @@ -1943,20 +2473,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, @@ -1970,7 +2500,7 @@ 2C9137215F433FC781CD4E4A, 712579DB83B0E0A46D9CBE4C, ); name = Frameworks; sourceTree = ""; }; 523A7ACD38232D3FDF284960 = {isa = PBXGroup; children = ( - 25DCC900CF70D433427E37A8, ); name = Products; sourceTree = ""; }; + 3A8608CBA979E2BD17B50D0E, ); name = Products; sourceTree = ""; }; B4D11720461A13D5D9F3E047 = {isa = PBXGroup; children = ( BBDA2DD68415C10F0E4A2E7F, DC1786BC30994F0B627A2F15, @@ -1978,7 +2508,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; @@ -1994,11 +2524,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; @@ -2015,13 +2546,15 @@ 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; SDKROOT_ppc = macosx10.5; }; name = Release; }; 501C3AFCB1DADC94A49F25E8 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2050,28 +2583,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, @@ -2082,11 +2616,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; 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 92dfde22..be7736b6 100644 --- a/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj +++ b/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj @@ -136,6 +136,9 @@ true + + true + true @@ -214,6 +217,12 @@ true + + true + + + true + true @@ -229,15 +238,6 @@ true - - true - - - true - - - true - true @@ -286,289 +286,307 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -577,21 +595,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -604,6 +631,9 @@ true + + true + true @@ -646,589 +676,934 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1237,17 +1612,20 @@ true - - - - - - - - - - - + + true + + + + + + + + + + + + @@ -1256,6 +1634,7 @@ + @@ -1288,6 +1667,9 @@ + + + @@ -1295,20 +1677,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1318,8 +1771,26 @@ + + + + + + + + + + + + + + + + + + @@ -1330,15 +1801,6 @@ - - - - - - - - - @@ -1349,6 +1811,7 @@ + @@ -1359,40 +1822,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1409,25 +1839,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1437,6 +1848,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1450,39 +1895,82 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - - - - - - - - - + + + + + + - - - - + + + + + + + + + @@ -1492,19 +1980,12 @@ - - - - - - - - - - + + + @@ -1515,10 +1996,15 @@ - - - - + + + + + + + + + @@ -1529,39 +2015,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1570,33 +2091,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1616,15 +2110,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1632,13 +2140,6 @@ - - - - - - - @@ -1646,31 +2147,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1696,21 +2197,15 @@ + - - - - - - - - - - - + + + + diff --git a/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj.filters b/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj.filters index b8c01d82..aa8c0d05 100644 --- a/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj.filters +++ b/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj.filters @@ -35,45 +35,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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 +125,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 +152,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,60 +164,60 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {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,80 +227,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -292,6 +340,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -370,6 +421,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -385,15 +445,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 @@ -448,74 +499,191 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\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_formats Juce Modules\juce_audio_processors\format @@ -535,6 +703,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 @@ -550,6 +736,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -568,9 +760,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -586,44 +775,14 @@ 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_audio_utils\players - - Juce Modules\juce_core\maths + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils Juce Modules\juce_core\containers @@ -640,33 +799,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 @@ -691,41 +823,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -733,36 +835,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -775,6 +865,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -832,17 +925,155 @@ Juce Modules\juce_core\native - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\undomanager + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core Juce Modules\juce_data_structures\app_properties @@ -850,23 +1081,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -886,6 +1120,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 @@ -901,6 +1147,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -922,26 +1180,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -958,32 +1219,209 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -1015,128 +1453,137 @@ Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -1189,32 +1636,98 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\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 @@ -1237,30 +1750,6 @@ 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 @@ -1282,113 +1771,77 @@ 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\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_extra\code_editor @@ -1468,37 +1921,43 @@ Juce Modules\juce_gui_extra\native - + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + + 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 @@ -1521,6 +1980,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1617,6 +2079,15 @@ Juce Modules\juce_audio_basics + + 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 @@ -1638,24 +2109,288 @@ 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_devices + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format @@ -1680,38 +2415,41 @@ Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format_types Juce Modules\juce_audio_processors\processors @@ -1743,33 +2481,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 @@ -1800,6 +2511,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -1830,50 +2544,95 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + 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\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,6 +2652,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1932,53 +2694,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\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\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\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\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2037,104 +2880,47 @@ 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\unit_tests - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\xml - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\xml - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib Juce Modules\juce_core\zip @@ -2145,38 +2931,26 @@ 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 - - Juce Modules\juce_core\native + + Juce Modules\juce_core - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_core + + Juce Modules\juce_data_structures\values Juce Modules\juce_data_structures\values @@ -2187,20 +2961,35 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures + + 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 @@ -2229,44 +3018,23 @@ 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\native + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events Juce Modules\juce_events @@ -2298,17 +3066,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 @@ -2340,38 +3123,71 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -2382,167 +3198,158 @@ 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_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -2601,32 +3408,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native Juce Modules\juce_gui_basics\positioning @@ -2649,27 +3498,6 @@ 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 @@ -2691,80 +3519,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2841,6 +3669,9 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_gui_extra + Juce Library Code @@ -2849,38 +3680,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_graphics + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_gui_basics + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_extra + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/AppConfig.h b/examples/PluckedStringsDemo/JuceLibraryCode/AppConfig.h index a4c6633b..9aa2034e 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 42cb719d..40f73ab9 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..97bd2c56 --- /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 00000000..8eae7c6e --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 7d4583db..00000000 --- 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 bb997d30..00000000 --- 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 06e88f93..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 b189943c..d9f817a1 100644 --- a/examples/PluckedStringsDemo/PluckedStringsDemo.jucer +++ b/examples/PluckedStringsDemo/PluckedStringsDemo.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.1"> stringLines; OwnedArray stringSynths; diff --git a/examples/PluckedStringsDemo/Source/StringSynthesiser.h b/examples/PluckedStringsDemo/Source/StringSynthesiser.h index d1901385..f7a237ee 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 a5a52eae..fb7766e3 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.0.2" companyName="ROLI Ltd." companyWebsite="www.juce.com" - companyEmail="info@juce.com"> + jucerVersion="4.2.1" 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 00000000..22194a6d --- /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 50f8e416..ae12c1c1 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"; }; @@ -76,13 +57,19 @@ 010F7CC679F518EB97C86552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 01A591455BDD1113C23E09F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 01ED8F522ABA76BF0E0D9249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; + 02197356D3685DBECD8CA4A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugPrintf.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugPrintf.h"; sourceTree = "SOURCE_ROOT"; }; 026611B5E40D1827B028D363 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02668ADFC1B28F5472FB34FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; 02898E6A1F367D9992579BAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; 0298E00E1A18200242AC069C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; 02A1892932488AC6700FC455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 02A5A87E7599C01247D55560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 02F59FA6C6DC1DD84590F4F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + 02FDAE44127BB4DBA5B872AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; 03A0E98730249C2FEF14500F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 03A92342B52D9832F390D78A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; 03B2E898BCEC879C92272294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + 043B1D46DB0C0BB2A181EE7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 0441B2D9E47EFCD7344DCA87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; 045ACEE1477BF94B82E24CFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 0462FCF4041854C357138EB2 = {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"; }; @@ -90,42 +77,57 @@ 0496E5839A51835BB5FF93DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 049C0B2A50B12541BBD44A87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 049E1ED618DB7447529B850E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 04B2FA3730FEC50AE2B1C817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; 055518CF86E540F102797639 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 056162DB2F31CDEC1A6C891D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; - 05AB083553352BD26D6D3C4A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 0603B289E8B8BD7888BD50F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; 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"; }; 065DC6AA834A0C8B503B2DED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; + 066A6CFD739738E64B9A1A73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; 0689E4234BFF309D55BC9EE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; + 06E118454BAB01FFDACD527D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 0724EE0AC211E89A6F7958A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 073F69BACCEEAF2C760C5CEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + 074F028256F5FD579B5D2782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; 0754B874739E1D1C320CBC06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; 07E05B5CF19C717522C85751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 0894C1467E02EA6490A6A500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; + 08B4B85111083360CFFD38C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; 08C67D8F898198038E7B55B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 0A01B8D1B8BB92ECAA5DB753 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 0A21B1763F931349F83D7B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 0A5B2D79C1823A400BF78E19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 0A6F3D20A53C3556D04EBFF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; 0A917E9DC067F70CA5F649A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 0A9B2CB9CFBE3C8F86CEDB49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 0AF251FD8CDA427402B4E871 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; 0B049B540BD5655570F85574 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B34288A77B2F7AA260954B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; + 0BDB9F4AF08E25885DA29565 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; + 0BE4E7DB2B728F872ADFC77E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; 0BFF39815B8EF703CD5B527E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; 0C3B43C421544069A738C35B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C67E291FE255FB494FC4EB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0CAC425006D46D2FCA0A3207 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMutex.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.h"; sourceTree = "SOURCE_ROOT"; }; + 0CE948F8791686B1FFA3BD96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 0D1ECB6A5E80C5D14F4DAFA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 0D26949FF7CA2C08085377A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 0D615752F26D4369E708FA71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 0DDC6D734C63843B090425CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 0E1A3826C3ED1A4DD974645C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; 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,11 +136,17 @@ 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"; }; + 12294BC8FAF30BB7B1146BB2 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; 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"; }; + 12351FF0F32DCFFD8F9B753E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandaloneFilterWindow.h"; path = "../../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.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"; }; 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"; }; + 1468E60D6C97CED46CEE65D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; 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"; }; + 14B42A90EAB699C9D84607C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; + 14D6E8868C09C8A775DC2409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ComponentBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.h"; 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"; }; @@ -148,6 +156,7 @@ 165BB303E863C2441849613B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 168126095202C9BB6296D6CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; 168C71B9432A92866D27C2F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; + 16F5A5C43BE4EC0F6CC5DFB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -155,41 +164,61 @@ 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"; }; + 18AB0F61FE17A7AEBC67BCA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; 18CA7089E71768AD99750AB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; 18DB65C18DA8D26FA91660E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; 191D7DE6687B33394FE3EDDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 198244D22F7ED586032A77B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; + 19B12207F1058A7008A690C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_utils.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19FDD7F524D1945C0649B453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A0888C3BA4CA890FDA36434 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; 1A2B5A442D099FA377DE4E1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; 1A4728E40A75D044C0B3AAD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A5846EF48A60CC73F45D13D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 1A7B44D364B75EA89393C950 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 1AA75C2ACEBBC88A9690CA64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 1AC1AD1897BA6CDA479EECF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 1AEDC787DD547DD40727B3AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; 1AFE6520DA03E9EEEBD6635C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + 1B3C15A3D44969EB69078E62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; }; 1B52A6301832DDDC24CF78EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 1B63FEEE6A579C7F0A0FD523 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 1B84DED1105E220938AEB48B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; 1C510CCD7B8234F455CAB860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C6125038C6E7EE1C2E1B03F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + 1C7D3F2CEF2575B730CCE3CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + 1C95BEA7DFF54D0E0EDCBE00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; 1CAA2344959E3119A1FD81FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 1CAAE99247B398FFF508E4B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; 1EBD453FA4CD3BA3AFC8C301 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; 1F1F45E88D89328ABE527F50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F397A7E48CFC9AEAEADBE27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; 2006597B2FDE720C44D3A4FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 200E3DB9042F86FBF8C0BB7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; 21879C381970CE48923DCF3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 21C639570A626E8779FFF2B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; 21C6491E13FD144522A50532 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 21E6E63E7EABF1E3FF96B623 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 21FC0B6259B7860644365915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAXException.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAXException.h"; sourceTree = "SOURCE_ROOT"; }; 226D5318C18A25A929FFEC76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 22C1155E4F1D79E13A1B13A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugMacros.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugMacros.h"; sourceTree = "SOURCE_ROOT"; }; 22D3395F98C7DB08BE5806EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; 2367FC583388A40FD177FAC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 239ABAC86285FD737E2FB531 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; 23E177D6A88134FB2ACD7628 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 23F41EEA2A80187B3FD624D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; + 247E08F69F3AFF966A7A2EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + 24CD0C76FB72DF7C3EEF73EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBaseHelper.h"; sourceTree = "SOURCE_ROOT"; }; 24D1FDEEA6015179481DA066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; 24D577E3FEB7A3A17E97C11E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; 24FD97BA70E904627B8152E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; 2507D25163CA3B0FADF6C690 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; 2567995CCEFF466EE733B17E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 25D3E152A4A2A6C8C3CE0FD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2654C10F0361456D12D10D5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; + 26E05A4A18E44EFC9DA5A83D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; 26EFE7738F4209B87E675B48 = {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"; }; + 26FA9CB501F86BF44330A1A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; 2742803ABB5332CAEABDF71D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 275A5714C7FA1AD3379BA6D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 27F41FB9B68D211D5CA7730E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; @@ -199,15 +228,20 @@ 293076BD0110954E1CE7095C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; 2953F71F67DEE8E7894076BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; 295645FD5D881575AC979FDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2989DD57EE9269A9E87ABC4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; 298F381E5973B357D56BCC0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 29BF1F5D248E3ECC4C3D187C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 29D3BA5AD1954DFF9DEEC4EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + 29EDD2B311BF1E11CCF30A2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; + 2A1190CF195DAB9B97589457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../../modules/juce_video/juce_video.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A27D4CFA94D90DDEFD12D3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 2A6DB4DD639D1E65AA24DCB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 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; }; - 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"; }; + 2B74FE1DB5690776640A424A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 2B934F373C03D2E722D651A7 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + 2C5EC74F7F59FB4D2EDBF48A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; 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"; }; @@ -218,32 +252,52 @@ 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"; }; + 2E4121CDCEC95F497B586208 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; + 2E886B4634424C6F38673E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 2E94A5BF0507304C7FBE7DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + 2EC53AB4DD0E835D9B23844C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUPlugInDispatch.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.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"; }; + 315792D7850F26654F7F799A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; + 316054DECCF2C8CA1375419C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnitTypes.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnitTypes.h"; sourceTree = "SOURCE_ROOT"; }; + 31C6340CFAED51F9297A247B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31EA1DBEF38B6612DCF697ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + 326380A033B511A7D6C908B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.cpp"; 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"; }; + 33FA636BC069C12099595FF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.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"; }; + 34F7EF8094F8E02C29C9851B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35A89273665F75DDA18CDC47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 35D50824AD807A721FA1ED0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + 3676883386C9710B77E2A882 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; + 36D859F26BF7EC636B1E9F07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; + 36E62B359C62BCD4DEC8715B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + 375309A679FB0737182D6268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; + 377125E7F99E475F08A365DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; + 38286B4A32B4D3C255E0A871 = {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"; }; + 3BEDADA1310ADC048CDA2C5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; 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"; }; + 3F2ECB4984ED66DFE2FBC8A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; 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; }; + 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"; }; 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"; }; + 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"; }; 30C6744AD7589406A556BB04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; - 31C6340CFAED51F9297A247B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; - 31EA1DBEF38B6612DCF697ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 34F7EF8094F8E02C29C9851B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; - 35A89273665F75DDA18CDC47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 35BC4E6396C07229A7B57058 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; - 35D50824AD807A721FA1ED0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; 364C3095D20CCE47471C4DB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 36B5D78633D30EBA28D70796 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 36F4463D0DA964D24DD6709C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; @@ -251,8 +305,9 @@ 37506BAF1DE7956F29B94FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; 37CB0A4D4B303E50117CE937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 37CC572A9EBB11B044700DD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 38286B4A32B4D3C255E0A871 = {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"; }; 385469D6F16711AF64054853 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; + 38611AE4F0B78E647A39BDD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 387FA9A6E4DD47AA1E9EB560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.in.h"; 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"; }; @@ -262,54 +317,77 @@ 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"; }; + 3A99D3004330A791CB956BDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.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"; }; + 3B0069CA40EDC9EE6EEA241B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../../modules/juce_core/zip/zlib/deflate.c"; 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"; }; 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"; }; + 3CACDEB9F2E644F9454E83AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; + 3CD35644319298B5B3AF2FC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp"; 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"; }; + 3D0DFF0FE4C03F46C0C151B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.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"; }; 3D81F640FA89136773847667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + 3DCE839D5754A0B85895A055 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.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"; }; 3E7DC1C7BF61898D2B652DFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 3E8EC13C23DED65982DD7C40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; 3E98E3F4125BE92757B3785D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; 3EACD224C0545921B299C0CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 3EB16A091F99B1575FB60275 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; 3ED5512FB3A63A94B6F8CD6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3EF3235A99EEE655135A6313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_Standalone.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F08C9123F1F4581E558A5BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F21EE81799D044AAA159766 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F2D394B1097D68F76A8F6D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 40EF449CCA21D70250B018A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAReferenceCounted.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAReferenceCounted.h"; 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"; }; + 42034382F96A7590B1DB3877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; + 4209821D2605ADBC76957DF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAStreamBasicDescription.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.h"; 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; }; + 42A4B8FE13CEA81021C02892 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 44017CD582638DC5439816DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; 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"; }; + 44776E01BBE2E9436287325E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; 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"; }; + 44A6E9698603FDA3DD36E68D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; 4535CD39E01BF704706F59FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; 4538E0CC75638572E0AB6F5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; 4577613E4F31381535A05F83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 459B0AA9B6892BA1033F4508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 45F12CBC5FA8E734B4B9D39D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUTimestampGenerator.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUTimestampGenerator.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"; }; + 467F97EEE2817C95C33C1545 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CarbonEventHandler.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 46BAFEBCC9B0D6AB83F6610E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../../modules/juce_core/zip/zlib/zlib.h"; 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"; }; + 4769F753168E80A9F621F44E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; 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"; }; 479F14675EE3210B9DA3D0CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; 47C8734E53B5CB91EC39C589 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; @@ -318,26 +396,33 @@ 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"; }; + 4AC821504B76EF84E09EBB48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAutoDisposer.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAutoDisposer.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"; }; 4B11A05A3882766130E5B82F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B181F9D6BF555181E04C99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; 4B1F0B6C29EBA49D1F068C54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B3F38810A07C4180C2316D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; 4B6202B55EDDE58A9F2FFA54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + 4B75166293F7E179B00350DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; 4BADD763D121353287878645 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; 4BD53FD98913407DED8C5CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 4BDD4F273422E965926BB39C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 4C2D0950150BFB5207C7758C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; + 4C3C867EC6DB0F32CB3BDD82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/all.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"; }; + 4E2DA9D9E6341CE342F21F74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; 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"; }; @@ -345,20 +430,27 @@ 4ECF602349D1439B777B9801 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 4F64864B8C89AC8CE0C7AE55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 4F6A7C1AD6E7135905A9B083 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F8BCC380708025B3AF3A853 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5072E56AE9C8929877715CAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; 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"; }; 50F39057CB7BDC9068D7F3E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; - 51280CE644EA693D81E76BAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 51547A302427E2E592F46B03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 519C6A0464E86A77B4982AD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 51BC90E105B7BE24709ED369 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; + 51CBE721F7D86B7CAB1F5345 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; 51DECB09AB2D7EE7288014B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 52D9346E47382339ED0B3D39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../../modules/juce_core/zip/zlib/inftrees.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"; }; + 532FE7BF349A5D3282B11350 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; 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"; }; @@ -367,9 +459,12 @@ 546CE08C45FAEC27AB62A360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; 547202DD90BBC6D73BE43A63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 54A9C4FC2DE90BDE60BF0519 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54D0650AB941EB713FEA6CEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 54E85A2DF0544BA87D3F18FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; + 54EA9C0C18CB389F84E6A069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; 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"; }; + 557BEDA7DC8BEE34642B1BDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; 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"; }; @@ -381,19 +476,27 @@ 5720A8E61C5C69F1FBF2FF19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; 57982076F48853C239423EE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 5876C4A9AC4C7AD71F7D3935 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5877BE718733FF657697AE4A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; 58B1B0BEC04AE000CF944BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 58E0845792538E8040E1B765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 58E85EC374D9BB7DF4554DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 5923676B966C61C3DF80F2F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 592E0308E11DC1BBA1A47ACA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; 5971D2F5F06AE6D9ED210336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 598EBD3B89A10DFBCD14314C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; 599A927491E80A43506A4331 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5AB395691D12BE1A2733D6A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; 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"; }; + 5B5EBF0AFFC53BD74E32F66B = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; + 5BA0CCAD38D8808C52D14257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; + 5BF7B1BF887DF27308F5F8F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; 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"; }; 5C26F49D71004A08E3A0CF1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; @@ -401,34 +504,45 @@ 5CF362F3F89B2CA00EF86107 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; 5D772B2770B73BDA1AF8B815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; 5DA8F03F5C8C1191011DF4C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 5DB5A30479144B1BDC7EFB2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; 5DC3F807B9FD5319F2A3651A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 5DC404F2965686DECF6BF259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.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"; }; + 5E787FADAFF518FF48945E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + 5E7D4EE3F4AF0E8F5178E18E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; }; 5E7F940669620DB0130FCD3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 5EBABFCFC48AAC97FFCBCFD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; 5F6D44158DFFDE893C0193EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + 5FA106E6F7385516B5B015E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUPlugInDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FE9B5BC7B02FE080E9587BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; 60056464347F5AB0DB5C7392 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; 6066327446579AEB6131550F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 616A14F72BE19655866F9808 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 61E35FDB62BAAE1F600E2BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 6231453F80A55511B2CE63D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 6249FDB026DDB5231AE6F257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; 627AE95AF5CC80C1BC70A525 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 62AFFF4A280B4DDB8D99D41C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; 62D9065A3F6E63BBBA28804A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 62F2C4DD34181441E8ED1421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; 6308CF3170DD547793663148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 63380E44C2675A83CD92AC22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; 6349D4A49819CB2128783EF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 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"; }; + 6563AF5EFD9D577D4FBEF3CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../../modules/juce_cryptography/juce_cryptography.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"; }; @@ -439,9 +553,11 @@ 66DE678A6737BA0BDC9DAD31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; 66F25CAA696325431D582B01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; 673F3D42A0B3727A15559503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + 675ED664DB7C6E8FD294CFA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; 676A8424AEADB04523CC6DAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; 67FB3C60EA6573D91A60DA1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; 681AE4154AF1983E325F805C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + 687995530430D554DF0B20D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; 688DF902DE3574DE95EDBC75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; 688F6AD0D4CB5064530296FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; 689997DCF29C4EA0BBE54FB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; }; @@ -454,83 +570,110 @@ 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"; }; + 69B37CF1CC379A84387B0334 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; 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"; }; 6A84D1E3AB93AD15EA7EC420 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; 6AE260B5C5FB523C9FD4640D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6B0F9A0F561109CAEC0A9EBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../../modules/juce_opengl/juce_opengl.cpp"; 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"; }; + 6B4464F7F6EA58BE9B9DB387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomic.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomic.h"; 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 = archive.ar; includeInIndex = 0; path = libArpeggiator.a; 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"; }; 6DA1B84A13A83407015F00D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6DAA99FBF7F6A73FCBFA35FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; 6E27AC7FE0E003A8C09E6229 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6E2C98B83B1523C9AF13538F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; + 6E360984CA9670B9012709A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.h"; sourceTree = "SOURCE_ROOT"; }; 6E5B91BF5021D37A600BFD1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6E7F762907BDC37A3F52F75A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + 6EDBE5889E2B5688A9FD97AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; 6EE9BA1411E60B2C9FB8C218 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F2BBE7C1898A14AB6384FC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F303012AB28C3A1D73D1C61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F87A51C59914514F8A9B72D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6FCC51A0993766D53206A13B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + 6FE8AB8B32ECC447077F85C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 709A020234578C644C580BFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 70AB4EFF693E1AE1EEBFA903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; 70ABCE8D77A662C690A1E6DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; + 70C45394BFB9FD2B194312C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; 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"; }; + 7268E361717B8002D9C8B24A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; 729502C8500B9182BD21E21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 72AB7E80EFC4EDC44D3EF55F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 72AE1CFCF936C10D9DA00D96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 72D7B65362F5153AE2211427 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; 7302C6A9643DBAAE038F6852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 731D74A0304C74EEB840EBEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 735F5B2D82B337DC3E3F2B4C = {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"; }; 738D739A17DA063893459D74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 73967B10B92F7FAB36839F0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsHooks.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_WindowsHooks.h"; sourceTree = "SOURCE_ROOT"; }; + 739FE93D6958CD7E27AE0B8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; 73C90F53323DF156C710BFDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + 73E3224C97B48BEDFFF30F17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; 7439AF021E15C53135D6F5A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; 743A7F36F05E6094E49E5983 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; 749BA5EE297AAC71A788FA1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 74B2E75744C2ADA38C18554E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; 74B87646372E1E50ECF87E47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74F428D92543A96844DADEA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AUv3.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm"; sourceTree = "SOURCE_ROOT"; }; 74F6AE983BB2F69371807C67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 75BA7605957E34A230741397 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; 75D31F45D2A20C1A1F43AECE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; 7603F1DA879AF5A55D33AFA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 765A6CADA12A2522B62C56E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 767151334A19AB405B41B7C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; 767D0E7F4407F03918727AD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 76A23E4BD2E3445BD12623E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/export.h"; 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"; }; + 77B4088899362D436F642F37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; 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"; }; + 78635513EA3940A2B3372CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; + 78963BF555C524A1D37BC801 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.h"; 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"; }; + 7A1C0EA394275A03ECE6497D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; + 7A8D5B45E22BF4C69EE381A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm"; 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"; }; + 7BD09EB46265857484E24D94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUScopeElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.h"; sourceTree = "SOURCE_ROOT"; }; 7BD5243B77DAE17EA12970BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7C1BD577C8D987E8531C2C39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAudioChannelLayout.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 7C93F0E35AFAFF12CAEEC002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; 7CB80BCAB334950839BBD09A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D0DD829369F7DD455B6704E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; 7D1DC285EF285E3BC3FEA88A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; 7D571ED2829EE892879C1C6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7D6722EFBE3E6810921ACFC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 7D957CE212A68AB9447C8517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; 7DEEBCA254A8C0A0F0EE3D0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; 7E037018FEBBFC1216C554E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7E2346F6C27474C44E96ED3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; 7E2A782AD0FCCEF576EA5337 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; 7E48708D1F7B5C675C2317FA = {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"; }; 7E7C9B3A5011D8B359BCCB34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 7ED6C71D661AEFC0A5CEFB51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F19659083FE9AAF574BC38C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; + 7F471AA0D2E3D756E2AD1091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; + 7F53423D948F9BC0C203BF09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -542,12 +685,15 @@ 81357EB3F1E156A75DE87AEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; 814F03A5FDB4C571DC56365A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; 8184301C69D7AD1CCD0151F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 81A0EC8B461909A7B421DA64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; 81D8A366649648469D2DC760 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; 81DC784A3153D5792D55F59E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; 81DCA1CF090A56300D6B78F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 8279F272A781F072C109DC98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; 82A9C5375121FE33CC7F40BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 82BEE5D500BA57FE879B57B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; 82CCAE239FDEEBC792677814 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8360F9E56D8B7757EE6CF696 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; 837A1CD7F661E55CE457AF36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 837D41054CF06F3C359E1C4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; 837ED605C5063E0A61A72A90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; @@ -557,37 +703,54 @@ 8499FB509CF42C2224E45442 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; 8509464FD3D19A00F2327CE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 850C65899288D17479330623 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 850D25AC96B80CCB73CF56FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; 8515CFC36F3F9E77145D1691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; 8519072123DAF9F6D1437A60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; 85762464FE37AFE1886FEC22 = {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"; }; 86545EB9FE8A308D9C4EDE38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; 865513C0143175F8590E3E70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 865FB272887ADB3FC3C818FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 86700606E829607118843514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 867C3B1BCE6F830734F490B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; 86E4C9BAFD35A57EC10F979A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; 86FD44F4DA4399B817CA1B65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 873B652F0BD7B50479DE7520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 8784217530CF5AAECCF34ED2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; 87BCE02659EE4D59DCD32E33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; 883E20165573C4C2B854AFE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 887F23C28C20951DB7BE06BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; }; 889A076E2701F552B5FEF800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 88AF6FAD58A36431D6AD244D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAHostTimeBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAHostTimeBase.h"; sourceTree = "SOURCE_ROOT"; }; 88B9C40E1FD9040FDEBE25AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 892CF04418B2C4DBAD94EDD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 8A51281DEB75D536A9AF0517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; 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"; }; 8A888B3BA6C2B669D255B171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8AABEFD7289346B1C74CC3B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; + 8AB5CAA7B18376CFADA83181 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; 8ACBDA03FF94F66CA93F2C24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 8B266FAFAC2B004FE0491E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + 8B59DC08131E7E1945A0CF29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 8B5B921159AA52E9395886A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 8BC3860A462D44222F624DB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + 8BD2CBDCB6CBE34780642C84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMath.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMath.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 8CBFC9B361B4EA7FC4FF924C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; 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"; }; + 8EDB2DB977F9D43B3D82EBDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAException.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAException.h"; sourceTree = "SOURCE_ROOT"; }; + 8F333D461096C4343DABF016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; + 904B9869CC12E85F09326575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; + 905886A5158A96197F3B794D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MusicDeviceBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.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"; }; 91016B15B0E327FE9896DAED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 910BD0E17BDFEE4814A221B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; @@ -599,15 +762,25 @@ 91BDDAC3EF0CFCBB5D871948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; 91CDF5D34E5E7A2AE2395AFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 91F65CBE24CB0A94EF51E1B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; + 927CC3C1677CA52499AED6BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; + 92AF1353E3ECE5AF7AA09985 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + 92CD06BC565885593EEDDEA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; 92E7149DA806A06CA2132057 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 92F456A06460B3037D4633CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 9391842AF510CE33CDBE0694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 93BE84F17B447226BEFDE5A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 93D90B9FB38F267BB20D810A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 93E7A2B75633DC2BDC63B3D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 94482542F1F7ECFC19F8A733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; 9505177FDBE77061A7AF8E65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 951CE97A5CF4D268F6F8F450 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_AAX.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp"; sourceTree = "SOURCE_ROOT"; }; 952BE11CAD4455C1B1E1D830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 955287595F381B656B4D695D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomicStack.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomicStack.h"; sourceTree = "SOURCE_ROOT"; }; 961B80F089DB0E7A8DFAB4BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 96357D0BBF18A35001B067FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; 96532A36D7F49D0D9C97785E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 96C050DDE133E5302C14218D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUSilentTimeout.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUSilentTimeout.h"; sourceTree = "SOURCE_ROOT"; }; + 9700DF59621D9E2EA61EDA5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp"; sourceTree = "SOURCE_ROOT"; }; 970820EDE1527139F0A21632 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; 979712708B1E25F1C971B73B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 97A83B2EE39671026AE1586D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -615,6 +788,7 @@ 98317B6071B777EEDA9BF095 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; 9839BDAE01D6E775EB7083C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 984BE3EEB980581B9CF1BD1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + 984D30A95937B5FE98B434A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.h"; sourceTree = "SOURCE_ROOT"; }; 98842D203B95774D965E2516 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; 98FCD8B5762931363B8B3C26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 9953AF96C328C6E5F660B105 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -626,12 +800,19 @@ 99EC35FE84A139EC412884EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 99F4D664ABFF2A2A4CF19823 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 99FC7A15C6014517ACAD22C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A045372B2A0634436B5CAFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; 9A5CF11ABBC6A0003F5789B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A68EFB4F4ADD8E02B77D574 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A89826CEDEB0B05A1B603DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9AD0AD199A93E9FBDEA73DD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; 9ADD1D5D091D77E36ED23DC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; + 9AFBF2A38F68C0E3BD8A01D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; + 9B5E1CC8F419EA87FFCA25EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; + 9BDFCF230E4548542AF8E230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; + 9BF98BCBAA1E5A1CCB9184FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 9C24A5EC057F1DF3D288143C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 9C641230E6CCFFCACE6403DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 9C678B18063059E47BD0D392 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; 9C74B05A3528A964F98678E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C890D8E5BCD45EEE3D4F472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; 9CF8F87BB0D055ADD5F3E2AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; @@ -639,33 +820,47 @@ 9E48FC4A9F7AA29418616C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; 9EC98C361A9EAB0D8320681A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 9ECB42E31DD6B72D21BC4195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 9EE18E50E642020F26CC8913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; + 9F9DAB4B1EC6F06AF53FC544 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; 9FA32136341A0FD5788A15F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; 9FA929A21008DBE395A5AAAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; 9FDB51EECD49FDCCA59044D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; A01E650AD29BAE32923765DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; A074BFDF2EC5AE63E20B7333 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + A084DD6090E8E6AA74EF3E0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; A0A82A6C6DCDC381F74B55AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; A107C51223EBB5BC40281847 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; A108A51E35F519769877E045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; A13F50653877ABDB365F5384 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + A18314B928E724325FF5C616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; A192DA6FDD08662E55DE912F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; A194F4576EECAED9B78B2F02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1C3387C337ADC04C7F4226B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; A1E986A82F01EE173CFC7D85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; A1F4F524B120158DAF6CC73C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + A21A594A61B855D439145A95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUDispatch.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.h"; sourceTree = "SOURCE_ROOT"; }; A24BDC61F0D26A1A548B7D0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; A2569DAEFA03FF324C3E8B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + A26C38DE133E0FE110970C76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_3.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_3.cpp"; sourceTree = "SOURCE_ROOT"; }; + A295FBED72AF52C77075DA4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; A314AE4F8F7681C94A6D7F71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + A31ED4D408F021314511326F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; A33608197D3926F693D04540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; A33A48189370277CDAD81D92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; A34E8ABF01CE66D52E50D2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; A3B49348A091E7AB374B453D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3C4B0ADA80F626A16808AE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; 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"; }; + A3E82EA41C7ED1F1F667C06F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../../modules/juce_events/juce_events.cpp"; 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"; }; + A49A07A7416A34302BA77068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; + A4DAE8F7EA9FDB457F36E0FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.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"; }; + A5A60C289518F4CBC8B7E4FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/assert.h"; 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"; }; + A5DF374510567D6AF834131A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; 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"; }; A6EFA5477836FD9809280E4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; @@ -677,27 +872,46 @@ 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"; }; A88D5A9910F5A4C31BD87DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + A8C1E36A57CF8F93B1A6826F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; A8FB997EC4AC390EB8D2796C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; A919CA5B7254BB3FF60A5DE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; A953F58A86E4C7C7B52383A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; A9743DB20BE0DD01D992C078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; A9932B1CCB7BBBF4FF0D028C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; A9E3EBF2A274EE7708731BA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AA2046B960AE7E90EC5CC4DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUViewLocalizedStringKeys.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUViewLocalizedStringKeys.h"; sourceTree = "SOURCE_ROOT"; }; AA5141D5A81D7BA0CB51A010 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; AA631B89FF74E3891808468B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + AA7E2343ECA49EED1E22D088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUMIDIBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.h"; sourceTree = "SOURCE_ROOT"; }; + AAD564EBAA457B5FC6521910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; + AB241C1D02DE803D9E72EEF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; AB48308160674E4A0DDEA76E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AB5E3A7C331662BE888433B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; AB89B50C4D6AFF27DBE5065A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + ABB4946947FD4BB075AA7706 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; ABE2D29E90DC804807565090 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; ABE7925A8A2E061D0ADBC89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; AC48FAE2DA3B12A483E7255A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; AC4B7D8324C27A8976F0CF33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + AC800D28406E1EB42D6F8011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; AC840D910B076A8D6E11D0E3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + AC849FBD089A9DD5534F6D0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; ACB2BB311E0E549224D8D48E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + ACE2CF96D0A9AD407B7C697B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../../modules/juce_core/zip/zlib/crc32.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"; }; + ACFA74CA6251F33071CC9264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; + AD08E5A07F073FAD0B4CCF1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; + AD1AEEB00CBF438071CF297F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAUParameter.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.h"; sourceTree = "SOURCE_ROOT"; }; + AD33FF34F267508546D24E26 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; }; + AD8DBE26092C4C360126280D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + ADBF3351E3236DA3B0FA831C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.h"; 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"; }; + AE9E9A1A3C4B92A18C4FEA7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; + AEB64FC135214970A07F44AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../../modules/juce_core/zip/zlib/inflate.c"; 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"; }; @@ -706,44 +920,65 @@ AF29767D1BBFFB2FC061FBD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; AF2C173BA6D3F87D9CBE28CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; AF3E748F017DCB096F2010AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + AFBF534086B742D5C904123B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; AFC9146FE0BAFFDCFD121F03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; AFE21D6D3B962F8B04CAD469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; B032C343B2510BBC0D81739B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; B03946A7332A9CA655E47260 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; B076487D097918E3D510801B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; B082837B13A368148C64EB87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0DEA2204F8BD758EB747B5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; B129B4C893F395FFB6626EC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + B1727AFACC3EF7D38D41FAC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; + B1ACDD8A2A94B7C84004DE9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnit.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.h"; sourceTree = "SOURCE_ROOT"; }; B2315CF4C3757346D888D3DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; B27E127E31026271E71896A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + B3CC9DC75DBF4166649F4903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; B3D81C8539CC39AD8D7BDA60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B3E22594AF1C50B96CB53BA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; B3E60DC1BE9F0B5000434DB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; B3EE51DF93336DBE729252C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; B3F35EAEEB32BFA5250B0083 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + B42A74960BF7A07B4E112877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; + B42C725090D32371E25A27BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_1.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp"; sourceTree = "SOURCE_ROOT"; }; B48A88558C61104240BB677A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + B52A381EDDDF849536CCE023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; 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"; }; + B6963D7DEF65FB2B8019CBA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; 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"; }; + B6EC54ECB041FA5CC2ECC9E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; B72C9BECB6F8437F8D1AB431 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + B82110A52A996CF716DB4A28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_RTAS_utils.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.mm"; 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"; }; + B837F2E35EF31C3D6B2475A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.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"; }; B95706632A2A83A2CE7C5E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; B984F32EE03514B90E16F4D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + B9A84C8F4A70B6008D93D334 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + B9E52633F786F583D1581184 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; B9EF73FAFB8DD5781C98587C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; B9FD8B0E11BC5821854BCBA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeModuleHeaders.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h"; sourceTree = "SOURCE_ROOT"; }; BA2245F4BF3B14E3F299B329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + BA26A1FDB548AB627B50F674 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; 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"; }; + BA342C86519C43DCC3C418F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.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"; }; + BAE274F46C2BA301B5A4F825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + BB612E93861A6B436244E563 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../../modules/juce_core/zip/zlib/infback.c"; 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"; }; @@ -757,13 +992,17 @@ 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"; }; + BEE0EEF79C21B5621D09BCB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; 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"; }; + BF71FA537D2C07476C9FD9B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; 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"; }; BFF3F7F9ADE1564E2A95E761 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C0CEC81EEF0BE081FD521363 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.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"; }; @@ -772,19 +1011,24 @@ C18A26D290AB9B1B16DDF330 = {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"; }; C1AF9163089C64C157ADC646 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; C207B42DBD931192FED30C23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + C245903E71EADDF063AB60C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.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"; }; 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"; }; C35471544C7C07AF9E9E7225 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + C3B232B30384187DF082F05F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; C3F6222E9059F8CCD9674AD0 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; C444DAEF136B74E73ED85A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + C4977EA859A15F1F83481C3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_4.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_4.cpp"; sourceTree = "SOURCE_ROOT"; }; C4AFDBF9F2FFB781244CC538 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; C4B3E2BC33DD5CE9C2F64CB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; C4C7E6CA16E434046B3CCCE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + C4DE75005700D69128A66F6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; C4E013FC175AB6FFBC231FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; C4E46FDFF5CD5B497101877D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + C4F0538F70B2DBF4EEBAAFB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; C4F2A6A5404F90E623230AAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -795,17 +1039,22 @@ C609AAB8EED8AA8E3DB7ADDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; C62BBF802DF9E84CA2CC2A1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; C6491631692B3AF4DF8859E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + C69DB84DBD6E93EDF4D07A9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; C6B2D0944393894E40C787E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; C6B89A6B45688392BD97DC94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + C6F67AF44021B144A87D8399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; C71190ADD758B74B9A235B27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; C74725F506BB44F32F0D8E50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Arpeggiator.cpp; path = ../../Source/Arpeggiator.cpp; sourceTree = "SOURCE_ROOT"; }; C7B66C045FC45D9DF057BAA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + C8236201B41F775D7DD3995B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; C84B393BB56ECED0D2F26577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; C85B4304206767431F345EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C9E671969C02B31F17D48CA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; CA015A7287D01104AE5E1553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; + CA4A3E604DF9234E788C45E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; 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"; }; @@ -815,21 +1064,30 @@ CAAB995B6AF9B3BD4AF0F2FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; CAD3AC17AF42E2BED68AB0B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; CAD8005D0F6DA5133957F9BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + CAF3F518EDC50BDEC789DFFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + CC6A961AF1751235337FBE08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + CC8F20C04C860CC2BFCFA89A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; CD30A091E8BB28D380EA0BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + CDB90CCE6B2AEBDE112D51D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; CDF60F2C42393AB69C766ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + CDFBBEC508DF44B434B9A7F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; + CE3A52E967A57416F1BB367E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + CE5A38CECF65EEEB3BEB576A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; CE627A7B66D84A3A3EA03042 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + CE77997AA8BF401DAF83888A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; CE9208896DC1AB22AE2C0C71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; CEDC97D5A9E596C1D85EDE53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; CEF05823FBA7C824BF7E2217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; CF460BB59AE1A3CB56C2CC97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; + CF6195C5EBFAB9F1374B16DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; + CF8EA0BD47D7C3A5DDC9E3A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; CF9FF93F5E11C52F2E774BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; CFC07E265C4DA1A72CF556C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; CFC53DF49FFE72C3E03E144B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; @@ -838,18 +1096,26 @@ 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"; }; + D0D19D3CB922CE8CF9001F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; D0FE86030A1DCFDCBA47ED7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + D12132F31CEF4C1C2577D63B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; + D141AC3359353C06836A4AC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; D15E217771D21F009AD82865 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; D16DE0A208A8FEF7522E4890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + D18566FB10934B4405D22F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; D1D43810FD94A2728CC43D7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; D314DF0A28818B3DF91342E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + D37FD881B066CAF213F49F54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; D433408E46A1409A9C033143 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; D4407C9C36B5C4B11373015F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + D452CBBC4737DB8E4C8B1829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; D4F2C2BBAE51280E9FA0524F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; D52E8A14F2E48978956EA90E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; D57CBCE41DCFFF4B35AED051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; D58D61AEA353B42D1905583A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5B8858DF37B25CD465EE26B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; 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"; }; + D651AC786CF3B6CEED73A294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; 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"; }; @@ -858,12 +1124,16 @@ D6F02B228C9BDC927841C47F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; D72C17DE76B0FFDA9002AB48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; D7394B5E166D1AA610793937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + D7482DB1F1B3A57F6B3DD8F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; D76C96902FA3B6C201EBE272 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; D799C7F000EC4D33C2DABADB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; D7B5624DFFC5F0D465324ABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; D8581F2EDC5AF67078C87F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + D862D05ADC5B51155A7E92CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + D8F52EB57878B5762C0FD866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; 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"; }; 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"; }; @@ -875,26 +1145,37 @@ 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"; }; + DB7068A6434DFA68ACCF9C73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; + DBB45DDD91690F65C7F18EE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; 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"; }; DC7D445397BE2D6B9CA5E028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - DCF9F4ED549A3C2318247B0E = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + DC7EB98DAEBBDFA41B3D4343 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputFormatConverter.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputFormatConverter.h"; 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"; }; + DDEA3CEADBF3709684D7E2C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewControl.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.h"; 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"; }; + DF6B4903F41F115C8CB35F1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; 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"; }; + E0EEB28887FDC0430938C40B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; 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"; }; + E240FFDCD94FAB72D3B39BB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; + E2F0975B40FA0AC1A88F897A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; 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"; }; @@ -904,12 +1185,16 @@ E4CB436C6C34622D4FB0DB95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; E4EBE41A7A39C23DD1C35CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; E5277016CA6722F001B92408 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + E5383633D4086658287D3CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; 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"; }; + E6674DD0687DC37987922FF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; + E6695A3407C7C3AF6FA2F540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.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"; }; + E6833156A66A7F31E8CAAA5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; 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"; }; @@ -923,24 +1208,38 @@ E7F6DD206D0900DE7B792B75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; E8B758282455D28365888987 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E8F1F564D31ECDB765484D35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeSystemHeaders.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + E8F38C42C574550ADD56AFDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; + E9281112562838BBE247211F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; E96CA677440E7233CCEC4002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; E9D514DF14180AAC8013083A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; EA0497ADC2D82C3B7062F22D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; EAAA5DE166254FF08BBF56C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3_Wrapper.cpp"; path = "../../../../../modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; + EB14AB8617A8CA2AA16A14A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; EB1836E7A020E27A7531DD9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; EB3651084188F428EE0EC55D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; EB47EFA97F37130CBFA3BBBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; EBC20070F34FA195234BE6DF = {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"; }; 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"; }; + EBFE88A1935B7EF536E5C64A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; 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"; }; + EC5D6E16B4ED4A98DEDC0B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; + EC5FC2E34F1248B671FC7675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; + EC6C560E5F4B2AE72054648A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; + ED61983FDE1E598DD7AE3A5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAThreadSafeList.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAThreadSafeList.h"; sourceTree = "SOURCE_ROOT"; }; ED6E81A945B28362BD3031F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; EDBCB0EA94E2EFAFD754B922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + EDC2FD69DA8E9734C6E8EC30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; EE01B0F4B428C5A225912CB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; EE294A9E140300FF4776FAD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; EE39BF0D5B60F251A414EAC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; EE427AF2FF55C0F15FC75CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EE54B85A2252072268784366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../../modules/juce_core/zip/zlib/trees.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"; }; + EF01A1FC7C85F759038CC4D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + EF4767038C27383F127F277F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; 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"; }; 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"; }; @@ -952,46 +1251,63 @@ 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"; }; + F154B7DC263D9598EB6A1407 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBuffer.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.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"; }; - F3C7F75DE1EEB64D6FF4786D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_cryptography/juce_module_info"; 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"; }; + F3D37D0FDD2772946FF5DCFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; 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"; }; + F415203E0CC2B7E32FCBECDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.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"; }; + F67ADA5A8D1639A9582F0017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; F6D10531F4650FBEB0D33D26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + F6E7047A4B14DF67FC06B116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + F6F12AF6066980B194E3FFF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; F7089FFFA18BCBE67D5C9E3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + F71856577CBC65248BA48E83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + F7A187C9F0B79494AB953DF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; F7CFD58445F29C592E1CA3D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F7F3649AF02F4C3C751B6F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + F81654393A6815CD487BEEEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + F84DA9CCCAC51DDD4D8258D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; F87343C6F5ADDD9DB66521FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F8D4A3C9D7D42C938A9A1B08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; F8EC2EB5F339D51BD491E8E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F97C03E9DF14C226EF400C73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - F5B6DC6A96EF0A5FE46C3DA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - F6E7047A4B14DF67FC06B116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; - F81654393A6815CD487BEEEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + F994AC2474618A75DD677972 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9BB54AE65B0CB1C8D3A6484 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm"; sourceTree = "SOURCE_ROOT"; }; F9D08064C86CE530C8246E8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F9E9EF28BCBA5A190B324137 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; FA644A83DBB0DDE419A33EC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + FA982E8C2FC3B8CF6BB4F61B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.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; }; + FADA4A27E1D65D43FD8ABCC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; + FB1E5C48EC1CF28B105F7B7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; + FB55756F56E695C35BB1A419 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + FC06F8462C3ED0E5D86F6B93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; 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"; }; FC7D4F5D069051772CAEF9D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; FC834EDE6FBC3673B234A2E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; FC901AD682ED3BC9A5D553BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + FCE35BB1F7BB31517B52C8AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; + FD89CDB7C5ABA7542D9B5E1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; FD8CEE43FE42E3CE4268E135 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; FDA7E2839FE9AB5EFE2CE375 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; FDCA5DC82DF2C77E6644C7C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1010,13 +1326,25 @@ C74725F506BB44F32F0D8E50, ); name = Source; sourceTree = ""; }; 911865057C71D7643E1F513A = {isa = PBXGroup; children = ( 659909AEEC19DE58F4EB4430, ); name = Arpeggiator; sourceTree = ""; }; - 40FE43300C92687E35D35021 = {isa = PBXGroup; children = ( + 394DA0374FB09A133A715856 = {isa = PBXGroup; children = ( FE67ABF81D529712F7669724, 53FEB0057B8A76A0788A9EC4, 0A01B8D1B8BB92ECAA5DB753, BD57F71D127F56050D4D002D, C6B89A6B45688392BD97DC94, ); name = buffers; sourceTree = ""; }; - C376BB9DEA9AC1C48037B349 = {isa = PBXGroup; children = ( + D3CFBCFA0C57CCBBA438AD4D = {isa = PBXGroup; children = ( + FD89CDB7C5ABA7542D9B5E1D, + F67ADA5A8D1639A9582F0017, + 39BE88EF0E3BD6B4AB68F2B9, + D67D2A6E5C3F59CD621EA248, + A919CA5B7254BB3FF60A5DE7, + 3DD0FD0BC2F231862DB27C0E, + 86E4C9BAFD35A57EC10F979A, + 89C5AA5B6E8CF94B1B170BC1, + 466A9F12236DE37BACE09B42, + 9B5E1CC8F419EA87FFCA25EA, + E6FCC7E47574DFBEF222A74B, ); name = effects; sourceTree = ""; }; + E7ECF9209D4C2B0CEC554849 = {isa = PBXGroup; children = ( F0A17AE5EBBD91BD44AC2DDC, 2567995CCEFF466EE733B17E, A33608197D3926F693D04540, @@ -1026,17 +1354,29 @@ E7449A06AE5C5783B9C1A0B3, 2006597B2FDE720C44D3A4FA, B082837B13A368148C64EB87, - C84B393BB56ECED0D2F26577, ); name = midi; sourceTree = ""; }; - 3D5BF1B8248EB63C2C66C7B8 = {isa = PBXGroup; children = ( - 39BE88EF0E3BD6B4AB68F2B9, - D67D2A6E5C3F59CD621EA248, - A919CA5B7254BB3FF60A5DE7, - 3DD0FD0BC2F231862DB27C0E, - 86E4C9BAFD35A57EC10F979A, - 89C5AA5B6E8CF94B1B170BC1, - 466A9F12236DE37BACE09B42, - E6FCC7E47574DFBEF222A74B, ); name = effects; sourceTree = ""; }; - 9D736E9C739DD85D088DAE4C = {isa = PBXGroup; children = ( + C84B393BB56ECED0D2F26577, + B3CC9DC75DBF4166649F4903, + 5E6F9C107ED44AD3A6C38F25, ); name = midi; sourceTree = ""; }; + F1636B6179AE65926AE1EBC9 = {isa = PBXGroup; children = ( + 6140A9EFC120C19C900E9997, + 4D683F6CB06A1BFA3B7D0619, + E3037BC34D7BF2461BDE7406, + EDC2FD69DA8E9734C6E8EC30, + 5DB5A30479144B1BDC7EFB2E, + 3BEDADA1310ADC048CDA2C5F, + F3ACB6DE3915DDD06925799D, + CE5A38CECF65EEEB3BEB576A, + F994AC2474618A75DD677972, + EB14AB8617A8CA2AA16A14A3, + D862D05ADC5B51155A7E92CF, + 2C5EC74F7F59FB4D2EDBF48A, + 6156454DCC08491EA30C909B, + AC800D28406E1EB42D6F8011, + 04B2FA3730FEC50AE2B1C817, + 6FE8AB8B32ECC447077F85C9, + 4D78DF92155C219D09D7A455, + 7C93F0E35AFAFF12CAEEC002, ); name = mpe; sourceTree = ""; }; + 6F72B2B6AAA728BF3FE71551 = {isa = PBXGroup; children = ( 5971D2F5F06AE6D9ED210336, F65C6FEA297DBD53427E4038, 298F381E5973B357D56BCC0B, @@ -1053,18 +1393,25 @@ 4E4473B8662EBAD8C7093702, 731D74A0304C74EEB840EBEE, 6231453F80A55511B2CE63D3, ); name = sources; sourceTree = ""; }; - 07B8D2EF44928306F9390667 = {isa = PBXGroup; children = ( + DF703DDBB4257AB1B104A44A = {isa = PBXGroup; children = ( B8C6E4497BD264030302F083, 008905A65B6DD3A48DF09AA2, ); name = synthesisers; sourceTree = ""; }; EDCB4DA5D2A8138374D81A81 = {isa = PBXGroup; children = ( - 40FE43300C92687E35D35021, - C376BB9DEA9AC1C48037B349, - 3D5BF1B8248EB63C2C66C7B8, - 9D736E9C739DD85D088DAE4C, - 07B8D2EF44928306F9390667, - 6B6BC26837948329DC9F76AB, + 394DA0374FB09A133A715856, + D3CFBCFA0C57CCBBA438AD4D, + E7ECF9209D4C2B0CEC554849, + F1636B6179AE65926AE1EBC9, + 6F72B2B6AAA728BF3FE71551, + DF703DDBB4257AB1B104A44A, + A8C1E36A57CF8F93B1A6826F, + 1AEDC787DD547DD40727B3AD, + BCA4C93B24E774413746F944, 1AEDC787DD547DD40727B3AD, ); name = "juce_audio_basics"; sourceTree = ""; }; - B5571584010E7737E68C42DC = {isa = PBXGroup; children = ( + 3D360027A00D6E6CA4AF3B88 = {isa = PBXGroup; children = ( + 35D50824AD807A721FA1ED0D, + 0006D862EC3A374B150CC1FD, + 81D8A366649648469D2DC760, ); name = "audio_cd"; sourceTree = ""; }; + 3AD3F6FAD77312BB4F347053 = {isa = PBXGroup; children = ( 7FE8F6BCC7156AD27860D6E4, 1AA75C2ACEBBC88A9690CA64, 29BF1F5D248E3ECC4C3D187C, @@ -1072,22 +1419,13 @@ 867C3B1BCE6F830734F490B0, 8A64535D698A878E8431C0D8, A192DA6FDD08662E55DE912F, ); name = "audio_io"; sourceTree = ""; }; - 96C6F62AC99E22623B617A51 = {isa = PBXGroup; children = ( + CA3F400DDCB2D456634E6D3E = {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 = ( + ADCFCE0C9BEAC3674C72793A = {isa = PBXGroup; children = ( 5C045A60C690BEA1949F0058, BD2C45FADC3EEA943520059D, 7ABF23E7BCFA4CDB0544DC8B, @@ -1107,31 +1445,169 @@ 39E39B9AFF88B9F835F957D0, F6E7047A4B14DF67FC06B116, 50F39057CB7BDC9068D7F3E4, ); name = native; sourceTree = ""; }; + 5208F184DC9BE418248E9E8D = {isa = PBXGroup; children = ( + 6A379B0CAB0C93AB550076F4, + 08C67D8F898198038E7B55B1, + 2A7EED1861BF3B69BF30B895, + 0A6F3D20A53C3556D04EBFF9, ); name = sources; sourceTree = ""; }; 9B4021595672E4CE56049355 = {isa = PBXGroup; children = ( - B5571584010E7737E68C42DC, - 96C6F62AC99E22623B617A51, - 836AAA7878CE2E15DCF7FFDF, - ADFA14C127E60405E56146CD, - 15E42162BEB5CFC99C395539, - DCF9F4ED549A3C2318247B0E, + 3D360027A00D6E6CA4AF3B88, + 3AD3F6FAD77312BB4F347053, + CA3F400DDCB2D456634E6D3E, + ADCFCE0C9BEAC3674C72793A, + 5208F184DC9BE418248E9E8D, + 70AB4EFF693E1AE1EEBFA903, + 4F64864B8C89AC8CE0C7AE55, + AED6A0E57D5F1CB9CEB1DECB, 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 = ( + 8FBD9DDF1203F45400874FAF = {isa = PBXGroup; children = ( + 96357D0BBF18A35001B067FA, + CDFBBEC508DF44B434B9A7F0, + 3676883386C9710B77E2A882, + 54EA9C0C18CB389F84E6A069, + D141AC3359353C06836A4AC4, + A4DAE8F7EA9FDB457F36E0FC, + 36E62B359C62BCD4DEC8715B, + B0DEA2204F8BD758EB747B5E, + 70C45394BFB9FD2B194312C9, + CE77997AA8BF401DAF83888A, + E240FFDCD94FAB72D3B39BB2, + 377125E7F99E475F08A365DB, + CF8EA0BD47D7C3A5DDC9E3A5, + F7A187C9F0B79494AB953DF0, + ACFA74CA6251F33071CC9264, + 81A0EC8B461909A7B421DA64, ); name = private; sourceTree = ""; }; + DC938292E35457ACB32AD984 = {isa = PBXGroup; children = ( + 7E2346F6C27474C44E96ED3F, + 9BF98BCBAA1E5A1CCB9184FE, + FB55756F56E695C35BB1A419, ); name = protected; sourceTree = ""; }; + 281AB01E3D6D2C31A243FB95 = {isa = PBXGroup; children = ( + 8FBD9DDF1203F45400874FAF, + DC938292E35457ACB32AD984, ); name = include; sourceTree = ""; }; + C607311290A71B0CC9281ADE = {isa = PBXGroup; children = ( + 281AB01E3D6D2C31A243FB95, + DF6B4903F41F115C8CB35F1F, + C69DB84DBD6E93EDF4D07A9A, + 8360F9E56D8B7757EE6CF696, + 200E3DB9042F86FBF8C0BB7E, + AB5E3A7C331662BE888433B7, + BF71FA537D2C07476C9FD9B3, + 3F2ECB4984ED66DFE2FBC8A6, + F3D37D0FDD2772946FF5DCFF, + C9E671969C02B31F17D48CA3, + CC8F20C04C860CC2BFCFA89A, + E2F0975B40FA0AC1A88F897A, + 78635513EA3940A2B3372CE7, + D0D19D3CB922CE8CF9001F0D, + 18AB0F61FE17A7AEBC67BCA2, + AC849FBD089A9DD5534F6D0B, ); name = libFLAC; sourceTree = ""; }; + 9D64EA3EC74460499F8A37DB = {isa = PBXGroup; children = ( + C607311290A71B0CC9281ADE, + 4C3C867EC6DB0F32CB3BDD82, + B52A381EDDDF849536CCE023, + A5A60C289518F4CBC8B7E4FC, + D7482DB1F1B3A57F6B3DD8F7, + EC5D6E16B4ED4A98DEDC0B14, + A1C3387C337ADC04C7F4226B, + 76A23E4BD2E3445BD12623E2, + 2B934F373C03D2E722D651A7, + A084DD6090E8E6AA74EF3E0A, + CE3A52E967A57416F1BB367E, + FA982E8C2FC3B8CF6BB4F61B, + 8B59DC08131E7E1945A0CF29, + 4769F753168E80A9F621F44E, + 0AF251FD8CDA427402B4E871, ); name = flac; sourceTree = ""; }; + 7CD06B9E4729CDDC247CF8F6 = {isa = PBXGroup; children = ( + 7F471AA0D2E3D756E2AD1091, + 4B3F38810A07C4180C2316D5, ); name = coupled; sourceTree = ""; }; + 57DC5B3C44280C8316418454 = {isa = PBXGroup; children = ( + E8F38C42C574550ADD56AFDD, ); name = floor; sourceTree = ""; }; + 80C8E9AEC4301B137EAD34E6 = {isa = PBXGroup; children = ( + E6833156A66A7F31E8CAAA5D, ); name = uncoupled; sourceTree = ""; }; + BB112A6716C1D0B13EE3127D = {isa = PBXGroup; children = ( + 7CD06B9E4729CDDC247CF8F6, + 57DC5B3C44280C8316418454, + 80C8E9AEC4301B137EAD34E6, ); name = books; sourceTree = ""; }; + 8D1FF852D6CF145F9DED23E3 = {isa = PBXGroup; children = ( + 904B9869CC12E85F09326575, + CDB90CCE6B2AEBDE112D51D8, + 7268E361717B8002D9C8B24A, + 459B0AA9B6892BA1033F4508, + B6EC54ECB041FA5CC2ECC9E7, + 14B42A90EAB699C9D84607C4, + ABB4946947FD4BB075AA7706, + 9BDFCF230E4548542AF8E230, + 557BEDA7DC8BEE34642B1BDC, + FC06F8462C3ED0E5D86F6B93, + 7D957CE212A68AB9447C8517, + E6695A3407C7C3AF6FA2F540, + 4C2D0950150BFB5207C7758C, + 3D0DFF0FE4C03F46C0C151B9, + 3A99D3004330A791CB956BDE, + B1727AFACC3EF7D38D41FAC3, + 9C641230E6CCFFCACE6403DA, + F8D4A3C9D7D42C938A9A1B08, + B837F2E35EF31C3D6B2475A5, ); name = modes; sourceTree = ""; }; + E5B918850A3E74C095D37A19 = {isa = PBXGroup; children = ( + BB112A6716C1D0B13EE3127D, + 8D1FF852D6CF145F9DED23E3, + 21C639570A626E8779FFF2B8, + AAD564EBAA457B5FC6521910, + 9F9DAB4B1EC6F06AF53FC544, + 5DC404F2965686DECF6BF259, + 03A92342B52D9832F390D78A, + 675ED664DB7C6E8FD294CFA4, + CC6A961AF1751235337FBE08, + F415203E0CC2B7E32FCBECDC, + 9AFBF2A38F68C0E3BD8A01D4, + 8AABEFD7289346B1C74CC3B9, + 0894C1467E02EA6490A6A500, + D452CBBC4737DB8E4C8B1829, + 9EE18E50E642020F26CC8913, + FB1E5C48EC1CF28B105F7B7F, + 9C678B18063059E47BD0D392, + 72AE1CFCF936C10D9DA00D96, + FCE35BB1F7BB31517B52C8AC, + C4DE75005700D69128A66F6F, + AB241C1D02DE803D9E72EEF6, + 4F8BCC380708025B3AF3A853, + 532FE7BF349A5D3282B11350, + 375309A679FB0737182D6268, + BA342C86519C43DCC3C418F9, + 7F53423D948F9BC0C203BF09, + 73E3224C97B48BEDFFF30F17, + 0E1A3826C3ED1A4DD974645C, + B42A74960BF7A07B4E112877, + BAE274F46C2BA301B5A4F825, + 92AF1353E3ECE5AF7AA09985, + 36D859F26BF7EC636B1E9F07, + A18314B928E724325FF5C616, + 82BEE5D500BA57FE879B57B4, + 77B4088899362D436F642F37, + EC5FC2E34F1248B671FC7675, + 927CC3C1677CA52499AED6BD, + 8AB5CAA7B18376CFADA83181, + C6F67AF44021B144A87D8399, + 4E2DA9D9E6341CE342F21F74, + CA4A3E604DF9234E788C45E6, + FADA4A27E1D65D43FD8ABCC4, + 850D25AC96B80CCB73CF56FE, ); name = lib; sourceTree = ""; }; + 4E3DB2830C0499CAFB097E20 = {isa = PBXGroup; children = ( + E5B918850A3E74C095D37A19, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + CCCCA77862270525F8CC528A = {isa = PBXGroup; children = ( + 4E3DB2830C0499CAFB097E20, + 2989DD57EE9269A9E87ABC4B, + 54E85A2DF0544BA87D3F18FB, + F84DA9CCCAC51DDD4D8258D3, + 8784217530CF5AAECCF34ED2, + 12294BC8FAF30BB7B1146BB2, + D37FD881B066CAF213F49F54, + 02668ADFC1B28F5472FB34FC, + 3DCE839D5754A0B85895A055, + 1B3C15A3D44969EB69078E62, ); name = oggvorbis; sourceTree = ""; }; + D7591D7D9693C0E71B1BBAA6 = {isa = PBXGroup; children = ( + 9D64EA3EC74460499F8A37DB, + CCCCA77862270525F8CC528A, DE3E2E49819D521BB2714F3C, 61E35FDB62BAAE1F600E2BA5, D01C26439072DB6EA631409C, @@ -1150,34 +1626,109 @@ E54BB76B739DAD6A6A2CADDB, CC559586787FB85735F0E869, 86700606E829607118843514, ); name = codecs; sourceTree = ""; }; - FDD2EBCF9D6499F8A06104F1 = {isa = PBXGroup; children = ( + F320C8CA7AE059410B856C35 = {isa = PBXGroup; children = ( + 23E177D6A88134FB2ACD7628, + 35A89273665F75DDA18CDC47, + 86FD44F4DA4399B817CA1B65, + 743A7F36F05E6094E49E5983, + 055518CF86E540F102797639, + E7A1D0C8F514D56B950875A5, + 8094CC0901A13990DFC879AC, + F3F66A53F2EEAED105A83E5A, + 4B11A05A3882766130E5B82F, + 9AD0AD199A93E9FBDEA73DD7, + 6C19FE63ACDD0EBD83309E01, + 673F3D42A0B3727A15559503, + 7E7C9B3A5011D8B359BCCB34, + 91CDF5D34E5E7A2AE2395AFE, + 52D07E91B7080B25CB7ED6F4, ); name = format; sourceTree = ""; }; + 1AAA98D29D21D2F18B1354F1 = {isa = PBXGroup; children = ( 0F1E7837A0941C47E29A47BB, 5B0B8A3938CE0F3DAB33C27B, ); name = sampler; sourceTree = ""; }; E697DD5B6A03925CF969A35B = {isa = PBXGroup; children = ( - FD85D14991BDF4DC4B018D57, - BA85C6DA6F55BB10A0797FC5, - FDD2EBCF9D6499F8A06104F1, - 34598FD58DF590AF07F907D9, + D7591D7D9693C0E71B1BBAA6, + F320C8CA7AE059410B856C35, + 1AAA98D29D21D2F18B1354F1, + 4B75166293F7E179B00350DD, + DAF907ABF4DE87F35748F3D6, + C0EDB3E56321B663CEA2E600, DAF907ABF4DE87F35748F3D6, ); name = "juce_audio_formats"; sourceTree = ""; }; + A761179035DC171AE3CC1361 = {isa = PBXGroup; children = ( + 38286B4A32B4D3C255E0A871, ); name = AAX; sourceTree = ""; }; + 2950965D1962FA815C4D2EED = {isa = PBXGroup; children = ( + 8050245A4FDA661B38C56FB7, + ADBF3351E3236DA3B0FA831C, + 24CD0C76FB72DF7C3EEF73EC, + 4E117F7C74DCEB70A1F377E6, + F154B7DC263D9598EB6A1407, + BA528AB76690AF9F8ACE8A57, + 984D30A95937B5FE98B434A9, + BC27929DAEAC6B259D898C9F, + DDEA3CEADBF3709684D7E2C3, + A7C5D1A29C28C505913F01F7, + 7807EDBF280BD86BA4B54170, + A21A594A61B855D439145A95, + D8F61BA5399E97BE1B28FB14, + C245903E71EADDF063AB60C9, + DC7EB98DAEBBDFA41B3D4343, + 3AD79BA42B077E0A5F529E32, + AA7E2343ECA49EED1E22D088, + 69B2E6C4996E538FBA2F0DE6, + 6E360984CA9670B9012709A9, + CBDF4DF6A7679ECC81BACF3E, + 78963BF555C524A1D37BC801, + 5FA106E6F7385516B5B015E2, + 2EC53AB4DD0E835D9B23844C, + 2DE0D81D1002AACD733312D3, + 7BD09EB46265857484E24D94, + 96C050DDE133E5302C14218D, + 45F12CBC5FA8E734B4B9D39D, + AA2046B960AE7E90EC5CC4DD, + 6B4464F7F6EA58BE9B9DB387, + 955287595F381B656B4D695D, + EF849D7AC1EE182A681688E3, + 7C1BD577C8D987E8531C2C39, + F53482E8CB053854980E8C86, + AD1AEEB00CBF438071CF297F, + 4AC821504B76EF84E09EBB48, + 22C1155E4F1D79E13A1B13A0, + 02197356D3685DBECD8CA4A6, + 8EDB2DB977F9D43B3D82EBDC, + 88AF6FAD58A36431D6AD244D, + 8BD2CBDCB6CBE34780642C84, + 2DF4931504468BD9E20AE3E6, + 0CAC425006D46D2FCA0A3207, + A548F9E69AE986B2EB619FE6, + 467F97EEE2817C95C33C1545, + 40EF449CCA21D70250B018A9, + C5B4C33C4CACB952D0084A25, + 4209821D2605ADBC76957DF8, + ED61983FDE1E598DD7AE3A5F, + 2CFC098BABAF6F3A9DFA615A, + B1ACDD8A2A94B7C84004DE9D, + 316054DECCF2C8CA1375419C, + 21FC0B6259B7860644365915, + 17D954B1EE6DD96B6905508C, + 14D6E8868C09C8A775DC2409, + B6E62CA67E425664815BB3FA, + 905886A5158A96197F3B794D, ); name = CoreAudioUtilityClasses; sourceTree = ""; }; BA137B835216E7860F255BD8 = {isa = PBXGroup; children = ( - 7E48708D1F7B5C675C2317FA, ); name = AU; sourceTree = ""; }; - BBB57EBD2A76DB948EC98113 = {isa = PBXGroup; children = ( + 2950965D1962FA815C4D2EED, + 3C5308C4C1F27A3EDA01A6AE, + 7E48708D1F7B5C675C2317FA, + 5B391F3E3B16BFFA2E2E022F, ); name = AU; sourceTree = ""; }; + 8691C24C4102F1C9E9B9C411 = {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 = ( + 85762464FE37AFE1886FEC22, + EBC20070F34FA195234BE6DF, ); name = RTAS; sourceTree = ""; }; + C05274DFED1EB6E34DF36733 = {isa = PBXGroup; children = ( + 4383F22A2A80A06AD2CC494A, + 12351FF0F32DCFFD8F9B753E, ); name = Standalone; sourceTree = ""; }; + 99C24791D5336D7A9E41FAF5 = {isa = PBXGroup; children = ( 391348A415637487C38D51AF, 689997DCF29C4EA0BBE54FB3, F04DF2587A3735FD7CBD29C0, @@ -1187,16 +1738,55 @@ 4C2521E196D9F39AEE5A9A3C, 54ED3AEF6A560DA2A2C9A6A1, 73967B10B92F7FAB36839F0C, ); name = utility; sourceTree = ""; }; + 5485B6828CE54EEAFCFE850A = {isa = PBXGroup; children = ( + 0462FCF4041854C357138EB2, + C18A26D290AB9B1B16DDF330, ); name = VST; sourceTree = ""; }; + 17217ECF28B1997B5294F7EB = {isa = PBXGroup; children = ( + EAAA5DE166254FF08BBF56C4, ); name = VST3; sourceTree = ""; }; 7FF931018B659697B544BFF0 = {isa = PBXGroup; children = ( + A761179035DC171AE3CC1361, BA137B835216E7860F255BD8, - BBB57EBD2A76DB948EC98113, - 4A8BF3CB342DCD2D42D60102, - 9FC2F3B15D93AF1C9AC7F887, - 55374ACF6A20F57BAC5F9E6F, - B381CDF1DDA6CD242A1F719F, - 49FF9D223B090B6A5EF0A442, + 8691C24C4102F1C9E9B9C411, + C05274DFED1EB6E34DF36733, + 99C24791D5336D7A9E41FAF5, + 5485B6828CE54EEAFCFE850A, + 17217ECF28B1997B5294F7EB, + 735F5B2D82B337DC3E3F2B4C, + 951CE97A5CF4D268F6F8F450, + F9BB54AE65B0CB1C8D3A6484, + 7A8D5B45E22BF4C69EE381A7, + 5E7D4EE3F4AF0E8F5178E18E, + 74F428D92543A96844DADEA8, + B42C725090D32371E25A27BE, + 9700DF59621D9E2EA61EDA5F, + A26C38DE133E0FE110970C76, + C4977EA859A15F1F83481C3D, + 19B12207F1058A7008A690C3, + B82110A52A996CF716DB4A28, + 3EF3235A99EEE655135A6313, + E9281112562838BBE247211F, + 0CE948F8791686B1FFA3BD96, + 887F23C28C20951DB7BE06BA, + 3CD35644319298B5B3AF2FC2, 735F5B2D82B337DC3E3F2B4C, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; - CDBAAC426F55B6F8924A180A = {isa = PBXGroup; children = ( + 0921F0FBC0C2AC94018FEA08 = {isa = PBXGroup; children = ( + 9FDB51EECD49FDCCA59044D8, + 45D5492FCA78D56493818316, + 6CA1EB19C6F36C21C419221B, + 82A9C5375121FE33CC7F40BC, ); name = format; sourceTree = ""; }; + B0BB2447CD4F30C990B30C37 = {isa = PBXGroup; children = ( + 6AE260B5C5FB523C9FD4640D, + 6FCC51A0993766D53206A13B, + 979712708B1E25F1C971B73B, + 091A10CFA01394E26C54AFB0, + D1D43810FD94A2728CC43D7F, + 984BE3EEB980581B9CF1BD1C, + B4F21FE2C6382633783FF727, + AEC2C3E4D6FD3687B337E2B2, + 9ECB42E31DD6B72D21BC4195, + 738D739A17DA063893459D74, + 59D1F379F1100BA563ABC14B, ); name = "format_types"; sourceTree = ""; }; + 9E5D6B703B4A0FC3F310EB96 = {isa = PBXGroup; children = ( CA993FA3EB1F4457AE3FDD4B, 5039A250AF06AEC38C4E2944, 8C04D8DABC2942913A910430, @@ -1213,24 +1803,7 @@ 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 = ( + 9310B8D8D8674CC7ABE7D0C3 = {isa = PBXGroup; children = ( 4622F41461A9F5CC78026CAA, D6A29DF6E729F492FC67438E, C9CA7420E100BDB8BEBF9169, @@ -1247,64 +1820,16 @@ 4538E0CC75638572E0AB6F5D, 9ADD1D5D091D77E36ED23DC5, ); name = utilities; sourceTree = ""; }; 18257A0DC7986102E9271656 = {isa = PBXGroup; children = ( - CDBAAC426F55B6F8924A180A, - 29EAB89D03FB4A15DB775A65, - 0AB26B170601E70D46F20BB0, - A3CD76C7C477B51F33870031, + 0921F0FBC0C2AC94018FEA08, + B0BB2447CD4F30C990B30C37, + 9E5D6B703B4A0FC3F310EB96, + 9310B8D8D8674CC7ABE7D0C3, B83F565F3FBADBBB4B9281ED, - 7B68E1380A6F9D42CEC21D14, + DB7068A6434DFA68ACCF9C73, + CEF05823FBA7C824BF7E2217, + 2C96D1EF867911A0E68FFBFF, 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, ); 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 = ( + 7A35C94B249F24673A3A8F77 = {isa = PBXGroup; children = ( E4EBE41A7A39C23DD1C35CA0, E9D514DF14180AAC8013083A, 160B3BC74F358E778FD4AD67, @@ -1314,6 +1839,7 @@ 837D41054CF06F3C359E1C4C, F14CDF0462EBEDEE9BA22F1F, 4220849FC5D24D5998470B27, + 1AC1AD1897BA6CDA479EECF8, 66B6E7D3C0DA58D3D789929C, 8B266FAFAC2B004FE0491E3F, 91714A462B09B119638753DE, @@ -1325,37 +1851,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 = ( + 5A652BFE0B6B2E0766DC598F = {isa = PBXGroup; children = ( 55ACA0F958FF9E4C3420B8D2, 709A020234578C644C580BFF, 51DECB09AB2D7EE7288014B7, @@ -1373,76 +1869,56 @@ 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 = ( + 9F628854CDA0FA5709290917 = {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 = ( + 1142D9F1FF8189EECDEE61CC = {isa = PBXGroup; children = ( + 140715EB943E21564EBCF34B, + 08DE9AECCB957725B8CF2939, + 3BEF840C88D9862A0FC85942, + 47C8734E53B5CB91EC39C589, ); name = logging; sourceTree = ""; }; + 1D4A77647C07134DBB07C631 = {isa = PBXGroup; children = ( + 690AC6BB512004D030142220, + 688F6AD0D4CB5064530296FA, + C074EBC958968B4BB00E0FE3, + 60D827697FC6A9DC7EB2A1D9, + 7302C6A9643DBAAE038F6852, + 0A9B2CB9CFBE3C8F86CEDB49, + 41A9981696960C4B09746E63, + D8CA7F4025AE3A715CD4F242, + 4535CD39E01BF704706F59FB, + 5E141F12062283522B42D8EE, ); name = maths; sourceTree = ""; }; + 7DF9978E27FB12EA6C333C14 = {isa = PBXGroup; children = ( + 8279F272A781F072C109DC98, + 2D0FF4338F332D5D2EF467BA, + 6066327446579AEB6131550F, + 790EAA1EDC414D531140EACD, + 3E98E3F4125BE92757B3785D, + DA0A7A52519D940C4411D23C, + C1AF9163089C64C157ADC646, + 03A0E98730249C2FEF14500F, + C71190ADD758B74B9A235B27, + 0298E00E1A18200242AC069C, + C4B3E2BC33DD5CE9C2F64CB5, + B48A88558C61104240BB677A, + B03946A7332A9CA655E47260, + 34D919EE29BFF65E7B058F7B, ); name = memory; sourceTree = ""; }; + 4104DD6FECF64D3972427D04 = {isa = PBXGroup; children = ( BCB8FA268E0576EC1E3C5C8C, 475E1E61DFAC2CDC4DBC14B8, + 38611AE4F0B78E647A39BDD4, + B6AFC3373241669C6402F6D9, 06226074569D4153DBF2B89A, 43AC2AFE626BBAE13688C6FD, BD0E33F2C7A47033C3C530C0, ); name = misc; sourceTree = ""; }; - FF7FB1E177B3867A190A4C70 = {isa = PBXGroup; children = ( + 959A58ECA1E9A55AD658A092 = {isa = PBXGroup; children = ( CAD8005D0F6DA5133957F9BE, 9505177FDBE77061A7AF8E65, A108A51E35F519769877E045, 6CD7ABDED0020E052216B77F, + D8882263BE4EE05B47117074, 8CA9FA7385D634706DAF1689, 58B1B0BEC04AE000CF944BA5, BD0B17A0977C1AC492E7BB3A, @@ -1467,25 +1943,155 @@ C5D36BB9351C95D3FD8D9F94, E3FDBAE011E9EE9FD1A85FAD, 4AEBEBE4B90474886F481481, ); name = native; sourceTree = ""; }; + F8BAB6F2809C3965E28DAACC = {isa = PBXGroup; children = ( + 0D615752F26D4369E708FA71, + 6966F44BE8B15F279DD220B4, + A70CD40E74861F0F74AF773F, + B076487D097918E3D510801B, + 5AD0D3D9D071EF79F4D2CEA9, + 159EEFE7D5A5EE877FCEDA9F, + 1C510CCD7B8234F455CAB860, + 1727DCA5EF0641010D04F7A1, + 10632C4F008A111031D05448, + 1391051B07375667336EF320, ); name = network; sourceTree = ""; }; + 24A69247815F23EA61D2D826 = {isa = PBXGroup; children = ( + 666A31978FB69AB0C300F424, + C18684F220FB0814153BE4E0, + F20FF370FABE6F8B9A91EE16, + B3F35EAEEB32BFA5250B0083, + 4577613E4F31381535A05F83, + 4435BB07E32DD1CE20C39367, + A7FD8E227A733D8D7FDF8A18, + F5B6DC6A96EF0A5FE46C3DA0, + 1CAA2344959E3119A1FD81FD, + 68B285955D0CA37D80B32C52, + 9E2B4A512419565FDA7C1E9B, + C931F16DFBE4E14ADA76F36E, + 8184301C69D7AD1CCD0151F5, + 37CB0A4D4B303E50117CE937, + 598EBD3B89A10DFBCD14314C, ); name = streams; sourceTree = ""; }; + 34C032F3DD997051618A3C76 = {isa = PBXGroup; children = ( + 4BDD4F273422E965926BB39C, + EE39BF0D5B60F251A414EAC2, + 5D772B2770B73BDA1AF8B815, + 889A076E2701F552B5FEF800, + B2315CF4C3757346D888D3DB, + DFB11A01A5F93DE884F33906, ); name = system; sourceTree = ""; }; + 3075268C2F8AF9606ACBBA3F = {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 = ""; }; + 38763C1575081121960C0CE8 = {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 = ""; }; + 4DBF251178BF4BB53DE589E6 = {isa = PBXGroup; children = ( + B9EF73FAFB8DD5781C98587C, + A7EF20D469A5BBFA195A10FB, + 616A14F72BE19655866F9808, + C444DAEF136B74E73ED85A40, + C50A7F0F1E44D056BA6A94A9, + 0F25E9C8B1848C4B8922BFE9, ); name = time; sourceTree = ""; }; + D7BF71A923F8EDB4575B2903 = {isa = PBXGroup; children = ( + 34F7EF8094F8E02C29C9851B, + AFC9146FE0BAFFDCFD121F03, ); name = "unit_tests"; sourceTree = ""; }; + 9AEC890D49BF9E31F86A6338 = {isa = PBXGroup; children = ( + 3E6F506A01B3C306158AC0D0, + FC834EDE6FBC3673B234A2E2, + 7BD5243B77DAE17EA12970BA, + A88D5A9910F5A4C31BD87DF3, ); name = xml; sourceTree = ""; }; + B4B8B0A2009E9FEC8602A296 = {isa = PBXGroup; children = ( + CF6195C5EBFAB9F1374B16DA, + 51BC90E105B7BE24709ED369, + 29EDD2B311BF1E11CCF30A2B, + ACE2CF96D0A9AD407B7C697B, + 3B0069CA40EDC9EE6EEA241B, + A31ED4D408F021314511326F, + BB612E93861A6B436244E563, + 074F028256F5FD579B5D2782, + 1C6125038C6E7EE1C2E1B03F, + 247E08F69F3AFF966A7A2EBF, + AEB64FC135214970A07F44AF, + EC6C560E5F4B2AE72054648A, + 26FA9CB501F86BF44330A1A9, + 52D9346E47382339ED0B3D39, + 2654C10F0361456D12D10D5D, + EE54B85A2252072268784366, + CAF3F518EDC50BDEC789DFFF, + 1C7D3F2CEF2575B730CCE3CC, + 387FA9A6E4DD47AA1E9EB560, + 46BAFEBCC9B0D6AB83F6610E, + E6674DD0687DC37987922FF9, + AFBF534086B742D5C904123B, ); name = zlib; sourceTree = ""; }; + 1064FBFC827DCDD096171C8A = {isa = PBXGroup; children = ( + B4B8B0A2009E9FEC8602A296, + 7B7BF481D99E9F925847185B, + FAA620FEDA9C820373E684D2, + F2ECE1178FFC1E48742FE6A5, + 0D26949FF7CA2C08085377A4, + E4978F7BCEC3B2D9C6E3B463, + 02898E6A1F367D9992579BAE, ); name = zip; sourceTree = ""; }; 68A8E133440377ADADD4C848 = {isa = PBXGroup; children = ( - 86D68CD120C7D7C25BE3FADC, - 30AA5DAB93D9FDB8D2600532, - 16373F311B83DBA074AB734B, - 9499F09B298014E982190A48, - A59EC08A802688DDEBDD37A8, - 5F5C67DB4866EE0E914FD09C, - 9FA8421FBE7B86038DB291C1, - E5BF920536D2752168EEC181, - 09E7F5F7371CCDF3E188F820, - B4C364A982428B101F77CD31, - 4F3C5D80FF499F66AF47AAC2, - AB1315D86237F08759173ABA, - 9E9CFFCC62CC9944C101E023, - 39873E98A19F454E5B0F1E7D, - 0827735517BB0502EBE1C184, - 62EF479A01388D72DBE74C49, - FF7FB1E177B3867A190A4C70, - 05AB083553352BD26D6D3C4A, + 7A35C94B249F24673A3A8F77, + 5A652BFE0B6B2E0766DC598F, + 9F628854CDA0FA5709290917, + 1142D9F1FF8189EECDEE61CC, + 1D4A77647C07134DBB07C631, + 7DF9978E27FB12EA6C333C14, + 4104DD6FECF64D3972427D04, + 959A58ECA1E9A55AD658A092, + F8BAB6F2809C3965E28DAACC, + 24A69247815F23EA61D2D826, + 34C032F3DD997051618A3C76, + 3075268C2F8AF9606ACBBA3F, + 38763C1575081121960C0CE8, + 4DBF251178BF4BB53DE589E6, + D7BF71A923F8EDB4575B2903, + 9AEC890D49BF9E31F86A6338, + 1064FBFC827DCDD096171C8A, + D12132F31CEF4C1C2577D63B, + B3E22594AF1C50B96CB53BA4, + 4CC978CFF6C2F65FD0283757, B3E22594AF1C50B96CB53BA4, ); name = "juce_core"; sourceTree = ""; }; E3E6FE0771747D2E9FFFD9B8 = {isa = PBXGroup; children = ( 66DE678A6737BA0BDC9DAD31, @@ -1494,7 +2100,7 @@ C093327FA834C040A78FD206, FEE7B8FB00287AE418BB67A6, 3CAD7C934D530D6DF84726FC, ); name = encryption; sourceTree = ""; }; - 684F194E06306FAF63270938 = {isa = PBXGroup; children = ( + 093B6F366936D5B5A28E86B2 = {isa = PBXGroup; children = ( 43C0871F6450B9E78D446124, FF1403DEB81C8C5EE02E9E4B, 21879C381970CE48923DCF3A, @@ -1503,51 +2109,38 @@ 3A71E1C5B7DCBFD3D6AC3500, ); name = hashing; sourceTree = ""; }; 17ABC2F81BA9C81271EEB690 = {isa = PBXGroup; children = ( E3E6FE0771747D2E9FFFD9B8, - 684F194E06306FAF63270938, - F3C7F75DE1EEB64D6FF4786D, + 093B6F366936D5B5A28E86B2, + 6563AF5EFD9D577D4FBEF3CD, + 0689E4234BFF309D55BC9EE6, + CA015A7287D01104AE5E1553, 0689E4234BFF309D55BC9EE6, ); name = "juce_cryptography"; sourceTree = ""; }; - E30C85B0F661F16535E75D6A = {isa = PBXGroup; children = ( + 09135AFEE516755B1D8D1088 = {isa = PBXGroup; children = ( + 00B396B0FE706AA23B729E8F, + 73C90F53323DF156C710BFDA, + 8DBF0E0133D6E47F1EA854C7, + ACB2BB311E0E549224D8D48E, ); name = "app_properties"; sourceTree = ""; }; + 0EA3BCCBF826FE54FCB65D28 = {isa = PBXGroup; children = ( + F7089FFFA18BCBE67D5C9E3D, + 50E68A1E94741689526D5436, + 7D1DC285EF285E3BC3FEA88A, ); name = undomanager; sourceTree = ""; }; + 5AACC75B02B71DF73E3E6C55 = {isa = PBXGroup; children = ( + AD8DBE26092C4C360126280D, + 2E4121CDCEC95F497B586208, 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, - 32DCBF1A130D32A59FD47DD6, - AB6DBE322367E218876380D1, - F32BBD5FAFF317AA831ADB63, + 09135AFEE516755B1D8D1088, + 0EA3BCCBF826FE54FCB65D28, + 5AACC75B02B71DF73E3E6C55, + 6EDBE5889E2B5688A9FD97AB, + 293076BD0110954E1CE7095C, + 5E13D21827E76C6ACCFA7358, 293076BD0110954E1CE7095C, ); name = "juce_data_structures"; sourceTree = ""; }; - 058FFA1D737D9CA4ABD6F63E = {isa = PBXGroup; children = ( - BB129364B045C14D4C48C64A, - 81DCA1CF090A56300D6B78F9, - CC55CC9502C19A5AFE161657, - 168C71B9432A92866D27C2F8, - 4242930DB36B116AF72C417F, - 8515CFC36F3F9E77145D1691, - B27E127E31026271E71896A3, - E4C533859CB68216BD9D441E, - 87BCE02659EE4D59DCD32E33, - A50D92F86A2EB7A30689A6CC, - B82F9F15893C8C75414BB2D7, - D0970CCFF9ECE3E9DE992AD3, - 176555A72094768334C34A06, ); name = messages; sourceTree = ""; }; - 73631F200F5922DC1345BBC5 = {isa = PBXGroup; children = ( - 5876C4A9AC4C7AD71F7D3935, - 7DEEBCA254A8C0A0F0EE3D0A, - D58D61AEA353B42D1905583A, - 5E7F940669620DB0130FCD3F, ); name = timers; sourceTree = ""; }; - A8C3FEFDFCBD4F97E712D086 = {isa = PBXGroup; children = ( + 1BF1C13D50B56B1DCC88D63F = {isa = PBXGroup; children = ( C2B80E174578A7BD91FA76CF, 93BE84F17B447226BEFDE5A4, 32A851BECAA8CB552DA0C92B, @@ -1555,8 +2148,7 @@ DAB01420B5EC8DF3067D57C8, 9A68EFB4F4ADD8E02B77D574, 2367FC583388A40FD177FAC7, - CF460BB59AE1A3CB56C2CC97, - 51280CE644EA693D81E76BAB, ); name = broadcasters; sourceTree = ""; }; + CF460BB59AE1A3CB56C2CC97, ); name = broadcasters; sourceTree = ""; }; AC0F8CF82712912729A1787D = {isa = PBXGroup; children = ( FEBEF52CF458D9C80275863D, 4A43E2F65187E76BA7247DC8, @@ -1564,7 +2156,21 @@ A9743DB20BE0DD01D992C078, 77DC16B3BD2388DA192C6647, 66F25CAA696325431D582B01, ); name = interprocess; sourceTree = ""; }; - EED3B403D59A2FE7A1B0BB04 = {isa = PBXGroup; children = ( + 0BBCBDFF5D36B0DB7924BB87 = {isa = PBXGroup; children = ( + BB129364B045C14D4C48C64A, + 81DCA1CF090A56300D6B78F9, + CC55CC9502C19A5AFE161657, + 168C71B9432A92866D27C2F8, + 4242930DB36B116AF72C417F, + 8515CFC36F3F9E77145D1691, + B27E127E31026271E71896A3, + E4C533859CB68216BD9D441E, + 87BCE02659EE4D59DCD32E33, + A50D92F86A2EB7A30689A6CC, + B82F9F15893C8C75414BB2D7, + D0970CCFF9ECE3E9DE992AD3, + 176555A72094768334C34A06, ); name = messages; sourceTree = ""; }; + B0FDCBA4AB6DAABE164FF996 = {isa = PBXGroup; children = ( 961B80F089DB0E7A8DFAB4BD, 07E05B5CF19C717522C85751, 7AD47666B2CAF6C3EAE5A313, @@ -1573,15 +2179,22 @@ 5C19214F0B69A3870A60BB57, C35471544C7C07AF9E9E7225, DDD3A80CE6EADF7C19B52C00, ); name = native; sourceTree = ""; }; + D1247B17DD084E60C8106254 = {isa = PBXGroup; children = ( + 5876C4A9AC4C7AD71F7D3935, + 7DEEBCA254A8C0A0F0EE3D0A, + D58D61AEA353B42D1905583A, + 5E7F940669620DB0130FCD3F, ); name = timers; sourceTree = ""; }; D43355CA9C66DED748ECF241 = {isa = PBXGroup; children = ( - 058FFA1D737D9CA4ABD6F63E, - 73631F200F5922DC1345BBC5, - A8C3FEFDFCBD4F97E712D086, + 1BF1C13D50B56B1DCC88D63F, AC0F8CF82712912729A1787D, - EED3B403D59A2FE7A1B0BB04, - CC1D358321D0FEE9363FAB5A, + 0BBCBDFF5D36B0DB7924BB87, + B0FDCBA4AB6DAABE164FF996, + D1247B17DD084E60C8106254, + A3E82EA41C7ED1F1F667C06F, + B72C9BECB6F8437F8D1AB431, + 12EB0C9DF7DCA4D94CF8EE18, B72C9BECB6F8437F8D1AB431, ); name = "juce_events"; sourceTree = ""; }; - 613F56024B806E4651217C3D = {isa = PBXGroup; children = ( + 41141B3EED1A4ABA98369A45 = {isa = PBXGroup; children = ( AE2F3704110604BE4CE711FB, 198244D22F7ED586032A77B2, AF28E787D2143EC213AAD707, @@ -1591,7 +2204,7 @@ EB3651084188F428EE0EC55D, 837ED605C5063E0A61A72A90, 5662043B8E05A4FB9B39056A, ); name = colour; sourceTree = ""; }; - CD0E8EBFFDF5DEFE2D8C4F8A = {isa = PBXGroup; children = ( + 4AD84B914A752B4AB33D2A95 = {isa = PBXGroup; children = ( C7B66C045FC45D9DF057BAA8, 5359007FF58F0E446ACBE348, 6A075659E87CA389BE7638B8, @@ -1599,20 +2212,26 @@ 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 = ""; }; - 34D87A17A69B536F8A3D4E5D = {isa = PBXGroup; children = ( + E38D13D94C3F66798EBE8469 = {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 = ""; }; + A505327B254F7481FADE7697 = {isa = PBXGroup; children = ( 62F2C4DD34181441E8ED1421, E96CA677440E7233CCEC4002, E02C32444D0AB4B491EAC31A, @@ -1628,30 +2247,105 @@ 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 = ( + 52C9039425077B0636167EE7 = {isa = PBXGroup; children = ( + 239ABAC86285FD737E2FB531, + 5B5EBF0AFFC53BD74E32F66B, + 2E886B4634424C6F38673E3C, + 7F19659083FE9AAF574BC38C, + E0EEB28887FDC0430938C40B, + 9A045372B2A0634436B5CAFA, + EF4767038C27383F127F277F, + C4F0538F70B2DBF4EEBAAFB0, + C8236201B41F775D7DD3995B, + 767151334A19AB405B41B7C8, + 54D0650AB941EB713FEA6CEB, + EBFE88A1935B7EF536E5C64A, + 8CBFC9B361B4EA7FC4FF924C, + C3B232B30384187DF082F05F, + 63380E44C2675A83CD92AC22, + 44A6E9698603FDA3DD36E68D, + 16F5A5C43BE4EC0F6CC5DFB5, + 08B4B85111083360CFFD38C4, + 1C95BEA7DFF54D0E0EDCBE00, + 5072E56AE9C8929877715CAC, + D5B8858DF37B25CD465EE26B, + 6DAA99FBF7F6A73FCBFA35FE, + 687995530430D554DF0B20D6, + 2A27D4CFA94D90DDEFD12D3B, + 5E787FADAFF518FF48945E81, + 592E0308E11DC1BBA1A47ACA, + 06E118454BAB01FFDACD527D, + A3C4B0ADA80F626A16808AE0, + 066A6CFD739738E64B9A1A73, + 51CBE721F7D86B7CAB1F5345, + F6F12AF6066980B194E3FFF1, + 8A51281DEB75D536A9AF0517, + 5BA0CCAD38D8808C52D14257, + AE9E9A1A3C4B92A18C4FEA7B, + 93D90B9FB38F267BB20D810A, + 26E05A4A18E44EFC9DA5A83D, + AD08E5A07F073FAD0B4CCF1F, + 44017CD582638DC5439816DF, + 739FE93D6958CD7E27AE0B8A, + 0603B289E8B8BD7888BD50F1, + D651AC786CF3B6CEED73A294, + F71856577CBC65248BA48E83, + A295FBED72AF52C77075DA4E, + 315792D7850F26654F7F799A, + 2B74FE1DB5690776640A424A, + 42A4B8FE13CEA81021C02892, + 44776E01BBE2E9436287325E, + 0A21B1763F931349F83D7B99, + 0BE4E7DB2B728F872ADFC77E, + E5383633D4086658287D3CE5, + 8F333D461096C4343DABF016, + 3E8EC13C23DED65982DD7C40, + 0BDB9F4AF08E25885DA29565, + 42034382F96A7590B1DB3877, + 62AFFF4A280B4DDB8D99D41C, + D18566FB10934B4405D22F7C, + 3CACDEB9F2E644F9454E83AB, + C0CEC81EEF0BE081FD521363, + BA26A1FDB548AB627B50F674, + 6E2C98B83B1523C9AF13538F, ); name = jpglib; sourceTree = ""; }; + 55F50D29E5E1CF83F132555B = {isa = PBXGroup; children = ( + 5877BE718733FF657697AE4A, + 7A1C0EA394275A03ECE6497D, + 92CD06BC565885593EEDDEA8, + A49A07A7416A34302BA77068, + 23F41EEA2A80187B3FD624D6, + 3EB16A091F99B1575FB60275, + 69B37CF1CC379A84387B0334, + 073F69BACCEEAF2C760C5CEF, + A5DF374510567D6AF834131A, + 93E7A2B75633DC2BDC63B3D0, + 1468E60D6C97CED46CEE65D6, + 043B1D46DB0C0BB2A181EE7E, + B9E52633F786F583D1581184, + B9A84C8F4A70B6008D93D334, + 1A0888C3BA4CA890FDA36434, + B6963D7DEF65FB2B8019CBA4, + DBB45DDD91690F65C7F18EE0, + BEE0EEF79C21B5621D09BCB6, + 5BF7B1BF887DF27308F5F8F9, + 02A5A87E7599C01247D55560, + 5AB395691D12BE1A2733D6A8, ); name = pnglib; sourceTree = ""; }; + A6A9AE4279CB085A829F077C = {isa = PBXGroup; children = ( + 52C9039425077B0636167EE7, + 55F50D29E5E1CF83F132555B, + BFF3F7F9ADE1564E2A95E761, + A66B7243A44889DEEE50467C, + 996D10F67F8BA4165F763F6D, ); name = "image_formats"; sourceTree = ""; }; + 12EC3AAB18DE3C1AD5AE1750 = {isa = PBXGroup; children = ( + ACF3900CAC422A821B49724B, + 56C909DFA885FF7924FE9B52, + 79C50D9C6DE5E39776F58173, + 45AF86AE84C0F53EFD0AD8E6, + 2E05B3795F27137B74532DCF, + 18DB65C18DA8D26FA91660E9, + 91166AAF7D28C830DD1A01FF, + EB1836E7A020E27A7531DD9A, ); name = images; sourceTree = ""; }; + 9FD52BCAF403B9643E465B1D = {isa = PBXGroup; children = ( 64C7F5482B135482355F6207, F81654393A6815CD487BEEEA, 44A65A3B60BCDA4EC97C1A10, @@ -1665,19 +2359,57 @@ 6F2BBE7C1898A14AB6384FC5, AF29767D1BBFFB2FC061FBD3, 2DB885170C23EF6315B01E07, ); name = native; sourceTree = ""; }; + B20D6FCF40F44D93FAC48A9E = {isa = PBXGroup; children = ( + 4BADD763D121353287878645, + BA2245F4BF3B14E3F299B329, + 5637A9A73A985297F5F15B4E, ); name = placement; sourceTree = ""; }; 45AF61331D913AC88A070B16 = {isa = PBXGroup; children = ( - 613F56024B806E4651217C3D, - CD0E8EBFFDF5DEFE2D8C4F8A, - CE4E8B684568FF454FD4E982, - 1809D5C3D4E11DFFBC3CD51F, - 34D87A17A69B536F8A3D4E5D, - FB9C5A77E6D11C3FCAB82629, - BA0B73026BCFFB4D2B9574C0, - A033283E9AC63CCDC113A403, - DC6100C2ECD3D03BA25859FD, - 0F0135E3626B5CF2073669EE, + 41141B3EED1A4ABA98369A45, + 4AD84B914A752B4AB33D2A95, + E38D13D94C3F66798EBE8469, + 418B37F18751E667091C9523, + A505327B254F7481FADE7697, + A6A9AE4279CB085A829F077C, + 12EC3AAB18DE3C1AD5AE1750, + 9FD52BCAF403B9643E465B1D, + B20D6FCF40F44D93FAC48A9E, + 19FDD7F524D1945C0649B453, + 6B438A36E2EE87D56954A73C, + 70ABCE8D77A662C690A1E6DF, 6B438A36E2EE87D56954A73C, ); name = "juce_graphics"; sourceTree = ""; }; - 7074F11E6148B780EAB99BAE = {isa = PBXGroup; children = ( + 4D0B171B742BC282E26E0979 = {isa = PBXGroup; children = ( + D799C7F000EC4D33C2DABADB, + CE9208896DC1AB22AE2C0C71, ); name = application; sourceTree = ""; }; + 8BA2C2555D85F25DE891FB76 = {isa = PBXGroup; children = ( + F7F3649AF02F4C3C751B6F19, + 814F03A5FDB4C571DC56365A, + 4E61189BE360E1836A21EC3B, + 34A5198B33BE63C226542043, + B67F09CB3C82DBFF9C46647C, + AFE21D6D3B962F8B04CAD469, + 55E802D30D0C90CACE5A1507, + 8ACBDA03FF94F66CA93F2C24, + A13F50653877ABDB365F5384, + 896F5130508C85B708AA564A, + CA57CE25D3529D9BEDB9387F, + AA631B89FF74E3891808468B, + 00364B9ACDDE1061B0F8B6A3, + 99D5D71E46161D72F355E5CA, + 7AD630FFC55965FB8A890772, + F111D37EE566120B6FB68DEE, + 765A6CADA12A2522B62C56E5, + 02F59FA6C6DC1DD84590F4F7, ); name = buttons; sourceTree = ""; }; + 7FB8259E39608ADB0202D080 = {isa = PBXGroup; children = ( + C207B42DBD931192FED30C23, + 6E27AC7FE0E003A8C09E6229, + FDCA5DC82DF2C77E6644C7C0, + BDE78DB6F6B8189269511ED9, + 49AFBCDF0F1770D740559E52, + 6349D4A49819CB2128783EF2, + 2FFF28CCC21983E2097F661E, + D4407C9C36B5C4B11373015F, + E21B47053F279BEB6E77ABBE, ); name = commands; sourceTree = ""; }; + 811A82263D53B2E61E05D09F = {isa = PBXGroup; children = ( 0A917E9DC067F70CA5F649A4, 326380A033B511A7D6C908B6, 635548BBD744D420AF8C746E, @@ -1687,28 +2419,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 = ( + D8A94402BF1E64D3E3D802C8 = {isa = PBXGroup; children = ( + 4EA9286868B01C823FCDBA56, + DC6400CB6526711C8D3B02A5, + 86545EB9FE8A308D9C4EDE38, + 1CAAE99247B398FFF508E4B3, + 2B27A10CE5AE76648A90D11B, + 0BFF39815B8EF703CD5B527E, + C155AA1B4897630C869644E4, + AE8FD51225B2EE1236EA6B7F, + 80A52FDE45F694884F1523C1, + F0EDC758B738494603D96566, + 58E85EC374D9BB7DF4554DCA, + 15ABAB25ED7FBC1AB35D4155, + A1F4F524B120158DAF6CC73C, + 162D319D9C0F82FF3A06CB31, + C609AAB8EED8AA8E3DB7ADDA, ); name = drawables; 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 = ""; }; + EF13902D4FAAC7BAF9A5E031 = {isa = PBXGroup; children = ( F7CFD58445F29C592E1CA3D2, 37CC572A9EBB11B044700DD9, 49420D1F1ACCC8B9AF38E071, @@ -1722,62 +2472,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 = ( + AF54084C51AF238E704CC28B = {isa = PBXGroup; children = ( EE01B0F4B428C5A225912CB1, CF9FF93F5E11C52F2E774BFD, F1DC3498F703C947C4341167, @@ -1814,72 +2509,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 = ( + 06CB1D6045C466647B6CA168 = {isa = PBXGroup; children = ( CAAB995B6AF9B3BD4AF0F2FE, 4F933C9EC68532064A2A6862, C6491631692B3AF4DF8859E5, @@ -1888,48 +2518,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 = ( + 7C8A7DBF85019F73DA85F88C = {isa = PBXGroup; children = ( + 952BE11CAD4455C1B1E1D830, + 5CE7F367D76371C1FFF3C664, + 7439AF021E15C53135D6F5A1, + E06C44C9919D6BEA39ADD6DD, + 688DF902DE3574DE95EDBC75, + 5720A8E61C5C69F1FBF2FF19, ); name = menus; sourceTree = ""; }; + 469248C5BF1EEB4C6B15A68F = {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 = ""; }; + DF8FE87F7D84A7C1A4FC8DBF = {isa = PBXGroup; children = ( 0A5B2D79C1823A400BF78E19, 74F6AE983BB2F69371807C67, 9391842AF510CE33CDBE0694, @@ -1946,27 +2568,107 @@ E32EC58E8FFABD6AA3236B7A, F3863870BC90E557B58BFF64, 4EC09A0953FB8870DD1882D0, ); name = native; sourceTree = ""; }; + 4D9B7264C52FD5A75B1E7E05 = {isa = PBXGroup; children = ( + A194F4576EECAED9B78B2F02, + D52E8A14F2E48978956EA90E, + 894E9C561AC434FC288A4E71, + 0754B874739E1D1C320CBC06, + 049E1ED618DB7447529B850E, + 290B68C558B84CC4D3AA34A9, + FF1AE41EDD12811007C7E08B, + 91B3A6E88D84B251C79A1F73, + 2742803ABB5332CAEABDF71D, + 599A927491E80A43506A4331, + 1A7B44D364B75EA89393C950, + 6BEE63786BE539AD97CB1F47, + A726DEA0B31DF2ED2838A9DF, + FA644A83DBB0DDE419A33EC1, ); name = positioning; sourceTree = ""; }; + DD733553D4E77C1C0923C91D = {isa = PBXGroup; children = ( + D0360891DD9FB3D8A04557F9, + D9E681AC6B3A9CA5F2FC1EA1, + 3FAE00C6F53873793905F666, + D6F02B228C9BDC927841C47F, + C85B4304206767431F345EBF, + 8509464FD3D19A00F2327CE9, + 2A6DB4DD639D1E65AA24DCB3, + 122D84868EE99DCC232215CA, + 10E0EE1A81E3ED13FA223D20, + 5EBABFCFC48AAC97FFCBCFD6, + F8EC2EB5F339D51BD491E8E2, + 6308CF3170DD547793663148, + 7E037018FEBBFC1216C554E5, + 7FC0E4A1FA1C7A44F2EC5443, ); name = properties; sourceTree = ""; }; + 4AB13FFE741E522BD7A15D53 = {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 = ""; }; + 39C1BA433F380BCEC9EE44D6 = {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, + 4D0B171B742BC282E26E0979, + 8BA2C2555D85F25DE891FB76, + 7FB8259E39608ADB0202D080, + 811A82263D53B2E61E05D09F, + D8A94402BF1E64D3E3D802C8, 2FF66B301E047FF93BFEC2F0, - 360E0AA799975B0B69996414, - B37F65DE2A8F9E5BBEED08E6, - C7A190D20E3E3FDB24D02FF2, - 21022CE27135D0915CB930DF, - 55954824537DA68C94196CF3, + EF13902D4FAAC7BAF9A5E031, + AF54084C51AF238E704CC28B, + 06CB1D6045C466647B6CA168, + 7C8A7DBF85019F73DA85F88C, + 469248C5BF1EEB4C6B15A68F, + EDC53FFAC60B52230F732995, + DF8FE87F7D84A7C1A4FC8DBF, + 4D9B7264C52FD5A75B1E7E05, + DD733553D4E77C1C0923C91D, + 4AB13FFE741E522BD7A15D53, + 39C1BA433F380BCEC9EE44D6, + 865FB272887ADB3FC3C818FE, + CAD3AC17AF42E2BED68AB0B8, + 65CD5793B45D2D33CA74646E, CAD3AC17AF42E2BED68AB0B8, ); name = "juce_gui_basics"; sourceTree = ""; }; - 9DBB004DD2BA1FB1CB850730 = {isa = PBXGroup; children = ( + B8FFB58AFBEF0F9BBFBC5D56 = {isa = PBXGroup; children = ( 92F456A06460B3037D4633CB, C017F828FD2A3467C18C011D, F9D08064C86CE530C8246E8D, @@ -1979,14 +2681,14 @@ FC6FF5C300E9FCE4B246D6A1, 53DA9754D2E65BD5FC519D02, 5DA8F03F5C8C1191011DF4C3, ); name = "code_editor"; sourceTree = ""; }; - B656666A2A37E1AC4A195026 = {isa = PBXGroup; children = ( + 75A2AA15467861AE07FBBC3B = {isa = PBXGroup; children = ( A8FB997EC4AC390EB8D2796C, CE627A7B66D84A3A3EA03042, ); name = documents; sourceTree = ""; }; - 019C933D8A6D01E3970AD0ED = {isa = PBXGroup; children = ( + 242E4A227E1F7D44990EDDC0 = {isa = PBXGroup; children = ( 72AB7E80EFC4EDC44D3EF55F, B86FFB991F7841AB991C4A68, B032C343B2510BBC0D81739B, ); name = embedding; sourceTree = ""; }; - 165D7D6AFB3E074832CF427D = {isa = PBXGroup; children = ( + AE72283FA4178BD56B597BC4 = {isa = PBXGroup; children = ( 6BF7603CA1E14C2C80D40726, A9E3EBF2A274EE7708731BA6, 2CCEDD6E4D5033AC85568494, @@ -2007,7 +2709,7 @@ 9A89826CEDEB0B05A1B603DE, 519C6A0464E86A77B4982AD5, 45F73CCC7FB87EDDDC61B422, ); name = misc; sourceTree = ""; }; - 0CE5B2FF9D8043660D00C3F3 = {isa = PBXGroup; children = ( + 7DA580DE280EFA9E17B2F702 = {isa = PBXGroup; children = ( 7CB80BCAB334950839BBD09A, 68E85D93B68E7305E6ABF8B5, AEBFBF316C4C46E809E75948, @@ -2021,14 +2723,29 @@ CA69F6BC994936C8B14DB9DB, CFEB5D729B84A70AE7F83390, ); name = native; sourceTree = ""; }; DF9CB4E9FACAAC00C0CC34CD = {isa = PBXGroup; children = ( - 9DBB004DD2BA1FB1CB850730, - B656666A2A37E1AC4A195026, - 019C933D8A6D01E3970AD0ED, - 165D7D6AFB3E074832CF427D, - 0CE5B2FF9D8043660D00C3F3, - A440F9DB1C395CE15CEA2DFE, + B8FFB58AFBEF0F9BBFBC5D56, + 75A2AA15467861AE07FBBC3B, + 242E4A227E1F7D44990EDDC0, + AE72283FA4178BD56B597BC4, + 7DA580DE280EFA9E17B2F702, + 02FDAE44127BB4DBA5B872AF, + A67CA8CE7A776292BBF0A771, + 121208AF12C8CE7E9A72A27B, 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 = ""; }; + C483DF3F706F190F43B8DACE = {isa = PBXGroup; children = ( A42D10D549BC0D20A8F94101, 24D577E3FEB7A3A17E97C11E, BAF83EA0108C7776CCB5AFB9, @@ -2046,47 +2763,38 @@ 38EB4858B45965104516E7E9, 8499FB509CF42C2224E45442, 8C726B77603CE8392105E520, ); name = opengl; sourceTree = ""; }; - 4D21C1FB7FA47649213E0AFD = {isa = PBXGroup; children = ( - 24D1FDEEA6015179481DA066, - 72D7B65362F5153AE2211427, - BA307BE1E213FA2C2FC90303, - E542AE45B51CE76A1FA7553C, ); name = geometry; sourceTree = ""; }; - 298D73B8B41FF7753D63B043 = {isa = PBXGroup; children = ( + 8766D9A48CF059CA2606AC2C = {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, + C483DF3F706F190F43B8DACE, + 8766D9A48CF059CA2606AC2C, + 6B0F9A0F561109CAEC0A9EBE, + 2953F71F67DEE8E7894076BE, + F0C3DA304E28C86EA46626CE, 2953F71F67DEE8E7894076BE, ); name = "juce_opengl"; sourceTree = ""; }; - A349653C19280AABF9D551EA = {isa = PBXGroup; children = ( - 627AE95AF5CC80C1BC70A525, - 4B181F9D6BF555181E04C99D, ); name = playback; sourceTree = ""; }; 0A8E4D138D060C89BFC82C3C = {isa = PBXGroup; children = ( 729502C8500B9182BD21E21A, FBC3851FAB8CCED771CB20BA, ); name = capture; sourceTree = ""; }; - B26ABDA90C7B0A2F7F68EB98 = {isa = PBXGroup; children = ( + AEE5FE8CFCC18AC3895FB474 = {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, + AEE5FE8CFCC18AC3895FB474, + 1AE2E61DCCFA795B7719120D, + 2A1190CF195DAB9B97589457, + 1A2B5A442D099FA377DE4E1A, + 14F1769BC9227265335CE7E1, 1A2B5A442D099FA377DE4E1A, ); name = "juce_video"; sourceTree = ""; }; 64F7AE8683C9272534B33B96 = {isa = PBXGroup; children = ( EDCB4DA5D2A8138374D81A81, @@ -2105,55 +2813,34 @@ 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, + 2F12CFEB1E95BC54E1CD3C7D, + ACE47F30020C3E4144BD108A, ); name = Resources; sourceTree = ""; }; 61D8F5CF64FE3EC528B85D1B = {isa = PBXGroup; children = ( C3F6222E9059F8CCD9674AD0, AC840D910B076A8D6E11D0E3, @@ -2170,74 +2857,382 @@ 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", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + 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 -lArpeggiator"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator; + SDKROOT_ppc = macosx10.5; + 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", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + 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 -lArpeggiator"; + 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/"; + 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 -lArpeggiator"; + 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/"; + 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 -lArpeggiator"; + 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", "../../../../../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-AU.plist; INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - 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"; + OTHER_LDFLAGS = "-bundle -lArpeggiator"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Debug; }; - BE9E3EF2B9B86E30560190F3 = {isa = XCBuildConfiguration; buildSettings = { + 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", "../../../../../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-AU.plist; INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - 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_LDFLAGS = "-bundle -lArpeggiator"; 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/"; + 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 -lArpeggiator"; + 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/"; + 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 -lArpeggiator"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator; + SDKROOT_ppc = macosx10.5; + 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; + 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)"); + INSTALL_PATH = "@executable_path/../Frameworks"; + 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; + 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; + 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)"); + INSTALL_PATH = "@executable_path/../Frameworks"; + 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; + SDKROOT_ppc = macosx10.5; }; name = Release; }; A6E581C14CB7121F9770B6E8 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2266,63 +3261,85 @@ 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + 892A28E616D56F05C8C11049 = {isa = PBXNativeTarget; buildConfigurationList = 8743CAE2B16AA12050DFC703; buildPhases = ( + DD2730D2C73FAF12FC2A2FE1, + 374615B793201971BEB6ACD7, + C536519964353A302E775B31, ); buildRules = ( ); dependencies = ( + E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (VST)"; productName = Arpeggiator; productReference = B7A2991D3F6CDC78EE921F1D; 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + 805B0B33D0A41CE1F7297E21 = {isa = PBXNativeTarget; buildConfigurationList = D6CB2F705702254FEDACDA4D; buildPhases = ( + 6E5217D875151ACA03487C5F, + D6A7B6CC63294E7F4E4C2669, + FD25AA0E45A27BC734181E25, ); buildRules = ( ); dependencies = ( + E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (VST3)"; productName = Arpeggiator; productReference = 9B925B22A539EFE048C4F2D0; 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; }; + CE1F70D63BB05DCAD3BA3110 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7FD723582B7BF1775729023D, + 1935BD4130D5954448BC9B9D, ); runOnlyForDeploymentPostprocessing = 0; }; + 040001CD4E8585137BF43942 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( E1EAF7A85355978D529D0FAA, D0DA0BDE4746B7B12FD847CF, 762272ABD27938B84C8E9CB1, @@ -2337,14 +3354,60 @@ 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 ); }; + 07D9D33E3466A8A497086BEE = {isa = PBXNativeTarget; buildConfigurationList = 6E29A49617F400783841C529; buildPhases = ( + D4AFA92A095134140E436078, + CE1F70D63BB05DCAD3BA3110, + 040001CD4E8585137BF43942, ); buildRules = ( ); dependencies = ( + E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (AU)"; productName = Arpeggiator; productReference = 40D80A7071E7DF99EF20511D; 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + 68FD79ED9C88703C522C7995 = {isa = PBXNativeTarget; buildConfigurationList = 10C13AD68F0A4BADBD3E3A7E; buildPhases = ( + 56971B7CCCA861C76980BF5F, + A74DE6A1732099BA13F670AD, + B6D4E134F7DDBE5BEE94F2B0, ); buildRules = ( ); dependencies = ( + E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (AAX)"; productName = Arpeggiator; productReference = 14CD0689B0BFC8758FA6C408; 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; }; + 319717B733C323BE76160BD4 = {isa = PBXNativeTarget; buildConfigurationList = AFF7B7B2889999928579D32F; buildPhases = ( + 1CDAF3706AC2D6D164846859, ); buildRules = ( ); dependencies = ( ); name = "Arpeggiator (Shared Code)"; productName = Arpeggiator; productReference = 6C612817F52B969A5F16CE94; productType = "com.apple.product-type.library.static"; }; + 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 00000000..57c6c009 --- /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-AU.plist b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-AU.plist new file mode 100644 index 00000000..3e571482 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-AU.plist @@ -0,0 +1,48 @@ + + + + + + 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 + + AudioComponents + + + name + ROLI Ltd.: Arpeggiator + description + Arpeggiator + factoryFunction + ArpeggiatorAUFactory + manufacturer + ROLI + type + aumi + subtype + Arpg + version + 65536 + + + + 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 00000000..43df714c --- /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 00000000..0198096a --- /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 00000000..0198096a --- /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/MacOSX/Info.plist b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info.plist deleted file mode 100644 index e7e97845..00000000 --- a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.ROLI.Arpeggiator - CFBundleName - Arpeggiator - CFBundlePackageType - TDMw - CFBundleSignature - PTul - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - ROLI Ltd. - NSHighResolutionCapable - - AudioComponents - - - name - ROLI Ltd.: Arpeggiator - description - Arpeggiator - factoryFunction - ArpeggiatorAUFactory - manufacturer - ROLI - type - aumi - subtype - Arpg - version - 65536 - - - - diff --git a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj index 903aac0d..72a65856 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 @@ -80,7 +80,6 @@ MachineX86 false true - /FORCE:multiple %(AdditionalOptions) true @@ -100,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 @@ -126,7 +125,6 @@ true true true - /FORCE:multiple %(AdditionalOptions) true @@ -144,6 +142,18 @@ true + + true + + + true + + + true + + + true + true @@ -159,13 +169,34 @@ true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -192,6 +223,12 @@ true + + true + + + true + true @@ -207,15 +244,6 @@ true - - true - - - true - - - true - true @@ -264,907 +292,1407 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + 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 - + true + StdCall - + true + StdCall - + true + StdCall - + true + StdCall - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1203,6 +1731,9 @@ true + + true + true @@ -1230,6 +1761,9 @@ true + + true + true @@ -1245,53 +1779,53 @@ true - - - - - - - - - - - - - - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - - + + true + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + @@ -1303,6 +1837,9 @@ + + + @@ -1310,20 +1847,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1333,9 +1941,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1345,6 +2000,16 @@ + + + + + + + + + + @@ -1355,15 +2020,6 @@ - - - - - - - - - @@ -1374,40 +2030,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1415,6 +2038,7 @@ + @@ -1423,25 +2047,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1451,6 +2056,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1464,30 +2103,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1496,14 +2168,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1513,20 +2196,12 @@ - - - - - - - - - - - + + + @@ -1537,10 +2212,15 @@ - - - - + + + + + + + + + @@ -1551,39 +2231,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1592,33 +2307,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1638,15 +2326,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1654,13 +2356,6 @@ - - - - - - - @@ -1668,31 +2363,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1718,20 +2413,11 @@ - - - - - - - - - + - @@ -1739,30 +2425,31 @@ + + + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + diff --git a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj.filters b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj.filters index 0e8c5e1c..1ca780b8 100644 --- a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj.filters +++ b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj.filters @@ -17,11 +17,14 @@ {A33A1E1D-AC2C-6382-8681-48B0FC374C60} + + {11A75801-B027-40BD-4993-023023ACCBF7} + {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} - - {11A75801-B027-40BD-4993-023023ACCBF7} + + {8C868E51-156D-A916-047C-0D9EA1393675} {EF2CAB40-0432-429B-C517-86ADF136BB8A} @@ -32,63 +35,111 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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} + + {2FB30532-4EF3-EFA3-E57C-F7DDE9DB1297} + {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} @@ -98,8 +149,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} @@ -107,17 +167,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -125,29 +179,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -161,33 +215,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} @@ -197,80 +251,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -293,30 +353,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} @@ -331,6 +391,18 @@ 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 @@ -346,14 +418,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -379,11 +472,20 @@ Juce Modules\juce_audio_basics\synthesisers - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_basics - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io Juce Modules\juce_audio_devices\audio_io @@ -394,15 +496,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 @@ -457,26 +550,134 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -505,38 +706,185 @@ 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_formats + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_plugin_client\AAX + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + Juce Modules\juce_audio_plugin_client\AU + + Juce Modules\juce_audio_plugin_client\AU + + + 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\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\AAX + + Juce Modules\juce_audio_plugin_client\VST3 - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client Juce Modules\juce_audio_processors\format @@ -556,6 +904,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,44 +937,11 @@ 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_audio_processors - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_processors Juce Modules\juce_core\containers @@ -625,38 +958,11 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - 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 @@ -676,41 +982,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -718,36 +994,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -760,6 +1024,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -817,152 +1084,290 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_core\streams - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\system - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\text - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\text - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\text - - Juce Modules\juce_events\timers + + Juce Modules\juce_core\text - - Juce Modules\juce_events\timers + + Juce Modules\juce_core\text - - Juce Modules\juce_events\broadcasters + + Juce Modules\juce_core\text - - Juce Modules\juce_events\broadcasters + + Juce Modules\juce_core\text - - Juce Modules\juce_events\broadcasters + + Juce Modules\juce_core\text - - Juce Modules\juce_events\interprocess + + Juce Modules\juce_core\text - - Juce Modules\juce_events\interprocess + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\interprocess + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\time - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\time - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\time - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\unit_tests - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\xml - - Juce Modules\juce_graphics\contexts + + Juce Modules\juce_core\xml - - Juce Modules\juce_graphics\contexts + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\contexts + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_core + + + 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_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\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures + + + 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 + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + 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_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -982,11 +1387,224 @@ 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\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -1018,128 +1636,137 @@ Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -1192,32 +1819,98 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\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 @@ -1240,30 +1933,6 @@ 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 @@ -1285,113 +1954,77 @@ 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\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_extra\code_editor @@ -1471,6 +2104,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1498,6 +2137,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1519,70 +2164,61 @@ Juce Modules\juce_video\native - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code + + Juce Modules\juce_video - - Juce Library Code + + Juce Modules\juce_video - + 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 @@ -1590,137 +2226,395 @@ Juce Modules\juce_audio_basics\buffers - - 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_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + + + 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\native + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_cd + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_cd + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\native + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1749,15 +2643,156 @@ 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_formats + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + 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 @@ -1785,6 +2820,36 @@ Juce Modules\juce_audio_plugin_client + + 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 @@ -1815,33 +2880,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 @@ -1872,50 +2910,95 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_processors + + + 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\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1935,6 +3018,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1974,194 +3060,194 @@ 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2169,50 +3255,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2238,14 +3324,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2253,15 +3339,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 @@ -2289,39 +3408,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\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2331,6 +3417,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2361,17 +3456,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,50 +3513,137 @@ Juce Modules\juce_graphics\geometry + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + Juce Modules\juce_graphics\placement Juce Modules\juce_graphics\placement - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics + + 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,44 +3660,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2526,87 +3741,6 @@ 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 @@ -2664,32 +3798,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2712,27 +3888,6 @@ 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 @@ -2754,80 +3909,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2904,32 +4059,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -2943,9 +4074,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -2967,17 +4095,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + Juce Modules\juce_opengl + + 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 Juce Modules\juce_video @@ -2990,50 +4154,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_opengl + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Library Code + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/AppConfig.h index 52bf3f4b..7a74eb2a 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 @@ -258,9 +270,6 @@ #ifndef JucePlugin_IsMidiEffect #define JucePlugin_IsMidiEffect 1 #endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #define JucePlugin_SilenceInProducesSilenceOut 0 -#endif #ifndef JucePlugin_EditorRequiresKeyboardFocus #define JucePlugin_EditorRequiresKeyboardFocus 0 #endif diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/JuceHeader.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/JuceHeader.h index 81c5709c..1c2c5757 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..c599b875 --- /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 00000000..d4b8c311 --- /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 00000000..a4fdf7f3 --- /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 00000000..175b3004 --- /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 00000000..0ac2b2f5 --- /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 00000000..29d48f3f --- /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 00000000..2da08c6d --- /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 00000000..72a8426c --- /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 00000000..6064f99d --- /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 00000000..5c5509ab --- /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 00000000..56af9aeb --- /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 00000000..d3b6529a --- /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 00000000..c35394b4 --- /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 00000000..8e2e5cde --- /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 00000000..ee2f414e --- /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 00000000..183f61b2 --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 39e1aa14..00000000 --- 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 9069e653..00000000 --- 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 4270ffa1..00000000 --- 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 57abba64..00000000 --- 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 48c0bf08..00000000 --- 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 3c400000..00000000 --- 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 b3df8133..00000000 --- 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 e815ff2c..00000000 --- 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 88f8bafd..00000000 --- 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 0c5c6902..00000000 --- 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 7fa455d6..00000000 --- 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 11866a12..00000000 --- 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 f156f5c6..00000000 --- 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 6b5e7433..00000000 --- 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/Arpeggiator/Source/Arpeggiator.cpp b/examples/PlugInSamples/Arpeggiator/Source/Arpeggiator.cpp index 83dc4d49..4414c71a 100644 --- a/examples/PlugInSamples/Arpeggiator/Source/Arpeggiator.cpp +++ b/examples/PlugInSamples/Arpeggiator/Source/Arpeggiator.cpp @@ -1,12 +1,26 @@ /* ============================================================================== - Arpeggiator.cpp - Created: 23 Nov 2015 3:08:33pm - Author: Fabian Renn + 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" @@ -59,7 +73,7 @@ public: const int numSamples = buffer.getNumSamples(); // get note duration - const int noteDuration = static_cast (std::ceilf (rate * 0.25f * (0.1f + (1.0f - (*speed))))); + const int noteDuration = static_cast (std::ceil (rate * 0.25f * (0.1f + (1.0f - (*speed))))); MidiMessage msg; int ignore; @@ -103,7 +117,6 @@ public: bool acceptsMidi() const override { return false; } bool producesMidi() const override { return false; } - bool silenceInProducesSilenceOut() const override { return true; } double getTailLengthSeconds() const override { return 0; } //============================================================================== diff --git a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.entitlements b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.entitlements new file mode 100644 index 00000000..22194a6d --- /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 20f6ebae..0c241be0 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"; }; @@ -76,18 +57,29 @@ 009CC890C8F30C4253A811EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; 00A987C5DA52FF7C0EDF35FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; 00DBD480B140A3C56A96A05B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + 00ECCC1115492BD6A56BC7EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; 01289CC3E9BA1019F36C139A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; 0139B0DCCC893F803EB8C752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 015E97C363F4CE0656327274 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 018946646831EA648038DB11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 01947181134AC4100C1E9540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 02325FB27988AABC15E9F7D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + 023B6151C1E0A0B27A80AA40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; 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"; }; + 02B0FAB52AA434895CBAB632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; 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"; }; + 02E315DB5162B7EBEE46AB46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.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"; }; + 03B89FFF7FBE455F753317FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AUv3.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.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"; }; + 03F1262AB2550A8F70AD4D55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; 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"; }; + 0495C5383A27EE4FF0BFC456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../../modules/juce_core/zip/zlib/uncompr.c"; 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"; }; @@ -97,21 +89,31 @@ 0655CEC15D94DC7F61DAD918 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 067F87AAA6D0615FE189F604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; 06DE65F9C3237B91CA3E4626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + 0704B4761691C708062F985C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; 072EC0BD45686F0D876AFC9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 074AA27AF6DEA1DD843C42D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; 077D5141707A5EB4513D7CC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; 07AB0727D7D9D9DE22CFE455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + 07EE4B0EA428122DB5D44DAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; 0837E472178D483FA7AFEDFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 09AA3BA21CA8D651D23CDD20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; 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"; }; + 0AA92ADED1984DA556BF1ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMutex.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.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"; }; 0B2C77F6313E2350A2C1AB0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B5112493545E822ED5CAB38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B67C3B6C22FCA346E3DF158 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0BC7F359FB19DD22725D9285 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; 0BF4500BB949003D8997640C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C2D7C6FB347CEA06CC25E41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; 0C46760C35F7C80B22188D08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; 0CF532889CC441CDFB9DCDCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0CFA4CB74568DE690B65D1AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 0D2A7858B11DFF41AE0F0D18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 0DD046EBFAD0AC88E36223BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; 0DE3329E6C98F8DAB5196BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; @@ -120,6 +122,8 @@ 0E1333D854416BF55B78A394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 0E5951EA1BB854BC931E2CC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E8219D82BD766580C162EC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E8A905CA9D7FCC7534FC829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; + 0E8F78D1A6A17F75E5DB869D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnit.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.h"; sourceTree = "SOURCE_ROOT"; }; 0E9105C4A43935DFA8D996AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 0F2C5B8B5D3E3F95146BC78F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; 0F2D50B4B1A29249BDC31571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -128,6 +132,7 @@ 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"; }; + 1032590EF4D6EB22F136D709 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUScopeElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.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"; }; @@ -137,46 +142,61 @@ 10ADBBF6AE37D363C7CC5E83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 10C1A45449AFEAAECD62FBD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 10FAC3FED378E83BBD80220A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + 1127E52190B4DC4D4133647E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; 112A2BC97499C68DFFD78722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; 113D54BFCBF4E2FB929AF341 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; 11506A5A3B9249D3BCAAC7D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; 115075E87FFDE3A0562DAB11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 115E0650F9B2F1052161584A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + 11811C299557877C3F4457E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; 11A2FBF84F17249615DC8DAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 11B28D5E49EE0F1CD510DF98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 11FD04163B441355109B6404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; 1237FC2746459E7FB10CD5A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; 123A6B31D9C1BA8DA606D6FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 1251EFF2CF96BABFCB30EC84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 125AEF47724D755852688941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 12759DCF0E74DF0087F10917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; 12CACA7B3A7C79544B110B8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; 12CF82623211831CCEAD1CED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; 13719CD4BF9545F531006C0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + 13BD1FD2B98B76FD432C2E71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; 13E4203F31343185E43CA8E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; 14385DE5D8A01FC916A243A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 14430D24BD25A37120263DE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + 14C9E7DDD1209618284560E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; + 15C342AEE8864E35F6E73D57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; 1636051E376E809563E1A221 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; 1654804CBC49AB8E665F826F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 183AA5F36A47F440F056FD9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; 186C5D85A255570BB8FB576D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 1872828183DA08AD0926E7B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; 187E0AAD72DB1D84DEF6B292 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + 188782E6EDB1D9DA1287C41F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; 189E302B7B8DC2ADA7BB9A13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; 18ABDD9754AC6DFABC2BAB0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; 18B7B5B0C06A1C96ED45C9AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 19022CEBDF375F24BAB0A8E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 19382C02578F6F422F4D4318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 1990B4F952D6D6FD34A42DAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + 19B4D1E7A9A63105A1EA10DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; 19FFD96D0A6AE3AE2EC79FCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; 1A7AF40B4A04B36A7D6BF905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A94132E3E360E82F17A6BC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; 1AC30D6E05DD7231F63950C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; 1ACF415F9067A08747440107 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; 1B17928327544C6808B05586 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B64E381FEF2B09017B16391 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; + 1BBF055FB50C10FDD918FFAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp"; sourceTree = "SOURCE_ROOT"; }; 1C4C7A65DA862F517E65B3A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; + 1C71EB70C3F4FAD9C2701C80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.h"; sourceTree = "SOURCE_ROOT"; }; 1C9B8192895AB862A5D3C536 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D0EE5EAD6884214BB2D262E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; 1DB4BF1DBAF75A6BC28CB422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -186,7 +206,9 @@ 1E90D8399009E8D2C856956F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; 1EA94446B66963A255715930 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; 1EB188F935B70B5515E62F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 1EB2CAED333D6417A11718A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; 1ECF230AF6B4AE00B255BAD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + 1EDDA0111D9D08F6C86E371D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.h"; sourceTree = "SOURCE_ROOT"; }; 1EE3777A2BAD2E09AF829CBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; 1EE8D00BC928686927A2FF7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; 1EF7D8DB5497858765CDCCF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -209,16 +231,25 @@ 237733D1EA87B4C27665E50C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 239260CC434D4405F151666E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; 23992EF78138C3A05FCA2EF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + 23F6BDB20AD4724353AC5FED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; 2428E2AC74D4BA0AF279E1D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 24674CEEC3A84479C702DE74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; 247C8755F9E3B469B7EFAF18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - 24DE5291F2DC05ADA305E480 = {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"; }; + 24DFA1DAFD5F86DF3CF14CBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 2556A9D540D45B5B73238173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; + 25AD118B6A04E05741530419 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_utils.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25B9A7FDD978A995A11AAFAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; 25C611EE8D42AFBFEAE3A6EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 25E400988B2BFD763207E0EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 25E78225FE765C36C3737684 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 260CDD1F6CCBE01AC2B4F9EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; + 2649D36BEA8F753728E89D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; 2660C199089DAEEC545A87A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; 26645DB6BE9B468CC71C17DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 274D7204AD74FDDBA055D3A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; + 2771B7243DC04B2AD1C43848 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; 27A630A986DDEFB7182E59BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27EB154E0EFDFDF298A0C8C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; 2824991B9BCD7E626B84E189 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; 28754784774E7974CF215965 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 289AD98CB09B910B34E518DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -226,31 +257,41 @@ 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"; }; + 2940A8A9858268B5D19E09F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomic.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomic.h"; 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"; }; + 2AF9D2BF0488A756B2860100 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; 2B186C698E4525FF67DC068E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; 2B5BFA938F8B7DD4456242C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B67B13342F0A3F807DF2B2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B7C784CF333CA6BEEF5038A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode1.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B8E9F5D2845DA70FCDB53F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; 2BC8F8214792631A55C86182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeModuleHeaders.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 2BFB3614DD9C2CFD7D08B4D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C29E6A7967E9244FC3CDE85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; 2C2A53E2546FDEE298339E3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C474F53B2C7D9F95E73B708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; 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"; }; + 2D53A807778013E6036A208A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; 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"; }; 2E014F018C4AAF85EEB17FA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 2E37F62FD7FA01BED7F3666E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E604C5134A03FD04E2EC630 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + 2E7CCB6D177BD1D6435B7D96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; 2ED4E996232874001B47293D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; 2F17FACA233BB2C5119FC2FD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; 2F3C06EC8BD4A73922E98F96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -260,6 +301,7 @@ 3098350258468195A296EA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 30BE36DBBC172E9A9D70A6FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; 30C8FD925A22D32A1636972C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 30DDB08AA46C11BC40E76FAB = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; 310A2450E4BB1B0EB569E3CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 3188471C61CFEC8036BE0FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 3189E9672D8CDD691EE21D9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -272,49 +314,66 @@ 33F9968F0EDDD26BB38C6745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 341944AED03DEB1528002993 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 344CF7942E5497FB9BA6F8AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3467D0C6F4265ECE68834416 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 3480107E09BD85A65DFD1DC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; 349D12CFA076F3039B4508DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 34A9E5274015FD7BC26B5112 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 34EFEBA87F57AEA8A0D6B4EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMath.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMath.h"; sourceTree = "SOURCE_ROOT"; }; + 3506C2CBBB392F46A52587A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; 3593B89B8CDE59DDA5932F22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; 35A2079EEF244246A032D04C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; 35B4ED2CB96C0BB28AA63805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + 35BC69CBC3A14095D280F672 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; + 35DA65C71E79224AAE6DC7B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + 36423CD626A1BBECA6DAC989 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUMIDIBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.h"; sourceTree = "SOURCE_ROOT"; }; + 3647150E2295D712DA792474 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; 365037A479900D98EA46C78D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 366835A7E194774D7333EC83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 3675E748AF7B4196C2DAD7BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 36848D600B96A3E233D7BE51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 36A495D919477C3CEC9974C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; 36D7E127C3C67F84467259F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 3703C159AC48FA542FD65398 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 372D7F48A492CF7B74D52510 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 379D38DFAEB9CB4E9C647DDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 37CC2B12CFD3D4CB4295C7FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; + 3828E5CDDE806B1641B6FE13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; + 383E22B4C49E3BF924BA6A10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; 384275FD445BE4D560D33CEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 38F68CF81F127420E40741AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; 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"; }; + 39656AF61703FDA3F7381806 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; 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"; }; 39E319F5639C88E17094351F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 39E364B02116DA91F0586C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; 3A1D50EB5C738D58763D1EA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A3B6547404903D58BD00283 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; 3A51540ABD1A39C9E4F5B697 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; 3AA2C8F3CAEE9372B6CF1192 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; 3AB3CC89F7508F63306AD7C1 = {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"; }; 3ACC0D252DB4FA10E1394B5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + 3ADD88BA0627684AF73FB91D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; + 3B27DB981730835EB718E075 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; 3B2A045DA04B16D3802A4765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + 3B2B16AE0098A57940E99615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; 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"; }; + 3E3C5617AA13ADD95C30F8A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + 3E6FB99A3CFFDEE0563413F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; 3E750A56336FE91FE4190D0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; - 3E9FE02DBB2F6B25D413A6D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 3EBEC98CB93144341E24A75A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 3F1B1BB001E0EF0215638018 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 3F2C73A503CF2A3EEB2FA37D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -322,35 +381,47 @@ 4012B9C674714A4133A940D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; 404EE755EF8551C1AFBF3E7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 4075F109779D2CBDAAE69745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 40EE825BF6CFD726B10A9AB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; 410030F2CE9871566149B3DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 4127DACCADEC8877B2A17B01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 417CA21A8E872609E8C54DEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 41C8672D2F46ED90519C779D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 41D0166713AB38C0063348A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 41DCFB1AF7867C790C165BC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + 421CBBF29A0695C0AE0CBE4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 422B5BB0147DC260079A1143 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 429E2ED654BEB8151CA60C37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + 42BD39E2FC1C35E89006ECBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 445F7A2AD5C92F68F294F280 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; 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"; }; + 4544225B1B0BC9D00BA328C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm"; 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"; }; + 45BD34FB3E3E4040E4C8722E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; 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"; }; + 46ADA128BDAF3D249C4C2ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../../modules/juce_core/zip/zlib/inffixed.h"; 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"; }; + 4734CCD9EBBAD5455D4079BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; 476A4BF63FB8E65B39CDC05F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 4796877B2EEF190AC4208F86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 47CCE519A2D6F8FBE8EC27DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 483DD8616572C4DBF80452B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 4972E1584C45932FCD463970 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; 497FA1C5A1D9A978D8D1B163 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 49C84D7DD349A27365719B3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; 49DC6529069B211DF4EF0C79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 4A5DB4C153D051E2F4C66052 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 4A7AE43CB3279CA55F3CD658 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; 4AF0140AA4611A48B70E8824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 4B126CA90C9CEBD9103B601E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; 4B5F20CD00D4F941E076D7B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; @@ -359,12 +430,18 @@ 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"; }; + 4CCF6574D0F1D139FC0F89C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_4.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_4.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4CD97BFA5E28DF37AF15115E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../../modules/juce_core/juce_core.cpp"; 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"; }; + 4D58300E537B5C80C05C6EC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../../modules/juce_video/juce_video.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"; }; + 4DAF18C41947245DC105DAC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + 4E154B37C07D5FDB284A2286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 4E2D55AD5C0799596BAD8A95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 4E3C9588F4DF6C1BEA4367CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E793D3B2C9EE5AF13572C9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 4E7C257C37BBBB524B199E43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; 4ED140257265D08ED9CB3B64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; 4EDA6213BB262D96FEE0AA55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; 4F4B6F7986EE31F0D2B59182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; @@ -375,11 +452,16 @@ 4FDB3316836B77BB04EF254F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 5015777ECDDAC17D0C132F34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; 5019F7672EF120300ABD94CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 50991D930FCDC51400B5C76C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + 50A949C6B3CA24ECBA2D8877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; + 50CDEEA15AAD2B77612C3EED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; 511B63B3C1AA5E8513E36156 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 51314EF946587D18990D7B0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 51C953443339721483EF9563 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomicStack.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomicStack.h"; 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"; }; @@ -387,30 +469,46 @@ 52665D9607E534FE81707A6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 52BFB6C68B8BF5A6BEFC0127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBuffer.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.h"; 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"; }; + 5434045E579BACE0136FC5AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; 543870AAC11B131FB3F6F372 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 54442B4E8E55A6DD3F24621E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 5459F433A2ADFF5E2EBDCC27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; 547294B685D821DA97B4274C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 547760B9F36C3859CE38FB33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54788D55D0681D1CD44DA3D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5505B6E96735DE70D36D8468 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; 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"; }; + 551B6B54148CEAC3C5A5192E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; + 55879EDE510FB9A744B532C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../../modules/juce_core/zip/zlib/crc32.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"; }; + 5681775C64F9EAD0FF42865C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.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"; }; + 56D1A4956C00A125A6772AF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp"; 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"; }; + 577C7B7C9B82EEAB16B6D769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5792EABB35CE2F8B9F90FBCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; + 5795DA2211D668D7D6B0DD3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; + 57BD2C55FB95CF3E886263F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_Standalone.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp"; sourceTree = "SOURCE_ROOT"; }; 57D9A02362712935FBB7A37A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; 58353AA4D81CBB4870CAC783 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 58CCC45E1087F0FB80AA707D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + 58EE5040D3199090195C0DB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 590991BD50DE7582475B7661 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + 5A05AA119B1B669DC1FB0B8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; 5A66CE866BE689438B2977A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5A6A34FD70DAEF755F96B6B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A6CF3D6421FB6C6831D5F09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -418,24 +516,32 @@ 5A979CD34146925D0E963D9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 5AF8D9A02873D8ABC2154D04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 5B140E4A2581EB1EABAC7AC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 5B9409BE358B2F80491C99B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.h"; sourceTree = "SOURCE_ROOT"; }; 5BC3CDD41499BB93EE4C240C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; 5BD40BA42D700476595054D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 5BEE1391B705F70388EA6710 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; 5C205FD9971CD48899BBF5FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 5CC014B5EFC9351596A889CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D4D4CA80024F87B12B5631C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5D673258913CCC1B0DED9F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D9B19FA05348ED861D60B2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5DAB6650E634392EDDB26532 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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"; }; + 5E148B6D2D4D3ACADBD369BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MusicDeviceBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.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"; }; 5E3FCA667305A9E433375707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 5ECAF1806946918302238A6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; 5F04C4AC2A841C438F29DC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; 5F68395C68978C194F96468D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5FF4C78AF59BFBBB2596FC88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 603EC66EEA86BE9F635AEC8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 608B9F4FC2FB1CBE4E1C7016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; 60C8E3455765A2BECDE78B9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; + 60EE99D3E9FD3DC790F13A39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUPlugInDispatch.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.h"; sourceTree = "SOURCE_ROOT"; }; + 612792CA715BAB61B1D5001B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; 6128AC2D8968E03358270E2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; 6145DCB523F069DB0B49B1D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 61A7CD6BCE003B9143FCA268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; @@ -443,8 +549,12 @@ 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"; }; + 62CC988AB8FACCD1BC7A4F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; 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"; }; + 633D8368DF1EAD4DF5AB6CCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; 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"; }; + 637985E7C47E84A2CA4EBBF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_3.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_3.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63A906B53449DA90D9D4C656 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUViewLocalizedStringKeys.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUViewLocalizedStringKeys.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"; }; 6408C07642D68B3E4BB0EE3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 64306EC75358EFF4DE60F9BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -460,31 +570,41 @@ 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"; }; + 6814B8BAF57D2801AC4D27D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; 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"; }; + 6879CBE2DD60875A3AB0CCDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; 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"; }; + 68D3E8C2C81235545E22F491 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; 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"; }; + 6B6F03539BD7FB069A3A3447 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; 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; }; + 6D6FD07009B389ACEBA0D26D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 6DF0BF0992AA25730E78EF25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm"; 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"; }; + 6E529CB3D7E687C1E3281388 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; 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"; }; + 6E8265EFF6F45CE593B055EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; 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"; }; + 6EACAA86DB5CE5A066686472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; 6EB261E6A2BDCEE71D706225 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6EB45975DBDB63BEA9B20153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; 6ECFE741A2982E1B03C0F680 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F7DF5FEA03BF17E3F629F72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.h"; sourceTree = "SOURCE_ROOT"; }; 6FB08AE94E95CEAAC20AFB45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; 6FC77559711769BE4ED8EA11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; 6FDBE97B5987335D1ACC3DB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -495,34 +615,46 @@ 70A8196A5040003FBF7D67D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 7102B3B8313578D4ECC8D6C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 711B4EBCE4858BA0604CBDF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7168BF884128D58D69DF955A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUPlugInDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; 71748E84427CFB30EEBE367F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 71B73129FAEF3B7CB3FF6993 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; 71CAE8DA31F4D87B2E95EDAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; 724D93AB6D9B18FF2A808B00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; 72B8C870F4839CA1FCCB6D88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 72FB526A337028AB70381D37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; 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"; }; + 738F33AC24FB90456B86DF72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; 73C659F3EA1D2C09395C7A0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; 741EA80E2D8B179A8CC3C486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 74783B700FC1024F4203A5EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 749B5D7F2039C64EB76BF7DF = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; 74B72225635A9543000B3F2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; 7544A58B9E4B2489393AE5C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 754FD974215C7B29C3D36B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 7554A45516CA0D4D326BF16A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 757E6ED6016F88C0C0795D95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 7587EA4C7776CD377785687F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 758818D3B814CBEC6F3508E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + 75BA8464C48AED06414C062B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 75E146DCDDC75E6BD0513621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; 75F909BD93C1C29809827E08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; 75F9EE2CA69812F94F813F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 75FA88549EB9A0B72FA70773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 76F2F0B46508A73F78104AEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; + 771C51C2B746A42E8943E68A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAThreadSafeList.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAThreadSafeList.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"; }; + 7819C9861F3D1D2FFB5698CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; + 783AF109CC60E84D350DE638 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; + 78640BBD8C66C4997A62BE72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUDispatch.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.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"; }; 792FFDB67135A7055AAF19E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; 7984D7F0AB41B09B58929F22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; @@ -530,20 +662,27 @@ 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"; }; + 7B33DF98BB4976C787FCA2A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ComponentBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.h"; 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"; }; + 7B8875A9092483426FCA44A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; 7B95F4D9C9E0D0D0F4A5BF70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7BB366FE9253E66E7046B312 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAUParameter.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.h"; sourceTree = "SOURCE_ROOT"; }; 7C736B403403059EA96D7607 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; 7CDDA85DCFA8A1F9C6B24B7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D3F0FBBE2ABC05D8D7D92EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7D5C1ACA9E4337FCD15366E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAutoDisposer.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAutoDisposer.h"; sourceTree = "SOURCE_ROOT"; }; 7D61B738ED30CE25921EE310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D7A6BBD834B6A756EB3EBB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + 7D7F063A15DB4748924CF3EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; + 7D98FC3519E44906974B5D8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; 7DA52BDECC737E0E6F15C198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7DAF56C8078AE240CA905124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; 7E75A68F5AFF795C7D82FC14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; 7EBCBA4745635CCCDEA1F813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7EDB786A303E6F2454F432DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; 7F887FFD625CDAE17D22ED55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; 7FDB2B0F674DAAF0090B7D8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 7FF9A2223CD949A135A16948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -551,7 +690,10 @@ 8061F879F04EB4A499E5C455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; 80990CBB65DD8467C591CF89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; 80AD9BCB2D9E541E10E37FEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + 80E9D4890BBB945AA0CA78E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; + 80FE9E532E1B0AF2BAAD0B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; 810861F40D8A9609023B4EE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8123B83C9B6CFFD78665FDC8 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 814FB3401B8917C9CF141774 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 81606B069A2F4F764D62494D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; 8172DC65D346038F886F8174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; @@ -560,12 +702,19 @@ 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"; }; + 8232A7B55FC7AE4A401C9D16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAReferenceCounted.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAReferenceCounted.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"; }; + 83B23AF218F71386842E4DC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.h"; 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"; }; + 841B2622BB3EA55BE06941C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; 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"; }; + 846F10D560136C3239B41EE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; 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"; }; 84B78C1A48CAA37015480244 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; 854E72E69B0F71350172CBE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; @@ -577,15 +726,21 @@ 868F2D9EED97BC2BAC21BB84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 86A278A218FEDDC9BBB3CA52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; 870FA56E135C7A74B4931AC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 8725D091027EA010DC61D7E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; 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"; }; + 890039C453D3322687ABDB87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; 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"; }; 8978DDECC8749C80F3C959C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89ADEA15DF7C7FB51ED3D4FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 89E92A4496CC22861287FA8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 8A222E11CA12CEE75EBFAC1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A57DF9994DB00CF1232E8A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 8A663A1F5392E050AEBF078B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -597,29 +752,41 @@ 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"; }; + 8CFA7D0D77CB2381C95ECDC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; + 8D495F90F56830865D5591A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; 8D76E6F96920A62F49C247AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; 8DCC32E9FE5D5A16E99A2DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8DCFE006BA4A373E886F0C81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 8E1C0A6AC9FCDDFDC7DE181A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../../modules/juce_core/zip/zlib/compress.c"; 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"; }; + 91365D699A7F05D3CB6C358F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + 91730A7CC7876E2061DF392D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/export.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"; }; + 918C6C05AED150190BA0BE6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../../modules/juce_core/zip/zlib/inflate.c"; 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"; }; 9232266CF6E3FDD5C40F971E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 9242276507B9F06DA1727CDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; 927EDE14267F24C1529C908D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 92834AA91135F9049B69068A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; 92EC9D7739D7B8886EC93C87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 939172D714BB97C1064800F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 93D22E30CF61C961B6CE1733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 9420B606457A7060C2F978B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + 94AC8A68C0DF4E6092508F17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_1.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp"; sourceTree = "SOURCE_ROOT"; }; 950E2B80BD70E212D87E31D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; 9517F9EEE18C1038E1497FA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; 9548631628595F1576CD7B73 = {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"; }; @@ -628,13 +795,19 @@ 95E2D4C4A02FA14CE26392EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 95F5B0723C24598C877C8DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 95FC2D683A0E0F41FAD02E8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 96ABA944DF943A3CD8ED8F27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; 9740A9390ECA80CAA92382D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + 974E9F4361483678B25519A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAHostTimeBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAHostTimeBase.h"; sourceTree = "SOURCE_ROOT"; }; + 97B472DF9AD7A1AB538868F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; + 97D45106F5297E3EA0F90F70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; 97E3D56E1E5016E8069EB3F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 981DA305340363E4119DC2F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; 98B0BA1AE40B5C9896E10B5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 98F4B56019351A641823A6AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; 9917873B77C0466DCF5C5D89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 992BBAE5279C2B111BF7183D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; 9952808BE67944CFEAF10309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + 995921EADDC842AA1E7A56DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; 99D3EFE74EE88FF015266746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 99D4ED39DFD051F1610CD8C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 99DAB50C9456E7B4ED16342E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -642,29 +815,50 @@ 9A80761AED6FC41F08BBA0F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; 9A846589DA28FB405D6D2638 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; 9AD03390BB5791C7C1A74655 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + 9AD0E63EA728EFA10E465DA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; 9AEC23F3D59EE86B7C9BA366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 9B41DFBF585A9C722050767C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; }; 9B5CE97BAC0AAD8EEAF75ABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CarbonVisibility.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CarbonVisibility.h"; sourceTree = "SOURCE_ROOT"; }; 9C0EC72DF39C49F84958CCE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 9C82E908622CB0CAC2B1469B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CarbonEventHandler.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.h"; 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"; }; + 9D16C4F30F042930E0D9EFB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_RTAS_utils.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.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"; }; + 9D5724D3AB9FE56E2AD0B93B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; 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"; }; 9D75C7F0055E9976C989D769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; + 9DD46A24ECE14E75B1C158CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; 9E0CDFA686934102489C5083 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; 9E16DD9C4AA8FD94DF161ECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; + 9E2A17A739BE8605D8C13CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBaseHelper.h"; sourceTree = "SOURCE_ROOT"; }; 9E4C67EE120E7FE1F994CFB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 9E8230460D5C4094B17679B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + 9EBB58BBF4A22642EA4F98AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; + 9F275CD0C6A3655AF458BDF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugMacros.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugMacros.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A029690D724A8F7C98DE5FF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; + A044AC1A4B54A32FA5BEE4D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../../modules/juce_core/zip/zlib/zutil.h"; 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"; }; + 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"; }; A0FF2B79C7575B47746D6BF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.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"; }; + A1C7AF5AA2D423162BF0B7CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUSilentTimeout.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUSilentTimeout.h"; sourceTree = "SOURCE_ROOT"; }; + A212F7161C7C697F6226A5E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; + A22DBD6F1C6AD0DB1CE085E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; + A2BABDE29F2FA3A0E1EF2DBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + A2D49B0B4322D7EFDE84E0F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + A2E2CBD2A089BAF2C3AB05F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; + A2E68DB18D6420AB990D45F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp"; 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"; }; A38AF6E0A21C86A2C6422BF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; @@ -677,30 +871,45 @@ A4755DECD268F039C35E94C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; A56D162B7805D15A8FA4D740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A60B20BF96635F55352A27EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + A61AC8D4E56A37573A0E0502 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; A69017C73E1B1B4866239E86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; A69D502A485CF1CD578CF83B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + A72C478F5065C877E948B74C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; 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"; }; + A76EF9784B441DAF047A253F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + A76F0E8F6599F22EAF4BB79A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; 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"; }; + A84ABAB3216C233E2A620784 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; + A869F1C180BBBD085B93AE3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.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"; }; + A98C45530100BFCB68455751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + A9D38AF307DF9AD3D7E01502 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm"; sourceTree = "SOURCE_ROOT"; }; A9E261857B6BC6C730280A6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; A9FB6C224EB01F7400C82868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; AA0B029A74B96E129BE2CC47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; AA1F649DD80CB625108020D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; AA7B874966C8FC9752F9E4D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA8A4D411ABED1A44529857F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; + AB1EFDAF7F201156E54D12D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; AB9EDC054C6974664D636130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; ABE98983B5BA9E9EF0FCE9D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; ABFC1D79D41A1BDE7B6BEA7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AC2C1C6579782121139A863B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; AC55867CE5015665152C1A29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AC61EED4CB3F67E6C636214A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + ACA8076810A5D5AAA6720022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; AD6549B00D7A187A4D2AEE40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; + ADC338D095986A16D4D32EAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; + ADC65DB4F5BDE274C080A72F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; AE55D30734D56196C55AE45D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF34C694DE5E930DA0491CB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; AF63D49442BE4F647F0810B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; AF6EDB5EBC864ACCD2DA9DA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; AF8552319D5284C8D5B9FA8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -720,13 +929,14 @@ 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"; }; + B2F20017F08CD996FB8053D0 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; 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"; }; + B53F1BF345CE944B7E903288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; 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"; }; @@ -735,25 +945,34 @@ B6946014D4BE655E61F7FD65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; B6A4461427B4EE8D5C15B545 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; B6C2B6E81E1DF9E8505A0801 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + B6D1F711C549A6F9A3D94EC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; + B6D7D629C02602FF516F6C9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; B7272F573644C109E13069D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; B74737CDC16DD601904CD554 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; B751AAE21DEEAB7B91615223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; B780A330489E40B96DCBC640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; + B79F106D7E619D7E2FC68448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; + B7E688A67C840507F6852CBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; B7EC6979B78232E97C67586D = {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"; }; + B7FBAD086B9D51FC0C8FD638 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUTimestampGenerator.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUTimestampGenerator.h"; sourceTree = "SOURCE_ROOT"; }; B8B473712F5473815263F6F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + BAA184030734705BF1B3E03C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; 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"; }; + BB8C3D7D3297D944BF1D3378 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; 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"; }; + BBBE3DABDB9284A6397CE7B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_AAX.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp"; sourceTree = "SOURCE_ROOT"; }; + BBD796E9A3E055503ED6C2FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; 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"; }; + BC1A9A298533053CE4CF57B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; 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"; }; @@ -761,58 +980,85 @@ BDB846E8085DB5A0E41287E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; BDD217941B2E1794D43EBCF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; BDDD2B5048855C68EB72325D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BE1341D48D2E04B73EE4D507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; BE1897DD24C0D246E3A3CAFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; BE1E7575BE729989C67BB91A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + BF61054F9139E64EBE325988 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnitTypes.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnitTypes.h"; sourceTree = "SOURCE_ROOT"; }; + BF909DFBC9B899C6119F556B = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = GainPlugIn.entitlements; path = GainPlugIn.entitlements; sourceTree = "SOURCE_ROOT"; }; + BFD90884D6857715C85E1A6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; 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"; }; C089ABE5161EAA85FD1790E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; C0B631A5AAF29066C83CE231 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + C0DB20CA1507B18EC16C834D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; C0EEFC94B544DFCC9B2DD484 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C14B7273C672CB907A5DE7D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; C16626378DA3B90BD06D0DE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; C1700341DAE67966E3055BF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; C179F19DB3001A25ECBD020D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; C1844937AFECFF7929C91CBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + C19B480B52148431D93F1DE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; C1E2F61DC5117176388AFB09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; C2138F3DEEC00B2C5B99D91F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; C21901C295DAC52328F5AD0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + C23085CE9B99B3E9FFB81496 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; C28831A4642998ED859895D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + C2BD07E68A7EC57AD4F2921C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.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"; }; + C3178DBF982BF53F9F7E9380 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; 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"; }; + C38D9CCEDE8B010E719D14A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../../modules/juce_core/zip/zlib/inflate.h"; 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"; }; C3B5B38EF696231652756D32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C4DA91B56A558876D7B260E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAException.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAException.h"; sourceTree = "SOURCE_ROOT"; }; + C4FDA721AB215784E22100F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; 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"; }; + C5552013663157C0445CFE68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; C669D4478310A2EE6CB3C411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; C6724F8B6CEB05AC9584BEEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + C686FCC9267EAB91BEFAC1AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; C68AA954B29437DA7782E314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; C6B52DA1DA289B8A57DEF4F9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + C70B097F473466F7BF840FFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; C7378A5929BBDB1A45393F8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; C73835DB991ED8F57E4C3C38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + C7C6BDE178D18E567CC15965 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; C7EA726E238952EA7F48F014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + C839FE8A8E260F70F5073187 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; + C854BE93136A4B9E74FD8AFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; + C8D0F412DB85F4A20CD69D41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; C8DABAB08C149DED48D7F30C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C9ED3924027D282599EB093F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../../modules/juce_core/zip/zlib/zutil.c"; 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"; }; + CA7F069BCB70B5A181662023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../../modules/juce_core/zip/zlib/inftrees.c"; 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"; }; CB37427485C34A8733E644BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; CB9221C8E22E7CD43BC03A69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; CC8A51BAA9DFE6BF2E35F72E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; CC9362142B6BAC4A72B9C872 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + CC99560FE6EBDC39D071BBC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; + CCAA55B3A27E1808E63F6092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; 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"; }; + CD894CD630535DD0CA8FCE84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; + CD8E475D8E679216112D33F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; 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"; }; + CE0F2233E4121244995CE7E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; 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"; }; @@ -824,10 +1070,14 @@ CF5806A75B14A0E95E7798F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + CF7571793DC47328201D57CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAudioChannelLayout.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.h"; 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"; }; + CF9E4B321DE936F0E80148F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/assert.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"; }; + D1672E14157CEBCCFDEE1192 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; 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"; }; + D1CF4F33E1B5FF989ADCDEDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../../modules/juce_events/juce_events.cpp"; 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"; }; D1F269BE5049E33E4581DDB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; D23AFB6D8799A3F02020A091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -839,6 +1089,7 @@ D321B6288EA42F4A4F62EB14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; D391B80CE8529FDD2ABCD8BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; D3B2F7C4777B2CE3293E5C8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + D3C8428942FD7ED38269F508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; D3EEEF7EDF8348E821168879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; D3F2CEC88C645481A0E13B17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; D41D8C004C8FDC0E81659CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -847,61 +1098,81 @@ 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"; }; D62DD34152AB6896D6DFD7E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + D64812D922FF1D6C33CDC6DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; 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"; }; + D783707AC81F40FE49620182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; D79AD5A507E39490F4C0DA79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; D7B5D9E6C0F17D46BF8FB23C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + D7B6E90B242754FECA7331EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; D7E7EA03B41E2DC2F13C0524 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; D83B3885644D866F68D896A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D879F462E213EF7D2B909B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; D882AE71433B9277B5B96D4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; D89726C55724A5B51F6CDEA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + D8B1DB409CEE0E040A9EA28E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; D90748AAB57CC871613C4AA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D9C958D0A70BCFFC1E76C9DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; + DA0B619799B7BEFA763E4B13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; DA33F0FAF0FE9C0E98B04608 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; DA467D2628B8A2D73BCA00BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; DA7D3EB865447AC849541886 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; DAC3E4BED0E3F0EEEDE61C90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; DB230439C2B74460A935E0EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + DB7776355E9B459E01738231 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; DB851D18363A7239C962FCC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; DBF11B9083F40C0C849B9302 = {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"; }; + DC0B9CB15F33957FC0747036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; DC21FC12D0B137714B0D6C17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; DC42FC5C8D839AF8C408DD6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; DC55FBABEB3A839B6602D678 = {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"; }; DC76C8CFA72B8F9DDA42B1CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; DCF492D1976FAA8E7CA19078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + DD03C7B1115757F3262956BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + DD9D6CC55BC504BF780C5BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; + DD9DE67E933C8EFCA83455E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; 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"; }; + DDE29139D43A734436840D45 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; 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"; }; DE36E034DFE26D0E04E82AC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; DE6322CA9AF654B88402B5A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; DE8D12CF92A170E13A184745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; + DEEAD603FE1D77A1E09E7DEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; DF54BAFE0AEF09B6D7F923F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; DFA67ED6B9EAD4001C945694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; DFBC65248D72654DD45F3E68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; DFDC8AC06C14C23ADBE12ECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; E015A474DBD77D3DF642824E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + E0170FE4829E43ACF2E331CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; 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"; }; + E13F457C8A1DAA63E653710F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; 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"; }; E221C545F4A08B1422CC6708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; E22A8C6006C3BD972035B132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + E2C54EC051B9509356592AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; E394CA84B664710B3771ACAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; E3958C99991C2CDD36DB609D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + E3B06A2E7B68EB444FF7D2CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../../modules/juce_cryptography/juce_cryptography.cpp"; 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"; }; + E54CE951CF94B54F57DA2AC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + E55274DEC816B170A9E2B73E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.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"; }; + E5A88163F3179D84C83BF562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAStreamBasicDescription.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.h"; 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"; }; @@ -917,12 +1188,18 @@ E86A65CC4D5227EE7B7FF5EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; E877FE89092942CF21E4EC77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; E8876D223D37B2820A5021BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + E89ECDF5230ED47AF2C41B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + E8FD8A43888747D7A6F0292F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; E90BE75D1FF36FF48C43A8DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; E932A4C9D9BE7DEF7E74A9D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; E93AD18DA3D2B5074595F805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9C79ACA51AEFAD47615B42A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; E9FEFC46FF2B51B8C3A520F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginUtilities.cpp"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; EA18AC5E7FC18423FEC5BC3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; EA70BFFD4C19914A10A253B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + EAB7D0E0ACC71A6E123DB57F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + EAD3A86192F7F23111A1E455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; }; + EADF9AEC764AEE1FAE545F5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; EB1523A1496A3D747E3DC7E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; EB32B97D1544A74457EEA3B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; EB42562C9F767B17FB08FFBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -930,13 +1207,19 @@ EBDDD726048DD176D7AE17E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; EBF9EC92C3AF514632C86FD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; EBFE19F71751A99CCE015B6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC3F94900328655F7AF42C3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; + EC44F5F78400F3EB04910E0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + EDAB1B1942F57B6882120256 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; 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"; }; @@ -947,16 +1230,32 @@ 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"; }; + EFDE058E33653421EC53D35E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputFormatConverter.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputFormatConverter.h"; 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"; }; + F0DED4FA7FBC67DB4F3E9C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; 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"; }; + F16850088BAC467F2DDF47B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; + F18474D1FC76E023231638CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.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"; }; + F1A0F0881D3C62C8E705120E = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; }; F1B4EC755365729CF9850E27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; F1C1D72B4B911227DF608946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + F2317300350CF81B3EC383A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; 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"; }; + F2BA131A7254C150C15D9306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; + F30FCD23E36D9A46A5A69AA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; 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"; }; + F3FC0F1212CEA1EE597AF0DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../../modules/juce_opengl/juce_opengl.cpp"; 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"; }; + 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 = archive.ar; includeInIndex = 0; path = libGainPlugIn.a; sourceTree = "BUILT_PRODUCTS_DIR"; }; + F1B858A448D0BA6929408B97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; + F405F19EE310FBC6BB4A1472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAXException.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAXException.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"; }; F5520ECBE03E369AD2B56550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -966,16 +1265,22 @@ F5A96B9783E559CB9FB56B93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + F5EAFB838EC3E83930E9C8F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; 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"; }; + F6F268E5CE4AC0C5EFF2A414 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewControl.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.h"; sourceTree = "SOURCE_ROOT"; }; + F73E61CD3ACE30495293E399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; 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"; }; + F7BB750285C1A56C05A6B437 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; 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"; }; F86E0D4727FD2F22EABE6AF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + F882EE91C466D0BDE77C6CD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; F8E48C01C791BEFDDAA6A47C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; F8E73EFE3DB75B34783A0862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAMutex.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.cpp"; sourceTree = "SOURCE_ROOT"; }; F8F60A8C4A04BBF285A9C392 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -984,6 +1289,8 @@ F902DCE1C5FE2EBD59C1C294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; F945ADAF44E9F3EF76FF78AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; F9504B50D649AAEC9854241B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; + F95551AE1AD4CAE7488FA1D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; + F98550123263DA52359B764F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; F9B2244F5EFA1FFA722DA562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; FA20C873EDCF671DD973E3F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; FA45F5639F77F80ED3580D13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -991,32 +1298,53 @@ 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"; }; FB543B91C7E0C32D35F9936B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB56059A51DF315A718B19D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; + FB923D7CA027BA4C19CE393B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; 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"; }; + FBA4895A92BDB363EA71BC8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../../modules/juce_core/zip/zlib/zlib.h"; 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"; }; + FCB2860FFEAED991C4E494E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; 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"; }; + FD72B668F5FF9E8331C60E4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.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"; }; + FE3E573101A1866699513A72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; + FEDE864FABF0E3C4883CF664 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm"; 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"; }; + FF67F62E933F48FDD553C276 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugPrintf.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugPrintf.h"; 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"; }; + FF82E4E606AFA5AE47720CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; C8F3DE8D004443AC01CDFCAE = {isa = PBXGroup; children = ( ECD7D7FB3760E3792BAAC6CE, ); name = Source; sourceTree = ""; }; A1FE33C49F2701A6520F72A4 = {isa = PBXGroup; children = ( C8F3DE8D004443AC01CDFCAE, ); name = GainPlugIn; sourceTree = ""; }; - CCA17014988EBD48A5ED5DD6 = {isa = PBXGroup; children = ( + FD9FC27F2AE903B815E9E0E8 = {isa = PBXGroup; children = ( E93AD18DA3D2B5074595F805, B1D2A0DC0B0B8F43AF0635C1, 237733D1EA87B4C27665E50C, 1D0EE5EAD6884214BB2D262E, 21B97DA05679BB8EE0C91A65, ); name = buffers; sourceTree = ""; }; - CDB25F907D5B4AA44E5EE13B = {isa = PBXGroup; children = ( + 78420BB3B720B57D334AF1AA = {isa = PBXGroup; children = ( + 9C56F4062FF3C832E916CCBC, + 0AD28BCC027B18558EDC9C66, + 00588853E1349AC4628FBE4E, + D12A713DA14521B90404F672, + 75F909BD93C1C29809827E08, + CA26DA522E4998DF00EC3927, + 4EDA6213BB262D96FEE0AA55, + 45B7DA5829EC535A7358B483, + 8A57DF9994DB00CF1232E8A3, + EDAB6EF5F96B6F95B5AF2669, + 11FD04163B441355109B6404, ); name = effects; sourceTree = ""; }; + B9C4915637D329F57FC04900 = {isa = PBXGroup; children = ( 05214F029B4F78722B9642EF, 25E400988B2BFD763207E0EC, 3188471C61CFEC8036BE0FBC, @@ -1026,17 +1354,29 @@ 0022D310074F4B82ED8704D3, 5655B03A7E02DB37AFC641FD, 27A630A986DDEFB7182E59BA, - E52C9CE6870145C1B27963B4, ); name = midi; sourceTree = ""; }; - 201F1D89F1C417151BA37926 = {isa = PBXGroup; children = ( - 00588853E1349AC4628FBE4E, - D12A713DA14521B90404F672, - 75F909BD93C1C29809827E08, - CA26DA522E4998DF00EC3927, - 4EDA6213BB262D96FEE0AA55, - 45B7DA5829EC535A7358B483, - 8A57DF9994DB00CF1232E8A3, - 11FD04163B441355109B6404, ); name = effects; sourceTree = ""; }; - 553B171FBE5102953DE5E0D6 = {isa = PBXGroup; children = ( + E52C9CE6870145C1B27963B4, + 2B67B13342F0A3F807DF2B2A, + 97B472DF9AD7A1AB538868F2, ); name = midi; sourceTree = ""; }; + 03852F42F71463E1A7188A2E = {isa = PBXGroup; children = ( + 8CE9CC147B5ACCAFF12E599F, + ED5AAE97A896206C7243B3B3, + 027412328DE49125F841AE57, + 1127E52190B4DC4D4133647E, + 4A7AE43CB3279CA55F3CD658, + 8D495F90F56830865D5591A3, + 0CFA4CB74568DE690B65D1AE, + 366835A7E194774D7333EC83, + 125AEF47724D755852688941, + CC99560FE6EBDC39D071BBC5, + 4D636682CC831D76D3BB7C7B, + 46D387910B077A3AA7CB9C92, + 5D673258913CCC1B0DED9F51, + 35DA65C71E79224AAE6DC7B8, + F06C83C04FC16618FBA9BFBA, + E2C54EC051B9509356592AE1, + F19532C9A9B834EF732E2C52, + 074AA27AF6DEA1DD843C42D6, ); name = mpe; sourceTree = ""; }; + 913FA6ECB5D8A89C282D9F25 = {isa = PBXGroup; children = ( DB230439C2B74460A935E0EA, 10927CA28A3C411F2F40490C, F3BFC5ADFAD663890D658894, @@ -1053,18 +1393,25 @@ F945ADAF44E9F3EF76FF78AD, 3396C7F7CD64F9A70357CEE9, 70A8196A5040003FBF7D67D6, ); name = sources; sourceTree = ""; }; - 42254536EA2D807E93C6C7A8 = {isa = PBXGroup; children = ( + 2791CE0D0E2AC1869F1C7459 = {isa = PBXGroup; children = ( 9079597BEBFAC1474AE04618, 1EF7D8DB5497858765CDCCF8, ); name = synthesisers; sourceTree = ""; }; 9F77553445814637D3E8C676 = {isa = PBXGroup; children = ( - CCA17014988EBD48A5ED5DD6, - CDB25F907D5B4AA44E5EE13B, - 201F1D89F1C417151BA37926, - 553B171FBE5102953DE5E0D6, - 42254536EA2D807E93C6C7A8, - 4944D74AFDAD75D539AEB8D4, + FD9FC27F2AE903B815E9E0E8, + 78420BB3B720B57D334AF1AA, + B9C4915637D329F57FC04900, + 03852F42F71463E1A7188A2E, + 913FA6ECB5D8A89C282D9F25, + 2791CE0D0E2AC1869F1C7459, + 75BA8464C48AED06414C062B, + 5015777ECDDAC17D0C132F34, + BB9C40C7BE4EC37243B0FF5A, 5015777ECDDAC17D0C132F34, ); name = "juce_audio_basics"; sourceTree = ""; }; - 690D35B2436D4D22FB1ABF16 = {isa = PBXGroup; children = ( + 002AEBA17F1C8793DC99ADE1 = {isa = PBXGroup; children = ( + B1D88569B0E48296BFB11BAB, + 701C2B1410E366088FC0D8BA, + 95567324C834BBE5D5215DE7, ); name = "audio_cd"; sourceTree = ""; }; + 484CCA27CD32F80EF3ADA93B = {isa = PBXGroup; children = ( 4C1DDE053C0E6BAF542394F5, 8C2320DE66C95441D6270478, C1844937AFECFF7929C91CBF, @@ -1072,22 +1419,13 @@ 1B17928327544C6808B05586, EB32B97D1544A74457EEA3B4, 4F4B6F7986EE31F0D2B59182, ); name = "audio_io"; sourceTree = ""; }; - 80C3616D368DF55CFBC4AEFE = {isa = PBXGroup; children = ( + 58285C46B83F0E3AF95A48E9 = {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 = ( + 20FAE340236275C76CFDEBF3 = {isa = PBXGroup; children = ( EA70BFFD4C19914A10A253B6, 7B4B931B90ADD3ACF741A4E3, 66F68C82E5E1526A5201A6C4, @@ -1107,31 +1445,169 @@ D1D8D5B5C6C026C45D74A5E2, 51314EF946587D18990D7B0F, E596F3CFF5E5EE762B97BB4E, ); name = native; sourceTree = ""; }; + 6B24A7A09AADFD7A9BDB7A3A = {isa = PBXGroup; children = ( + 57D9A02362712935FBB7A37A, + 1EE3777A2BAD2E09AF829CBD, + 7FDB2B0F674DAAF0090B7D8C, + 590991BD50DE7582475B7661, ); name = sources; sourceTree = ""; }; D1D0AA916A58377C675E5F24 = {isa = PBXGroup; children = ( - 690D35B2436D4D22FB1ABF16, - 80C3616D368DF55CFBC4AEFE, - 8CB32CC5DF9ABD267A471887, - 9A0DD4154D863AD7E71AA92E, - 41FA7564A4B6550750CFC93F, - 464061B97667C9E017E05B99, + 002AEBA17F1C8793DC99ADE1, + 484CCA27CD32F80EF3ADA93B, + 58285C46B83F0E3AF95A48E9, + 20FAE340236275C76CFDEBF3, + 6B24A7A09AADFD7A9BDB7A3A, + 633D8368DF1EAD4DF5AB6CCD, + 543870AAC11B131FB3F6F372, + 2D62D02F2AA382CA14418324, 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 = ( + B07955925BBF77A53465791B = {isa = PBXGroup; children = ( + F16850088BAC467F2DDF47B5, + A869F1C180BBBD085B93AE3B, + DD9D6CC55BC504BF780C5BD0, + DEEAD603FE1D77A1E09E7DEE, + 383E22B4C49E3BF924BA6A10, + 995921EADDC842AA1E7A56DF, + B6D7D629C02602FF516F6C9F, + 5681775C64F9EAD0FF42865C, + 13BD1FD2B98B76FD432C2E71, + 74783B700FC1024F4203A5EB, + DD9DE67E933C8EFCA83455E7, + BFD90884D6857715C85E1A6C, + E89ECDF5230ED47AF2C41B99, + FD72B668F5FF9E8331C60E4D, + 50A949C6B3CA24ECBA2D8877, + 24674CEEC3A84479C702DE74, ); name = private; sourceTree = ""; }; + 47200BC66BEB19A9F30E2743 = {isa = PBXGroup; children = ( + D3C8428942FD7ED38269F508, + 3467D0C6F4265ECE68834416, + 41C8672D2F46ED90519C779D, ); name = protected; sourceTree = ""; }; + AA03F89AA7D748A45A0D9912 = {isa = PBXGroup; children = ( + B07955925BBF77A53465791B, + 47200BC66BEB19A9F30E2743, ); name = include; sourceTree = ""; }; + 908BC94A48ED9B01C04424DA = {isa = PBXGroup; children = ( + AA03F89AA7D748A45A0D9912, + C19B480B52148431D93F1DE8, + 2D53A807778013E6036A208A, + 14C9E7DDD1209618284560E4, + BBD796E9A3E055503ED6C2FD, + FCB2860FFEAED991C4E494E6, + DD03C7B1115757F3262956BC, + 483DD8616572C4DBF80452B3, + 98F4B56019351A641823A6AB, + F2BA131A7254C150C15D9306, + D64812D922FF1D6C33CDC6DF, + BC1A9A298533053CE4CF57B8, + 1EB2CAED333D6417A11718A3, + 27EB154E0EFDFDF298A0C8C4, + D1672E14157CEBCCFDEE1192, + CCAA55B3A27E1808E63F6092, ); name = libFLAC; sourceTree = ""; }; + FCC921313ED7F6BAEAD35995 = {isa = PBXGroup; children = ( + 908BC94A48ED9B01C04424DA, + D9C958D0A70BCFFC1E76C9DC, + 9EBB58BBF4A22642EA4F98AF, + CF9E4B321DE936F0E80148F5, + AC2C1C6579782121139A863B, + 0704B4761691C708062F985C, + C686FCC9267EAB91BEFAC1AD, + 91730A7CC7876E2061DF392D, + 30DDB08AA46C11BC40E76FAB, + 6EB45975DBDB63BEA9B20153, + EDAB1B1942F57B6882120256, + 5505B6E96735DE70D36D8468, + 890039C453D3322687ABDB87, + 89ADEA15DF7C7FB51ED3D4FA, + 2E604C5134A03FD04E2EC630, ); name = flac; sourceTree = ""; }; + 9302D6B06C9FB28367DC9646 = {isa = PBXGroup; children = ( + 6814B8BAF57D2801AC4D27D6, + 19B4D1E7A9A63105A1EA10DC, ); name = coupled; sourceTree = ""; }; + 95B2A805A2ED09C5A938459E = {isa = PBXGroup; children = ( + 80E9D4890BBB945AA0CA78E7, ); name = floor; sourceTree = ""; }; + AA64CC0F7C62057D82287E08 = {isa = PBXGroup; children = ( + 3506C2CBBB392F46A52587A0, ); name = uncoupled; sourceTree = ""; }; + 2ADFFDDBD090B06F582579F5 = {isa = PBXGroup; children = ( + 9302D6B06C9FB28367DC9646, + 95B2A805A2ED09C5A938459E, + AA64CC0F7C62057D82287E08, ); name = books; sourceTree = ""; }; + BC0D8F27BDA478EEF6030311 = {isa = PBXGroup; children = ( + A029690D724A8F7C98DE5FF4, + 2C474F53B2C7D9F95E73B708, + 49C84D7DD349A27365719B3E, + 45BD34FB3E3E4040E4C8722E, + 4734CCD9EBBAD5455D4079BD, + 50CDEEA15AAD2B77612C3EED, + 2649D36BEA8F753728E89D6A, + B7E688A67C840507F6852CBD, + EAB7D0E0ACC71A6E123DB57F, + C2BD07E68A7EC57AD4F2921C, + 260CDD1F6CCBE01AC2B4F9EF, + 76F2F0B46508A73F78104AEF, + AF34C694DE5E930DA0491CB4, + F98550123263DA52359B764F, + CE0F2233E4121244995CE7E9, + FB923D7CA027BA4C19CE393B, + BAA184030734705BF1B3E03C, + 40EE825BF6CFD726B10A9AB3, + 3A3B6547404903D58BD00283, ); name = modes; sourceTree = ""; }; + 6BC131B9F2E6420259C1FA6D = {isa = PBXGroup; children = ( + 2ADFFDDBD090B06F582579F5, + BC0D8F27BDA478EEF6030311, + 3647150E2295D712DA792474, + 738F33AC24FB90456B86DF72, + 6E529CB3D7E687C1E3281388, + 9D5724D3AB9FE56E2AD0B93B, + ADC338D095986A16D4D32EAE, + 5792EABB35CE2F8B9F90FBCF, + E55274DEC816B170A9E2B73E, + 3828E5CDDE806B1641B6FE13, + 5434045E579BACE0136FC5AB, + A72C478F5065C877E948B74C, + BE1341D48D2E04B73EE4D507, + CD8E475D8E679216112D33F6, + 03F1262AB2550A8F70AD4D55, + 2771B7243DC04B2AD1C43848, + 75FA88549EB9A0B72FA70773, + 39656AF61703FDA3F7381806, + 0E8A905CA9D7FCC7534FC829, + 2556A9D540D45B5B73238173, + D8B1DB409CEE0E040A9EA28E, + 25B9A7FDD978A995A11AAFAD, + 6EACAA86DB5CE5A066686472, + E13F457C8A1DAA63E653710F, + 3B27DB981730835EB718E075, + EC44F5F78400F3EB04910E0A, + C7C6BDE178D18E567CC15965, + B79F106D7E619D7E2FC68448, + 3ADD88BA0627684AF73FB91D, + EAD3A86192F7F23111A1E455, + 91365D699A7F05D3CB6C358F, + 35BC69CBC3A14095D280F672, + C4FDA721AB215784E22100F7, + 09AA3BA21CA8D651D23CDD20, + 54788D55D0681D1CD44DA3D5, + 97D45106F5297E3EA0F90F70, + 5A05AA119B1B669DC1FB0B8B, + 9DD46A24ECE14E75B1C158CF, + FF82E4E606AFA5AE47720CA2, + 6879CBE2DD60875A3AB0CCDC, + 846F10D560136C3239B41EE2, + E8FD8A43888747D7A6F0292F, + C839FE8A8E260F70F5073187, ); name = lib; sourceTree = ""; }; + 642295971E950840A6E8BF2F = {isa = PBXGroup; children = ( + 6BC131B9F2E6420259C1FA6D, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + 49015BAA642C3D90412E83CC = {isa = PBXGroup; children = ( + 642295971E950840A6E8BF2F, + 445F7A2AD5C92F68F294F280, + 02B0FAB52AA434895CBAB632, + 783AF109CC60E84D350DE638, + A76F0E8F6599F22EAF4BB79A, + B2F20017F08CD996FB8053D0, + 3E6FB99A3CFFDEE0563413F5, + 9242276507B9F06DA1727CDC, + 7819C9861F3D1D2FFB5698CE, + 6B6F03539BD7FB069A3A3447, ); name = oggvorbis; sourceTree = ""; }; + 55B1CA28269EFFA66960399D = {isa = PBXGroup; children = ( + FCC921313ED7F6BAEAD35995, + 49015BAA642C3D90412E83CC, 754FD974215C7B29C3D36B59, F3B8EEB02E5588D99021DD10, 53C8168EAD3420C0EFD34BE8, @@ -1150,34 +1626,109 @@ 4075F109779D2CBDAAE69745, EBDDD726048DD176D7AE17E6, ABFC1D79D41A1BDE7B6BEA7E, ); name = codecs; sourceTree = ""; }; - 27E93C908947AF25F947A79D = {isa = PBXGroup; children = ( + FC16BD8238EBFEB7075C77C7 = {isa = PBXGroup; children = ( + 00261126291DE9BBA1D5F4B2, + E3958C99991C2CDD36DB609D, + F76BAD45163B80F58A11FE42, + 73C659F3EA1D2C09395C7A0D, + 4921ECFD4B35F109FC1E30F8, + 4E2D55AD5C0799596BAD8A95, + 0B67C3B6C22FCA346E3DF158, + 8CD7B01A646341ACCBB0A732, + B6A4461427B4EE8D5C15B545, + 12CACA7B3A7C79544B110B8A, + DC76C8CFA72B8F9DDA42B1CF, + 208077B4080CC33E3734DE20, + 5E3FCA667305A9E433375707, + 7992A843F3FE232608E9A428, + 547294B685D821DA97B4274C, ); name = format; sourceTree = ""; }; + 6EF0D8770D4622FDDD63C0F5 = {isa = PBXGroup; children = ( 4ED140257265D08ED9CB3B64, 4C139FF1648177E32BFA64A7, ); name = sampler; sourceTree = ""; }; 18C4E98FCC0885F02459165B = {isa = PBXGroup; children = ( - 7646BA921E415AA7AD01FF1C, - 498B2F51E15BFA44A79E3333, - 27E93C908947AF25F947A79D, - 2B16BEE619F42394E6CFB6A8, + 55B1CA28269EFFA66960399D, + FC16BD8238EBFEB7075C77C7, + 6EF0D8770D4622FDDD63C0F5, + 577C7B7C9B82EEAB16B6D769, + 18B7B5B0C06A1C96ED45C9AB, + 56FF5DCB746A2F7485406F63, 18B7B5B0C06A1C96ED45C9AB, ); name = "juce_audio_formats"; sourceTree = ""; }; + F1C57B1BE7D3A85714FB7C7A = {isa = PBXGroup; children = ( + B41DB1D9877BC61AB0558A69, ); name = AAX; sourceTree = ""; }; + AB9348DF000622E4B2C60AD4 = {isa = PBXGroup; children = ( + F12E2F9633C0C10172C7EB29, + 1C71EB70C3F4FAD9C2701C80, + 9E2A17A739BE8605D8C13CFD, + 680EE9033FAD98035F81563A, + 52BFB6C68B8BF5A6BEFC0127, + 1037E8A51A3D832955005F27, + 6D6FD07009B389ACEBA0D26D, + E407EB81948286696C44549D, + F6F268E5CE4AC0C5EFF2A414, + 62A8511AB481A8E078ADBF89, + 5DCD4BC5BC61EC41393FE43A, + 78640BBD8C66C4997A62BE72, + 8E1599C21C3311F159546B59, + 5B9409BE358B2F80491C99B2, + EFDE058E33653421EC53D35E, + D0981B4C01A638233E8A14B0, + 36423CD626A1BBECA6DAC989, + 6C2B7D995AEF715D3AE1CAFE, + 6F7DF5FEA03BF17E3F629F72, + 77345FFA1F7E85CBCEA19F5C, + 1EDDA0111D9D08F6C86E371D, + 7168BF884128D58D69DF955A, + 60EE99D3E9FD3DC790F13A39, + 3BD14BCFCBEA34845E70C6D4, + 1032590EF4D6EB22F136D709, + A1C7AF5AA2D423162BF0B7CD, + B7FBAD086B9D51FC0C8FD638, + 63A906B53449DA90D9D4C656, + 2940A8A9858268B5D19E09F2, + 51C953443339721483EF9563, + B512D47362D65160CC380F59, + CF7571793DC47328201D57CC, + FF1A34EA7C9475D4DE62720E, + 7BB366FE9253E66E7046B312, + 7D5C1ACA9E4337FCD15366E8, + 9F275CD0C6A3655AF458BDF1, + FF67F62E933F48FDD553C276, + C4DA91B56A558876D7B260E2, + 974E9F4361483678B25519A2, + 34EFEBA87F57AEA8A0D6B4EB, + F8E73EFE3DB75B34783A0862, + 0AA92ADED1984DA556BF1ED5, + EE3D9D885DC024F73E7BA834, + 9C82E908622CB0CAC2B1469B, + 8232A7B55FC7AE4A401C9D16, + A0FF2B79C7575B47746D6BF0, + E5A88163F3179D84C83BF562, + 771C51C2B746A42E8943E68A, + 91938585F6DC07619334DF13, + 0E8F78D1A6A17F75E5DB869D, + BF61054F9139E64EBE325988, + F405F19EE310FBC6BB4A1472, + A964E1303BB880F796AA41D1, + 7B33DF98BB4976C787FCA2A4, + BC143154D01C14EC6438FD2E, + 5E148B6D2D4D3ACADBD369BA, ); name = CoreAudioUtilityClasses; sourceTree = ""; }; F2D5F877258DB2BBF0433F23 = {isa = PBXGroup; children = ( - B15D003DE2F4E963EC111711, ); name = AU; sourceTree = ""; }; - B72A30539E39AF73D7373B56 = {isa = PBXGroup; children = ( + AB9348DF000622E4B2C60AD4, + 8CABBDFF3D48FA622F561D56, + B15D003DE2F4E963EC111711, + 8782AADF74783EA3DD066529, ); name = AU; sourceTree = ""; }; + A8BAB3F628FDD2F723B11AF5 = {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 = ( + DC55FBABEB3A839B6602D678, + DBF11B9083F40C0C849B9302, ); name = RTAS; sourceTree = ""; }; + 48CA15F7102E796E2AD6058D = {isa = PBXGroup; children = ( + 43B51F79EFF2E9673AA1BCE6, + 8323AB8EF5430A81A4FDD26E, ); name = Standalone; sourceTree = ""; }; + 50034CFA00470A07703FD97C = {isa = PBXGroup; children = ( 9B5CE97BAC0AAD8EEAF75ABF, 38687DB2FEC47B8E4826346E, E219774D186DF70D694D2768, @@ -1187,16 +1738,55 @@ 9F56E1F9CF75D555C677A38D, E9FEFC46FF2B51B8C3A520F4, 21F8A643A1D07AE29337D139, ); name = utility; sourceTree = ""; }; + 0DA9BEC29F87A7F4440AA21A = {isa = PBXGroup; children = ( + 9548631628595F1576CD7B73, + C3D43F992D8AAA5EF9D23288, ); name = VST; sourceTree = ""; }; + CD737733FC3EFC2B3A99B8C1 = {isa = PBXGroup; children = ( + 8676D218DB100E6B4636A82E, ); name = VST3; sourceTree = ""; }; F7173AE77C51F8BD4B4476AC = {isa = PBXGroup; children = ( + F1C57B1BE7D3A85714FB7C7A, F2D5F877258DB2BBF0433F23, - B72A30539E39AF73D7373B56, - ACB40A827BEB66A2619B656A, - 1815B1538BC13B78AE2CE64D, - 322586F167B93E8334EED94F, - D2EF477112A478216F84E4EA, - C34154A75199D0615ADE1730, + A8BAB3F628FDD2F723B11AF5, + 48CA15F7102E796E2AD6058D, + 50034CFA00470A07703FD97C, + 0DA9BEC29F87A7F4440AA21A, + CD737733FC3EFC2B3A99B8C1, + B5F601E64CCEDC477481A4ED, + BBBE3DABDB9284A6397CE7B8, + FEDE864FABF0E3C4883CF664, + A9D38AF307DF9AD3D7E01502, + 4544225B1B0BC9D00BA328C0, + 03B89FFF7FBE455F753317FB, + 94AC8A68C0DF4E6092508F17, + 1BBF055FB50C10FDD918FFAC, + 637985E7C47E84A2CA4EBBF9, + 4CCF6574D0F1D139FC0F89C5, + 25AD118B6A04E05741530419, + 9D16C4F30F042930E0D9EFB3, + 57BD2C55FB95CF3E886263F5, + A2E68DB18D6420AB990D45F6, + 6DF0BF0992AA25730E78EF25, + 56D1A4956C00A125A6772AF9, + 0B5112493545E822ED5CAB38, B5F601E64CCEDC477481A4ED, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; - D8A17ABC7C1ACF4BF8623CAA = {isa = PBXGroup; children = ( + DC60B9DD7D58AF5115E6E77D = {isa = PBXGroup; children = ( + 8978DDECC8749C80F3C959C6, + E877FE89092942CF21E4EC77, + 75F9EE2CA69812F94F813F00, + 2CA124DED3BC606AF1A3A15F, ); name = format; sourceTree = ""; }; + 0399C83FFCC7CAC5B1A58E63 = {isa = PBXGroup; children = ( + B5D4DB73568113270FAA6E28, + A815FDA15080EB5374693B3C, + 29BC321A44EEE9AD6D3184B8, + 291196A3F403A3B9BDDD4347, + 690F39797FCF9D96368006C9, + 3E750A56336FE91FE4190D0B, + CE57E03FD67001AF17AE9348, + 115075E87FFDE3A0562DAB11, + B480AA30CA4A3E925CD4D7BA, + 8BE1CAAB600CECDD6390B937, + 8C68CCB04F23709D332A85A3, ); name = "format_types"; sourceTree = ""; }; + B6605B3CCE34B5362E97AC55 = {isa = PBXGroup; children = ( FB543B91C7E0C32D35F9936B, 9E16DD9C4AA8FD94DF161ECF, AFDF57386DA66E87DABD6E76, @@ -1213,24 +1803,7 @@ 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 = ( + 33CBFEB5F3FE009018034328 = {isa = PBXGroup; children = ( 2D87FFDD381908613B795851, 052E09FF6B5A729C131448B6, 4E3C9588F4DF6C1BEA4367CD, @@ -1247,64 +1820,16 @@ E447A920E1B94499D9CD8007, 37CC2B12CFD3D4CB4295C7FA, ); name = utilities; sourceTree = ""; }; 2EDCD855F108DE8D7599C742 = {isa = PBXGroup; children = ( - D8A17ABC7C1ACF4BF8623CAA, - 73BFEF2D45963975C5BE189A, - 6A281AB66BF5E7A0C63625B0, - CBA9B1F6C0C63C93ACCF7864, + DC60B9DD7D58AF5115E6E77D, + 0399C83FFCC7CAC5B1A58E63, + B6605B3CCE34B5362E97AC55, + 33CBFEB5F3FE009018034328, 7630C889BDA939A6A2109BAE, - 735FF64A3D2801ADACD366AA, + 15C342AEE8864E35F6E73D57, + 4BBB6CBFD5E7F2FD6B2537D4, + 4AF0140AA4611A48B70E8824, 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, ); 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 = ( + 40DF1E7B792C9F49664FF148 = {isa = PBXGroup; children = ( 18ABDD9754AC6DFABC2BAB0C, 7F887FFD625CDAE17D22ED55, 5514CCFCE497B35F4A92F4B2, @@ -1314,6 +1839,7 @@ BE1897DD24C0D246E3A3CAFE, 6128AC2D8968E03358270E2C, 1A94132E3E360E82F17A6BC4, + 93D22E30CF61C961B6CE1733, 0DF6C35510888847D1E902F5, CA8A03AA754B6D2E50407614, 5BC3CDD41499BB93EE4C240C, @@ -1325,37 +1851,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 = ( + CEEC0365C0D2ADF1B791AE9B = {isa = PBXGroup; children = ( 231B63FE7F9001BA2B214DB4, C669D4478310A2EE6CB3C411, F6AC635E17C2745BA801256F, @@ -1373,81 +1869,61 @@ 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 = ( + B56B9CD883D778DF66DFA7E3 = {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 = ( - 3335CFAF02DFD22D3EFC65E6, - C73835DB991ED8F57E4C3C38, - 3984D3D7BA3FA045B9207F01, - 1251EFF2CF96BABFCB30EC84, - A60B20BF96635F55352A27EB, ); name = misc; sourceTree = ""; }; - E4C4E0D1707A131C7C46E17C = {isa = PBXGroup; children = ( - 1099CE26942DBEB321EE7FE2, - E22A8C6006C3BD972035B132, - 608B9F4FC2FB1CBE4E1C7016, - 36D7E127C3C67F84467259F5, - D272E78FA5F2DF6253D45E2D, - 30C8FD925A22D32A1636972C, - BA0CE984DED427DAB0BEFD5A, - 107EDBCEAAEFE09F5EED425A, - 927EDE14267F24C1529C908D, + D83E8FAD431572B9F6612A79 = {isa = PBXGroup; children = ( + FCB0A5982114DD8E9C3C48BC, + 0837E472178D483FA7AFEDFB, + 4CF34417FEEB19B3F86F6BF4, + 706E3D520DD80B051738227C, ); name = logging; sourceTree = ""; }; + CA1E59B5525CE60C454E69BF = {isa = PBXGroup; children = ( + 4F592D3805EBB5B55C41AFE5, + C6724F8B6CEB05AC9584BEEC, + 6ECFE741A2982E1B03C0F680, + BAB4AB07420F7DF1F29884B7, + 322ABD979A3A76315AD1EE5B, + 7E75A68F5AFF795C7D82FC14, + 3189E9672D8CDD691EE21D9C, + DCF492D1976FAA8E7CA19078, + CF784B2EB47D53C5A7CA824F, + C39BE441D12E81E42CD3EB58, ); name = maths; sourceTree = ""; }; + 59A29DE9D469B0448DA4E655 = {isa = PBXGroup; children = ( + B8D091C1997C32CDCE65DD2F, + A9FB6C224EB01F7400C82868, + 5459F433A2ADFF5E2EBDCC27, + 4012B9C674714A4133A940D3, + 9A80761AED6FC41F08BBA0F1, + EB1523A1496A3D747E3DC7E2, + B1A2C930457AC20DBF8E2654, + 8A7A1029D5A65165F9048006, + 6E069AC581AB4100841E16CF, + 74B72225635A9543000B3F2F, + 734A9A4B348961A5DBCC8F24, + 1872828183DA08AD0926E7B9, + F8E48C01C791BEFDDAA6A47C, + DE20225795996F2378ED6B3A, ); name = memory; sourceTree = ""; }; + 6AB9D99A249AE6D92D2101BE = {isa = PBXGroup; children = ( + 3335CFAF02DFD22D3EFC65E6, + C73835DB991ED8F57E4C3C38, + FF488C1A861B14233FBF06A6, + EADF9AEC764AEE1FAE545F5F, + 3984D3D7BA3FA045B9207F01, + 1251EFF2CF96BABFCB30EC84, + A60B20BF96635F55352A27EB, ); name = misc; sourceTree = ""; }; + 1318DD5F2CF29DB4BCBC14BB = {isa = PBXGroup; children = ( + 1099CE26942DBEB321EE7FE2, + E22A8C6006C3BD972035B132, + 608B9F4FC2FB1CBE4E1C7016, + 36D7E127C3C67F84467259F5, + 5FF4C78AF59BFBBB2596FC88, + D272E78FA5F2DF6253D45E2D, + 30C8FD925A22D32A1636972C, + BA0CE984DED427DAB0BEFD5A, + 107EDBCEAAEFE09F5EED425A, + 927EDE14267F24C1529C908D, 015E97C363F4CE0656327274, AF63D49442BE4F647F0810B4, C032B6A49B3CC72DABA691D0, @@ -1467,25 +1943,155 @@ E1E7DD4B2FE79F14F618121C, 874A74073D6A9F5604818314, C3B5B38EF696231652756D32, ); name = native; sourceTree = ""; }; + 209731ABEA199A0B7C2062C5 = {isa = PBXGroup; children = ( + EA18AC5E7FC18423FEC5BC3F, + 0DF061DB8912054E31DA9EB1, + 379D38DFAEB9CB4E9C647DDF, + A69017C73E1B1B4866239E86, + C1E2F61DC5117176388AFB09, + F549ECCF4D91FC7A30105297, + 3A51540ABD1A39C9E4F5B697, + 072EC0BD45686F0D876AFC9F, + CD117363B0E312AAFD54FA9C, + A14920DF295C8C1203169426, ); name = network; sourceTree = ""; }; + 91F3C2EC14C692FA6963F2F9 = {isa = PBXGroup; children = ( + 2B5BFA938F8B7DD4456242C8, + 33751A84F74C4C3F97292623, + 1C9B8192895AB862A5D3C536, + 3098350258468195A296EA8C, + F5668CB3DFA61B679030C25F, + 372D7F48A492CF7B74D52510, + 6FC77559711769BE4ED8EA11, + CF5806A75B14A0E95E7798F7, + 11B28D5E49EE0F1CD510DF98, + 391A3E779BFDA8887A2F2605, + 58353AA4D81CBB4870CAC783, + F5C623942E20C541382097E9, + 6536B63E757FD1C4B764F45A, + 5A6CF3D6421FB6C6831D5F09, + 1C4C7A65DA862F517E65B3A8, ); name = streams; sourceTree = ""; }; + 15DFFA89BAD15401A9C939BE = {isa = PBXGroup; children = ( + D391B80CE8529FDD2ABCD8BD, + 12759DCF0E74DF0087F10917, + 8966613EDBD1E8842919D315, + 511B63B3C1AA5E8513E36156, + 9952808BE67944CFEAF10309, + DDACD84EA35780FD14126B74, ); name = system; sourceTree = ""; }; + 17F06F282CB8735C7292D957 = {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 = ""; }; + C86FA497BD2F38DCE5065A01 = {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 = ""; }; + 3C10F7487E58D83158A6250D = {isa = PBXGroup; children = ( + D41D8C004C8FDC0E81659CA2, + FCCB7A9F2BD719E6DD4932EA, + 187E0AAD72DB1D84DEF6B292, + 76AB2B60A535BB5D29165639, + E015A474DBD77D3DF642824E, + CE2EAFD2AE799027E2F90866, ); name = time; sourceTree = ""; }; + A81AC48745AF86DB047EFB82 = {isa = PBXGroup; children = ( + 52E047F304B418DC34B7961D, + 68334EB40393BA4C380039F5, ); name = "unit_tests"; sourceTree = ""; }; + C6F809DDEF117CA114D9F0A7 = {isa = PBXGroup; children = ( + F7FA3CA65C2B371C902CA9EA, + 3703C159AC48FA542FD65398, + 846FADA9C00CCE031559F78D, + 9A846589DA28FB405D6D2638, ); name = xml; sourceTree = ""; }; + 540E19A95702DDDF125CDC20 = {isa = PBXGroup; children = ( + AB1EFDAF7F201156E54D12D9, + 8E1C0A6AC9FCDDFDC7DE181A, + 00ECCC1115492BD6A56BC7EB, + 55879EDE510FB9A744B532C8, + 2B8E9F5D2845DA70FCDB53F9, + A84ABAB3216C233E2A620784, + 018946646831EA648038DB11, + 7D98FC3519E44906974B5D8E, + 1990B4F952D6D6FD34A42DAF, + 46ADA128BDAF3D249C4C2ADC, + 918C6C05AED150190BA0BE6A, + C38D9CCEDE8B010E719D14A4, + CA7F069BCB70B5A181662023, + ADC65DB4F5BDE274C080A72F, + D7B6E90B242754FECA7331EA, + EC3F94900328655F7AF42C3E, + 0495C5383A27EE4FF0BFC456, + 4DAF18C41947245DC105DAC7, + 188782E6EDB1D9DA1287C41F, + FBA4895A92BDB363EA71BC8A, + C9ED3924027D282599EB093F, + A044AC1A4B54A32FA5BEE4D1, ); name = zlib; sourceTree = ""; }; + 16B3D560E2A3325CBF1C1537 = {isa = PBXGroup; children = ( + 540E19A95702DDDF125CDC20, + ED921D42FF3C5D33AEFF5609, + 3EBEC98CB93144341E24A75A, + F5A96B9783E559CB9FB56B93, + CE899E815EF3B83E6C1B201E, + EE29E33BC698ECA4ED4C44B0, + C0B631A5AAF29066C83CE231, ); name = zip; sourceTree = ""; }; DD2C3259350C638BB74A3E9F = {isa = PBXGroup; children = ( - 85070F0EA4003DA628B1FB6A, - E32EB5192889633A924D35BB, - 6165153DC247F59C97067473, - 0B893E4B301C2EBE6D3CB539, - A46C5C6B0E17B1D5D06C8F54, - D514B7A6E75D25FACF56FADA, - 104F327F1EA9D2BFDBCDBCB9, - 82F6C998685B31103C3C7A22, - 4CFFDBB0B6C11AB254E70717, - 97411B30DE597CB41AF7AF54, - 8B8439C6DB01320366F5A471, - 6EE131D8057595F54367C434, - 198FA737D895834EB8ABA389, - 91E323D03DBD810E4363A927, - 86E69E88160E050F5136E511, - CED2E4172C73F16DB80E95CA, - E4C4E0D1707A131C7C46E17C, - C42A7081D027F402FC05FB13, + 40DF1E7B792C9F49664FF148, + CEEC0365C0D2ADF1B791AE9B, + B56B9CD883D778DF66DFA7E3, + D83E8FAD431572B9F6612A79, + CA1E59B5525CE60C454E69BF, + 59A29DE9D469B0448DA4E655, + 6AB9D99A249AE6D92D2101BE, + 1318DD5F2CF29DB4BCBC14BB, + 209731ABEA199A0B7C2062C5, + 91F3C2EC14C692FA6963F2F9, + 15DFFA89BAD15401A9C939BE, + 17F06F282CB8735C7292D957, + C86FA497BD2F38DCE5065A01, + 3C10F7487E58D83158A6250D, + A81AC48745AF86DB047EFB82, + C6F809DDEF117CA114D9F0A7, + 16B3D560E2A3325CBF1C1537, + 4CD97BFA5E28DF37AF15115E, + BD370E88EF39ED6B4BB749D9, + F6D0C31C49847196CB56EF7C, BD370E88EF39ED6B4BB749D9, ); name = "juce_core"; sourceTree = ""; }; 3BB1AC65E57A6CEE2296BEBE = {isa = PBXGroup; children = ( 91FE73EDB273548E0968D631, @@ -1494,7 +2100,7 @@ 1E90D8399009E8D2C856956F, C16626378DA3B90BD06D0DE5, 92834AA91135F9049B69068A, ); name = encryption; sourceTree = ""; }; - F3A19E50630E45A6732EC607 = {isa = PBXGroup; children = ( + 14C64FCFCB3AC201FAC2452D = {isa = PBXGroup; children = ( 0E5951EA1BB854BC931E2CC7, 73000489A7AB9734676DB05A, B041A12D5871F839C6D4629E, @@ -1503,51 +2109,38 @@ 4B5F20CD00D4F941E076D7B0, ); name = hashing; sourceTree = ""; }; 6BBA0D0A6AC5DDC3063E9DE6 = {isa = PBXGroup; children = ( 3BB1AC65E57A6CEE2296BEBE, - F3A19E50630E45A6732EC607, - 4C8443CA0D7DEE719DD49A6F, + 14C64FCFCB3AC201FAC2452D, + E3B06A2E7B68EB444FF7D2CD, + B7272F573644C109E13069D3, + F9504B50D649AAEC9854241B, B7272F573644C109E13069D3, ); name = "juce_cryptography"; sourceTree = ""; }; - 58F213C91F0B708CBF80BB6D = {isa = PBXGroup; children = ( + CB79BE52023F45202B1A1604 = {isa = PBXGroup; children = ( + 80AD9BCB2D9E541E10E37FEA, + 854E72E69B0F71350172CBE3, + 9917873B77C0466DCF5C5D89, + FA905D2AD00F1A5ED9D55D36, ); name = "app_properties"; sourceTree = ""; }; + 56B208F64910321B45AA6867 = {isa = PBXGroup; children = ( + 0C2D7C6FB347CEA06CC25E41, + 10AC5DD4504B88617FA9B1B4, + 35B4ED2CB96C0BB28AA63805, ); name = undomanager; sourceTree = ""; }; + 0FFC07B1EC71D685C7B449EC = {isa = PBXGroup; children = ( + 757E6ED6016F88C0C0795D95, + 83B23AF218F71386842E4DC8, 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, - 4DBDEDC54B6167C1FC62CBE5, - D674C88C48D111FC0AC47921, - 39330F7494158748B164557E, + CB79BE52023F45202B1A1604, + 56B208F64910321B45AA6867, + 0FFC07B1EC71D685C7B449EC, + 5CC014B5EFC9351596A889CE, + 6452C600806134C93DD25002, + ECDE37F9E82739051FB71056, 6452C600806134C93DD25002, ); name = "juce_data_structures"; sourceTree = ""; }; - 2836DA2BAC23D0AD96D08C9C = {isa = PBXGroup; children = ( - EF9CFCD6A5BEAD685E992C75, - 341944AED03DEB1528002993, - 939172D714BB97C1064800F2, - E8194545A4653BDF2E411A4C, - 1654804CBC49AB8E665F826F, - F828B3646CF270C460B90D6B, - 167A331857E2C569DCD49503, - C421ACD0285059C56F480091, - E0B5382005ECBA0594C7A164, - 82E4DD23BFB7183EFE123CC8, - E932A4C9D9BE7DEF7E74A9D4, - C14B7273C672CB907A5DE7D9, - 38549FEE722FCC103E878E6C, ); name = messages; sourceTree = ""; }; - D7701FD68D887796626B6791 = {isa = PBXGroup; children = ( - C9639F414226108D7197DEEE, - D321B6288EA42F4A4F62EB14, - A4755DECD268F039C35E94C1, - E90BE75D1FF36FF48C43A8DC, ); name = timers; sourceTree = ""; }; - 9A613CBFCC30A257C88934D4 = {isa = PBXGroup; children = ( + 177E05B54EAFBB84786BEAEF = {isa = PBXGroup; children = ( 28C22C7AB995BA64F587B816, 6CCC43F0415F56D3EDA6465D, 19FFD96D0A6AE3AE2EC79FCD, @@ -1555,8 +2148,7 @@ D513D324C35DB0ABE2072669, B27A9D33D351006D133C2A4F, 741EA80E2D8B179A8CC3C486, - D5473FF02298634F76630131, - 3E9FE02DBB2F6B25D413A6D7, ); name = broadcasters; sourceTree = ""; }; + D5473FF02298634F76630131, ); name = broadcasters; sourceTree = ""; }; EB300AC888CF5699661F9982 = {isa = PBXGroup; children = ( 2152D28F9FCD5E968AB74A6D, 6AF0F56FACEF5F8F62CABABD, @@ -1564,7 +2156,21 @@ 9740A9390ECA80CAA92382D4, EB42562C9F767B17FB08FFBC, 3BD022046757BBBE78B6A5ED, ); name = interprocess; sourceTree = ""; }; - 88221FEF8945CA3549CFB159 = {isa = PBXGroup; children = ( + 66DD36BA0C1FE2A78699D7F4 = {isa = PBXGroup; children = ( + EF9CFCD6A5BEAD685E992C75, + 341944AED03DEB1528002993, + 939172D714BB97C1064800F2, + E8194545A4653BDF2E411A4C, + 1654804CBC49AB8E665F826F, + F828B3646CF270C460B90D6B, + 167A331857E2C569DCD49503, + C421ACD0285059C56F480091, + E0B5382005ECBA0594C7A164, + 82E4DD23BFB7183EFE123CC8, + E932A4C9D9BE7DEF7E74A9D4, + C14B7273C672CB907A5DE7D9, + 38549FEE722FCC103E878E6C, ); name = messages; sourceTree = ""; }; + 0867E2EDB61F89F39EA2AC85 = {isa = PBXGroup; children = ( 99D3EFE74EE88FF015266746, 3F784DB16865F0F35378137D, 736B86E18DB9D419C97CCEB8, @@ -1573,15 +2179,22 @@ 58CCC45E1087F0FB80AA707D, 34A9E5274015FD7BC26B5112, 7D3F0FBBE2ABC05D8D7D92EF, ); name = native; sourceTree = ""; }; + 4276A11B8C506A27B4A305CE = {isa = PBXGroup; children = ( + C9639F414226108D7197DEEE, + D321B6288EA42F4A4F62EB14, + A4755DECD268F039C35E94C1, + E90BE75D1FF36FF48C43A8DC, ); name = timers; sourceTree = ""; }; 59786260984C43CA0DC4ADB0 = {isa = PBXGroup; children = ( - 2836DA2BAC23D0AD96D08C9C, - D7701FD68D887796626B6791, - 9A613CBFCC30A257C88934D4, + 177E05B54EAFBB84786BEAEF, EB300AC888CF5699661F9982, - 88221FEF8945CA3549CFB159, - BA24C9237FA5362ADB1EA210, + 66DD36BA0C1FE2A78699D7F4, + 0867E2EDB61F89F39EA2AC85, + 4276A11B8C506A27B4A305CE, + D1CF4F33E1B5FF989ADCDEDF, + D62DD34152AB6896D6DFD7E7, + DD70F00A670265594A3FB409, D62DD34152AB6896D6DFD7E7, ); name = "juce_events"; sourceTree = ""; }; - 883417F217DD9F372BAC84B0 = {isa = PBXGroup; children = ( + 4E2ADE4B04CD81C725C7AF84 = {isa = PBXGroup; children = ( C179F19DB3001A25ECBD020D, 35A2079EEF244246A032D04C, 13E4203F31343185E43CA8E4, @@ -1591,7 +2204,7 @@ 5D4D4CA80024F87B12B5631C, 8061F879F04EB4A499E5C455, D7B5D9E6C0F17D46BF8FB23C, ); name = colour; sourceTree = ""; }; - 102C13B3D272F339995B2BD0 = {isa = PBXGroup; children = ( + A76196D89FA6CD02DE3A34B2 = {isa = PBXGroup; children = ( D2E92A504688F23903E72ACE, C3A8780130D9F4203C993F7A, D3EEEF7EDF8348E821168879, @@ -1599,20 +2212,26 @@ 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 = ""; }; - 290D491A7202DEF7A1BF0C1A = {isa = PBXGroup; children = ( + 041DE4E1BDF50EC1063E9985 = {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 = ""; }; + A8E9CD951CEFABA2C1471711 = {isa = PBXGroup; children = ( 711B4EBCE4858BA0604CBDF9, C089ABE5161EAA85FD1790E5, B0C39F8068FB9944D3F6A240, @@ -1628,30 +2247,105 @@ 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 = ( + 4E8A46F4C923FE7B1AA16703 = {isa = PBXGroup; children = ( + 0BC7F359FB19DD22725D9285, + 8123B83C9B6CFFD78665FDC8, + DC0B9CB15F33957FC0747036, + 72FB526A337028AB70381D37, + DB7776355E9B459E01738231, + 96ABA944DF943A3CD8ED8F27, + 89E92A4496CC22861287FA8E, + B53F1BF345CE944B7E903288, + F1B858A448D0BA6929408B97, + 2E7CCB6D177BD1D6435B7D96, + 8725D091027EA010DC61D7E9, + 36A495D919477C3CEC9974C4, + 38F68CF81F127420E40741AA, + 5795DA2211D668D7D6B0DD3B, + 8CFA7D0D77CB2381C95ECDC6, + 42BD39E2FC1C35E89006ECBA, + F73E61CD3ACE30495293E399, + 023B6151C1E0A0B27A80AA40, + 4E7C257C37BBBB524B199E43, + 5BEE1391B705F70388EA6710, + 07EE4B0EA428122DB5D44DAD, + BB8C3D7D3297D944BF1D3378, + 11811C299557877C3F4457E0, + 421CBBF29A0695C0AE0CBE4B, + 3E3C5617AA13ADD95C30F8A0, + C0DB20CA1507B18EC16C834D, + F5EAFB838EC3E83930E9C8F9, + B6D1F711C549A6F9A3D94EC2, + A2D49B0B4322D7EFDE84E0F8, + FB56059A51DF315A718B19D4, + 68D3E8C2C81235545E22F491, + 80FE9E532E1B0AF2BAAD0B94, + 6E8265EFF6F45CE593B055EA, + 5DAB6650E634392EDDB26532, + A76EF9784B441DAF047A253F, + 7D7F063A15DB4748924CF3EC, + C23085CE9B99B3E9FFB81496, + CD894CD630535DD0CA8FCE84, + A2E2CBD2A089BAF2C3AB05F5, + 2AF9D2BF0488A756B2860100, + F882EE91C466D0BDE77C6CD4, + A2BABDE29F2FA3A0E1EF2DBF, + 23F6BDB20AD4724353AC5FED, + 183AA5F36A47F440F056FD9A, + 75E146DCDDC75E6BD0513621, + 3B2B16AE0098A57940E99615, + C5552013663157C0445CFE68, + C854BE93136A4B9E74FD8AFE, + 24DFA1DAFD5F86DF3CF14CBE, + D783707AC81F40FE49620182, + 612792CA715BAB61B1D5001B, + F0DED4FA7FBC67DB4F3E9C51, + C70B097F473466F7BF840FFF, + A22DBD6F1C6AD0DB1CE085E2, + E0170FE4829E43ACF2E331CB, + AA8A4D411ABED1A44529857F, + 4E154B37C07D5FDB284A2286, + FE3E573101A1866699513A72, + F2317300350CF81B3EC383A5, + A61AC8D4E56A37573A0E0502, ); name = jpglib; sourceTree = ""; }; + E68854EEE2358D98A9B2CE19 = {isa = PBXGroup; children = ( + DDE29139D43A734436840D45, + 1B64E381FEF2B09017B16391, + E9C79ACA51AEFAD47615B42A, + F7BB750285C1A56C05A6B437, + 551B6B54148CEAC3C5A5192E, + F30FCD23E36D9A46A5A69AA3, + 9AD0E63EA728EFA10E465DA8, + 50991D930FCDC51400B5C76C, + 58EE5040D3199090195C0DB9, + 02E315DB5162B7EBEE46AB46, + 62CC988AB8FACCD1BC7A4F7B, + C8D0F412DB85F4A20CD69D41, + F95551AE1AD4CAE7488FA1D7, + A98C45530100BFCB68455751, + 7B8875A9092483426FCA44A6, + ACA8076810A5D5AAA6720022, + E54CE951CF94B54F57DA2AC3, + 841B2622BB3EA55BE06941C4, + 7EDB786A303E6F2454F432DA, + A212F7161C7C697F6226A5E9, + C3178DBF982BF53F9F7E9380, ); name = pnglib; sourceTree = ""; }; + 67A11A47F58E32B9E940C983 = {isa = PBXGroup; children = ( + 4E8A46F4C923FE7B1AA16703, + E68854EEE2358D98A9B2CE19, + 7A493F619E3F23E831414EDC, + 0F5B8E9B1B49FFBB4C5617B3, + 4BE069F5558C7202D5E40031, ); name = "image_formats"; sourceTree = ""; }; + 906A8A7D9CFFA3EFBF448149 = {isa = PBXGroup; children = ( + FD13300994464AA33BE6FA36, + B4F1CAD86080A0835A48574B, + E221C545F4A08B1422CC6708, + AFAA06FBE50194094AB9C51E, + BB969E05025ABE5B3BFA9430, + 10FAC3FED378E83BBD80220A, + B18BB150BC4CE04956F39A7D, + 417CA21A8E872609E8C54DEE, ); name = images; sourceTree = ""; }; + 3B46BF4599A33CB631A168D3 = {isa = PBXGroup; children = ( 692DA5BCD01D8FBCEEF636A5, 7CDDA85DCFA8A1F9C6B24B7F, 99D4ED39DFD051F1610CD8C7, @@ -1665,19 +2359,57 @@ 8C6C84652D446F0FA1C71637, 2F3C06EC8BD4A73922E98F96, 308216E3B6FF17A230848CC1, ); name = native; sourceTree = ""; }; + 656F63F7986D6F2E92ECAF5F = {isa = PBXGroup; children = ( + 54AAF0EC3599CBFD0E11ED62, + 3AA2C8F3CAEE9372B6CF1192, + C0265338871410F43211A1FE, ); name = placement; sourceTree = ""; }; D3B5173EBB01ED5DD0BE69AD = {isa = PBXGroup; children = ( - 883417F217DD9F372BAC84B0, - 102C13B3D272F339995B2BD0, - 41F41E7B47A4418300A1DC89, - 42F8376FD073A5859BB5A56A, - 290D491A7202DEF7A1BF0C1A, - 3255F09A8BDF99CC0A51FDD8, - EC17969AE9608E3DF9FD33E2, - 8FD25FCA435D1DE535A652CF, - 44A49C1C4BAAB269692DFEB0, - 5DE746778DA254E9908CDE7D, + 4E2ADE4B04CD81C725C7AF84, + A76196D89FA6CD02DE3A34B2, + 041DE4E1BDF50EC1063E9985, + 855AE475C1AA97972B1C2499, + A8E9CD951CEFABA2C1471711, + 67A11A47F58E32B9E940C983, + 906A8A7D9CFFA3EFBF448149, + 3B46BF4599A33CB631A168D3, + 656F63F7986D6F2E92ECAF5F, + 2BFB3614DD9C2CFD7D08B4D8, + A38AF6E0A21C86A2C6422BF9, + E1A9F79528C9F4D5695F16A2, A38AF6E0A21C86A2C6422BF9, ); name = "juce_graphics"; sourceTree = ""; }; - 037DABEE210A75BAFBFC835D = {isa = PBXGroup; children = ( + C4B2E2B9EF67B1DD4F41450E = {isa = PBXGroup; children = ( + 64306EC75358EFF4DE60F9BB, + F86E0D4727FD2F22EABE6AF3, ); name = application; sourceTree = ""; }; + 76B61A624A5441BB45161F80 = {isa = PBXGroup; children = ( + A6E0E0AD85AA368BFF7700A0, + F9B2244F5EFA1FFA722DA562, + F807CBC9ECF854D2887F359F, + B751AAE21DEEAB7B91615223, + 20317E175096480960EAFD9D, + 1AC30D6E05DD7231F63950C8, + F8F60A8C4A04BBF285A9C392, + AF6EDB5EBC864ACCD2DA9DA1, + 6BFC2ACB8A3A9E75007D8EE2, + DC21FC12D0B137714B0D6C17, + BB5F8B6F5F3E6AADB448DCB5, + 2660C199089DAEEC545A87A1, + 737C9ECE713EC9FD83C95BF7, + 1237FC2746459E7FB10CD5A7, + 671EC2D01567B7783C126897, + C21901C295DAC52328F5AD0F, + 97E3D56E1E5016E8069EB3F5, + 6886255CD3AB0E3FC87AE4C2, ); name = buttons; sourceTree = ""; }; + 1C9A6A21CF1782FBE6BF6B01 = {isa = PBXGroup; children = ( + 429E2ED654BEB8151CA60C37, + F758A3A014E70D7F75D889D1, + D7E7EA03B41E2DC2F13C0524, + 83FBB1FB818257BCAA788551, + EF2973B7FF13AAFFFA54BC65, + 230053FD586FBDFC91DDBABC, + 3675E748AF7B4196C2DAD7BB, + 25C611EE8D42AFBFEAE3A6EE, + 78E518127DE643A0FB14AF3F, ); name = commands; sourceTree = ""; }; + 2A3ADEA31B9E6E2F25F92431 = {isa = PBXGroup; children = ( 9F34629FD043A7752644BAC3, 166B96CEA26780E83A3D2C55, 80990CBB65DD8467C591CF89, @@ -1687,28 +2419,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 = ( + D158464E06EDB884A5913F53 = {isa = PBXGroup; children = ( + 91D109AC1431F65165EA4BCF, + 0434FC5DD82B500B48F35226, + 7B95F4D9C9E0D0D0F4A5BF70, + DD4F001525BF4622952CA920, + 6FDBE97B5987335D1ACC3DB0, + 1636051E376E809563E1A221, + ECC7D00DDD27E5BBC9B1D79C, + 1ECF230AF6B4AE00B255BAD8, + 39E319F5639C88E17094351F, + 310A2450E4BB1B0EB569E3CA, + 51BA3EA628114EC835077EA6, + 33ABA58B9622A2EA3BF11AF6, + 00DBD480B140A3C56A96A05B, + 6313B2FEEB1A0F214B31BF57, + 3480107E09BD85A65DFD1DC5, ); name = drawables; 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 = ""; }; + E536DAC630B4A209A14864E2 = {isa = PBXGroup; children = ( AC55867CE5015665152C1A29, 7DA52BDECC737E0E6F15C198, 049BBD21034D1AD714D6DEF7, @@ -1722,62 +2472,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 = ( + 6F34350B513E70784E083C81 = {isa = PBXGroup; children = ( CC8A51BAA9DFE6BF2E35F72E, BE4DB001303610874FB9A69C, 5E1AF694CF535FEF2C18118B, @@ -1814,72 +2509,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 = ( + 6B617C624457D2E8BA29C0BC = {isa = PBXGroup; children = ( E42A195B994219BE55CC23A8, 0A4DABB2172A1DA1F32B14F7, CF5C324AB10CDB215EE1B6EA, @@ -1888,48 +2518,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 = ( + D018CE101E6FC850A6C791FE = {isa = PBXGroup; children = ( + E62446DFC19EDB3E05FC0EBB, + DE6322CA9AF654B88402B5A7, + DAC3E4BED0E3F0EEEDE61C90, + 29F8A5279DF16CA6EDD7248B, + 1A7AF40B4A04B36A7D6BF905, + 398F1886CDD46561B2322507, ); name = menus; sourceTree = ""; }; + 46850D44F9FDB414D0612045 = {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 = ""; }; + E086EFAA2CDC56653F15B2FA = {isa = PBXGroup; children = ( 0E9105C4A43935DFA8D996AD, 8A663A1F5392E050AEBF078B, 66CC728AA541D35F256EA0DF, @@ -1946,27 +2568,107 @@ 344CF7942E5497FB9BA6F8AB, 0D2A7858B11DFF41AE0F0D18, 5A979CD34146925D0E963D9B, ); name = native; sourceTree = ""; }; + C49003BCBE94A2C98C11E00D = {isa = PBXGroup; children = ( + 5D9B19FA05348ED861D60B2B, + 9182AAD1041F6B404F91F6F1, + 9F89171E7E2CBBB1FBD3234C, + 495EC26D96D8C4886E473082, + 054501731F7A59C6FC38062D, + 9E8230460D5C4094B17679B1, + 22F0D648C76539066CB11C30, + 7DAF56C8078AE240CA905124, + 1F1711EBA6670C3F67AC4FE9, + 5B140E4A2581EB1EABAC7AC1, + BB577DFECBF45C9FA42A79A5, + 6FB08AE94E95CEAAC20AFB45, + 404EE755EF8551C1AFBF3E7D, + DB851D18363A7239C962FCC4, ); name = positioning; sourceTree = ""; }; + 687FB288EBCBC42FD1910056 = {isa = PBXGroup; children = ( + 8EE08328D3A165E0B9041EC3, + BB877598B32E54D42661CFF3, + C8DABAB08C149DED48D7F30C, + F02702BECFB98B36CED9D3F9, + E037994F56F204928A1A1D13, + 26645DB6BE9B468CC71C17DB, + 0655CEC15D94DC7F61DAD918, + 92EC9D7739D7B8886EC93C87, + 5019F7672EF120300ABD94CF, + BE72EBC044887D80F0FFF704, + 349D12CFA076F3039B4508DE, + E77B6509E1413F886CE8D329, + 6AEEB71A2EE45079D97C06DD, + CEDC8043F4EF1052131BFF34, ); name = properties; sourceTree = ""; }; + 7E44FB3B6216A277E4F6ADCB = {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 = ""; }; + 81EBA7A5E943C2D9D20D8BD4 = {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, + C4B2E2B9EF67B1DD4F41450E, + 76B61A624A5441BB45161F80, + 1C9A6A21CF1782FBE6BF6B01, + 2A3ADEA31B9E6E2F25F92431, + D158464E06EDB884A5913F53, E294C557CB0FA7B8207EAB2E, - 0F9714EF03A38E8080D0F597, - 0EAD310662D1CC1004B91B06, - E507233B0553375AD8EB8B21, - A351A48405D200E178F608F2, - E0A4E9FE37519AE2C243CE07, + E536DAC630B4A209A14864E2, + 6F34350B513E70784E083C81, + 6B617C624457D2E8BA29C0BC, + D018CE101E6FC850A6C791FE, + 46850D44F9FDB414D0612045, + 5B4D18B7C6FA8E4F58235C71, + E086EFAA2CDC56653F15B2FA, + C49003BCBE94A2C98C11E00D, + 687FB288EBCBC42FD1910056, + 7E44FB3B6216A277E4F6ADCB, + 81EBA7A5E943C2D9D20D8BD4, + 19022CEBDF375F24BAB0A8E7, + DFA67ED6B9EAD4001C945694, + FB954DE9B8BEC80A9B7E33DD, DFA67ED6B9EAD4001C945694, ); name = "juce_gui_basics"; sourceTree = ""; }; - 02867D2CFF6AF92318C75ADF = {isa = PBXGroup; children = ( + A94202C4E9F9FAC07A6C1E62 = {isa = PBXGroup; children = ( 2967E486C3DDCCE10E378F76, D70B910003F47D2B45347B66, D3118C490198B88FB09034EC, @@ -1979,14 +2681,14 @@ 577AED3F8F27D09BC90023D5, 9E4C67EE120E7FE1F994CFB0, C7378A5929BBDB1A45393F8A, ); name = "code_editor"; sourceTree = ""; }; - 871512CBB71329888BB3ED1F = {isa = PBXGroup; children = ( + 52247019B7301E3CD4577CA1 = {isa = PBXGroup; children = ( 384275FD445BE4D560D33CEB, 28CB7032FD0E6947E62EB8DB, ); name = documents; sourceTree = ""; }; - 60846A465EC1438C69614BF9 = {isa = PBXGroup; children = ( + 5956E0F117407BD87F27B5BB = {isa = PBXGroup; children = ( EE68D617C21D6400FFDC08E3, FD61CCFB4E650BDE5D74106F, 6408C07642D68B3E4BB0EE3A, ); name = embedding; sourceTree = ""; }; - 3133400B2ADD913653A0C9AD = {isa = PBXGroup; children = ( + 28FBA3CB18C4525209481A8F = {isa = PBXGroup; children = ( D4936C5F17964AA78F13A0C4, D2BF2B664333C5D3D6DDEC5E, 758818D3B814CBEC6F3508E0, @@ -2007,7 +2709,7 @@ 810861F40D8A9609023B4EE8, 636625628E24C24E6124ED7C, 08D82B3EB51F3BD62279463D, ); name = misc; sourceTree = ""; }; - 6E310FB1007C16CA458BFB85 = {isa = PBXGroup; children = ( + D6F369264AE05CB92E7AB0CD = {isa = PBXGroup; children = ( 91B9D1808D14F59C06F25390, 9D71A93E47412CB9B4C037F9, 3DF901DCC1FB9BE5E6889989, @@ -2021,14 +2723,29 @@ 8BDAB8857AF0B828A573275C, C0EEFC94B544DFCC9B2DD484, ); name = native; sourceTree = ""; }; B7FA7716ED447B4182A97DE7 = {isa = PBXGroup; children = ( - 02867D2CFF6AF92318C75ADF, - 871512CBB71329888BB3ED1F, - 60846A465EC1438C69614BF9, - 3133400B2ADD913653A0C9AD, - 6E310FB1007C16CA458BFB85, - FE6F1831CD44A09554D4B2DD, + A94202C4E9F9FAC07A6C1E62, + 52247019B7301E3CD4577CA1, + 5956E0F117407BD87F27B5BB, + 28FBA3CB18C4525209481A8F, + D6F369264AE05CB92E7AB0CD, + DA0B619799B7BEFA763E4B13, + EF055DD10D73DD84E657AB0B, + 6E61CA0F4811593A6F0AE1F1, 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 = ""; }; + 805AA6EBDF0FA9E0BBBCAFE1 = {isa = PBXGroup; children = ( FA8D7F0CB75953BD21B37929, FF7279CB94E4A416AEEF8AA3, 2134DC1B33511F87D54B2D8A, @@ -2046,47 +2763,38 @@ 067F87AAA6D0615FE189F604, 8A222E11CA12CEE75EBFAC1B, B24F5C6EC49FA1CBE3E9F76A, ); name = opengl; sourceTree = ""; }; - CA000B43E598BF0D6AFD821A = {isa = PBXGroup; children = ( - E0267B24813297C007C7852D, - D1F269BE5049E33E4581DDB3, - 9517F9EEE18C1038E1497FA1, - B37A4AA60856836984FD7F08, ); name = geometry; sourceTree = ""; }; - E674248F2AC7D0CA62A8166A = {isa = PBXGroup; children = ( + 90C41CE0FF3E4DEFFE393781 = {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, + 805AA6EBDF0FA9E0BBBCAFE1, + 90C41CE0FF3E4DEFFE393781, + F3FC0F1212CEA1EE597AF0DC, + C1700341DAE67966E3055BF3, + 819DC25DA6B0ACD4725A8046, C1700341DAE67966E3055BF3, ); name = "juce_opengl"; sourceTree = ""; }; - F7B68CB03FA6D40015D93B91 = {isa = PBXGroup; children = ( - F507AE61AF55B2101383B1E1, - 400052B3427A286681E0EBFA, ); name = playback; sourceTree = ""; }; DC7CF954F2588973470AC4C5 = {isa = PBXGroup; children = ( 0403E9194FBB5396D56C0D17, 7984D7F0AB41B09B58929F22, ); name = capture; sourceTree = ""; }; - 813230EEA94EA8D57F0C35A3 = {isa = PBXGroup; children = ( + 58299D75B264A318500A85C5 = {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, + 58299D75B264A318500A85C5, + 59439B7392F59EED8BA3D88C, + 4D58300E537B5C80C05C6EC3, + AD6549B00D7A187A4D2AEE40, + 5DC42627E6F5518217529A9F, AD6549B00D7A187A4D2AEE40, ); name = "juce_video"; sourceTree = ""; }; C86CB082D2D4B80591868D78 = {isa = PBXGroup; children = ( 9F77553445814637D3E8C676, @@ -2105,55 +2813,34 @@ 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, + E13512F9451169A200CA63BF, + BF909DFBC9B899C6119F556B, ); name = Resources; sourceTree = ""; }; 00DE399BF0EF1D2BB5C99DF6 = {isa = PBXGroup; children = ( 71B73129FAEF3B7CB3FF6993, 9D6BD8DE6FC16E28FE2169F0, @@ -2170,72 +2857,382 @@ 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", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + 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 -lGainPlugIn"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.GainPlugIn; + SDKROOT_ppc = macosx10.5; + 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", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + 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 -lGainPlugIn"; + 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/"; + 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 -lGainPlugIn"; + 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/"; + 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 -lGainPlugIn"; + 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", "../../../../../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-AU.plist; INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\""); 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 -lGainPlugIn"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.GainPlugIn; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Debug; }; - A1C396C5187D6F9F4B486EDD = {isa = XCBuildConfiguration; buildSettings = { + 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", "../../../../../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-AU.plist; INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Release\""); 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 -lGainPlugIn"; 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/"; + 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 -lGainPlugIn"; + 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/"; + 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 -lGainPlugIn"; + 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; + 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)"); + INSTALL_PATH = "@executable_path/../Frameworks"; + 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; + 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; + 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)"); + INSTALL_PATH = "@executable_path/../Frameworks"; + 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; + SDKROOT_ppc = macosx10.5; }; name = Release; }; 12107CEF96782BFB9B82B7AC = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2264,63 +3261,85 @@ 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + BBE761975F619DAA1B4D0F57 = {isa = PBXNativeTarget; buildConfigurationList = BFCD4A7D0A1F6DB0A953047C; buildPhases = ( + AAA7EBE70E20807CF2102118, + 006D5D33A2A2D68C9354B32D, + 911E05FA69C1B8015EA96560, ); buildRules = ( ); dependencies = ( + 88ABDE275ED6C6AF05876C8F, ); name = "GainPlugIn (VST)"; productName = GainPlugIn; productReference = 169146CE0C9730602B3D31BD; 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + 8777AC1501FECCF360363C10 = {isa = PBXNativeTarget; buildConfigurationList = 391979B4660EDD6E009E0AD5; buildPhases = ( + F779790510354BCC375B6866, + 961B720A39DE7A36993450FB, + B97CFDFCFBB3263FBE4CE9DA, ); buildRules = ( ); dependencies = ( + 88ABDE275ED6C6AF05876C8F, ); name = "GainPlugIn (VST3)"; productName = GainPlugIn; productReference = E5C2175FF96CED1519F2B7D6; 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; }; + 7CD5DF20930E5FD4B8978F68 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 27BAA78181CB9EA282A6AC64, + 7EFB529B9EA74539375A96E0, ); runOnlyForDeploymentPostprocessing = 0; }; + 0466EDF982628A74C5EF25A0 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( FA171B2FEC24575B5157EB15, 46AB8BC7FA7E34563E5F005C, 9F2D7A648AEF91BE4D602EAF, @@ -2335,14 +3354,60 @@ 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 ); }; + 95B232D53C8384ECDA8C519B = {isa = PBXNativeTarget; buildConfigurationList = BC01B854A2B1C169532B3C40; buildPhases = ( + A8BFD81EACAF4420A2D9C7E7, + 7CD5DF20930E5FD4B8978F68, + 0466EDF982628A74C5EF25A0, ); buildRules = ( ); dependencies = ( + 88ABDE275ED6C6AF05876C8F, ); name = "GainPlugIn (AU)"; productName = GainPlugIn; productReference = F8D93BA03DB14514E2F9D007; 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + AD71869D70E2F5CD06AF8831 = {isa = PBXNativeTarget; buildConfigurationList = 4BDDEC55EDB7DC56497AC19A; buildPhases = ( + 87D9874ECD12A1F70BE4B01C, + 5ED60E79CB2B11C45637CA8A, + B4837EEA7868B856A37F43BD, ); buildRules = ( ); dependencies = ( + 88ABDE275ED6C6AF05876C8F, ); name = "GainPlugIn (AAX)"; productName = GainPlugIn; productReference = C43A527A45129CF421296BD0; 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; }; + EF7E12AA943CABF4C9ACE9FC = {isa = PBXNativeTarget; buildConfigurationList = 2D1D1BFA76D5FF752D06187F; buildPhases = ( + E57E58AA3A8632B697CF894F, ); buildRules = ( ); dependencies = ( ); name = "GainPlugIn (Shared Code)"; productName = GainPlugIn; productReference = 074F1E0FAFBD4B127B869BC2; productType = "com.apple.product-type.library.static"; }; + 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 00000000..c161b584 --- /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-AU.plist b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-AU.plist new file mode 100644 index 00000000..c24f1255 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-AU.plist @@ -0,0 +1,48 @@ + + + + + + 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 + + AudioComponents + + + name + ROLI Ltd.: GainPlugIn + description + GainPlugIn + factoryFunction + GainPlugInAUFactory + manufacturer + ROLI + type + aufx + subtype + Gain + version + 65536 + + + + 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 00000000..07cc33de --- /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 00000000..66596eeb --- /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 00000000..66596eeb --- /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/MacOSX/Info.plist b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info.plist deleted file mode 100644 index 1625f561..00000000 --- a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.ROLI.GainPlugIn - CFBundleName - GainPlugIn - CFBundlePackageType - TDMw - CFBundleSignature - PTul - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - AudioComponents - - - name - ROLI Ltd.: GainPlugIn - description - GainPlugIn - factoryFunction - GainPlugInAUFactory - manufacturer - ROLI - type - aufx - subtype - Gain - version - 65536 - - - - diff --git a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj index d916b12c..c1587316 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 @@ -80,7 +80,6 @@ MachineX86 false true - /FORCE:multiple %(AdditionalOptions) true @@ -100,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 @@ -126,7 +125,6 @@ true true true - /FORCE:multiple %(AdditionalOptions) true @@ -144,6 +142,18 @@ true + + true + + + true + + + true + + + true + true @@ -159,13 +169,34 @@ true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -192,6 +223,12 @@ true + + true + + + true + true @@ -207,15 +244,6 @@ true - - true - - - true - - - true - true @@ -264,907 +292,1407 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + 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 - + true + StdCall - + true + StdCall - + true + StdCall - + true + StdCall - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1203,6 +1731,9 @@ true + + true + true @@ -1230,6 +1761,9 @@ true + + true + true @@ -1245,53 +1779,53 @@ true - - - - - - - - - - - - - - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - - + + true + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + @@ -1303,6 +1837,9 @@ + + + @@ -1310,20 +1847,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1333,9 +1941,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1345,6 +2000,16 @@ + + + + + + + + + + @@ -1355,15 +2020,6 @@ - - - - - - - - - @@ -1374,40 +2030,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1415,6 +2038,7 @@ + @@ -1423,25 +2047,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1451,6 +2056,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1464,30 +2103,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1496,14 +2168,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1513,20 +2196,12 @@ - - - - - - - - - - - + + + @@ -1537,10 +2212,15 @@ - - - - + + + + + + + + + @@ -1551,39 +2231,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1592,33 +2307,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1638,15 +2326,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1654,13 +2356,6 @@ - - - - - - - @@ -1668,31 +2363,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1718,20 +2413,11 @@ - - - - - - - - - + - @@ -1739,30 +2425,31 @@ + + + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + diff --git a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj.filters b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj.filters index baeca9af..47104e01 100644 --- a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj.filters +++ b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj.filters @@ -17,11 +17,14 @@ {A33A1E1D-AC2C-6382-8681-48B0FC374C60} + + {11A75801-B027-40BD-4993-023023ACCBF7} + {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} - - {11A75801-B027-40BD-4993-023023ACCBF7} + + {8C868E51-156D-A916-047C-0D9EA1393675} {EF2CAB40-0432-429B-C517-86ADF136BB8A} @@ -32,63 +35,111 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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} + + {2FB30532-4EF3-EFA3-E57C-F7DDE9DB1297} + {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} @@ -98,8 +149,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} @@ -107,17 +167,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -125,29 +179,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -161,33 +215,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} @@ -197,80 +251,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -293,30 +353,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} @@ -331,6 +391,18 @@ 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 @@ -346,14 +418,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -379,11 +472,20 @@ Juce Modules\juce_audio_basics\synthesisers - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_basics - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io Juce Modules\juce_audio_devices\audio_io @@ -394,15 +496,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 @@ -457,26 +550,134 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -505,38 +706,185 @@ 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_formats + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_plugin_client\AAX + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + Juce Modules\juce_audio_plugin_client\AU + + Juce Modules\juce_audio_plugin_client\AU + + + 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\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\AAX + + Juce Modules\juce_audio_plugin_client\VST3 - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client Juce Modules\juce_audio_processors\format @@ -556,6 +904,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,44 +937,11 @@ 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_audio_processors - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_processors Juce Modules\juce_core\containers @@ -625,38 +958,11 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - 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 @@ -676,41 +982,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -718,36 +994,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -760,6 +1024,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -817,152 +1084,290 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_core\streams - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\system - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\text - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\text - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\text - - Juce Modules\juce_events\timers + + Juce Modules\juce_core\text - - Juce Modules\juce_events\timers + + Juce Modules\juce_core\text - - Juce Modules\juce_events\broadcasters + + Juce Modules\juce_core\text - - Juce Modules\juce_events\broadcasters + + Juce Modules\juce_core\text - - Juce Modules\juce_events\broadcasters + + Juce Modules\juce_core\text - - Juce Modules\juce_events\interprocess + + Juce Modules\juce_core\text - - Juce Modules\juce_events\interprocess + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\interprocess + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\time - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\time - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\time - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\unit_tests - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\xml - - Juce Modules\juce_graphics\contexts + + Juce Modules\juce_core\xml - - Juce Modules\juce_graphics\contexts + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\contexts + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_core + + + 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_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\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures + + + 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 + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + 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_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -982,11 +1387,224 @@ 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\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -1018,128 +1636,137 @@ Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -1192,32 +1819,98 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\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 @@ -1240,30 +1933,6 @@ 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 @@ -1285,113 +1954,77 @@ 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\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_extra\code_editor @@ -1471,6 +2104,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1498,6 +2137,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1519,70 +2164,61 @@ Juce Modules\juce_video\native - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code + + Juce Modules\juce_video - - Juce Library Code + + Juce Modules\juce_video - + 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 @@ -1590,137 +2226,395 @@ Juce Modules\juce_audio_basics\buffers - - 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_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + + + 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\native + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_cd + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_cd + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\native + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1749,15 +2643,156 @@ 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_formats + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + 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 @@ -1785,6 +2820,36 @@ Juce Modules\juce_audio_plugin_client + + 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 @@ -1815,33 +2880,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 @@ -1872,50 +2910,95 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_processors + + + 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\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1935,6 +3018,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1974,194 +3060,194 @@ 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2169,50 +3255,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2238,14 +3324,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2253,15 +3339,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 @@ -2289,39 +3408,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\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2331,6 +3417,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2361,17 +3456,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,50 +3513,137 @@ Juce Modules\juce_graphics\geometry + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + Juce Modules\juce_graphics\placement Juce Modules\juce_graphics\placement - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics + + 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,44 +3660,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2526,87 +3741,6 @@ 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 @@ -2664,32 +3798,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2712,27 +3888,6 @@ 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 @@ -2754,80 +3909,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2904,32 +4059,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -2943,9 +4074,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -2967,17 +4095,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + Juce Modules\juce_opengl + + 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 Juce Modules\juce_video @@ -2990,50 +4154,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_opengl + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Library Code + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/PlugInSamples/GainPlugIn/GainPlugIn.jucer b/examples/PlugInSamples/GainPlugIn/GainPlugIn.jucer index 7a5df576..fc250e77 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.0.2" - pluginIsMidiEffectPlugin="0"> + pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.2.1" + pluginIsMidiEffectPlugin="0" buildAUv3="0"> - + diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/AppConfig.h index a6eae974..fb02c044 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 @@ -258,9 +270,6 @@ #ifndef JucePlugin_IsMidiEffect #define JucePlugin_IsMidiEffect 0 #endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #define JucePlugin_SilenceInProducesSilenceOut 1 -#endif #ifndef JucePlugin_EditorRequiresKeyboardFocus #define JucePlugin_EditorRequiresKeyboardFocus 0 #endif diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/JuceHeader.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/JuceHeader.h index 92a80a5d..18f258d5 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..c599b875 --- /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 00000000..d4b8c311 --- /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 00000000..a4fdf7f3 --- /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 00000000..175b3004 --- /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 00000000..0ac2b2f5 --- /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 00000000..29d48f3f --- /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 00000000..2da08c6d --- /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 00000000..72a8426c --- /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 00000000..6064f99d --- /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 00000000..5c5509ab --- /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 00000000..56af9aeb --- /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 00000000..d3b6529a --- /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 00000000..c35394b4 --- /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 00000000..8e2e5cde --- /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 00000000..ee2f414e --- /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 00000000..183f61b2 --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 39e1aa14..00000000 --- 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 9069e653..00000000 --- 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 4270ffa1..00000000 --- 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 57abba64..00000000 --- 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 48c0bf08..00000000 --- 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 3c400000..00000000 --- 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 b3df8133..00000000 --- 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 e815ff2c..00000000 --- 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 88f8bafd..00000000 --- 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 0c5c6902..00000000 --- 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 7fa455d6..00000000 --- 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 11866a12..00000000 --- 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 f156f5c6..00000000 --- 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 6b5e7433..00000000 --- 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 0f41ec7a..51d9c3af 100644 --- a/examples/PlugInSamples/GainPlugIn/Source/GainProcessor.cpp +++ b/examples/PlugInSamples/GainPlugIn/Source/GainProcessor.cpp @@ -1,9 +1,23 @@ /* ============================================================================== - GainProcessor.cpp - Created: 23 Nov 2015 3:08:33pm - Author: Fabian Renn + 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. ============================================================================== */ @@ -22,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 @@ -43,7 +64,6 @@ public: const String getName() const override { return "Gain PlugIn"; } bool acceptsMidi() const override { return false; } bool producesMidi() const override { return false; } - bool silenceInProducesSilenceOut() const override { return true; } double getTailLengthSeconds() const override { return 0; } //============================================================================== @@ -61,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()); } //============================================================================== @@ -71,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)) @@ -84,6 +109,8 @@ private: //============================================================================== AudioParameterFloat* gain; + enum { kVST2MaxChannels = 16 }; + //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (GainProcessor) }; diff --git a/examples/PlugInSamples/GenericEditor.h b/examples/PlugInSamples/GenericEditor.h index 9b050ec8..9693cc30 100644 --- a/examples/PlugInSamples/GenericEditor.h +++ b/examples/PlugInSamples/GenericEditor.h @@ -1,12 +1,26 @@ /* - ============================================================================== + ============================================================================== - GenericEditor.h - Created: 23 Nov 2015 3:08:33pm - Author: Fabian Renn + 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 GenericEditor : public AudioProcessorEditor, public SliderListener, @@ -81,13 +95,23 @@ public: g.fillAll (Colours::white); } + //============================================================================== void sliderValueChanged (Slider* slider) override { - const OwnedArray& params = getAudioProcessor()->getParameters(); + if (AudioProcessorParameter* param = getParameterForSlider (slider)) + param->setValueNotifyingHost ((float) slider->getValue()); + } - int paramIndex = paramSliders.indexOf (slider); - if (paramIndex >= 0 && paramIndex < params.size()) - params[paramIndex]->setValueNotifyingHost ((float) slider->getValue()); + void sliderDragStarted (Slider* slider) override + { + if (AudioProcessorParameter* param = getParameterForSlider (slider)) + param->beginChangeGesture(); + } + + void sliderDragEnded (Slider* slider) override + { + if (AudioProcessorParameter* param = getParameterForSlider (slider)) + param->endChangeGesture(); } private: @@ -104,6 +128,12 @@ private: } } + AudioProcessorParameter* getParameterForSlider (Slider* slider) + { + const OwnedArray& params = getAudioProcessor()->getParameters(); + return params[paramSliders.indexOf (slider)]; + } + Label noParameterLabel; OwnedArray paramSliders; OwnedArray - - - - - + + + + + + + + + + + + + + + + + @@ -1304,6 +1838,9 @@ + + + @@ -1311,20 +1848,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1334,9 +1942,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1346,6 +2001,16 @@ + + + + + + + + + + @@ -1356,15 +2021,6 @@ - - - - - - - - - @@ -1375,40 +2031,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1416,6 +2039,7 @@ + @@ -1424,25 +2048,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1452,6 +2057,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1465,30 +2104,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1497,14 +2169,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1514,20 +2197,12 @@ - - - - - - - - - - - + + + @@ -1538,10 +2213,15 @@ - - - - + + + + + + + + + @@ -1552,39 +2232,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1593,33 +2308,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1639,15 +2327,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1655,13 +2357,6 @@ - - - - - - - @@ -1669,31 +2364,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1719,20 +2414,11 @@ - - - - - - - - - + - @@ -1740,10 +2426,22 @@ + + + + + + + + + + + + - + @@ -1751,21 +2449,10 @@ - - - - - - - - - - - - - - - + + + + diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj.filters b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj.filters index 2a2e2061..1982620a 100644 --- a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj.filters +++ b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj.filters @@ -20,11 +20,14 @@ {A33A1E1D-AC2C-6382-8681-48B0FC374C60} + + {11A75801-B027-40BD-4993-023023ACCBF7} + {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} - - {11A75801-B027-40BD-4993-023023ACCBF7} + + {8C868E51-156D-A916-047C-0D9EA1393675} {EF2CAB40-0432-429B-C517-86ADF136BB8A} @@ -35,63 +38,111 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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} + + {2FB30532-4EF3-EFA3-E57C-F7DDE9DB1297} + {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 +152,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 +170,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -128,29 +182,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -164,33 +218,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,80 +254,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -296,30 +356,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} @@ -334,6 +394,18 @@ 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 @@ -349,14 +421,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -382,11 +475,20 @@ Juce Modules\juce_audio_basics\synthesisers - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_basics - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io Juce Modules\juce_audio_devices\audio_io @@ -397,15 +499,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 @@ -460,26 +553,134 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -508,38 +709,185 @@ 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_formats + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_plugin_client\AAX + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + Juce Modules\juce_audio_plugin_client\AU + + Juce Modules\juce_audio_plugin_client\AU + + + 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\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\AAX + + Juce Modules\juce_audio_plugin_client\VST3 - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client Juce Modules\juce_audio_processors\format @@ -559,6 +907,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,44 +940,11 @@ 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_audio_processors - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_processors Juce Modules\juce_core\containers @@ -628,38 +961,11 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - 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 @@ -679,41 +985,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -721,36 +997,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -763,6 +1027,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -820,152 +1087,290 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_core\streams - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\system - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\text - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\text - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\text - - Juce Modules\juce_events\timers + + Juce Modules\juce_core\text - - Juce Modules\juce_events\timers + + Juce Modules\juce_core\text - - Juce Modules\juce_events\broadcasters + + Juce Modules\juce_core\text - - Juce Modules\juce_events\broadcasters + + Juce Modules\juce_core\text - - Juce Modules\juce_events\broadcasters + + Juce Modules\juce_core\text - - Juce Modules\juce_events\interprocess + + Juce Modules\juce_core\text - - Juce Modules\juce_events\interprocess + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\interprocess + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\time - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\time - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\time - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\unit_tests - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\xml - - Juce Modules\juce_graphics\contexts + + Juce Modules\juce_core\xml - - Juce Modules\juce_graphics\contexts + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\contexts + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_core + + + 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_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\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures + + + 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 + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + 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_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -985,11 +1390,224 @@ 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\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -1021,128 +1639,137 @@ Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -1195,32 +1822,98 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\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 @@ -1243,30 +1936,6 @@ 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 @@ -1288,113 +1957,77 @@ 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\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics + + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_extra\code_editor @@ -1474,6 +2107,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1501,6 +2140,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1522,73 +2167,64 @@ Juce Modules\juce_video\native - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code + + Juce Modules\juce_video - - Juce Library Code + + Juce Modules\juce_video - + 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 @@ -1596,137 +2232,395 @@ Juce Modules\juce_audio_basics\buffers - - 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_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + + + 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\native + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_cd + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_cd + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\native + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1755,15 +2649,156 @@ 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_formats + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + 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 @@ -1791,6 +2826,36 @@ Juce Modules\juce_audio_plugin_client + + 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 @@ -1821,33 +2886,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 @@ -1878,50 +2916,95 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_processors + + + 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\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1941,6 +3024,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1980,194 +3066,194 @@ 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2175,50 +3261,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2244,14 +3330,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2259,15 +3345,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 @@ -2295,39 +3414,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\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2337,6 +3423,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2367,17 +3462,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 @@ -2409,50 +3519,137 @@ Juce Modules\juce_graphics\geometry + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + Juce Modules\juce_graphics\placement Juce Modules\juce_graphics\placement - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics + + 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 @@ -2469,44 +3666,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2532,87 +3747,6 @@ 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 @@ -2670,32 +3804,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2718,27 +3894,6 @@ 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 @@ -2760,80 +3915,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2910,32 +4065,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -2949,9 +4080,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -2973,17 +4101,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + Juce Modules\juce_opengl + + 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 Juce Modules\juce_video @@ -3002,50 +4166,17 @@ 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_audio_formats\codecs\flac - - Juce Modules\juce_opengl + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Library Code + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/AppConfig.h index 0a024fab..f728486e 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 @@ -258,9 +270,6 @@ #ifndef JucePlugin_IsMidiEffect #define JucePlugin_IsMidiEffect 0 #endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #define JucePlugin_SilenceInProducesSilenceOut 0 -#endif #ifndef JucePlugin_EditorRequiresKeyboardFocus #define JucePlugin_EditorRequiresKeyboardFocus 0 #endif diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/JuceHeader.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/JuceHeader.h index 10f738f5..6eafb527 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..c599b875 --- /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 00000000..d4b8c311 --- /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 00000000..a4fdf7f3 --- /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 00000000..175b3004 --- /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 00000000..0ac2b2f5 --- /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 00000000..29d48f3f --- /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 00000000..2da08c6d --- /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 00000000..72a8426c --- /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 00000000..6064f99d --- /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 00000000..5c5509ab --- /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 00000000..56af9aeb --- /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 00000000..d3b6529a --- /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 00000000..c35394b4 --- /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 00000000..8e2e5cde --- /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 00000000..ee2f414e --- /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 00000000..183f61b2 --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 39e1aa14..00000000 --- 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 9069e653..00000000 --- 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 4270ffa1..00000000 --- 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 57abba64..00000000 --- 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 48c0bf08..00000000 --- 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 3c400000..00000000 --- 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 b3df8133..00000000 --- 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 e815ff2c..00000000 --- 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 88f8bafd..00000000 --- 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 0c5c6902..00000000 --- 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 7fa455d6..00000000 --- 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 11866a12..00000000 --- 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 f156f5c6..00000000 --- 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 6b5e7433..00000000 --- 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 e49d845a..6c4bd90d 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.0.2" companyName="ROLI Ltd." companyWebsite="www.roli.com" - companyEmail="info@juce.com" pluginIsMidiEffectPlugin="0"> + jucerVersion="4.2.1" 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 85824593..bfc1d7e2 100644 --- a/examples/PlugInSamples/MultiOutSynth/Source/MultiOutSynth.cpp +++ b/examples/PlugInSamples/MultiOutSynth/Source/MultiOutSynth.cpp @@ -1,9 +1,23 @@ /* ============================================================================== - MultiOutSynth.cpp - Created: 23 Nov 2015 3:08:33pm - Author: Fabian Renn + 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. ============================================================================== */ @@ -34,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(); @@ -64,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); } @@ -82,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()); } } @@ -101,7 +112,6 @@ public: const String getName() const override { return "Gain PlugIn"; } bool acceptsMidi() const override { return false; } bool producesMidi() const override { return false; } - bool silenceInProducesSilenceOut() const override { return true; } double getTailLengthSeconds() const override { return 0; } int getNumPrograms() override { return 1; } int getCurrentProgram() override { return 0; } 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 00000000..f3e32b0c --- /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-AU.plist b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-AU.plist new file mode 100644 index 00000000..5c479110 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-AU.plist @@ -0,0 +1,48 @@ + + + + + + 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 + + AudioComponents + + + name + ROLI Ltd.: Noise Gate + description + Noise Gate + factoryFunction + NoiseGateAUFactory + manufacturer + ROLI + type + aufx + subtype + Nois + version + 65536 + + + + 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 00000000..22b14cda --- /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 00000000..787a1a0b --- /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 00000000..787a1a0b --- /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/Info.plist b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info.plist deleted file mode 100644 index 1fc74ea0..00000000 --- a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.roli.NoiseGate - CFBundleName - NoiseGate - CFBundlePackageType - TDMw - CFBundleSignature - PTul - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - AudioComponents - - - name - ROLI Ltd.: Noise Gate - description - Noise Gate - factoryFunction - NoiseGateAUFactory - manufacturer - ROLI - type - aufx - subtype - Nois - version - 65536 - - - - diff --git a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.entitlements b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.entitlements new file mode 100644 index 00000000..22194a6d --- /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 17d052a5..9f9afb89 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,63 +26,42 @@ 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"; }; 00F9E4426F088AB1162FFFF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; 010613C644BE3D59642B0236 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; 011ECA3B0A50EBC19D534178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 011F4EB09E74A50BC75489BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 016B625C850303B6DEFC8B06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; 016F2A51F3064D1BEDE560D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 01A79D982F03174319959EF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; 01D916B4FD36FBFBA0F6036B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 0282ED9B79F0D5DC8E7AFD86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../../modules/juce_core/zip/zlib/zutil.h"; 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"; }; @@ -86,21 +70,30 @@ 037B584ECE9CDA8309EB91AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; 03E30290280121AA472508D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; 0400253E970A07B160604CC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 044DB9539D0B486B27FC3B4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; 046557FB7418F28AD9D89618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; 04660BFA219014F3FC614BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 04A10F2FD8859FE26C3B36C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 04A94FB47318EB62FEC40F1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; 04D8748C7B98E5382BAEA2DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; 05085296947E594C821B4B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 05248E8821F83DE512FE793B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 05A2F6600D19B78F587E17F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; 05C53231EA20EF3D30289E89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + 0638946C053972602E8F1B46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; 06479087567B237274BC06E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0688EF9D7A94D7B689D4D247 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; + 06BEEC7E0D01589083CA72F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 06EC38A271064A20A3C7DD13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 073521F2A0B7177E62402901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; + 073FE219F32363AFAEAA162F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 07B3FF3E2F2A244D56A279EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomic.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomic.h"; 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"; }; + 087726C3C73AF8771B4FDBFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; 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"; }; @@ -112,7 +105,9 @@ 09FF4EBBB192D86FD93127D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 0A5B2583759214FB7013B97D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; 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"; }; @@ -120,51 +115,68 @@ 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; }; + 0D3B788A211BBDE46A3B119F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; 0D5A6B6D7A8911552E34C529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; 0DA2A286C822BD0667805578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0DCC4DA1E59A14F3D9A9EE6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; 0E060EC8BD30C332B0F9BC88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E433B3D05C0F0DD6F98DD85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E6C9B964B771B2BCBCEBCD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0EC72A9BBAA72BBC2D40085B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; 0FC1D51B60B952D25B74EBED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FCEE7E1ACACDB0801F47E92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; + 1002C5D10559D446910ADEDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; 1042E64811FFE832B224A59A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1053B978BA8A4EE527467C3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; + 1071BA659C64AECF6B02F471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; 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"; }; + 12A8D0F66C15789F51F13E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; 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"; }; + 12FDAD4643EB813DBC506728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; 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"; }; + 133F753FBF6EFF018E2146D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; 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"; }; + 13D2DD77D3EE1726945EE282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; 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"; }; + 14762B48EC08EE9A93BA5639 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.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"; }; 155AC7427298BD3568EAAE72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; 1582C64E2A2110F3E27A2847 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 158C6178EF53C4C26112575C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; 15D9387120B61E7C407F2C76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; 163F8CC7509513B483860103 = {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"; }; 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"; }; + 17224629C5A04A2D8C311535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAException.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAException.h"; sourceTree = "SOURCE_ROOT"; }; + 1769D44BDA0B8E64864EA673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.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"; }; + 183573EB1E75882796F99BCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; 1853368999546D379A6D8836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 18A917CA5990FB14B32FF7A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 18AB0F6CA4C75046C14D6BA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; 18FC770B6244C238107AFDB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 18FD80E62DA0AB340CC7F562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; 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"; }; + 1AA48FB0BF5726DCFED753F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; 1AC40FB1239BF0797D338435 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1B3C705807851FDBC6AC5A45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 1B5FCF5295A9F17EECC57377 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -176,16 +188,21 @@ 1C2C37C2DCE9A2B9E69E7C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 1C48FBF0E1C771B662761C25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; 1C674E8633C9D7C14C2A1D98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C6DBFCD7ED0CC51E849FD3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 1CAE5EE1224BB19EFA785644 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnit.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.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"; }; + 1E5793BCB04DB4246208F5AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; 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"; }; 1E6EEC0D5E5554F99D3A8CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E8C59EFC31CF428707ED9B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 1ECA12EAB39E07C8A27AF105 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 1ED6921F882C7B4B5DB46853 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnitTypes.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnitTypes.h"; sourceTree = "SOURCE_ROOT"; }; + 1EF001F49C79098DCB19D080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 1F5E059C95FB98E02AF01A00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; 1F99846DAAED4D1061DD003B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 1FB561726E6C70B09085F228 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -195,25 +212,38 @@ 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"; }; + 22168AF37662F9E8BDA0EECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; 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"; }; 226AECA874A1905BE3AF8359 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 2291B46D625DAF906326E152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; 22AB34127E007391E31C277A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 22B0EBA6902BE8D49ABF4608 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; + 22B0F7CDE97B294B59FDB5FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + 22B27AEF8BE17C82BEC5A809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 22E221876A43943DFC79D1D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2349961E663C306707BA2321 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; 23EC87036185E029191B5050 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; 2402A0A4214B5AF9C5D617BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 240CCC81C5FD861EF17C1019 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 244D0271BC647DA8D31BD6E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; 244DAE5DD057A92C4C19A291 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + 2507D643C7654BCDCB3EFD19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; 25144B7F726C02A6927B95DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 251BE3EF1AA04198D958AC50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; 253594D6F8DE627B8F1599D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 25398FFE0D814EBFF1A51AAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 258861CF979A5C278D2900E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 259860F50BF88025C9451A37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 25A0A333820A4A370209B486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAReferenceCounted.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAReferenceCounted.h"; sourceTree = "SOURCE_ROOT"; }; + 262F949CA9D33E194281DF14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 266B77C47D17B1BF65EF6C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2692844292F9B2EF9C2A3B63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; 26C683F1B50315F7D54F2B4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 2770A0C643E945FE307DA289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2774DC6AE76E7BA5D05B1D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.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"; }; @@ -222,22 +252,28 @@ 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"; }; + 2C154151AD8D2295F743A7E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; 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"; }; + 2CAC28B1608DF73AD0316929 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; + 2CDC4FEE7E0F485265078DC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; 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"; }; + 2D9A02B19F980E8C1F2E320F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../../modules/juce_graphics/juce_graphics.cpp"; 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"; }; + 2DE7F5CB550369147A926A22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + 2E15B23B7BB55D70E9B1A6A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; 2E1C905B950B22F3D62A7826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; 2E6372C0453C24714BAF52D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; 2E7C45A3DE967DA2042E77D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -245,20 +281,27 @@ 2F8BC112D5A5E430164564EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2FFD0F266380C00C3601F7CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBaseHelper.h"; 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"; }; + 310CDB13DD4A06E399C9D49D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; 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"; }; + 311EF9CBD501390AF80A7DF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; 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"; }; 3274667349758AAC25475771 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 32A515A6A3258343AF1E7F92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; 32B07B78FA6AB64E87A9CA3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + 332DC30A723E7DD20781D710 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; 3341BAEBFCF68A45D192E9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; 3375D8285224860A2C2B218B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 3376A1806C3FCEC8950298F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; 33ACBDD4942BC60B1F2C5388 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 33ACD86399527378559A8B1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 33FA8E14DC58451E1AF0776E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + 3475B492491BFF4A3650B06B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; 3489215355E69474A575950B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 355EAB1BFEA4C1D23E555933 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; 359EDCF3631597C425AB9A47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -270,22 +313,36 @@ 3716F81408159E9307118FED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 377B41D7E08C498478574A22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; 37A9DEFE946EFD55603FCD68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 37AB35B42677BD2A0EEB27FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 38190D3D78679B0F7FDA7895 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; 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"; }; + 394E6CC24B206374A9D6E373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; }; + 3966B5435BFFE484E316A0F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; 39B623717771E10C10DB4203 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + 3AB4B76520F8E9FBD36252AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 3ABE8C725056139DC13BC4F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 3ADEE51FBB32B9E7CDD3A924 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3B55D0AF0CD7545A3CA7AA95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; + 3B7243CD979B461F8DBD1F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; 3B8EA21CAF31E3EBF86C72C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; 3BA94AB680CAB0079326E155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; + 3BB538E7A54210B7CD19B781 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; + 3BBDC22AF48E951670722D24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.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"; }; + 3C835F530C429149F4E705EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; 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"; }; 3CD5597ACDA301A53BF9CA85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 3D194634199BFF294C166E5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3D5320F03934A467C2042FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; 3D72706E8ABB733A6490F014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; 3DC1CD01357795B9A88D002A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; 3E224AA9A88BBA37C77D51F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -294,46 +351,65 @@ 3E9C541A14A9853BF59E72A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3ED2CBBCD8CD636730F6771F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 3EF69AC6D7A75BCF43A2FE91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; + 3FA212821034AFA68D277C94 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + 3FC57131CE9EA206DBA5E7B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAStreamBasicDescription.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.h"; sourceTree = "SOURCE_ROOT"; }; + 3FCAC060EB649E790C494124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; 3FCF0AC87F15299AEE4E0085 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3FE30040DBAE8D28275C4533 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 401E5E8894DDB1D48D23A116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 40D306B2EBC7C4D75A0F4D98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; 40FB4762ABA47B642C71DC23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 4275D558603AB0A1E56194E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CarbonEventHandler.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.h"; 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"; }; 430554FE98D5A5B7C5C715B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; 431A24F749CE6A59E72C3BE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + 433ACE5A2CB47129575DB59D = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 437BBA06E4D35C3B0A0DB8B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 43DDBF97D50C73B60839CF68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../../modules/juce_core/zip/zlib/crc32.c"; 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"; }; + 44D7851E8B024A5864923CE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.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"; }; 45E82A90482A147FF8FA6507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = NoiseGate.cpp; path = ../../Source/NoiseGate.cpp; sourceTree = "SOURCE_ROOT"; }; 45F28DC1BCF1DA9E48DE7C13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 461F1350289732B7273B51BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; 46240F728084B10A40AB9477 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4635AC0279A9E35102D2D426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; 466DE822A609D5E3761E81B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 467905FAEA6B00281E815A0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; 468373D46C5C57E03996416D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + 4693182ED9E0B5E1B7354738 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; 471F13C08ADBAD9895DB7E7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; 472C0688D66E532DA4F6AB9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 47368FEC775E6891C69A130E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 47999534421CEAF777EB18A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47DAB373026EDB040665F13D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; 47E718B88C4DBCAB24ECED6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; 47E8924D97788E68FD007DFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 483D41BDF652BD913E8D859F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; 485418F6ADC8752DD9F99DCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; + 48779315A60EDFC8E48513BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; + 488951B27D3508D6835C8BE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; + 48FCC4A6D158C723FA8FDEAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; 4935AF0293FD72FCA1A20601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; 4948EE5199F5B112D3D5A956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 49C5DE8EAAE4AEBAF7BA60A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 4A34E8848305FA1823ECDDB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; 4A3A1081656E530C5C3C6A85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A4B668C775D7C36E44BECAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; 4AE08E2A6F2309BD958372ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; 4B3AE7D751B71B85831E94D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; 4B9BB6AEB63D134C137D1EC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; 4BA8C030EBAD032677A603EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; 4BACF3260C3D989D1134FD27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 4BD658660C6B6A5A67B93187 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4C27DB310396A866B2917A15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C2CF6BC5BDC337F11F8E64B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C3FC93FCFD846D2CD7038F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; 4C69398466F6DD914602C907 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -343,6 +419,7 @@ 4D374200F6FC355F4C84DA74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D71E182174E0F079AB8CB7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; 4D73906670C34F2D0EF766B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; + 4E481C17713CF8800598D35B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; 4E65D5D22BE042CD4DB027A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; 4EB1EFCC1E720F578483FD52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; 4EC46879782F8C588F2F54FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; @@ -353,44 +430,62 @@ 4F5E3FD38D93207727544C6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; 4F9DC6FC10A9860EB85F5FC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; 4FC3D138F39ADF9ACC9EC688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 504AFDA26EACE4139DE5B900 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; + 506190F3B130CAC8FD0D4DFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; + 5068D0331B68D733C47CFD4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; 509F5E0BB415297C76CB79F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; + 50B976289B771F14808F3348 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 52168CDFC697EAE790768DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + 524887D5E771D7D77E4A871E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.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"; }; + 52892A94D8797931E421D28B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; 52AFCA124E709D26C3B9D02B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 52B77EA54A97A1C5E8CC2480 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 52DE9B7272F528CD0B1040A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_utils.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 530EA19F72B7574ADC2AC56A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; + 5358F77CA28E955BD172B6F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUPlugInDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.cpp"; 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"; }; 54857A367905687C45C1470E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54B910317BF8F4DFF6581B6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; 54C589164FD3EA4F554736F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + 54EA36E24F2AE9F740D18BBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; 5569121A99DB2718A9B65E47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; 557CE9CE9AE3078D60E9C36F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5594AF89F8EA68B7F0296F78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; 55A0272BFAEAD9E1F3895068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; 55F359FA31D7FE4CA10AB533 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; - 55F6E36F65E1E0A89EAA9FBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 55FBB3ADE143ECCD6E154196 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 5667737D7AFBE57506EA08F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + 569B70D86CB4966AFBAEB5BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; + 56CD0DED564D4CEB19D38795 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 56E76B31459EF0E1C4D2D5DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; 56F5CC34D255847725356493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 571B0C346579CCD9F6F9A6D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 57298B969E81834AE86812D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; 57DF22B9C166595A356364F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57EB3B0C971107A667B0B9DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; 580A589FD052C519B103607A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 583B4CE65B1966C4D62414B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; }; 58559FB6482E5AF25EFAD70C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 589790462BFA1ACD31F0042E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5947287DFB39DB274AFBA860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewControl.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.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"; }; + 59BDCE818C9AAE13A7286B95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../../modules/juce_opengl/juce_opengl.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"; }; @@ -400,10 +495,11 @@ 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"; }; + 5B7D58FD2915BEF12A0A026B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../../modules/juce_core/zip/zlib/inftrees.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"; }; + 5C17336C95F8F88CFCCBCDFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; 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"; }; @@ -415,8 +511,10 @@ 5EF2F091583F20C8CE73F7A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5F2B1BEE9EB87892E0FD44AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F74A97551ACF53D3B0E8C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 5FF49741ABB5C8D6C11547BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../../modules/juce_cryptography/juce_cryptography.cpp"; 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"; }; @@ -425,14 +523,17 @@ 61C85A8FD80C4400909933C2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; 625CDFFCC5CC00D8967C48B1 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; 626706DB11D4536E1FFD2239 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 62FB9C05DD13215D22A460AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; 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"; }; 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"; }; + 641EBE3FAA512B88F9507442 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../../modules/juce_core/zip/zlib/compress.c"; 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"; }; @@ -440,18 +541,30 @@ 6628143662675A70526D83E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 6684729261778C6EBCA93E48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; 66BD4F24EBC8BF6FD244AF72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + 670C0085BF35AFC8F7018C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + 675BF7B6236721616B1BDBD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; + 676F1BF540F5DE1797C07EC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; 679AA0DF4863D202C69AAB05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 67E8E853227C766C4F3822CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUSilentTimeout.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUSilentTimeout.h"; sourceTree = "SOURCE_ROOT"; }; 6800F4F7F24ACAECAB192F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; 68033207E95ECA53683916CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; 682D8F418F4F2A594B675B04 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + 68382601C8A92F15E35ED5E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp"; sourceTree = "SOURCE_ROOT"; }; 686EBDE09320D38417051936 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 687120233DC5205FF4E747B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + 68810A5E034BC83F99EFE3B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm"; sourceTree = "SOURCE_ROOT"; }; + 68A7594134D1E9E7A08BE1FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUDispatch.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.h"; sourceTree = "SOURCE_ROOT"; }; 68AC1B90E28E75A59D9F654E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + 68B63218842A8E5DF16D1718 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; + 69345634341DCC1E795E4462 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 6985DCCAE57E6FF9DF41D1BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 69A7A2200F2886D263295D9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; 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"; }; + 6A92B216507ACE160A5BF774 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.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"; }; 6B6D9BBED1E455ED1601CF31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -460,23 +573,25 @@ 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"; }; + 6D715C6DCD4B434191EF3FAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUMIDIBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.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"; }; + 6E2400DAC873FE371D65D5BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; 6E74706D73837239FE5FB6BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; 6E774756F601F41E87ED8F4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; + 6E7BF6A15601EBD60D4B9A8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; 6EB43778A246E013A1F78F47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -484,72 +599,102 @@ 71237ECCB8685E56FBD4FF44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; 7143312CC1700B2BA477AB72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; 7155A28CFCE5A8F05412E404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 718A84ABD2C30A23583D9484 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; 71C365057920A8B25AABBCFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 72A7297DD772150BBD523E37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; 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"; }; + 7345795025B3A7A56A143F58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/compat.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"; }; 73AFC81251FEE56637841DB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74065FE6D57DAD7E8A250330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; 74A2A0CA4B684C69ECA8FC4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; 750758ECC540B541C7566CC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; 75415C3327242A97378C566B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7545A462F0C8D4C00E9139B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 75893CAA09670C441F84B294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + 75D267EA9F4BF0267E973FAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; + 761CA817E33B88583228E4CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 76AAD0C6B5EA63C9FFA4D012 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 76EA5F0CBD6C66178CEC65DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; 7712F194E97C7B943E81968E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 772629D09ACF6F8C7EF11488 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 77AFE67A7BD3D8E7D83B6ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.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"; }; + 783876754D144BA9D9D80508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; + 78F0E6FD7AF95F7440C0291C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputFormatConverter.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputFormatConverter.h"; sourceTree = "SOURCE_ROOT"; }; + 79123AD075DF679CBD0CD0F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; + 79A8D43470A0E32CB2CBED38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.h"; 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"; }; + 79BF907007D96E8998BA26D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; + 79F84054DBC9071D1D333D46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; 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"; }; + 7B2A217215C8656280CCDAC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; 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"; }; 7B5EE51BA82CF11DA6BFDDCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + 7BABB05AC2CFC2D4D75DA5BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + 7BCA400C1A7F0B0C44F78BB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; 7BF0A92363ACBE467D52D136 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; 7C7A9F0A2853448FDB7B9311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; 7CC93F7DC9462675EC4511C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 7D07AC0389FCB9760DCEE401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; 7D584A040F9D9568FDE2F10E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D68D3642F4C969C6324AFC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; 7D8E12900A5CFBEAD9464819 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 7DA260E1958D9AACD2CFE869 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; 7E22A2F187373AFEDB31F74B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 7E32914408484A7CD26BEBDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_4.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_4.cpp"; sourceTree = "SOURCE_ROOT"; }; 7E57EFB93085C037F81ED992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 7EFD0AE6EF841C055B77EDFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 7F0BD57E095C99232DCFE4C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_RTAS_utils.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 7F190C98C5FF63E22C54B737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; 7F2E3FD943CE3EC42B271823 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; 7F47F88D78F394A3D312C5B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; 7FE006C1513A202616332D89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 800812321C57C498B025D9D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; 801D14C7ED2DDC481C2852C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 805A6E1CA4479F345305EC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; 807B0EEA168FC69603B6E1D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 807F5A1C63944497089A672C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; 8081D538C09ED4ECA26C28C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; 8083D2A36BDE49A5BFD5DBA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + 80855891165CFC2409362B21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 80A5F4F613C744742061F4C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; 80BDC6198079CC49AB4CB1B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 80C20A4CC72E61606EF88DA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; 80D2835A48F17870FC49AF1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 80E51D7DADB3DD98CEB7A242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; 811F2B44FFF6D61ED4B79CD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 81265A970F58419A74AA54C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; 817254968841790E2AC48A8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 81988BC9ADA32C6436FECADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.h"; sourceTree = "SOURCE_ROOT"; }; 82059768E792710AD7558E86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; 8224FC2DE40ED5DB9781D8DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; 8229569DD242299C07516F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 82C4287A1EE7E47E993045E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; + 83030BF323287E636360855F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; 8325FAB2F1C53F2F23E8EDA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; 834891B3C64312A5BAB30790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8367000825BE6F34A8F5D2E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; + 83ED5DA87DFF626D423D7372 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 841E9324E5A60FAB17703518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 84213C8680C3AAAF489747F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 843583A7ACE40C370D53CA31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 8449D112729ED39BFA706CEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 850CC3D1A42215254FE9EA02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; 850EB6CEBCCA1C8732A4F7FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; 851EB8866E638EB89D95F91E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 85239B0D8B8AA60B0EAC7A6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -557,10 +702,13 @@ 8542F518475DF6B7AF0E2B1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 854A261D384CB1F682305BE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; 85B9E97C3FC7D20270A420B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 865AA1F62812A0984F048080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; 867F6834281C8B941D0BCE1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 873AB549F9D4BB2CB942B021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 8751B08C7CCFAA3B9B070452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; + 8773A86B9099B78870042561 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; 879E630AC7B0873A94CC8070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8877CDD515E6B656098B20C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; 887E0290400CD5694670155E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 88A43145FB9C0DCDAFCD6D2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; 88B9CFF0D1B3B7660B48DB1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; @@ -570,34 +718,46 @@ 898E48C87060E9C3DFD5CC97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 899CCE2491A041C70D8B77C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 8A1F5A87C3B2CCEA93585F83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A28325B54D16C068DF7EBA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; 8A44C26ED69578525502B4A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 8ABC8FFA9062954E385544CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 8ADC67E56AA14EC05BBF681A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 8B486E598F012F91FA7559C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; 8B4F542918794989863D35ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C898204D84740750277A91B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; 8CA9B7EE49BD83035EFE86E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; 8CAE10FEE47511F77805EADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 8D13B3E1E8D213AFD690188C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D1673207F61D7CD209AE58A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 8E18CA5345D67CA44C61F6E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; 8F7882C3430ADA0808B79C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F92C9AFDC47A141D3744645 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; + 8FB12723AEFDFB9D4F3469A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ComponentBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.h"; sourceTree = "SOURCE_ROOT"; }; 9029C6942C1C5585E011E446 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 902E260D6333799E8C515CF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; 903AB83DBEE40E2B9A89FDC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90522449BBBAEB75A44299E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; 9063A693E9C3596B0E7A4585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; 906428E1A9963444AF1B0D60 = {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"; }; 90C06BB6514C78737E590C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; 90D6A07903A3936276D8FC7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; 90F5999238215FF56EED77A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; 91A28C806D6F701816EBF4FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 925B3B4711F57C1FD9136EF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; 92E608B39DF214BF7DB9675A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; 92E7EA837EA30F049A413C57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 92EDB33993AD1E3270D807B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 933A878BBD8CF68E87C95A96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; 934114A99916FFC43BEBE51B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 935B124F68C5F611E793187C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9362F823624E5EFBCB99C66E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 9372EA69466CE77845F7ADB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 9380E7D5BB77F1AD65D430E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; 93FF00D1F3E5379E8EC9BDB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; @@ -605,9 +765,11 @@ 944C96F1603C3E777C12AAB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 9492CF7B606C6F3A68ED8048 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; 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"; }; + 951E7EF0AD1CB490C165CC73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.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"; }; @@ -615,21 +777,33 @@ 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"; }; + 963CBE66498E0420AE59A5B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; 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"; }; + 972ADF1885948B944FA55553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUScopeElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.h"; sourceTree = "SOURCE_ROOT"; }; + 9771DD4915BE1789A7993E69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AUv3.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm"; sourceTree = "SOURCE_ROOT"; }; + 979BB8C8B468A3A79A922629 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 97AA8237C44B2CE1866E8B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.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"; }; 9840126F3F4C38B60332CDDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9843505EE25844C0F0F8C69A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; 98AA1B3E2E60CBE1E9EFB73A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; 99025567594494D7CF194D7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 99711B22BB54CC86045B2C95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; + 999B9F4C3F6091ADBA9421E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; 99CFD965842860C4248EFB4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 99DBD2D02979E38C288F1C7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 9A0A19875BF42ABAEA7BE5A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 9A82F298785B858993CCE61C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + 9AD6A70D08B644E6406BD1E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; 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"; }; + 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"; }; 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"; }; @@ -641,20 +815,42 @@ 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"; }; + 9DF06DEA20D7CC5B7784ABB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../../modules/juce_core/zip/zlib/zlib.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"; }; + 9E1B841AC727490DBAD510C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; 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"; }; + 9FC8B1D81C0535EC5B6D0C75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.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"; }; + B135B7ABB572DE03324CFD7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; 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"; }; + 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"; }; + 938C9D9676264FCB2150FCEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; + 970832BB3D7B3F1D404D36CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + 9998DD31ABBEB8513422A48B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; + 9C62742BCA5D3C9524DE3029 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NoiseGate.aaxplugin; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 9D0EADD58202012822195D8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D366DD91CD44CED6934A26A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; + 9D67999CB8A7EA49B548EF9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; + 9E2841D274BDF096C1567AA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm"; 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"; }; + 9E685F6C42796C5B486A08BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUPlugInDispatch.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.h"; 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"; }; + 9F385C17D1F088F19F3A12F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F39266110C56F8A0C97FA65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; + 9F53388B3A4667994AD93E8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 9F5E1264C9AC4AA54E0AB158 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; 9F9D896F664C8CA286C041FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 9FB3DAAD402A11A090B0521C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeSystemHeaders.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h"; sourceTree = "SOURCE_ROOT"; }; 9FD8096E8A6E070EB0D3E6F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A0189ED3EEAACC00AD4649EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; A067B55828A6944BF5F96152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A092D24F3C62D06CF5928A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; A0B50A729CB25919EE133A4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; A0CB59F4AD5D67685CD8673D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; A113636DA47DE00B552036CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; @@ -669,105 +865,155 @@ A2CF63640DAFC02E02EF0E7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; A35FA240D1B9B62278997E63 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; A43DCE541DAFF4006D5405D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + A4409A13BED13FDFBC5B4552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + A45E76D41CC95EC1B5B534F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; A46F3CFCD04B5B97CC845A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; A54A606A16B534B45C59CE8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; A57C11933D8DB9EC58479065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + A60051D9A5CC4F49095938AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; A60D185268D5C33C8570D3D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; A64154D04E470AF7EF169FF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; + A646B572F7C1317EC625ACB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; A674A4FD8CB58A2EFB41A4AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; A6953D583BD061BEDFDDB8E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; A6DF6B266AF10288904DE600 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; A6E27FD3204CCFA88D1029F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; A70ACC0F8D238B82EE0D333B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + A72A3A80C1DF38F25897CB66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; A757FD4C03FF4B8317073E7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; A761BD7A248A08CC60A9E4FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; A771637F51328BD121F5B4D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; A777DFBFEF3B792691DF6D62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; A79A2F454A734BF87399A9F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + A7AD58E5CDFBA2D7B3C135B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + A7B7B61591A2DA73045A701E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; A800E90E0F8E912938CBD1FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; A842F3F036C9418368A00DC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; A88A9A40EB06563D8143BBDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; A8B3C644EA42C512C4E3501B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; A8C57F454613C1A8D0FBFB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; A9175171BA93DAAAC1AC4E37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + A94E704A44E8B09A4E6D2A34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; A95BB79CEB8AB5D13E13519B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; A96A725563AEF91D0FBFA691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; A977A4055E854FA3E893B043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; A98DBC09FFE32743F0AC6C3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; + A9A9A99DA73FD7AF81F59F7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + A9C5A07DC31D544051025C80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + AA33F25349BDC49615D80F69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAudioChannelLayout.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.h"; sourceTree = "SOURCE_ROOT"; }; AA5E59C590D4B439AA60F87D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; AA9B31B85C75B0CA6DA24741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + AAF90406DA0D844FEA667EE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../../modules/juce_video/juce_video.cpp"; sourceTree = "SOURCE_ROOT"; }; ABCF504D78AFDC9C1C0AE41A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; ABE7A497CEE401B2C3225A2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; AC05FB8F53C69FF76946304F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; ACAAE14BC0C4E02489433D75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; ACD2C40EE73BCC611A1CA4AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; AD218967C5AEAC3963D6C61B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; + AD4CA0CFA85B5A8440F2C389 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + ADB151A85FA87A5DD34184A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; + AE3E7C648A7959E8BA6F8908 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; AE675FEC6A89B887CECBDD29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; AE9D531EED18AF8A0F6DBD27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + AF02EDDBD4B4B8081DC18DA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_AAX.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp"; 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"; }; + AF876AD72EA63EB4B1EB2D18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomicStack.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomicStack.h"; sourceTree = "SOURCE_ROOT"; }; + AF9FE16AA06907C7B19B9642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; 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"; }; + B12248101A782E8895F0E7B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; 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 = archive.ar; includeInIndex = 0; path = libNoiseGate.a; 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"; }; + B17AAEE6E7F21E912EE5B1E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../../modules/juce_core/zip/zlib/zutil.c"; 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"; }; B311B014E21F68830C54DCEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + B329503C544E959A9BC1EDD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugPrintf.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugPrintf.h"; sourceTree = "SOURCE_ROOT"; }; B33368278B6F11BE53199EF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; B344E0D80D145578D5EC63A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; + B3676D1AF2E6611F5688FE82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + B510CE55384E7E489857538F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; + B5149E7DA756815A92C411C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; + B52A40FFC14AC15B3E5C20CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; 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"; }; + B581022D1D0521E0867F0B11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; 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"; }; + B5D049755C51850643A8FDD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; B642AD759F4C5349064EF011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; B64D3B2EAE579956F10DE320 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; B6567C791BE962F993B78C02 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + B6675396FF687CF524AC669D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_1.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp"; sourceTree = "SOURCE_ROOT"; }; B6D0F50156B6E8C46BC504B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; B7218CA42CB8B9FDECE34071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + B7AE91A155F7FBAA5102C8A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; }; + B7B5E95C93C92FCCEFB7DA0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + B7CEA623FCCB463BF8058A7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; }; + B7F9A0B182DDAEF52B348DA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../../modules/juce_core/zip/zlib/uncompr.c"; 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"; }; + B90A9ABFA10CC5536F4EFA43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; 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"; }; + B9D34E098816C99DE0934A5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; BA9309916A0ECFD82AB55A06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; BB0C0C019EF35B3EEAFB165F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BB1056A76B51437D49207330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; BB1D32224A52A6C18E5B070F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; BB6BD1571D257BFABEA6EC35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; BB7C17AF74A27DB50E8995D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; BD79391479F73580810F52AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; BDA9DDCC46750F9BEC942F54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + BDB0A3591E132C546B8B5CD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + BDC68C774FBB771235D4F40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; + BDD477D9D9CAB50B54621C1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; + BDE587F844B226EBE90DA18A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; 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"; }; + BEB3F1710017F479A88AE990 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; + BEE5B13A01C8ADA10F96E6F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUViewLocalizedStringKeys.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUViewLocalizedStringKeys.h"; sourceTree = "SOURCE_ROOT"; }; + BF4DB64484799331FA3D5B8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAThreadSafeList.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAThreadSafeList.h"; sourceTree = "SOURCE_ROOT"; }; BF52836BE388BD649AE3568B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; BF7D8E074246E8D83D82C1F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; BFD1E323CFA0C31373F17005 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; 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"; }; + C0438E9748ED06ED5056A63B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; + C088119188C4482561E8BB29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; + C1DEF802949C3B3DA16D7920 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; + C2077DC237628E3B579C83E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; C22F431E041BF025E76F7B4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + C24B477AC130EFAB0AB23177 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; C25044A8204DAABD30942486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; C2627DFC4F61667B56ECA167 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; C26721094E1A17754F1DFF77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; @@ -777,70 +1023,96 @@ C361304C50E4E46DB1576AC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; C37BB9C8E9EF74698822F5E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; C3870B6C4EA0AFB7E828015D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + C3C3D5EFDFA8FB7AF31CAC3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; + C3E3D183B74C6DC11DD24A8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; C3F5935E51CF7BE533E5517B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; C3FB0537C1CDB0FF2C91C707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + C46FA2FD620B1074E2151945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; C49779E60F9335837B6202F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C5ADD5DD0AFBC087E7ACCCED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.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"; }; + C6D44F93049484029FC1B9FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; 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"; }; + C7A36C86EDDC1018339E1F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.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"; }; + C7D54721377082EF8336A924 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; 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"; }; C80695FBDC045BF4610B9CE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C816EA1619D99EF2A329B031 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; C87EF309B572BC3315310202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; C8C90957F833D794D3E41A55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + C8E71B461A5D6DC76ECD0FF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; 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"; }; + C995E23F23893078233D9120 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../../modules/juce_core/zip/zlib/crc32.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"; }; + CA3FC1D0372AED96BFDE1260 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.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"; }; + CA78A79B0A749DEAD98D7C44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.h"; sourceTree = "SOURCE_ROOT"; }; CABF309B0893ACB234F3A8B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; CB208336B1C9C1D9AA906BB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + CB3093468EDB60AED639D308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; CB425D61E072DED92F6CAC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AU_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; CB83B999879BF9C635AE0AB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; CB9FB800411BB27FAC82E799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + CBAB9C1EE948D993DBC478A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; CBD2B4F7FFC0B6F2A71613AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; CC13CFA7BCE8F71794A5D386 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; CC1A596118DDABEA4B806A21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - CC317CE14E558325BF16D1D9 = {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"; }; + CC1C038B7FDF42657A87D765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; + CC417DB76F502C700AC7F410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_3.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_3.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + CD064E27122F1636CC1082C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugMacros.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugMacros.h"; 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"; }; + CDB4494BF6004D59871BC2D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; CDE1B83C996A1861A93C93A7 = {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"; }; CDE90FB97DB28A4635C17399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CE9E0C34AE3EE2AA27E10B2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; CEC04BBCB5CD3A1BCA340B03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; CEDD9C87E6B693D4A6DFFAA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + CF108F05E5DBD47B30EF2350 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + D06FF4E96F942AA4E4A68500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/callback.h"; 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"; }; D0EC72DA701E189E29375541 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; D1324518DEB393D9A23CA32E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; D194AF9CFE01AA83DE2B4DA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; D19C4DE456670E0D1F656D3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + D1E37FE520A9321D3523C891 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; }; D21E2520E9B6805E91DC32D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + D2737CAED311D9A037B20DCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAUParameter.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.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"; }; + D3296D3D3E27D51539A976D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMutex.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.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"; }; + D3BFC258B2A8950996DE3418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; 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"; }; @@ -848,16 +1120,21 @@ 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"; }; + D5A1E25D5148414F8B576D75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; 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"; }; + D5D0296A731FE0ED7D8C8F77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; 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"; }; + D602A07DDC281230A9657C14 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; D728CE983C344A38A6743BAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; D76C5795FBA50C36A54CD2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; D7A2E04166975454688978C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + D835D001E54698900E9F8567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.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"; }; D8C972CF2357B2D6A0C0DCD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; @@ -867,12 +1144,17 @@ D98EDE0EDC960BE999A21A3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; D99988F1251B1C59A8EC0A05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; D9F3CA6B36085DD021A4EAFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + DA846ED6145B4F9AE553EE1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + DADB4F867F9373060CD2E68F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; DB345F7A5773106BEFD18DCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; DBE7B7ED7E0BBDF1B2670B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; DC9752A4F53C8101820A78D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; DCE1C39F0421126DEF688564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + DCEE361107E0A29D794E336C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; + DCF142D024515BD048CFC8FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; DD29CD8FB274D9BE4CCA1B85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; DD56E00F5F4E928F612EDE5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD9AF467513DB78B8C164B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; DDF707A74E50D6E1E8B00194 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; DF93ADD8133B5683DFC43FBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; DF99420B216C4159D84C56CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -883,35 +1165,47 @@ E1240D7EF52CC286BA9E206A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; E14FF6A87571DDAB38742F2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; E1749AB50AA3B62DD375E289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + E1A6F6BDED33989D5BB1237E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; E2554D7ECCD7B6C2F1A176FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; E2A92B990D55A22718807D39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + E2B40B3ABDCA6760A7280892 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; 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"; }; + E305E4954D59AE08FF72B061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUTimestampGenerator.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUTimestampGenerator.h"; sourceTree = "SOURCE_ROOT"; }; + E327F983F42F14C56CD3109D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; 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"; }; + E5400FA9DC8C3F72541E4880 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAXException.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAXException.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"; }; E59436CDDCF0D85D9D70069D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; E5B3A88A39DCA9224EAE360D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; + E60B8E2276F0B2688752C38A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; E64EE9E43C5BD6925CC2E6FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; E6569007107ECBDD3EC88613 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; E660AB2450E2C876A93969B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E6E0544A1A5D3BCC43AAA3E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAutoDisposer.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAutoDisposer.h"; 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"; }; + E702F26E44EF96D8AD60E386 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.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"; }; + E71A8B8AF4BCFE982C74C025 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; E775FDAD58B38C4943AC5211 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; E7A50BE08C4613D4CBA5B7B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; + E7DC4E14ECCE13E8480DA743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + E83A9D77BD7425E4CB35F65B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMath.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMath.h"; sourceTree = "SOURCE_ROOT"; }; E841EB94DA3DD82D3AED8368 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; E874F99EC88EAAB5B19E81E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; + E898384C0DE84F5BA0165124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; E8A136F49B3A339C5EA46BC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; E8BBF44B7673E317EEEE4E6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; 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; }; + E92C3D16ABBEEFE2F7BE171F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -920,15 +1214,19 @@ EA17AFC4FDABC10B0F11D982 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; EA1A7AC8267FA1AC7D0F2BCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; EA8723E2A2C8F0DD058F9665 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + EAA1388F62855D5675879D7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBuffer.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.h"; sourceTree = "SOURCE_ROOT"; }; EAC7C33E9671EE58D8087CDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + EAC981CF00DB37DFAA4A59A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; EAD095A921E8D35489B6F8E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; EAFFE761B12BE9C263E857EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -936,11 +1234,15 @@ EE004DC5369648F9F4F967B5 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; EE251D7EB5D3AE227EC1EFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; EE4F068BCE9F99CE4CD2B12C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + EEAD433B4BB5D862F5A23D2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; + EEBCF2E97ABC7735C5B1712D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; EEDF6AB8291D205CC8F76047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; EEF0BC764D4CBA4BD1B4FBE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; EF4925BA88D2315DA25B7915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF5B78420B4675757D1997DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; EF6241E2090C80185095EB47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; EFAF3668A53094E383413F48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFD13062529F0984FE9D700C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; EFD508C1B0EBE495BAD89C14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; EFE83C6016EB9422E63B881C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; EFF3EA7A626F019C18CE01AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -951,53 +1253,66 @@ 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"; }; + F1CB6D49DB1411C0FEB64314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_Standalone.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp"; 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"; }; F337D7C65DC5090A9A47C63A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; F3478116DD60A5E8E15898CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; F35CA755BCEF635E1D3A905C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsHooks.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_WindowsHooks.h"; sourceTree = "SOURCE_ROOT"; }; F371D8637CA487256A3B629E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; F3D6E76B33CCF7C8C5E62659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + F402880EDB009624652675FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; F420A1026C41E30B63C5174A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; F43B0BB64499285E4D2D65E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; F4C02954B36F8FCE5D4E647C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FakeMouseMoveGenerator.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + F540A6C3B4D4DD6ADD6E66C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; + F5433B13DD14B0762B4C45E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../../modules/juce_core/zip/zlib/inffast.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"; }; + F5FAB6389EDB9FC808BE5D73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/assert.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"; }; + F6BB9B02C04C94ADC160FC32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; F785317A2BB8414F5D8E2813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_WinUtilities.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; - F89668D992EB657D805942EC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; - 19590F837CF3298B056902F6 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NoiseGate.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; - F402880EDB009624652675FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; - F4CD72A3B13818EEA379A6EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; - F4E8427587734D0D2B94F4D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RTAS_DigiCode_Header.h"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode_Header.h"; sourceTree = "SOURCE_ROOT"; }; - F594549A67A6B48C0DBF104B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; F7B9CA2B12E7F8FF917770B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7C5C90D6EE7BCA2BE78A60D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; 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"; }; + F82416F1340728B0A34BD934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.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; }; + F899FD17F2789DA5C2BC257A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MusicDeviceBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + F90F28CD1D5B8D7E58919D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; 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"; }; + F99AADA9ED5F73C39AE618ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; 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"; }; + FA5C3295E813D0648A2E7543 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../../modules/juce_core/zip/zlib/adler32.c"; 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"; }; + FB0688F8A737107F83AC56EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAHostTimeBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAHostTimeBase.h"; sourceTree = "SOURCE_ROOT"; }; FB3084F5C855A1F0E34A8E6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; FB944E02BA2BDAF983BE9D54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; FC1FE9BB13A32E09FE204515 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; FC53D0542AB0E007C6F0EA0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FC5CF2545C78D9101B71EC09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + FC70AB66C49BAC87CB912BBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; FC9E8A3EB85B138139C98323 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + FD99F26F3E68C26BFB43AA1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; @@ -1005,18 +1320,31 @@ 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 = ""; }; E6820288B676579226126D88 = {isa = PBXGroup; children = ( C3D51E70C31B55C5F37D897D, ); name = NoiseGate; sourceTree = ""; }; - D664511DBB6FDB8F412BB11F = {isa = PBXGroup; children = ( + 3931BEFB2C2889D69B504B91 = {isa = PBXGroup; children = ( B449D9952E702909C133BF21, E97DCF658698D013CDD4A807, 99DBD2D02979E38C288F1C7D, D55687B3C041C9FD94D8415F, C6A9A10636624D5D1B63F6BD, ); name = buffers; sourceTree = ""; }; - D3F76EB2B8A787AE60798E4D = {isa = PBXGroup; children = ( + 4104C4A35AFFC693C978BF9C = {isa = PBXGroup; children = ( + AFB3197B2BE07ED91A0C5FEA, + 7545A462F0C8D4C00E9139B6, + C932E76A63B20E88EF1F8B3D, + 750758ECC540B541C7566CC1, + D99988F1251B1C59A8EC0A05, + 96302BC71AF750DF0F00ED14, + 2E6372C0453C24714BAF52D8, + F600E3EF3432A72F10575130, + ED5D91E0310FF5CBC1962AF2, + 9655EC304547418EE0F73AB8, + 092D7A87A801CF8AC2C40E3C, ); name = effects; sourceTree = ""; }; + 02D941A1F0A90DFB0DA3AC7D = {isa = PBXGroup; children = ( 4EDCF2BD923E25832D05916E, 0A360D5A0E729876A18A38A7, E042774BE22A3A962D71C21A, @@ -1026,17 +1354,29 @@ 16C4246BF24221CDA0DFB56D, 29EC2A0E5AB98A6431A80C8F, 57DF22B9C166595A356364F7, - E51E3C4D621A469C86F46BE2, ); name = midi; sourceTree = ""; }; - F5B423AD0462BF1A3A715C41 = {isa = PBXGroup; children = ( - C932E76A63B20E88EF1F8B3D, - 750758ECC540B541C7566CC1, - D99988F1251B1C59A8EC0A05, - 96302BC71AF750DF0F00ED14, - 2E6372C0453C24714BAF52D8, - F600E3EF3432A72F10575130, - ED5D91E0310FF5CBC1962AF2, - 092D7A87A801CF8AC2C40E3C, ); name = effects; sourceTree = ""; }; - E022A667EB8B2AF6709A2D4D = {isa = PBXGroup; children = ( + E51E3C4D621A469C86F46BE2, + 999B9F4C3F6091ADBA9421E0, + 569B70D86CB4966AFBAEB5BF, ); name = midi; sourceTree = ""; }; + AF7C6E762BB5984D6B018897 = {isa = PBXGroup; children = ( + BB1056A76B51437D49207330, + A4409A13BED13FDFBC5B4552, + 57EB3B0C971107A667B0B9DB, + BDF6569EACC07DC73258C685, + 016B625C850303B6DEFC8B06, + B16225EF7398EAE3D96ED4FA, + 4C27DB310396A866B2917A15, + 3FE30040DBAE8D28275C4533, + C6392B4465535F02C6C37BA7, + 488951B27D3508D6835C8BE6, + BEA30517C0F46A7F15548C27, + 1002C5D10559D446910ADEDC, + CB3093468EDB60AED639D308, + 2DE7F5CB550369147A926A22, + 3ADEE51FBB32B9E7CDD3A924, + 262F949CA9D33E194281DF14, + 8ADC67E56AA14EC05BBF681A, + EEBCF2E97ABC7735C5B1712D, ); name = mpe; sourceTree = ""; }; + 3430FD046BBEF538D33CF064 = {isa = PBXGroup; children = ( 71C365057920A8B25AABBCFE, 07AFA071D97D3E0EECED0DB4, B4A41AA6C0B39149FF262728, @@ -1053,18 +1393,25 @@ 84213C8680C3AAAF489747F0, F43B0BB64499285E4D2D65E2, F5EB0A8DFCB7CD91CF9CBE75, ); name = sources; sourceTree = ""; }; - 3466AD6E1186F6C7FF187BD7 = {isa = PBXGroup; children = ( + 1F3BB3A44B253D4F94A9BC43 = {isa = PBXGroup; children = ( F337D7C65DC5090A9A47C63A, EEDF6AB8291D205CC8F76047, ); name = synthesisers; sourceTree = ""; }; 2ADC259A5923E47E240184C5 = {isa = PBXGroup; children = ( - D664511DBB6FDB8F412BB11F, - D3F76EB2B8A787AE60798E4D, - F5B423AD0462BF1A3A715C41, - E022A667EB8B2AF6709A2D4D, - 3466AD6E1186F6C7FF187BD7, - 113C2009363F968B7E80EDE0, + 3931BEFB2C2889D69B504B91, + 4104C4A35AFFC693C978BF9C, + 02D941A1F0A90DFB0DA3AC7D, + AF7C6E762BB5984D6B018897, + 3430FD046BBEF538D33CF064, + 1F3BB3A44B253D4F94A9BC43, + 9FC8B1D81C0535EC5B6D0C75, + 6E74706D73837239FE5FB6BC, + 571B0C346579CCD9F6F9A6D0, 6E74706D73837239FE5FB6BC, ); name = "juce_audio_basics"; sourceTree = ""; }; - A09A86760E8E59AC1319BDE8 = {isa = PBXGroup; children = ( + B6B1D3FD2E8BB2CAC93DEF8B = {isa = PBXGroup; children = ( + 5667737D7AFBE57506EA08F0, + 4BD658660C6B6A5A67B93187, + BD79391479F73580810F52AC, ); name = "audio_cd"; sourceTree = ""; }; + 7106638B6E11A4FEBFF1DD95 = {isa = PBXGroup; children = ( BFE7B79DD4882AD3806DEA44, 6BD631AB6B0DE1F1048B4E99, 9527265F186C8189FB684288, @@ -1072,22 +1419,13 @@ FED254838DB40DD00AD90346, 6D66326CCD4E80F073289B5E, 6985DCCAE57E6FF9DF41D1BF, ); name = "audio_io"; sourceTree = ""; }; - ADC6FF963476D009C4940309 = {isa = PBXGroup; children = ( + 23357979616DE6EE368A2024 = {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 = ( + 6FE6CC76BC5303E93FA825ED = {isa = PBXGroup; children = ( 9459C80646EDC1167F484982, 2BA3A3E85E3D7AFE12B90379, C56B711849D2CD4C767789A1, @@ -1107,31 +1445,169 @@ 359EDCF3631597C425AB9A47, 13BC07D9C47420ABEF79E3C9, 3D194634199BFF294C166E5B, ); name = native; sourceTree = ""; }; + 2B3A6C437CC9CF5809B3A07E = {isa = PBXGroup; children = ( + A0B50A729CB25919EE133A4D, + 3376A1806C3FCEC8950298F9, + 031B11B5EC367F8A36BFAC27, + B33368278B6F11BE53199EF8, ); name = sources; sourceTree = ""; }; 2A9539AFE124BBD057A21CD0 = {isa = PBXGroup; children = ( - A09A86760E8E59AC1319BDE8, - ADC6FF963476D009C4940309, - 781928B44EAA7D9FAAEA5C0C, - 14E22D085E8732B61C5AEF96, - 82A10D8EF3E76AF9DC9E32C1, - FE0D2F1BCBB256FACA2A4086, + B6B1D3FD2E8BB2CAC93DEF8B, + 7106638B6E11A4FEBFF1DD95, + 23357979616DE6EE368A2024, + 6FE6CC76BC5303E93FA825ED, + 2B3A6C437CC9CF5809B3A07E, + 938C9D9676264FCB2150FCEC, + 37F88926AD5D61EBFFD6F58A, + D32D31BDE76500648D64B7A6, 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 = ( + 9A0B1D62E8068030CF1FD470 = {isa = PBXGroup; children = ( + 44D7851E8B024A5864923CE8, + 56E76B31459EF0E1C4D2D5DD, + 504AFDA26EACE4139DE5B900, + 9F53388B3A4667994AD93E8D, + 7DA260E1958D9AACD2CFE869, + 54B910317BF8F4DFF6581B6E, + B581022D1D0521E0867F0B11, + 461F1350289732B7273B51BD, + 158C6178EF53C4C26112575C, + 670C0085BF35AFC8F7018C8F, + 2774DC6AE76E7BA5D05B1D5C, + B135B7ABB572DE03324CFD7A, + E327F983F42F14C56CD3109D, + 3ABE8C725056139DC13BC4F5, + BDD477D9D9CAB50B54621C1F, + 75D267EA9F4BF0267E973FAE, ); name = private; sourceTree = ""; }; + B27C2A4DC20F5BCB2A0FD448 = {isa = PBXGroup; children = ( + 7BCA400C1A7F0B0C44F78BB9, + CA3FC1D0372AED96BFDE1260, + E898384C0DE84F5BA0165124, ); name = protected; sourceTree = ""; }; + 4155E070916B492E7EA3B2AC = {isa = PBXGroup; children = ( + 9A0B1D62E8068030CF1FD470, + B27C2A4DC20F5BCB2A0FD448, ); name = include; sourceTree = ""; }; + B9AFE0F40EC17C2F8A1057D1 = {isa = PBXGroup; children = ( + 4155E070916B492E7EA3B2AC, + C6D44F93049484029FC1B9FC, + 9D366DD91CD44CED6934A26A, + 3BB538E7A54210B7CD19B781, + 4693182ED9E0B5E1B7354738, + B12248101A782E8895F0E7B2, + 9998DD31ABBEB8513422A48B, + 8877CDD515E6B656098B20C2, + 2E15B23B7BB55D70E9B1A6A8, + B3676D1AF2E6611F5688FE82, + 79123AD075DF679CBD0CD0F5, + 3475B492491BFF4A3650B06B, + C3E3D183B74C6DC11DD24A8A, + F540A6C3B4D4DD6ADD6E66C9, + 8D1673207F61D7CD209AE58A, + 3B7243CD979B461F8DBD1F2C, ); name = libFLAC; sourceTree = ""; }; + 9544EE70FC3284D6F4705DE6 = {isa = PBXGroup; children = ( + B9AFE0F40EC17C2F8A1057D1, + EF5B78420B4675757D1997DB, + 0688EF9D7A94D7B689D4D247, + F5FAB6389EDB9FC808BE5D73, + D06FF4E96F942AA4E4A68500, + 7345795025B3A7A56A143F58, + DCF142D024515BD048CFC8FA, + EFD13062529F0984FE9D700C, + 38190D3D78679B0F7FDA7895, + 6E7BF6A15601EBD60D4B9A8B, + 7BABB05AC2CFC2D4D75DA5BA, + 583B4CE65B1966C4D62414B2, + E2B40B3ABDCA6760A7280892, + D835D001E54698900E9F8567, + 22B0F7CDE97B294B59FDB5FE, ); name = flac; sourceTree = ""; }; + 4BE587B41898AC86291A1478 = {isa = PBXGroup; children = ( + 865AA1F62812A0984F048080, + 9AD6A70D08B644E6406BD1E2, ); name = coupled; sourceTree = ""; }; + FCD7C0C23281B3C8B5307CA9 = {isa = PBXGroup; children = ( + 2C154151AD8D2295F743A7E6, ); name = floor; sourceTree = ""; }; + 0CD0AB1D35ABE377D0F7714E = {isa = PBXGroup; children = ( + 9492CF7B606C6F3A68ED8048, ); name = uncoupled; sourceTree = ""; }; + 947DB935F95D316F70888F3C = {isa = PBXGroup; children = ( + 4BE587B41898AC86291A1478, + FCD7C0C23281B3C8B5307CA9, + 0CD0AB1D35ABE377D0F7714E, ); name = books; sourceTree = ""; }; + 853FD8CABE8C582551DF962C = {isa = PBXGroup; children = ( + 718A84ABD2C30A23583D9484, + C2077DC237628E3B579C83E2, + 0D3B788A211BBDE46A3B119F, + 675BF7B6236721616B1BDBD6, + BDC68C774FBB771235D4F40A, + 530EA19F72B7574ADC2AC56A, + A646B572F7C1317EC625ACB5, + 310CDB13DD4A06E399C9D49D, + D1E37FE520A9321D3523C891, + 951E7EF0AD1CB490C165CC73, + 5C17336C95F8F88CFCCBCDFD, + ADB151A85FA87A5DD34184A5, + 483D41BDF652BD913E8D859F, + 0FCEE7E1ACACDB0801F47E92, + 3BBDC22AF48E951670722D24, + 62FB9C05DD13215D22A460AD, + 56CD0DED564D4CEB19D38795, + BEB3F1710017F479A88AE990, + 970832BB3D7B3F1D404D36CE, ); name = modes; sourceTree = ""; }; + 9CFE46B712B84DB476836EEC = {isa = PBXGroup; children = ( + 947DB935F95D316F70888F3C, + 853FD8CABE8C582551DF962C, + E71A8B8AF4BCFE982C74C025, + 7D07AC0389FCB9760DCEE401, + 50B976289B771F14808F3348, + 22B0EBA6902BE8D49ABF4608, + D5A1E25D5148414F8B576D75, + FC70AB66C49BAC87CB912BBF, + A0189ED3EEAACC00AD4649EE, + DCEE361107E0A29D794E336C, + 2CDC4FEE7E0F485265078DC8, + E92C3D16ABBEEFE2F7BE171F, + 044DB9539D0B486B27FC3B4F, + 506190F3B130CAC8FD0D4DFB, + C0438E9748ED06ED5056A63B, + 48779315A60EDFC8E48513BD, + 087726C3C73AF8771B4FDBFF, + 1EF001F49C79098DCB19D080, + 77AFE67A7BD3D8E7D83B6ECA, + 3966B5435BFFE484E316A0F4, + A94E704A44E8B09A4E6D2A34, + C3C3D5EFDFA8FB7AF31CAC3F, + C1DEF802949C3B3DA16D7920, + B52A40FFC14AC15B3E5C20CC, + 99711B22BB54CC86045B2C95, + 79F84054DBC9071D1D333D46, + 9D67999CB8A7EA49B548EF9F, + 97AA8237C44B2CE1866E8B0A, + F99AADA9ED5F73C39AE618ED, + 394E6CC24B206374A9D6E373, + E7DC4E14ECCE13E8480DA743, + 72A7297DD772150BBD523E37, + 1053B978BA8A4EE527467C3C, + B90A9ABFA10CC5536F4EFA43, + A092D24F3C62D06CF5928A64, + 1AA48FB0BF5726DCFED753F8, + 073FE219F32363AFAEAA162F, + A60051D9A5CC4F49095938AB, + 52168CDFC697EAE790768DA3, + F6BB9B02C04C94ADC160FC32, + 12FDAD4643EB813DBC506728, + 4635AC0279A9E35102D2D426, + 251BE3EF1AA04198D958AC50, ); name = lib; sourceTree = ""; }; + B18C465CAF6D5EC10BEA9B51 = {isa = PBXGroup; children = ( + 9CFE46B712B84DB476836EEC, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + F39DBC88B74009A39320255B = {isa = PBXGroup; children = ( + B18C465CAF6D5EC10BEA9B51, + 0638946C053972602E8F1B46, + CDB4494BF6004D59871BC2D8, + DD9AF467513DB78B8C164B39, + AF9FE16AA06907C7B19B9642, + D602A07DDC281230A9657C14, + E702F26E44EF96D8AD60E386, + 676F1BF540F5DE1797C07EC5, + CC1C038B7FDF42657A87D765, + F7C5C90D6EE7BCA2BE78A60D, ); name = oggvorbis; sourceTree = ""; }; + 36384E18677440CB983DC21B = {isa = PBXGroup; children = ( + 9544EE70FC3284D6F4705DE6, + F39DBC88B74009A39320255B, 39330A1B1B7B8221577B5287, 6CD074CDA8DEFA180E6AD3B0, 1853368999546D379A6D8836, @@ -1150,34 +1626,109 @@ DF93ADD8133B5683DFC43FBB, 9A0A19875BF42ABAEA7BE5A8, BF7D8E074246E8D83D82C1F2, ); name = codecs; sourceTree = ""; }; - D9FAAE034A4F079CF96F898C = {isa = PBXGroup; children = ( + 597BF5B53AE556E3A80104CE = {isa = PBXGroup; children = ( + 6AC1405BEB186F228A9D76A0, + 52FA0D3E327CD3CF1E2A6DF5, + AFDD8CAE90BF333353BAA597, + 021767D388A9A733BCD659D4, + E8D4C7DCDA344126E0800B7F, + A8B3C644EA42C512C4E3501B, + CC1A596118DDABEA4B806A21, + FD41B287ABA4D47C799CF726, + 06479087567B237274BC06E5, + C37BB9C8E9EF74698822F5E5, + 7280342D6AE931431B7BC437, + 0A15F7AB7CBE317A76BF7859, + 0E433B3D05C0F0DD6F98DD85, + 2C1F280AEDFA0E475E93E29D, + ECAF353698739976F56D6A02, ); name = format; sourceTree = ""; }; + 9AC3CBB26D9EB5CB086229AE = {isa = PBXGroup; children = ( 8325FAB2F1C53F2F23E8EDA2, 9063A693E9C3596B0E7A4585, ); name = sampler; sourceTree = ""; }; 6A5DB6542EA9C97231C1D374 = {isa = PBXGroup; children = ( - 094731E875EF9A4D7B4732A5, - 2B187F5729C4D7D79560A70E, - D9FAAE034A4F079CF96F898C, - 7888C501B8C62319CA9C7C95, + 36384E18677440CB983DC21B, + 597BF5B53AE556E3A80104CE, + 9AC3CBB26D9EB5CB086229AE, + 011F4EB09E74A50BC75489BE, + 259860F50BF88025C9451A37, + 5BB1BBCB34B72DCE9B16B695, 259860F50BF88025C9451A37, ); name = "juce_audio_formats"; sourceTree = ""; }; + C87C608E9A5C5E6E7E794076 = {isa = PBXGroup; children = ( + 218937DFF1E643C7E9392D3D, ); name = AAX; sourceTree = ""; }; + 0F13F4CD7D902B9D2DA69DC9 = {isa = PBXGroup; children = ( + E9A6A98219D0E4514484593D, + 79A8D43470A0E32CB2CBED38, + 2FFD0F266380C00C3601F7CB, + 6D9DE23DD863E2E112F45573, + EAA1388F62855D5675879D7F, + E4E4E4C7BF91EE480FBD36EC, + CA78A79B0A749DEAD98D7C44, + F135E9B6A9FB95325F02CD89, + 5947287DFB39DB274AFBA860, + 0B7940F601240C72B3A85C7C, + 632DDC970397B14F74D60440, + 68A7594134D1E9E7A08BE1FB, + F983B97EB7A763CA91C2B615, + 81988BC9ADA32C6436FECADD, + 78F0E6FD7AF95F7440C0291C, + 7AB158D65BBBCE95A368F151, + 6D715C6DCD4B434191EF3FAB, + 17106B2F8183E77DB5CB1791, + 6A92B216507ACE160A5BF774, + 2890C33900381D61AFD920B1, + 524887D5E771D7D77E4A871E, + 5358F77CA28E955BD172B6F7, + 9E685F6C42796C5B486A08BF, + 1D3D97C6C8D92F3D5C96FF29, + 972ADF1885948B944FA55553, + 67E8E853227C766C4F3822CF, + E305E4954D59AE08FF72B061, + BEE5B13A01C8ADA10F96E6F0, + 07B3FF3E2F2A244D56A279EF, + AF876AD72EA63EB4B1EB2D18, + 597386A458AC5E4D64C18066, + AA33F25349BDC49615D80F69, + 02A6F124658662ED5F8C4D99, + D2737CAED311D9A037B20DCB, + E6E0544A1A5D3BCC43AAA3E0, + CD064E27122F1636CC1082C8, + B329503C544E959A9BC1EDD5, + 17224629C5A04A2D8C311535, + FB0688F8A737107F83AC56EC, + E83A9D77BD7425E4CB35F65B, + E4A40217DD45BC6D74DF0524, + D3296D3D3E27D51539A976D4, + C6133FECB081DAF238300AF3, + 4275D558603AB0A1E56194E7, + 25A0A333820A4A370209B486, + 29E58059BFF2E9C561B0F036, + 3FC57131CE9EA206DBA5E7B2, + BF4DB64484799331FA3D5B8F, + 53B330EF8F975BD0F526CAB7, + 1CAE5EE1224BB19EFA785644, + 1ED6921F882C7B4B5DB46853, + E5400FA9DC8C3F72541E4880, + C78B7248755985DABBD1440E, + 8FB12723AEFDFB9D4F3469A0, + C617096451F177459C4C667C, + F899FD17F2789DA5C2BC257A, ); name = CoreAudioUtilityClasses; sourceTree = ""; }; 3D494EE356FF362ACDC1098E = {isa = PBXGroup; children = ( - CB425D61E072DED92F6CAC85, ); name = AU; sourceTree = ""; }; - AC430AC594AF7FFB61CE4327 = {isa = PBXGroup; children = ( + 0F13F4CD7D902B9D2DA69DC9, + 3105E167622313C70055B903, + CB425D61E072DED92F6CAC85, + C6C096547CAD0C12FA4746CF, ); name = AU; sourceTree = ""; }; + 7188C9AEA767393C223A5803 = {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 = ( + F785317A2BB8414F5D8E2813, + D0A3F2265D323BB3F90F3DD5, ); name = RTAS; sourceTree = ""; }; + C681F67747E80C4D05C41413 = {isa = PBXGroup; children = ( + F4D616BD3FAFE9587EC29FC6, + 5202ABFCC92AA0AFBC9400BE, ); name = Standalone; sourceTree = ""; }; + 5800B1C18680BF3EA8806892 = {isa = PBXGroup; children = ( 210E0DDAE66818EF2B278274, 94F3D0138EBB7EB31E15940C, F4C02954B36F8FCE5D4E647C, @@ -1187,16 +1738,55 @@ A29D254460762F8F6990D54C, B9A21AE64CC4B86FC1F67061, F35CA755BCEF635E1D3A905C, ); name = utility; sourceTree = ""; }; + 4083DD4A6818D524406ECDF6 = {isa = PBXGroup; children = ( + 906428E1A9963444AF1B0D60, + 69A29D8420DB0B53507E223D, ); name = VST; sourceTree = ""; }; + 430F3673E2829D691E5A9ECF = {isa = PBXGroup; children = ( + CDE1B83C996A1861A93C93A7, ); name = VST3; sourceTree = ""; }; 3935AB4CC6A0A44A4A93B7E8 = {isa = PBXGroup; children = ( + C87C608E9A5C5E6E7E794076, 3D494EE356FF362ACDC1098E, - AC430AC594AF7FFB61CE4327, - B035FA1EDBC6BBA641CD0820, - 2FB61D480050B4665414C186, - 83A336F4FF99A9F2025BD4F3, - BE2F312053D2BB91C680C878, - 2A6FCD9335B2647CB4DBF944, + 7188C9AEA767393C223A5803, + C681F67747E80C4D05C41413, + 5800B1C18680BF3EA8806892, + 4083DD4A6818D524406ECDF6, + 430F3673E2829D691E5A9ECF, + 163F8CC7509513B483860103, + AF02EDDBD4B4B8081DC18DA4, + 9E2841D274BDF096C1567AA0, + 68810A5E034BC83F99EFE3B9, + B7CEA623FCCB463BF8058A7F, + 9771DD4915BE1789A7993E69, + B6675396FF687CF524AC669D, + 68382601C8A92F15E35ED5E3, + CC417DB76F502C700AC7F410, + 7E32914408484A7CD26BEBDA, + 52DE9B7272F528CD0B1040A5, + 7F0BD57E095C99232DCFE4C1, + F1CB6D49DB1411C0FEB64314, + 1769D44BDA0B8E64864EA673, + B7AE91A155F7FBAA5102C8A7, + 9D0EADD58202012822195D8F, + C5ADD5DD0AFBC087E7ACCCED, 163F8CC7509513B483860103, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; - 10E105C90B08143D3A704C82 = {isa = PBXGroup; children = ( + 949CEE4B50C9FCC64A4C9ADB = {isa = PBXGroup; children = ( + E542BB1541FF0594DC31C41B, + 11FC9FFEFA7831562BF81237, + D0EC72DA701E189E29375541, + 6DE13E77994751144B4E8BFF, ); name = format; sourceTree = ""; }; + AC844506822152AE0161DCE1 = {isa = PBXGroup; children = ( + 4BACF3260C3D989D1134FD27, + B57BAEBC65AD0A82BCA41C25, + 2E7C45A3DE967DA2042E77D8, + 110A2791839AF0A8A3EAEF83, + C7112156016984DD3F77B39F, + 15D9387120B61E7C407F2C76, + 05085296947E594C821B4B99, + E59436CDDCF0D85D9D70069D, + FF8FFE608168896DE86209DD, + 380147C3BE63B15FFA951023, + 899CCE2491A041C70D8B77C7, ); name = "format_types"; sourceTree = ""; }; + 971E5781732B5E6A389383C1 = {isa = PBXGroup; children = ( 3489215355E69474A575950B, 3DC1CD01357795B9A88D002A, 509F5E0BB415297C76CB79F4, @@ -1213,24 +1803,7 @@ 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 = ( + 061B5DC88D5AC0B6693BFFCE = {isa = PBXGroup; children = ( 9602F721F59305974F6CD26D, 7753227ECB2EF9F985DD9588, 8A1F5A87C3B2CCEA93585F83, @@ -1247,64 +1820,16 @@ 45F28DC1BCF1DA9E48DE7C13, B344E0D80D145578D5EC63A0, ); name = utilities; sourceTree = ""; }; 53E84A87793B1E891A92D8AE = {isa = PBXGroup; children = ( - 10E105C90B08143D3A704C82, - 8457DD8E9B1952F5D5013840, - D2D2E65BAD2BE294C81A319C, - 36A3370EAF44268B864AE90E, + 949CEE4B50C9FCC64A4C9ADB, + AC844506822152AE0161DCE1, + 971E5781732B5E6A389383C1, + 061B5DC88D5AC0B6693BFFCE, B55E5E5FF300B7364E863B66, - 4242C84CE6D479764B2D81AF, + B5D049755C51850643A8FDD6, + B0E97BE292E3D682C05BA857, + 09899AE59253C596E1656F50, 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, ); 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 = ( + 512B5CF1FD922990AF17A71A = {isa = PBXGroup; children = ( 9029C6942C1C5585E011E446, B2A5E524FE0228BC5580B341, D2C8FEE4DB448F37F759A8B1, @@ -1314,6 +1839,7 @@ 1C7FF524BBD0810430CF06D2, A79A2F454A734BF87399A9F5, 65E98340D35A2BE70D0534C4, + A9C5A07DC31D544051025C80, EA8723E2A2C8F0DD058F9665, 9EB05C378008BD43BC552E33, 9DAB02E651736622947A4879, @@ -1325,37 +1851,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 = ( + 9EBEA574D1AB186FADEEFC4D = {isa = PBXGroup; children = ( 3ED2CBBCD8CD636730F6771F, 5F74A97551ACF53D3B0E8C64, 949DD226687D344E9283CB08, @@ -1373,76 +1869,56 @@ 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 = ( + E0EDD73B2B37B0E29CD17C81 = {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 = ( + 04CB69FD5D9A03606176B722 = {isa = PBXGroup; children = ( + D7B0A641A7E4712684E9A640, + A43DCE541DAFF4006D5405D7, + B4DAFB8487730AE269E43884, + 468373D46C5C57E03996416D, ); name = logging; sourceTree = ""; }; + 8CBA6B2FF153E5EDF766C9BE = {isa = PBXGroup; children = ( + A6DF6B266AF10288904DE600, + 244DAE5DD057A92C4C19A291, + 291DA858F3C31972114C981F, + 35E15B692B6FF5A8C47E1D3D, + 0ADEB527308BEAB637AD5B5B, + EEF0BC764D4CBA4BD1B4FBE6, + 1E6EEC0D5E5554F99D3A8CFD, + E1749AB50AA3B62DD375E289, + 00F9E4426F088AB1162FFFF1, + 1C6DBFCD7ED0CC51E849FD3F, ); name = maths; sourceTree = ""; }; + C53052F8FB993454AC3710CB = {isa = PBXGroup; children = ( + CC41AC554B5D05714FCBB88B, + 431A24F749CE6A59E72C3BE8, + 1C8E428921E2E5D05BF033E8, + 377B41D7E08C498478574A22, + 09F7F5DCF77CF3145D78F95B, + 55F359FA31D7FE4CA10AB533, + 527B81443EEA639CE421A986, + 47E8924D97788E68FD007DFE, + D194AF9CFE01AA83DE2B4DA4, + FE1CCA38AEFC870EEB2D7322, + F402880EDB009624652675FC, + 772629D09ACF6F8C7EF11488, + A9175171BA93DAAAC1AC4E37, + 0A99BA740CE12F768425745F, ); name = memory; sourceTree = ""; }; + 2D03B5B50BE0BB4D46B45F98 = {isa = PBXGroup; children = ( 4948EE5199F5B112D3D5A956, 54C589164FD3EA4F554736F3, + 06BEEC7E0D01589083CA72F0, + 761CA817E33B88583228E4CF, C761A5B883ECF6DBA8077CC7, 7155A28CFCE5A8F05412E404, E0DF5E7137B66A045651DCCD, ); name = misc; sourceTree = ""; }; - C03ADB384D5A1002DD4B58AB = {isa = PBXGroup; children = ( + 4C85C88771730309BDB8ABD5 = {isa = PBXGroup; children = ( 3C3243F7C991EB9425F3AA42, 63B0FE69CF927E472DF13FDD, 54561AF285C8F669CF192485, 97FA2AA9019B9B36EC4242B5, + 69345634341DCC1E795E4462, A0CB59F4AD5D67685CD8673D, 0E060EC8BD30C332B0F9BC88, C2627DFC4F61667B56ECA167, @@ -1467,25 +1943,155 @@ D7B265D488E8FA7FDDD97345, 99CFD965842860C4248EFB4F, ABE7A497CEE401B2C3225A2F, ); name = native; sourceTree = ""; }; + B5E06941FB5419DBA4DCED60 = {isa = PBXGroup; children = ( + CFA9DC97C28490B1717E8577, + 6326AC7313673BB1EACAB1A7, + B45121C8111326B9C6A4464F, + CD80767044CCCAD2AEE92AAC, + 168C728EFBD470B30E87D9C5, + 40D306B2EBC7C4D75A0F4D98, + 3119C964C1406136A1A5E5BD, + AA9B31B85C75B0CA6DA24741, + 88D314EEFFC356133A574058, + CB9FB800411BB27FAC82E799, ); name = network; sourceTree = ""; }; + A63B8B9E6C9A52CF0852F71A = {isa = PBXGroup; children = ( + 6BAA3A86AB3C52889E1ECC35, + AFEF9B9BCF1BFD72D1CA72EB, + E2DE41B93814A00DC2A8C825, + AF36796810B3AD03C7EEF00B, + 9F5C521FCFAB9BD273073B55, + 3274667349758AAC25475771, + 2BCC34D4111803A97CD75B90, + EB4E1684047679E02F10405F, + E6AA6BEB52682AA5368A8DB7, + 867F6834281C8B941D0BCE1D, + 9F0F2E14CFA9F3D6A25E2B38, + 8229569DD242299C07516F19, + 851EB8866E638EB89D95F91E, + 1FB561726E6C70B09085F228, + B642AD759F4C5349064EF011, ); name = streams; sourceTree = ""; }; + 1B2BFE332DB53B3A7D322525 = {isa = PBXGroup; children = ( + D98EDE0EDC960BE999A21A3D, + 05C53231EA20EF3D30289E89, + 6EB43778A246E013A1F78F47, + E660AB2450E2C876A93969B4, + CB208336B1C9C1D9AA906BB2, + 82059768E792710AD7558E86, ); name = system; sourceTree = ""; }; + 1DFA5646B3804629CC615D68 = {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 = ""; }; + BFAD680263F2DEA823476C5A = {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 = ""; }; + FB3BA6A5D34EE595C008BB4D = {isa = PBXGroup; children = ( + B2329BE06F6CB7B939F2707C, + 6A6F0D3243A18E80597F1CB3, + 8F7882C3430ADA0808B79C6F, + AE9D531EED18AF8A0F6DBD27, + 9527C3863B515C3C37475E6F, + 010613C644BE3D59642B0236, ); name = time; sourceTree = ""; }; + 48E16C8ECF2917B048BE4B4B = {isa = PBXGroup; children = ( + 6AD6AFD0F47042AB8C5C5084, + 6EFD42D9FC7176D6B6BA4676, ); name = "unit_tests"; sourceTree = ""; }; + 60821E3DDFE487E8CBE12192 = {isa = PBXGroup; children = ( + 85B9E97C3FC7D20270A420B9, + 016F2A51F3064D1BEDE560D6, + 5141BA1C184FB8A9EFD526D4, + C87EF309B572BC3315310202, ); name = xml; sourceTree = ""; }; + B1C759DCF5E63EFA631BF6DE = {isa = PBXGroup; children = ( + FA5C3295E813D0648A2E7543, + 641EBE3FAA512B88F9507442, + 43DDBF97D50C73B60839CF68, + C995E23F23893078233D9120, + 9A82F298785B858993CCE61C, + 2349961E663C306707BA2321, + 79BF907007D96E8998BA26D0, + 902E260D6333799E8C515CF3, + F5433B13DD14B0762B4C45E2, + B7B5E95C93C92FCCEFB7DA0C, + 76EA5F0CBD6C66178CEC65DF, + C24B477AC130EFAB0AB23177, + AD4CA0CFA85B5A8440F2C389, + 5B7D58FD2915BEF12A0A026B, + EEAD433B4BB5D862F5A23D2F, + C816EA1619D99EF2A329B031, + B7F9A0B182DDAEF52B348DA9, + 81265A970F58419A74AA54C9, + 4A34E8848305FA1823ECDDB9, + 9DF06DEA20D7CC5B7784ABB5, + B17AAEE6E7F21E912EE5B1E9, + 0282ED9B79F0D5DC8E7AFD86, ); name = zlib; sourceTree = ""; }; + EF46384BC469CDE48B2F6BBF = {isa = PBXGroup; children = ( + B1C759DCF5E63EFA631BF6DE, + 37A9DEFE946EFD55603FCD68, + 6DA49C26C3B415085CA1790F, + 5286DDF39FF963F64130D6B4, + 45795B5AA2EF4B1833388362, + BC3AD0B0EAFB9202A4628D87, + 90F5999238215FF56EED77A3, ); name = zip; sourceTree = ""; }; 249D1941FF86F416F9F810CF = {isa = PBXGroup; children = ( - 0D1DBAE663EA393FE3F63392, - 1F49A7806E9E0423808831D0, - 49F35F6DCAD57E910918B3C7, - 8973798E2696DF9590D6AEAF, - 89FAA9DB257E050FD95CF4C7, - 400F0C78737446D467ED5B72, - 00C641185B4D7169422DBC8A, - 9CBF3B8E385202A8AFA84262, - 314F2CB8D49376C02C809721, - DFEAE77B7B5985B91F86C43B, - 2D967AF01CFE49CD9AF2F76C, - BABC7493116FDD64B6E3FD1C, - 7AFA7CBFBF33562A0C6A5A2A, - B9DEFDD99F2D08387BF07B73, - F2569B992EEB41C18F374867, - 567F00BF66D1134BDB905F20, - C03ADB384D5A1002DD4B58AB, - CFEC3C2BE4EC9AC34D1FC1F0, + 512B5CF1FD922990AF17A71A, + 9EBEA574D1AB186FADEEFC4D, + E0EDD73B2B37B0E29CD17C81, + 04CB69FD5D9A03606176B722, + 8CBA6B2FF153E5EDF766C9BE, + C53052F8FB993454AC3710CB, + 2D03B5B50BE0BB4D46B45F98, + 4C85C88771730309BDB8ABD5, + B5E06941FB5419DBA4DCED60, + A63B8B9E6C9A52CF0852F71A, + 1B2BFE332DB53B3A7D322525, + 1DFA5646B3804629CC615D68, + BFAD680263F2DEA823476C5A, + FB3BA6A5D34EE595C008BB4D, + 48E16C8ECF2917B048BE4B4B, + 60821E3DDFE487E8CBE12192, + EF46384BC469CDE48B2F6BBF, + 3FCAC060EB649E790C494124, + FB944E02BA2BDAF983BE9D54, + 73567EDFABD366280D6C1D45, FB944E02BA2BDAF983BE9D54, ); name = "juce_core"; sourceTree = ""; }; 1D5389EDB8346530B5872A1D = {isa = PBXGroup; children = ( 355EAB1BFEA4C1D23E555933, @@ -1494,7 +2100,7 @@ 80A5F4F613C744742061F4C4, EC29D7BAE8B0830382603A53, 146BB3E307B4CB8D4AC87253, ); name = encryption; sourceTree = ""; }; - 4EF745C8A73F4985BEF57BAF = {isa = PBXGroup; children = ( + 614C36334C19BB20E5FCE8C7 = {isa = PBXGroup; children = ( BE959CAE23A6B132936F35D9, A98DBC09FFE32743F0AC6C3A, 1042E64811FFE832B224A59A, @@ -1503,51 +2109,38 @@ 710964C343091482657618B3, ); name = hashing; sourceTree = ""; }; 54BB2161967C24C4746304D5 = {isa = PBXGroup; children = ( 1D5389EDB8346530B5872A1D, - 4EF745C8A73F4985BEF57BAF, - 5C23B5AFB8210E706D0365D0, + 614C36334C19BB20E5FCE8C7, + 5FF49741ABB5C8D6C11547BA, + E9CB094045359F2FD17F9414, + C9BE47AEF1E79DB6784BD6E3, E9CB094045359F2FD17F9414, ); name = "juce_cryptography"; sourceTree = ""; }; - FF9549D785A5889A35B81054 = {isa = PBXGroup; children = ( + 9F588E2807C366B4EF676AD1 = {isa = PBXGroup; children = ( + E8A136F49B3A339C5EA46BC0, + 28EB2326814154D6B1908AAF, + 5D8F32B127469E8256C49D79, + FAC04F8CCDFA8DB3650F1E01, ); name = "app_properties"; sourceTree = ""; }; + 5B0B169412A4DF98526DDCB1 = {isa = PBXGroup; children = ( + FDEC051E9964D7A9E9CA0BC2, + 14833838F2A24201DCA1A1FE, + C8C90957F833D794D3E41A55, ); name = undomanager; sourceTree = ""; }; + 7D93489EF973155A1B3DC963 = {isa = PBXGroup; children = ( + F82416F1340728B0A34BD934, + 6E2400DAC873FE371D65D5BB, 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, - F0669F13619CA7A33A7411A2, - D90F38BB979654DD563C599D, - 5902C0037E45FB09355FB85B, + 9F588E2807C366B4EF676AD1, + 5B0B169412A4DF98526DDCB1, + 7D93489EF973155A1B3DC963, + E1A6F6BDED33989D5BB1237E, + BB1D32224A52A6C18E5B070F, + 7A70E8857008EFAD0BF2907C, BB1D32224A52A6C18E5B070F, ); name = "juce_data_structures"; sourceTree = ""; }; - 73DB4F4E2F32BD4430EB19A2 = {isa = PBXGroup; children = ( - 4C2CF6BC5BDC337F11F8E64B, - F4CD72A3B13818EEA379A6EE, - A22C5A20F8933F4687CCFC3A, - AF563E2B3A71986FAC5752E9, - 2DBA2F48AF1591A3EB1B0C21, - 23EC87036185E029191B5050, - A777DFBFEF3B792691DF6D62, - 817254968841790E2AC48A8D, - 2A9053CBBBE01FAF1FFCD596, - AFD145893BF83A2A7F6AF45F, - 9C48479A55EBFC4C22D4B7B5, - 4D71E182174E0F079AB8CB7C, - D8C972CF2357B2D6A0C0DCD2, ); name = messages; sourceTree = ""; }; - FB7E5B2BD70D68734E694FEF = {isa = PBXGroup; children = ( - 5DBB2D6F3FD790CB78A47983, - 679AA0DF4863D202C69AAB05, - D5AC8013B3E2933223D967D8, - 5B31D6CFE1A606034287E571, ); name = timers; sourceTree = ""; }; - F54258DCA4B4FA203EA0145D = {isa = PBXGroup; children = ( + 40E9A70358BAEC9679466EC5 = {isa = PBXGroup; children = ( F594549A67A6B48C0DBF104B, EAD095A921E8D35489B6F8E6, 92E608B39DF214BF7DB9675A, @@ -1555,8 +2148,7 @@ 6E774756F601F41E87ED8F4F, EF6241E2090C80185095EB47, 3716F81408159E9307118FED, - E5B3A88A39DCA9224EAE360D, - 55F6E36F65E1E0A89EAA9FBF, ); name = broadcasters; sourceTree = ""; }; + E5B3A88A39DCA9224EAE360D, ); name = broadcasters; sourceTree = ""; }; F970DE3D45574C2DFE7C9C16 = {isa = PBXGroup; children = ( 3E224AA9A88BBA37C77D51F4, 2D41BDA9FB2BC252594B5943, @@ -1564,7 +2156,21 @@ 7F190C98C5FF63E22C54B737, 5594AF89F8EA68B7F0296F78, F95DCA1F439FC2CFB7F24794, ); name = interprocess; sourceTree = ""; }; - 9AD52157F8B430D3C11F87B4 = {isa = PBXGroup; children = ( + 0EAC6A903DD09A0E73BD9B75 = {isa = PBXGroup; children = ( + 4C2CF6BC5BDC337F11F8E64B, + F4CD72A3B13818EEA379A6EE, + A22C5A20F8933F4687CCFC3A, + AF563E2B3A71986FAC5752E9, + 2DBA2F48AF1591A3EB1B0C21, + 23EC87036185E029191B5050, + A777DFBFEF3B792691DF6D62, + 817254968841790E2AC48A8D, + 2A9053CBBBE01FAF1FFCD596, + AFD145893BF83A2A7F6AF45F, + 9C48479A55EBFC4C22D4B7B5, + 4D71E182174E0F079AB8CB7C, + D8C972CF2357B2D6A0C0DCD2, ); name = messages; sourceTree = ""; }; + 5A5DC35809E875909D745E10 = {isa = PBXGroup; children = ( F7B9CA2B12E7F8FF917770B0, 47368FEC775E6891C69A130E, 7732D6F826B3A00BBD076D62, @@ -1573,15 +2179,22 @@ EE4F068BCE9F99CE4CD2B12C, 7EFD0AE6EF841C055B77EDFB, 8E3AF695CEB5967D1BD8A8B4, ); name = native; sourceTree = ""; }; + F6C5ADF66544FB96687ED7FD = {isa = PBXGroup; children = ( + 5DBB2D6F3FD790CB78A47983, + 679AA0DF4863D202C69AAB05, + D5AC8013B3E2933223D967D8, + 5B31D6CFE1A606034287E571, ); name = timers; sourceTree = ""; }; 9F994618EA69D855BF1E53AD = {isa = PBXGroup; children = ( - 73DB4F4E2F32BD4430EB19A2, - FB7E5B2BD70D68734E694FEF, - F54258DCA4B4FA203EA0145D, + 40E9A70358BAEC9679466EC5, F970DE3D45574C2DFE7C9C16, - 9AD52157F8B430D3C11F87B4, - 6F849E7BA62C4F330B967A9A, + 0EAC6A903DD09A0E73BD9B75, + 5A5DC35809E875909D745E10, + F6C5ADF66544FB96687ED7FD, + 8773A86B9099B78870042561, + 4BA8C030EBAD032677A603EE, + 5AA69838B316B1670C17274E, 4BA8C030EBAD032677A603EE, ); name = "juce_events"; sourceTree = ""; }; - 06F0DCBA355438E79253F64A = {isa = PBXGroup; children = ( + 060F80CCC459FB5FEDC19C70 = {isa = PBXGroup; children = ( E8BBF44B7673E317EEEE4E6A, EFD508C1B0EBE495BAD89C14, A6953D583BD061BEDFDDB8E1, @@ -1591,7 +2204,7 @@ 8B486E598F012F91FA7559C8, F0E1EB0020203D86322F7565, 4F9DC6FC10A9860EB85F5FC6, ); name = colour; sourceTree = ""; }; - 3E02788AE11A43EFC7C24F9D = {isa = PBXGroup; children = ( + 787FB9D0651691FFC0E74045 = {isa = PBXGroup; children = ( 47999534421CEAF777EB18A2, 873AB549F9D4BB2CB942B021, FC9E8A3EB85B138139C98323, @@ -1599,20 +2212,26 @@ 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 = ""; }; - 2FC8217BC73109E12871D5C9 = {isa = PBXGroup; children = ( + 2CA3A7E0BCDFE49482A21FD8 = {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 = ""; }; + E9606982D57E173ABF7E3B10 = {isa = PBXGroup; children = ( 29961E3E2688B469C8A0ACB1, D326D6EF2740CF33DD84C203, C26721094E1A17754F1DFF77, @@ -1628,193 +2247,140 @@ 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 = ( - 9840126F3F4C38B60332CDDD, - 5162CDB00B1CB713DF9225D4, - 7AEB21EB786D5F8208A1AF3A, - D7A8276363B3E1802C316937, - 253594D6F8DE627B8F1599D6, - C62AED30E688772F7AE78618, - 6628143662675A70526D83E6, - F80341FE453303ED1D9CE210, - 2402A0A4214B5AF9C5D617BB, - 1402BE30D2FA095CB0344F26, - 2250321E7F10BCBD594369EC, - D19C4DE456670E0D1F656D3F, - 611116B52D35BC10C624C5A6, ); name = native; sourceTree = ""; }; - 3B5977F2EEA93424EF0C5C19 = {isa = PBXGroup; children = ( - 06F0DCBA355438E79253F64A, - 3E02788AE11A43EFC7C24F9D, - 2DB151BC34DB459D5E6376D8, - DD0424644A7C11AC3E4F9161, - 2FC8217BC73109E12871D5C9, - 7226D0F2FB00BDB4B9D72420, - 46ADEBFD17CEA4473891BA1E, - 4A02A378E2153AF3043D14ED, - DB17765D735EE053F4217F6A, - E6BA389AB42466FD0E99CDD7, - EAFFE761B12BE9C263E857EB, ); name = "juce_graphics"; sourceTree = ""; }; - 13316EC9445AE8160ED28E13 = {isa = PBXGroup; children = ( - 843583A7ACE40C370D53CA31, - F8354F540C7AD8D7D331AC8A, - 181740F4C90CA4C66C6E2B8B, - ED8A3C5C6B49C8D57E659479, - A70ACC0F8D238B82EE0D333B, - 2F3B166BDCCA41AAE231DFF4, - 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 = ( - 192FD5F56F95482B20AF457D, - 240CCC81C5FD861EF17C1019, - 3C8258EB97D57A362FA8C2A6, - 30158F901439510F05BBC97D, - D8D1586E5E272FDA9B146A81, - 4935AF0293FD72FCA1A20601, - 1D8090B6D7F479CE34CC6C04, - 80E51D7DADB3DD98CEB7A242, - BA9309916A0ECFD82AB55A06, - E14FF6A87571DDAB38742F2A, - 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 = ( - 046557FB7418F28AD9D89618, - 2928DD85D5EFFB5B45503960, - BB6BD1571D257BFABEA6EC35, - 7A56C7ABE00EAC7DAE6A7B6D, - D4251BB3C69661B2C52AB5B0, - F21357E85326E061FB86DD0B, - A1BBD1E66B39B093337D715B, - 3EF69AC6D7A75BCF43A2FE91, - 9594CEE8A150EFF4FBAE4507, - B7A9F5BE275B027C0B0C40C3, - 30B076BD20CDD8F27B6604CB, - 4B3AE7D751B71B85831E94D7, - 626706DB11D4536E1FFD2239, - 590829FC32E83F6CF32B0458, - 226AECA874A1905BE3AF8359, - 155AC7427298BD3568EAAE72, - FDD1AD1846EAF0E3455269DF, - 557CE9CE9AE3078D60E9C36F, - 1AC40FB1239BF0797D338435, - 28AFEC641D6DEFC7E6096324, - 9CC8CDF595616EEF33071A40, - 92EDB33993AD1E3270D807B5, - A2CF63640DAFC02E02EF0E7A, - D1324518DEB393D9A23CA32E, - 46240F728084B10A40AB9477, - FF0774CBDC22ADA793BE4188, - 207141C4DAE3755C0C0D8219, - 0D5A6B6D7A8911552E34C529, - EB150BB1D358E0AE4FAC026A, - 02BDF6C2467FF45BE54819B0, - F838AA16DFECC7023BADF2FE, - C73FE41F07999F5DF26E0A69, - 9E0C3CD23088388B14CFE298, - 935B124F68C5F611E793187C, - E6569007107ECBDD3EC88613, - 9F9D896F664C8CA286C041FD, ); name = layout; sourceTree = ""; }; - AD2C70EFC64ED9B2CF4B08E7 = {isa = PBXGroup; children = ( + BF3D080603ED7FE4043A7DED = {isa = PBXGroup; children = ( + 47DAB373026EDB040665F13D, + 433ACE5A2CB47129575DB59D, + 12A8D0F66C15789F51F13E2B, + BDE587F844B226EBE90DA18A, + 979BB8C8B468A3A79A922629, + 133F753FBF6EFF018E2146D8, + B9D34E098816C99DE0934A5B, + 13D2DD77D3EE1726945EE282, + CBAB9C1EE948D993DBC478A2, + 800812321C57C498B025D9D2, + 183573EB1E75882796F99BCB, + AE3E7C648A7959E8BA6F8908, + 850CC3D1A42215254FE9EA02, + 8A28325B54D16C068DF7EBA6, + A72A3A80C1DF38F25897CB66, + 18FD80E62DA0AB340CC7F562, + 22B27AEF8BE17C82BEC5A809, + 8F92C9AFDC47A141D3744645, + 0A5B2583759214FB7013B97D, + 83030BF323287E636360855F, + 3AB4B76520F8E9FBD36252AC, + 82C4287A1EE7E47E993045E0, + 4A4B668C775D7C36E44BECAF, + 80855891165CFC2409362B21, + 48FCC4A6D158C723FA8FDEAC, + 52892A94D8797931E421D28B, + BDB0A3591E132C546B8B5CD9, + 0EC72A9BBAA72BBC2D40085B, + DA846ED6145B4F9AE553EE1B, + 9843505EE25844C0F0F8C69A, + 244D0271BC647DA8D31BD6E7, + D5D0296A731FE0ED7D8C8F77, + 1071BA659C64AECF6B02F471, + 68B63218842A8E5DF16D1718, + 332DC30A723E7DD20781D710, + FD99F26F3E68C26BFB43AA1C, + 8C898204D84740750277A91B, + 3C835F530C429149F4E705EA, + B510CE55384E7E489857538F, + 22168AF37662F9E8BDA0EECF, + C46FA2FD620B1074E2151945, + 69A7A2200F2886D263295D9C, + D3BFC258B2A8950996DE3418, + 783876754D144BA9D9D80508, + 4E481C17713CF8800598D35B, + C8E71B461A5D6DC76ECD0FF3, + 1E5793BCB04DB4246208F5AE, + 83ED5DA87DFF626D423D7372, + A7B7B61591A2DA73045A701E, + 8367000825BE6F34A8F5D2E0, + 925B3B4711F57C1FD9136EF9, + DADB4F867F9373060CD2E68F, + 3B55D0AF0CD7545A3CA7AA95, + E60B8E2276F0B2688752C38A, + 2507D643C7654BCDCB3EFD19, + 8E18CA5345D67CA44C61F6E7, + C088119188C4482561E8BB29, + 9F39266110C56F8A0C97FA65, + C7D54721377082EF8336A924, + 073521F2A0B7177E62402901, ); name = jpglib; sourceTree = ""; }; + 4DB913DEA6768D46AE249B06 = {isa = PBXGroup; children = ( + 3FA212821034AFA68D277C94, + 74065FE6D57DAD7E8A250330, + 90522449BBBAEB75A44299E0, + 37AB35B42677BD2A0EEB27FF, + 311EF9CBD501390AF80A7DF1, + F90F28CD1D5B8D7E58919D7C, + 14762B48EC08EE9A93BA5639, + A7AD58E5CDFBA2D7B3C135B3, + A45E76D41CC95EC1B5B534F6, + 9362F823624E5EFBCB99C66E, + CF108F05E5DBD47B30EF2350, + 04A10F2FD8859FE26C3B36C1, + EAC981CF00DB37DFAA4A59A0, + 3D5320F03934A467C2042FE0, + 7B2A217215C8656280CCDAC9, + 54EA36E24F2AE9F740D18BBD, + A9A9A99DA73FD7AF81F59F7D, + 9E1B841AC727490DBAD510C7, + 963CBE66498E0420AE59A5B4, + 2CAC28B1608DF73AD0316929, + 5068D0331B68D733C47CFD4B, ); name = pnglib; sourceTree = ""; }; + 8CAD3E35FA34FF9C1F796BC2 = {isa = PBXGroup; children = ( + BF3D080603ED7FE4043A7DED, + 4DB913DEA6768D46AE249B06, + EBAB55A995E6C7708895833F, + 1E8C59EFC31CF428707ED9B0, + CF14FD514BCA70462A70916A, ); name = "image_formats"; sourceTree = ""; }; + B20436A261299E996E8812F1 = {isa = PBXGroup; children = ( + 5A1063067F6999738F8A0881, + C803EBF8CEF28BD5F77E070D, + B12EE6AF06E03901F0F155E0, + 037B584ECE9CDA8309EB91AF, + C3FB0537C1CDB0FF2C91C707, + D3C40C825F7C1E3CCFEF419C, + 6041B9FD43339350EDD996BA, + A24F37B637D6E71CC503FDA1, ); name = images; sourceTree = ""; }; + 00EEBA021CC1FFE9A4071442 = {isa = PBXGroup; children = ( + 9840126F3F4C38B60332CDDD, + 5162CDB00B1CB713DF9225D4, + 7AEB21EB786D5F8208A1AF3A, + D7A8276363B3E1802C316937, + 253594D6F8DE627B8F1599D6, + C62AED30E688772F7AE78618, + 6628143662675A70526D83E6, + F80341FE453303ED1D9CE210, + 2402A0A4214B5AF9C5D617BB, + 1402BE30D2FA095CB0344F26, + 2250321E7F10BCBD594369EC, + D19C4DE456670E0D1F656D3F, + 611116B52D35BC10C624C5A6, ); name = native; sourceTree = ""; }; + 73F5DBEE32546B479AB5CEEC = {isa = PBXGroup; children = ( + 805A6E1CA4479F345305EC71, + 5EA2D7D4DD82CE7460EC70ED, + 68AC1B90E28E75A59D9F654E, ); name = placement; sourceTree = ""; }; + 3B5977F2EEA93424EF0C5C19 = {isa = PBXGroup; children = ( + 060F80CCC459FB5FEDC19C70, + 787FB9D0651691FFC0E74045, + 2CA3A7E0BCDFE49482A21FD8, + A00D35269B92B0C7D8DBF8D8, + E9606982D57E173ABF7E3B10, + 8CAD3E35FA34FF9C1F796BC2, + B20436A261299E996E8812F1, + 00EEBA021CC1FFE9A4071442, + 73F5DBEE32546B479AB5CEEC, + 2D9A02B19F980E8C1F2E320F, + EAFFE761B12BE9C263E857EB, + 07DF121B2C6664FA5B2DC395, + EAFFE761B12BE9C263E857EB, ); name = "juce_graphics"; sourceTree = ""; }; + 7902E23563C673E38DD15429 = {isa = PBXGroup; children = ( + 73AFC81251FEE56637841DB6, + F420A1026C41E30B63C5174A, ); name = application; sourceTree = ""; }; + DCD1184EA9DEFAD9AE35F2FA = {isa = PBXGroup; children = ( EA1A7AC8267FA1AC7D0F2BCC, 4C3FC93FCFD846D2CD7038F1, B593CBEC6387DC747C2F29CC, @@ -1833,22 +2399,27 @@ 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 = ( + 6F66C8D6D0BEAE460D75F312 = {isa = PBXGroup; children = ( + ABCF504D78AFDC9C1C0AE41A, + 2E1C905B950B22F3D62A7826, + 38EC41F033CD00E32E94D024, + CC8F65EA3F978D82420486C1, + 4E65D5D22BE042CD4DB027A4, + DC9752A4F53C8101820A78D9, + 09CACE4DCDB1FC61334A0F63, + BCCCB0F3D86B3F05A2FDC6BD, + 4C69398466F6DD914602C907, ); name = commands; sourceTree = ""; }; + 67F50D56D373676F1AD6D435 = {isa = PBXGroup; children = ( + 843583A7ACE40C370D53CA31, + F8354F540C7AD8D7D331AC8A, + 181740F4C90CA4C66C6E2B8B, + ED8A3C5C6B49C8D57E659479, + A70ACC0F8D238B82EE0D333B, + 2F3B166BDCCA41AAE231DFF4, + C22F431E041BF025E76F7B4F, + E64EE9E43C5BD6925CC2E6FA, + 4D73906670C34F2D0EF766B6, ); name = components; sourceTree = ""; }; + 0A9B621ACB31BE5F921F0413 = {isa = PBXGroup; children = ( C15892148AD3874BC1D5917B, 93FF00D1F3E5379E8EC9BDB9, A761BD7A248A08CC60A9E4FC, @@ -1864,30 +2435,6 @@ 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 = ( - 1C195C6922C86A6D4077DF3E, - 3BA94AB680CAB0079326E155, - 5EBDD3AD7A64FF54EDE0C5AE, - 980AA6E80DD3A42C3353A349, - CC7CBD49B59F4421E3D76E5A, - 88D1852DFBD3085B30CCCDA0, - 2025892B021AF80BE30EA0CC, - 933A878BBD8CF68E87C95A96, ); name = lookandfeel; sourceTree = ""; }; D05AEB7B61AF0B0C3B9BA57B = {isa = PBXGroup; children = ( 202710B8A0C9AB6C104DFC4B, 68033207E95ECA53683916CA, @@ -1911,25 +2458,100 @@ 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 = ( + 04B4418F76736308780EFB6A = {isa = PBXGroup; children = ( + 192FD5F56F95482B20AF457D, + 240CCC81C5FD861EF17C1019, + 3C8258EB97D57A362FA8C2A6, + 30158F901439510F05BBC97D, + D8D1586E5E272FDA9B146A81, + 4935AF0293FD72FCA1A20601, + 1D8090B6D7F479CE34CC6C04, + 80E51D7DADB3DD98CEB7A242, + BA9309916A0ECFD82AB55A06, + E14FF6A87571DDAB38742F2A, + FC1FE9BB13A32E09FE204515, + 6161BFA67DF8CB7A727DE55C, + 10F6E110D54421324D7FF118, ); name = keyboard; sourceTree = ""; }; + 29DE2E9AF5B67AA0A366B4AA = {isa = PBXGroup; children = ( + 046557FB7418F28AD9D89618, + 2928DD85D5EFFB5B45503960, + BB6BD1571D257BFABEA6EC35, + 7A56C7ABE00EAC7DAE6A7B6D, + D4251BB3C69661B2C52AB5B0, + F21357E85326E061FB86DD0B, + A1BBD1E66B39B093337D715B, + 3EF69AC6D7A75BCF43A2FE91, + 9594CEE8A150EFF4FBAE4507, + B7A9F5BE275B027C0B0C40C3, + 30B076BD20CDD8F27B6604CB, + 4B3AE7D751B71B85831E94D7, + 626706DB11D4536E1FFD2239, + 590829FC32E83F6CF32B0458, + 226AECA874A1905BE3AF8359, + 155AC7427298BD3568EAAE72, + FDD1AD1846EAF0E3455269DF, + 557CE9CE9AE3078D60E9C36F, + 1AC40FB1239BF0797D338435, + 28AFEC641D6DEFC7E6096324, + 9CC8CDF595616EEF33071A40, + 92EDB33993AD1E3270D807B5, + A2CF63640DAFC02E02EF0E7A, + D1324518DEB393D9A23CA32E, + 46240F728084B10A40AB9477, + FF0774CBDC22ADA793BE4188, + 207141C4DAE3755C0C0D8219, + 0D5A6B6D7A8911552E34C529, + EB150BB1D358E0AE4FAC026A, + 02BDF6C2467FF45BE54819B0, + F838AA16DFECC7023BADF2FE, + C73FE41F07999F5DF26E0A69, + 9E0C3CD23088388B14CFE298, + 935B124F68C5F611E793187C, + E6569007107ECBDD3EC88613, + 9F9D896F664C8CA286C041FD, ); name = layout; sourceTree = ""; }; + AC2EBDE3E995C494FB0B8D0A = {isa = PBXGroup; children = ( + 1C195C6922C86A6D4077DF3E, + 3BA94AB680CAB0079326E155, + 5EBDD3AD7A64FF54EDE0C5AE, + 980AA6E80DD3A42C3353A349, + CC7CBD49B59F4421E3D76E5A, + 88D1852DFBD3085B30CCCDA0, + 2025892B021AF80BE30EA0CC, + 933A878BBD8CF68E87C95A96, ); name = lookandfeel; sourceTree = ""; }; + 0C9E45EE91C78558FF3E3445 = {isa = PBXGroup; children = ( + 97CE8E2B4E405E8C9199E2B0, + 4CBF728D82FD84A9D32E517C, + D3E472B051685E6A9408C877, + 321D845BC654922FA420EC5B, + 8083D2A36BDE49A5BFD5DBA8, + 5211E125B447086B3BC91E49, ); name = menus; sourceTree = ""; }; + F11610C16E295FE86C5A4CBC = {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 = ""; }; + 8DB9FFE20185A164546B039B = {isa = PBXGroup; children = ( A60D185268D5C33C8570D3D6, 807B0EEA168FC69603B6E1D1, A6E27FD3204CCFA88D1029F3, @@ -1946,27 +2568,107 @@ 98AA1B3E2E60CBE1E9EFB73A, 6A10154E849CB11E12ECC863, A88A9A40EB06563D8143BBDD, ); name = native; sourceTree = ""; }; + 28416BD78E0C814C6902D523 = {isa = PBXGroup; children = ( + 99025567594494D7CF194D7F, + 47E718B88C4DBCAB24ECED6A, + E775FDAD58B38C4943AC5211, + C28E65E47A46EA97CF9E4CA3, + F3D6E76B33CCF7C8C5E62659, + 9372EA69466CE77845F7ADB9, + CC13CFA7BCE8F71794A5D386, + 2B1E5FD2BF4004174669A13D, + 8F5B6335F7EC60EEADF23EF0, + D21E2520E9B6805E91DC32D1, + C90FC163386A1C2D7BA88425, + C7BB0D14844E40141B2DDD10, + 7712F194E97C7B943E81968E, + 511115CEEF7710EB5CEEE92A, ); name = positioning; sourceTree = ""; }; + B190792FDC272C3F30FAACDC = {isa = PBXGroup; children = ( + A280DBC72EDCE6C4F7291A90, + C184DEAD905229621563AC10, + B43C74139B5E5F78BFB36FFC, + 44AEAB369BF057F455A35A74, + A067B55828A6944BF5F96152, + 266B77C47D17B1BF65EF6C64, + 19D6058A849822A37E1E517F, + 898E48C87060E9C3DFD5CC97, + 26C683F1B50315F7D54F2B4E, + 2F8BC112D5A5E430164564EB, + 04660BFA219014F3FC614BF8, + 91A28C806D6F701816EBF4FF, + EFF3EA7A626F019C18CE01AB, + 811F2B44FFF6D61ED4B79CD2, ); name = properties; sourceTree = ""; }; + 098BEB55233DDD54170481BC = {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 = ""; }; + 3F4936AEC57F574E41ADB41F = {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, + 7902E23563C673E38DD15429, + DCD1184EA9DEFAD9AE35F2FA, + 6F66C8D6D0BEAE460D75F312, + 67F50D56D373676F1AD6D435, + 0A9B621ACB31BE5F921F0413, D05AEB7B61AF0B0C3B9BA57B, - 9AAA0CDD2C674E123DF64AB7, - D8A6B552B83D948061844EAD, - 54754C3B468B0F6986D36D53, - 996687D1195BB47A89671095, - 2C0B8F3976E27B23BB966A5A, + 04B4418F76736308780EFB6A, + 29DE2E9AF5B67AA0A366B4AA, + AC2EBDE3E995C494FB0B8D0A, + 0C9E45EE91C78558FF3E3445, + F11610C16E295FE86C5A4CBC, + AA8911F2EDA32D8A90F1410E, + 8DB9FFE20185A164546B039B, + 28416BD78E0C814C6902D523, + B190792FDC272C3F30FAACDC, + 098BEB55233DDD54170481BC, + 3F4936AEC57F574E41ADB41F, + 22E221876A43943DFC79D1D4, + E841EB94DA3DD82D3AED8368, + FDD1022CBB4FE524922B3AEB, E841EB94DA3DD82D3AED8368, ); name = "juce_gui_basics"; sourceTree = ""; }; - B76817CB68D5E008CEDC6189 = {isa = PBXGroup; children = ( + 85CF97B17C60B79A378E122D = {isa = PBXGroup; children = ( 25398FFE0D814EBFF1A51AAA, C4AAA00E6E1C06F0EC04F9B9, DF99420B216C4159D84C56CD, @@ -1979,14 +2681,14 @@ 466DE822A609D5E3761E81B8, 75415C3327242A97378C566B, A95BB79CEB8AB5D13E13519B, ); name = "code_editor"; sourceTree = ""; }; - B17150B08A30F0314A1D09E7 = {isa = PBXGroup; children = ( + 6FDAD6C4B65AF80CE4AF2F9F = {isa = PBXGroup; children = ( 55FBB3ADE143ECCD6E154196, C3870B6C4EA0AFB7E828015D, ); name = documents; sourceTree = ""; }; - C802616FD1214A7FA67C5330 = {isa = PBXGroup; children = ( + FF4F2D5144A03CFC9ED1B4F0 = {isa = PBXGroup; children = ( A8C57F454613C1A8D0FBFB0D, 1B5FCF5295A9F17EECC57377, D50277531FEF09E12EC5E68B, ); name = embedding; sourceTree = ""; }; - D92E9A7E395FB16766E74F41 = {isa = PBXGroup; children = ( + 4CF48DAFE15B4E37E14F5562 = {isa = PBXGroup; children = ( D9F3CA6B36085DD021A4EAFF, 09FF4EBBB192D86FD93127D0, 3E81DB0EB7E7BB8A5C960909, @@ -2007,7 +2709,7 @@ 024CD7B19FE873A8F7D5B5BE, 5C99C1881D7EB82C4B1F2746, 934114A99916FFC43BEBE51B, ); name = misc; sourceTree = ""; }; - 183CCC547396C8B0E1E728CD = {isa = PBXGroup; children = ( + DCBAE90A0CEE4566B8F57125 = {isa = PBXGroup; children = ( 0DA2A286C822BD0667805578, 8ABC8FFA9062954E385544CB, D76C5795FBA50C36A54CD2E8, @@ -2021,14 +2723,29 @@ 7ACCDA7FF33BB28531886B81, ED129E1F10E9B8552C9C6A41, ); name = native; sourceTree = ""; }; 1C9F8C5466784934CC36C7CA = {isa = PBXGroup; children = ( - B76817CB68D5E008CEDC6189, - B17150B08A30F0314A1D09E7, - C802616FD1214A7FA67C5330, - D92E9A7E395FB16766E74F41, - 183CCC547396C8B0E1E728CD, - 6F0FB5DD64026024B473306B, + 85CF97B17C60B79A378E122D, + 6FDAD6C4B65AF80CE4AF2F9F, + FF4F2D5144A03CFC9ED1B4F0, + 4CF48DAFE15B4E37E14F5562, + DCBAE90A0CEE4566B8F57125, + C7A36C86EDDC1018339E1F19, + 73765F4025B383E862B462E6, + 3C6951706FF246380D65A952, 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 = ""; }; + 47E17A0E1BAB84485436BC70 = {isa = PBXGroup; children = ( 580A589FD052C519B103607A, 2D2109F4BF800BFB092C3EAB, 80D2835A48F17870FC49AF1D, @@ -2046,47 +2763,38 @@ 545566963CAEA11C8E0C92B1, E7A50BE08C4613D4CBA5B7B0, 6189DAAEC94579A219C72BD4, ); name = opengl; sourceTree = ""; }; - 1ED97FCF1CBCC1280E2B6EA3 = {isa = PBXGroup; children = ( - 4EB1EFCC1E720F578483FD52, - 485418F6ADC8752DD9F99DCD, - 8D2C7626EF24C83FE6FF261C, - FE7D28114C5F53EBCE9D00A2, ); name = geometry; sourceTree = ""; }; - 4B329C16684538CF6E4F9C8F = {isa = PBXGroup; children = ( + 84E5BCC70E85B2E248BB31AF = {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, + 47E17A0E1BAB84485436BC70, + 84E5BCC70E85B2E248BB31AF, + 59BDCE818C9AAE13A7286B95, + 4EC46879782F8C588F2F54FB, + A1C5088DB76FE9F40AB2264C, 4EC46879782F8C588F2F54FB, ); name = "juce_opengl"; sourceTree = ""; }; - 594ADB49D88290816B59BA36 = {isa = PBXGroup; children = ( - EFE83C6016EB9422E63B881C, - AA5E59C590D4B439AA60F87D, ); name = playback; sourceTree = ""; }; 95E4E1B9DCE3655299535901 = {isa = PBXGroup; children = ( 9D67E9F6247EDE2E207EFE8C, 8751B08C7CCFAA3B9B070452, ); name = capture; sourceTree = ""; }; - 6521D9EE31CEF5A005D2D5E6 = {isa = PBXGroup; children = ( + 96B59A9A46E182DDD7CF719D = {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, + 96B59A9A46E182DDD7CF719D, + 412C65EFDCA3A50737E22127, + AAF90406DA0D844FEA667EE4, + 0BEB4A94C116092B5E6A5BCA, + CA067F9C47C831BA25DF843D, 0BEB4A94C116092B5E6A5BCA, ); name = "juce_video"; sourceTree = ""; }; 21725D16B4B9076DCFF91729 = {isa = PBXGroup; children = ( 2ADC259A5923E47E240184C5, @@ -2105,55 +2813,34 @@ 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, + 7A6A889A32581FBE73645356, + 12C24C2237E0F23FDCCCE953, ); name = Resources; sourceTree = ""; }; 2D45B9382F864E0FC39A7D86 = {isa = PBXGroup; children = ( EE004DC5369648F9F4F967B5, 943B88ECAC8C127556319A56, @@ -2170,74 +2857,382 @@ 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", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + 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 -lNoiseGate"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.NoiseGate; + SDKROOT_ppc = macosx10.5; + 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", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + 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 -lNoiseGate"; + 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/"; + 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 -lNoiseGate"; + 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/"; + 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 -lNoiseGate"; + 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", "../../../../../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-AU.plist; INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - 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"; + OTHER_LDFLAGS = "-bundle -lNoiseGate"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.NoiseGate; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Debug; }; - 18FA66B5CEF0833AA3B3E744 = {isa = XCBuildConfiguration; buildSettings = { + 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", "../../../../../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-AU.plist; INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - 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_LDFLAGS = "-bundle -lNoiseGate"; 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/"; + 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 -lNoiseGate"; + 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/"; + 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 -lNoiseGate"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.NoiseGate; + SDKROOT_ppc = macosx10.5; + 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; + 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)"); + INSTALL_PATH = "@executable_path/../Frameworks"; + 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; + 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; + 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)"); + INSTALL_PATH = "@executable_path/../Frameworks"; + 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; + SDKROOT_ppc = macosx10.5; }; name = Release; }; 5CD64870C7B8063A2BA5A23E = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2266,63 +3261,85 @@ 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + 89095DFC434F1A8EB6368E3A = {isa = PBXNativeTarget; buildConfigurationList = F5CFD52892C9EFFE1B652ED9; buildPhases = ( + 216E0D6AC94324AA60E8341F, + EEE027F86C42C2897FFAFAB4, + 88ED31A2FC837CDDC443C602, ); buildRules = ( ); dependencies = ( + 488C1DC0415EFF5825C77F33, ); name = "NoiseGate (VST)"; productName = NoiseGate; productReference = 29653597F013A08B9D0D9DAE; 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + 822408E00D8E4658EE40468E = {isa = PBXNativeTarget; buildConfigurationList = 5E6512855F529ACBE2F1CCE9; buildPhases = ( + 47F5AD1898E28C0A6D16C018, + FE7603D4FD2A5265B17C5CDB, + E3794423504E5A68368E60FB, ); buildRules = ( ); dependencies = ( + 488C1DC0415EFF5825C77F33, ); name = "NoiseGate (VST3)"; productName = NoiseGate; productReference = E39A67D3DE5B2F2092769CE7; 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; }; + 2B362E865E39D8FBBEF5836E = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 65D4B3952523E1D9729D5696, + 297C90DB48F08189C5E161F6, ); runOnlyForDeploymentPostprocessing = 0; }; + 0DF7A849451483A06FA065B3 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 059D9D5EBC6026109D86F9EA, C8E62BFBF82AAA3D808055D9, D8B83A6B9A0149E776E8DCDB, @@ -2337,14 +3354,60 @@ 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 ); }; + 5B796CD6929336C2CDEDBCD1 = {isa = PBXNativeTarget; buildConfigurationList = 1A6AAD356017FB36162EB851; buildPhases = ( + 2547749F251ADA67558CFBC5, + 2B362E865E39D8FBBEF5836E, + 0DF7A849451483A06FA065B3, ); buildRules = ( ); dependencies = ( + 488C1DC0415EFF5825C77F33, ); name = "NoiseGate (AU)"; productName = NoiseGate; productReference = 8D84B63F343660AEE31FD166; 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + C31F9AF2D73B265832C65F18 = {isa = PBXNativeTarget; buildConfigurationList = E5F26FFD4B7791E9CD1D994F; buildPhases = ( + 547175C3907E0E0E4318B03E, + 60B6674FAE4C8F988F0F1086, + A47A37CF689DBA8E163F1A4D, ); buildRules = ( ); dependencies = ( + 488C1DC0415EFF5825C77F33, ); name = "NoiseGate (AAX)"; productName = NoiseGate; productReference = 9C62742BCA5D3C9524DE3029; 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; }; + C6A39FF70BF77051D89E2CE4 = {isa = PBXNativeTarget; buildConfigurationList = 17413E5C8ECD089086907FAE; buildPhases = ( + 61132FB6D58EDB3690AECF80, ); buildRules = ( ); dependencies = ( ); name = "NoiseGate (Shared Code)"; productName = NoiseGate; productReference = B15F50973CE5D365D77D282B; productType = "com.apple.product-type.library.static"; }; + 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 d8ce5d8d..c1f19688 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 @@ -80,7 +80,6 @@ MachineX86 false true - /FORCE:multiple %(AdditionalOptions) true @@ -100,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 @@ -126,7 +125,6 @@ true true true - /FORCE:multiple %(AdditionalOptions) true @@ -144,6 +142,18 @@ true + + true + + + true + + + true + + + true + true @@ -159,13 +169,34 @@ true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -192,6 +223,12 @@ true + + true + + + true + true @@ -207,15 +244,6 @@ true - - true - - - true - - - true - true @@ -264,907 +292,1407 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + 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 - + true + StdCall - + true + StdCall - + true + StdCall - + true + StdCall - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1203,6 +1731,9 @@ true + + true + true @@ -1230,6 +1761,9 @@ true + + true + true @@ -1245,53 +1779,53 @@ true - - - - - - - - - - - - - - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - - + + true + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + @@ -1303,6 +1837,9 @@ + + + @@ -1310,20 +1847,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1333,9 +1941,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1345,6 +2000,16 @@ + + + + + + + + + + @@ -1355,15 +2020,6 @@ - - - - - - - - - @@ -1374,40 +2030,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1415,6 +2038,7 @@ + @@ -1423,25 +2047,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1451,6 +2056,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1464,30 +2103,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1496,14 +2168,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1513,20 +2196,12 @@ - - - - - - - - - - - + + + @@ -1537,10 +2212,15 @@ - - - - + + + + + + + + + @@ -1551,39 +2231,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1592,33 +2307,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1638,15 +2326,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1654,13 +2356,6 @@ - - - - - - - @@ -1668,31 +2363,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1718,20 +2413,11 @@ - - - - - - - - - + - @@ -1739,30 +2425,31 @@ + + + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + diff --git a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj.filters b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj.filters index 0673e74b..17ad53ae 100644 --- a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj.filters +++ b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj.filters @@ -17,11 +17,14 @@ {A33A1E1D-AC2C-6382-8681-48B0FC374C60} + + {11A75801-B027-40BD-4993-023023ACCBF7} + {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} - - {11A75801-B027-40BD-4993-023023ACCBF7} + + {8C868E51-156D-A916-047C-0D9EA1393675} {EF2CAB40-0432-429B-C517-86ADF136BB8A} @@ -32,63 +35,111 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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} + + {2FB30532-4EF3-EFA3-E57C-F7DDE9DB1297} + {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} @@ -98,8 +149,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} @@ -107,17 +167,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -125,29 +179,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -161,33 +215,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} @@ -197,80 +251,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -293,30 +353,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} @@ -331,6 +391,18 @@ 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 @@ -346,14 +418,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -379,11 +472,20 @@ Juce Modules\juce_audio_basics\synthesisers - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_basics - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io Juce Modules\juce_audio_devices\audio_io @@ -394,15 +496,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 @@ -457,26 +550,134 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -505,38 +706,185 @@ 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_formats + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_plugin_client\AAX + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + Juce Modules\juce_audio_plugin_client\AU + + Juce Modules\juce_audio_plugin_client\AU + + + 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\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\AAX + + Juce Modules\juce_audio_plugin_client\VST3 - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client Juce Modules\juce_audio_processors\format @@ -556,6 +904,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,44 +937,11 @@ 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_audio_processors - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_processors Juce Modules\juce_core\containers @@ -625,38 +958,11 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\files - - 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 @@ -676,41 +982,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -718,36 +994,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -760,6 +1024,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -817,152 +1084,290 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_core\streams - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_core\streams - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\system - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\text - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\text - - Juce Modules\juce_events\messages + + Juce Modules\juce_core\text - - Juce Modules\juce_events\timers + + Juce Modules\juce_core\text - - Juce Modules\juce_events\timers + + Juce Modules\juce_core\text - - Juce Modules\juce_events\broadcasters + + Juce Modules\juce_core\text - - Juce Modules\juce_events\broadcasters + + Juce Modules\juce_core\text - - Juce Modules\juce_events\broadcasters + + Juce Modules\juce_core\text - - Juce Modules\juce_events\interprocess + + Juce Modules\juce_core\text - - Juce Modules\juce_events\interprocess + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\interprocess + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\threads - - Juce Modules\juce_events\native + + Juce Modules\juce_core\time - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\time - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\time - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\unit_tests - - Juce Modules\juce_graphics\colour + + Juce Modules\juce_core\xml - - Juce Modules\juce_graphics\contexts + + Juce Modules\juce_core\xml - - Juce Modules\juce_graphics\contexts + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\contexts + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\images + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip - - Juce Modules\juce_graphics\geometry + + Juce Modules\juce_core\zip - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_core + + + 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_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\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures + + + 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 + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + 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_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -982,11 +1387,224 @@ 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\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -1018,128 +1636,137 @@ Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -1192,32 +1819,98 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\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 @@ -1240,30 +1933,6 @@ 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 @@ -1285,113 +1954,77 @@ 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\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_extra\code_editor @@ -1471,6 +2104,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1498,6 +2137,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1519,70 +2164,61 @@ Juce Modules\juce_video\native - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code + + Juce Modules\juce_video - - Juce Library Code + + Juce Modules\juce_video - + 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 @@ -1590,137 +2226,395 @@ Juce Modules\juce_audio_basics\buffers - - 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_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + + + 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\native + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\midi + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_basics\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\sources + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_cd + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\audio_cd + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices\native + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_devices + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1749,15 +2643,156 @@ 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_formats + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + 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 @@ -1785,6 +2820,36 @@ Juce Modules\juce_audio_plugin_client + + 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 @@ -1815,33 +2880,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 @@ -1872,50 +2910,95 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_processors + + + 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\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1935,6 +3018,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1974,194 +3060,194 @@ 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2169,50 +3255,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2238,14 +3324,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2253,15 +3339,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 @@ -2289,39 +3408,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\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2331,6 +3417,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2361,17 +3456,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,50 +3513,137 @@ Juce Modules\juce_graphics\geometry + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + Juce Modules\juce_graphics\placement Juce Modules\juce_graphics\placement - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics + + 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,44 +3660,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2526,87 +3741,6 @@ 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 @@ -2664,32 +3798,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2712,27 +3888,6 @@ 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 @@ -2754,80 +3909,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2904,32 +4059,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -2943,9 +4074,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -2967,17 +4095,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + Juce Modules\juce_opengl + + 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 Juce Modules\juce_video @@ -2990,50 +4154,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_opengl + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Library Code + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/AppConfig.h index a2739c36..943d98ee 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 @@ -258,9 +270,6 @@ #ifndef JucePlugin_IsMidiEffect #define JucePlugin_IsMidiEffect 0 #endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #define JucePlugin_SilenceInProducesSilenceOut 0 -#endif #ifndef JucePlugin_EditorRequiresKeyboardFocus #define JucePlugin_EditorRequiresKeyboardFocus 0 #endif diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/JuceHeader.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/JuceHeader.h index 24ad3d48..3432c504 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..c599b875 --- /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 00000000..d4b8c311 --- /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 00000000..a4fdf7f3 --- /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 00000000..175b3004 --- /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 00000000..0ac2b2f5 --- /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 00000000..29d48f3f --- /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 00000000..2da08c6d --- /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 00000000..72a8426c --- /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 00000000..6064f99d --- /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 00000000..5c5509ab --- /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 00000000..56af9aeb --- /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 00000000..d3b6529a --- /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 00000000..c35394b4 --- /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 00000000..8e2e5cde --- /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 00000000..ee2f414e --- /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 00000000..183f61b2 --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 39e1aa14..00000000 --- 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 9069e653..00000000 --- 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 4270ffa1..00000000 --- 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 57abba64..00000000 --- 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 48c0bf08..00000000 --- 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 3c400000..00000000 --- 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 b3df8133..00000000 --- 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 e815ff2c..00000000 --- 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 88f8bafd..00000000 --- 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 0c5c6902..00000000 --- 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 7fa455d6..00000000 --- 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 11866a12..00000000 --- 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 f156f5c6..00000000 --- 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 6b5e7433..00000000 --- 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 9112044a..08623640 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.0.2" - pluginIsMidiEffectPlugin="0"> + pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.2.1" + 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 0cf1b9c5..90567a47 100644 --- a/examples/PlugInSamples/NoiseGate/Source/NoiseGate.cpp +++ b/examples/PlugInSamples/NoiseGate/Source/NoiseGate.cpp @@ -1,12 +1,26 @@ /* - ============================================================================== + ============================================================================== - NoiseGate.cpp - Created: 23 Nov 2015 3:08:33pm - Author: Fabian Renn + 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" @@ -21,7 +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", 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() {} @@ -29,14 +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(); - const bool isMainBus = (busIndex == 0); - // do not allow disabling channels - if (numChannels == 0) return false; + // do not allow disabling channels on main bus + if (numChannels == 0 && isMainBus) 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 (isMainBus && (! AudioProcessor::setPreferredBusArrangement (! isInputBus, busIndex, preferred))) + if (isMainBus && ! AudioProcessor::setPreferredBusArrangement (! isInputBus, busIndex, preferred)) return false; return AudioProcessor::setPreferredBusArrangement (isInputBus, busIndex, preferred); @@ -48,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); @@ -76,6 +105,9 @@ public: if (sampleCountDown > 0) --sampleCountDown; } + + // VST-2 passes this through so clear the audio in this channel + sideChainInput.clear(); } //============================================================================== @@ -84,13 +116,13 @@ public: const String getName() const override { return "NoiseGate"; } bool acceptsMidi() const override { return false; } bool producesMidi() const override { return false; } - bool silenceInProducesSilenceOut() const override { return true; } double getTailLengthSeconds() const override { return 0.0; } int getNumPrograms() override { return 1; } int getCurrentProgram() override { return 0; } 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 @@ -109,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 38a063a3..00000000 --- a/examples/PlugInSamples/Spatializer/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.ROLI.Spatializer - 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 e7ff82e7..00000000 --- a/examples/PlugInSamples/Spatializer/Builds/MacOSX/Spatializer.xcodeproj/project.pbxproj +++ /dev/null @@ -1,2346 +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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 62553F858BE2F01022E40DBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; - 63140BB55E2A4149F88F271B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 63A4659A907E6841D146EA10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - CA4F396C2669DAD9D6E2B44B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; - CACECB8BBE3943313B11D33B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - CAF94F50F42FE4E9D2171DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; - CB1E39CCD13E7FF55393871B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - F42550666CCA34433A2336AA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; - 6FE5B154BB57F05637B2339C = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Spatializer.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; - EB7D06976714FA930F3CDAC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; - EB8EB8968B992FFAC968EA86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; - EC0B0CCFBE66B11BA3120288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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 = ""; }; - 15F08C54EAF666954DA2976E = {isa = PBXGroup; children = ( - 90867F2535F1F8EEFECF020A, - 2C8E27327D36D3E2B393A79E, - 0DBF03145527DAE8BDD98FF5, - 583C31EF5CEC80B036BE24BA, - FBE111908ED0D31178B134AA, - 8DCC8CD6982F9DC7D225D74D, - 2B5171E4A2674078D44395F7, - D928ABE7E0ABAE418F018A89, - 4B022FD2D547AECEF38D1C60, - DA4591B5BA3B70396E708614, ); name = midi; sourceTree = ""; }; - 25F335E3C0CA8FB12408BA29 = {isa = PBXGroup; children = ( - DC768FA8A9E33024D57D5F66, - 49560E6574C4AE88AC441CD0, - C920D1667739967B4785E645, - 1E5380575E2840568CEE18B0, - 5571D97128A513A4BBFA3E2D, - CBF186F248A7B053967529BE, - A1BDD8CA03B00EE72E06E2C8, - FFFF5649EA413863979E7B6E, ); name = effects; sourceTree = ""; }; - D80462765DD5025C55788A60 = {isa = PBXGroup; children = ( - 106336EF7D17FB3FC3430527, - 0A8B2220C48BD7CB942BAB91, - EE3F7E057A361EAB617739D6, - 24AA129A39B1A84FC613FB8D, - E95FC66FFEE9B835945F46FC, - D97E98EF239C855616829EC1, - B108B61608B2B4FB2E023185, - 268EB023A7B1C237DC165019, - 5B15E27D44ED120AC9E9487E, - D24EA7254B5C7538A1E9263B, - 9953EAA12D1F39F0DD922B39, - 5A72349DADE2C11673F192AF, - 253985C46F46FDF2AC6EE36C, - A1D3DD348C5846C2F0992BF9, - 93359AEBEFFFCBEF78F65DBE, - 20B89DE51E1C449D0A42FA79, ); name = sources; sourceTree = ""; }; - E7B20DBE5A96870184F8E877 = {isa = PBXGroup; children = ( - 0E701CDBF2DF0A6D600C64FB, - 286C96166C43E3010D28CC86, ); name = synthesisers; sourceTree = ""; }; - DD80F04BB2A4012039CC99E9 = {isa = PBXGroup; children = ( - EF49A47831967DC2AC7EAD8B, - 15F08C54EAF666954DA2976E, - 25F335E3C0CA8FB12408BA29, - D80462765DD5025C55788A60, - E7B20DBE5A96870184F8E877, - 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, ); 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, - 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, - DA074DBDC52F1A2FFDC1F2DC, - A17FA9103F683E03829CF205, - FDFB6AC6E5297BA40569B4B3, ); name = misc; sourceTree = ""; }; - 2E5A0E3A61AE8829F4776266 = {isa = PBXGroup; children = ( - 79A694E39015881729BBC224, - D9BC027EC1EE01A1E8E6CA9C, - 9677F53D0ACDFA6FB3F4D34D, - 0A3EEC392B15172D0C9F7937, - 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, - CA4F396C2669DAD9D6E2B44B, ); 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\""; - 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\""; - SDKROOT_ppc = macosx10.5; - WRAPPER_EXTENSION = component; }; name = Release; }; - B47BAC17B47CCFA9AD69C0AD = {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; - 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 5e4a4de5..00000000 --- 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 859322dc..00000000 --- a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj +++ /dev/null @@ -1,1772 +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 - /FORCE:multiple %(AdditionalOptions) - - - 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 - /FORCE:multiple %(AdditionalOptions) - - - 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 - - - - - - - - - - - - - - - - - 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 8302de36..00000000 --- a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj.filters +++ /dev/null @@ -1,3044 +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} - - - {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} - - - {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\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_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\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\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_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\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\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\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 74a0f598..00000000 --- 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/AppConfig.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/AppConfig.h deleted file mode 100644 index cfbd3a58..00000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/AppConfig.h +++ /dev/null @@ -1,334 +0,0 @@ -/* - - IMPORTANT! This file is auto-generated each time you save your - 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. - - Any commented-out settings will assume their default values. - -*/ - -#ifndef __JUCE_APPCONFIG_AX3KPE__ -#define __JUCE_APPCONFIG_AX3KPE__ - -//============================================================================== -// [BEGIN_USER_CODE_SECTION] - -// (You can add your own code in this section, and the Introjucer will not overwrite it) - -// [END_USER_CODE_SECTION] - -//============================================================================== -#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 -#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 -#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_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 -#endif - -//============================================================================== -// juce_audio_devices flags: - -#ifndef JUCE_ASIO - //#define JUCE_ASIO -#endif - -#ifndef JUCE_WASAPI - //#define JUCE_WASAPI -#endif - -#ifndef JUCE_WASAPI_EXCLUSIVE - //#define JUCE_WASAPI_EXCLUSIVE -#endif - -#ifndef JUCE_DIRECTSOUND - //#define JUCE_DIRECTSOUND -#endif - -#ifndef JUCE_ALSA - //#define JUCE_ALSA -#endif - -#ifndef JUCE_JACK - //#define JUCE_JACK -#endif - -#ifndef JUCE_USE_ANDROID_OPENSLES - //#define JUCE_USE_ANDROID_OPENSLES -#endif - -#ifndef JUCE_USE_CDREADER - //#define JUCE_USE_CDREADER -#endif - -#ifndef JUCE_USE_CDBURNER - //#define JUCE_USE_CDBURNER -#endif - -//============================================================================== -// juce_audio_formats flags: - -#ifndef JUCE_USE_FLAC - //#define JUCE_USE_FLAC -#endif - -#ifndef JUCE_USE_OGGVORBIS - //#define JUCE_USE_OGGVORBIS -#endif - -#ifndef JUCE_USE_MP3AUDIOFORMAT - //#define JUCE_USE_MP3AUDIOFORMAT -#endif - -#ifndef JUCE_USE_LAME_AUDIO_FORMAT - //#define JUCE_USE_LAME_AUDIO_FORMAT -#endif - -#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT - //#define JUCE_USE_WINDOWS_MEDIA_FORMAT -#endif - -//============================================================================== -// juce_audio_processors flags: - -#ifndef JUCE_PLUGINHOST_VST - //#define JUCE_PLUGINHOST_VST -#endif - -#ifndef JUCE_PLUGINHOST_VST3 - //#define JUCE_PLUGINHOST_VST3 -#endif - -#ifndef JUCE_PLUGINHOST_AU - //#define JUCE_PLUGINHOST_AU -#endif - -//============================================================================== -// juce_core flags: - -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG -#endif - -#ifndef JUCE_LOG_ASSERTIONS - //#define JUCE_LOG_ASSERTIONS -#endif - -#ifndef JUCE_CHECK_MEMORY_LEAKS - //#define JUCE_CHECK_MEMORY_LEAKS -#endif - -#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES - //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES -#endif - -#ifndef JUCE_INCLUDE_ZLIB_CODE - //#define JUCE_INCLUDE_ZLIB_CODE -#endif - -#ifndef JUCE_USE_CURL - //#define JUCE_USE_CURL -#endif - -//============================================================================== -// juce_graphics flags: - -#ifndef JUCE_USE_COREIMAGE_LOADER - //#define JUCE_USE_COREIMAGE_LOADER -#endif - -#ifndef JUCE_USE_DIRECTWRITE - //#define JUCE_USE_DIRECTWRITE -#endif - -//============================================================================== -// juce_gui_basics flags: - -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING - //#define JUCE_ENABLE_REPAINT_DEBUGGING -#endif - -#ifndef JUCE_USE_XSHM - //#define JUCE_USE_XSHM -#endif - -#ifndef JUCE_USE_XRENDER - //#define JUCE_USE_XRENDER -#endif - -#ifndef JUCE_USE_XCURSOR - //#define JUCE_USE_XCURSOR -#endif - -//============================================================================== -// juce_gui_extra flags: - -#ifndef JUCE_WEB_BROWSER - //#define JUCE_WEB_BROWSER -#endif - -#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR - //#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 -#endif -#ifndef JucePlugin_Build_VST3 - #define JucePlugin_Build_VST3 1 -#endif -#ifndef JucePlugin_Build_AU - #define JucePlugin_Build_AU 1 -#endif -#ifndef JucePlugin_Build_RTAS - #define JucePlugin_Build_RTAS 0 -#endif -#ifndef JucePlugin_Build_AAX - #define JucePlugin_Build_AAX 1 -#endif -#ifndef JucePlugin_Name - #define JucePlugin_Name "Spatializer" -#endif -#ifndef JucePlugin_Desc - #define JucePlugin_Desc "Spatializer" -#endif -#ifndef JucePlugin_Manufacturer - #define JucePlugin_Manufacturer "ROLI Ltd." -#endif -#ifndef JucePlugin_ManufacturerWebsite - #define JucePlugin_ManufacturerWebsite "www.juce.com" -#endif -#ifndef JucePlugin_ManufacturerEmail - #define JucePlugin_ManufacturerEmail "info@juce.com" -#endif -#ifndef JucePlugin_ManufacturerCode - #define JucePlugin_ManufacturerCode 'ROLI' -#endif -#ifndef JucePlugin_PluginCode - #define JucePlugin_PluginCode 'Spce' -#endif -#ifndef JucePlugin_IsSynth - #define JucePlugin_IsSynth 0 -#endif -#ifndef JucePlugin_WantsMidiInput - #define JucePlugin_WantsMidiInput 0 -#endif -#ifndef JucePlugin_ProducesMidiOutput - #define JucePlugin_ProducesMidiOutput 0 -#endif -#ifndef JucePlugin_IsMidiEffect - #define JucePlugin_IsMidiEffect 0 -#endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #define JucePlugin_SilenceInProducesSilenceOut 1 -#endif -#ifndef JucePlugin_EditorRequiresKeyboardFocus - #define JucePlugin_EditorRequiresKeyboardFocus 0 -#endif -#ifndef JucePlugin_Version - #define JucePlugin_Version 1.0.0 -#endif -#ifndef JucePlugin_VersionCode - #define JucePlugin_VersionCode 0x10000 -#endif -#ifndef JucePlugin_VersionString - #define JucePlugin_VersionString "1.0.0" -#endif -#ifndef JucePlugin_VSTUniqueID - #define JucePlugin_VSTUniqueID JucePlugin_PluginCode -#endif -#ifndef JucePlugin_VSTCategory - #define JucePlugin_VSTCategory kPlugCategEffect -#endif -#ifndef JucePlugin_AUMainType - #define JucePlugin_AUMainType kAudioUnitType_Effect -#endif -#ifndef JucePlugin_AUSubType - #define JucePlugin_AUSubType JucePlugin_PluginCode -#endif -#ifndef JucePlugin_AUExportPrefix - #define JucePlugin_AUExportPrefix SpatializerAU -#endif -#ifndef JucePlugin_AUExportPrefixQuoted - #define JucePlugin_AUExportPrefixQuoted "SpatializerAU" -#endif -#ifndef JucePlugin_AUManufacturerCode - #define JucePlugin_AUManufacturerCode JucePlugin_ManufacturerCode -#endif -#ifndef JucePlugin_CFBundleIdentifier - #define JucePlugin_CFBundleIdentifier com.ROLI.Spatializer -#endif -#ifndef JucePlugin_RTASCategory - #define JucePlugin_RTASCategory ePlugInCategory_None -#endif -#ifndef JucePlugin_RTASManufacturerCode - #define JucePlugin_RTASManufacturerCode JucePlugin_ManufacturerCode -#endif -#ifndef JucePlugin_RTASProductId - #define JucePlugin_RTASProductId JucePlugin_PluginCode -#endif -#ifndef JucePlugin_RTASDisableBypass - #define JucePlugin_RTASDisableBypass 0 -#endif -#ifndef JucePlugin_RTASDisableMultiMono - #define JucePlugin_RTASDisableMultiMono 0 -#endif -#ifndef JucePlugin_AAXIdentifier - #define JucePlugin_AAXIdentifier com.ROLI.Spatializer -#endif -#ifndef JucePlugin_AAXManufacturerCode - #define JucePlugin_AAXManufacturerCode JucePlugin_ManufacturerCode -#endif -#ifndef JucePlugin_AAXProductId - #define JucePlugin_AAXProductId JucePlugin_PluginCode -#endif -#ifndef JucePlugin_AAXCategory - #define JucePlugin_AAXCategory AAX_ePlugInCategory_SoundField -#endif -#ifndef JucePlugin_AAXDisableBypass - #define JucePlugin_AAXDisableBypass 0 -#endif -#ifndef JucePlugin_AAXDisableMultiMono - #define JucePlugin_AAXDisableMultiMono 0 -#endif - -#endif // __JUCE_APPCONFIG_AX3KPE__ diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/JuceHeader.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/JuceHeader.h deleted file mode 100644 index 85df22b8..00000000 --- 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/ReadMe.txt b/examples/PlugInSamples/Spatializer/JuceLibraryCode/ReadMe.txt deleted file mode 100644 index f6c3564e..00000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/ReadMe.txt +++ /dev/null @@ -1,12 +0,0 @@ - - Important Note!! - ================ - -The purpose of this folder is to contain files that are auto-generated by the Introjucer, -and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer 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). 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 39e1aa14..00000000 --- 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 9069e653..00000000 --- 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 4270ffa1..00000000 --- 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 57abba64..00000000 --- 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 48c0bf08..00000000 --- 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 3c400000..00000000 --- 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 b3df8133..00000000 --- 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 e815ff2c..00000000 --- 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 88f8bafd..00000000 --- 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 0c5c6902..00000000 --- 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 7fa455d6..00000000 --- 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 11866a12..00000000 --- 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 f156f5c6..00000000 --- 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 6b5e7433..00000000 --- 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 18cd30b2..00000000 --- a/examples/PlugInSamples/Spatializer/Source/Spatializer.cpp +++ /dev/null @@ -1,177 +0,0 @@ -/* - ============================================================================== - - Spatializer.cpp - Created: 23 Nov 2015 3:08:33pm - Author: Fabian Renn - - ============================================================================== - */ - -#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; } - bool silenceInProducesSilenceOut() const override { return true; } - 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 0c458a97..00000000 --- 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 new file mode 100644 index 00000000..8575d2a0 --- /dev/null +++ b/examples/PlugInSamples/Surround/Builds/LinuxMakefile/Makefile @@ -0,0 +1,166 @@ +# 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) + +ifndef CONFIG + CONFIG=Debug +endif + +ifeq ($(CONFIG),Debug) + BINDIR := build + LIBDIR := build + OBJDIR := build/intermediate/Debug + OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_6D53C8B4=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" -I /usr/include -I /usr/include/freetype2 -I ~/SDKs/VST3\ SDK -I ../../JuceLibraryCode -I ../../../../../modules + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0 -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 + CXXFLAGS += $(CFLAGS) -std=c++11 + LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -Wl,--no-undefined -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + + TARGET := Surround.so + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) +endif + +ifeq ($(CONFIG),Release) + BINDIR := build + LIBDIR := build + OBJDIR := build/intermediate/Release + OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_6D53C8B4=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" -I /usr/include -I /usr/include/freetype2 -I ~/SDKs/VST3\ SDK -I ../../JuceLibraryCode -I ../../../../../modules + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -fPIC -O3 -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 + CXXFLAGS += $(CFLAGS) -std=c++11 + LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -Wl,--no-undefined -shared -fvisibility=hidden -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + + TARGET := Surround.so + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) +endif + +OBJECTS := \ + $(OBJDIR)/SurroundProcessor_c7ed9c55.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 + +$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) + @echo Linking Surround + -@mkdir -p $(BINDIR) + -@mkdir -p $(LIBDIR) + -@mkdir -p $(OUTDIR) + @$(BLDCMD) + +clean: + @echo Cleaning Surround + @$(CLEANCMD) + +strip: + @echo Stripping Surround + -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + +$(OBJDIR)/SurroundProcessor_c7ed9c55.o: ../../Source/SurroundProcessor.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling SurroundProcessor.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_audio_devices.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_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_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_core.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_data_structures.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_events.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_gui_basics.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_opengl.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_video.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 00000000..9d213dd7 --- /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-AU.plist b/examples/PlugInSamples/Surround/Builds/MacOSX/Info-AU.plist new file mode 100644 index 00000000..1244925b --- /dev/null +++ b/examples/PlugInSamples/Surround/Builds/MacOSX/Info-AU.plist @@ -0,0 +1,48 @@ + + + + + + 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 + + AudioComponents + + + name + ROLI Ltd.: Surround + description + Surround + factoryFunction + SurroundAUFactory + manufacturer + ROLI + type + aufx + subtype + Srrd + version + 65536 + + + + 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 00000000..e1b25666 --- /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 00000000..e7b70896 --- /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 00000000..e7b70896 --- /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/extras/Introjucer/Builds/MacOSX/RecentFilesMenuTemplate.nib b/examples/PlugInSamples/Surround/Builds/MacOSX/RecentFilesMenuTemplate.nib similarity index 100% rename from extras/Introjucer/Builds/MacOSX/RecentFilesMenuTemplate.nib rename to examples/PlugInSamples/Surround/Builds/MacOSX/RecentFilesMenuTemplate.nib diff --git a/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.entitlements b/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.entitlements new file mode 100644 index 00000000..22194a6d --- /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 new file mode 100644 index 00000000..22a93c6e --- /dev/null +++ b/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.xcodeproj/project.pbxproj @@ -0,0 +1,3415 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + 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; }; + 471B0DAB418CA9BF51D3567F = {isa = PBXBuildFile; fileRef = 253FCE81AE9E1892C73442D6; }; + 985B36DFE9EF062E1E004089 = {isa = PBXBuildFile; fileRef = 0693085A1667BC47ED3617D6; }; + A17BCBEF822B10243D4FC7CF = {isa = PBXBuildFile; fileRef = B27D6516C9B3775F094E3FB8; }; + B5BAC2E65225F94E8D52EC39 = {isa = PBXBuildFile; fileRef = C0A5E837710E3B35036FAB37; }; + D3CAAFF2401E545BBB10C2E1 = {isa = PBXBuildFile; fileRef = 2CB584410282733946DD4F40; }; + 628C3FC970D842482843D58E = {isa = PBXBuildFile; fileRef = 315372231DC2E25A7208F8EC; }; + 660197C1881A08EFF582CE23 = {isa = PBXBuildFile; fileRef = B308A76D9F181930FD48B861; }; + 2D01683AD97D65AA55B574F8 = {isa = PBXBuildFile; fileRef = 67A0CBB4834C4C346F748E23; }; + B1B407C4C9685EDAF5C38ADE = {isa = PBXBuildFile; fileRef = 54A86948A7F0477C05BF1AFC; }; + 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; }; + 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"; }; + 000495DEEEA7796D7F73CBDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.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"; }; + 00C41E888F56B5BF96C085FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + 00D850760AD4F83FEC95B297 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; + 00E2264B5E6ABD0FC6AE6382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; + 01892F8A19255556080DDE29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_utils.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; + 01BEBE2ABA69A115102B944D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; + 02011069400D49AE29D3A8AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.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"; }; + 0362C38B47B2235F4443A98D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../../modules/juce_core/zip/zlib/zutil.c"; 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"; }; + 03E9D79DB85F5A7AB13B3890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 03F5933F22E6CCC68ACE877E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 040C75A5D9922BB7D96C079F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + 040ED28E4B927B6F00CF19E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 04354310F326DA5FF7CA9AA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; + 04522DC157779F4391B6182F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; + 047473D0C61EA32E78AF4FE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + 049CA7676F699A3C6FA24583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 055E4AD47AA509789D519CBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + 058C746739457F8FFF36F342 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 05B70AF3CBB4A9E0920540F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 060F0F302FF6A7BA18B4D6D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 075A41C17AEE46B78F1E8766 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; 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"; }; + 078FC78D692AA90FD57D8E44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 07954AA8D84D9B02883D4BF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 07D5F4207DC87B1B939691FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 082ED52317824C94DFE4166F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0851623E3A0D2BF619251739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 085E8AAF08603197C8422743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0865F1C307283AE02E351740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 096878812312FA6DA602C854 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; 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"; }; + 0A3EE1B4EE7FEF26D9E5578C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; 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"; }; + 0AE5F1F1382361500E63BDB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + 0B5C31010C534B6016C3FDB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B9381FF2623C60D2BA1DF16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0BBD45544E1B3ACC2ED0D92C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0BC3CD2277CF7842A183222F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; + 0BEEF09E3293306B20F2A41F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0BFC315AB52F6F3A6B57BDA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 0C06AB6F3CD0B6B339FC1E7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0C4876972CCD08524F68EB37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 0C57A2031EAF30DB282300E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0C6EFD657F2DE522250F9271 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0C847DD159B7D3EC4135675E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + 0CFEE86C58015E8E199151C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D28464DC45D8936B099C4B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 0D665AB5C88F0797722ECD1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + 0D81858B622E4FE84EEABDEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; + 0D89AF801D86A210C31F40B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; + 0D8C088EF55B1F7EC793A7F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0DA9056ECCB24283DE9EEBDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0E59705ADB26589AA8FAFC8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E8092ECEA8CA5E97A1D1636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + 0E9E9DEC98A4B8BDEB38D562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + 10441F31E2399A9C5C057DA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; + 1050592B94D122929ED115F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; + 10691C75FA2EFC03FD2A3054 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 10B67897C6741CA2B3D67A60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + 10D5ECC582BE673413D7A5EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 112AF6745BE12D85E612F3F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAudioChannelLayout.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 11409A38980818092C00D4F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 11CEF1A51CD8552D511171C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + 11D415DDF7BB11807E5422F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + 12967C1084566CB26F95CD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + 12AE1658C3B1991C9A0CD830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 13E40E5084FE4F79895D62D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + 14709C55D3855BEFE98C5F32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.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"; }; + 155FAE23E29E586D10CF84AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 1568B54E8611E8F5E92A70FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 1571D8D7F4D5DFB63250EB61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + 15C2B114E56A2E668B13EF69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + 15F24657D67F9FA0101243C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + 163881ED74768BEEF817DA0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 18CA9F7ED279150DD51936A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; + 19027D68236606983C77475E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 190E1422E4E962ADC43AFB41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 194765E999643B9DD05B699B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; + 194E8C9019137A408DF3BCBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 19952BEFEDA1AEAADA5C9C20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.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"; }; + 19C4690DEED0A71F0BE6F6AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.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"; }; + 1ABF878EC4CF5548BDE03989 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + 1B0B59142B090064059EF414 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; + 1B32BBE6348485F8B68ED911 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 1BB6C06A841BDE30CE21AB8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BC4722569015FD2D7FC558A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BF16510851529BA0F3E115C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BF5A11F4E80D88FBCF57157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; + 1BFAC6094CE530354B9AEF63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAUParameter.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 1C03137167E601BD7D83F356 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + 1C06BCC6DD5D394942624741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; + 1C1BA3B137968A4F5C55891F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C7FAE6F993B179548804AFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 1D0978C3DA227CD743EF77C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 1D19E83C682B3544927961B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 1DB934F1DB2EB962408077B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; 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"; }; + 1E1F8171A69E6FAA2921B287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; 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"; }; + 1EF2F0FAF9FF5F8351C6D917 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + 1F472D74FB1644EA8659F6EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; 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"; }; + 20D2A9D959ECE93D7646C071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ComponentBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.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"; }; + 2188CB5DE84FD609D2060E96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; 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"; }; + 21FD81C790788A75028F4A2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; 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"; }; + 226C961868C1698325042D24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 22A3F345BE74DB54722E6246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 22D07E18BC6F565503E989CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; 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"; }; + 23C86278B90F5026D598AD2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 248FA2DCFC1F4D864C5183E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_RTAS_utils.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.mm"; sourceTree = "SOURCE_ROOT"; }; + 24AC7D1C7545E4A67FF94B8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 2608656418568F033F755E15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMath.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMath.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"; }; + 27DC763B8D7700E728491547 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; + 282610C4FD3DAFCA978F98D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 282671AA60A1CAF6D9FEC171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 283ADB95E9375730B1389880 = {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"; }; + 2878013D3F6C148903D6D3AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUMIDIBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.h"; sourceTree = "SOURCE_ROOT"; }; + 2885D478CE1AB2E7B1A08322 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 28A689DA80FA1CB3A09E5A83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; + 28EF77EE0BBAEE11DCA6686B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 2926914BD8FB64093F7E3FCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 294BF365EDBFFAE9601925F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/endswap.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"; }; + 29CDCCC7FB95D6C13A9CD0C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; 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"; }; + 2BA804F6F7D9E40EAB9FB17B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2BF2B581B23323A9C9748DB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + 2C6292FF430C369E7500CD98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C90A81541D8A739BF27D0AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; + 2C9242328E31C72B5B3114F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 2CB584410282733946DD4F40 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 2CC4204C145B5EE9528CB4A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAException.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAException.h"; sourceTree = "SOURCE_ROOT"; }; + 2CEBAE78E3D6DD80639B2138 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2D91B4EAB3F16E761DBCB117 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; + 2D98D39894F5BD49E05A4689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + 2E456C820F49CD1CC502D076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E64D994F3B4C0E6E6AE0451 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E70CD6B91FE1C359FC210B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 2EF91785953F4A539FFF4068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3031BD31A5490136E9922721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + 3071545368A32AB6E902E566 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 307CAD6446CF71BE23EA95CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 30AAC4B170226F0DD6727C6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 30AAE849E8795D93E70DD1A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 30C72B026DDF0D5C9AE7B0F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 30F3C37222EEE2026BCD4534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + 313820ABEEF53F5A990C1513 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 314F72EE115BDF662A284F10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 3259E166EE1D69EC0A108B7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.h"; 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"; }; + 33555CB39BD58BF11BBACF4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.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"; }; + 36AE0F68F17AA6148C856FF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.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"; }; + 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"; }; + 37C856ECA76CEBA1E5099052 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAReferenceCounted.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAReferenceCounted.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"; }; + 3854BBCC61CCA4A5F6463B79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; + 386A9F34D5321EE17B016C26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; + 38E6F1E3BAB55EB7E0A79ABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 398A5FA3A2E86626F60E1617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 399ACA6944683DFFF377027A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + 39B22472BB7F594D43201B30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; + 39B8BCEC0D4448A13A2B6A81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; + 39BADBFB279FC3A90545C879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; + 39BD9382DD5310BEC6792B1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 39C095E89EC83CBD070A0593 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 39CD3C7765CFC878E3D25FD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 39CF9D87398DEBE9BFFC14A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 3B6FBA1C36CE046E091A1A57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3B74ABCAA1355B57584F75EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + 3B997E5CA36ED786D55DB3DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BC16B32A13D6D9B32B36B27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; + 3BEEC005012C7B59727662C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3C32971532C18E8EB1035ED1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 3C86768D7D8DBC563EFD97D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 3C89E930E3468E056C4F7DAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 3CBCD1DAFCF603529B1609A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + 3CC64E98D04095C29D6D5C6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; + 3CEDD96C4174A1D6E2266A81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; 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"; }; + 3E67AEA9A0FD3291E8C1B486 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; 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"; }; + 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"; }; + 3FAB019285028049082B04A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4015DF84DF9CF61838DB989A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 40319B73B8076DFF09F63D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 407B6CB925E1B5FAA7E3914E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 40921C206C3A89E378022ECD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; + 40C5FE1E03CE577FD7DF080F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 40C989B6A1BC73C8F0A77E91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 40CE2E1D2A7A1E2366E923A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 40D42F9DBB577FE74F9AE1C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 40D89F485E4FC6619B3E12EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4128EE52EAA919EC41FF3543 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 412F2AF92D2B1087AC0FB2E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + 416D78C0452B796EABB0E320 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + 41746FC663B6AAAADECE1425 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 41929CC1698D3B82A3898EA5 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; + 41A64D81E976A07DB6741318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 41FF3F669144D70DC5279453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; 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"; }; + 42DB9C36122C46056A5DC7DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 43173B4435D709B20D23F8E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4381A1E6DF222F731BCF7A2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 43BACD20FB9287908F5F2D1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + 4449FFBC295C0EB93B13419A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; + 44B541AD4F960567EE0ECC87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + 46DB89D2ABFEE1D467EE0BD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + 46E82B58209C66033748B38B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 46EBECAA8BC65AD7DF5B3E9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 472CA3B67A81D3CB939746E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + 476455264120A720C3A4258D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4764F13452A00A7CC1645FF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47678C55711E982A0139FD74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + 47772BFE38C18EA36303B771 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47AC6F53960752FD94ED6042 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 47B37FFCC2E9EF3CCDF9270D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 47CF682C865250FB451909CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47EBAB1A9CD775971F6A90A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; + 48781DBFAAC755E0B33A3BE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 495066B584553F33AA485499 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp"; 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"; }; + 498F45179694FBBD4334A240 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; 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"; }; + 4A7A4CB3283F179CE30E5367 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; + 4AA12AE9E6F85F87BD9DBD74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; + 4ACC9263B5D916AF296BC162 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4ACDF44A7A10700C056CC556 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; + 4AE641945F53300C928C522D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + 4B133B1F9874EBA8953DCDF9 = {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"; }; + 4B373DA28300CC24EF4E7119 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 4C42233BFFF2340A9E4FBDBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; + 4C46F612E89E4F1AE6E5A4F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; + 4C519323C3F84E94FC07A2DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4CC5FD53EE838BD6B37421B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 4CD98D8DF76756652AF23DE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; + 4CF13541AB3B0757F5D62070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4CFEF02B4042BAAF6877F0D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; + 4D05A387BD0800590797428B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; + 4D5B55BBC8ECA6E1E9778B84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBuffer.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 4D842C6A70EE7845BEE1A826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + 4DBBF72D494D234DF6979B58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; + 4F1AF1D850DBBFB581EAE294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SurroundProcessor.cpp; path = ../../Source/SurroundProcessor.cpp; sourceTree = "SOURCE_ROOT"; }; + 4F6FD68D520847666C9E5DEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + 4F83F49F8244492A0A031ED9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; + 4FBC59AD5823043A3883ED3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4FE3C7E70892359709EFE933 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUPlugInDispatch.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.h"; sourceTree = "SOURCE_ROOT"; }; + 4FFA97A5119867556A539736 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 500A45D3F87F53C67BACDBD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5047C0F83D6F3DECCA82A15B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_4.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_4.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 511F0EDF620E91BB8C67F2F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; 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"; }; + 518FE6B74B4F9747E111901F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; 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"; }; + 5262615EFFB8ECC15E0A4DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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"; }; + 52D34C24383A1090FE4790A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + 52E326682860BA5670505046 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 52EEFA8ED8C29967F5A9E1EE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 52EFBC2325A874116840EC75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; + 531FDFD3287869A5D3B8BDED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 53373FC985AF166F12FEB886 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5369F057F1BD39B1AAA5E2B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; + 537F194A75922C9B0EEE69BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53BF201C2DC50C4811878627 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53DDCF60DB45E081926E6C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 5454498293784705551AFC93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5454A03B0C64AFC1D8CB4D7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 546699C9706CC08F152D9EBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5466EE92C5F8B6CA93AA90BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; + 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; }; + 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"; }; + 551EF6B34D3FD278EDF4BDA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; + 555A19CFFF2D2AA5901FB33B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; 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"; }; + 559BC6B13FC81331E7342F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 560013E9B2519274906F91DD = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; 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"; }; + 5612B5197CCBB70CBA8E39F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; 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"; }; + 5678B143016B8436B3D88FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 56C835ABD785A229FB0705D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 570056EBF7067B664DA3A107 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + 570508B9E87035E970DEA0C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + 570D547768979709B76F2EC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + 571B00B4A82D5F87BD870179 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; + 5748E13F7BEBE8AEE3E3850B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5763F550088C529D321F5E80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + 578DB18FA05F9F328433C139 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57BCD0D2F887DF543FCA89EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57C7DF9EDB1799A23783BB7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + 57E517CFEF3092C326C8A81A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; + 5820EDB30FCD7C77FDE1A447 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUTimestampGenerator.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUTimestampGenerator.h"; sourceTree = "SOURCE_ROOT"; }; + 586B46BF9C1A2F00EA5C2A01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 587BD2F8083646E066110E67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; + 58F12496F9F77BADBF57E5F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 5927772AE794231C7E19C2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 59EB8E3D3E9E5CC2F756CC31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + 5A027E40F66666E45946FC28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; + 5A85E24C8BA70B351465A567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5AFD87CA03540D1547399737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5B1CC2BC88DD9A622FC43E1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; + 5B91FA24128801F27100E1A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 5BB313B4D5D17AB00A7C2A4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C0BBF7C8871D6CADCC21234 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_1.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C825A97A9A4D3AA5B2BB378 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C974A2227B9D1780C37AC4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; + 5CA18203C06006285A661FA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5CB5A0DEE180D84530DEC5C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 5CC6DEAAE9163963DE1B8CE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + 5E09E16496B5B87B3F4A5A11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + 5E0CCB7415B13C7B52593A7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 5E4DECB460D73AB4F75A0807 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_AAX.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5E6F76D6B25707FAF0C02D54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; + 5ED79CEB7D0DC98541A1EE3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5F05CDB9CC162A8054B6B07C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5F065DED0F3F38F8A08FE402 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; + 5F1449FB890A39C2A95901FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5F39F2CC5445F9F515B592D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5F84B9FA98A9C475644CBEB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 5FEBDC4C196922F425AA0D9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 602A11234D5A0A7B698A44DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 608B62DA009BDFF0ADA218BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; + 60D6EE9A6BF8C76601DE9AEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + 613DE1F8791F33C1C8DEA7C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 617C793B9298E00977847ECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61D4A91C910C7D8EA3863C70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 61FB3AD53D3902F0AD36AE90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; + 621DF3C377E15FD75A001274 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + 625DB3E333234BCF2DC1352A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6262E2BC3D138F6525156B40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 62C31B7504A5E29977D544AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 62E334B65CC222E9990860B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 62FD1738A1318DE94D214D78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; + 6304ED06740C6986558B04CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + 6326F6DD20E31BA59F0414D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; + 632AB1E3BE475EB0F9910708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + 63A95276F02D29186E98B46A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 63D1FAC9764C3757B757DD63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; + 63EC1ED05D6CDFFB63DEA6F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + 6468EE39BAE40EF1B2493E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUSilentTimeout.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUSilentTimeout.h"; sourceTree = "SOURCE_ROOT"; }; + 6478111FE0A70E1B34462C4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; + 64795A5ABD04000A2CBB1B25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 648BB9B79397A3C7CF03D05B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; + 64C5572079821299427AA38B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65359F915595F16DEC91EF50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 6544310A5FE189E31FA1E19C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6547DE320CC0FA96CD6AA127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_Standalone.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65A815A563CDAA2E2A8160D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 65DA0BFD4BA75D3621A9273A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.h"; sourceTree = "SOURCE_ROOT"; }; + 6627145A2E93CCE43E6BCECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 663C7FB44856925D0F86AA45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUDispatch.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.h"; sourceTree = "SOURCE_ROOT"; }; + 66B04DB27F487637BB9F98D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + 66B366DE799726DC66AF18F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; + 66EF6387A88A9C6572323325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6761449AD44DC0572C091395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6769AC90078DAFB2B6B3EF48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + 67A0CBB4834C4C346F748E23 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + 67E73B9B49D4BF0B0005AAC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 683FDDD46C1C9D9366F12CBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; }; + 685884776B8981945E2626AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; 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"; }; + 68FFE1238648F51006CBF1DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 6985AB0655EC1B8180A7D0EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugPrintf.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugPrintf.h"; sourceTree = "SOURCE_ROOT"; }; + 69DA077FE4CCBA55A4271913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; + 69DD4622EA12EF7EC500136A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../../modules/juce_core/zip/zlib/deflate.c"; 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"; }; + 6A1953FB8A316A098769662B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.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"; }; + 6C4085319532B3588836F784 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; 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"; }; + 6D1B41BB006D6B0FF50C3172 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; 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"; }; + 6DD53D2067B56F7B851EAB18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; + 6DF2E654E67016290B9F0737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_3.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_3.cpp"; 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"; }; + 6E7D3BC9E097EE16F59C4453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; + 6E80699BCBB2556FFD7A4CE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; + 6E8D7FDCC4731EF96C75EDB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 6EA1D72172113F26FB6B928E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6EECBCF4105514D28CE3138A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAHostTimeBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAHostTimeBase.h"; sourceTree = "SOURCE_ROOT"; }; + 6F3739D00F974F55096E2AF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F4DC318020741E9C1105300 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + 6F4E9B36E5290DF31257AC55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F541A289ED1E499A5359F87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; }; + 6F69A889D91A3E01256C8B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F7568F9157F0803A2E7EC54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeSystemHeaders.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 6F9E1ECCE4EBD775D6016120 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6FD52BB426D820E27833F076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; + 6FF3CC4AE793A2C496B2DACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + 700CE8F1CAF61C4CF9027BA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 702C8F8FC81ADB2C6305B028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7051E797A0524E98F71D8615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 706861C655AE2FF2DFB0DDC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 70C4D4F3DF396BD1A849C60A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 710383BFEC6C20B29FA6C1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; + 7113E21385D20E88FBD8BB85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 71351FF1DA1251BBCB78CDC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7146E9786FC60B2C2BA4384C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; + 716712146AD8F448382A589D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; + 71968FB78677A4AC53549B26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 71B90FEEA636B8EA44DAF4A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 7366DF0A6FBEAE39C745FDDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; 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"; }; + 75172ED3C50EC5E798EE0FD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + 7679D8DFE3A556549FFBFC26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../../modules/juce_core/zip/zlib/inffixed.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"; }; + 779B2DEAEE0E57CE5E08FC15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + 77C8C1FDA9649EADCE8C431F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; 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"; }; + 7822E082F886D277ED968E8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.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"; }; + 79C805461F958369B329C712 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; 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"; }; + 79DEDA62D167AC08FC555762 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; + 7A03CDE013AF0010D212B2E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; + 7A23FA8DE98C54E0F6513962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; + 7A38D1F3D10E5020CC2BB145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; 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"; }; + 7A9E2E8CF87D5390CB92A864 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.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"; }; + 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"; }; + 7B57294BA8A41EDB3108D658 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../../modules/juce_cryptography/juce_cryptography.cpp"; 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"; }; + 7CB87F4F981135E701CC4D5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 7CEDC88B769799FEC4F5D7AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; 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"; }; + 7D6E63AA72FC3BD46061A88E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; + 7DD98A1039A1A3CAD965B9E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.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"; }; + 7EA3555E21692E5DF2440B10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7EBAED2F7E0534DBE53EC076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; 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"; }; + 80CE4DDD0581EDEEC6E1E970 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../../modules/juce_core/zip/zlib/inftrees.h"; 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"; }; + 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"; }; + 81240159F2C3C59ED09942C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + 818ADA13F83B5D4610CF0A0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 81A1CB2F3AA0DF4F64D16011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; + 81A4F7EDA0CA08068201CBE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 8207CFF4B336DDE2938DA89F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../../modules/juce_core/zip/zlib/adler32.c"; 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"; }; + 82BEC2D665A1DBD8769DEB85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.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"; }; + 832774543B7277913460C41E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAutoDisposer.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAutoDisposer.h"; sourceTree = "SOURCE_ROOT"; }; + 83E2EFC9133757FD09C67ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + 854BE217C612C256BED72308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 857D93C46EF5F30B686666FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; + 863578C8C35502444456B6EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; + 86382EEFD2D874C080F395EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; + 86422EC835DBE9E12ACAA844 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; + 86C60AB46BC50B750493C0C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Network.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"; }; + 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"; }; + 88EBFB20CA512CF5BE712220 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 8923277431C31D4E6A967800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89276E21CE2AB6ED85513AA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 89A480D06355B8786C5FCAC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; 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"; }; + 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"; }; + 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"; }; + 8D2F64C046BBAAA084369818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D3B6133B6EFF1551DA6A0B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; 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"; }; + 8E11074D4A9A023AE33D2777 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; }; + 8E5677A16F98C56CAA7F2842 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; + 90593FC8C1E0DF38F5C4E13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; + 91B36A38A2515EACFDB74FF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 91DC52EFEE54AA6A25F414F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 9211728499CBEA14A9129F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + A676FFA1BC32B4235962B41B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.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"; }; + C81E581814B8F309B1A76E40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.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"; }; + 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"; }; + 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"; }; + 80EFB73C0DD18C003A15150B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; 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"; }; + 85FAAFC7204659F3B375631F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 870B95887E00B482EC3BCBC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; 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"; }; + 89BE99C79A12FAA559AB0958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; 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"; }; + 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"; }; + 8B8C8E45262B02EE3013C440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C3432BC2BDC534720A9DBB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + 8D136314D0A9E7C7A20F5252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../../modules/juce_core/zip/zlib/infback.c"; 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"; }; + 8DCC53AC83A1540BF58AF95D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.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"; }; + 8F4F948E9300D459AF943E59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.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"; }; + 91195801FB4FFF7D7DAF68AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9195DEDEEFF11C231AD6E499 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 91F315675BE1A7FBF2E24F0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/all.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"; }; + 92898F19C5760642BD7CA2EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; 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"; }; + 93A123826E501520C2987312 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; 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"; }; + 94941E4F05E2F3DCE91338EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; + 9497F6127D98FC93F698D42F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MusicDeviceBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.h"; sourceTree = "SOURCE_ROOT"; }; + 94A75100B6A4CCF6885A79A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 94B5B0680AF388C6F16942A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; + 94BCC2412693083C8DCD5914 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; + 94F0DE4BE7EC544DFAFB4764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9575A77A9EBAB07CF9DFCEB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewControl.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.h"; 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"; }; + 96A4F0328C23FC0CDADA39EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.h"; sourceTree = "SOURCE_ROOT"; }; + 971E95ECA8E3B77690AD30FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; 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"; }; + 977BF2F770A1AC5041DAD63B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugMacros.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugMacros.h"; 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"; }; + 98DEEE52698DC2DD0C22A537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm"; sourceTree = "SOURCE_ROOT"; }; + 98EF579EC7B4A9C22C1B5CFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 99E912BE17D4C46F64AEC0CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../../modules/juce_core/zip/zlib/uncompr.c"; 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"; }; + 9AAC62C12F25A930804B860A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; 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"; }; + 9BB78D1FF6201FED3512AED2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 9C27FF6BCA9D6CBAA7D2600D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputFormatConverter.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputFormatConverter.h"; sourceTree = "SOURCE_ROOT"; }; + 9C374B02CB52B626D6985C65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + 9C757B9F57ABE34B017F374C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; + 9C7EDCE8A7C38D9FFCC7282B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; + 9C8816BC9CFC6EC67629086D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAThreadSafeList.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAThreadSafeList.h"; sourceTree = "SOURCE_ROOT"; }; + 9D6DC6AF988E805DF79A9732 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D869053AA7C5B8F9CBE90A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + 9D8B55BA3E52BC5C1737DD86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9DAD1A4D51DFCB12DBA2455F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9DCCF3A006839CD06B44CCFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 9EA2E0DF598BC3B1D04EB545 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMutex.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.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"; }; + 9F5B3C82BC37B56697E99046 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; 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"; }; + 9FC0AD1FCDFEE5CBB3EC2EDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; + A00E82D651719E1B7CBE69EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + A0253FE5E948B4A2E80D3885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + A04269125DB7002090E04CE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + A0578FC8A4E9AD111D47B465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + A0B4855ABEF30C728FD2A38C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnitTypes.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnitTypes.h"; 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"; }; + A28E9D58711A59C0AFF79AAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; + A367A1757697F29B157B58EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + A39E5BE0E10E81989DF6858B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4302A67A7EC2D0DCAACD44E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + A4362F1C6092248CA95F5D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + A458551FD64CCD79F3BE8C18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + A492306E251F93B398C4A91E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4AE654270251CADB9730421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + A4C8F712033F5F3B3FC7CEDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + A502363A538CB1B2A96FF01F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + A5844E2B9968F2C3657EDD5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + A6294577F75BAB1F17306F70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + A63DA17D6F3A6015EE7BA412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + A6C5A9B86B568A68DB4192E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; + A70EECB9198195AFDADBC672 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; + A71D074B6F3ECE49A86444C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A73B196E6DC893354986FC16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + A75918090FB31B99B60FF1D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + A779C9186E64D5B9A7BAE6B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + A781E00098EEB97ABE72FB04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + A7C62BCD3774D09D00997495 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + A7EAEEFB48D8FBB3DC86F3D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + A80623F61A50FC6957425AB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; + A845B9AE6DAB6DFFCE5A4E55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; + A85523D456B7E4A756DE4734 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + A897F8DB88D1541457993B58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + A8C8E72535DCCA2FA51DA494 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A8F91A8DDEFE95135E8ABF02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + A93F8583644CF10A1818F9A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + A954262B02E22F16A2653F22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; + A9DB7AC87701821AEB15C595 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9EC026B8F9D008D1870D46E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + A9F9C2F09B984C82A20D244E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA1BBD7D8B9DBCA7724ACF52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; + AA236314ECB86A14C496C7C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; + AA300F9513F6A05B3DDF6230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA57DC80A4D78C32955CAD8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; + AA897DAF562B68DBCF937BCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + AAB19EF73C7397C550CCCFCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + AB011FCACEEF26510E880E98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + AB04D06155A5E52B0658F3D6 = {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"; }; + AB05D380A0DEA4FD1780F691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + ABBEF42D4809A75E33E266D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; 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"; }; + ACB86BA48F9BDF78FFBC1FD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBaseHelper.h"; sourceTree = "SOURCE_ROOT"; }; + ACBF3FA6ACD3FFCD75F395B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + ACBFEC5FB87C0DD1C4DE8F16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AD4CBD910D68798DFECB08B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; + AD782E338323B1F4478B1510 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; + AD87444137D41FB3EDDBE050 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + ADA16213716A5EFC49BDD9F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; + ADCF8757250D34CD709BF18E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginHostType.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginHostType.h"; sourceTree = "SOURCE_ROOT"; }; + ADF5F66046548542C9F00C25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE185DE5E0E06A69E1F103FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; + AEB2BD22134D79969D79D142 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + AED619E5D1EA581C9BF8BFF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + AEE81346BDE5DD6669BD1695 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAXException.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAXException.h"; sourceTree = "SOURCE_ROOT"; }; + AF1E2E1D1A2BC3A74926D43E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF251A1947001B0641A0B87B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + AFAC23591E8670692F5EA3AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + AFAD5BA9F385C17BFEDFD14F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + AFD393DDDDE8BAECA65FDBA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + AFEF06C1E6F19892B8B53467 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + B0000C5461E87D8AE3092F7A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + B08FCE1BD4128E98FE545A2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; + B0A6DE7350AAB8969D04391A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0A77D2BA7186415ED81738A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B11C926807580D210AB24CE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + B14233F6A3456F7756910FF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; + B14654CB3B43DC456C2786FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUScopeElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.h"; sourceTree = "SOURCE_ROOT"; }; + B14F45582C4BD3F4A5B5376E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; + B15D9CB516DFA5441D01BBA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + B1B78DB0E7BDA8B5F66832D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; + B1C7A82B06A2F6FA27084D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + B27D6516C9B3775F094E3FB8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + B289ED93E985695121E8D059 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../../modules/juce_video/juce_video.cpp"; sourceTree = "SOURCE_ROOT"; }; + B308A76D9F181930FD48B861 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; + B34924FE8ED984ADAFE47D0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + B389147C7EA77A4E3A422B75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + B38B922A6F64EFC597284354 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + B3BBF04EB46A52DA3A4030F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + B3BF4E5E63B05D51708886EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; + B3ECDD29979ACEC5B31C54BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B3FC649ABB0BDADFC8D45B3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; + B40FF8B6DCEC246C6AF39D13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + B442FFD1EB1E56F5A6AF9A3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + B4D34A95872E0FE10A3E73E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + B5240AB04A763082008E5E0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + B56A341B971CFA24BEBDD924 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + B5961F8646838A9AC6522C8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + B73EB5A72AEAEE87486E8C40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + B75D28053A961319D43AFA42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; + B7627C150228D0A645E030E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomicStack.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomicStack.h"; sourceTree = "SOURCE_ROOT"; }; + B7E4B5868CACAE3C97FCB956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + B822B93FBB4EF4979C545FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + B8A70AB65D399DD66984ADDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; + B8DE040EE5E1A84F57C346E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + B91EC6C409062ECFE844B213 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B9F98E9DA83B9DF6DDEB8D74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + BA11252A1B41F99FE7875EF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; + BA3594967B27A2A928060559 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUViewLocalizedStringKeys.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUViewLocalizedStringKeys.h"; sourceTree = "SOURCE_ROOT"; }; + BA4123F2CAB9039F80B94EB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB03F74A83F9A6F2259918C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.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"; }; + BC9BDCFF1ACF147F86BF66B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + BCC738DF29CDA4AB6B05DAB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; + BCE00BEF10B4A1F5AFC44F99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; 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"; }; + BD3569F6AD8834654914A05A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/assert.h"; 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"; }; + BD6D9964FB7A7256CFC28E89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.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"; }; + BDBB8CB3C233D00D19E4B71D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; 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"; }; + BE05563E2C91E3D53A8E809F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; 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"; }; + BEC55BA6148BD8041D098862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; + BEFE94D1CF9CFC668CD0AFA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAStreamBasicDescription.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.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"; }; + BF82551962179398E7F3426E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; + BFADCF6AF37B37E81E391F99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; 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"; }; + C049B9C221709051EA11E89F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0523E5A117BF868A4F97D46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; + C07E49746D8F35949A195E60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; + C082F2522A06A10B9872BB3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + C0A5E837710E3B35036FAB37 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; + C1035DEE3AD965746E6D4038 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; + C11FDE71C9F4A3598D31D2B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + C19B3FACD5116C352BE626DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1BCB8BFC7810B8E181D6012 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1CC9E74271F888FBA5BE549 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + C2114BE0619F2D824D8ECD7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + C21D47577DB11F1E012987A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + C231BFEE12706E2603F66883 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + C25A4BB622EDA18EC2F2109C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; + C26ABA1B100809876F503588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SurroundEditor.h; path = ../../Source/SurroundEditor.h; sourceTree = "SOURCE_ROOT"; }; + C2B45FD81F186804999C1144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + C2D52993316E0714E5D0583A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; + C30D56576893B0FBA7E8BA1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; + C313DAE892A88AE7B0033A76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C3268FC646D56A5CABF404BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + C4684692C890928A7056BB23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; 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"; }; + C49CDB7E6A6B236B90475472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + C4C952868910E9A933723C4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + C4CC5059A506A9E19EF1E614 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + C4E8E11ED59E09B0729430B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; + C5014F9EE489066E82D28C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + C509A34125848B8F6C4111E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + C53A0781423656831578249C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.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"; }; + C5AC6B7D92F08E36C6CC81D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm"; 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"; }; + C70C23BD02311100B4F82F5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.in.h"; 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"; }; + C78FFBAAEACD3BC09738D6F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C7FBC198B3D5BDE2404AA734 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; + C8028216F65D0A69286115BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + C871B22F92AAFA7407C9C4A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + C88E906306DDB0582DCE5BAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C89E0E2EFF2CFBEE17DC31B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + C8A529200937FA99C26ADD19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; + C8BB3FD850A9848A7941A6C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; + C8C342409CEB005D0B2244B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + C8E6849CDA4A45B7EFBE2579 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; + C93881E59063E7106E77762C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + C97229429AD64768E560F4AD = {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"; }; + C97789C4620368AE1E3F9F22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + C9A738CA9F1B20D0BC43A890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; + C9B1759B112A657294509208 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9C018C9DA67A508FA7F9AAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + CA6155228075C437C19CE703 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + CAFC74680CFAD13ED16174F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + CBF83C68D86E6323B95B3FFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; }; + CBF938A9827F045B301867E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; + CC066AE77F3DF9540683B8AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../../modules/juce_core/zip/zlib/crc32.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"; }; + CD12CC5F4EA6B04E12D12BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; 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"; }; + CDB072F338849BCCED75AECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + CDC33763F981E457A893A979 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + CDEFCE6E58A37F060C7E50A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + CE0C78FA09FE52045E1F9F9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + CE4DC095D47AC961D8620C02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + CE690CDFA6954C16F2A15C17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + CE767FF08071F3D8269ED2ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + CE82E957A5AF7D50C7646EFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + CE90CA35FD6D04C3BE071530 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + CEE93ACD041B1D383E079212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + CEFBEDB90EA2E9F27BE22E3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF45B6F185CC52AFC97555B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + CF57DE24D4AEFAD4D2FA4DED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF94E9E88D70852405F7BA09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.h"; sourceTree = "SOURCE_ROOT"; }; + CFBCAC450FE065C81127FF44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + D17A03AEC4D871C512826B3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + D1848E8055D08BF63A6F6958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; + D1B320692760CED6C0EF2593 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; + D24E85A199513E79C8AD126E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + D28B17D67B824090476FA43B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + D29B42596F4354DB04AF9D0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + D2FAEB234158AABFF4C39F7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; + D30ABE36C88A10D28AED416B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + D36B4CDCA954030E8FD4DF29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3D9B276C5A329C2ECCC7762 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + D4213F3BE3F5ABFD8FB44C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + D487D34A38A1DE7F492FDB7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D49040D48736DBA0A0708F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; + D4AC2D9E7E4AD45E6E8075E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + D54EB52F77B8BA849F4B4988 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5B1376F148616CF0F6A6FAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D60BBD09C859B1B023A55C43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; + D625544467CB87C86DF6B39C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + D652F4C2A022EA283ED7987D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + D7D538F79741F629EC0B174F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsHooks.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_WindowsHooks.h"; sourceTree = "SOURCE_ROOT"; }; + D7F691A5E2D695E76D73CF02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7FE54B855C9F65CB86C2D06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + D82BF8D9E506B2B7403BA000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + D8326C79AEDDD3DA5B0FB757 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; + D847FE4F8BB1FCFE594FC816 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + D870A888E298A6133C7479FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; + D884162DCD6F93643B3575C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + D96985BC9DD44E0EDAF09141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.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"; }; + D981F069CC689FB6EB03EF9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../../modules/juce_core/zip/zlib/deflate.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"; }; + D9CC9B3D56CFF66B2C9646F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; + D9D80C50710E5B4465F776C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + DA0D87A4E53B12575F148339 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomic.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomic.h"; 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"; }; + DB693059E35EA80E207B901F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.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"; }; + DBEF9D71A2917C0FC54B33D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + DBF69D0D99E9C34759C18879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + DC26D1CA02600B967A955667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AUv3.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm"; sourceTree = "SOURCE_ROOT"; }; + DC37DEDD50E10A48D6A2A434 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; + DC477EBD13032B49B57ED3EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + DC7F4F7D64F6DB5BF360384A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; + DCA11D10BC9B65E98E4E64D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; + DCB83D5211F0F810B7916BCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + DD38475B019BCACDF8885E87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.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"; }; + DD779F07B78A749C27426649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; 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"; }; + DE3B60216F3033FAE0F472AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/compat.h"; 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"; }; + DE66D308677F285EEFEEFFE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE8FBCED75D395A015157750 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + DE8FC4A46D98C042706FD720 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; + DEE3CF026149B0AD6A1E660E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; + DFBF1848364F587C6E06E8A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.h"; sourceTree = "SOURCE_ROOT"; }; + DFCFF009E2B2B9C24FE8CF76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + DFE876F95CE33E80A578F842 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E025FBECB603E572E3135DF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + E034065CCF91FD261F41ED9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + E06EF25DB1B087412E905BE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + E0F67554E07EAF0DBB454C4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + E10F93792A9BDAD07FECEECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; + E16A02BD2A75D7E45E87B6C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E1C92F29CE2523051BEC2855 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + E1F9DDBEEF914EE783CF104D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + E201B2C16C5591B0B42830E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + E28C7470763936BB2C8F682F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; 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"; }; + E4E878725E9C9668FC565235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CarbonEventHandler.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.h"; 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"; }; + E54A445261B6CBA975AA515D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; 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"; }; + E5EF0BDC7E2257DD77051447 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; + E5F07ED2E8D5D053AA5AC872 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnit.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.h"; 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"; }; + E638078137AFAA73D7876E0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; 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"; }; + E85368570E19D590974A0B86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; 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"; }; + E870BFBB2416F2FF6FEA708C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; 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"; }; + E8B7C9D914F19F473EA46B12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + E9146BA7D2CFDD5DE8C1A4EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; + E926027E5704282DD6F4AFEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; + E953B89607509135D337044D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; + E9826AAFDC691D5BDB7E7F53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9D99C7B57FBA78B15C7B7C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + E9ECB66E10CA8457574F51B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + EA2C0D823DA76996E8BB3D35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA415876860C87C8948B4150 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + EA61518A005F18AFB65A99E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + EAA901CBB1A7AEDFE7007F43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + EAE5092A709474C733426897 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; + EB1A6B5F3E57E1702DCDB561 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EB75A54E30D4B9CA5C87664B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + EBA64ECA5F1C291E2183C266 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; + EBA6DFE071E21572236A85AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUPlugInDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC1CCCDFD99F46DB3BD0579D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + EC365CE0656F4E7F09AE6909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + EC552B8FF680076D7C3CDCD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + EC6F073BC9908D8F13DED1FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC79D58A1A746851FBA0F555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; + EC888D1193E9BE34AAEF1A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + ECA013F54217505195AFBC49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; + ECEC59C293A1C634962D346C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + 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 = archive.ar; includeInIndex = 0; path = libSurround.a; sourceTree = "BUILT_PRODUCTS_DIR"; }; + ED8D7BCB3DC625A66DC4DB76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + EDECC2DF4E4C7CCE12C4DC6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; 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"; }; + EEDA0D546C6324CFC8DB5A3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + EEF9B494B796EF8316660695 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + EF049801E2AF08F3D414600B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; + EF5B06AD7C65652AEFDD2B26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + EFBF8CEE8C58D9D27376E481 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; 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"; }; + F04261B7B03A5858B6033C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../../modules/juce_core/zip/zlib/zutil.h"; 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"; }; + F0EA00C89D6A18F12CD534EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F1061CAE13B0B9F550777DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; + F1AC3219196D4A25E33D27BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + F2086F9920D76A5FDC4B8C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + F21D29CE89FE7AFEE6A64B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + F22002DFBE76022390C8BFE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + F22691240FF3F18CD3BD0FC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + F260C8CAEB0C86E4CB9B7B9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F2B78257220C0B0A318BF37D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + F369D4793E6FB83C2B75D949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; 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"; }; + F39D82CCCF71FD6DFE8D5356 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + F40C6359C610784C5CEA9D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; 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"; }; + F49FFD66B0764B812431F3A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; 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"; }; + 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"; }; + F663E5663FB633FD0650ECEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F6A431B050041F1F91117DA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + F6AE18B04CC3D2BB90189253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginUtilities.cpp"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; + F6CD562360C9463ECB5C2A88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + F6DE657F8AFC1EA742351AEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + F6FE528F49E0CBB7E491E7D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + F746F7D0946A7FCEDF6A220C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + F797DAB0D0E347F86073ADA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F79BF16233977237AD933E54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7AE983C93E8AF224290DBCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7B28CB63D3D5AF524D74BC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; + F7E851366CD6023170429026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; + F84908072DADAB75D4818AF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; + F8766D0CFBD5568256C87B9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + F8DDC6A45DB4260273B3800F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F8F62D8C0A4C06C9B45E1C85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + F93F39EF8F0D24215897E024 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + F969B4BFB355B38A59689EEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9898F5B8488062B0FCC1AC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; + F9F2315156152761AACD907B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FA296E9B1955F4D89C1C40BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + FAE768DD5A44FE8ECEECB1EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; + FAF575C94BA0DAB37D3C2797 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB3F53F652BD2355EC2881C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + FBB4308B70BB831413B5BE68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + FBB804CAB0CE97A362B43BCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + FBCEC24A33254CB56686D612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + FC09B910114A013658414408 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; + FCB1A8FA5E021B12BCDE4390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + FCED71655D998FC5D8DEF048 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + FD0DDA738AFE44B437E09E19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD1AC6CFEEDDA0A4EDA3A5CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + FD58A6069EA26E7C78A22C3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD769F3C864F10596396CF13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + FD774350DA7E62FCCD44C7C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; + FDA7D1B08757B59771543D9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDEAAA41811BC8EC2370C839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDEF35CF8BD8AB99610473C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDFF65451008B27A9CDE9CE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE26362F052098FDD390A4F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE3648125FD913FEA37C6C23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + FE3E3A2B6373DB38CAC32665 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + FF5370FE236B5C9051B566F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; + FF84CCEAC9742E22308EAE19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + FF8A5921A47E39C21211FCF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + FFDA6CAFA818052B1FA05ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 2DB947CA93ECB4CCB1877027 = {isa = PBXGroup; children = ( + 4F1AF1D850DBBFB581EAE294, + C26ABA1B100809876F503588, ); name = Source; sourceTree = ""; }; + 3F579A4A6D6B636B2DB71785 = {isa = PBXGroup; children = ( + 2DB947CA93ECB4CCB1877027, ); name = Surround; sourceTree = ""; }; + FD7B97BF9BEE0E2C82303313 = {isa = PBXGroup; children = ( + 7E4528E31F83EB3DE3C759A8, + 51818ABE8CD0F583889641E6, + D30ABE36C88A10D28AED416B, + C81E581814B8F309B1A76E40, + 1D1A33E2110AE5748CA33E65, ); name = buffers; sourceTree = ""; }; + 379C159D1CE3E6942551A591 = {isa = PBXGroup; children = ( + 3FAB019285028049082B04A0, + 282610C4FD3DAFCA978F98D0, + 8E28587642CBB61611683FD2, + DCA11D10BC9B65E98E4E64D6, + 62FD1738A1318DE94D214D78, + D99192DC91FBC2ADB42A04F8, + 91DC52EFEE54AA6A25F414F6, + 40C5FE1E03CE577FD7DF080F, + EE0D4EC1F38B6849E3A1A610, + 6478111FE0A70E1B34462C4A, + 563BBDE946ECE2B48D02A3AF, ); name = effects; sourceTree = ""; }; + 84C55456EB834F4E011A3C16 = {isa = PBXGroup; children = ( + D72665D6E63B6DA702571619, + 3C89E930E3468E056C4F7DAF, + 80EFB73C0DD18C003A15150B, + 06BFF4F032F4361053215F18, + 6262E2BC3D138F6525156B40, + 00BAB08A3C7CE1A00569FFB7, + 64C5572079821299427AA38B, + BA11252A1B41F99FE7875EF2, + 75172ED3C50EC5E798EE0FD9, + 29597BD09004A1E41CEE997D, + F2C43B12B52DADFBCC84EA57, + C07E49746D8F35949A195E60, ); name = midi; sourceTree = ""; }; + 677C18E3CDB5F95CFD812554 = {isa = PBXGroup; children = ( + 461F838AD745342758352B60, + 7E9EEE55C07DEB78803DBF5B, + 5CA18203C06006285A661FA3, + 83C89E3C13A5897E5A1A062E, + AB6A298438EC79D6834B397F, + 4681A13A910676436194A911, + 4FBC59AD5823043A3883ED3D, + 06DDE24D31E77F83DA06B7A2, + A0AB21B768AEA623AF8AC8AB, + 5A027E40F66666E45946FC28, + E463AE189BA87CFCA8C65DF0, + AD782E338323B1F4478B1510, + DD15AF1CC687CDCEF70C08B2, + DDFDAC1CC63DF7C6650633BF, + B14233F6A3456F7756910FF0, + E9146BA7D2CFDD5DE8C1A4EC, + A781E00098EEB97ABE72FB04, + BB118876CBEBD25875FF399B, ); name = mpe; sourceTree = ""; }; + B1BDDAABF73FD1FDCD4EE109 = {isa = PBXGroup; children = ( + 47AC6F53960752FD94ED6042, + 2BA804F6F7D9E40EAB9FB17B, + 5E0CCB7415B13C7B52593A7C, + 40D89F485E4FC6619B3E12EA, + 4128EE52EAA919EC41FF3543, + B389147C7EA77A4E3A422B75, + BD8254BA924B79B924897664, + D652F4C2A022EA283ED7987D, + 7113E21385D20E88FBD8BB85, + 6A05858CDF6B2CD600F7363B, + F93F39EF8F0D24215897E024, + 42DB9C36122C46056A5DC7DC, + 7830C7C7546EA608B0571C75, + C471B62CF80AEBACAADB9DF3, + 9AF8B777151E803927BD304F, + BF383BAE302C164FCA2FE885, ); name = sources; sourceTree = ""; }; + 01D8E825691990FD4154943A = {isa = PBXGroup; children = ( + E5CD6F4B70DC75F3ED0217ED, + 1E745C17E2CB67B7F98AE2A2, ); name = synthesisers; sourceTree = ""; }; + B95A8CEE0A73DD4292DB8797 = {isa = PBXGroup; children = ( + FD7B97BF9BEE0E2C82303313, + 379C159D1CE3E6942551A591, + 84C55456EB834F4E011A3C16, + 677C18E3CDB5F95CFD812554, + B1BDDAABF73FD1FDCD4EE109, + 01D8E825691990FD4154943A, + DD38475B019BCACDF8885E87, + 7A56CE3D3541FE47AF107730, + 426958B7DB499792338C7359, + 7A56CE3D3541FE47AF107730, ); name = "juce_audio_basics"; sourceTree = ""; }; + 0851101E028278252ACBA435 = {isa = PBXGroup; children = ( + 570508B9E87035E970DEA0C0, + 89BE99C79A12FAA559AB0958, + 5482BD21DE59A22067C055FA, ); name = "audio_cd"; sourceTree = ""; }; + 2015F3E39474EB977C74FEA6 = {isa = PBXGroup; children = ( + 269CE6F16682A65115B201D5, + F746F7D0946A7FCEDF6A220C, + 42D807689394528F84062DFC, + 7A4BF549A89BA2F462FA1FB5, + EA61518A005F18AFB65A99E6, + 1E3ACA8D2555202816263254, + B08FCE1BD4128E98FE545A2C, ); name = "audio_io"; sourceTree = ""; }; + 9B653956A10626EFCF2DCC68 = {isa = PBXGroup; children = ( + 35F5C5AD5C503FF899B7A581, + 03F5933F22E6CCC68ACE877E, + AFAD5BA9F385C17BFEDFD14F, + 85FAAFC7204659F3B375631F, + EA415876860C87C8948B4150, ); name = "midi_io"; sourceTree = ""; }; + FB635391F605596275041F13 = {isa = PBXGroup; children = ( + 5CF35BE370ADB7690C9F634B, + 9E3A95AEC172547B00C24183, + 8A0648AE319C0CEA55D7AD88, + E1C92F29CE2523051BEC2855, + BD5C315F852112DAEB25F52D, + 1BF16510851529BA0F3E115C, + 8A41776B06DC327163E64BF3, + EE72DD300F84875DCF85C5D9, + 822E9C44E7574C93267575FD, + E8080038C3E5B30024C91399, + 339C9C791240F0D70280346E, + 049CA7676F699A3C6FA24583, + 01388BAC073A677D690F9909, + 399ACA6944683DFFF377027A, + 3F01D21B25BF10D73ED5A7B7, + 48781DBFAAC755E0B33A3BE6, + 7B002478D9CBC13567054938, + 22D0F2A884E9ABE11FA6B359, + C704B27E6E1922AB26C5A3EC, ); name = native; sourceTree = ""; }; + FDBCD8E7A63D4D4729FC5619 = {isa = PBXGroup; children = ( + A4362F1C6092248CA95F5D9F, + 5454A03B0C64AFC1D8CB4D7A, + 4764F13452A00A7CC1645FF6, + FD1AC6CFEEDDA0A4EDA3A5CA, ); name = sources; sourceTree = ""; }; + 3B0CAA614A0170A5350344F0 = {isa = PBXGroup; children = ( + 0851101E028278252ACBA435, + 2015F3E39474EB977C74FEA6, + 9B653956A10626EFCF2DCC68, + FB635391F605596275041F13, + FDBCD8E7A63D4D4729FC5619, + BD6D9964FB7A7256CFC28E89, + BD7522064F6507425C88E48A, + C6EE8BDFC42B4B3B149DB6CB, + BD7522064F6507425C88E48A, ); name = "juce_audio_devices"; sourceTree = ""; }; + 23B39649D5AD67F0667C8A1F = {isa = PBXGroup; children = ( + B14F45582C4BD3F4A5B5376E, + EF049801E2AF08F3D414600B, + 52EFBC2325A874116840EC75, + ED8D7BCB3DC625A66DC4DB76, + E5EF0BDC7E2257DD77051447, + 0D81858B622E4FE84EEABDEC, + FCED71655D998FC5D8DEF048, + 7A9E2E8CF87D5390CB92A864, + 7DD98A1039A1A3CAD965B9E0, + B1C7A82B06A2F6FA27084D68, + C1035DEE3AD965746E6D4038, + 86422EC835DBE9E12ACAA844, + F6A431B050041F1F91117DA4, + A676FFA1BC32B4235962B41B, + 000495DEEEA7796D7F73CBDD, + EDECC2DF4E4C7CCE12C4DC6B, ); name = private; sourceTree = ""; }; + FD265F6F6C1596B12E8FD308 = {isa = PBXGroup; children = ( + 4DBBF72D494D234DF6979B58, + 9211728499CBEA14A9129F44, + 91B36A38A2515EACFDB74FF2, ); name = protected; sourceTree = ""; }; + E50B3D31A4516B7F98341AFB = {isa = PBXGroup; children = ( + 23B39649D5AD67F0667C8A1F, + FD265F6F6C1596B12E8FD308, ); name = include; sourceTree = ""; }; + 94547E84B72269802BEF7BAB = {isa = PBXGroup; children = ( + E50B3D31A4516B7F98341AFB, + 571B00B4A82D5F87BD870179, + 39B22472BB7F594D43201B30, + A845B9AE6DAB6DFFCE5A4E55, + C30D56576893B0FBA7E8BA1B, + 77C8C1FDA9649EADCE8C431F, + F1061CAE13B0B9F550777DCA, + E85368570E19D590974A0B86, + 7EBAED2F7E0534DBE53EC076, + 7CEDC88B769799FEC4F5D7AF, + 29CDCCC7FB95D6C13A9CD0C0, + 6FD52BB426D820E27833F076, + 04522DC157779F4391B6182F, + 9F5B3C82BC37B56697E99046, + 518FE6B74B4F9747E111901F, + 10441F31E2399A9C5C057DA5, ); name = libFLAC; sourceTree = ""; }; + 49E3F26AA441ECCA45D50353 = {isa = PBXGroup; children = ( + 94547E84B72269802BEF7BAB, + 91F315675BE1A7FBF2E24F0A, + C4684692C890928A7056BB23, + BD3569F6AD8834654914A05A, + 4CFEF02B4042BAAF6877F0D3, + DE3B60216F3033FAE0F472AA, + 294BF365EDBFFAE9601925F8, + D49040D48736DBA0A0708F04, + 560013E9B2519274906F91DD, + 01BEBE2ABA69A115102B944D, + BCE00BEF10B4A1F5AFC44F99, + 36AE0F68F17AA6148C856FF6, + F39D82CCCF71FD6DFE8D5356, + B442FFD1EB1E56F5A6AF9A3F, + 3B74ABCAA1355B57584F75EA, ); name = flac; sourceTree = ""; }; + 2648B28A9D4C1DA3767B0413 = {isa = PBXGroup; children = ( + 7A03CDE013AF0010D212B2E4, + 2188CB5DE84FD609D2060E96, ); name = coupled; sourceTree = ""; }; + 2E42C94C636B9027E44F5969 = {isa = PBXGroup; children = ( + B1B78DB0E7BDA8B5F66832D2, ); name = floor; sourceTree = ""; }; + 951283DA42084BBE54A7E521 = {isa = PBXGroup; children = ( + AD4CBD910D68798DFECB08B9, ); name = uncoupled; sourceTree = ""; }; + 81BD0EFE04D1D5C262675161 = {isa = PBXGroup; children = ( + 2648B28A9D4C1DA3767B0413, + 2E42C94C636B9027E44F5969, + 951283DA42084BBE54A7E521, ); name = books; sourceTree = ""; }; + 47A321F031ABF5D6F29D233A = {isa = PBXGroup; children = ( + C9A738CA9F1B20D0BC43A890, + BCC738DF29CDA4AB6B05DAB6, + 5466EE92C5F8B6CA93AA90BC, + 8E5677A16F98C56CAA7F2842, + 4CD98D8DF76756652AF23DE2, + 8D3B6133B6EFF1551DA6A0B4, + 2C90A81541D8A739BF27D0AB, + 92898F19C5760642BD7CA2EC, + 28EF77EE0BBAEE11DCA6686B, + E10F93792A9BDAD07FECEECF, + D96985BC9DD44E0EDAF09141, + 648BB9B79397A3C7CF03D05B, + B75D28053A961319D43AFA42, + D9CC9B3D56CFF66B2C9646F2, + 90593FC8C1E0DF38F5C4E13C, + 3BC16B32A13D6D9B32B36B27, + 1D0978C3DA227CD743EF77C1, + C8BB3FD850A9848A7941A6C1, + 00C41E888F56B5BF96C085FF, ); name = modes; sourceTree = ""; }; + A64C2F87EDDC574ED927DA6A = {isa = PBXGroup; children = ( + 81BD0EFE04D1D5C262675161, + 47A321F031ABF5D6F29D233A, + E953B89607509135D337044D, + 6E80699BCBB2556FFD7A4CE8, + 511F0EDF620E91BB8C67F2F0, + 4C46F612E89E4F1AE6E5A4F6, + 386A9F34D5321EE17B016C26, + E638078137AFAA73D7876E0A, + A779C9186E64D5B9A7BAE6B4, + D60BBD09C859B1B023A55C43, + 1E1F8171A69E6FAA2921B287, + F369D4793E6FB83C2B75D949, + FC09B910114A013658414408, + E926027E5704282DD6F4AFEE, + 4ACDF44A7A10700C056CC556, + C8E6849CDA4A45B7EFBE2579, + CBF938A9827F045B301867E0, + ECA013F54217505195AFBC49, + 5369F057F1BD39B1AAA5E2B8, + 39B8BCEC0D4448A13A2B6A81, + E8B7C9D914F19F473EA46B12, + 00D850760AD4F83FEC95B297, + 7366DF0A6FBEAE39C745FDDA, + FF5370FE236B5C9051B566F3, + 0A3EE1B4EE7FEF26D9E5578C, + F84908072DADAB75D4818AF8, + 93A123826E501520C2987312, + 4F83F49F8244492A0A031ED9, + C53A0781423656831578249C, + 6F541A289ED1E499A5359F87, + 43BACD20FB9287908F5F2D1C, + 81A4F7EDA0CA08068201CBE0, + 79C805461F958369B329C712, + 710383BFEC6C20B29FA6C1C5, + DD779F07B78A749C27426649, + 498F45179694FBBD4334A240, + 551EF6B34D3FD278EDF4BDA2, + ADA16213716A5EFC49BDD9F4, + 621DF3C377E15FD75A001274, + 3CEDD96C4174A1D6E2266A81, + EAA901CBB1A7AEDFE7007F43, + E870BFBB2416F2FF6FEA708C, + 82BEC2D665A1DBD8769DEB85, ); name = lib; sourceTree = ""; }; + F7AD2552C3ABD13A43BE9950 = {isa = PBXGroup; children = ( + A64C2F87EDDC574ED927DA6A, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + 62D4BC1A326CC069D15BBB3D = {isa = PBXGroup; children = ( + F7AD2552C3ABD13A43BE9950, + 9AAC62C12F25A930804B860A, + C509A34125848B8F6C4111E7, + DC37DEDD50E10A48D6A2A434, + 27DC763B8D7700E728491547, + B0000C5461E87D8AE3092F7A, + 14709C55D3855BEFE98C5F32, + BDBB8CB3C233D00D19E4B71D, + 28A689DA80FA1CB3A09E5A83, + CBF83C68D86E6323B95B3FFD, ); name = oggvorbis; sourceTree = ""; }; + C162EF9D4453CCFC4DE71E2B = {isa = PBXGroup; children = ( + 49E3F26AA441ECCA45D50353, + 62D4BC1A326CC069D15BBB3D, + 005CA70DE9A82DE8F5FCADA2, + 70C4D4F3DF396BD1A849C60A, + 4FFA97A5119867556A539736, + 202CFECD13C277D8F30AED16, + A458551FD64CCD79F3BE8C18, + 9A814A8C99FD0B43F96BE89C, + ED73CF6381E573C36E008BBA, + 02CE6BB6202647637FF78A6C, + 1A755B96F4FA13FB9706F070, + B11C926807580D210AB24CE0, + DA7BFD6419A52F8E18624A89, + 9F3DD2E88E09C3E742F1777D, + 55DB7B3538299A738B54E37C, + 30AAE849E8795D93E70DD1A4, + DB19D52D2112A72B9E3498F8, + 307CAD6446CF71BE23EA95CC, + 73F08CF0C5DA76EF64A292A4, + 4B373DA28300CC24EF4E7119, ); name = codecs; sourceTree = ""; }; + 6888EE7E2A81BC87E82761E2 = {isa = PBXGroup; children = ( + B5E2BA7CFF76835ADA9C0102, + B56A341B971CFA24BEBDD924, + C72923907E8ADCEC35BB7C88, + D7FE54B855C9F65CB86C2D06, + 26C3B3905128605AE1A2F505, + 282671AA60A1CAF6D9FEC171, + 4CF13541AB3B0757F5D62070, + 1C03137167E601BD7D83F356, + C2B45FD81F186804999C1144, + D9512ADEA154528D74EFB772, + 4ACC9263B5D916AF296BC162, + BB51D4FAE50C56946D409DA7, + D7F691A5E2D695E76D73CF02, + DE8FBCED75D395A015157750, + 466A9246164862ED1C3A587E, ); name = format; sourceTree = ""; }; + 1D767BA499112F5DFB893D4A = {isa = PBXGroup; children = ( + F7AE983C93E8AF224290DBCC, + FD774350DA7E62FCCD44C7C9, ); name = sampler; sourceTree = ""; }; + D5202C49F0C929D464B49BC9 = {isa = PBXGroup; children = ( + C162EF9D4453CCFC4DE71E2B, + 6888EE7E2A81BC87E82761E2, + 1D767BA499112F5DFB893D4A, + 6C4085319532B3588836F784, + 907ECB8961B34F538328C66D, + 35B628AB8DFBC44E9BBF1EF9, + 907ECB8961B34F538328C66D, ); name = "juce_audio_formats"; sourceTree = ""; }; + B03491D4B8689C8544B25B87 = {isa = PBXGroup; children = ( + 4B133B1F9874EBA8953DCDF9, ); name = AAX; sourceTree = ""; }; + DA59CA30765E869649A5C076 = {isa = PBXGroup; children = ( + 458D73FCC89935898F0D2C23, + CF94E9E88D70852405F7BA09, + ACB86BA48F9BDF78FFBC1FD4, + 45E3757052FEDC9305DE5972, + 4D5B55BBC8ECA6E1E9778B84, + E7649B82B33E1D1CED45A85C, + 65DA0BFD4BA75D3621A9273A, + 560F8258408D6E0570430645, + 9575A77A9EBAB07CF9DFCEB7, + E358A07AFF9BD2EBB2FD9231, + 6B4F3D7D16227556351F5208, + 663C7FB44856925D0F86AA45, + 9ECA1ECBFEDF5753570E1CE4, + 33555CB39BD58BF11BBACF4A, + 9C27FF6BCA9D6CBAA7D2600D, + 23091881E26A7EDE62D105E2, + 2878013D3F6C148903D6D3AF, + 731D166A94A169F40BB0C638, + DFBF1848364F587C6E06E8A2, + 168F080C39D0C2622BF07BBB, + 96A4F0328C23FC0CDADA39EB, + EBA6DFE071E21572236A85AB, + 4FE3C7E70892359709EFE933, + 3EC20942E3060C6E04E78734, + B14654CB3B43DC456C2786FB, + 6468EE39BAE40EF1B2493E9A, + 5820EDB30FCD7C77FDE1A447, + BA3594967B27A2A928060559, + DA0D87A4E53B12575F148339, + B7627C150228D0A645E030E2, + BC9BDCFF1ACF147F86BF66B0, + 112AF6745BE12D85E612F3F0, + BF0E0D436423306098D443EA, + 1BFAC6094CE530354B9AEF63, + 832774543B7277913460C41E, + 977BF2F770A1AC5041DAD63B, + 6985AB0655EC1B8180A7D0EE, + 2CC4204C145B5EE9528CB4A7, + 6EECBCF4105514D28CE3138A, + 2608656418568F033F755E15, + 261F1F55DF0430FA3656D346, + 9EA2E0DF598BC3B1D04EB545, + E6D2334CFA8C9CEB693FDED7, + E4E878725E9C9668FC565235, + 37C856ECA76CEBA1E5099052, + D0871319290F1C42DAFA972C, + BEFE94D1CF9CFC668CD0AFA3, + 9C8816BC9CFC6EC67629086D, + 1E83EA20BEF3D521089FE676, + E5F07ED2E8D5D053AA5AC872, + A0B4855ABEF30C728FD2A38C, + AEE81346BDE5DD6669BD1695, + C590BE5EBEFBDCC508E8233F, + 20D2A9D959ECE93D7646C071, + 1D9AC8EB8D85BF93BB65903C, + 9497F6127D98FC93F698D42F, ); name = CoreAudioUtilityClasses; sourceTree = ""; }; + 682B81CC505D8F57DEA7E0AC = {isa = PBXGroup; children = ( + DA59CA30765E869649A5C076, + E8154A3245B28F12461708E8, + 7BD189FD9F797A43D5818C6A, + 3A925CFFB7F60920C14EC144, ); name = AU; sourceTree = ""; }; + F780A21E1C3DA3D40B592D7A = {isa = PBXGroup; children = ( + 5583A45CA7C609741BB8B9EF, + 55DFDE807E321ABD1E879E41, + AB04D06155A5E52B0658F3D6, + 1000AB9EC17650FB0092DCD8, + 7D2CA0CEB4019C90AE75474C, + C52ED1AAE029660B7F7E195A, + 283ADB95E9375730B1389880, ); name = RTAS; sourceTree = ""; }; + D67F6C60D18A07F957783FCA = {isa = PBXGroup; children = ( + 8D7431A21F329A0623106F9F, + F468166F5B1642808084C964, ); name = Standalone; sourceTree = ""; }; + FAD31EA8ACFB57F726B6B00A = {isa = PBXGroup; children = ( + EDF3BB834AA5EA021B07F5FA, + 8E11074D4A9A023AE33D2777, + 377EE4F29DE0ECCB0B0F8EBD, + 133D8BD5E70B617551984B9B, + 6F7568F9157F0803A2E7EC54, + 0A5ADDE20162C3152A42CE9E, + ADCF8757250D34CD709BF18E, + F6AE18B04CC3D2BB90189253, + D7D538F79741F629EC0B174F, ); name = utility; sourceTree = ""; }; + CFB2A255E91D41F8C12E5150 = {isa = PBXGroup; children = ( + 8DC3D1402CD78E1E728A885C, + 897466367AE90A6757BD78AA, ); name = VST; sourceTree = ""; }; + B71E23C0ADB4B7F7D300A2B9 = {isa = PBXGroup; children = ( + C97229429AD64768E560F4AD, ); name = VST3; sourceTree = ""; }; + 3C13BDA7064F6A67ED81C57C = {isa = PBXGroup; children = ( + B03491D4B8689C8544B25B87, + 682B81CC505D8F57DEA7E0AC, + F780A21E1C3DA3D40B592D7A, + D67F6C60D18A07F957783FCA, + FAD31EA8ACFB57F726B6B00A, + CFB2A255E91D41F8C12E5150, + B71E23C0ADB4B7F7D300A2B9, + 764CC7C9098B8A13EE1E2BDD, + 5E4DECB460D73AB4F75A0807, + 98DEEE52698DC2DD0C22A537, + 02011069400D49AE29D3A8AA, + C5AC6B7D92F08E36C6CC81D0, + DC26D1CA02600B967A955667, + 5C0BBF7C8871D6CADCC21234, + 495066B584553F33AA485499, + 6DF2E654E67016290B9F0737, + 5047C0F83D6F3DECCA82A15B, + 01892F8A19255556080DDE29, + 248FA2DCFC1F4D864C5183E3, + 6547DE320CC0FA96CD6AA127, + 24AC7D1C7545E4A67FF94B8D, + 683FDDD46C1C9D9366F12CBE, + DB693059E35EA80E207B901F, + 2C6292FF430C369E7500CD98, + 764CC7C9098B8A13EE1E2BDD, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; + 1F033224B11870E39FE7A4E1 = {isa = PBXGroup; children = ( + 298205CEB528B1048E7572B7, + 6E3908F6B6B28178135530FE, + BD66E983F2E3845F261B1F69, + CFBCAC450FE065C81127FF44, ); name = format; sourceTree = ""; }; + 490FD3018F03DE75DFB18E1C = {isa = PBXGroup; children = ( + A9EC026B8F9D008D1870D46E, + CDB072F338849BCCED75AECC, + 9D6DC6AF988E805DF79A9732, + 6761449AD44DC0572C091395, + 047473D0C61EA32E78AF4FE9, + 8B61BBC7490B7EB09164C24E, + C3DA1C57A25DCB12F2DF99AB, + 97486545E0DEF7983FD5CA4A, + 0865F1C307283AE02E351740, + 6EA1D72172113F26FB6B928E, + 9BA022320B40176B7D34174A, ); name = "format_types"; sourceTree = ""; }; + 142E98D2FD115DB9A72B3501 = {isa = PBXGroup; children = ( + A39E5BE0E10E81989DF6858B, + DCB83D5211F0F810B7916BCE, + 188DD1909D466AF4B6E69E4F, + 0AE5F1F1382361500E63BDB0, + 46EBECAA8BC65AD7DF5B3E9F, + 766D8F6CCB7C552365002CBB, + 226C961868C1698325042D24, + 44F55939DAE240E085F0E71B, + B0A6DE7350AAB8969D04391A, + 68DE92B6A185CD59672D3C44, + 194765E999643B9DD05B699B, + F8F62D8C0A4C06C9B45E1C85, + 9B885EF1AC14458F7499B8AF, + 94A75100B6A4CCF6885A79A0, + 4A120CE66FDF0A5865F9F7B5, + 36E0D0FC8ED7169412D97115, ); name = processors; sourceTree = ""; }; + E09940A3E11C887BDEFFC89B = {isa = PBXGroup; children = ( + C37F9F3560C89C9FDDA70450, + 5E6F76D6B25707FAF0C02D54, + 49AA62E16981187F37AADA97, + 151920CADF3E53C3A5D51CDB, + C88E906306DDB0582DCE5BAE, + 355F1AFDDADFF457A03EC908, ); name = scanning; sourceTree = ""; }; + 037559B8391F8F7FBAEB7C46 = {isa = PBXGroup; children = ( + 20CBEB8354EC13269E7DA72F, + E546D4DA0C2F09B95EF1A338, + 7B0E2DCDF4BFA8DF381674BD, + 335D5A8B0F19078054B5362D, + CEFBEDB90EA2E9F27BE22E3A, + 80EC192E3258108B55EC9899, + 3DA9B49B4D22E5DA94F64E93, + DE8FC4A46D98C042706FD720, ); name = utilities; sourceTree = ""; }; + C6916C9DD58668909AC4986C = {isa = PBXGroup; children = ( + 1F033224B11870E39FE7A4E1, + 490FD3018F03DE75DFB18E1C, + 142E98D2FD115DB9A72B3501, + E09940A3E11C887BDEFFC89B, + 037559B8391F8F7FBAEB7C46, + BEC55BA6148BD8041D098862, + AB7DA807408C1458D1597C59, + D93DD123CF1E82A3CC410853, + AB7DA807408C1458D1597C59, ); name = "juce_audio_processors"; sourceTree = ""; }; + 3400BA52E4092D4053F24634 = {isa = PBXGroup; children = ( + CAFC74680CFAD13ED16174F1, + 565A7B1763F8B66AE9197037, + 1568B54E8611E8F5E92A70FD, + 10307599177903E1B8824E06, + 3AD0501F864C4F2DD41C5966, + 58F12496F9F77BADBF57E5F2, + D91C831E10E35FD587C55EAD, + E9D99C7B57FBA78B15C7B7C5, + 602A11234D5A0A7B698A44DD, + B38B922A6F64EFC597284354, + A8F91A8DDEFE95135E8ABF02, + 2034E590062F7F6B7EEB450C, + C9C018C9DA67A508FA7F9AAD, + 81AA77778650547EC6E2050A, + AA897DAF562B68DBCF937BCD, + 7F2D0D179F33F819C5371E25, + 0EC5AD5447DD911B8294F413, + 14F90FA0BB49D8D7C4E57D9B, + 7CB87F4F981135E701CC4D5A, + 500A45D3F87F53C67BACDBD3, + 7673AA512CED1146F25CAF8D, ); name = containers; sourceTree = ""; }; + A5F516F120DB9C6C4C58C504 = {isa = PBXGroup; children = ( + E254EEED8675C4F78A2D4F1A, + 313820ABEEF53F5A990C1513, + 613DE1F8791F33C1C8DEA7C9, + 1974E69525035B5F341DCA6C, + F5F68FA253977E39FD435531, + B738483978FF77CBB306A5E6, + F4D135468F38FFBD55038C28, + 22F7A09C95A58EAEE972D62B, + 38E6F1E3BAB55EB7E0A79ABD, + 7A92E35CDEF1FCF3C7E445F1, + 000C4E4CDAC4D42438BBB368, + 21BF41A319F0074EC3CD470F, + 15C2B114E56A2E668B13EF69, + 5CE690E9093E02CE1A23BC80, + 9C757B9F57ABE34B017F374C, + D17A03AEC4D871C512826B3F, + 7DB369B2887D6A596C235884, ); name = files; sourceTree = ""; }; + 55870435AD21675BA7A413A6 = {isa = PBXGroup; children = ( + 3B51EEF0617244E05E6F1AA5, + 63D1FAC9764C3757B757DD63, + 3B997E5CA36ED786D55DB3DF, + 07D5F4207DC87B1B939691FF, ); name = javascript; sourceTree = ""; }; + B36742053810EB6BF71DDF9B = {isa = PBXGroup; children = ( + 90173E41D4452D99A6315DCF, + 6304ED06740C6986558B04CB, + 4C519323C3F84E94FC07A2DA, + 4F6FD68D520847666C9E5DEA, ); name = logging; sourceTree = ""; }; + 23B78A77BEAF429405090B7A = {isa = PBXGroup; children = ( + D4213F3BE3F5ABFD8FB44C3F, + ECEC59C293A1C634962D346C, + 2CEBAE78E3D6DD80639B2138, + F56ABE35C7124CFCAB970A4C, + AAB19EF73C7397C550CCCFCC, + 62E334B65CC222E9990860B5, + A63DA17D6F3A6015EE7BA412, + 2BF2B581B23323A9C9748DB0, + A6294577F75BAB1F17306F70, + 741EB6D93443EAF22F90D25D, ); name = maths; sourceTree = ""; }; + 381755CF1D8CF92C8FC5659F = {isa = PBXGroup; children = ( + 9C374B02CB52B626D6985C65, + 1D446F680857EBC807F10AA7, + 5E09E16496B5B87B3F4A5A11, + A73B196E6DC893354986FC16, + 39C095E89EC83CBD070A0593, + 80DF1F37EE64FF1C97B10234, + C53DDF19FB6DDBC330420128, + D3D9B276C5A329C2ECCC7762, + 9108FB3A7D17D0F8B7BE249C, + A4302A67A7EC2D0DCAACD44E, + 8DCC53AC83A1540BF58AF95D, + E0F67554E07EAF0DBB454C4E, + D4AC2D9E7E4AD45E6E8075E9, + 4571F26DCD01A1F55C9B534F, ); name = memory; sourceTree = ""; }; + 7834D5D7EAC3111AB93F0486 = {isa = PBXGroup; children = ( + 578DB18FA05F9F328433C139, + 155136FF907C0F22B16F615C, + D1531AD6AC4F7DCEE6D17A4A, + 4A7A4CB3283F179CE30E5367, + 072F4B3C29A6C04BB17B1355, + B3BBF04EB46A52DA3A4030F0, + 1ABF878EC4CF5548BDE03989, ); name = misc; sourceTree = ""; }; + CF778C4DDD8728A3E5E16590 = {isa = PBXGroup; children = ( + A082374123DF2AD1E20F6978, + 0D28464DC45D8936B099C4B6, + DB978160D46AABA2A6F19FC1, + 86C60AB46BC50B750493C0C4, + 71F3BA89A0A75D16910B7287, + EC6F073BC9908D8F13DED1FD, + C19B3FACD5116C352BE626DF, + A7C62BCD3774D09D00997495, + 81B62FAA3F986C19D805C899, + A18A7B70D4AB75EACDABD8D3, + 6F9E1ECCE4EBD775D6016120, + F2086F9920D76A5FDC4B8C36, + 3A921FC0CD6E7863037FDAB3, + DD68AE7620D0CE309FD68ECE, + 4D05A387BD0800590797428B, + C4CC5059A506A9E19EF1E614, + A00E82D651719E1B7CBE69EE, + 81240159F2C3C59ED09942C4, + F04A849E91EC20FAB9888300, + 6769AC90078DAFB2B6B3EF48, + 214ED3A99718536044A9897D, + 3B6FBA1C36CE046E091A1A57, + 6C0378C2BC3AF60B11E7B577, + 8F55DF38EC1E6CF8D9997E8C, + 062AE65E85BE1B39992B57CA, + 56C835ABD785A229FB0705D1, + FD58A6069EA26E7C78A22C3B, + 2395B383F807D6875690314C, + BCEC71B9BE394B2C21BBB7F7, ); name = native; sourceTree = ""; }; + 36958260A5D5360285191A27 = {isa = PBXGroup; children = ( + F6FE528F49E0CBB7E491E7D6, + EC888D1193E9BE34AAEF1A67, + C40AD8761F44401CC4B5C292, + 1A48F453FBCFEB197F518E4E, + 4015DF84DF9CF61838DB989A, + 07954AA8D84D9B02883D4BF6, + FDA7D1B08757B59771543D9B, + 5678B143016B8436B3D88FD6, + 80EA2404E65720795807D3AE, + 2D98D39894F5BD49E05A4689, ); name = network; sourceTree = ""; }; + 33FE5C6705774576749E7558 = {isa = PBXGroup; children = ( + C70293434A59AA2F1C600F4A, + 2C9242328E31C72B5B3114F9, + 0ECBC001B10ABD4E646F2141, + D132C7CF4088636D18B5778F, + 398A5FA3A2E86626F60E1617, + 6D41112723F4A26BFB828497, + FFDA6CAFA818052B1FA05ADC, + 529AD7AB6A1295DC4ECA656D, + 3A880CE1CD3EF426314B8461, + A4C8F712033F5F3B3FC7CEDA, + 2926914BD8FB64093F7E3FCB, + 924E35B4AEA8576E57F72C6D, + DFE876F95CE33E80A578F842, + 347FC21AFBF1CD97D0F3D430, + E86E8EC094E7ADDF0BBD0426, ); name = streams; sourceTree = ""; }; + 05F53C122277EFCBEA774F0A = {isa = PBXGroup; children = ( + D8EBE05BD045561FE795D193, + 57C7DF9EDB1799A23783BB7B, + F22691240FF3F18CD3BD0FC5, + 000096281630E66302471DC7, + 46D69FBBE27F4A04A7256894, + 2E70CD6B91FE1C359FC210B2, ); name = system; sourceTree = ""; }; + B314A8B16F61F70AAB37CF64 = {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 = ""; }; + E72560541DE8EA34A9EA01E8 = {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 = ""; }; + 68B3B02B6A40C6CBB2E0BD7D = {isa = PBXGroup; children = ( + 0BEEF09E3293306B20F2A41F, + D9C13937FC10003685A55E58, + 90FDEA82B4C3D8E20796C174, + E56AF5E3AFCEE7A6898F93F5, + 2EF91785953F4A539FFF4068, + 19517B71434F5FFC2651501C, ); name = time; sourceTree = ""; }; + F49FC83739885A4E6FE8B436 = {isa = PBXGroup; children = ( + 3F387CF5DBB0BD68FB20A696, + 82167C943DFB4C69D017E459, ); name = "unit_tests"; sourceTree = ""; }; + 3D3B15910E1EDA21066F28A4 = {isa = PBXGroup; children = ( + 5C825A97A9A4D3AA5B2BB378, + 5DADB12CCEDF09D0BE21510C, + DA476863E26CA1172290BAD4, + 3031BD31A5490136E9922721, ); name = xml; sourceTree = ""; }; + 143C3BEB00451AA524EC54CF = {isa = PBXGroup; children = ( + 8207CFF4B336DDE2938DA89F, + 94BCC2412693083C8DCD5914, + EC79D58A1A746851FBA0F555, + CC066AE77F3DF9540683B8AC, + 69DD4622EA12EF7EC500136A, + D981F069CC689FB6EB03EF9B, + 8D136314D0A9E7C7A20F5252, + 7146E9786FC60B2C2BA4384C, + 11D415DDF7BB11807E5422F0, + 7679D8DFE3A556549FFBFC26, + 9FC0AD1FCDFEE5CBB3EC2EDD, + 18CA9F7ED279150DD51936A9, + 13E40E5084FE4F79895D62D6, + 80CE4DDD0581EDEEC6E1E970, + A6C5A9B86B568A68DB4192E8, + AA57DC80A4D78C32955CAD8F, + 99E912BE17D4C46F64AEC0CA, + 7822E082F886D277ED968E8D, + C70C23BD02311100B4F82F5B, + C8A529200937FA99C26ADD19, + 0362C38B47B2235F4443A98D, + F04261B7B03A5858B6033C6F, ); name = zlib; sourceTree = ""; }; + 49872CBCFE5CADEB6AD6C5C8 = {isa = PBXGroup; children = ( + 143C3BEB00451AA524EC54CF, + 71351FF1DA1251BBCB78CDC7, + 0C4876972CCD08524F68EB37, + 163881ED74768BEEF817DA0E, + 3C86768D7D8DBC563EFD97D2, + 19A63325AE4C9713333A913C, + B7E4B5868CACAE3C97FCB956, ); name = zip; sourceTree = ""; }; + C13C1D08D4F61200AB4A28CE = {isa = PBXGroup; children = ( + 3400BA52E4092D4053F24634, + A5F516F120DB9C6C4C58C504, + 55870435AD21675BA7A413A6, + B36742053810EB6BF71DDF9B, + 23B78A77BEAF429405090B7A, + 381755CF1D8CF92C8FC5659F, + 7834D5D7EAC3111AB93F0486, + CF778C4DDD8728A3E5E16590, + 36958260A5D5360285191A27, + 33FE5C6705774576749E7558, + 05F53C122277EFCBEA774F0A, + B314A8B16F61F70AAB37CF64, + E72560541DE8EA34A9EA01E8, + 68B3B02B6A40C6CBB2E0BD7D, + F49FC83739885A4E6FE8B436, + 3D3B15910E1EDA21066F28A4, + 49872CBCFE5CADEB6AD6C5C8, + 0CFEE86C58015E8E199151C4, + 40D42F9DBB577FE74F9AE1C1, + D9D80C50710E5B4465F776C9, + 40D42F9DBB577FE74F9AE1C1, ); name = "juce_core"; sourceTree = ""; }; + 8BC0E83D9386D90930F34002 = {isa = PBXGroup; children = ( + E77F485798E0636E24954ED0, + AA1BBD7D8B9DBCA7724ACF52, + A9DB7AC87701821AEB15C595, + 50784C284B2C0B3013CD69EC, + 8F5984113D804ADFE2044178, + 587BD2F8083646E066110E67, ); name = encryption; sourceTree = ""; }; + 19B932D7A28074842E204FBD = {isa = PBXGroup; children = ( + 2B666A8D2E1E9F81D5139566, + C3744746D5D42B49D24D7A1C, + 47CF682C865250FB451909CC, + E709C0D4B2BC07AD815EE28B, + 9765531DE9F77E4B20761128, + 04354310F326DA5FF7CA9AA2, ); name = hashing; sourceTree = ""; }; + 90872E9B165FB4D3592286C2 = {isa = PBXGroup; children = ( + 8BC0E83D9386D90930F34002, + 19B932D7A28074842E204FBD, + 7B57294BA8A41EDB3108D658, + 66B366DE799726DC66AF18F4, + 32163E95DE23FC34236D5222, + 66B366DE799726DC66AF18F4, ); name = "juce_cryptography"; sourceTree = ""; }; + 0F00F75102C3131F00112361 = {isa = PBXGroup; children = ( + DE66D308677F285EEFEEFFE3, + FBCEC24A33254CB56686D612, + 806CEC545181D9CE0C407F56, + 040C75A5D9922BB7D96C079F, ); name = "app_properties"; sourceTree = ""; }; + 9E2873AA97F59F2482C92C2D = {isa = PBXGroup; children = ( + 706861C655AE2FF2DFB0DDC8, + A492306E251F93B398C4A91E, + 55069C6AE1A3046D6527C262, ); name = undomanager; sourceTree = ""; }; + 64DD5B25DEEBBCB96FAA09C5 = {isa = PBXGroup; children = ( + 537F194A75922C9B0EEE69BC, + 3259E166EE1D69EC0A108B7B, + E1F9DDBEEF914EE783CF104D, + 5763F550088C529D321F5E80, + DE239F14B9770442D8BB72ED, + 831D6FCD81612A1649B0CF08, + 359CF3C6D92328D4DF140360, + 9DCCF3A006839CD06B44CCFC, ); name = values; sourceTree = ""; }; + E8B3149AED596A8D0A1041B8 = {isa = PBXGroup; children = ( + 0F00F75102C3131F00112361, + 9E2873AA97F59F2482C92C2D, + 64DD5B25DEEBBCB96FAA09C5, + D2FAEB234158AABFF4C39F7E, + DFCFF009E2B2B9C24FE8CF76, + 264B942F4B19B89749EAA874, + DFCFF009E2B2B9C24FE8CF76, ); name = "juce_data_structures"; sourceTree = ""; }; + 8B281C8F54F18B44AE0DB803 = {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 = ""; }; + 7C0172C43CFAA604AC6BBC28 = {isa = PBXGroup; children = ( + E83CB8AC3821B462D206DBCA, + 1D19E83C682B3544927961B7, + 71968FB78677A4AC53549B26, + 617C793B9298E00977847ECB, + 4AE641945F53300C928C522D, + EEF9B494B796EF8316660695, + CBF51788A63FA320BEF9C32E, + F969B4BFB355B38A59689EEB, + 1B0B59142B090064059EF414, + FDEAAA41811BC8EC2370C839, + 194E8C9019137A408DF3BCBB, + 8E6335DFBAE378576EF03F31, + 055E4AD47AA509789D519CBD, ); name = messages; sourceTree = ""; }; + ECE7E76F878685C9E9F66143 = {isa = PBXGroup; children = ( + FE26362F052098FDD390A4F0, + ED6A6DED69A6B6356531AB3C, + C231BFEE12706E2603F66883, + E7E5A36B33CBED5519C867D5, + C871B22F92AAFA7407C9C4A6, + 7CF0389C80C56663CFB07375, + 63A95276F02D29186E98B46A, + 0ABB990275F24497DEDF9412, ); name = native; sourceTree = ""; }; + CBB8B5A717904D2B24D53DE2 = {isa = PBXGroup; children = ( + F6DE657F8AFC1EA742351AEE, + D28B17D67B824090476FA43B, + DB972191556040C9ECA9AEA6, + 1D914D2BA45E19AE85866E08, ); name = timers; sourceTree = ""; }; + 1B1CAEA34EEDBB1B84E1212B = {isa = PBXGroup; children = ( + 8B281C8F54F18B44AE0DB803, + 18DAF73C15B7CE8EFD3A4BAD, + 7C0172C43CFAA604AC6BBC28, + ECE7E76F878685C9E9F66143, + CBB8B5A717904D2B24D53DE2, + FAE768DD5A44FE8ECEECB1EF, + F6CD562360C9463ECB5C2A88, + 9074CCFE08F3965E4129AC84, + F6CD562360C9463ECB5C2A88, ); name = "juce_events"; sourceTree = ""; }; + DDD15E4D73841B61A9321181 = {isa = PBXGroup; children = ( + 5F1449FB890A39C2A95901FB, + DC7F4F7D64F6DB5BF360384A, + C473D1B24B8540E1260F0D36, + B5240AB04A763082008E5E0C, + 1571D8D7F4D5DFB63250EB61, + 42B18357B0BEDD8AC87D7606, + 9D8B55BA3E52BC5C1737DD86, + CEE93ACD041B1D383E079212, + D12709CFF100AC21FCAC3E03, ); name = colour; sourceTree = ""; }; + E0685F16DF5B9E834132F90F = {isa = PBXGroup; children = ( + 45AC6DA85F3FA14869C73353, + 5B91FA24128801F27100E1A6, + CE0C78FA09FE52045E1F9F9D, + 586B46BF9C1A2F00EA5C2A01, + 507FCB578F092B366DEA9B7C, + 7E08F28DB14A6D7D2844B6C5, + A7EAEEFB48D8FBB3DC86F3D4, ); name = contexts; sourceTree = ""; }; + 6E1A0DA5074D9B6700B0A9A9 = {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 = ""; }; + 9B746548190785533D8646BF = {isa = PBXGroup; children = ( + 87CBFFF0A410C24D08C77B9D, + BB03F74A83F9A6F2259918C7, + A0590B9DF29A53A7C5A475EB, + D6BAA79416E9173122CB2CFF, + 89F91578BC83BFC96AC2610F, + 570056EBF7067B664DA3A107, + A225CB6D4E1FEA0E79DDE776, + 54A41365A3154277CAA3E56C, + 89276E21CE2AB6ED85513AA8, + 6E8D7FDCC4731EF96C75EDB8, + 1EDE2B26626301E27BE6BE2A, + 472CA3B67A81D3CB939746E5, + 77DBEC23583C975FD0D93328, + 9195DEDEEFF11C231AD6E499, + A954262B02E22F16A2653F22, ); name = geometry; sourceTree = ""; }; + 2150617D6F4398AF2322962D = {isa = PBXGroup; children = ( + AFEF06C1E6F19892B8B53467, + 41929CC1698D3B82A3898EA5, + 88EBFB20CA512CF5BE712220, + AB05D380A0DEA4FD1780F691, + 7A38D1F3D10E5020CC2BB145, + 5B1CC2BC88DD9A622FC43E1D, + 555A19CFFF2D2AA5901FB33B, + 6E7D3BC9E097EE16F59C4453, + 1DB934F1DB2EB962408077B8, + B8A70AB65D399DD66984ADDC, + 6D1B41BB006D6B0FF50C3172, + BFADCF6AF37B37E81E391F99, + 971E95ECA8E3B77690AD30FF, + E28C7470763936BB2C8F682F, + B3FC649ABB0BDADFC8D45B3D, + 412F2AF92D2B1087AC0FB2E1, + 71B90FEEA636B8EA44DAF4A3, + 41FF3F669144D70DC5279453, + C89E0E2EFF2CFBEE17DC31B2, + 857D93C46EF5F30B686666FF, + E54A445261B6CBA975AA515D, + 096878812312FA6DA602C854, + A502363A538CB1B2A96FF01F, + 68FFE1238648F51006CBF1DF, + 0C847DD159B7D3EC4135675E, + 6A1953FB8A316A098769662B, + AF251A1947001B0641A0B87B, + 7A23FA8DE98C54E0F6513962, + 46DB89D2ABFEE1D467EE0BD3, + EFBF8CEE8C58D9D27376E481, + 22D07E18BC6F565503E989CB, + 40921C206C3A89E378022ECD, + 21FD81C790788A75028F4A2C, + 5262615EFFB8ECC15E0A4DAA, + 075A41C17AEE46B78F1E8766, + 1F472D74FB1644EA8659F6EF, + DEE3CF026149B0AD6A1E660E, + 05B70AF3CBB4A9E0920540F0, + 3854BBCC61CCA4A5F6463B79, + 5F065DED0F3F38F8A08FE402, + F40C6359C610784C5CEA9D6A, + E9ECB66E10CA8457574F51B6, + 0D89AF801D86A210C31F40B4, + 00E2264B5E6ABD0FC6AE6382, + 9BB78D1FF6201FED3512AED2, + 81A1CB2F3AA0DF4F64D16011, + 5F84B9FA98A9C475644CBEB0, + 9C7EDCE8A7C38D9FFCC7282B, + 53DDCF60DB45E081926E6C6F, + 5612B5197CCBB70CBA8E39F0, + 716712146AD8F448382A589D, + 8F4F948E9300D459AF943E59, + D1B320692760CED6C0EF2593, + C2D52993316E0714E5D0583A, + 4C42233BFFF2340A9E4FBDBD, + 7D6E63AA72FC3BD46061A88E, + AE185DE5E0E06A69E1F103FF, + 608B62DA009BDFF0ADA218BD, + 0BC3CD2277CF7842A183222F, + BF82551962179398E7F3426E, ); name = jpglib; sourceTree = ""; }; + 4D219242E3CBAF3D583C4DAB = {isa = PBXGroup; children = ( + 1EF2F0FAF9FF5F8351C6D917, + 69DA077FE4CCBA55A4271913, + 39BADBFB279FC3A90545C879, + 79DEDA62D167AC08FC555762, + F49FFD66B0764B812431F3A0, + CD12CC5F4EA6B04E12D12BE5, + 19952BEFEDA1AEAADA5C9C20, + 11CEF1A51CD8552D511171C4, + 1BF5A11F4E80D88FBCF57157, + 63EC1ED05D6CDFFB63DEA6F6, + 3CC64E98D04095C29D6D5C6C, + 4AA12AE9E6F85F87BD9DBD74, + 685884776B8981945E2626AF, + 8C3432BC2BDC534720A9DBB9, + ABBEF42D4809A75E33E266D9, + DC477EBD13032B49B57ED3EA, + 98EF579EC7B4A9C22C1B5CFE, + 89A480D06355B8786C5FCAC2, + A28E9D58711A59C0AFF79AAF, + C25A4BB622EDA18EC2F2109C, + BE05563E2C91E3D53A8E809F, ); name = pnglib; sourceTree = ""; }; + 5C061C0FF957537813EC262D = {isa = PBXGroup; children = ( + 2150617D6F4398AF2322962D, + 4D219242E3CBAF3D583C4DAB, + 67EA6F256BEF7618EC7D99DE, + 9DAD1A4D51DFCB12DBA2455F, + B822B93FBB4EF4979C545FE0, ); name = "image_formats"; sourceTree = ""; }; + 63FD5154665735C5CD5F2621 = {isa = PBXGroup; children = ( + 21FE01C41C1CD99C852C7609, + 460FAEBE1DC6115C7340D368, + 7F9EFDB0517F3BA863DE3800, + EF5B06AD7C65652AEFDD2B26, + E2B3AA140F644E8221ADCFC6, + 7D4F7A80F1AFC4853F307DD3, + 47772BFE38C18EA36303B771, + 700CE8F1CAF61C4CF9027BA4, ); name = images; sourceTree = ""; }; + 5B21AF3809B96434DCBD562E = {isa = PBXGroup; children = ( + 6DC698D49D38C54E5E148EB4, + A1713DDC5BB30C019D421804, + D36B4CDCA954030E8FD4DF29, + 2E64D994F3B4C0E6E6AE0451, + 5CB5A0DEE180D84530DEC5C2, + E7C1051E14A76960ACA9229A, + 12AE1658C3B1991C9A0CD830, + 48C276D29013A113554F9744, + 65A815A563CDAA2E2A8160D5, + AC3D9BE3FC1CF359F8920760, + C49CDB7E6A6B236B90475472, + FCB1A8FA5E021B12BCDE4390, + 2E456C820F49CD1CC502D076, ); name = native; sourceTree = ""; }; + 05D0775E23F009263D3208AB = {isa = PBXGroup; children = ( + C3268FC646D56A5CABF404BC, + C21D47577DB11F1E012987A7, + C1CC9E74271F888FBA5BE549, ); name = placement; sourceTree = ""; }; + 4FFED01B671A2186993BC671 = {isa = PBXGroup; children = ( + DDD15E4D73841B61A9321181, + E0685F16DF5B9E834132F90F, + 6E1A0DA5074D9B6700B0A9A9, + 6C25198CD1324D5BA2CADCFB, + 9B746548190785533D8646BF, + 5C061C0FF957537813EC262D, + 63FD5154665735C5CD5F2621, + 5B21AF3809B96434DCBD562E, + 05D0775E23F009263D3208AB, + B3BF4E5E63B05D51708886EB, + CF45B6F185CC52AFC97555B2, + C63A37F5E2B0F3A457A1CB5E, + CF45B6F185CC52AFC97555B2, ); name = "juce_graphics"; sourceTree = ""; }; + 122B52D4311D9E66789C585D = {isa = PBXGroup; children = ( + 3BEEC005012C7B59727662C1, + C93881E59063E7106E77762C, ); name = application; sourceTree = ""; }; + 2F535955924077C23189FBE0 = {isa = PBXGroup; children = ( + 040ED28E4B927B6F00CF19E5, + 1050592B94D122929ED115F1, + CDC33763F981E457A893A979, + BEB71F5F8A83276FFC889F76, + E9826AAFDC691D5BDB7E7F53, + C4C952868910E9A933723C4D, + ABA78440E8BBC48CD14E4DE3, + 8F2975B67CB7CCA0D0F60988, + 0C06AB6F3CD0B6B339FC1E7A, + A0253FE5E948B4A2E80D3885, + D54EB52F77B8BA849F4B4988, + BDBD203A18A82D0739F9A879, + 43173B4435D709B20D23F8E3, + 52D34C24383A1090FE4790A4, + 6F3739D00F974F55096E2AF7, + 08B5FBB5AE51C7358FBCBBBC, + 44E64F895D6561C7F402FFAC, + 15F24657D67F9FA0101243C4, ); name = buttons; sourceTree = ""; }; + E9518D929F06A2BE57F6F6EE = {isa = PBXGroup; children = ( + AC918E9FF22781B57964CD1D, + CB86FA8F13699AE468D540CE, + 13D8722208F699E53B7747F0, + CE767FF08071F3D8269ED2ED, + D6B97908735281D202A8A26F, + 1BB6C06A841BDE30CE21AB8E, + A367A1757697F29B157B58EF, + A93F8583644CF10A1818F9A5, + 6F4DC318020741E9C1105300, ); name = commands; sourceTree = ""; }; + FDF3BA5AB9245E4DB32E7848 = {isa = PBXGroup; children = ( + F9898F5B8488062B0FCC1AC7, + F79BF16233977237AD933E54, + A85523D456B7E4A756DE4734, + BD8F8FE01A1D7B8B04AB5665, + 44B541AD4F960567EE0ECC87, + 2B3FB20F8237DB0C8618F18D, + 168538787685D8B11A48870D, + 76AE8F26F4B59A3BFAC5CD98, + D8326C79AEDDD3DA5B0FB757, ); name = components; sourceTree = ""; }; + 498E6435FE2900DE4C233DEA = {isa = PBXGroup; children = ( + D1848E8055D08BF63A6F6958, + AA236314ECB86A14C496C7C8, + CE90CA35FD6D04C3BE071530, + 31AA614A6097C175E568A4F6, + CE82E957A5AF7D50C7646EFA, + DAC42A5F60800CBD8FAF4BB3, + 546699C9706CC08F152D9EBD, + 5617580E3E1804308EA597D8, + 7EA3555E21692E5DF2440B10, + 0851623E3A0D2BF619251739, + 90A254BFD276CFF0F809F867, + DE4C5FB53E23F229E40B11B3, + E06EF25DB1B087412E905BE4, + 3A3FBD61A69BDE45825F491A, + F22002DFBE76022390C8BFE1, ); name = drawables; 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 = ""; }; + 2E8B2154BEEC9CE4E92B5332 = {isa = PBXGroup; children = ( + 324BCBD3697555B09B0B6583, + 0DA9056ECCB24283DE9EEBDE, + 62C31B7504A5E29977D544AE, + FE3648125FD913FEA37C6C23, + 39CF9D87398DEBE9BFFC14A8, + 60D6EE9A6BF8C76601DE9AEE, + B9F98E9DA83B9DF6DDEB8D74, + 9F8A6F25295031E2DD33BB6D, + 0BBD45544E1B3ACC2ED0D92C, + AB011FCACEEF26510E880E98, + 3B0253CED61E4E1336D22FE7, + 2656BD53C5B7E6BB7B4E71FD, + 9B3F61AC03E7ACB1E3096B8E, ); name = keyboard; sourceTree = ""; }; + 09DB4A9AE4DEC22B15321A23 = {isa = PBXGroup; children = ( + A75918090FB31B99B60FF1D1, + 8AB1217C7D9CEC5CA4CE87B9, + D7A9D8BFB6D8F9F6C8F7A564, + A4AE654270251CADB9730421, + 8923277431C31D4E6A967800, + E025FBECB603E572E3135DF4, + 1BC4722569015FD2D7FC558A, + 314F72EE115BDF662A284F10, + 7B0C46F2447F8BFBBF0DA34B, + 35FFFC72EB6015F79E23D471, + 625DB3E333234BCF2DC1352A, + C34797F37266DB39D227210D, + B3ECDD29979ACEC5B31C54BF, + E44F53D99BB88A6D31DC5B66, + 22A3F345BE74DB54722E6246, + 492F0C1B45FB661811F8CFC9, + D884162DCD6F93643B3575C0, + EB1A6B5F3E57E1702DCDB561, + D670AAD0C3E24F8464F2FD7F, + 5AFD87CA03540D1547399737, + 40CE2E1D2A7A1E2366E923A0, + 0B9381FF2623C60D2BA1DF16, + C6BE53B6C0FB32640C7B655E, + 59EB8E3D3E9E5CC2F756CC31, + CC3BCB011A14D68256BEB070, + 83E2EFC9133757FD09C67ABE, + 082ED52317824C94DFE4166F, + 16668C6FCCB026D9EE73B48F, + ED58711084151A628AA9BA2C, + 6FF3CC4AE793A2C496B2DACB, + 208AF232C232980C62C6FB4A, + 94941E4F05E2F3DCE91338EA, + 3D8F4EEAB30D31309F8D6D73, + 82791DF73E7508C75E0B8FAF, + CB443F70086971C87F1BC4A8, + 526373D29E0EC21236A180A5, ); name = layout; sourceTree = ""; }; + 2AAD7468F5E906EFA0BED6A2 = {isa = PBXGroup; children = ( + 89685AA70302A3738E626A4B, + EAE5092A709474C733426897, + 5ED79CEB7D0DC98541A1EE3D, + 024CB198D719E920742AAF38, + B34924FE8ED984ADAFE47D0D, + 23967785D99600B250F32D59, + 863578C8C35502444456B6EA, + 49EF2BC6D82746658EAEFC0B, ); name = lookandfeel; sourceTree = ""; }; + 84785D99DA60BD6650EF1D49 = {isa = PBXGroup; children = ( + E6030EFE3070F375865A62FB, + A0578FC8A4E9AD111D47B465, + F663E5663FB633FD0650ECEB, + C97789C4620368AE1E3F9F22, + 45AD1E5475B9820E1CC8A636, + D96D61FB21B63DE1C97BCFB7, ); name = menus; sourceTree = ""; }; + 84DD1EE1C51543B3F4AF28BD = {isa = PBXGroup; children = ( + 6627145A2E93CCE43E6BCECC, + 0077BF3E748A1660AA76177D, + 1E1B654F129B4B2743E45B77, + 257CFFF0281E2987C3D35CD6, ); name = misc; sourceTree = ""; }; + 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 = ""; }; + D2EAAB1DC724BA6D7DDC3FA9 = {isa = PBXGroup; children = ( + 5F05CDB9CC162A8054B6B07C, + B40FF8B6DCEC246C6AF39D13, + 1A635AC7B19A22FA1C5AE1FA, + 12967C1084566CB26F95CD67, + A897F8DB88D1541457993B58, + 476455264120A720C3A4258D, + 95F3F4EDFF78C11D7800BCF2, + 2B71D20D7270815E421D2F9C, + D771E43E5F196D508E939795, + 416D78C0452B796EABB0E320, + EEDA0D546C6324CFC8DB5A3A, + 35E119A589F901CEF3C344D0, + 88B47C0A3A0E52A0A69E85DB, + DBEF9D71A2917C0FC54B33D4, + 3EE91003DBE013763ADE30BE, + 53BF201C2DC50C4811878627, ); name = native; sourceTree = ""; }; + B6F12A82FA23CBABA104D234 = {isa = PBXGroup; children = ( + 085E8AAF08603197C8422743, + C5331A9B548B1C4BA82B1C5E, + 5454498293784705551AFC93, + C11FDE71C9F4A3598D31D2B7, + EA2C0D823DA76996E8BB3D35, + 975BB97EED05CDBCFB755C9F, + A9F9C2F09B984C82A20D244E, + CE690CDFA6954C16F2A15C17, + 1C1BA3B137968A4F5C55891F, + 1703E734221F32B55AB20CAB, + CFF216130476A0B9DA5C3858, + F2B78257220C0B0A318BF37D, + B5CE5220AFAA451EDE91F0BA, + 7FB8750BA8CBC35CD7D49DFA, ); name = positioning; sourceTree = ""; }; + 773C7FA3D35EE78411413703 = {isa = PBXGroup; children = ( + 6544310A5FE189E31FA1E19C, + 1DF12382D165910E9C82AEE5, + 924B473BB36A76EAF10CAF93, + A71D074B6F3ECE49A86444C0, + 889215816EC0BE292B4FC278, + 702C8F8FC81ADB2C6305B028, + C1BCB8BFC7810B8E181D6012, + 94064A8E7E57387E611786B1, + 90C7260EB1DD77FAD05FA9EB, + EC552B8FF680076D7C3CDCD3, + D487D34A38A1DE7F492FDB7A, + 6E562E933928F42CFA6BBBAF, + E16A02BD2A75D7E45E87B6C5, + 0D8C088EF55B1F7EC793A7F2, ); name = properties; sourceTree = ""; }; + 4D9B5D76FC4BEB606BE24D6D = {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 = ""; }; + 55B9BCABDDD16BF519C3F9E3 = {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 = ( + 122B52D4311D9E66789C585D, + 2F535955924077C23189FBE0, + E9518D929F06A2BE57F6F6EE, + FDF3BA5AB9245E4DB32E7848, + 498E6435FE2900DE4C233DEA, + DFF3809F4EF6D0D28A0AA3B9, + 2E8B2154BEEC9CE4E92B5332, + 09DB4A9AE4DEC22B15321A23, + 2AAD7468F5E906EFA0BED6A2, + 84785D99DA60BD6650EF1D49, + 84DD1EE1C51543B3F4AF28BD, + 1931D8A1E122F6A7DDA5B8DE, + D2EAAB1DC724BA6D7DDC3FA9, + B6F12A82FA23CBABA104D234, + 773C7FA3D35EE78411413703, + 4D9B5D76FC4BEB606BE24D6D, + 55B9BCABDDD16BF519C3F9E3, + B8DE040EE5E1A84F57C346E9, + 3844B4C3527ED9ADE3124C84, + DAE44B592D6EEE1CB93CB155, + 3844B4C3527ED9ADE3124C84, ); name = "juce_gui_basics"; sourceTree = ""; }; + B1329A3881FB1F0F453E5FF9 = {isa = PBXGroup; children = ( + 6F4E9B36E5290DF31257AC55, + 03E9D79DB85F5A7AB13B3890, + 8B8C8E45262B02EE3013C440, + 909AD17AC8323FE339E5B6E8, + 41A64D81E976A07DB6741318, + F21D29CE89FE7AFEE6A64B3A, + F1AC3219196D4A25E33D27BA, + AFD393DDDDE8BAECA65FDBA7, + 21B7C7DBE34A68DB00A726C8, + B5A2DE2DE761E211AB6744E2, + 988169569B4859887E539F01, + 9E71C4F0492720C53904489D, ); name = "code_editor"; sourceTree = ""; }; + 4BD86700024BCF00D74DD50F = {isa = PBXGroup; children = ( + 4228AB345083BD55A8EBD8C4, + 1B32BBE6348485F8B68ED911, ); name = documents; sourceTree = ""; }; + A8DAEF7143DD55B8EA715602 = {isa = PBXGroup; children = ( + F07EC2EFE5FFF0E2288711C3, + F0EA00C89D6A18F12CD534EA, + 19027D68236606983C77475E, ); name = embedding; sourceTree = ""; }; + 3DFF793C07E18238F9D1BA69 = {isa = PBXGroup; children = ( + EFC569FE1968AEFA162BB956, + A8C8E72535DCCA2FA51DA494, + EC1CCCDFD99F46DB3BD0579D, + E6F0A3EC8623DE2445ED25F7, + B91EC6C409062ECFE844B213, + 8A604B4BD445F2F0F2ED6C96, + 2D91B4EAB3F16E761DBCB117, + 5CC6DEAAE9163963DE1B8CE8, + 8B2B33EB8FE2027523BD9ADD, + BDF251FCFBB899CE5BA38638, + DA21FA21B659B629A37CBC57, + 524272F93429A23FD3E4F2DB, + DCC66A4C74A91E964A7EE148, + F55825002ED2E2AA9F16FB0A, + 0685B03C781ACC4F4BF210DE, + AD87444137D41FB3EDDBE050, + 7224B3E86B0B213EFA6F6742, + 5582E5736849C25D20668E8C, + 7051E797A0524E98F71D8615, + F260C8CAEB0C86E4CB9B7B9E, ); name = misc; sourceTree = ""; }; + 8510A0F5170E0BC30AABDB35 = {isa = PBXGroup; children = ( + 103B4CFDB78F4A23AB769052, + D29B42596F4354DB04AF9D0F, + 5DC0AC03E07D3B3ED68E1D3B, + 80C5AD2DA2CA4CBB5CDCBB91, + 9D869053AA7C5B8F9CBE90A1, + C313DAE892A88AE7B0033A76, + 5927772AE794231C7E19C2E8, + C9B1759B112A657294509208, + 0BFC315AB52F6F3A6B57BDA3, + 08D97E821F4B7A1B9210D617, + 6F69A889D91A3E01256C8B39, + ACBFEC5FB87C0DD1C4DE8F16, ); name = native; sourceTree = ""; }; + CC3AAC783228133AF12EFDDD = {isa = PBXGroup; children = ( + B1329A3881FB1F0F453E5FF9, + 4BD86700024BCF00D74DD50F, + A8DAEF7143DD55B8EA715602, + 3DFF793C07E18238F9D1BA69, + 8510A0F5170E0BC30AABDB35, + 19C4690DEED0A71F0BE6F6AE, + E274543499717615EDF97C52, + 260974AE3CD80140CDAE7350, + E274543499717615EDF97C52, ); name = "juce_gui_extra"; sourceTree = ""; }; + 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 = ""; }; + 0EA9562348D9CCEC2B726811 = {isa = PBXGroup; children = ( + 0977881EAF41DFC35199C670, + 42431A6D35BB7759FBA0A1A9, + BA4123F2CAB9039F80B94EB3, + 3C32971532C18E8EB1035ED1, + F31F1728DB145A005F0A4D36, + E74EFA6AF8BFD878A1182D6E, + CF57DE24D4AEFAD4D2FA4DED, + 8FB6FBE0529C3103625CCD7F, + FDEF35CF8BD8AB99610473C9, + 5C974A2227B9D1780C37AC4D, + 0E59705ADB26589AA8FAFC8F, + 058C746739457F8FFF36F342, + 89DB87A634C78DA7F3891C19, + B71F1365994EF1A4D4EC9489, + 94B5B0680AF388C6F16942A0, + 1E67025B1F91B4FD970B9B39, + BFD8CD9DAD02C64472380BFC, ); name = opengl; sourceTree = ""; }; + BF74FEB58DBB00EDE988DAF4 = {isa = PBXGroup; children = ( + 560D45B247F62D55D9EAF0EE, + 47B37FFCC2E9EF3CCDF9270D, ); name = utils; sourceTree = ""; }; + 41FAD25455348290204EB32E = {isa = PBXGroup; children = ( + E1829D5821B2B8019A80095F, + 92D93980FB2857B86AAE1A51, + 0EA9562348D9CCEC2B726811, + BF74FEB58DBB00EDE988DAF4, + B5961F8646838A9AC6522C8D, + 47EBAB1A9CD775971F6A90A0, + 7A874F15B399218ED0FC60AE, + 47EBAB1A9CD775971F6A90A0, ); name = "juce_opengl"; sourceTree = ""; }; + A9B4A98866795D9C493770A0 = {isa = PBXGroup; children = ( + 67FE3ACAFC37091FBDAAF35B, + A80623F61A50FC6957425AB3, ); name = capture; sourceTree = ""; }; + A7667BB71DFDE05036FD4C43 = {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 = ( + A9B4A98866795D9C493770A0, + A7667BB71DFDE05036FD4C43, + 806FFEE51E12BBF310AA7EBD, + B289ED93E985695121E8D059, + 7D725C33C92063B40C0A3358, + 54AEFF14FCEFC2DC56A700C4, + 7D725C33C92063B40C0A3358, ); name = "juce_video"; sourceTree = ""; }; + 863735409A25FA5C7E7D02D2 = {isa = PBXGroup; children = ( + B95A8CEE0A73DD4292DB8797, + 3B0CAA614A0170A5350344F0, + D5202C49F0C929D464B49BC9, + 3C13BDA7064F6A67ED81C57C, + C6916C9DD58668909AC4986C, + C13C1D08D4F61200AB4A28CE, + 90872E9B165FB4D3592286C2, + E8B3149AED596A8D0A1041B8, + 1B1CAEA34EEDBB1B84E1212B, + 4FFED01B671A2186993BC671, + E76592C491140F8498FC38A3, + CC3AAC783228133AF12EFDDD, + 41FAD25455348290204EB32E, + B56145E0D5A01A93DEB6DF13, ); name = "Juce Modules"; sourceTree = ""; }; + 1128728F843B9D9296C05F16 = {isa = PBXGroup; children = ( + 779B2DEAEE0E57CE5E08FC15, + 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 = ( + 169166E084E7C70761B779E9, + 3E67AEA9A0FD3291E8C1B486, + F02875DC328E400B3141069D, + 19E1189C678E9189ECD11DEF, + 7B09ECEA92A79A22173B9A1A, + A0BFEED17AF0E43A7401189C, ); name = Resources; sourceTree = ""; }; + 18B9690A5C364D20F5C100E3 = {isa = PBXGroup; children = ( + 52EEFA8ED8C29967F5A9E1EE, + D8FC94038AF7B050BBADC027, + A70EECB9198195AFDADBC672, + 253FCE81AE9E1892C73442D6, + 0693085A1667BC47ED3617D6, + B27D6516C9B3775F094E3FB8, + C0A5E837710E3B35036FAB37, + 2CB584410282733946DD4F40, + 315372231DC2E25A7208F8EC, + B308A76D9F181930FD48B861, + 67A0CBB4834C4C346F748E23, + 54A86948A7F0477C05BF1AFC, + 130A1E6607521A6C51E7E702, + 407B6CB925E1B5FAA7E3914E, ); name = Frameworks; sourceTree = ""; }; + 0F85B6E4F90C8E9CC5EB8C01 = {isa = PBXGroup; children = ( + 499621E04BA626F64944B0D4, + D035D1C2F16559D0BB4F80D0, + 79FE5C3ECC20E6354609E715, + C3AF8BFE5557DE30A253564C, + ED7C79D32D589E0F8123BB6A, ); name = Products; sourceTree = ""; }; + C16B685A8A4A888CBFC241D5 = {isa = PBXGroup; children = ( + A0BFEED17AF0E43A7401189C, + 3F579A4A6D6B636B2DB71785, + 863735409A25FA5C7E7D02D2, + 1128728F843B9D9296C05F16, + 8EF2160AA74AD33ED1D63DE9, + 18B9690A5C364D20F5C100E3, + 0F85B6E4F90C8E9CC5EB8C01, ); name = Source; sourceTree = ""; }; + 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 = "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", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + 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 -lSurround"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Surround; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst; }; name = Debug; }; + 4C0FBAEF448A6C797FB6DD45 = {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=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", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + 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 -lSurround"; + 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/"; + 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 -lSurround"; + 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/"; + 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 -lSurround"; + 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/"; + 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 -lSurround"; + 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/"; + 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 -lSurround"; + 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/"; + 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 -lSurround"; + 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/"; + 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 -lSurround"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Surround; + SDKROOT_ppc = macosx10.5; + 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; + 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)"); + INSTALL_PATH = "@executable_path/../Frameworks"; + 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; + 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; + 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)"); + INSTALL_PATH = "@executable_path/../Frameworks"; + 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; + SDKROOT_ppc = macosx10.5; }; name = Release; }; + D4400F944A7D89C0E4DA25E9 = {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 = "Surround"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Debug; }; + 0844437E6CB463145B532F9B = {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 = "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; }; + 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + BCE8135290C1E3CF37F2E6EA = {isa = PBXNativeTarget; buildConfigurationList = 21570E6625DC144BEE45BF2E; buildPhases = ( + C6635CD032CBB46EE84BE2BD, + 7DBFF07EA24A761249FDB194, + 2E087F2A8528F2C788D09A5E, ); buildRules = ( ); dependencies = ( + 7A12FA8A84B55F5EDD5C99F9, ); name = "Surround (VST)"; productName = Surround; productReference = 499621E04BA626F64944B0D4; 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + 050134A7A9B0AD26AD788AB7 = {isa = PBXNativeTarget; buildConfigurationList = A6CE6F9F84FC2669E1EA642C; buildPhases = ( + 82A795FF64B3DC1673E6DFFD, + C40118D5AA68EA22C25990A9, + 38083A2E2A2930885CC53FC0, ); buildRules = ( ); dependencies = ( + 7A12FA8A84B55F5EDD5C99F9, ); name = "Surround (VST3)"; productName = Surround; productReference = D035D1C2F16559D0BB4F80D0; 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; }; + 6AF7D8B2A0C3D350ECF9E451 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 64624CD6DC9AD04D81B9E401, + 057B3431395E851B7328AE02, ); runOnlyForDeploymentPostprocessing = 0; }; + DF81062DB15A392555500AFC = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 1F5789B6D2334580C0F3D9AE, + 3A9DA4E9002E62503BE11891, + 029B18BC4295AE3360F6EC0A, + 471B0DAB418CA9BF51D3567F, + 985B36DFE9EF062E1E004089, + A17BCBEF822B10243D4FC7CF, + B5BAC2E65225F94E8D52EC39, + D3CAAFF2401E545BBB10C2E1, + 628C3FC970D842482843D58E, + 660197C1881A08EFF582CE23, + 2D01683AD97D65AA55B574F8, + B1B407C4C9685EDAF5C38ADE, + 1730BAC6358B020E5359B15D, + FDCC043886C609481941F040, ); runOnlyForDeploymentPostprocessing = 0; }; + 3DE552C28C67B3599B47F6D5 = {isa = PBXNativeTarget; buildConfigurationList = 28CFD77267AD6813E50C6B60; buildPhases = ( + 6A3AF05F6EAA6537996C2F42, + 6AF7D8B2A0C3D350ECF9E451, + DF81062DB15A392555500AFC, ); buildRules = ( ); dependencies = ( + 7A12FA8A84B55F5EDD5C99F9, ); name = "Surround (AU)"; productName = Surround; productReference = 79FE5C3ECC20E6354609E715; 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + 1406423C2E104DB2C01413A8 = {isa = PBXNativeTarget; buildConfigurationList = 3ADF964121B249916F64316E; buildPhases = ( + 5276FC9AAD3BF2140C19513D, + 9CA62E78DD58EF6DCD1F513E, + E0725217929C36E3C067C5DB, ); buildRules = ( ); dependencies = ( + 7A12FA8A84B55F5EDD5C99F9, ); name = "Surround (AAX)"; productName = Surround; productReference = C3AF8BFE5557DE30A253564C; 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; }; + ECF21C83A6EB88D73C09E713 = {isa = PBXNativeTarget; buildConfigurationList = 2027B4509482C03CE7628088; buildPhases = ( + 533BEF452ABC455670C57273, ); buildRules = ( ); dependencies = ( ); name = "Surround (Shared Code)"; productName = Surround; productReference = ED7C79D32D589E0F8123BB6A; productType = "com.apple.product-type.library.static"; }; + 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.sln b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.sln new file mode 100644 index 00000000..4e6ee865 --- /dev/null +++ b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.sln @@ -0,0 +1,19 @@ +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2015 +Project("{F9FF67DA-4C83-1DEF-FCA5-8D74F96886D5}") = "Surround", "Surround.vcxproj", "{01DA4F69-1E8D-E195-1DB6-491234B0D5E3}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {01DA4F69-1E8D-E195-1DB6-491234B0D5E3}.Debug|x64.ActiveCfg = Debug|x64 + {01DA4F69-1E8D-E195-1DB6-491234B0D5E3}.Debug|x64.Build.0 = Debug|x64 + {01DA4F69-1E8D-E195-1DB6-491234B0D5E3}.Release|x64.ActiveCfg = Release|x64 + {01DA4F69-1E8D-E195-1DB6-491234B0D5E3}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj new file mode 100644 index 00000000..40f8bdf2 --- /dev/null +++ b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj @@ -0,0 +1,2459 @@ + + + + + + Debug + x64 + + + Release + x64 + + + + {01DA4F69-1E8D-E195-1DB6-491234B0D5E3} + v140_xp + + + + DynamicLibrary + false + v140_xp + v140_xp + + + DynamicLibrary + false + true + v140_xp + v140_xp + + + + + + + + v140_xp + + + <_ProjectFileVersion>10.0.30319.1 + Surround + true + Surround + true + v140_xp + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + ProgramDatabase + 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 + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\Surround.dll + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\Surround.pdb + Windows + true + + + true + $(IntDir)\Surround.bsc + + + copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3" + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Full + 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 + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\Surround.dll + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\Surround.pdb + Windows + true + true + true + + + true + $(IntDir)\Surround.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 + StdCall + + + true + StdCall + + + true + StdCall + + + true + StdCall + + + true + StdCall + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + 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/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj.filters b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj.filters new file mode 100644 index 00000000..a93c0f91 --- /dev/null +++ b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj.filters @@ -0,0 +1,4178 @@ + + + + + + {9E03FA51-6FEB-34EF-D563-2E850B88B5A4} + + + {634EC515-677F-7CA1-211D-1B763B72F295} + + + {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} + + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + + + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} + + + {0F766DD4-A277-CB86-5647-42498C8B41E1} + + + {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + + {D64942B4-6984-3623-3347-45D472AE1C61} + + + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} + + + {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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} + + + {2FB30532-4EF3-EFA3-E57C-F7DDE9DB1297} + + + {50F044B3-0D39-198B-CA5F-BE5E6C078D04} + + + {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} + + + {20254EFE-6CBD-31A7-2119-92B1E0E0E311} + + + {70796D73-6D30-8A1B-4732-7C021E47C05A} + + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + + + {EB8DD942-E2CB-869F-D381-E02A65BA790B} + + + {8F91DFC0-7A71-1BA8-D8D9-6B4CF49151A4} + + + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} + + + {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} + + + {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} + + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + + {DA0DC4AC-B511-A2D4-199A-C93454D6F114} + + + {91929C6F-7902-B87D-5260-2F6CBF8ACD93} + + + {4634FFAE-9586-A970-364C-4FDDA635F99F} + + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} + + + {C9F6D785-BF78-5AA1-B479-111C65397864} + + + {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} + + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + + {F03654BC-34D8-F975-BEA3-750CC2783D23} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} + + + {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} + + + {7703D2CE-C32A-936A-0EEF-949FE6E52EB5} + + + {8D283B6C-13BA-9EF6-1B18-B1C393786943} + + + {928D8FCC-5E00-174B-6538-93E8D75AB396} + + + {358AEA11-3F96-36AE-7B32-71373B5C5396} + + + {3DF036EA-3B80-553B-2494-3AAC835CAE75} + + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + + {F2A38F45-6E55-E147-2E52-64A89FDD9D59} + + + {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} + + + {4926B3FF-E797-F586-857A-69D9703FA2D1} + + + {EBC65085-3AD5-280C-1A29-2B1683643AA1} + + + {E37D25CD-4350-4614-055B-7ABC55E67895} + + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} + + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} + + + {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} + + + {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} + + + {B3141847-8F13-F67D-45B2-E3ECF6E09088} + + + {151B49D8-6102-F802-1C07-D59931BC0574} + + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + + + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} + + + {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} + + + {EE985DEA-CD83-8132-7219-542BB1DAD560} + + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + + + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} + + + + + Surround\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_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + 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\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_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\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_formats + + + Juce Modules\juce_audio_plugin_client\AAX + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU + + + Juce Modules\juce_audio_plugin_client\AU + + + 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\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_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + 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\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 + + + 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 + + + Juce Modules\juce_audio_processors + + + 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\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + 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 + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\memory + + + 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_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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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_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\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures + + + 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 + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + 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_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + 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 + + + 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\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + 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\placement + + + Juce Modules\juce_graphics + + + 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\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + 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 + + + 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\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\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 + + + 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 + + + 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\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_gui_extra + + + 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\utils + + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + + + 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 Modules\juce_video + + + Juce Modules\juce_video + + + 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 + + + + + Surround\Source + + + 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_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + + + 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\native + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\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_formats + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + 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 + + + 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_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 + + + 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\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_processors + + + 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\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + 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 + + + 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\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\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\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 + + + 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\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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_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 + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + 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 + + + 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\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + 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 + + + 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\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + 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 + + + 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\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\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 + + + 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\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 + + + 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 + + + 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_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 + + + 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_opengl + + + Juce Modules\juce_opengl + + + Juce Modules\juce_video\capture + + + Juce Modules\juce_video\playback + + + Juce Modules\juce_video\playback + + + Juce Modules\juce_video + + + Juce Modules\juce_video + + + Juce Library Code + + + Juce Library Code + + + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + + + Juce Library Code + + + diff --git a/examples/PlugInSamples/Surround/Builds/VisualStudio2015/resources.rc b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/resources.rc new file mode 100644 index 00000000..fd301e19 --- /dev/null +++ b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/resources.rc @@ -0,0 +1,29 @@ +#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", "Surround\0" + VALUE "FileVersion", "1.0.0\0" + VALUE "ProductName", "Surround\0" + VALUE "ProductVersion", "1.0.0\0" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/Surround/JuceLibraryCode/AppConfig.h new file mode 100644 index 00000000..4638b179 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/AppConfig.h @@ -0,0 +1,343 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + 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 + 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_S8Q71Q__ +#define __JUCE_APPCONFIG_S8Q71Q__ + +//============================================================================== +// [BEGIN_USER_CODE_SECTION] + +// (You can add your own code in this section, and the Projucer will not overwrite it) + +// [END_USER_CODE_SECTION] + +//============================================================================== +#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 +#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_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 + #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: + +#ifndef JUCE_ASIO + //#define JUCE_ASIO +#endif + +#ifndef JUCE_WASAPI + //#define JUCE_WASAPI +#endif + +#ifndef JUCE_WASAPI_EXCLUSIVE + //#define JUCE_WASAPI_EXCLUSIVE +#endif + +#ifndef JUCE_DIRECTSOUND + //#define JUCE_DIRECTSOUND +#endif + +#ifndef JUCE_ALSA + //#define JUCE_ALSA +#endif + +#ifndef JUCE_JACK + //#define JUCE_JACK +#endif + +#ifndef JUCE_USE_ANDROID_OPENSLES + //#define JUCE_USE_ANDROID_OPENSLES +#endif + +#ifndef JUCE_USE_CDREADER + //#define JUCE_USE_CDREADER +#endif + +#ifndef JUCE_USE_CDBURNER + //#define JUCE_USE_CDBURNER +#endif + +//============================================================================== +// juce_audio_formats flags: + +#ifndef JUCE_USE_FLAC + //#define JUCE_USE_FLAC +#endif + +#ifndef JUCE_USE_OGGVORBIS + //#define JUCE_USE_OGGVORBIS +#endif + +#ifndef JUCE_USE_MP3AUDIOFORMAT + //#define JUCE_USE_MP3AUDIOFORMAT +#endif + +#ifndef JUCE_USE_LAME_AUDIO_FORMAT + //#define JUCE_USE_LAME_AUDIO_FORMAT +#endif + +#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT + //#define JUCE_USE_WINDOWS_MEDIA_FORMAT +#endif + +//============================================================================== +// juce_audio_processors flags: + +#ifndef JUCE_PLUGINHOST_VST + //#define JUCE_PLUGINHOST_VST +#endif + +#ifndef JUCE_PLUGINHOST_VST3 + //#define JUCE_PLUGINHOST_VST3 +#endif + +#ifndef JUCE_PLUGINHOST_AU + //#define JUCE_PLUGINHOST_AU +#endif + +//============================================================================== +// juce_core flags: + +#ifndef JUCE_FORCE_DEBUG + //#define JUCE_FORCE_DEBUG +#endif + +#ifndef JUCE_LOG_ASSERTIONS + //#define JUCE_LOG_ASSERTIONS +#endif + +#ifndef JUCE_CHECK_MEMORY_LEAKS + //#define JUCE_CHECK_MEMORY_LEAKS +#endif + +#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES + //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES +#endif + +#ifndef JUCE_INCLUDE_ZLIB_CODE + //#define JUCE_INCLUDE_ZLIB_CODE +#endif + +#ifndef JUCE_USE_CURL + //#define JUCE_USE_CURL +#endif + +//============================================================================== +// juce_graphics flags: + +#ifndef JUCE_USE_COREIMAGE_LOADER + //#define JUCE_USE_COREIMAGE_LOADER +#endif + +#ifndef JUCE_USE_DIRECTWRITE + //#define JUCE_USE_DIRECTWRITE +#endif + +//============================================================================== +// juce_gui_basics flags: + +#ifndef JUCE_ENABLE_REPAINT_DEBUGGING + //#define JUCE_ENABLE_REPAINT_DEBUGGING +#endif + +#ifndef JUCE_USE_XSHM + //#define JUCE_USE_XSHM +#endif + +#ifndef JUCE_USE_XRENDER + //#define JUCE_USE_XRENDER +#endif + +#ifndef JUCE_USE_XCURSOR + //#define JUCE_USE_XCURSOR +#endif + +//============================================================================== +// juce_gui_extra flags: + +#ifndef JUCE_WEB_BROWSER + //#define JUCE_WEB_BROWSER +#endif + +#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR + //#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 1 +#endif +#ifndef JucePlugin_Build_VST3 + #define JucePlugin_Build_VST3 1 +#endif +#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 +#ifndef JucePlugin_Desc + #define JucePlugin_Desc "Surround" +#endif +#ifndef JucePlugin_Manufacturer + #define JucePlugin_Manufacturer "ROLI Ltd." +#endif +#ifndef JucePlugin_ManufacturerWebsite + #define JucePlugin_ManufacturerWebsite "" +#endif +#ifndef JucePlugin_ManufacturerEmail + #define JucePlugin_ManufacturerEmail "" +#endif +#ifndef JucePlugin_ManufacturerCode + #define JucePlugin_ManufacturerCode 'ROLI' +#endif +#ifndef JucePlugin_PluginCode + #define JucePlugin_PluginCode 'Srrd' +#endif +#ifndef JucePlugin_IsSynth + #define JucePlugin_IsSynth 0 +#endif +#ifndef JucePlugin_WantsMidiInput + #define JucePlugin_WantsMidiInput 0 +#endif +#ifndef JucePlugin_ProducesMidiOutput + #define JucePlugin_ProducesMidiOutput 0 +#endif +#ifndef JucePlugin_IsMidiEffect + #define JucePlugin_IsMidiEffect 0 +#endif +#ifndef JucePlugin_EditorRequiresKeyboardFocus + #define JucePlugin_EditorRequiresKeyboardFocus 0 +#endif +#ifndef JucePlugin_Version + #define JucePlugin_Version 1.0.0 +#endif +#ifndef JucePlugin_VersionCode + #define JucePlugin_VersionCode 0x10000 +#endif +#ifndef JucePlugin_VersionString + #define JucePlugin_VersionString "1.0.0" +#endif +#ifndef JucePlugin_VSTUniqueID + #define JucePlugin_VSTUniqueID JucePlugin_PluginCode +#endif +#ifndef JucePlugin_VSTCategory + #define JucePlugin_VSTCategory kPlugCategEffect +#endif +#ifndef JucePlugin_AUMainType + #define JucePlugin_AUMainType kAudioUnitType_Effect +#endif +#ifndef JucePlugin_AUSubType + #define JucePlugin_AUSubType JucePlugin_PluginCode +#endif +#ifndef JucePlugin_AUExportPrefix + #define JucePlugin_AUExportPrefix SurroundAU +#endif +#ifndef JucePlugin_AUExportPrefixQuoted + #define JucePlugin_AUExportPrefixQuoted "SurroundAU" +#endif +#ifndef JucePlugin_AUManufacturerCode + #define JucePlugin_AUManufacturerCode JucePlugin_ManufacturerCode +#endif +#ifndef JucePlugin_CFBundleIdentifier + #define JucePlugin_CFBundleIdentifier com.ROLI.Surround +#endif +#ifndef JucePlugin_RTASCategory + #define JucePlugin_RTASCategory ePlugInCategory_None +#endif +#ifndef JucePlugin_RTASManufacturerCode + #define JucePlugin_RTASManufacturerCode JucePlugin_ManufacturerCode +#endif +#ifndef JucePlugin_RTASProductId + #define JucePlugin_RTASProductId JucePlugin_PluginCode +#endif +#ifndef JucePlugin_RTASDisableBypass + #define JucePlugin_RTASDisableBypass 0 +#endif +#ifndef JucePlugin_RTASDisableMultiMono + #define JucePlugin_RTASDisableMultiMono 0 +#endif +#ifndef JucePlugin_AAXIdentifier + #define JucePlugin_AAXIdentifier com.ROLI.Surround +#endif +#ifndef JucePlugin_AAXManufacturerCode + #define JucePlugin_AAXManufacturerCode JucePlugin_ManufacturerCode +#endif +#ifndef JucePlugin_AAXProductId + #define JucePlugin_AAXProductId JucePlugin_PluginCode +#endif +#ifndef JucePlugin_AAXCategory + #define JucePlugin_AAXCategory AAX_ePlugInCategory_Dynamics +#endif +#ifndef JucePlugin_AAXDisableBypass + #define JucePlugin_AAXDisableBypass 0 +#endif +#ifndef JucePlugin_AAXDisableMultiMono + #define JucePlugin_AAXDisableMultiMono 0 +#endif + +#endif // __JUCE_APPCONFIG_S8Q71Q__ diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/JuceHeader.h b/examples/PlugInSamples/Surround/JuceLibraryCode/JuceHeader.h new file mode 100644 index 00000000..75dec1bb --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/JuceHeader.h @@ -0,0 +1,49 @@ +/* + + 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_S8Q71Q__ +#define __APPHEADERFILE_S8Q71Q__ + +#include "AppConfig.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 + // 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 = "Surround"; + const char* const versionString = "1.0.0"; + const int versionNumber = 0x10000; +} +#endif + +#endif // __APPHEADERFILE_S8Q71Q__ diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/ReadMe.txt b/examples/PlugInSamples/Surround/JuceLibraryCode/ReadMe.txt new file mode 100644 index 00000000..091a5aa6 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/ReadMe.txt @@ -0,0 +1,12 @@ + + Important Note!! + ================ + +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 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 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..c599b875 --- /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 00000000..d4b8c311 --- /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 00000000..a4fdf7f3 --- /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 00000000..175b3004 --- /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 00000000..0ac2b2f5 --- /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 00000000..29d48f3f --- /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 00000000..2da08c6d --- /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 00000000..72a8426c --- /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 00000000..6064f99d --- /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 00000000..5c5509ab --- /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 00000000..56af9aeb --- /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 00000000..d3b6529a --- /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 00000000..c35394b4 --- /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 00000000..8e2e5cde --- /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 00000000..ee2f414e --- /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 00000000..183f61b2 --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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/Source/SurroundEditor.h b/examples/PlugInSamples/Surround/Source/SurroundEditor.h new file mode 100644 index 00000000..af8e3fc1 --- /dev/null +++ b/examples/PlugInSamples/Surround/Source/SurroundEditor.h @@ -0,0 +1,178 @@ +/* + ============================================================================== + + 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 ChannelClickListener +{ +public: + virtual ~ChannelClickListener() {} + virtual void channelButtonClicked (int channelIndex) = 0; + virtual bool isChannelActive (int channelIndex) = 0; +}; + +class SurroundEditor : public AudioProcessorEditor, + public ButtonListener, + private Timer +{ +public: + SurroundEditor (AudioProcessor& parent) + : AudioProcessorEditor (parent), + currentChannelLayout (AudioChannelSet::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); + } + + ~SurroundEditor() + { + } + + void resized() override + { + Rectangle r = getLocalBounds(); + + layoutTitle.setBounds (r.removeFromBottom (16)); + + noChannelsLabel.setBounds (r); + + if (channelButtons.size() > 0) + { + const int buttonWidth = r.getWidth() / channelButtons.size(); + for (int i = 0; i < channelButtons.size(); ++i) + channelButtons[i]->setBounds (r.removeFromLeft (buttonWidth)); + } + } + + void paint (Graphics& g) override + { + g.fillAll (Colours::white); + } + + void buttonClicked (Button* btn) override + { + if (TextButton* textButton = dynamic_cast (btn)) + { + const int channelIndex = channelButtons.indexOf (textButton); + + + if (ChannelClickListener* listener = dynamic_cast (getAudioProcessor())) + listener->channelButtonClicked (channelIndex); + } + } + +private: + String getLayoutName() const + { + if (AudioProcessor* processor = getAudioProcessor()) + return processor->busArrangement.outputBuses.getReference (0).channels.getDescription(); + + return "Unknown"; + } + + void timerCallback() override + { + if (getAudioProcessor()->isSuspended() != lastSuspended) + { + lastSuspended = getAudioProcessor()->isSuspended(); + + const AudioChannelSet& channelSet = getAudioProcessor()->busArrangement.outputBuses.getReference (0).channels; + + if (channelSet != currentChannelLayout) + { + currentChannelLayout = channelSet; + + layoutTitle.setText (currentChannelLayout.getDescription(), NotificationType::dontSendNotification); + channelButtons.clear(); + activeChannels.resize (currentChannelLayout.size()); + + if (currentChannelLayout == AudioChannelSet::disabled()) + { + noChannelsLabel.setVisible (true); + } + else + { + const int numChannels = currentChannelLayout.size(); + + for (int i = 0; i < numChannels; ++i) + { + const String channelName = + AudioChannelSet::getAbbreviatedChannelTypeName (currentChannelLayout.getTypeOfChannel (i)); + + TextButton* newButton; + channelButtons.add (newButton = new TextButton (channelName, channelName)); + + newButton->addListener (this); + addAndMakeVisible (newButton); + } + + 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, layoutTitle; + OwnedArray channelButtons; + Array activeChannels; + + bool lastSuspended; +}; diff --git a/examples/PlugInSamples/Surround/Source/SurroundProcessor.cpp b/examples/PlugInSamples/Surround/Source/SurroundProcessor.cpp new file mode 100644 index 00000000..dda41901 --- /dev/null +++ b/examples/PlugInSamples/Surround/Source/SurroundProcessor.cpp @@ -0,0 +1,151 @@ +/* + ============================================================================== + + 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 "SurroundEditor.h" + +//============================================================================== +/** + */ +class SurroundProcessor : public AudioProcessor, + public ChannelClickListener +{ +public: + SurroundProcessor() {} + ~SurroundProcessor() {} + + //============================================================================== + void prepareToPlay (double sampleRate, int samplesPerBlock) override + { + 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 { reset(); } + + void processBlock (AudioSampleBuffer& buffer, MidiBuffer&) override + { + 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()); + + float* const channelBuffer = buffer.getWritePointer (channelClicked); + 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++)); + } + + //============================================================================== + AudioProcessorEditor* createEditor() override { return new SurroundEditor (*this); } + bool hasEditor() const override { return true; } + + //============================================================================== + bool setPreferredBusArrangement (bool isInputBus, int busIndex, + const AudioChannelSet& preferred) override + { + 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; } + bool producesMidi() const override { return false; } + bool silenceInProducesSilenceOut() const override { return true; } + 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&) override {} + void setStateInformation (const void* , int) override {} + + void channelButtonClicked (int channelIndex) override + { + channelClicked = channelIndex; + sampleOffset = 0; + } + + bool isChannelActive (int channelIndex) override + { + return channelActive [channelIndex] > 0; + } + +private: + Array channelActive; + Array alphaCoeffs; + int channelClicked; + int sampleOffset; + //============================================================================== + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SurroundProcessor) +}; + +//============================================================================== +// This creates new instances of the plugin.. +AudioProcessor* JUCE_CALLTYPE createPluginFilter() +{ + return new SurroundProcessor(); +} diff --git a/examples/PlugInSamples/Surround/Surround.jucer b/examples/PlugInSamples/Surround/Surround.jucer new file mode 100644 index 00000000..6537d202 --- /dev/null +++ b/examples/PlugInSamples/Surround/Surround.jucer @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/SimpleFFTExample/Builds/MacOSX/Info-App.plist b/examples/SimpleFFTExample/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..88725757 --- /dev/null +++ b/examples/SimpleFFTExample/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + SimpleFFTExample + CFBundleDisplayName + SimpleFFTExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/SimpleFFTExample/Builds/MacOSX/Info.plist b/examples/SimpleFFTExample/Builds/MacOSX/Info.plist deleted file mode 100644 index 6df44660..00000000 --- a/examples/SimpleFFTExample/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.yourcompany.SimpleFFTExample - CFBundleName - SimpleFFTExample - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - - NSHighResolutionCapable - - - diff --git a/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj b/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj index f2cfd633..49402afa 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"; }; @@ -36,16 +37,19 @@ 019793450E44DD660AFB5275 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; 01FB698FB741F319A6129EA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; 02053B74102A503EF8603456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0254CA8E3ED96CBA7EFEA76C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; 025AC0D5D2B1AE4E2410287C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; 0262F34C86B80ABBFA3E2C01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 027B727EB5DB2A0BAFCE6328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 02A5639DD8A8BDF6BB2E0C61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; 02ED4DAAA40F138585A2345F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0301D7F83AD3511A570CD3E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 031AFFF26837C0D18006DAC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; 033D96E6B7F5B58B732459F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 0351B5860D662C1B46594126 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 03524890838D650387912790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 035F6E4DA3B60AED9CE7F122 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + 03CD3E22E8B268983FA99CB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; 0406CFDE78A3EDDB899CDE7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 0425AA18482441D4BCB59146 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; 04362EB52A445AD4041F6952 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; @@ -56,17 +60,23 @@ 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"; }; + 05201194729A2B3430BCDEB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; + 054D959183F995FE59EA723C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; 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"; }; + 062BB4F7EDD5C005AFD0BC55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; 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"; }; 06FF98F27AC7DC8E7E4C73F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 0766BED8305D4B11BDA917E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; 07AA9183CC23FBA78394F6C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 07AF4C5DA859E914D76F7DA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; 07FBA311B4E9F68D237478F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 07FE19C3EC8834354A672CF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; 086DC4D9BCDCA173268600FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 089EF266B6F2114CABF82FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; 08EF8E672632825EF5FDA59B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; 090A74457D3F4FF2EBECF426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; + 09111AAB8357B525C9D43094 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; 0929A69E87BFDBCC09C653D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 0988BD9CC0B87496828F3C6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 09943BFC14FBD4192366CEEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -78,35 +88,47 @@ 0A86AE8820DD6DA6A97C7D0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 0BEA80FA81829FA2340F01A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C37A3523C3777001B3F6DD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D23766448EE19E3A8486A0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; 0D69A506E0A81B9D51906F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 0DA6D90196E10ABF6E11FA0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; 0DF3C7D19FE6921A4B90138A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; 0DF40F4EAA2893A440264A25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 0E1BBEF074CCA95A3F4316BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + 0E3718F1647117E2188D27BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; 0E7830E1D0729B24CA3AF3E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E7C5AA259938E42A0627127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; 0E88C71D3463BA5D1EBAFF43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 0EE50FB057897BAAD52B9421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0EEB154BE6F35B62B9C52658 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; 0F6C6792535496DD24244A38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; 10115AA6263D3CE0489CA824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + 10138DF569C4E06447F50118 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; 10224D2E1FA050EAC712B975 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + 105413D1740079DF508B9555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; 1126568C1F2AF469D93D4AA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 113A5C5E3537D01B1F5688EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; 1140D953DD1F8A9A0CC959D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 11678DFC898E41F7EF5BB08A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 11CF3544D77BDAC7960911D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + 123C64F9DDD248D45FE5312D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 125E80A3005551E59A4BF91E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; 127EE93DCA4D4337BD44D5AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 1453DC547F003CB22917B1FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; 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"; }; + 14A48B58C205BA494966D97D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; 157F3A71C57A0C766493EB98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; 16A5DBE6E802C9EBCAE95630 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 17079D0B6DE2E279112F6B95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 1717D7DD9D258595E300D248 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + 17BF64B2BFA58112BCF25010 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; 18421309528C4C3276EA5A95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; 188C3849D99AF881EDF09469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 18AC4C1A565ACD0C03BCE303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; 18BDC77D7A5DDEF3C40C2560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 18D4AB2296F9027D19AA2170 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 19B50B89F1408621EC8F3740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; @@ -114,6 +136,7 @@ 1AAEAB6A86B4F27880FEC59E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 1AAF5414E330804C712FE98E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; 1BB051CC2B9FA03CEA8EBFE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 1BF65FE2C6A75E4E3D0404AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; 1C2A6E9A4C4D547BB357BF1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 1C65D2172BC8C6EE13917F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; 1C86227F5F0CE8D63F78F5A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -126,7 +149,11 @@ 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"; }; + 1E96A5BD8FED8A8227E9A08C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; 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"; }; + 1F3A21303C026FEAF30C4BA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 1F8C638FA4CAE8CF40BD1991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; + 1FC92C5BACEDDB863F19066D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; 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"; }; @@ -134,12 +161,15 @@ 20D67D12EA254C35832E2C9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 21353DF8836B1029435419DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; 213A38AC1E87DCB3CDC810DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + 21BC4D5D3E75218FF67A6B7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; 21EEE9FC1E4F7AF3789CACCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 2268780E9E52D39EEBF7529C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; 226AA5898738EBB679BFA513 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 22BF7D202B6D83B3E10EAFCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 23008292815CFA2B60A07C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; 230582C40A7D03F6691C7612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 230D544C6B3A4345EB4DFC16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 23406266A15FEE895B563AF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; 236B40CBF46A239539C9D315 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; 239B94BE10602A6BCF97FB89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 239C52DFE834703F3B4FC9C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -147,11 +177,14 @@ 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"; }; + 25EF5E59E4A5DBCF3946DE14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; + 2661B4B61A11EEB8192C0BF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; 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"; }; + 2748B98A3923C9D6D6452460 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; 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"; }; @@ -159,9 +192,12 @@ 28BA7D8BCF0826B8916F30CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 28EC40E4CD45A3F5AEB253AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; 2908A06CC6F7B0C19288832D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 294C6FC90743ABF6BE059487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; 297B3B9AC161F1A7778FE29B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 2A368150567D5EF7E7ABB0A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; 2AFE4BEBCDEFEBB19F0A3867 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + 2B84766A5807E37DD7F43E41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + 2BA79966081285468D1C0C7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; 2C01A95C5780C7A811D85295 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; 2C06E3B54D9E9F2490270347 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C09BEEA1796066D06AE435B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; @@ -173,14 +209,16 @@ 2D2A0378CD9D00B4B8A0CE1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; 2D38B168DE24934AC76345FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; 2D499B052F8E70693B1D815D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2D4E0992F44003F0838490D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; 2DA1EAA46CD8D7C79A01AC76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; 2DCE8865F812F11BFE50B518 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; 2DD3B8CC10CDFA57C4BBE959 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; + 2E2137ACDED8F7FDA402AFE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.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"; }; + 2FBEC25A1B67EAC92BFA3578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; 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"; }; 30BDFBBCD9CEDD4075E3736C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; 3148E4FF5262AF9AB2C02BF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -194,16 +232,21 @@ 3325CE13286C7B63A3307FA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 333F0052A31F68AFEF3C73F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; 334A67A664C59ABA8B85CD58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 337C236EF58966B23B2B58E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; 33AC6D79EBF6F466AF602E07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 340A22DA838B4806464C0606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; + 345683D52DC3316AA1E7BF84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 34A26768DEABD08C0EDCACBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 36347E14CDE557DCE2E74F0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; 364F0560898C41B01E0AF5D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + 364FDECED2966009402C1842 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; + 3687A276EE7DFD9C9A3F1D32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 3695B573C5DEB87AEAC77ECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 36DF004B825C5068D1CA354D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 37089130210249CAB8242A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -211,14 +254,21 @@ 37552F3417F2619D32D7826D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; 38836F163A69F801363D3FC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 3931D9B45440DFAE1E8A4D4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 397BA5C6B4B285662916432B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; 39B6EC6E9B6AD299245366FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 39EFEAD53FC647E711B57CFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A105B8963ACE464E38D5129 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A4F841D01C5C859FF968183 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 3A8A53D2CECD3D5AC1612E83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; 3AF54550AFDF6590ABA9D9F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3B3534B4E482BC780A0D18AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; + 3BBEBFFDD54AF58A9960EC6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; + 3BF973347DCE2387C0929571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; }; + 3C01C4F49D16680E7CFFF746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; 3C73BCD1AE25C418B2EC688E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3C963CC24881459452AEC7BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; 3D098D97FB49FD3A5F78F689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3D35B294E75A4D80543E1AF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D5885D35F1503196A809C1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 3D78C4D4A191AF5BD70DAE8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DA7B6626BA64C99F5E3E3B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -229,27 +279,45 @@ 3EE727B1EDC227C6C3280559 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; 3EFCCFCB0D320AC9E067B280 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; 3F038D2C6C40F6CC45374714 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 3F2C2F5F1DA54ECCF151C631 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; + 3F58C3FA9CA1435B73888B36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; 3F61DB45CD5DC4E4E3A17460 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 3FBBEAEA8D7EE76A80A9EAD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; + 3FC0A1C5851BC3D26D981A86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + 401004DACA9FBDDC00C7097F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; + 407EF555630609E612CC1D3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 40C7F5C7EB0D6FA334EC41DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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"; }; 4181FD233E5682D653B31D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 41B0941C393B2BD7813C6616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; + 41B22BF5F28C80F90CCD8B36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; 41BB68C9176E1F306F7F6CAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; 41BF450DD525853A2E2D27D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + 421307A422ECD66A54000EBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; + 42781874801F62702DC8722C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; 42A767BBD257C4E5A80E42EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 430BF1014739BD6C2192AE13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 447010082B0FB67C831DC0F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; + 4471490AE7ADD68396E20963 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; 4478B54AC5D53FEBD1F8EF2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 44A0811A0C0C12206F15431C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + 44BB3AF54FEF8FBBC3AA7080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; + 4507742EFE1D2069497D4C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; 455CCA106314C7061EF70F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; 45734C23A631AE8DC4836B79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpectrogramComponent.h; path = ../../Source/SpectrogramComponent.h; sourceTree = "SOURCE_ROOT"; }; 45B10DAF1B33CB7EC898AA5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; 4622A86B29ADA6F130EC87D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46516E3502270F117518FA1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; 4654A14334EED8E4E0B0E5F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 46911E45ADA69F0AB6342CCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; 46A9A558C4E0EAD1F52FE357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + 479EF2ED3FE931E20C448883 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 47A4CA85EC11E9F8F1513012 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 47A8F29DF715D6EE81B992FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; 47BF1717998B6CA5A578A99C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; 47DF39DDF6085A33F2282CF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -258,6 +326,7 @@ 493D17293EE4B7A2C8AA8EB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; 49401EB828C0EA3C717CBF93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; 4940BC726C0DA4D4F4EB403C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 49558A3F80B74650B18D6488 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; 499238C9C38CFA537418D577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A190D0E3422B0D7F82BE6F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A4E7FEF68E2A464BF77AE60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -265,13 +334,22 @@ 4A92E427C5B3792C5FF9DFC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; 4ABB1E717A66266B3F57FA62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; 4AF361FE4D741B06DBC2B15C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B0A8EEFD1DA8C559DCE979B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; 4B559C22A630B9A43D129C2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B7A54B76B2E07BD6F4C6442 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 4BBDBBD559EC3913344F58B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; 4BBFC13FD6615051A69B22AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4BE04E4510B14B3B3E6FFB01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; + 4C26211EE4EE637D596916AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; + 4C2B72D15F3D5724707929BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; + 4C653AA2E7BE443B9BDD4653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; + 4C6944C303D1680EA9C50C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; }; 4C942A41A0376B792B0E9ABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 4CAA0480D021374FFE3E45BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; 4CB790A8E31DADC817DE327E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 4CBB13451926FF758D08FE69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 4CE8BAA869AF9CE57FD5F5D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D09CAB43633EE1C11A16D95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; 4D0E5F1834DEE8108E3F8935 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D1F65ACBB6FA67520FAD5BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; 4D2B0D9BE08DEDB71353C92B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; @@ -289,80 +367,116 @@ 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"; }; + 5199051F54D84F200D5ABA2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; 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"; }; + 5206BB043082A8D6F93BBEFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; + 52721A07EC9C557794931D4D = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + 528646730A4FB17C6F669616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; + 52939F7B22E3A9B22B72AAF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; 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"; }; 537AA893A3E69602A0A98CC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 5395646612CD0E5D57F74EE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; 540A968AB6E807B801653996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; 547509DF27DD4989FA9F0B9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; 55621AE78EF1A2581BD21426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + 557F6632CA3357B8E60074BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 55C90369D4BEF17E3EA4469F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; 55E634C6CD5FEE272C6AE083 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 55EA40A576F5B2BCB408F742 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 55F7B5D987EFEFFFCFFDA4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; 562435444A4F9ED644351641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; 563207973E51E565D1E4ECB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 56346FB852FE8A368FD1E02D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; + 56544D65AEDA68FFBB049D9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 56890EBF0506BE7E998AB0BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; 56A0C326BC013E762B3DDC36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 56B09AC75A152B6AE8C18DB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 56B40AA330DD586B1F5C0B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 56E0A3B7A25167E8E6704B79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5719845E97194BEB205F49B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; 571A20C538D7671FC8003336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; 572787A7E6A4F3A567ED5036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 576B111200A4942EED9D6076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; 5771105B21CB124DD974CCEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 58EE0FABF63D78EC4D5C7B7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.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"; }; + 5A5DEAB9C2102E8A14EED8E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; + 5A602B94516DFA80DCB315A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; + 5B03DDE54B4908B74843CFC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; 5B117BAC3213640DF634B4B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5B241BB60608855A45962B02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; + 5BF85EF642C446625E091669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; 5C28166D836BE281F580CFB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; 5C532F1501106BEC269B54D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C69C1E25ECA6FB6520671BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 5C8B7D09E34F63CFA71E119F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; 5C962C8B75E874CD08902C93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; 5CA0BC9A376B4EAE0AC35827 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5CD8FCCA6A59EC9CE7D1C8D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 5CE1E361B6D1296EEA4BD47F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5D3F038C355DE7A735C08611 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 5D7931D68B3087F07144EAB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 5DD8F2293DC8AD04D611431F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E3BB886D4C8897FE0DB83C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F6BDB50F1E7E9F8161F5673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; 5FFC20C706477F072E48E0EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 602B120F299CA8BF7D466307 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; 605D200233A7753384AE53A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 60A46E3343893554B153D427 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; 60B9F4249674C37B5F24D8DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 61786D202614D6A987B039A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 61D8A16163E4ECDA0783D577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 625DEC2DA830BB7C309F372C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; 62948C31A368EEF3873FA671 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; 62964A31A303909BC1574201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 62F7B27427A0D64832C0811F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63269875CAD5CDB5757D8BDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; 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"; }; + 6361FB430242D1B9D157F75A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; 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"; }; + 649D65D1F9BF82D3CA74B012 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.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"; }; 683C925C217F0335EB1CC27E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; 6878653F56D22AF680C70A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 689BFB706D367E3276A69489 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; 68B00C1F656571B0C26F756D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 68B5D7CAD522E37FB114C281 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 68B98F6923842ECF4A7500EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68C3F1FEEE434064C282E0B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; 68CA3FA90DBBFE081A9FEC54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; + 6992D8705B27466AC79926A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; 69AA8FA0409729B38822F52D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 69AB7E74F1E8DA8B37F1155E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + 69B9FD78713F7016438E6206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; 69C81D37426B7C5CA9F8608A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 6A327833AE638233BF00613E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; 6A3E3B5FE7DB21378F1EB7A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 6A4EAE75B41CA40C36109A06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 6A66D46C1FBEDAD6A106A536 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 6AA43AB4E48938D7AD95C145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 6B192FB4BCA4091763405FF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6B539E08027C30E771712CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; + 6B7619D3ED6A9E5B7B8B085D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; 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"; }; + 6B97E578F74406A061A82ED7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; + 6BE14DD3F4333AE6051ABB19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; 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"; }; @@ -379,27 +493,40 @@ 6FB39DD635C57B5F1AD95E9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; 7011843793AE173507011AA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; 70200EF25E00C7C2AEB84ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; + 7042905681714C96E116ED0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; 704445AB24A9BCA1A94AA858 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 70EA4966697B3B7852738C0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; + 714131DE062EF09660A7A5EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; 714BDFE341E486C807E6C2DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 7159E7C09A1ACA6AB8E5D448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 71D7CA7CF2E20D30B7BA96D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; 7211F26EA3EFB55977480FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 7248EBADFD524A47BFF6C0BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 724EDD5B73CAE6C6298698FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; 72743BDB2962352694843621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 7298C23E6B6DBFF5ED996D85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + 72DA86B6E7B996B92E686F50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; 72DB61A3DA23EA872B81DE58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 72EE90412DFD597814C77E8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 73496E7F458E957E4BE0D388 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; 73760090E4CB1CD2592A1E54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; 737C841D3712AC866D9BB1A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; 73AD74BCCA56FB0AE83831EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 73D841BD72361695FEB771A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 74183600D0AE5475E452C3B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74217D887FF85C0C2CC4F5AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 744ABAD149AA9432382CB921 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; 7458CF1BC77CF7B31A16EE77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 747223784C79F82F0BBA3CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + 748CB95231A3EE0BFE08F631 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; + 749284B1D620D5AD0A84F48F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; 74F4E9279951B18449BDAA56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 75166B28ECBBF7BF30C9F1C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; 75D1C6547D24C5D23F1F7FFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 75DA1BE4F0FB5A3879B05847 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 760A1858A03F479FB35972C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; 761B175887FE4782C025DDE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 762EF56D726935802B1B6245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; 764A5DC5F96BB0E1245A3384 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 766EEB87CFF6888B16C3C9EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 772425DE549980D891077437 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -418,6 +545,7 @@ 79EE05C33C8BB3DBE6F0CEAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; 7A3AFC22F38D15E60F993014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; 7AB3EA3F5285C4A6DFF616E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; + 7ABEE8EEEB77950A1F8C8C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; 7AD9F8DCE5E6DD6C654B55BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 7AE3FE832F126B64A60CBE60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B0401C3C23BF51F7E3ADF33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -426,10 +554,10 @@ 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"; }; + 7CFDE54641D5694C0CDE9E2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 7D61D4B3E73C059E8CDC2A99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7D73BA773479C807D1BFE717 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7DBFDDC88FCF6E7D97D98FDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -439,29 +567,39 @@ 7EE43A1B711EC69B5559E76F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; 7EF4AF10198761D6031DE552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; 7F13EAEEEA43FD9D6274C283 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F664506978CFD58463D8C0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; 7FAD455FFE0B8905050C2115 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + 7FD9EDCA918E246D93B1CD98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; 80557524073C444281A8F01D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + 806C6AB0EE3390F9E7FE86AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; 80E317C2A9ECBBA79D120572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; 8123AD99DCEFD91035AC2CBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 8188C4699E84398D785BCAF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; + 81A9567373C4485808728B21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 82577464F62544A07D6056A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 83B7DE53DAA1AD21D062D140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; 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"; }; 842A3D9DB014C363B6DAADD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 842DC722F9C23134B8F8B9C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 848E11685543FA557A03BCA5 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + 84B582E6EF49433015B245E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; 850D959E23984C620B4AADA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; 85456C913E5F95BC153DFF17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; 8556C30FC75E58FA35E7FF0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 856B41A8FE5EF9E0ABAF93CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; 860A319D7EE6E53C365493D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 864B9DF0E87729C4A2D61E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 86628876624FAF93A1CF48EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; 86965CCF9FEA6ADA4DBDE4AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; 86ECC08D3C47C1930BB09F41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; 872F32BFE9058BBE940ED1F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + 8781650A86C8A358F61B2803 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; 87C0BA083673FBCE6D31FD17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; 87C17EB3D033BB126B93012E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; 87F2B857C3495A6FEBCD4F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; @@ -474,12 +612,16 @@ 892DABE32AFD76A8AF4A6616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; 89F6136333130C2636FFC264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; 8A0BB0CF18A56829D771EDB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + 8A0BE581F334528F0E3E8D1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; 8A4A6C729BCC1066B4348554 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A57567060DA5B4BC90E2CF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; 8A595708CD9EE771588F177C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A68D2139D1D52C6BCCE6654 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; 8AB9D5A503D9982C1BCAEEFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 8AE0909A7085D2E485E7F0C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + 8B04FE6521D6D781651326A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; 8B41DCE8493B8A66C687AC6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8B6F8D337BD69628F2B7D686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; 8BEC497B105FEDD3F48BC351 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; 8C1315EEAC2842AEFF3A8E03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C1FF7CA38BA1752E8E8C897 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -491,27 +633,34 @@ 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"; }; + 8E0D7E5EFD16A440D3D85161 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; + 8E73E84371A09D1820177BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; 8E7F08384BA6B69DCBB1D17D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; 8EA1AF26BF7691AE3E33DFB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 902CCD92C6A6F229DBFCEEFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9076086C13B37FB1367C3B17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 90F07571372AC72420D13F92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; 911961EC8C18CA3EA24FEC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; 913C5931846CE4C8FC313A5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 91468F7D5B5236284E70FA7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; 9167CF70811A5DB8B131B3DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9182D9780314E0D9C59D0BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; 91D9C5B1C877CA5291B91839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; 91E4873CA52CE367DBB843E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + 9218D8361FD29647E95C912E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; 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"; }; + 939ECC7F5C8BA2A301AF8A95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; 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"; }; @@ -519,30 +668,45 @@ 955A307891E7A6B0B8628712 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; 95B66CAB0FAA7F33FADF872F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 9644E2F25ACE2B962619BAF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9648F3616EF7E19E6C9D63BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; 96599441FFEAFF3248E78F37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; + 967CDEB3A32C696B1228E46F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; 96C0067DDD41858E843B0565 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + 96CA88397BD7F683CDE5B03F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; 96E84C284439F35E58BAB0B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; 96F7119D1A66867ED49634A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; 97028516DFE1D628533E2AC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; 97346F3788D1AAC32D47D4D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 9737ADF1128EB5DDD5EDCF31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + 97CDA703DDBF1DC19CF7D87E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 9836BF9A7E58BF1ADBE95312 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + 986CD250F17E5EA5F986349E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; 986CD255BAD878678F68B539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + 9877FE0B575BDAFAA2D09031 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; }; + 99C24CC20534253E5F07CA4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 9A12133D4EAA83F3EC6313DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A19A7EA83D20518E0DE5BDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; 9A45E5B520A36BC6D32175BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A48CE81C607964865B1975D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; 9A531D3D2C732FE444E3E631 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 9ACE680735E89C1A62348174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + 9AD559D8D3E4A6D7B0CA5E83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; 9AFBC4C13CF0F90ECE2E9259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9B39426C84F767C1D7131710 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; + 9B6FAA603F3D42C5DF5BB8C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; 9BE7C02E54E4B7AACB9E294E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 9BF0524BD64CC9472884D9BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9C04B40ED3B9A21F42D0E505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C2F44E77A47FC3BA63194AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9C397EFD914E7DA1DF247E87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + 9C5640FF696777FF35A1CC12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; + 9D34062C6C812F392DA6C53A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; 9D747918E433673F9EC97C5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 9DD8D1A756B9284516385CE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; 9DDA745B12208959DF08A199 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 9E7307F339FCE45305069039 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 9E89D9AFB083F08BAE9E1BDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F13FED7A58E73C196A8DA35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; 9FC7AF41406FF52C02227F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; A03711E4C934AC0C97ED2CC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; A072D286681A3B8E148C34E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; @@ -550,19 +714,24 @@ A0B4DB26DFF53552001D2FF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; A1602B24B64627B0A651030A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; A1744E8CFF873F6C3FA28DFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1C180506EDEFF90B9FA2C72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; A1C6587E1BCDCAC216C6853B = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; + A1FED96CC0D561967848D646 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; A24C75DC03BA606C34435BAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; 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; }; A452FA84B1F5B289236EA861 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; A4780E73DEDB8EBE7916638A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; A50907BAF84D837E4AE722D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + A50DACFA0662805C7A090CAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; A5232C2ECA9A1036247868EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; A5530A1F30CC3C8F0E42281E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + A55BA946DB70CA33AEB75F13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; A58AD1FABCADEE10CB27D001 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A5C4AADF6584AC1D7547A78E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; A603B4FC9F0318FA835A902B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; @@ -570,23 +739,31 @@ A68C448F3CE0DFDA1D008930 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; A695D18E3D5521906E2AA55B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; A6CAD508F0FEE8559E47EBE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + A6CF6F4069079124AC88337B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; A6D3F5D40B4F2DDDAF4BA012 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A721D04771CD80BE392E4648 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; A75D18F16A0B68ACE33A348C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; A764253A248A1F8308160725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; A77B934BBF5BEB9649635BD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; A77C6798AD350C723016585D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; A78334A2292DBA5F14178779 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; A7921001F152C7CC00588E5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + A7A304E11045CFFF6A78121D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; A7CAAEF92FD96301E8BE1354 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; A8097393EC6ACC962C779156 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; A83ED283E501C7BD348CD845 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; A86690E18FFD96545A7E7B4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; A8A8163407DF97075310A4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; A8C690EFC2CED06F396A478A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + A8F0DD5B08E3581E84E1298F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; A8F59D40DAD6802A0E268C72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; A901F31540617AC9AEF00B25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; A902E0E8F3DC0D635D695270 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + A907D743459CF444D77EC67D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; A9448EE2563523F974227C1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + A955BE6B30ADDC270D3ADA40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; + A9811D2B223C962C06C0A535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + A987494B080E71D773B217EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; A99D3728C01BA427DB9DC9E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; A9CD12190C6FDBDB55E3B11F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; A9ED45789B70577382EA3AD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -603,25 +780,33 @@ AC0CE4F974E2EBB916441340 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; AC525A812EA3DA0634B6F673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; ACA1BB1948E619685A7DDC30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; + ACBDEE7F7CF8D155C89340D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; + AD0725E9E8BC469EF155296D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + AD37CF4D8E4E38CB7F24CD8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + AD8FEEBA78FCA8165D7BBFDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; ADAB32ED089A0115119CEECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AE25A3AC26B41BAE5062DE2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; AE34EAEA2FDD85AB33BFF917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; AE6398B166E20B8C44832934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; AE9897E231106BB88EA12CB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; AEAD21B704601EFC032CFC74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + AED317EF4CEE65F2C0072C4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; 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"; }; + B0328037F4F477982000B78D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; 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"; }; B099A4971E33B240AF396620 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; B0ABCB84564FEFAA4ED50E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; B0BBCE5DC4DC368239E90730 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0E811C0EF73752DEE0B5557 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; B0EE6468EFB8F633546F6022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; B0EF61D78A5BA42D902B896F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; B13684376F3496E299A24102 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; B14240B94BD8FE725C8130BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; + B1A428B8F2E11FAA9B6782FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; B206847E2EA213A5652E677B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; B264E554EED764BBE5EA96DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; B2A0212274523683659BBB00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -632,21 +817,30 @@ B390FBED87C4D7FD4EE6F7B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; B3972D0D4B7244204340EC77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; B3A17CFE8617E1AC5576C2D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + B42592770BF241D542C711BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; B44F0231D4CCAB8C5C4B9CEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; B4753586FF7B3BBA40352715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; B480F30102D3ACAF749095B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; B49C2E8A0C903DD9DF312409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; B4AD7D669F78DB3A2A3457EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + B4E7C887C332A782DAD89235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; B4E7EC49103DBB827B8D47EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + B54ABFA63BEB6BF2D1051764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; B55A2673722A08998FB8A766 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; B576BA30994193328E8E3952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + B5D47627DAF30A60B7664E1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; B5DCA312EE128DB7CF311FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; B6131CF545E602736679467C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + B68D10A6FB434C8AB706A729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; B69E5BF775AEED4C720C6518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; B6FDBB07C496FAA4B9E16E05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + B6FF914A7CB52281A3B1643A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; + B710D5415F8040FDA3E5F3C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; B73AF386AD8DC4E75DDCE7AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; B73EDB2FF27E91703573FE40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + B749D40A9DB6D2236BDE8F13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; B781D185E5DDAC0AAE6D41A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + B78A875B8D42696228DF8B45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; B7AE0149FF49C6EE294D03EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; B7E8544884A3E7373CBBEAE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; B7FEF0909345EA365F8F6704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -667,9 +861,12 @@ BAB92F91B12F560F96C1F6C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; BAE7FEF73A1661CBA56BED05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; BBA00BC1C9047924AA81A9C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC3BCB031CA43F4ADD6B3005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; BC7E32A760AFD3B7090FCDFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; BCB554D7534D7B586BBA8DCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; BCBE2DA45FFEF9EC8F735DF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BCD9541D406C852F716C619F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; + BCE3F0D3837185D00450D00D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; BD05E441D475AA54D869D0DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; BD1AF7254E5C5D821FABE3D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; BDB06375DA9020DD791F11E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -677,15 +874,17 @@ BDE6F9F9F210A7C0161CDB7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; BE003676942C4C51999B98BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; BE3CA537D4461FD956758537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + BE8A950FBCA9F46E1D77B445 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; BEB0B4F0882B043BB00C58CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; BEB158304CE0B42A7658F078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BEB31D3E060C8749ACD51BD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; BEDCC9E9F4E720941E4CC4AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; BF054B4D977AE9BEA1A43B21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + BFBEA1E4808C054BCC7B7362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.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"; }; BFE5140F653B15A58395F091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -694,20 +893,28 @@ 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"; }; + C0C308906A9AC66B07DFB098 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0EB7D61E4F4682C77FE79BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; 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"; }; + C20D5FC2D9B2BAE0017DBB21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; 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"; }; + C2DAD3C576EC299481B9CC96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; + C30B7C2D2870FD4A3DA497C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + C38BB2DED46194AEF06E50BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; 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"; }; C489230E9A9D008990FD05F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C618B8DDCB3C48B0CCFC4AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; C663CF9A44E508A641166DC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; C675D419194CC91882763959 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C68954701F1EB3F5C22808B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; C710DFD702B64975743DB7EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + C72FDE2A2D4B82C5EA173043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; C74AB41CFECBC16541114052 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -719,13 +926,22 @@ 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"; }; + C92CAA93F6348E2FF656F7C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; 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"; }; + C9ADEA84C3C4599F1F4B41C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; + C9C00E717A4B400771E8C066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; 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"; }; + 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"; }; + CCB221207A54F2EA9F5B00B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; 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"; }; @@ -734,63 +950,67 @@ 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"; }; + CE6DCCD0707FE142EEA31A98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; 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"; }; CFCC37A15307237470208214 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; CFDB01D3626D12DF19B01EDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; CFF7A195B95750070C28B75B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; - D0A82CF7ADC4BA470A94BAA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; - D13928F6C451978056B723BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; - D19384269E32BF7164359DEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; - D19BBCD088D2D7ABD67C3299 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; - D2535C5CBD2D00611818ECEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; - D2B80719F15453D218F04151 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.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"; }; - D569601D8EF4C76223C45346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; - D83E02331446BD7DCB2DBBD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - C94BCD4B8FAF9AB50E8A5F8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.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"; }; - CA4AEC49BB9AA7DDCD2D6583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; 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"; }; - CAE434C09EC3C5C8A43339AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; 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"; }; D051ADD70BDF03C15617E945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; D06742C08018B2146FC3859F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + D0A82CF7ADC4BA470A94BAA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + D13928F6C451978056B723BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; D153089A2E20A8EE5D1AE6C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D15C6C72D805832EC40E432F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + D19384269E32BF7164359DEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + D19BBCD088D2D7ABD67C3299 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; D1A3A1AD6610FFAA4278CCB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; D1AC8ED686D3F69DCAD6C125 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; D23FB2D995F59BF602A46758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + D2535C5CBD2D00611818ECEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; D2709B948F51704C496C7096 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; D2712262399E07A48832E87C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D29C0607E9D5E0F663C86991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D2B80719F15453D218F04151 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; D31ADAD371B6349F9ECF5788 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; D3284A7CA60AFCB8BBE78211 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + D4CAF9DC097C7E7E47342318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; 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"; }; + D5308A582ECFF18365A13DDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.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"; }; + D569601D8EF4C76223C45346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; D59C9A2C0E6446954E6BC7E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + D5B4B1C63E890CB8F7C0D186 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.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"; }; + D74DB1E12A6DE7BF06BD8036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; 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"; }; D806A9F8D112EBDAC187A7E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + D83E02331446BD7DCB2DBBD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; D86404AE30FA698A5F2836A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D86E81614D9AF16EC64CB993 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; D892B130DBACAD518C31E3DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; + D992B18E3EAA43030E66BBAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; D99A52E20EF268CBC6F75050 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; D9E6BF99FBDC840FD05E20F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; DA43A237A06398945BD47DEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + DBAD88D6ECF436F7881A3D18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.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"; }; @@ -808,25 +1028,34 @@ DE95FBD1914EC947507BD6A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; DEB2A1A72DEB9F1DFD13EA49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; DED00015F1322985369E9264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + DF20D30E8F5C96533BC227D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; DF396FAB00CB0D8E05EEF74F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; DF58BC5A16F2927143BCEBF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + DF5EB500B46D0D5F698EBB26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; DF646E4B657357DE2B5B4E1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; DF92AE13E9E88FBBB6988E59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; DFEA8F8A5B248AB71EFAFD64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E14DB726EBA5F2E6EE7BCB7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; 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"; }; + E19EBE8EB48D3614D3AA6481 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; 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"; }; + E2BBCE3CB7926C9716FC87D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; E2CB2344E5C125F25C3529A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; E3152EC09935B3045D82AF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; E37FC396273C664BCACB3996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; E3EAB8FD641888222922E754 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; E42AA8CBFC44B18B07579722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; E4871C1F1E9440ADC04F1DFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + E48FCD581893E74A249F836D = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; E4E16E63CB0A80863ED9126F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; E4F5BA8A04D21E067AF14DF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + E5484C30D3D07B3EF68BD973 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; + E585760310118223681092AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; E5DB6AA42A1584C3A0D0E455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; E606DFDD32828EE921AD2B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; E63EB75C8C2BB6FF8191D6C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -843,12 +1072,14 @@ EA5E856A359E633AFC2C4E90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; EA6B1E4D2B1E560842657155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; EABA32A586FEAC426ECBF23B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + EADF1E2F9F375B1D76FC6BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.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"; }; + EB98DE0DF11ECD080E96CEA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; + ECBFFAA4D106E1DE1AEE0C4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.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"; }; @@ -856,14 +1087,21 @@ 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"; }; EE89CF96B4D5D96F56A123C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF0CCAC489AF7915619D1B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; EF1DC9B3082CE4211F705FFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF68345E6F3F046A71E4523C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + EF859C8C3F1B49FBC5668484 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; 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"; }; + F09249A666DBA261B1795132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.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"; }; + F26AF30EF8EE32E114B00A9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; F27303E9C80D731218A325F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + F2795AD242505C7F1266B575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; + F2F4DDA452528005B4EA52D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; F35F1E2EA3A8FA693F528909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; F3637911DB642ED9FE1ABBEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; F39B08CC310DADAE5A3BD832 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; @@ -878,6 +1116,7 @@ F7291097E1D63A4547101446 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F74C829B2874C0A4B16FA908 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; F7941CF51A63F4AD74CC4620 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + F79A909F94D985508142DBBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; F79D38F77C9A8639DEFAD752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; F7F03A3A5DB51D6D31A8B36E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; F7F93B7760DBB38B82ABB44A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -888,13 +1127,16 @@ FA02B4707CCF843EB45C40EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; FA7F7EEFA3508900448C659C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; FB0ED32BF7C5FD14B5B33711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + FB8DEDDB025CD1B3599DBFDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; FBF8014D8811B9B5AAC175E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; FC0F6A6E9D190A0C51C88471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; FC7D1E4EF05BA11889FA9ED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; FC927DF4661F27BE59BF7D3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + FCE3D6FAE1F8AE027A7C525F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; FCE5A36C8153E016A27E197A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; FCF80048F8C5E699C92018E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; FCFF64E2C2EF86FEA787B4EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD3616BDC2CEC205E6C8EEFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; FD7FD47010EED25E226103DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; FDD9E936F40F91361D1EE79B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; FDEE467811BA4CE591FCFE95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; @@ -903,6 +1145,8 @@ 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"; }; + FF66920DCBED4B9DEEA3F57B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; + FF901BB82C78238FBEDADF0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; 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 = ( @@ -910,13 +1154,15 @@ 1C86227F5F0CE8D63F78F5A3, ); name = Source; sourceTree = ""; }; 9E39F32C1BF5217D902DEEE5 = {isa = PBXGroup; children = ( C7DA57C6F0483BBE545059A4, ); name = SimpleFFTExample; sourceTree = ""; }; - A3789EBCC7D459B15F66E770 = {isa = PBXGroup; children = ( + 36B3A671E122DCC32B5D8616 = {isa = PBXGroup; children = ( 0C37A3523C3777001B3F6DD9, F39B08CC310DADAE5A3BD832, DED00015F1322985369E9264, 4A92E427C5B3792C5FF9DFC3, 24FDBDB35CD40D88415C69B3, ); name = buffers; sourceTree = ""; }; - 6506A8B06A5BAD80D8712547 = {isa = PBXGroup; children = ( + B90C7D7C6FD8394BBADE4C90 = {isa = PBXGroup; children = ( + 3687A276EE7DFD9C9A3F1D32, + B42592770BF241D542C711BF, FD7FD47010EED25E226103DF, 1A2B4E0705190FF6ED408BA1, A764253A248A1F8308160725, @@ -926,7 +1172,7 @@ 704445AB24A9BCA1A94AA858, 70200EF25E00C7C2AEB84ABE, 4ABB1E717A66266B3F57FA62, ); name = effects; sourceTree = ""; }; - 511D14A550E207DB6C02FA9B = {isa = PBXGroup; children = ( + D425F549771302997C21C396 = {isa = PBXGroup; children = ( EA5E856A359E633AFC2C4E90, 3325CE13286C7B63A3307FA3, 37089130210249CAB8242A23, @@ -939,7 +1185,7 @@ 885B2C4AA66D61E2756C7642, A452FA84B1F5B289236EA861, 5D7931D68B3087F07144EAB2, ); name = midi; sourceTree = ""; }; - 3C63B072BD4FACEF9B3A732C = {isa = PBXGroup; children = ( + 6A6DFE5BC9F8ABA539074AD6 = {isa = PBXGroup; children = ( 94948D02E9BDFA29E58853A6, AA66E31B64B6DA7E53473C67, A77C6798AD350C723016585D, @@ -975,19 +1221,25 @@ B3972D0D4B7244204340EC77, 8C1FF7CA38BA1752E8E8C897, C26ED62AC1A7410D7749C1FA, ); name = sources; sourceTree = ""; }; - 8D708633B60D7D0FCA13A665 = {isa = PBXGroup; children = ( + EA6D3CD75EAE4D1C3FF61ADB = {isa = PBXGroup; children = ( 14111B6B41389B992A2DB420, B4E7EC49103DBB827B8D47EE, ); name = synthesisers; sourceTree = ""; }; F79D8CDF582C6D0E8A6DA84C = {isa = PBXGroup; children = ( - A3789EBCC7D459B15F66E770, - 6506A8B06A5BAD80D8712547, - 511D14A550E207DB6C02FA9B, - 3C63B072BD4FACEF9B3A732C, + 36B3A671E122DCC32B5D8616, + B90C7D7C6FD8394BBADE4C90, + D425F549771302997C21C396, + 6A6DFE5BC9F8ABA539074AD6, 919B57039CC7B0069ED8BD5D, - 8D708633B60D7D0FCA13A665, - C149F9750B773782846231B2, + EA6D3CD75EAE4D1C3FF61ADB, + A55BA946DB70CA33AEB75F13, + 51EAAEBC2ED3160478789809, + AF71E702446CEF7E5FBCAA13, 51EAAEBC2ED3160478789809, ); name = "juce_audio_basics"; sourceTree = ""; }; - 5C7A4C066C3E58DDBE85C748 = {isa = PBXGroup; children = ( + D28DF0F3F4EF7BBA867B8F1B = {isa = PBXGroup; children = ( + FF9D65DC6D0E7DB988813D6A, + 149DFF1790FADAF8B2A57C74, + ABF6F2A43EA9165DBFB36F90, ); name = "audio_cd"; sourceTree = ""; }; + A5B75ADB15001E9E2A8E36F0 = {isa = PBXGroup; children = ( ECF7860A16B3DCA8B09874C7, B8EFE9E17D26ED5A55B788E7, B0BBCE5DC4DC368239E90730, @@ -995,22 +1247,13 @@ C7A87D6C7BEA853CD487D8D5, 79EE05C33C8BB3DBE6F0CEAB, 88E94CF6B12DC7478BFD516D, ); name = "audio_io"; sourceTree = ""; }; - 1336B7C6BAD05B211FD0FA4D = {isa = PBXGroup; children = ( + 2F1F99216CDF5877EC45E888 = {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 = ( + 819767858D2F0F7F6AA7A738 = {isa = PBXGroup; children = ( 8A4A6C729BCC1066B4348554, AE6398B166E20B8C44832934, 236B40CBF46A239539C9D315, @@ -1030,31 +1273,169 @@ 7BEA6A8588384F48F8174455, C7ABCBF722728419DCA2DE6F, DCA629B53C50B7E764311A77, ); name = native; sourceTree = ""; }; + B6A5F5A59E8C9EBE91862D47 = {isa = PBXGroup; children = ( + 414422FDC4E9C4C096680D6B, + E8C27BE0C1A8F57B847D19FF, + 6E4472D2BEDDBFB34AE12C2E, + F618DB302D56669A9F79ECF2, ); name = sources; sourceTree = ""; }; 044E8A9AAC75B37323C60043 = {isa = PBXGroup; children = ( - 5C7A4C066C3E58DDBE85C748, - 1336B7C6BAD05B211FD0FA4D, - EF96C8B77EE39330D924C031, - 09A47C58F37C6449C24E5238, - 45B3D326295AA7DD456A4C66, - 26C0ECC12DE642A0D267F176, + D28DF0F3F4EF7BBA867B8F1B, + A5B75ADB15001E9E2A8E36F0, + 2F1F99216CDF5877EC45E888, + 819767858D2F0F7F6AA7A738, + B6A5F5A59E8C9EBE91862D47, + 7F664506978CFD58463D8C0B, + 0406CFDE78A3EDDB899CDE7C, + 287C263EEED177B3C8BEC5B8, 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 = ( + 4133402585020CBD3B5FA36C = {isa = PBXGroup; children = ( + 528646730A4FB17C6F669616, + 4471490AE7ADD68396E20963, + 1453DC547F003CB22917B1FE, + ECBFFAA4D106E1DE1AEE0C4A, + 3BBEBFFDD54AF58A9960EC6D, + 23406266A15FEE895B563AF9, + 1BF65FE2C6A75E4E3D0404AE, + 3C963CC24881459452AEC7BA, + A907D743459CF444D77EC67D, + 56544D65AEDA68FFBB049D9B, + 18AC4C1A565ACD0C03BCE303, + 2E2137ACDED8F7FDA402AFE4, + 747223784C79F82F0BBA3CC2, + 230D544C6B3A4345EB4DFC16, + 4BBDBBD559EC3913344F58B2, + 2FBEC25A1B67EAC92BFA3578, ); name = private; sourceTree = ""; }; + 6EA518AD46D864F720274078 = {isa = PBXGroup; children = ( + 6992D8705B27466AC79926A6, + AD37CF4D8E4E38CB7F24CD8C, + 73D841BD72361695FEB771A6, ); name = protected; sourceTree = ""; }; + 106E56E9D78B0BF139725F79 = {isa = PBXGroup; children = ( + 4133402585020CBD3B5FA36C, + 6EA518AD46D864F720274078, ); name = include; sourceTree = ""; }; + D0158506CFBE07B740959C15 = {isa = PBXGroup; children = ( + 106E56E9D78B0BF139725F79, + 054D959183F995FE59EA723C, + 8E0D7E5EFD16A440D3D85161, + 4C2B72D15F3D5724707929BA, + B4E7C887C332A782DAD89235, + F2F4DDA452528005B4EA52D1, + C9C00E717A4B400771E8C066, + 8A57567060DA5B4BC90E2CF2, + 0E3718F1647117E2188D27BB, + 4B0A8EEFD1DA8C559DCE979B, + 1FC92C5BACEDDB863F19066D, + 6361FB430242D1B9D157F75A, + FB8DEDDB025CD1B3599DBFDA, + 5199051F54D84F200D5ABA2F, + 72DA86B6E7B996B92E686F50, + 21BC4D5D3E75218FF67A6B7A, ); name = libFLAC; sourceTree = ""; }; + 65598D773A2F2C8DB80E96BD = {isa = PBXGroup; children = ( + D0158506CFBE07B740959C15, + 09111AAB8357B525C9D43094, + BFBEA1E4808C054BCC7B7362, + 3C01C4F49D16680E7CFFF746, + 806C6AB0EE3390F9E7FE86AA, + 125E80A3005551E59A4BF91E, + C0EB7D61E4F4682C77FE79BF, + 07FE19C3EC8834354A672CF8, + 17BF64B2BFA58112BCF25010, + BCE3F0D3837185D00450D00D, + 345683D52DC3316AA1E7BF84, + 3BF973347DCE2387C0929571, + AD0725E9E8BC469EF155296D, + F79A909F94D985508142DBBF, + 0E7C5AA259938E42A0627127, ); name = flac; sourceTree = ""; }; + DC0A0B1F48B5A11599035325 = {isa = PBXGroup; children = ( + 1F8C638FA4CAE8CF40BD1991, + 9B39426C84F767C1D7131710, ); name = coupled; sourceTree = ""; }; + B9FED9A2342ED96FB1C337E2 = {isa = PBXGroup; children = ( + 4C26211EE4EE637D596916AA, ); name = floor; sourceTree = ""; }; + 7DFB81AB79E8D8EBB5225CEB = {isa = PBXGroup; children = ( + DF20D30E8F5C96533BC227D6, ); name = uncoupled; sourceTree = ""; }; + A3710D4BF45B478EB1FC634A = {isa = PBXGroup; children = ( + DC0A0B1F48B5A11599035325, + B9FED9A2342ED96FB1C337E2, + 7DFB81AB79E8D8EBB5225CEB, ); name = books; sourceTree = ""; }; + F1DF9A658472FFC60242A352 = {isa = PBXGroup; children = ( + 4507742EFE1D2069497D4C36, + 41B22BF5F28C80F90CCD8B36, + 625DEC2DA830BB7C309F372C, + 9A19A7EA83D20518E0DE5BDD, + 856B41A8FE5EF9E0ABAF93CB, + 8188C4699E84398D785BCAF7, + C68954701F1EB3F5C22808B6, + 5A5DEAB9C2102E8A14EED8E1, + 123C64F9DDD248D45FE5312D, + 69B9FD78713F7016438E6206, + ACBDEE7F7CF8D155C89340D5, + B0E811C0EF73752DEE0B5557, + 49558A3F80B74650B18D6488, + 9B6FAA603F3D42C5DF5BB8C0, + 0254CA8E3ED96CBA7EFEA76C, + 7FD9EDCA918E246D93B1CD98, + DBAD88D6ECF436F7881A3D18, + 4BE04E4510B14B3B3E6FFB01, + 031AFFF26837C0D18006DAC0, ); name = modes; sourceTree = ""; }; + 597C6FEBF67621765C4A4651 = {isa = PBXGroup; children = ( + A3710D4BF45B478EB1FC634A, + F1DF9A658472FFC60242A352, + FF901BB82C78238FBEDADF0B, + A6CF6F4069079124AC88337B, + B6FF914A7CB52281A3B1643A, + 8A0BE581F334528F0E3E8D1A, + 6B97E578F74406A061A82ED7, + CE6DCCD0707FE142EEA31A98, + EF68345E6F3F046A71E4523C, + 9F13FED7A58E73C196A8DA35, + B68D10A6FB434C8AB706A729, + EF859C8C3F1B49FBC5668484, + 5206BB043082A8D6F93BBEFD, + 25EF5E59E4A5DBCF3946DE14, + 63269875CAD5CDB5757D8BDA, + BCD9541D406C852F716C619F, + 967CDEB3A32C696B1228E46F, + 81A9567373C4485808728B21, + 748CB95231A3EE0BFE08F631, + 3B3534B4E482BC780A0D18AD, + E14DB726EBA5F2E6EE7BCB7D, + CCB221207A54F2EA9F5B00B2, + 337C236EF58966B23B2B58E4, + 14A48B58C205BA494966D97D, + 714131DE062EF09660A7A5EA, + B78A875B8D42696228DF8B45, + 03CD3E22E8B268983FA99CB5, + 8B04FE6521D6D781651326A8, + BE8A950FBCA9F46E1D77B445, + 9877FE0B575BDAFAA2D09031, + 7ABEE8EEEB77950A1F8C8C36, + 986CD250F17E5EA5F986349E, + 649D65D1F9BF82D3CA74B012, + 8E73E84371A09D1820177BC2, + 8781650A86C8A358F61B2803, + 70EA4966697B3B7852738C0E, + 56346FB852FE8A368FD1E02D, + 9A48CE81C607964865B1975D, + A8F0DD5B08E3581E84E1298F, + C9ADEA84C3C4599F1F4B41C5, + D992B18E3EAA43030E66BBAA, + 4D09CAB43633EE1C11A16D95, + D5B4B1C63E890CB8F7C0D186, ); name = lib; sourceTree = ""; }; + A0157A176623E93B94A9D823 = {isa = PBXGroup; children = ( + 597C6FEBF67621765C4A4651, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + C99646AC323B9DB1B412E891 = {isa = PBXGroup; children = ( + A0157A176623E93B94A9D823, + A987494B080E71D773B217EF, + 6B7619D3ED6A9E5B7B8B085D, + 2BA79966081285468D1C0C7D, + FD3616BDC2CEC205E6C8EEFA, + 52721A07EC9C557794931D4D, + EADF1E2F9F375B1D76FC6BB6, + 3FBBEAEA8D7EE76A80A9EAD5, + A50DACFA0662805C7A090CAC, + 4C6944C303D1680EA9C50C0A, ); name = oggvorbis; sourceTree = ""; }; + 86BA2435FA15F1F85A47CACE = {isa = PBXGroup; children = ( + 65598D773A2F2C8DB80E96BD, + C99646AC323B9DB1B412E891, DF396FAB00CB0D8E05EEF74F, 0988BD9CC0B87496828F3C6C, 6C49F22930B043E3152C2732, @@ -1073,16 +1454,51 @@ 7856033686D948917E8C2CED, 864B9DF0E87729C4A2D61E3F, 9FC7AF41406FF52C02227F0B, ); name = codecs; sourceTree = ""; }; - 04E34FBE528C800B62C1EC97 = {isa = PBXGroup; children = ( + 4670E0E308299DCD2E508ECF = {isa = PBXGroup; children = ( + BDE6F9F9F210A7C0161CDB7A, + 0E88C71D3463BA5D1EBAFF43, + 1297BC1FEF4DBFB211F92382, + B44F0231D4CCAB8C5C4B9CEA, + 828CAA90958F828CEA6CDEEB, + 55E634C6CD5FEE272C6AE083, + B781D185E5DDAC0AAE6D41A2, + E9B03818A2C56EEE708DB190, + DF92AE13E9E88FBBB6988E59, + AAD5EB24E059DD8D7FA6643E, + 36188FC6505C271D711F5D80, + FC0F6A6E9D190A0C51C88471, + 188C3849D99AF881EDF09469, + 4CBB13451926FF758D08FE69, + 827A323B200D5464DEC56B90, ); name = format; sourceTree = ""; }; + 7F94058B466241E3365DC576 = {isa = PBXGroup; children = ( B4753586FF7B3BBA40352715, 3712CC6DF76D81421F6B0504, ); name = sampler; sourceTree = ""; }; 7BC2EAEF2A0C56FD3BB319CB = {isa = PBXGroup; children = ( - C9218A3FE648FF47010C19D3, - D72CDCB5D4FD3C8CD8614492, - 04E34FBE528C800B62C1EC97, - D445CE1B4609E3F4F8B8915C, + 86BA2435FA15F1F85A47CACE, + 4670E0E308299DCD2E508ECF, + 7F94058B466241E3365DC576, + 56E0A3B7A25167E8E6704B79, + 206F3372B58C677D2E448DE9, + 1EFD81C556E115BF789491EE, 206F3372B58C677D2E448DE9, ); name = "juce_audio_formats"; sourceTree = ""; }; - CA14998C8B0EE35543B18982 = {isa = PBXGroup; children = ( + 4A29C8C4279CA0A256D79601 = {isa = PBXGroup; children = ( + A68C448F3CE0DFDA1D008930, + 8D8F26BA443E390AFDE0F099, + BBA00BC1C9047924AA81A9C5, + 41BB68C9176E1F306F7F6CAB, ); name = format; sourceTree = ""; }; + D23F25C4AEE1B555279BCE31 = {isa = PBXGroup; children = ( + B0ABCB84564FEFAA4ED50E6B, + C8FC943DEE244BDB4EC55F3D, + 4B559C22A630B9A43D129C2A, + 74F4E9279951B18449BDAA56, + 3E3AC99E3C0F826A0423BCE2, + B7AE0149FF49C6EE294D03EE, + 47DF39DDF6085A33F2282CF1, + E8D30B5E295B1C331EA24873, + 4940BC726C0DA4D4F4EB403C, + 8FE177F5571307A339832F6E, + 97346F3788D1AAC32D47D4D4, ); name = "format_types"; sourceTree = ""; }; + FEFEB2419B6FF59C547C1729 = {isa = PBXGroup; children = ( 7AD9F8DCE5E6DD6C654B55BC, B14240B94BD8FE725C8130BD, 4F37527C7555AB18B31DBD16, @@ -1099,24 +1515,7 @@ 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 = ( + B0445834E537943B1934C571 = {isa = PBXGroup; children = ( EE89CF96B4D5D96F56A123C3, 7AB3EA3F5285C4A6DFF616E7, FE5C34E9C096375C36F97F6A, @@ -1133,14 +1532,16 @@ 547509DF27DD4989FA9F0B9E, CFF7A195B95750070C28B75B, ); name = utilities; sourceTree = ""; }; 8DA3B0DCA685300AE02F6C09 = {isa = PBXGroup; children = ( - CA14998C8B0EE35543B18982, - 2064DA22251D9C6F6784E133, - 48FCD4B4A14EE141D1E6CCA9, - A60564B0CAC9730A3F25997D, + 4A29C8C4279CA0A256D79601, + D23F25C4AEE1B555279BCE31, + FEFEB2419B6FF59C547C1729, + B0445834E537943B1934C571, 54475BF7C7F92DE3E9040933, - 8F3A4160FAC9639982F55EF3, + 939ECC7F5C8BA2A301AF8A95, + BFD36D79149D0BD39191CC7B, + EFEEF49E3B89DEFE88111443, BFD36D79149D0BD39191CC7B, ); name = "juce_audio_processors"; sourceTree = ""; }; - 272CDB701E9141C722C812F8 = {isa = PBXGroup; children = ( + 4BDF63E313C0D6B65E1AA9CD = {isa = PBXGroup; children = ( 4A190D0E3422B0D7F82BE6F8, 3DB6B17731D90CF701F28041, 7159E7C09A1ACA6AB8E5D448, @@ -1155,72 +1556,24 @@ 96E84C284439F35E58BAB0B7, D86404AE30FA698A5F2836A5, 322C12FA37E6AFB76A61DEBF, ); name = gui; sourceTree = ""; }; - A006A4E9A9A80812D5A71E26 = {isa = PBXGroup; children = ( - EF1DC9B3082CE4211F705FFD, - 576B111200A4942EED9D6076, ); name = players; sourceTree = ""; }; - FE36590CD842AE9F68B0FD6C = {isa = PBXGroup; children = ( + 187A4AA52DEED77FDDF5B687 = {isa = PBXGroup; children = ( E42AA8CBFC44B18B07579722, 025AC0D5D2B1AE4E2410287C, F50009EC51FCCE2EBD713D27, 5FFC20C706477F072E48E0EF, B480F30102D3ACAF749095B7, ); name = native; sourceTree = ""; }; + 915499BB42E579492CA2DEAD = {isa = PBXGroup; children = ( + EF1DC9B3082CE4211F705FFD, + 576B111200A4942EED9D6076, ); name = players; sourceTree = ""; }; 140844AFEE7F72198CB5083D = {isa = PBXGroup; children = ( - 272CDB701E9141C722C812F8, - A006A4E9A9A80812D5A71E26, - FE36590CD842AE9F68B0FD6C, - EB92BEBADB4F09CCFFDB9FFC, + 4BDF63E313C0D6B65E1AA9CD, + 187A4AA52DEED77FDDF5B687, + 915499BB42E579492CA2DEAD, + 9D34062C6C812F392DA6C53A, + 283016B6A34D8268DF3F90E7, + ED6852B4B4B357ACB04EFEA9, 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, ); 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 = ( + A64F49CCE66720780C4E3D8A = {isa = PBXGroup; children = ( 0F6C6792535496DD24244A38, 872F32BFE9058BBE940ED1F0, 9076086C13B37FB1367C3B17, @@ -1242,37 +1595,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 = ( + FC5BFEC9171CD8DEED0017FA = {isa = PBXGroup; children = ( 4DA7F71A8F25F63D328418ED, 493D17293EE4B7A2C8AA8EB4, 45B10DAF1B33CB7EC898AA5F, @@ -1290,7 +1613,81 @@ A03711E4C934AC0C97ED2CC7, 3F6DC02B854926112F3FE41E, 259A6EF4B94C37B57B5EF18C, ); name = files; sourceTree = ""; }; - 37D9EA44486324D58F8FFE25 = {isa = PBXGroup; children = ( + A0FE511F7D6054207158FA12 = {isa = PBXGroup; children = ( + 571A20C538D7671FC8003336, + D41373B1362CD740F7242670, + 7AE3FE832F126B64A60CBE60, + BF7359CEB98B856F058D043E, ); name = javascript; sourceTree = ""; }; + 317D1912D0EBDDC1F9BC5564 = {isa = PBXGroup; children = ( + D569601D8EF4C76223C45346, + 333F0052A31F68AFEF3C73F9, + A9448EE2563523F974227C1B, + 714BDFE341E486C807E6C2DD, ); name = logging; sourceTree = ""; }; + 7A0A51B20758E873FC7DCFD3 = {isa = PBXGroup; children = ( + 7EE43A1B711EC69B5559E76F, + A603B4FC9F0318FA835A902B, + CAE434C09EC3C5C8A43339AB, + 926ED92974561724D484F55B, + F27303E9C80D731218A325F2, + CA4AEC49BB9AA7DDCD2D6583, + 6362936D2774F0696A03CDC2, + 05B3DF1678FC5F0E30B3CAA3, + 9ACE680735E89C1A62348174, + B710D5415F8040FDA3E5F3C4, ); name = maths; sourceTree = ""; }; + B5D5118DCEC4DFB474E765CE = {isa = PBXGroup; children = ( + 6483052E5040724A47182FD0, + 2AFE4BEBCDEFEBB19F0A3867, + FE859E26F86F51EA21C94D3C, + 83AEB9C3C6E887DECC39B49E, + 6CD3EEAF433A1356D569535B, + EE2497D2C9FCC42F7F4A34CB, + 5CA0BC9A376B4EAE0AC35827, + 86965CCF9FEA6ADA4DBDE4AA, + F8A80AB921C11E626CC90894, + E37FC396273C664BCACB3996, + 5A0A9DAEA99EFDEC6AE807AC, + 18421309528C4C3276EA5A95, + 3A8A53D2CECD3D5AC1612E83, + D9E6BF99FBDC840FD05E20F1, ); name = memory; sourceTree = ""; }; + AB96BEE89E37740DF385CF10 = {isa = PBXGroup; children = ( + 127EE93DCA4D4337BD44D5AD, + C0B0B67FA8989243A1AE86CF, + A721D04771CD80BE392E4648, + 6B8689337168B12C6B4B9CBD, + 035F6E4DA3B60AED9CE7F122, + 7458CF1BC77CF7B31A16EE77, + 0DA6D90196E10ABF6E11FA0E, ); name = misc; sourceTree = ""; }; + 53561873AFE2E186A72DCEC9 = {isa = PBXGroup; children = ( + 033D96E6B7F5B58B732459F1, + B0794CFFA21B4EE7AE9C4DA3, + D75F08CBA980DDE0FED365E2, + EBA644F479B133DDE10DA865, + 3D35B294E75A4D80543E1AF6, + 26FD66B3303A0F896035F6FB, + 79781CAB063571817A06677C, + 2F6E53E6746610E44FA47EF3, + 8F74C006F1BEA5BB9B2646A6, + 3608CD3E2D40EF80BB5BF938, + 9BE7C02E54E4B7AACB9E294E, + 7CA385641AE9AAACA3AF4785, + 2CD15EA4FFB6C8FF465746BD, + 8A595708CD9EE771588F177C, + 96599441FFEAFF3248E78F37, + 41BF450DD525853A2E2D27D0, + 64EC9CB339820CB6376E4D7D, + 97028516DFE1D628533E2AC1, + C8292EBEDEB71A80D9C6D504, + 7BEA6729CA4E2FBF16CA8FAC, + F35F1E2EA3A8FA693F528909, + D806A9F8D112EBDAC187A7E7, + 9DD8D1A756B9284516385CE2, + 2C09BEEA1796066D06AE435B, + A5C4AADF6584AC1D7547A78E, + B37D636AB8599B16F49E466D, + B955CBE3A70384EDAC3B1F91, + 4BBFC13FD6615051A69B22AF, + 5118AF0A9807DBACB3A46175, ); name = native; sourceTree = ""; }; + 6BD630BA15286C6520DFEBD6 = {isa = PBXGroup; children = ( 61D8A16163E4ECDA0783D577, E4F5BA8A04D21E067AF14DF4, AA631B281C3A67F3BA82CEE8, @@ -1301,7 +1698,7 @@ 41580969FC580CE8A54A7C94, C469659506D7D986391C73AC, A83ED283E501C7BD348CD845, ); name = network; sourceTree = ""; }; - 863711B09848C71F094B2577 = {isa = PBXGroup; children = ( + FDB0DA348DCD8CAFEB395476 = {isa = PBXGroup; children = ( D83E02331446BD7DCB2DBBD2, 9A531D3D2C732FE444E3E631, 764A5DC5F96BB0E1245A3384, @@ -1317,135 +1714,156 @@ 3A4F841D01C5C859FF968183, 62964A31A303909BC1574201, BFD6815A95BE134B60897FD0, ); name = streams; sourceTree = ""; }; - FCE6082A58C788C8CC6A0767 = {isa = PBXGroup; children = ( - D569601D8EF4C76223C45346, - 333F0052A31F68AFEF3C73F9, - A9448EE2563523F974227C1B, - 714BDFE341E486C807E6C2DD, ); name = logging; sourceTree = ""; }; - 89918836A77C08B8899EB8B4 = {isa = PBXGroup; children = ( + AF4606E3256316E3C9455684 = {isa = PBXGroup; children = ( E3152EC09935B3045D82AF81, 911961EC8C18CA3EA24FEC71, 49401EB828C0EA3C717CBF93, C80238BBE3B21B57068B7A30, B86932C7C0A6AA5E3A835147, 737C841D3712AC866D9BB1A1, ); name = system; sourceTree = ""; }; - D83243043A5BBAD94CC60526 = {isa = PBXGroup; children = ( + 95C86186510634B4B5CC94CC = {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 = ""; }; + C9173501BC3AF57AAB7591F4 = {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 = ""; }; + 6AB4C6F12A8FDAED2E6A29C9 = {isa = PBXGroup; children = ( + F7FE2CB2E7DE85F89A1910E3, + EB049F0B735BFF1E3F10952E, + B49C2E8A0C903DD9DF312409, + 11678DFC898E41F7EF5BB08A, + 83EA8AEEDB72189B489D71B7, + 46A9A558C4E0EAD1F52FE357, ); name = time; sourceTree = ""; }; + AD48184050B8018430366509 = {isa = PBXGroup; children = ( + 10115AA6263D3CE0489CA824, + 37552F3417F2619D32D7826D, ); name = "unit_tests"; sourceTree = ""; }; + 800066FB18CE39873D5A7725 = {isa = PBXGroup; children = ( D13928F6C451978056B723BA, D19BBCD088D2D7ABD67C3299, 7BB91094F378EBD92A6B33E4, 213A38AC1E87DCB3CDC810DF, ); name = xml; sourceTree = ""; }; - 72A501282FB8F48AE61033B1 = {isa = PBXGroup; children = ( - 571A20C538D7671FC8003336, - D41373B1362CD740F7242670, - 7AE3FE832F126B64A60CBE60, - BF7359CEB98B856F058D043E, ); name = javascript; sourceTree = ""; }; - 9F92AD85F1B8330EBB823292 = {isa = PBXGroup; children = ( + 82D14558A3CE98E4B3F894C7 = {isa = PBXGroup; children = ( + E2BBCE3CB7926C9716FC87D5, + D74DB1E12A6DE7BF06BD8036, + 52939F7B22E3A9B22B72AAF8, + E5484C30D3D07B3EF68BD973, + 749284B1D620D5AD0A84F48F, + 0D23766448EE19E3A8486A0B, + 99C24CC20534253E5F07CA4F, + 113A5C5E3537D01B1F5688EA, + F09249A666DBA261B1795132, + 71D7CA7CF2E20D30B7BA96D0, + 5B03DDE54B4908B74843CFC5, + B0328037F4F477982000B78D, + C92CAA93F6348E2FF656F7C9, + FCE3D6FAE1F8AE027A7C525F, + D4CAF9DC097C7E7E47342318, + E585760310118223681092AE, + B5D47627DAF30A60B7664E1F, + 7042905681714C96E116ED0D, + C2DAD3C576EC299481B9CC96, + 44BB3AF54FEF8FBBC3AA7080, + F2795AD242505C7F1266B575, + 689BFB706D367E3276A69489, ); name = zlib; sourceTree = ""; }; + 0C92C5CF4DDED980122053B5 = {isa = PBXGroup; children = ( + 82D14558A3CE98E4B3F894C7, 5A0C82930C10B55DDA74A402, EA6B1E4D2B1E560842657155, 79503FE12A5792F49E433826, 0A6D062F416F227A32553513, 9A12133D4EAA83F3EC6313DF, 9C397EFD914E7DA1DF247E87, ); name = zip; sourceTree = ""; }; - 45E419E77DE25FE2A9C6F554 = {isa = PBXGroup; children = ( - 10115AA6263D3CE0489CA824, - 37552F3417F2619D32D7826D, ); name = "unit_tests"; sourceTree = ""; }; - DD661FF91114D8819D45B482 = {isa = PBXGroup; children = ( - 127EE93DCA4D4337BD44D5AD, - C0B0B67FA8989243A1AE86CF, - 035F6E4DA3B60AED9CE7F122, - 7458CF1BC77CF7B31A16EE77, - 0DA6D90196E10ABF6E11FA0E, ); name = misc; sourceTree = ""; }; - 2DB209DAA902064EA6653A39 = {isa = PBXGroup; children = ( - 033D96E6B7F5B58B732459F1, - B0794CFFA21B4EE7AE9C4DA3, - D75F08CBA980DDE0FED365E2, - EBA644F479B133DDE10DA865, - 26FD66B3303A0F896035F6FB, - 79781CAB063571817A06677C, - 2F6E53E6746610E44FA47EF3, - 8F74C006F1BEA5BB9B2646A6, - 3608CD3E2D40EF80BB5BF938, - 9BE7C02E54E4B7AACB9E294E, - 7CA385641AE9AAACA3AF4785, - 2CD15EA4FFB6C8FF465746BD, - 8A595708CD9EE771588F177C, - 96599441FFEAFF3248E78F37, - 41BF450DD525853A2E2D27D0, - 64EC9CB339820CB6376E4D7D, - 97028516DFE1D628533E2AC1, - C8292EBEDEB71A80D9C6D504, - 7BEA6729CA4E2FBF16CA8FAC, - F35F1E2EA3A8FA693F528909, - D806A9F8D112EBDAC187A7E7, - 9DD8D1A756B9284516385CE2, - 2C09BEEA1796066D06AE435B, - A5C4AADF6584AC1D7547A78E, - B37D636AB8599B16F49E466D, - B955CBE3A70384EDAC3B1F91, - 4BBFC13FD6615051A69B22AF, - 5118AF0A9807DBACB3A46175, ); name = native; sourceTree = ""; }; C76EE6ADC55123215A734037 = {isa = PBXGroup; children = ( - 23F34F3123B4A67261A59366, - 412EFD5CDEED43B9E1110888, - 428B15F4B4E9169ED2E5FE09, - 7405B46C9A5849F091321944, - 22C076705A9B105637BCDBA1, - 93AC79CD66E878DC865B1CE7, - 8AE84ED4A34F97801D5AF7A1, - 37D9EA44486324D58F8FFE25, - 863711B09848C71F094B2577, - FCE6082A58C788C8CC6A0767, - 89918836A77C08B8899EB8B4, - D83243043A5BBAD94CC60526, - 72A501282FB8F48AE61033B1, - 9F92AD85F1B8330EBB823292, - 45E419E77DE25FE2A9C6F554, - DD661FF91114D8819D45B482, - 2DB209DAA902064EA6653A39, - 35A06942A10BADF6CCE2800F, + A64F49CCE66720780C4E3D8A, + FC5BFEC9171CD8DEED0017FA, + A0FE511F7D6054207158FA12, + 317D1912D0EBDDC1F9BC5564, + 7A0A51B20758E873FC7DCFD3, + B5D5118DCEC4DFB474E765CE, + AB96BEE89E37740DF385CF10, + 53561873AFE2E186A72DCEC9, + 6BD630BA15286C6520DFEBD6, + FDB0DA348DCD8CAFEB395476, + AF4606E3256316E3C9455684, + 95C86186510634B4B5CC94CC, + C9173501BC3AF57AAB7591F4, + 6AB4C6F12A8FDAED2E6A29C9, + AD48184050B8018430366509, + 800066FB18CE39873D5A7725, + 0C92C5CF4DDED980122053B5, + 96CA88397BD7F683CDE5B03F, + 744ABAD149AA9432382CB921, + 82AD7A2678DF2DA5E1CCBE99, 744ABAD149AA9432382CB921, ); name = "juce_core"; sourceTree = ""; }; - 1781F25170E3DB8A850BA4C6 = {isa = PBXGroup; children = ( + 64B49EEC99E44FB66D9283C8 = {isa = PBXGroup; children = ( + 1FD0AAC022DC75424CE02681, + 02A5639DD8A8BDF6BB2E0C61, + E19CC1B6C4865E430A7F2835, + DC5EC3CB8187CD80366BB3DF, ); name = "app_properties"; sourceTree = ""; }; + 0D441E41AC8201BE1551102F = {isa = PBXGroup; children = ( + 3633C1D444D6CBD556044E5D, + 95B66CAB0FAA7F33FADF872F, + B7E8544884A3E7373CBBEAE5, ); name = undomanager; sourceTree = ""; }; + 0562DC8A5EFB0EC10D261D2F = {isa = PBXGroup; children = ( + 407EF555630609E612CC1D3D, + B749D40A9DB6D2236BDE8F13, 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, - 81BE94D1DF4D80897765E200, - C61F621A2C6422F004E26C8B, - 59F83A606EF9CB1B84C69D15, + 64B49EEC99E44FB66D9283C8, + 0D441E41AC8201BE1551102F, + 0562DC8A5EFB0EC10D261D2F, + C0C308906A9AC66B07DFB098, + DB8EA59308684B6B3C0D170A, + 0514D2A98B2D61B1A472C052, DB8EA59308684B6B3C0D170A, ); name = "juce_data_structures"; sourceTree = ""; }; - 9F4BA54696DB228EAD71320A = {isa = PBXGroup; children = ( - 766EEB87CFF6888B16C3C9EC, - E606DFDD32828EE921AD2B99, - 2D38B168DE24934AC76345FF, - 32AC02D3CEA233D070BD8F3E, - 77A2BC3E08EDF079F7984922, - F7941CF51A63F4AD74CC4620, - 91E4873CA52CE367DBB843E7, - 2065DD4804B73667A54C4572, - 87C17EB3D033BB126B93012E, - 9AFBC4C13CF0F90ECE2E9259, - AC0CE4F974E2EBB916441340, - 1AAF5414E330804C712FE98E, - 0E1BBEF074CCA95A3F4316BE, ); name = messages; sourceTree = ""; }; - E927BEF01103E03127596D31 = {isa = PBXGroup; children = ( - 2C06E3B54D9E9F2490270347, - 31C45CBC85FC47D7E876E2C5, - E24DCD83DC6AC4E8FB1E103B, - 4A7DAF11B6492BB73AEE1A78, ); name = timers; sourceTree = ""; }; - CCDE8171D2B0ED48ECB1230F = {isa = PBXGroup; children = ( + 2FB4FA7BA6A3A45C418013AD = {isa = PBXGroup; children = ( 0E7830E1D0729B24CA3AF3E2, 09C8EBA799CB678A80014FBF, D2709B948F51704C496C7096, @@ -1461,7 +1879,21 @@ A5530A1F30CC3C8F0E42281E, 913C5931846CE4C8FC313A5A, ABB2D81AD1053643C0C69A6C, ); name = interprocess; sourceTree = ""; }; - 081BC8AFB1BF4C587C0F9E78 = {isa = PBXGroup; children = ( + B7E230FD3D72ED454F0253E5 = {isa = PBXGroup; children = ( + 766EEB87CFF6888B16C3C9EC, + E606DFDD32828EE921AD2B99, + 2D38B168DE24934AC76345FF, + 32AC02D3CEA233D070BD8F3E, + 77A2BC3E08EDF079F7984922, + F7941CF51A63F4AD74CC4620, + 91E4873CA52CE367DBB843E7, + 2065DD4804B73667A54C4572, + 87C17EB3D033BB126B93012E, + 9AFBC4C13CF0F90ECE2E9259, + AC0CE4F974E2EBB916441340, + 1AAF5414E330804C712FE98E, + 0E1BBEF074CCA95A3F4316BE, ); name = messages; sourceTree = ""; }; + 87F01FD26B8AA389A26FAA2A = {isa = PBXGroup; children = ( 5C532F1501106BEC269B54D1, 3D5885D35F1503196A809C1D, AE9897E231106BB88EA12CB0, @@ -1470,15 +1902,22 @@ 34A26768DEABD08C0EDCACBC, D6696FAB02828C1AC9FC05E2, D15C6C72D805832EC40E432F, ); name = native; sourceTree = ""; }; + 58A9959DDB2BA22BD8A6A4F6 = {isa = PBXGroup; children = ( + 2C06E3B54D9E9F2490270347, + 31C45CBC85FC47D7E876E2C5, + E24DCD83DC6AC4E8FB1E103B, + 4A7DAF11B6492BB73AEE1A78, ); name = timers; sourceTree = ""; }; 55E02349393595D5D4E2AF4F = {isa = PBXGroup; children = ( - 9F4BA54696DB228EAD71320A, - E927BEF01103E03127596D31, - CCDE8171D2B0ED48ECB1230F, + 2FB4FA7BA6A3A45C418013AD, EA673B75FC1C79660399AEEA, - 081BC8AFB1BF4C587C0F9E78, - 13F60EE858E7CFEEE94058A1, + B7E230FD3D72ED454F0253E5, + 87F01FD26B8AA389A26FAA2A, + 58A9959DDB2BA22BD8A6A4F6, + 68C3F1FEEE434064C282E0B4, + 8E7F08384BA6B69DCBB1D17D, + CD368B349178503B82C58676, 8E7F08384BA6B69DCBB1D17D, ); name = "juce_events"; sourceTree = ""; }; - 0353D4B27B3A2A055E0C748D = {isa = PBXGroup; children = ( + D68C638A18F0F2AAB5FF5C82 = {isa = PBXGroup; children = ( 96C0067DDD41858E843B0565, D7EA20374B36BA5BABE67A85, F9893D1FD95D5A7ECC58E12D, @@ -1488,7 +1927,7 @@ B8059CBBEEADE07F2676701D, 6D3D20D5F1FDACF2106700AC, A4398054451843C88496A7BE, ); name = colour; sourceTree = ""; }; - 7F054449424E3DF75E163F58 = {isa = PBXGroup; children = ( + 6F88D551CB95760FC103561E = {isa = PBXGroup; children = ( F3E781FEAAA6C1E5C1431DF3, 56A0C326BC013E762B3DDC36, DDD9532EE4544F32191470D9, @@ -1496,20 +1935,26 @@ 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 = ""; }; - F3F3AE626C85532FB1127F5F = {isa = PBXGroup; children = ( + C65446F96B316AD0E20F07E7 = {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 = ""; }; + 978ABDCE448921FEEEFA4BE9 = {isa = PBXGroup; children = ( A77B934BBF5BEB9649635BD1, 1DD16B52A591AA883030F172, D0A82CF7ADC4BA470A94BAA7, @@ -1525,193 +1970,140 @@ 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 = ( - E11D931B040B480FED1102CD, - B385D409CF1272B7EA509C98, - D7CEB7BB0390D17BF927E713, - 7739AA0CCCFBE5A3139A0972, - 289AE66DD65FD98642037DD9, - E63EB75C8C2BB6FF8191D6C0, - 1CC5BBAF191962D9A5F05AEA, - 4D1F65ACBB6FA67520FAD5BB, - AB6FD6B1DDEFA3CDD5453351, - D2B80719F15453D218F04151, - 21EEE9FC1E4F7AF3789CACCC, - B8CD15850F3FD242B56BFD30, - 68B98F6923842ECF4A7500EC, ); name = native; sourceTree = ""; }; - 0C427B4221AB09F74BC0CB95 = {isa = PBXGroup; children = ( - 0353D4B27B3A2A055E0C748D, - 7F054449424E3DF75E163F58, - E975650DBC055450D47B338E, - EE85859205CDF58CB1CC585D, - F3F3AE626C85532FB1127F5F, - 60EDEB88174A8A2822477262, - 6D3A444BB53BAA333F5350C0, - 2B6C8D4E3DA232910EEB97CD, - C026AC2B148CB5C7A2DC2FD5, - 64FEC8256447048661F540B8, - 8EE6D7FB9F27796711533F61, ); name = "juce_graphics"; sourceTree = ""; }; - 3F317D48816FBA1134C4EB8A = {isa = PBXGroup; children = ( - F39B8EA573F40E9C7D252353, - 6F34BF85A7C6B6CF8F156B13, - 35809355C1A5B7EF1017836C, - 4654A14334EED8E4E0B0E5F0, - 11CF3544D77BDAC7960911D3, - 86628876624FAF93A1CF48EA, - 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 = ( - 3A105B8963ACE464E38D5129, - 7E71FEBAB37102A23A1BE63C, - 80E317C2A9ECBBA79D120572, - 33AC6D79EBF6F466AF602E07, - A5232C2ECA9A1036247868EA, - 09943BFC14FBD4192366CEEC, - EDCCDE91F07059E097F4CC2F, - EBB1F754A9F8BD472F31A370, - 850D959E23984C620B4AADA0, - ABBF0884AA87D2B96815184B, - 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 = ( - 87C0BA083673FBCE6D31FD17, - D892B130DBACAD518C31E3DE, - 0DF3C7D19FE6921A4B90138A, - 7DBFDDC88FCF6E7D97D98FDF, - 4EA7861D38FA1F6DB7F56805, - B9F4A8AE85B1EDF621B72489, - 74183600D0AE5475E452C3B2, - 562435444A4F9ED644351641, - 9A45E5B520A36BC6D32175BA, - C08BE05BAF052D2C26B0A4F5, - 75DA1BE4F0FB5A3879B05847, - 73496E7F458E957E4BE0D388, - 56B09AC75A152B6AE8C18DB8, - 230582C40A7D03F6691C7612, - 0351B5860D662C1B46594126, - 2723870F80AB58D49B9A5590, - 7F13EAEEEA43FD9D6274C283, - A6D3F5D40B4F2DDDAF4BA012, - 5B117BAC3213640DF634B4B2, - 840A38C5B1C56EA5CA84B628, - 4D0E5F1834DEE8108E3F8935, - 57CF354E56CAE8E46326A57A, - 3148E4FF5262AF9AB2C02BF7, - D23FB2D995F59BF602A46758, - CFDB01D3626D12DF19B01EDB, - 0180FBCBEF3FE5D1AC0C4A51, - 1140D953DD1F8A9A0CC959D8, - FA02B4707CCF843EB45C40EA, - E64D0F1F43D5B3E72CE0C259, - DF58BC5A16F2927143BCEBF5, - A7CAAEF92FD96301E8BE1354, - 784BA0063B68AD982B84D98C, - 8D063FAC364A001D935DB530, - A901F31540617AC9AEF00B25, - 66BB99DE2FF0B50392E9D6C6, - D99A52E20EF268CBC6F75050, ); name = layout; sourceTree = ""; }; - 8EE2ED393378CF6F77821601 = {isa = PBXGroup; children = ( + 7FF5A76D147054E017042E6A = {isa = PBXGroup; children = ( + E19EBE8EB48D3614D3AA6481, + E48FCD581893E74A249F836D, + F26AF30EF8EE32E114B00A9E, + A7A304E11045CFFF6A78121D, + 724EDD5B73CAE6C6298698FA, + 2748B98A3923C9D6D6452460, + 74217D887FF85C0C2CC4F5AB, + C20D5FC2D9B2BAE0017DBB21, + 447010082B0FB67C831DC0F0, + A1FED96CC0D561967848D646, + 3F58C3FA9CA1435B73888B36, + C72FDE2A2D4B82C5EA173043, + 5BF85EF642C446625E091669, + 05201194729A2B3430BCDEB3, + 41B0941C393B2BD7813C6616, + 2B84766A5807E37DD7F43E41, + 9648F3616EF7E19E6C9D63BF, + 364FDECED2966009402C1842, + 84B582E6EF49433015B245E6, + 105413D1740079DF508B9555, + EF0CCAC489AF7915619D1B91, + AD8FEEBA78FCA8165D7BBFDD, + C38BB2DED46194AEF06E50BB, + A1C180506EDEFF90B9FA2C72, + 3FC0A1C5851BC3D26D981A86, + 4C653AA2E7BE443B9BDD4653, + 6AA43AB4E48938D7AD95C145, + 4CAA0480D021374FFE3E45BF, + A9811D2B223C962C06C0A535, + 294C6FC90743ABF6BE059487, + 91468F7D5B5236284E70FA7C, + 9218D8361FD29647E95C912E, + BC3BCB031CA43F4ADD6B3005, + 40C7F5C7EB0D6FA334EC41DE, + 46516E3502270F117518FA1D, + 5719845E97194BEB205F49B2, + D86E81614D9AF16EC64CB993, + 1F3A21303C026FEAF30C4BA3, + 062BB4F7EDD5C005AFD0BC55, + 5B241BB60608855A45962B02, + 9C5640FF696777FF35A1CC12, + 5395646612CD0E5D57F74EE8, + 0EEB154BE6F35B62B9C52658, + EB98DE0DF11ECD080E96CEA3, + 90F07571372AC72420D13F92, + 760A1858A03F479FB35972C9, + 479EF2ED3FE931E20C448883, + 7CFDE54641D5694C0CDE9E2E, + 6BE14DD3F4333AE6051ABB19, + 6B539E08027C30E771712CE3, + 2661B4B61A11EEB8192C0BF2, + B54ABFA63BEB6BF2D1051764, + 36347E14CDE557DCE2E74F0A, + 47A4CA85EC11E9F8F1513012, + A955BE6B30ADDC270D3ADA40, + 602B120F299CA8BF7D466307, + 557F6632CA3357B8E60074BD, + 340A22DA838B4806464C0606, + 42781874801F62702DC8722C, + 10138DF569C4E06447F50118, ); name = jpglib; sourceTree = ""; }; + A65A6E351A756389661BA116 = {isa = PBXGroup; children = ( + 848E11685543FA557A03BCA5, + BEB31D3E060C8749ACD51BD9, + 2D4E0992F44003F0838490D5, + 421307A422ECD66A54000EBD, + C618B8DDCB3C48B0CCFC4AE1, + FF66920DCBED4B9DEEA3F57B, + 5A602B94516DFA80DCB315A8, + 9182D9780314E0D9C59D0BB6, + 5D3F038C355DE7A735C08611, + 97CDA703DDBF1DC19CF7D87E, + 5C69C1E25ECA6FB6520671BD, + 5CD8FCCA6A59EC9CE7D1C8D1, + 8B6F8D337BD69628F2B7D686, + 9AD559D8D3E4A6D7B0CA5E83, + 83B7DE53DAA1AD21D062D140, + 397BA5C6B4B285662916432B, + DF5EB500B46D0D5F698EBB26, + B1A428B8F2E11FAA9B6782FA, + AED317EF4CEE65F2C0072C4F, + 3F2C2F5F1DA54ECCF151C631, + 762EF56D726935802B1B6245, ); name = pnglib; sourceTree = ""; }; + E9357421592A7B923A06DBF9 = {isa = PBXGroup; children = ( + 7FF5A76D147054E017042E6A, + A65A6E351A756389661BA116, + 18BDC77D7A5DDEF3C40C2560, + E1E6EBEF5D8633B172DF7DF5, + 16A5DBE6E802C9EBCAE95630, ); name = "image_formats"; sourceTree = ""; }; + 087187532D70F22D016364C1 = {isa = PBXGroup; children = ( + B9BEFE577C52538BFCC4E2A1, + C1825D92B9DD2E8B38B4C6C7, + 6CFF820FB5035F35F2B5583B, + DDA60262037A823759F15D7A, + DD1809B9FBA498834372F23A, + 8EA1AF26BF7691AE3E33DFB1, + D504FBF5312BA310D8DF06D4, + 3F7CFC4B2D8AF418B698406B, ); name = images; sourceTree = ""; }; + BE22CD9569BBE77378BAA8AE = {isa = PBXGroup; children = ( + E11D931B040B480FED1102CD, + B385D409CF1272B7EA509C98, + D7CEB7BB0390D17BF927E713, + 7739AA0CCCFBE5A3139A0972, + 289AE66DD65FD98642037DD9, + E63EB75C8C2BB6FF8191D6C0, + 1CC5BBAF191962D9A5F05AEA, + 4D1F65ACBB6FA67520FAD5BB, + AB6FD6B1DDEFA3CDD5453351, + D2B80719F15453D218F04151, + 21EEE9FC1E4F7AF3789CACCC, + B8CD15850F3FD242B56BFD30, + 68B98F6923842ECF4A7500EC, ); name = native; sourceTree = ""; }; + 28A7A4EB354F4DA2AEF99FCE = {isa = PBXGroup; children = ( + 55F7B5D987EFEFFFCFFDA4DB, + 2FB6AD8E38BBC203806CA6E5, + DD89903B262A2F693987526E, ); name = placement; sourceTree = ""; }; + 0C427B4221AB09F74BC0CB95 = {isa = PBXGroup; children = ( + D68C638A18F0F2AAB5FF5C82, + 6F88D551CB95760FC103561E, + C65446F96B316AD0E20F07E7, + 307BEB351D3DE11008CE5EFD, + 978ABDCE448921FEEEFA4BE9, + E9357421592A7B923A06DBF9, + 087187532D70F22D016364C1, + BE22CD9569BBE77378BAA8AE, + 28A7A4EB354F4DA2AEF99FCE, + 58EE0FABF63D78EC4D5C7B7E, + 8EE6D7FB9F27796711533F61, + FF5B76A65611C0A829E4BE7E, + 8EE6D7FB9F27796711533F61, ); name = "juce_graphics"; sourceTree = ""; }; + B9BF76F9A9A12496FF2EC44E = {isa = PBXGroup; children = ( + B0EF61D78A5BA42D902B896F, + F4EB90957B06EC3250CC5EE4, ); name = application; sourceTree = ""; }; + D43A9E971F4EF2333E9AE599 = {isa = PBXGroup; children = ( A0B4DB26DFF53552001D2FF7, C18EFF04318CF4E2B21B3FF0, 0425AA18482441D4BCB59146, @@ -1730,22 +2122,27 @@ 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 = ( + 3848FBDE800FC381FE2AE12B = {isa = PBXGroup; children = ( + A7921001F152C7CC00588E5B, + 1368F9F7EDF2389D4539D330, + DDD6EB582F2EB21276E66C3A, + 0301D7F83AD3511A570CD3E1, + E05F5413277FBB78714360FD, + 21353DF8836B1029435419DE, + FDEE467811BA4CE591FCFE95, + C25E9D9C55D5965F55D95FB8, + 9836BF9A7E58BF1ADBE95312, ); name = commands; sourceTree = ""; }; + A41867F31FA1F7366B4D3BF7 = {isa = PBXGroup; children = ( + F39B8EA573F40E9C7D252353, + 6F34BF85A7C6B6CF8F156B13, + 35809355C1A5B7EF1017836C, + 4654A14334EED8E4E0B0E5F0, + 11CF3544D77BDAC7960911D3, + 86628876624FAF93A1CF48EA, + 87F2B857C3495A6FEBCD4F04, + 9E7307F339FCE45305069039, + BF9656AB7811A447B8A6355E, ); name = components; sourceTree = ""; }; + 3EA5A35318BE7067C39C6202 = {isa = PBXGroup; children = ( 46911E45ADA69F0AB6342CCE, ACA1BB1948E619685A7DDC30, 04E1F633A4B93AA4DA59CA04, @@ -1761,30 +2158,6 @@ 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 = ( - C959809FA60468C93312AB89, - BDB06375DA9020DD791F11E3, - E7F154000F9682DBD77AC7B6, - 786BCAB1BEB6DF66C10EED10, - AE34EAEA2FDD85AB33BFF917, - 6FB39DD635C57B5F1AD95E9D, - CADE0DDF00115BF4F144C942, - 2E96F44C68311A1EB839275A, ); name = lookandfeel; sourceTree = ""; }; 4CF6564C3325CC279CF94719 = {isa = PBXGroup; children = ( A2B842AFA7FC4EDD4B461096, 6C3D887ACBD7F018D8673AFA, @@ -1808,25 +2181,100 @@ 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 = ( + E226BA7944BA99AF2CA28769 = {isa = PBXGroup; children = ( + 3A105B8963ACE464E38D5129, + 7E71FEBAB37102A23A1BE63C, + 80E317C2A9ECBBA79D120572, + 33AC6D79EBF6F466AF602E07, + A5232C2ECA9A1036247868EA, + 09943BFC14FBD4192366CEEC, + EDCCDE91F07059E097F4CC2F, + EBB1F754A9F8BD472F31A370, + 850D959E23984C620B4AADA0, + ABBF0884AA87D2B96815184B, + 2908A06CC6F7B0C19288832D, + BAE7FEF73A1661CBA56BED05, + 8C88C9F14D9BB71590E027FC, ); name = keyboard; sourceTree = ""; }; + 939D0745C13AC412B8A9E9B5 = {isa = PBXGroup; children = ( + 87C0BA083673FBCE6D31FD17, + D892B130DBACAD518C31E3DE, + 0DF3C7D19FE6921A4B90138A, + 7DBFDDC88FCF6E7D97D98FDF, + 4EA7861D38FA1F6DB7F56805, + B9F4A8AE85B1EDF621B72489, + 74183600D0AE5475E452C3B2, + 562435444A4F9ED644351641, + 9A45E5B520A36BC6D32175BA, + C08BE05BAF052D2C26B0A4F5, + 75DA1BE4F0FB5A3879B05847, + 73496E7F458E957E4BE0D388, + 56B09AC75A152B6AE8C18DB8, + 230582C40A7D03F6691C7612, + 0351B5860D662C1B46594126, + 2723870F80AB58D49B9A5590, + 7F13EAEEEA43FD9D6274C283, + A6D3F5D40B4F2DDDAF4BA012, + 5B117BAC3213640DF634B4B2, + 840A38C5B1C56EA5CA84B628, + 4D0E5F1834DEE8108E3F8935, + 57CF354E56CAE8E46326A57A, + 3148E4FF5262AF9AB2C02BF7, + D23FB2D995F59BF602A46758, + CFDB01D3626D12DF19B01EDB, + 0180FBCBEF3FE5D1AC0C4A51, + 1140D953DD1F8A9A0CC959D8, + FA02B4707CCF843EB45C40EA, + E64D0F1F43D5B3E72CE0C259, + DF58BC5A16F2927143BCEBF5, + A7CAAEF92FD96301E8BE1354, + 784BA0063B68AD982B84D98C, + 8D063FAC364A001D935DB530, + A901F31540617AC9AEF00B25, + 66BB99DE2FF0B50392E9D6C6, + D99A52E20EF268CBC6F75050, ); name = layout; sourceTree = ""; }; + 72E40B3483201EAF58811DB0 = {isa = PBXGroup; children = ( + C959809FA60468C93312AB89, + BDB06375DA9020DD791F11E3, + E7F154000F9682DBD77AC7B6, + 786BCAB1BEB6DF66C10EED10, + AE34EAEA2FDD85AB33BFF917, + 6FB39DD635C57B5F1AD95E9D, + CADE0DDF00115BF4F144C942, + 2E96F44C68311A1EB839275A, ); name = lookandfeel; sourceTree = ""; }; + CD100E853F0F0DC8501E807A = {isa = PBXGroup; children = ( + B9B9D9413F0D153EFDE74216, + A8097393EC6ACC962C779156, + A4780E73DEDB8EBE7916638A, + F74C829B2874C0A4B16FA908, + 675833CA39588B5D403F6AD2, + D19384269E32BF7164359DEA, ); name = menus; sourceTree = ""; }; + 6DB9093B750A90D610CC8948 = {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 = ""; }; + D2C678928BC0928489D5FEE6 = {isa = PBXGroup; children = ( 5DD8F2293DC8AD04D611431F, A695D18E3D5521906E2AA55B, 07FBA311B4E9F68D237478F3, @@ -1843,27 +2291,107 @@ 683C925C217F0335EB1CC27E, B6131CF545E602736679467C, EB84C1B29F6CF1E982E72440, ); name = native; sourceTree = ""; }; + 125C1B2240AD2C157227ED0B = {isa = PBXGroup; children = ( + CD15FED603965026DD7D325E, + E056B8E91D8526CA9B8493A3, + FC7D1E4EF05BA11889FA9ED3, + 6E5EE7A4765A8597B8E8B93F, + 141A07B123EEAD06FAC28121, + 36DF004B825C5068D1CA354D, + 4FC3045C7940745E3743B8B0, + 2C3D0014C45C1D97E9B371F5, + AA3ECA9281847262AFD44DCD, + 334A67A664C59ABA8B85CD58, + FE7E94D63929113F7E655EB9, + E4E16E63CB0A80863ED9126F, + A8F59D40DAD6802A0E268C72, + 39B6EC6E9B6AD299245366FD, ); name = positioning; sourceTree = ""; }; + 7824ECE5D8BBC0446736F76C = {isa = PBXGroup; children = ( + F5051798AA944C681192B07D, + 9BF0524BD64CC9472884D9BF, + 72EE90412DFD597814C77E8A, + 1E70464CA50CE9DA45311C97, + 04ED8F0DB86FF0D94AEFC997, + 3695B573C5DEB87AEAC77ECC, + 50684B422F4F1FFF4EFC830E, + 78FB0D2697D8305D06F63FA4, + 4CE8BAA869AF9CE57FD5F5D7, + 6878653F56D22AF680C70A23, + 1DB944E6F78AF4E77673A547, + 23E55620BCA7B6E847316C88, + D2712262399E07A48832E87C, + 842A3D9DB014C363B6DAADD0, ); name = properties; sourceTree = ""; }; + D7A0491FAADD2D0A2DCFC325 = {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 = ""; }; + 39F9468E2595F2384B433F08 = {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, + B9BF76F9A9A12496FF2EC44E, + D43A9E971F4EF2333E9AE599, + 3848FBDE800FC381FE2AE12B, + A41867F31FA1F7366B4D3BF7, + 3EA5A35318BE7067C39C6202, 4CF6564C3325CC279CF94719, - C0D64E4963BF2D978612C1D4, - 288D766BD9362AED8E997B52, - 47FFC33155065806A9F18396, - CD8DDB7DD65A4DE7700EAD00, - BF9F3EA043844229A47FAAE6, + E226BA7944BA99AF2CA28769, + 939D0745C13AC412B8A9E9B5, + 72E40B3483201EAF58811DB0, + CD100E853F0F0DC8501E807A, + 6DB9093B750A90D610CC8948, + 4B8A7A4F61989021C9E9113C, + D2C678928BC0928489D5FEE6, + 125C1B2240AD2C157227ED0B, + 7824ECE5D8BBC0446736F76C, + D7A0491FAADD2D0A2DCFC325, + 39F9468E2595F2384B433F08, + D5308A582ECFF18365A13DDF, + 892DABE32AFD76A8AF4A6616, + 9355379CCEBC08976344C404, 892DABE32AFD76A8AF4A6616, ); name = "juce_gui_basics"; sourceTree = ""; }; - 7ACF9919652082FD7F2A5AE9 = {isa = PBXGroup; children = ( + D219F8A0FB242F54E3F9FE6D = {isa = PBXGroup; children = ( 1126568C1F2AF469D93D4AA2, 7C48CCF9E4A6441E4ECA086B, 18D4AB2296F9027D19AA2170, @@ -1876,14 +2404,14 @@ DAE53A7B6773210BD0DD1B1A, 52F68EC17EF8743EBB2B58C4, EABA32A586FEAC426ECBF23B, ); name = "code_editor"; sourceTree = ""; }; - 2A2EF7A594E4C83D343E77B2 = {isa = PBXGroup; children = ( + 0BCA76361A55507DF3945607 = {isa = PBXGroup; children = ( 20D67D12EA254C35832E2C9C, 0DF40F4EAA2893A440264A25, ); name = documents; sourceTree = ""; }; - E5BADDDABAE8BB6BC0F20D4A = {isa = PBXGroup; children = ( + 7FCB59F7A71DDAF40012F86D = {isa = PBXGroup; children = ( DEB2A1A72DEB9F1DFD13EA49, 902CCD92C6A6F229DBFCEEFA, 9C2F44E77A47FC3BA63194AB, ); name = embedding; sourceTree = ""; }; - 2CCFA7CC49D9C495D6086093 = {isa = PBXGroup; children = ( + 146585440B72AFB8B23D59C3 = {isa = PBXGroup; children = ( 0056F14936A6432BB33F9F31, FDD9E936F40F91361D1EE79B, 20C0B62DE2FFD643CE246708, @@ -1904,7 +2432,7 @@ 942DEF7ADD8FE816EAA0E262, BCBE2DA45FFEF9EC8F735DF7, 4C942A41A0376B792B0E9ABF, ); name = misc; sourceTree = ""; }; - E0EAB024EF21CCF6F1E040CC = {isa = PBXGroup; children = ( + BEA98BB67BBAE3BC14C924BF = {isa = PBXGroup; children = ( D153089A2E20A8EE5D1AE6C3, 4B7A54B76B2E07BD6F4C6442, DDC2F2AD09C17F6B542421ED, @@ -1918,12 +2446,14 @@ 1C2A6E9A4C4D547BB357BF1A, 7D73BA773479C807D1BFE717, ); name = native; sourceTree = ""; }; E66E767409F60AC1437F60DA = {isa = PBXGroup; children = ( - 7ACF9919652082FD7F2A5AE9, - 2A2EF7A594E4C83D343E77B2, - E5BADDDABAE8BB6BC0F20D4A, - 2CCFA7CC49D9C495D6086093, - E0EAB024EF21CCF6F1E040CC, - 7C10E35BD11C19562BC833F0, + D219F8A0FB242F54E3F9FE6D, + 0BCA76361A55507DF3945607, + 7FCB59F7A71DDAF40012F86D, + 146585440B72AFB8B23D59C3, + BEA98BB67BBAE3BC14C924BF, + 089EF266B6F2114CABF82FF5, + 73760090E4CB1CD2592A1E54, + 243719A86326CBE8BD3AD39D, 73760090E4CB1CD2592A1E54, ); name = "juce_gui_extra"; sourceTree = ""; }; 267EBA2B36C17379FA53260F = {isa = PBXGroup; children = ( F79D8CDF582C6D0E8A6DA84C, @@ -1939,20 +2469,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, @@ -1966,7 +2496,7 @@ A44D165D613999DC222406FC, 6A66D46C1FBEDAD6A106A536, ); name = Frameworks; sourceTree = ""; }; 668227B90C7AD85717519435 = {isa = PBXGroup; children = ( - BDD25AC7DBBC9F465319BF08, ); name = Products; sourceTree = ""; }; + 8D8ED3E7474D65E7177750A8, ); name = Products; sourceTree = ""; }; 4DB04A617E8DFE6D06731154 = {isa = PBXGroup; children = ( 9E39F32C1BF5217D902DEEE5, 267EBA2B36C17379FA53260F, @@ -1974,7 +2504,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; @@ -1990,11 +2520,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; @@ -2011,13 +2542,15 @@ 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; SDKROOT_ppc = macosx10.5; }; name = Release; }; F1DB30FBBCE0275545D5B9CE = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2046,28 +2579,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, @@ -2078,11 +2612,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; 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 cbf689ad..7ee34a24 100644 --- a/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj +++ b/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj @@ -136,6 +136,9 @@ true + + true + true @@ -214,6 +217,12 @@ true + + true + + + true + true @@ -229,15 +238,6 @@ true - - true - - - true - - - true - true @@ -286,289 +286,307 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -577,21 +595,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -604,6 +631,9 @@ true + + true + true @@ -646,589 +676,934 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1237,23 +1612,27 @@ true - - - - - - - - - - - + + true + + + + + + + + + + + + + @@ -1286,6 +1665,9 @@ + + + @@ -1293,20 +1675,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1316,8 +1769,26 @@ + + + + + + + + + + + + + + + + + + @@ -1328,15 +1799,6 @@ - - - - - - - - - @@ -1347,6 +1809,7 @@ + @@ -1357,40 +1820,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1407,25 +1837,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1435,6 +1846,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1448,39 +1893,82 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - - - - - - - - - + + + + + + - - - - + + + + + + + + + @@ -1490,19 +1978,12 @@ - - - - - - - - - - + + + @@ -1513,10 +1994,15 @@ - - - - + + + + + + + + + @@ -1527,39 +2013,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1568,33 +2089,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1614,15 +2108,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1630,13 +2138,6 @@ - - - - - - - @@ -1644,31 +2145,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1694,21 +2195,15 @@ + - - - - - - - - - - - + + + + diff --git a/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj.filters b/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj.filters index 360342a5..d727467f 100644 --- a/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj.filters +++ b/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj.filters @@ -35,45 +35,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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 +125,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 +152,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,60 +164,60 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {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,80 +227,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -292,6 +340,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -370,6 +421,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -385,15 +445,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 @@ -448,74 +499,191 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\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_formats Juce Modules\juce_audio_processors\format @@ -535,6 +703,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 @@ -550,6 +736,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -568,9 +760,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -586,44 +775,14 @@ 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_audio_utils\players - - Juce Modules\juce_core\maths + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils Juce Modules\juce_core\containers @@ -640,33 +799,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 @@ -691,41 +823,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -733,36 +835,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -775,6 +865,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -832,17 +925,155 @@ Juce Modules\juce_core\native - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_core\network - - Juce Modules\juce_data_structures\undomanager + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core Juce Modules\juce_data_structures\app_properties @@ -850,23 +1081,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -886,6 +1120,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 @@ -901,6 +1147,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -922,26 +1180,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -958,32 +1219,209 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -1015,128 +1453,137 @@ Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -1189,32 +1636,98 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\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 @@ -1237,30 +1750,6 @@ 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 @@ -1282,113 +1771,77 @@ 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\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_extra\code_editor @@ -1468,37 +1921,43 @@ Juce Modules\juce_gui_extra\native - + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + + 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 @@ -1515,6 +1974,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1611,6 +2073,15 @@ Juce Modules\juce_audio_basics + + 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 @@ -1632,24 +2103,288 @@ 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_devices + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format @@ -1674,38 +2409,41 @@ Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_processors\format_types - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format_types Juce Modules\juce_audio_processors\processors @@ -1737,33 +2475,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 @@ -1794,6 +2505,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -1824,50 +2538,95 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + 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\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 @@ -1887,6 +2646,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1926,53 +2688,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\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\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\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\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2031,104 +2874,47 @@ 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\unit_tests - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\xml - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\xml - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib Juce Modules\juce_core\zip @@ -2139,38 +2925,26 @@ 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 - - Juce Modules\juce_core\native + + Juce Modules\juce_core - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_core\native + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_core + + Juce Modules\juce_data_structures\values Juce Modules\juce_data_structures\values @@ -2181,20 +2955,35 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_data_structures - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_events\broadcasters - - Juce Modules\juce_data_structures + + 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 @@ -2223,44 +3012,23 @@ 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\native + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events Juce Modules\juce_events @@ -2292,17 +3060,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 @@ -2334,38 +3117,71 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 @@ -2376,167 +3192,158 @@ 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_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\placement - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_gui_basics\keyboard Juce Modules\juce_gui_basics\layout @@ -2595,32 +3402,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\lookandfeel - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\menus - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\misc + + + 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\native Juce Modules\juce_gui_basics\positioning @@ -2643,27 +3492,6 @@ 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 @@ -2685,80 +3513,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2835,6 +3663,9 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_gui_extra + Juce Library Code @@ -2843,38 +3674,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_graphics + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_gui_basics + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_extra + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/SimpleFFTExample/JuceLibraryCode/AppConfig.h b/examples/SimpleFFTExample/JuceLibraryCode/AppConfig.h index 44ecade4..8becdc58 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 254ce6fd..5f3d584e 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..97bd2c56 --- /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 00000000..8eae7c6e --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 7d4583db..00000000 --- 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 bb997d30..00000000 --- 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 06e88f93..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 4dd961e3..124571b5 100644 --- a/examples/SimpleFFTExample/SimpleFFTExample.jucer +++ b/examples/SimpleFFTExample/SimpleFFTExample.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.1"> + + + + + 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 + + AudioComponents + + + name + ROLI Ltd.: Juce Demo Plugin + description + Juce Demo Plugin + factoryFunction + JuceDemoProjectAUFactory + manufacturer + Roli + type + aumf + subtype + Jcdm + version + 65536 + + + + 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 00000000..33dd9bcb --- /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 00000000..75f47c6e --- /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 00000000..75f47c6e --- /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/Info.plist b/examples/audio plugin demo/Builds/MacOSX/Info.plist deleted file mode 100644 index c7fbf09d..00000000 --- a/examples/audio plugin demo/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.juce.JuceDemoPlugin - CFBundleName - JuceDemoPlugin - CFBundlePackageType - TDMw - CFBundleSignature - PTul - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - ROLI Ltd. - NSHighResolutionCapable - - AudioComponents - - - name - ROLI Ltd.: Juce Demo Plugin - description - Juce Demo Plugin - factoryFunction - JuceDemoProjectAUFactory - manufacturer - Roli - type - aumf - subtype - Jcdm - version - 65536 - - - - 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 00000000..22194a6d --- /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 f79a854f..70f33475 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"; }; @@ -71,23 +50,29 @@ 0148FA619D1F0E5A597356FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 014D028CBF01E01B77B47189 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 0179C530BA4B4B8215461D5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 01D0E6639479CCC5FA55290D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; 01E96C5EAA85305BFA560A57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 02077428792969D94C0A09E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02113C4685CB8342A26F60EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; 0239743632D39327CB0D41D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 02730AF84C6233FF32A972D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; 0294A7C8FF1EB1FF9E2D96AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 029A39CA475ED19FDBF0724F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 0346193D807AFF03F6533022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 036748C1D26A3D752C189108 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 03B9D12015779EBEBBC4F240 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ComponentBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.h"; sourceTree = "SOURCE_ROOT"; }; + 0412BE6FCEE68B523D425F12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.h"; sourceTree = "SOURCE_ROOT"; }; 04555664F9106966CC7A7C16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 05DAD35C2005D6AB46006801 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.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"; }; + 064FF15ECF126E6B2F8D4DEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUViewLocalizedStringKeys.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUViewLocalizedStringKeys.h"; 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"; }; @@ -102,9 +87,14 @@ 07552B6714E651587D8E0CB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; 077868026EE8ADEC275EF534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; 077E39BD4365098B13F2F29B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 07C34ADD8CE97E4606E55EFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 07C6E77243A6F4730B589CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; 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"; }; + 0885C2726B2DE12A47547390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; + 08F7081C098FEE8551836A31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; 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"; }; @@ -112,6 +102,8 @@ 09E3A8B261601635DF9D9B44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 0A398AC4D2124027CD618ED0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 0A48C828D9F817F4055CBD07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0AE1992DCAF6AFE16F3C7A78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; + 0AE4F25A556234211F97005E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; 0AF73C2A8497F376EE986AD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; 0B082F614BA025B646A44D8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; 0B23FB9FC547A7877DC3E23E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -124,10 +116,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"; }; + 0D3CE42CCC38B0098E619148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_3.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_3.cpp"; 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"; }; + 0E0C89E8DC37D551087BE0A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; 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"; }; + 0F540BBBEDE8D629715C81F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; 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"; }; @@ -139,16 +135,24 @@ 10C46E275C321A3974729DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; 1101AD528ED2238FE265B715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 1127215528CC4A4A504078BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 1133C8C57BCB56EE0251D25C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; 115FCA1C09C15AD7EB4AC87C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 12E2781A912A01B5CF935981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; + 12E665A9E9A675668AF160A9 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST.plist"; path = "Info-VST.plist"; sourceTree = "SOURCE_ROOT"; }; + 12F79CEE2A4A576C39AAE224 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAXException.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAXException.h"; 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"; }; + 134D4761D5DEAA7A2212D535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnitTypes.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnitTypes.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"; }; 13EACB731E5573BC68744B5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 143920F3868145744E3562ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; 1460DF86692852CBB0840F87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; 14A221649E68BA8FD0EADAE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + 151280E997BFDD7C7CA9F180 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; 1519F1DAEF1445EEBC1D75DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1588973F0A055D4CF5D44823 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; 158EE06B4B48E5480FAAB795 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; @@ -157,20 +161,23 @@ 16628E0BBD62134897747ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; 168A5985B944FEED6C297748 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; 177932A52C416930EAB2A2F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + 17B73F7F08C67BFB1610EC6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; 17EC828C9226E13D4EF03E85 = {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"; }; 188AEC2A029C41DE66359AEF = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; 188B5E5033CC3CFBAAE2768F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 18C0B54762CCB2AB9EBB115A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 18D65A3CC5BEBD6F1AFB0CD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + 192560E05D3E5D5FF74145B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -185,25 +192,35 @@ 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"; }; + 1DEEFB2E1913BF2BEBAE3B5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp"; sourceTree = "SOURCE_ROOT"; }; 1DF50BA803474E15526C95B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 1E04D35C79B38C5D68A3575C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E1776E7A0C4558787330B29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; 1E496F7BF3B3C59E5ECACCDE = {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"; }; 1E4CD6428BE6C12C54575EC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; 1EC0F9F4EC617BA4C2217C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1ED3667E504C1D6272EEB886 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; + 1F09D939608916235239733F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; 1F60FF59922FECB5CD789D48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 1FBFF2D9043296E1E09DE156 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1FD65C14467D05E21734AE72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; 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"; }; + 213A65F5910B691DF495F733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; 2168ED9FD91B4475612D7785 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 21764164C5B41690F1BC3861 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 21FB57B78358CC1B1221C306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMutex.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.h"; sourceTree = "SOURCE_ROOT"; }; + 22A6CAB4509BBB38B044DD8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; 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"; }; + 22DEA1F65607C3CE25EE49FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; + 2364D8B6DBA3B1974ED202E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; 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,7 +232,9 @@ 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"; }; + 27A7CBF233832BC2FF761729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; 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"; }; + 27F4717476D5073850BF7426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUTimestampGenerator.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUTimestampGenerator.h"; 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"; }; @@ -223,28 +242,43 @@ 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"; }; 29BA2BABEFBB624A9EEE83F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + 29E161596399FC43BD54CE59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; + 29F2C783F03A444EEF16FAA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAutoDisposer.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAutoDisposer.h"; sourceTree = "SOURCE_ROOT"; }; 2A073A793701BE742D5D8CA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; + 2A6E2BC2F602472C0FC70E68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2BB2DFAFB47D10D48F9C620B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.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"; }; + 2C28905304D48804E791B023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.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"; }; 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"; }; + 2D49B17C145919667445D772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; 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"; }; + 2DADAECFF829C60A89958C2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; 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"; }; + 2E86A4611242DCF00E7E800D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 2E9D4EBD8155768AFA520362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; 2EA6226412D63CF270F97C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; 2ED0AAA25547A92DFAA668F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + 2EDB6DE2222AD75F6B60E519 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; 2EF063867325B40C75A151A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2F8A8C7F4BAFACA9F87F1B2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; + 2F962643C0166F7EDD6DD3BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.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"; }; + 301116E9FF1DC47F02389865 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; 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"; }; + 31B9AD4C86636FCDDADC4583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + 31BFCE3ECD2FE35DB9A16D09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_RTAS_utils.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.mm"; 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"; }; @@ -252,16 +286,19 @@ 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"; }; + 32B418F44A02F788ABE67D93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAHostTimeBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAHostTimeBase.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"; }; + 348E1FB9410C459A1B7730A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; 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"; }; + 366D4ADE01A2B4B6E0047A34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; 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"; }; @@ -275,8 +312,11 @@ 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"; }; + 38C41D6ECD6B0821752F9237 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; 38CAA3A693AE6206F083F175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38E66A7E2DEF243C78C689DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; 39AD51EB5E59758E6FC4F313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 39C85A58AD999A0447D36AE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; 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"; }; @@ -287,8 +327,12 @@ 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"; }; + 3B33655DBCDF0EBE9458A249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; + 3B39F9E8B25DC0F84F385DED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; 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"; }; 3B9EA2905AC4A9924B9AC3FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; + 3BE73AFB756A094D458CC695 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; 3C00BD826FCACC11EC9CF6D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C3B97E53D481B74892572D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C6E8B705C53294638807FC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeSystemHeaders.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h"; sourceTree = "SOURCE_ROOT"; }; @@ -297,14 +341,20 @@ 3D091623E5697442BD3E72D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D33773DB5397CBBF4A8C18F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DA189F1C4C5EAD476DFE4A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3DBB0EAB6865142CE1822826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; 3E3CBF04F24292DEF36E5550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3E6923B18B248C0A0506D626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; 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"; }; 4010F841656A5089C77590C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + 4056E76374667099C88D8C5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; + 40850010F31BD88567CB1493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; 40C5B7300EBBF52E3B7FD402 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + 415DF31AA0C4174513E9A18E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; 417401D474422540C54F7700 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 41EE7512746D88ACB108362B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 42458330B018CCF81D0931CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; @@ -312,42 +362,58 @@ 4266C9A95DBB52D7785F745A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; 428A63EBD85C3438EF016787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; 42C7FC165C3DA0FD260236A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 435D2BFF50EE3A5E6A0E094F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; 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"; }; + 457F198AEC6AB38E2D60D34E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; 45C2C296C9A745B292F49C65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; 460FC41A761B1DBEF6DE8C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; 464FB7FCF24EAA87AE670472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 4685C8526885369931054BC1 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; 468EF044700E657B00BE60BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4690264FD0584917EA606BE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 46ABC4052D5B1B12083F2D4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; + 46BF351143B8DAE509C4C38A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; 46E50880F5C5950C1FFA15FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46E5C00691E5B08BEED2CC72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 47C94F4AB75C13EA66850964 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUMIDIBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.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"; }; + 48018935A0A548CB5C478632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; 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"; }; 4912E679D7789579BDF68CBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49386674C08BAD7864966166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MusicDeviceBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.h"; sourceTree = "SOURCE_ROOT"; }; 499974142017D18C15D5AE2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; 4999A3C6B9B1FCE2FA75E26B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A2766D6D2E1CEB0B906CF65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 4AB9AA07703E3BAE99B586C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B01C1EF1219C6405CD9A061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B13AFACB5B6B81347E6652D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B56EFD49A1BC1A0263A72B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; + 4B77F90DC629E357410F2EFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; 4B7CE8D596B3F3901B2A7826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; 4BDDD1EF709062B8DA24BA06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; 4BDFDEDCF05F480BB99EE8A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 4BEE40628E4C3581FF774383 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C4A52A64706F6C88DE0D81B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 4CD4D1B175AC037DFAF3E2E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; + 4CD51FE9C1157452F5DDDF68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_utils.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 4D669F9349F7061E90B1DCDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D69698B19CF9BF4CCB83C94 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; 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"; }; + 4DDA94786D3A4F9643E00112 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; 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"; }; 4E6E8CC86D3C64BEA97CD34B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; 4E7854A2FE5973E713080BEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; @@ -355,29 +421,48 @@ 4F54F099B1373706B52E5774 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; 4F790401362D3F12680B726E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; 4FB58D47EA973CA9529AF6A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4FC82A4EB65948C925CC7248 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; 4FCB6E7A042E17CEC055BE75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; - 4FD86B7C71BEC7627C40B694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 4FF264791CA989D4CFD083F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 507F735FFE45FCB10B432A4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 50832A0FAB3B736F1AD5E693 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; 508D1DF2D93C6F05EE75EDE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 50F1E35F917489F92521D617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 513637A8BE7D94200DCBD1F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 513BA2176B24BC61831B58FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + 5279C4962DF56C537826FB7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; + 52910366DFBBEE849B726F87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; + 52A34E3AD81C71587925D103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; + 52CEDC13A7802C7CD55F01A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 534336DBE61F1AC6D20C252C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; + 5893832AF1B7AE432FB2F071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; 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"; }; + 4D6248E85C22578615FA809C = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libJuceDemoPlugin.a; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 4FD86B7C71BEC7627C40B694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 522D22FEB38D52304F01508D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; 525EF648F69C3D42DA9B06E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; 528C0C08C23994B09945896C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; - 52CEDC13A7802C7CD55F01A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53220B3B994BD522CFD4564B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_Standalone.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp"; sourceTree = "SOURCE_ROOT"; }; 534F8743733885F462809C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 535A9A777A237C6C85F19B5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; 537D65EF3BBBDFC4651D389D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; 538BF18F9D29A2A60EF6A6CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5484ACC1742F9FA740314458 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; + 54A2AD39C0C739C9880E35B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; 54DD8BD688BB54E3F94A19A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 551EB50AA3CCA08ABE8CB458 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 5532406796823FC4FB6ADC39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; 5535A6B1099BB113B17C42DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 55607B89BB15CE19B6E397E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; 5585BCF8B17AD03D9FB4A32A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5647736926AE116B8C392630 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 57355833C251D222ADCB9801 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAUParameter.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.h"; 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,11 +483,14 @@ 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"; }; + 5CC1FF06EC0310E6512C20D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; 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"; }; 5EE4BB25075E3ACDCFCE14D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; @@ -412,44 +500,70 @@ 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"; }; + 602160A9E30926E16312E2EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputElement.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.h"; sourceTree = "SOURCE_ROOT"; }; + 603DCBADF87DD38A1A392D30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.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"; }; + 611DEF1E4DAB7B24E8C5611D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBuffer.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 61848A238C57C54BF83884C3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; + 61D6E0CAFF82FFBEAAD78809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; + 620D3EB33686F4084F08D153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 620F05F325A2E12F7D5671C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 622EA3BDC34FF84E5BFA10F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; 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"; }; + 6272AEAB5238A07052F34A9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; 6290D23F5E4D1E3D6F4F182A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; 633C5ABF1EDE515806729C83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; 638529017F951968169C5C4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6388C208FE889EA91851DD99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; 63AA3D61619113F35D7492C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 63C924DF1851945B0BD9975B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 63F1E4B74A4286F46DD77F46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; 63FF6149DFC67E9D00C61FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 640D33485B47DA3FF253EE01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; 6501BB1AAFD5B3DC4A783F85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6519B4DC14EC556DA52B889C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; + 654755F29EA175A3A9420B57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; 657E623AEF2E10271FE918B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 658E485FF863DBC21870F356 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; 65BB069F659BEBCD3B62519E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 65E005154EAE1F3348AD94F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65ECEA6EC084C7CE0F4A7C9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; 6615AA3C51D65AA6586812C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; 66224023D1551D0B1D24669C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; 663CDC4A9E07B34A18A29728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6642E1E90C46953009CDD972 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomic.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomic.h"; sourceTree = "SOURCE_ROOT"; }; 66655117FFCCE11F3AE46791 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 6713C8F0ADAB2C44417F9792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; 67C28D93FE8831496493B095 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 67DF7D8633F8D4704F4BF3CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; 682D51082D9FE9859F364A10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginProcessor.cpp; path = ../../Source/PluginProcessor.cpp; sourceTree = "SOURCE_ROOT"; }; + 6856A4081DC0F24798365EB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; 68717DBA2962733A2BA731FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; 68AB90F3F4B4ABA2AE384EE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 69859F37E963E8539BC36A35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 69AA2614A300DC55D0C7521B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm"; 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"; }; + 69CF7DBC24BCF5B19111968B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; + 69E21597B0CB8786A13C5281 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.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"; }; 6AA71F4B531421F7440E7F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; + 6AC15CDD5113EE264A84815B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; + 6B193DC61D7B89A52C67F669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; 6B5564F5E6A5B70B890C146D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 6B7CFE319641622EAA8037DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; 6C4AD1B0CA254C16E38609DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; 6C5452492262FE01944BE60C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6C8619FFBFA374CE3A374481 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6CBC48D5F2100765986535E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 6CEFF94C7852DB3BFA5E29EB = {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"; }; 6D890CE6D9C0EE5225E04A11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 6DBB034012D6034B7E6E5D4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 6DD7B1CA8F5F2857F2210D04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6E27B8AA795037547000F75F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; 6E79399429D2A1B149CCB022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6EA0F6E82CE987903D0C7B13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 6EC7B55CE9A1E68A89CED63D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -457,16 +571,24 @@ 6F3D3E06535036A4B1779FDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; 6F80E669C5CD62B01B4047A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; 6FFE3D9DADC166B95D739887 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6FFEB7A8D3C2288A63866E8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; + 703F13F4EFEA7E1E3D38CC25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; 704A1428992F4CA4A606E2B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; 705AC662E310AC822FDEA734 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 70833A7D4499DDCFA183E14B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; 709C82A5435B2B3933ED5343 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 70BA280499987A1D14FCB1A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 70D113696646BD43B4D0C3A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 70D7F049EE6F03FCF08AFB11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 71182371710295A8E05E1536 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 71284E40BAF218D78B8A88D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; + 713843608E1DF5E4583C881A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; + 71B28228C3327C47748E742A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; 71BDE6A5BAEA81ACAE4CDC28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 71D1E59DD8BD9FAFF42659AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 7224CC95ABFD72D07AEC0A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + 72894F165E39B107CAB8596C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; + 72A8E09F832B7E68C5041EEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAudioChannelLayout.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.h"; sourceTree = "SOURCE_ROOT"; }; 72C93E5C4D67FBDA352C4F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 732FA0A6EBB881C0D5085541 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; 733D78081DDEDCBA60B26614 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -475,15 +597,17 @@ 7368195ADDFA8909053F98D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 7368B0046A2F265498F9DD5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 745D6A06B95F8E9CAFBB0CC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 748CDFA47D66DBC2617DDBFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 74BB4F18BE439D41BFBA36A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; 74BD335259545B5C8FAE3942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; 74F2DCF770F5C64372FD4247 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 750F3B1989AEC12FF245BE70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginEditor.h; path = ../../Source/PluginEditor.h; sourceTree = "SOURCE_ROOT"; }; 753D44FB980D9BAD93995C1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; 7541F65B3F7500294E6F528F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + 754501402D69FFA904F3F745 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + 755A9E336DFC786BAC45C8F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; 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"; }; @@ -492,28 +616,34 @@ 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"; }; + 78A4EFE0FCA98D7898349078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; + 79491394ED1AB40D68F11E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_2.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.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"; }; + 79AC1A5B1BD9672F7B6DB092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; 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"; }; + 7A56152AA3A9EAFC3A7A873B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; 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"; }; 7B2A0D30289D548DCF3AC985 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B771B4DB30325B4596BF528 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 7C522F2A906541D855E966A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.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"; }; + 7CD88A68919CB19564B5A6DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; }; + 7D0E87AC59D1F9B47E713CD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_1.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp"; 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"; }; + 7DE480F1F93D106456A25698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; 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"; }; + 7E60373BD72C404972406D78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; 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"; }; 7F4472B4691BF3FED1C2025C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; @@ -525,8 +655,10 @@ 80164398F844C51A6F8532F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; 8018BB0CE64058FD6D6D6EA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 802E244849C0AE5DACD3FCCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 80567F678EF6F4724E16897F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; 807E89E43737DE8DB65A4179 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; 80D58EDB557D5702F6D8749F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; + 80F97CA73D86B5A0CC6E14ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 815230D20705ECC2BC4FF93A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; 81766EF7DB6CE1CB01017097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 81906F76BB6143A9C782891B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; @@ -534,222 +666,297 @@ 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"; }; 841B6783475386C5471CA039 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginHostType.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginHostType.h"; sourceTree = "SOURCE_ROOT"; }; 843BE235C212ED17429DE2D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 844343AA474A10F4CD613ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + 84D038085E4A099C37D9A2AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; 84EE990E06D02BEBDBEBE649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 850AAA9A7D0CBCE8EEA2D05E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 856FB15F4FAE36786254E62F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 8579E65E901E18ACD9A0848D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 85953323F917885511BC7FD1 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; + 85D43463C49C4D52CF2DF657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 86F68F1AD23E745DD1E51433 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; 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"; }; + 87729534EFFF2AE146721FB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.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"; }; + 879703909BB47FA03223BA92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; 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"; }; + 88F41320367D5142ADED2EFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 890AA995A158C4D9E7738A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 890E34C92BEB623F2194DF31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; + 8910A4F677EBAC8127E47A22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 8916485BFFBA840EF46760CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 8AFE1B1EED70BCB73F428DC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; 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"; }; + 8BC99750BA99AC45DBCB78A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; 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"; }; + 8D858FDCDF424DEBC5771FF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; 8D9F2E08F3381BE4A60F28C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 8DEACF4354FDF21541326369 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; 8E215890DCA3641D4B8FCE6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 8E40EB375F5C4AE1651F3E49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; 8E6F287CAEE4C6BA50E8E390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 8E7FD81C9273B6D018862CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAException.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAException.h"; sourceTree = "SOURCE_ROOT"; }; 8E815C1193352E861B9C48BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 9084709A281D2A3FA167D442 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; 90B8F6B5975D3B169BF24C9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 90C8C63216FF142E313A5220 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + 90D80AD8F213917674B55FF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 90E25335542765D9B688CD6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 91114DF860FFBAA9B22EF581 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; 9120B03E05E369128056F1F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 916252B57E4C03318298D255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; + 916BD52E82D5F69CEAAD9C0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; + 91CCF5990EBC61D93A4F8689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputElement.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.h"; 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"; }; + 9246190762536EB63E72AEC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.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"; }; 92A42EEE90DC70E7D922E9C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; 92C13B9CFD6F4A5C8B38664D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92C9C013503169E28991B518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; + 92CB8E604FD2DA9769E4E0F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; 92E01BD6F9DD874F968F3CB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 92EC4C0A72F7312F1FE85B2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 932A5DF40DA3D1F382EEA349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 939839047075C54A25A4B9B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; 93B87965CC9DFB9CD3820F92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 93DD697211621719FC8700C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; + 93E4BE7F978EB105FC919AC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; + 93E87B5677CF29B3017EB9B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; 93F82D964A8C329766946277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 93FBD648EA104B18DC9502FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SinewaveSynth.h; path = ../../Source/SinewaveSynth.h; sourceTree = "SOURCE_ROOT"; }; + 943031A1FB844F062CA550C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.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"; }; + 94CCB680C3BA7F733DDD060F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; 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"; }; + 9502A245634630F327DB7BDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + 96A18891E8721106BFC89A8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; 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"; }; + 98C9ADBF07E1385BEECBC521 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; 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"; }; 996E86CC90360798D87EE1A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 9987A96DF622BD3DF00FCE3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 9A38651C5EA6E43AA24E320A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; 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"; }; + 9ADB8157131A880BF845C2D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.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"; }; + 9BCC7F5514DBE63A87B87789 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; 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"; }; + 9BFECF163C5741A87F8370C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; 9C436F92CE7E8C70492C99B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C920EACAC7281B584F2F09A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; 9C9DEB7FB75C42C4F47AF999 = {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"; }; + 9D6E760A374151269551D1D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; }; 9DDEAA3563BE5304457DBE4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9DFC17B26B7710304214755C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 9E4E6003EBB2B55E8D94C35A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 9E6559DEE37E348F13A65CBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; 9E9B102253DEDFE00673F715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; 9EA3C2BA09FEBDA65F4495D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9EC0C4C02099C656EEF39DA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginEditor.cpp; path = ../../Source/PluginEditor.cpp; sourceTree = "SOURCE_ROOT"; }; 9F18A1B29A4BFC7EE7B28E11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + 9F32F1A0F284E7F124F4CAA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 9F919072361E4AE546AC455B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; 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"; }; + A1372BD24A1AAA1FF6444BE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; 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; }; + A213F12DFAEB4BB4D07F7352 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; A21E0C7AD5B7950C37912A31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; A2605C2C8D583851AD65025E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; A2D59E253587CE9B51AE237F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; A2F1B4E1DE5CAA9FB76C01B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; A31CE7177BF947DB60F72D94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3F95510DCE3352156FE67E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3FF50EFE17D8634A9A0A6EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; 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"; }; + A5479787577EB56F20ECF48F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAReferenceCounted.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAReferenceCounted.h"; sourceTree = "SOURCE_ROOT"; }; A59A08DCC76EE0FC7EBE1203 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + A5A9CC9E63CC555E518C2A6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; + A67A07AC463F106BEB763964 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; 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"; }; 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"; }; + A7C8D66431191DD3BA717895 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.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"; }; + A98614BFCCAAC7FF61907081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; + A9A499C3479929EADF17FD0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; 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"; }; + AA63C416C56F4BCE7568F878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; 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"; }; + AB5312715C1DB0354766046E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; 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"; }; + ABA05DEAECDFC377AD6ED759 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; 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"; }; + AC489AEA0A0A203A76BD5C77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; 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"; }; + ACB797B8DBF39C4AD3D2C730 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; 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"; }; - AD7E9320CE88BADD17DA949C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.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"; }; - AF14FDB3693F569F275C1A8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; 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"; }; - B7F3E4AF0F482E9F6EAF6C41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; - BA98346EFD1037285E245CC9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; - BB84A0B296CFBF17FAF145B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; - BBECA9EB9DD3C9B6CB04B10A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; - BBF88983012D33EFEF11EA81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; 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"; }; - 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"; }; - 8910A4F677EBAC8127E47A22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.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"; }; - 90D80AD8F213917674B55FF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.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"; }; - A7A527D783D3B38F455964D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; 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"; }; - A9133BF4A4E9DF3268BE0A5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.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"; }; - AA29B047C1A1904618B410D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; 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"; }; - 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"; }; - ABC394D5E03B690404E80E1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; 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"; }; - ACB591F236B9E8054BF9ECB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.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"; }; + 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"; }; + AF7AFE4A1D7A8831E06D9645 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + AFACD6F1962239C42123364A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; 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"; }; + AFF5CF65A6BD83D10ACE9849 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; + B0830A0FB9420D850553D895 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUPlugInDispatch.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.h"; 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"; }; + B291F4A6B6CC96D63ED9B8AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + B2B3A2CFFDA8511B7F4E320F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; + B2EB9D4F58D87C74CFB591F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; + B319F4F8A0C63C8337786949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; 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"; }; + B355E37DC9527B743312284A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + B400AED340E78980FAFC198D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.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"; }; + B46263C4331CAB23F792777E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; + B48AAE94AC8C9C854B2A28A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.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"; }; + B57C6D6FA69476C82B57DD39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBaseHelper.h"; 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"; }; + B8D629B3F1CA3679317C8A97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; B8EF21085F9CEED597FE5F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; B95709CE3D050593127765EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + B9F00E2440056545F32EA80E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; 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; }; + BAC63B00905C8572FEF8B079 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + BAC8D415D2BE640836021D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + BAE3E7A820BDA399DBA52AE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; BAF34E1248A8D20DDA992AFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB0AAC45F39AC85ADEE941DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; 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"; }; + BB2CD1B0323135818D0AB47F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_AAX.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp"; 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"; }; BBBE74C4A9FA85B5F29FF346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BBECA9EB9DD3C9B6CB04B10A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + BBF88983012D33EFEF11EA81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC079B78AD30B08C2E95CBF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUScopeElement.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.h"; sourceTree = "SOURCE_ROOT"; }; BCB54D2E4C0C3357DACFD29B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; BCE8039887ABB9343A257AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; BD1EC91E61ECEAB657C78D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + BD443A9D110E97DAB8EBB131 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAThreadSafeList.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAThreadSafeList.h"; sourceTree = "SOURCE_ROOT"; }; BD8E1F131237E716EC029375 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + BDAAC3539C137CDDEF894B3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; BDB897B2503C29D7ABDDB656 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDBAC143A0BA61513E3B9EAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; + BDCEF54A071CB2F520C645E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnit.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.h"; sourceTree = "SOURCE_ROOT"; }; + BDDDAFA8596A5AD64C8CCCCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CarbonEventHandler.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.h"; sourceTree = "SOURCE_ROOT"; }; BE840C441E0B5AA5C8B2AB1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -759,54 +966,81 @@ C0BC3E52B08C2805E9509E7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; C10968CE398AF92E9A5D68C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; C19323831CE86566D60C725E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1ECD278F620E6BE8FA7CB94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; C225F19773D773E87469FBF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + C2953C39BDF0A5CB5E1EF9ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; C2C92FCE31284C0292F55427 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + C2CB6F51C1678BAA7A7F464E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; C46535B208CC33B10D010E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; C49525A5A8FD7ECFD3292315 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + C496493599E7130B9601685E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + C4B71B975B9E6D0ED9D13F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; C4BC9568B31F3E7EC4C3C7E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; C4CA0BF69BD074C55F7BD871 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginProcessor.h; path = ../../Source/PluginProcessor.h; sourceTree = "SOURCE_ROOT"; }; C4E99D3E7C558C9F14AFBB8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; C507A853557D8CA51377907F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; C5334A5D1AB867C5C4631D37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + C5381CBBA65777EC2FAE5CCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; C5ED4BF4E575F3A98F08FADA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; C66971823D34B6CC6C72A0D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; C6854170C590B6F25269095F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; C6D4B0865226D31054D89B47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; C70ABA533CBEB959E6CFF847 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + C735057EA465C4B68BA7337C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; + C740C7CB41D208930B0E8A8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; + C75932C3C28530250E06EDB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugMacros.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugMacros.h"; sourceTree = "SOURCE_ROOT"; }; C75BD60CDB6D9D554247A6BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; C79568F0BFFEA0DE4B88ADD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; C7CC2605B8131869099F0D1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; C8302DD07934EBD796C2BFBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + C83B8AC79590CB5FBF6CEDB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; C854266C28A55C3F34489746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; C859B01B55EAB67BC10ED803 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; C8741583F363ECB8C2010509 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; C90ACF4B16E6855611566B5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; + C935074D8652CD3EE28F7A8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; C95C90A2A9829F72F818533B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + C96920F5B54C7A7178ABBAC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugPrintf.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugPrintf.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"; }; + CA8898E7EC2A47F0C3E18D2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.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"; }; + CB93B445C37845467DFFA948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm"; 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"; }; CBFB91131B82AA2F0BDD3EB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; CC04A3CE3003C0A0AB35A7AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + CC46E2A9F41F15AE18A452D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; + CC55397A067B0D0EA06B12F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; CC9181E8112D4E033592A78B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; CCDF047576A0F3C39645844E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + CD3776D06208E2AEE4F3D927 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; CD5EC6CF2615599D8330BDC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; CD61A73C6A090CD85EC57354 = {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"; }; + CDDD10FB58C695719A664666 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; CDF45007C8A5A83E55EE7BE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; CDF4D931F4616CEE9E653400 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + CDFC623FC9411F6FD83B67DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; + CE3C31B8417F5CC427754036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; + CE7C895E83A93073A3B83AE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUSilentTimeout.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUSilentTimeout.h"; sourceTree = "SOURCE_ROOT"; }; CEA2F28E0A91B1710B04AE3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + CECEFC4272274BAD8AEFCA1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; + CF4F90256F84167D710EF32E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -818,12 +1052,18 @@ D390E99C2A14158EEE4517E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; D39E8327482025C181E2646E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; D3B991A2F30C671C74AE0787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; + D3EAD5865814235C291DFD10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewControl.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.h"; sourceTree = "SOURCE_ROOT"; }; D42DFF39164C4E36721207AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; + D43321332F3683C9B72D714E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; + D451A0D49BEF91C69A38B8D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + D4BF20AFD2D82669C07281A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMath.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMath.h"; sourceTree = "SOURCE_ROOT"; }; D4D67DEAA60E4213CB4957E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; D519AE911B1D332E49048DB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; D52B98A8B835644ED4EB7CC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; D566C6446B859B69FC385685 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; D5916F93E2539DD6996DCAAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + D5F0A86C4D96121164FE0C98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; + D60B014361420DCB106068DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; D60BFFB83E29FDE033AE4037 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; D61536C96044EF9D6AC724F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; D6274E461525C6F6FB84B336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; @@ -831,22 +1071,29 @@ D6C649F04F03DA0744EA0456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; D6EB2F9DDC938830D6CA84CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; D722F49E225A9A47AA348628 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + D73E8206715E75C55D8589D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; D79B9A384D018B252B6C4D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; + D79CAC82B4607BE7DEED1045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; }; D7A2C53BADFE9FFDED204B6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; D7FE483198CE40495DE72435 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; D85ABD84770A6A66B78C288B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; D88796A40E58D524DE34989B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8986515B9AA9CCB4051689C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; D8DA09DFE4076AAD9BBFEC2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; D8F9FCA9940730EDBD37CD80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; D92E27000F5B28F19BD2EA43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + D9382061A19564071706CC32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + DA55C1BFE4669E2CFCEC33E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUDispatch.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.h"; 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"; }; DB64C9D4AD0F4D23557630F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB65CCEA9A7DA9E8E4653A07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + DB9F825B53DAD3DD05652523 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; DBEA8C45A32E4462BADEF57C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; DBFEFB5A6C80C7BA4F30E668 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; DC1620808CB348FA6A061F49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; @@ -855,7 +1102,6 @@ DCB5B59D3F5E1075E42DC5AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; DCBB26AF7804FDAC77B5A1CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; DCC99A76773B6C721B867379 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; - DCF6DECFAD7F4D907C0458A5 = {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"; }; DD34B7EEFCC8C96D4DEA420A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; DD86A1A94ABA06E59C5E5EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; DE003DCF42014FA6C64DFE95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -863,14 +1109,18 @@ DE63AC14FAFAA64733A5CB77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DE854E6D41F958043323FB3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; DECF1A4C283822D8C7005676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + DED1490B782B60C44B11109C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; DEEA71B9C3EDDD33636CEEC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; DF198098C73EA9C9AF6F1404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; DF693A14980C1E9D122E98F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; DFAB472D7624CACD1723528F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + DFB0C0515543105C1C262D1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AUv3.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm"; sourceTree = "SOURCE_ROOT"; }; DFDEE243F607A7A7C2762D41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; DFE0014A05152448BF5D9E6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; DFF33C1951C79E101D905003 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; DFF5523D4F5396F98114B642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + E0077647EEEF68EBFDF8F9E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; + E0347FFDB85092BBC6D89F6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.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"; }; @@ -880,20 +1130,29 @@ E17C91C70F1524D187684CA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; E17D748AFC16FE1A43B4B41B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; E17DC39B0FEF7C385323EF82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + E1FB4609287096AA3BE3ACEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; E30BFE6552613CAFCDAED97A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E40FF4E8E351E8853B801040 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; 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"; }; + E49DA929A7AEDF2B83E030E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; + E4D287DE19F3B62153A4CAF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + E4DE2AE764AFF69ACEE303A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; + E50636DD8DA32211E33E9A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; 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"; }; 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"; }; E5CD2295E0A994C362D85800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; E609E0D561D5D8546A90ABBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + E64AD919036A2C632635B703 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputFormatConverter.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputFormatConverter.h"; sourceTree = "SOURCE_ROOT"; }; E65E231978B796AA7868DC4A = {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"; }; + E68AA2F470990C226356C4CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUPlugInDispatch.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; E695834F7C3FC81BB41044C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + E73ADAA8E499300C56D3CD0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; E7A0D2A3AAD8192B65EB0141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E7A11AD35375D0EBD838113B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; E7C5E25093EF1CC291215E69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -902,14 +1161,20 @@ E7F81A4E46A42195F42C958D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; E8FF8D2FF41B8F165A5BE5AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; E918CC2BE037AC31D232E9FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + E94DC50143B8D9E89DA2223D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + E957AF9AF9A2B602EA797C74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; E95E53ABEA2884BA27EF0545 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + E9791EC7421BD93FC6FBA3A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; E9B20812DF15AC01D00FAFF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + E9D3D54CE1A6F75934ACB0F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAStreamBasicDescription.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.h"; sourceTree = "SOURCE_ROOT"; }; E9E8E69C63535541E37F44FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; EA339FA929EF8AE42A8CE5BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; EA6921266422F00734EF49B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + EA6B6A864986C11717B593A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; 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"; }; + EB599A7A91B807F0551B7593 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; 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"; }; @@ -917,6 +1182,7 @@ EC401439D56540696500FB09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; EC54DEA5096C384D7DCFEBDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; EC704EDAD7A2015D623B0429 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + ED0D81D38B5A24D9BC34D384 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; ED3F8B6AC260A35F53658415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; ED5E2A6E19327A0F73876C42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; EDC019B897AE281105783BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -930,6 +1196,7 @@ 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"; }; + F0E927F230180C28CFB91C99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; F1878A55B4334BD8BF6C86DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; F188FC9EF3044E289A343F7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; F18D5EDA538805865D2F8378 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -937,12 +1204,18 @@ F1D7A9144EC2AF8DC5AFB07C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; F1DE266C0CD3BCA3052236EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; F227EACE776B1233B6F7D6B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + F2467CC22E6A9F58BF69B89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_4.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_4.cpp"; sourceTree = "SOURCE_ROOT"; }; + F24E7F4B0768DC17D1BABCB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.h"; sourceTree = "SOURCE_ROOT"; }; F2C36FA2223ED743551F79C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; F302B7C39A83E5A4AE2EC4E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; F3102DB72C0E15DD22D05E8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; F32E925688FCE79DA50505A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; + F38E6D8315D458A9DB2381F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; + F40DAB16B195FF12CF16CE92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.h"; sourceTree = "SOURCE_ROOT"; }; + F418AA37611C166268EF19D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomicStack.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomicStack.h"; sourceTree = "SOURCE_ROOT"; }; F452F979D93A99CF6476B50A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; F476BAB4502F22EA32E6F92F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + F48995AE3469208C843528E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; F4CF3DF6C79D1E7C269F7B25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; F4CF735CF65D41BF28D3030A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; F50B19A063B232595410FBB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -950,7 +1223,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"; }; @@ -964,7 +1239,10 @@ 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"; }; + F90E2EE4F82352288575F5E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; + F930736F0DED8C0C5D61B4E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; 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"; }; F9FDBE9AC006011B600C0456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -972,36 +1250,48 @@ FABC846A7451773CA5FEDA13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; FAC7CCF2EF58D03CB59F673C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; FB2B8B95607A8B79BA7627E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB32CACD269DA1AC537A2047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; FB467808D080ECD1FB32E440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; FB4DDE79084ACB2CDF371625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; FB59A9B2D3147F5073F48CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FBB1DA0C78CE77083FDC9998 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; FBC2E4059CE1B6CAFE084FAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; FBE8B9BD6E3817751D556FCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + FC24EF5B238B433CE2FE6D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; FC86721DEC71B944CA1E6713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + FCB65305D584DE81ADFE7F55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; FCEC950D217FEEF2948508C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD40809E08AF8EC83F22857F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; + FD6A2D61A23361F7C6B9CABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; FD7B547577F66BA2F48FF3DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; FE0B9D0C5E9B31DF6B7E3616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; FE2F4EB06C194B80ADF38D32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; FE7BF03E997B68345D812C18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; FEDF58985DBA59E34FC99B20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; FF25FC2D49382DCBDB76BC48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FF337B571E2C4B7FDF126023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; FF443F140558EBF4EE8819F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FF7C044E1093E6C8D59099CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + FF9A239B2BE69DCB4CA5CB56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; 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"; }; + FFEF396536FBC236D37BD621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; F4E255C7FF120419035C8CBE = {isa = PBXGroup; children = ( 9EC0C4C02099C656EEF39DA9, 750F3B1989AEC12FF245BE70, 682D51082D9FE9859F364A10, C4CA0BF69BD074C55F7BD871, 93FBD648EA104B18DC9502FD, ); name = JuceDemoPlugin; sourceTree = ""; }; - F6FA9ABFC84856EEB196D201 = {isa = PBXGroup; children = ( + 4972D5B886C3330A6E45360F = {isa = PBXGroup; children = ( 9084709A281D2A3FA167D442, 379E6C7C71E680936EF723F4, 890AA995A158C4D9E7738A40, DB64C9D4AD0F4D23557630F6, 272DDB6A8D42D1482FA8EED1, ); name = buffers; sourceTree = ""; }; - 93B42E3301FBDB6075179B7A = {isa = PBXGroup; children = ( + D7E341D13869347EC1E62BA0 = {isa = PBXGroup; children = ( + 2CA6AEE8D826ED5508BCD4E5, + AF7AFE4A1D7A8831E06D9645, F8DD79AAF71228DAF2A1DFCC, E3F3133499175DC014FC149B, 323141448B7FA2F741D07FDF, @@ -1011,7 +1301,7 @@ 0CF861C9A12A38A47B7BC43C, CFB4F03ABA5B51964C16C8CA, E4606F21F965427E694C1132, ); name = effects; sourceTree = ""; }; - FA2A67F19539DB6D7BF6F45E = {isa = PBXGroup; children = ( + 8AE93D04D584DD3CC8D14DDB = {isa = PBXGroup; children = ( BF9246177C0D98297F4228E1, B7F3E4AF0F482E9F6EAF6C41, 71D1E59DD8BD9FAFF42659AF, @@ -1024,7 +1314,7 @@ 460FC41A761B1DBEF6DE8C8B, AE33B12A78EDF66C08B06304, 424B873E674F0D5860F6AEC9, ); name = midi; sourceTree = ""; }; - 81AB762429787BA3BF67DF1C = {isa = PBXGroup; children = ( + D313ACC0DFC29C500BB19264 = {isa = PBXGroup; children = ( 36CB6C4D85EFD5015D667E96, C9C0E7E8748BCECFDC471A1E, 87F5AB0E60F00DD74E08FC8F, @@ -1060,19 +1350,25 @@ F7AD604135D04469C920F456, D390E99C2A14158EEE4517E0, D4D67DEAA60E4213CB4957E1, ); name = sources; sourceTree = ""; }; - 2E8CE9A16B1D4CEE79B3F153 = {isa = PBXGroup; children = ( + 4D3F7A3CEC23864D59AC769F = {isa = PBXGroup; children = ( 3B14E2CE58630F14CB9964A8, 2F57DBBB4A15985366575C38, ); name = synthesisers; sourceTree = ""; }; 645F82CEE72820AB4A2DCFCB = {isa = PBXGroup; children = ( - F6FA9ABFC84856EEB196D201, - 93B42E3301FBDB6075179B7A, - FA2A67F19539DB6D7BF6F45E, - 81AB762429787BA3BF67DF1C, + 4972D5B886C3330A6E45360F, + D7E341D13869347EC1E62BA0, + 8AE93D04D584DD3CC8D14DDB, + D313ACC0DFC29C500BB19264, 6E34564E79C03976635328FA, - 2E8CE9A16B1D4CEE79B3F153, - 1AA472D8429FFDFBE7CD01BD, + 4D3F7A3CEC23864D59AC769F, + 08F7081C098FEE8551836A31, + 4B7CE8D596B3F3901B2A7826, + 7C7362C71D396DA95BBE38B8, 4B7CE8D596B3F3901B2A7826, ); name = "juce_audio_basics"; sourceTree = ""; }; - D0B7516EBC78D0D616A2DB7F = {isa = PBXGroup; children = ( + 00D6AC67D8E1FB986E1A1A79 = {isa = PBXGroup; children = ( + 24BE29B60B5541AF727371D4, + 13EACB731E5573BC68744B5E, + 3A6A7BBEB5E04AE75D24BAF6, ); name = "audio_cd"; sourceTree = ""; }; + 430E88C34F92934EE7ABBD27 = {isa = PBXGroup; children = ( 8FFD0EFC41EDD85E9A497181, ABCB715245090A15092108D5, 21D337F16EF17A19AAEBF0C1, @@ -1080,22 +1376,13 @@ 0179C530BA4B4B8215461D5B, 4D57626C71E0A81969B64FFD, D6AAFDF09C8BA44829B73655, ); name = "audio_io"; sourceTree = ""; }; - 246D4BBDD8FD3B0A2F39796B = {isa = PBXGroup; children = ( + A0E025176474A5E5AC06DD8B = {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 = ( + 7113DE35AC9743F21767D935 = {isa = PBXGroup; children = ( 188B5E5033CC3CFBAAE2768F, 9A097CC9A7C64CB8958F89B8, 0C68BAE8F95098A8AD14F2A0, @@ -1115,31 +1402,169 @@ 0BEC77B5C0B5DCE51EE24DA7, 1E04D35C79B38C5D68A3575C, CA6A796A330E12E920650F7A, ); name = native; sourceTree = ""; }; + 642F5D98DB0665E526F72F60 = {isa = PBXGroup; children = ( + F227EACE776B1233B6F7D6B3, + 1E1776E7A0C4558787330B29, + 52CEDC13A7802C7CD55F01A5, + 168A5985B944FEED6C297748, ); name = sources; sourceTree = ""; }; 562492315D562AD0AE406168 = {isa = PBXGroup; children = ( - D0B7516EBC78D0D616A2DB7F, - 246D4BBDD8FD3B0A2F39796B, - 227B48DC433DC1D47DC89AB2, - 99BAB299995EAA64E2DAA98D, - 0EBB44DCB98DB3E8271D88D2, - 7842B474F3C7C353DED282A6, + 00D6AC67D8E1FB986E1A1A79, + 430E88C34F92934EE7ABBD27, + A0E025176474A5E5AC06DD8B, + 7113DE35AC9743F21767D935, + 642F5D98DB0665E526F72F60, + 8AFE1B1EED70BCB73F428DC6, + 1DF50BA803474E15526C95B2, + 9B3F11DD2E09FC8F63555D30, 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 = ( + 65B1B5F4AD7D76024E8F8481 = {isa = PBXGroup; children = ( + 879703909BB47FA03223BA92, + 5532406796823FC4FB6ADC39, + AB5312715C1DB0354766046E, + 80F97CA73D86B5A0CC6E14ED, + 2BB2DFAFB47D10D48F9C620B, + 143920F3868145744E3562ED, + BAC63B00905C8572FEF8B079, + 7DE480F1F93D106456A25698, + CDFC623FC9411F6FD83B67DA, + B48AAE94AC8C9C854B2A28A4, + 6272AEAB5238A07052F34A9F, + 5893832AF1B7AE432FB2F071, + C2953C39BDF0A5CB5E1EF9ED, + 4690264FD0584917EA606BE0, + 534336DBE61F1AC6D20C252C, + 2D49B17C145919667445D772, ); name = private; sourceTree = ""; }; + 4DBD3DA1FE75CD598110EE55 = {isa = PBXGroup; children = ( + 69E21597B0CB8786A13C5281, + C496493599E7130B9601685E, + 79AC1A5B1BD9672F7B6DB092, ); name = protected; sourceTree = ""; }; + 3C4251228C714315E58D5A3D = {isa = PBXGroup; children = ( + 65B1B5F4AD7D76024E8F8481, + 4DBD3DA1FE75CD598110EE55, ); name = include; sourceTree = ""; }; + 77F9EED8319604FCCF6A870E = {isa = PBXGroup; children = ( + 3C4251228C714315E58D5A3D, + CE3C31B8417F5CC427754036, + 6B193DC61D7B89A52C67F669, + 0F540BBBEDE8D629715C81F1, + D73E8206715E75C55D8589D5, + 6856A4081DC0F24798365EB4, + 72894F165E39B107CAB8596C, + 916252B57E4C03318298D255, + 61D6E0CAFF82FFBEAAD78809, + 366D4ADE01A2B4B6E0047A34, + 622EA3BDC34FF84E5BFA10F9, + 1F09D939608916235239733F, + 3B33655DBCDF0EBE9458A249, + 348E1FB9410C459A1B7730A1, + 39C85A58AD999A0447D36AE6, + 6FFEB7A8D3C2288A63866E8B, ); name = libFLAC; sourceTree = ""; }; + 9BE8B9FBB1B3529417E24749 = {isa = PBXGroup; children = ( + 77F9EED8319604FCCF6A870E, + BDBAC143A0BA61513E3B9EAD, + 80567F678EF6F4724E16897F, + B2B3A2CFFDA8511B7F4E320F, + 9ADB8157131A880BF845C2D9, + 48018935A0A548CB5C478632, + 05DAD35C2005D6AB46006801, + 890E34C92BEB623F2194DF31, + 46BF351143B8DAE509C4C38A, + B46263C4331CAB23F792777E, + 0346193D807AFF03F6533022, + 7CD88A68919CB19564B5A6DC, + 748CDFA47D66DBC2617DDBFC, + 96A18891E8721106BFC89A8F, + FF337B571E2C4B7FDF126023, ); name = flac; sourceTree = ""; }; + DF9B92326324E3EAF5E299AE = {isa = PBXGroup; children = ( + BAE3E7A820BDA399DBA52AE0, + EB599A7A91B807F0551B7593, ); name = coupled; sourceTree = ""; }; + FCAB9A83ACCBBE1619845A55 = {isa = PBXGroup; children = ( + F90E2EE4F82352288575F5E0, ); name = floor; sourceTree = ""; }; + 6C1021AFF4828F6AD1163452 = {isa = PBXGroup; children = ( + C735057EA465C4B68BA7337C, ); name = uncoupled; sourceTree = ""; }; + 60FEC9829207C835D4DF0078 = {isa = PBXGroup; children = ( + DF9B92326324E3EAF5E299AE, + FCAB9A83ACCBBE1619845A55, + 6C1021AFF4828F6AD1163452, ); name = books; sourceTree = ""; }; + AB2913607573271149A3EEE3 = {isa = PBXGroup; children = ( + DED1490B782B60C44B11109C, + 4B77F90DC629E357410F2EFE, + 54A2AD39C0C739C9880E35B3, + A5A9CC9E63CC555E518C2A6F, + C83B8AC79590CB5FBF6CEDB9, + 939839047075C54A25A4B9B4, + 9246190762536EB63E72AEC8, + 46ABC4052D5B1B12083F2D4D, + B400AED340E78980FAFC198D, + C740C7CB41D208930B0E8A8F, + 9F919072361E4AE546AC455B, + 4DDA94786D3A4F9643E00112, + 38E66A7E2DEF243C78C689DA, + B319F4F8A0C63C8337786949, + E49DA929A7AEDF2B83E030E2, + 12E2781A912A01B5CF935981, + 0AE4F25A556234211F97005E, + 9BFECF163C5741A87F8370C2, + 3BE73AFB756A094D458CC695, ); name = modes; sourceTree = ""; }; + 7CF9EC363ECEA472BF937628 = {isa = PBXGroup; children = ( + 60FEC9829207C835D4DF0078, + AB2913607573271149A3EEE3, + CD3776D06208E2AEE4F3D927, + 4056E76374667099C88D8C5D, + C935074D8652CD3EE28F7A8D, + 87729534EFFF2AE146721FB7, + ED0D81D38B5A24D9BC34D384, + A67A07AC463F106BEB763964, + 2C28905304D48804E791B023, + A9A499C3479929EADF17FD0E, + 6388C208FE889EA91851DD99, + 38C41D6ECD6B0821752F9237, + 22A6CAB4509BBB38B044DD8D, + C4B71B975B9E6D0ED9D13F01, + E73ADAA8E499300C56D3CD0B, + 63F1E4B74A4286F46DD77F46, + 2EDB6DE2222AD75F6B60E519, + 93DD697211621719FC8700C5, + FB32CACD269DA1AC537A2047, + 658E485FF863DBC21870F356, + F48995AE3469208C843528E8, + 5CC1FF06EC0310E6512C20D5, + CC46E2A9F41F15AE18A452D2, + E0077647EEEF68EBFDF8F9E2, + 916BD52E82D5F69CEAAD9C0E, + 93E4BE7F978EB105FC919AC2, + A98614BFCCAAC7FF61907081, + F0E927F230180C28CFB91C99, + 2F8A8C7F4BAFACA9F87F1B2D, + 9502A245634630F327DB7BDF, + 8D858FDCDF424DEBC5771FF3, + 9F32F1A0F284E7F124F4CAA9, + 52A34E3AD81C71587925D103, + 3E6923B18B248C0A0506D626, + 84D038085E4A099C37D9A2AB, + FF9A239B2BE69DCB4CA5CB56, + F930736F0DED8C0C5D61B4E4, + CDDD10FB58C695719A664666, + D451A0D49BEF91C69A38B8D6, + 29E161596399FC43BD54CE59, + 18D65A3CC5BEBD6F1AFB0CD1, + 07C6E77243A6F4730B589CA0, + 151280E997BFDD7C7CA9F180, ); name = lib; sourceTree = ""; }; + 66CB94F99AD19F47D82344C4 = {isa = PBXGroup; children = ( + 7CF9EC363ECEA472BF937628, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + 731259A200D987586349DA3F = {isa = PBXGroup; children = ( + 66CB94F99AD19F47D82344C4, + 4FC82A4EB65948C925CC7248, + 0885C2726B2DE12A47547390, + 71284E40BAF218D78B8A88D9, + A3FF50EFE17D8634A9A0A6EC, + 4685C8526885369931054BC1, + 02113C4685CB8342A26F60EE, + 5279C4962DF56C537826FB7F, + CECEFC4272274BAD8AEFCA1F, + 2364D8B6DBA3B1974ED202E9, ); name = oggvorbis; sourceTree = ""; }; + 24D95500A234D89D76654529 = {isa = PBXGroup; children = ( + 9BE8B9FBB1B3529417E24749, + 731259A200D987586349DA3F, 74F2DCF770F5C64372FD4247, B45645B3B2E19FB1D72B91B6, 3804B5F8CBFB5862A5EFAADE, @@ -1158,34 +1583,109 @@ 8E6F287CAEE4C6BA50E8E390, D7A2C53BADFE9FFDED204B6E, 6B5564F5E6A5B70B890C146D, ); name = codecs; sourceTree = ""; }; - 0089310BEBE29A912884F85D = {isa = PBXGroup; children = ( + 4848AD10052FB67BFBEEB054 = {isa = PBXGroup; children = ( + B0381BEAE259ABDDE18A64B0, + 32080C8AC923C34CCE673F1F, + F6CA6BC81FCC918A9BA798CC, + 3B11B8A53BCDAD5101C491EA, + 04FBE8A67D1A67342BC49632, + 97B6D6C6FABF547674BD0F19, + DC4D4D24B977FC378EBED464, + F79C97D63C8C542CFEB404DB, + 7DC4334C7DA62856B8E70B25, + 1345DCB37CEF3DCB146FE70F, + 8EFD2A73D73BDF36408CBD49, + BB1148DE7477E7B58ABD2B95, + A52038A2E61AB03CF55A3B0F, + 65BB069F659BEBCD3B62519E, + 19CBA415FA9D6E3779DBEDB5, ); name = format; sourceTree = ""; }; + C63C02E7CE9264DEF3751183 = {isa = PBXGroup; children = ( 328B584F47D2905BF82B8161, 1588973F0A055D4CF5D44823, ); name = sampler; sourceTree = ""; }; E399B766D2BCC53A0239F287 = {isa = PBXGroup; children = ( - 809E0731937121B02DE46FE9, - 974BC61BADD9B29A454C62AF, - 0089310BEBE29A912884F85D, - 20881BC337B715DEC96E7976, + 24D95500A234D89D76654529, + 4848AD10052FB67BFBEEB054, + C63C02E7CE9264DEF3751183, + AA63C416C56F4BCE7568F878, + 2AA92DC1171DAF0BA4BB0E63, + 0687D10EFBEEEC129BC807D3, 2AA92DC1171DAF0BA4BB0E63, ); name = "juce_audio_formats"; sourceTree = ""; }; + B663729F88A22F9325C3C9D0 = {isa = PBXGroup; children = ( + 1BAAB47A9C5B1D76D28FA282, ); name = AAX; sourceTree = ""; }; + 35F768B6427149AF0129BB8C = {isa = PBXGroup; children = ( + 3AA0960DF09414DBA0A2255B, + 0412BE6FCEE68B523D425F12, + B57C6D6FA69476C82B57DD39, + AABC1F4E7D9DA3C6B6DC0F05, + 611DEF1E4DAB7B24E8C5611D, + 95FF785BAEC4F2799A75D2FF, + F24E7F4B0768DC17D1BABCB1, + E0657C5A5A08F4B5BE55034A, + D3EAD5865814235C291DFD10, + 5DAA9288D1FC19812E6ABA3D, + 2051F23DC1B2A76D3B110616, + DA55C1BFE4669E2CFCEC33E5, + 31E15E7A0FBD027D83A28DFF, + 602160A9E30926E16312E2EB, + E64AD919036A2C632635B703, + E42198F571F1BB1C5203F3D2, + 47C94F4AB75C13EA66850964, + B6394C38B7A283DE86213FAE, + F40DAB16B195FF12CF16CE92, + AFE00126A5FEF419332CD2B9, + 91CCF5990EBC61D93A4F8689, + E68AA2F470990C226356C4CC, + B0830A0FB9420D850553D895, + EB38777DCA28E40FF364EAE1, + BC079B78AD30B08C2E95CBF4, + CE7C895E83A93073A3B83AE3, + 27F4717476D5073850BF7426, + 064FF15ECF126E6B2F8D4DEC, + 6642E1E90C46953009CDD972, + F418AA37611C166268EF19D4, + 0D4E3861B5EE21765BDEE2A3, + 72A8E09F832B7E68C5041EEB, + 28FD98C78FE1E918553D4C3D, + 57355833C251D222ADCB9801, + 29F2C783F03A444EEF16FAA4, + C75932C3C28530250E06EDB3, + C96920F5B54C7A7178ABBAC7, + 8E7FD81C9273B6D018862CDB, + 32B418F44A02F788ABE67D93, + D4BF20AFD2D82669C07281A8, + 87DBD7450AE0FDD762712620, + 21FB57B78358CC1B1221C306, + 3AA5D4AF03A0689BF8385319, + BDDDAFA8596A5AD64C8CCCCA, + A5479787577EB56F20ECF48F, + AC4612F7E064ECEC2E95B129, + E9D3D54CE1A6F75934ACB0F6, + BD443A9D110E97DAB8EBB131, + E521DD6592FA0F7828161360, + BDCEF54A071CB2F520C645E4, + 134D4761D5DEAA7A2212D535, + 12F79CEE2A4A576C39AAE224, + A8BA67A9567A51069D275EBB, + 03B9D12015779EBEBBC4F240, + 1CF9C794D7A955EA89D8B5CB, + 49386674C08BAD7864966166, ); name = CoreAudioUtilityClasses; sourceTree = ""; }; E96D0837CDD1CE8B768E4077 = {isa = PBXGroup; children = ( - EE149F9075819C0132879D4C, ); name = AU; sourceTree = ""; }; - 4E83A3689ABB09F285F6FB2C = {isa = PBXGroup; children = ( + 35F768B6427149AF0129BB8C, + 3F16A54F45ED278001F4CA09, + EE149F9075819C0132879D4C, + 833921AD05E4BAF484FC7749, ); name = AU; sourceTree = ""; }; + B002DD058A40E158192BAEE5 = {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 = ( + 17EC828C9226E13D4EF03E85, + 1D4AFBEC703C6F373B292D9A, ); name = RTAS; sourceTree = ""; }; + 69EEEA6D294205148B1E268A = {isa = PBXGroup; children = ( + 12D74EEE2F7F5D8E17C746EA, + A13CE6DC3E31158D49337C8F, ); name = Standalone; sourceTree = ""; }; + 18E6563C4672B4D77223D259 = {isa = PBXGroup; children = ( 7B870EE6D43B984CADE69C28, 94AA9AF4939F914AD00CEE1F, 58CEA1474B2E77B7287D735B, @@ -1195,16 +1695,55 @@ 841B6783475386C5471CA039, 8C0D1A1E000E47D09B771963, 7E588E8934AFA6EA5C58C133, ); name = utility; sourceTree = ""; }; + 0EB0BD7272CEB2232D7F7BD2 = {isa = PBXGroup; children = ( + 1E496F7BF3B3C59E5ECACCDE, + 8EB324480D60B3E3A81541E5, ); name = VST; sourceTree = ""; }; + DBCC2B2AF371A45272E6FA21 = {isa = PBXGroup; children = ( + 6CEFF94C7852DB3BFA5E29EB, ); name = VST3; sourceTree = ""; }; 09C66663E0BF7CD43C73C7E6 = {isa = PBXGroup; children = ( + B663729F88A22F9325C3C9D0, E96D0837CDD1CE8B768E4077, - 4E83A3689ABB09F285F6FB2C, - D2B28401B2AF968A31121042, - 7C26271A9DCC07B765B85F37, - 2BA0AE934C290AE78BF7B5F4, - B6DB58CA96E5A337FBF7C778, - 76781D53929F0C91E6FA34A9, + B002DD058A40E158192BAEE5, + 69EEEA6D294205148B1E268A, + 18E6563C4672B4D77223D259, + 0EB0BD7272CEB2232D7F7BD2, + DBCC2B2AF371A45272E6FA21, + E65E231978B796AA7868DC4A, + BB2CD1B0323135818D0AB47F, + 2A6E2BC2F602472C0FC70E68, + CB93B445C37845467DFFA948, + D79CAC82B4607BE7DEED1045, + DFB0C0515543105C1C262D1F, + 7D0E87AC59D1F9B47E713CD2, + 79491394ED1AB40D68F11E13, + 0D3CE42CCC38B0098E619148, + F2467CC22E6A9F58BF69B89B, + 4CD51FE9C1157452F5DDDF68, + 31BFCE3ECD2FE35DB9A16D09, + 53220B3B994BD522CFD4564B, + D60B014361420DCB106068DD, + 69AA2614A300DC55D0C7521B, + 9D6E760A374151269551D1D8, + 1DEEFB2E1913BF2BEBAE3B5C, E65E231978B796AA7868DC4A, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; - 57F611C99ED4CDF784F6A28F = {isa = PBXGroup; children = ( + 58537DEF112AF075DF6D8E9C = {isa = PBXGroup; children = ( + 21764164C5B41690F1BC3861, + 87BE12FCBC4C554059FA344F, + 9120B03E05E369128056F1F0, + 37CF7FCCB543B5B240957BCD, ); name = format; sourceTree = ""; }; + 7F50BB46454730427358049B = {isa = PBXGroup; children = ( + 104CC5F094E0B3D1D3055D04, + A9B46A5FF98D7B9DF8598C12, + C19323831CE86566D60C725E, + 9A6686BC6FC38F6D1917D7C7, + 807E89E43737DE8DB65A4179, + 6A72E46DBDCFAD6F7039E739, + F6AE333028FC864D4653A7B5, + 070E3EFE91BE8407EE1EBD8C, + A9C466FBA4FCF6484BCF86A2, + 6501BB1AAFD5B3DC4A783F85, + CC04A3CE3003C0A0AB35A7AF, ); name = "format_types"; sourceTree = ""; }; + 17F7701C54B8C8FA480937DF = {isa = PBXGroup; children = ( 1C49A0C6E4032A29D5C05616, BA1BCEDEEAF68692BF1456EC, F2C36FA2223ED743551F79C9, @@ -1221,24 +1760,7 @@ 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 = ( + F8883E3A091B19F88ED0F990 = {isa = PBXGroup; children = ( A122A2AB08B82B5AF1FF4D0A, C3077A9A84263C3B2B230B0D, 1BE2A39FBE87B3DA36C02468, @@ -1255,14 +1777,16 @@ EDCAFA62D6F311A9AEC4B30E, 6AA71F4B531421F7440E7F51, ); name = utilities; sourceTree = ""; }; 21F2BD5969F182FE6DAAD73F = {isa = PBXGroup; children = ( - 57F611C99ED4CDF784F6A28F, - DE2D30F6EDB78DD337828AA7, - 7450EAA187AB6D36E5F6F11B, - B5242639EE449DC3689F0BC5, + 58537DEF112AF075DF6D8E9C, + 7F50BB46454730427358049B, + 17F7701C54B8C8FA480937DF, + F8883E3A091B19F88ED0F990, 61791F090B4BBD0F9D880E7F, - 448D9DAF51E9FDC76DAFD913, + CA8898E7EC2A47F0C3E18D2C, + 19D63B88BE3B2620D7EB8489, + 100EFA05982C05972AC7861B, 19D63B88BE3B2620D7EB8489, ); name = "juce_audio_processors"; sourceTree = ""; }; - 224AA427916F585D0B62D5C4 = {isa = PBXGroup; children = ( + FCEF42B5FEDAC168D01D7A03 = {isa = PBXGroup; children = ( E7A0D2A3AAD8192B65EB0141, 1101AD528ED2238FE265B715, FCEC950D217FEEF2948508C5, @@ -1277,72 +1801,24 @@ C90ACF4B16E6855611566B5D, 04555664F9106966CC7A7C16, 54DD8BD688BB54E3F94A19A3, ); name = gui; sourceTree = ""; }; - 28D4491AD7DF7381B2F1CBF4 = {isa = PBXGroup; children = ( - 745D6A06B95F8E9CAFBB0CC8, - DCB5B59D3F5E1075E42DC5AE, ); name = players; sourceTree = ""; }; - BAE9051FB27E175CB311EE1D = {isa = PBXGroup; children = ( + DDA96B77BB314E0BA8D51F4D = {isa = PBXGroup; children = ( 663CDC4A9E07B34A18A29728, A2D59E253587CE9B51AE237F, B95709CE3D050593127765EB, 4266C9A95DBB52D7785F745A, 763780974CDC5E25D0B33885, ); name = native; sourceTree = ""; }; + CCD74F6FCF50026770A412AE = {isa = PBXGroup; children = ( + 745D6A06B95F8E9CAFBB0CC8, + DCB5B59D3F5E1075E42DC5AE, ); name = players; sourceTree = ""; }; E97FDE56AE740B64914F3C58 = {isa = PBXGroup; children = ( - 224AA427916F585D0B62D5C4, - 28D4491AD7DF7381B2F1CBF4, - BAE9051FB27E175CB311EE1D, - B57D00796D30ECB2DE58035F, + FCEF42B5FEDAC168D01D7A03, + DDA96B77BB314E0BA8D51F4D, + CCD74F6FCF50026770A412AE, + A3F95510DCE3352156FE67E4, + 02730AF84C6233FF32A972D7, + 5C5E3AF3EB9BE171FD53666A, 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, ); 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 = ( + 1FB550411A1752305822D4F4 = {isa = PBXGroup; children = ( F476BAB4502F22EA32E6F92F, 1DBB870CC15ABC104A9AA5C7, 3317E609D23F067C53536AB5, @@ -1364,37 +1840,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 = ( + 6DC3A90AD3564E1B0FDEE96C = {isa = PBXGroup; children = ( 0045658D26F88B490908C99B, D61536C96044EF9D6AC724F7, 00E703C0911F94E5763C536B, @@ -1412,76 +1858,56 @@ 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 = ( + 0C35C9D80D78D1A441698FF9 = {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 = ( + 446BC498BADFA11029D6EF25 = {isa = PBXGroup; children = ( + 02077428792969D94C0A09E0, + 9F6358285E5D9F734FB54D8D, + 210FC90993B49F9206A62F02, + 376742758A9CEDA05995AF51, ); name = logging; sourceTree = ""; }; + 0A413B94267A0392C7DE246F = {isa = PBXGroup; children = ( + 1FBFF2D9043296E1E09DE156, + 09B7DC8014BDE32E84BF1BA9, + 8679C1E8886DA7A3F4DE2B54, + 428A63EBD85C3438EF016787, + 002643D66417E4FFF5CC516A, + 6F3D3E06535036A4B1779FDD, + FC86721DEC71B944CA1E6713, + 266658E487644AA71E02E85E, + DCC99A76773B6C721B867379, + 5EA18059A01A0717DEB3A2B1, ); name = maths; sourceTree = ""; }; + 1F3A3443B3B1E917B46276CB = {isa = PBXGroup; children = ( + 45C2C296C9A745B292F49C65, + EA906B8480C7585912B627B1, + C225F19773D773E87469FBF7, + E17DC39B0FEF7C385323EF82, + 1C7E45B063CBDED867290BE4, + C0BC3E52B08C2805E9509E7E, + 70BA280499987A1D14FCB1A3, + 0703B6BD13EE29BD0422263D, + E04D8B4BAEB817D520C2EF4A, + 86B1672E14AD6F060FF57BB1, + 8BBD921B5A82DB52E6842A1B, + 595ABB3C5072077C8009AB03, + D2724DFF5CF142D5264EE85B, + 9F9AC54CF90FDB770E5FCA03, ); name = memory; sourceTree = ""; }; + 68F4F408A21B616189BDF67B = {isa = PBXGroup; children = ( 92E01BD6F9DD874F968F3CB7, 077868026EE8ADEC275EF534, + 3B249B30B7AFA3BA068B9BF3, + D9382061A19564071706CC32, 63FF6149DFC67E9D00C61FC3, BBECA9EB9DD3C9B6CB04B10A, 7763B76C3E036AC3C028DBAC, ); name = misc; sourceTree = ""; }; - 24F6C91D77E7B317563CF657 = {isa = PBXGroup; children = ( + 76E87BEEB5D776165FF8D2EB = {isa = PBXGroup; children = ( 073544D5D22C9975CC308E48, BF0AB490EC0556BE60CDA25A, 29BA2BABEFBB624A9EEE83F3, A9801DABE20B0BC1A3405EA0, + 20A43273B1F9DC224F9983BF, 383CCB4FB4F70FDE749AFEA0, 3F8F5E0EF93E9B95DD17CFB6, C46535B208CC33B10D010E3F, @@ -1506,68 +1932,183 @@ FB4DDE79084ACB2CDF371625, D566C6446B859B69FC385685, 5AD124D00EAD6A1EB57C8EDF, ); name = native; sourceTree = ""; }; + 855A33093A7C9C4D155EE22C = {isa = PBXGroup; children = ( + 2036975FC5AA528303B4E837, + BD8E1F131237E716EC029375, + 9DDEAA3563BE5304457DBE4B, + 5CC9E5327AB45BC5E12E7C49, + 4CE2C5B8F3B9176330D7E38D, + FB467808D080ECD1FB32E440, + D2B566B69C9046D46EB8289C, + 62421FC040737EACE584486E, + 56BFD67859B81D9E53F5B727, + 489EA9E664A2157AC01C2F94, ); name = network; sourceTree = ""; }; + 62CB59DB3736C01C62A14665 = {isa = PBXGroup; children = ( + 115FCA1C09C15AD7EB4AC87C, + DF693A14980C1E9D122E98F2, + C10968CE398AF92E9A5D68C4, + 464FB7FCF24EAA87AE670472, + 8D9F2E08F3381BE4A60F28C4, + 3B22E720E83CBDCC315A038F, + 92A42EEE90DC70E7D922E9C1, + 82D8099FDD46339EF81ADC57, + 657E623AEF2E10271FE918B3, + 4999A3C6B9B1FCE2FA75E26B, + EFD8E22899758751230A8590, + 9B9120565A012610018CC7DE, + CD5EC6CF2615599D8330BDC8, + B287E8FA86ED37F618F0ABC2, + B8B760CB559864834CC9AB32, ); name = streams; sourceTree = ""; }; + BAD963A79F412901DEF9205A = {isa = PBXGroup; children = ( + 87FA97D4268B5DAE05BAD596, + 1CC63825EF38EC63EE2196E1, + 43D4EC44A89A4A7399D16ECD, + 800FF1496E97C4019E9B8B6B, + 2582AB72BF5CE5284C1D2889, + C6D4B0865226D31054D89B47, ); name = system; sourceTree = ""; }; + E8D96CEA062FC51CB1E705BC = {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 = ""; }; + A7705CEB78B0473A7CBE25BC = {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 = ""; }; + 3DA9975B49AD89D2D2DB13D4 = {isa = PBXGroup; children = ( + 35AFE1E124E99572CBA1F46D, + 34E85C705D44CE5A96255783, + 1BA3CC8191E979B1E7A43B88, + 0239743632D39327CB0D41D5, + 33834CE0CBF515B3B0ABEFBE, + F1AEABA4328F3356EB9104CC, ); name = time; sourceTree = ""; }; + 8FA515DFF25A7D3781186EA1 = {isa = PBXGroup; children = ( + 3D33773DB5397CBBF4A8C18F, + D946B5ADFE4FBE4D9EEFD068, ); name = "unit_tests"; sourceTree = ""; }; + DDC51E0F527FF508A9F71AAA = {isa = PBXGroup; children = ( + 7D5CFA5B4C64986B875C71DC, + CCDF047576A0F3C39645844E, + 82C8DD36FD45CF3CC8BC2819, + 5A8AD212201DBF31CCA7ECBB, ); name = xml; sourceTree = ""; }; + 73E43BFB7A6096F549984932 = {isa = PBXGroup; children = ( + E1FB4609287096AA3BE3ACEC, + 9DFC17B26B7710304214755C, + 01D0E6639479CCC5FA55290D, + 7C522F2A906541D855E966A3, + FF7C044E1093E6C8D59099CC, + 4B56EFD49A1BC1A0263A72B6, + B2EB9D4F58D87C74CFB591F3, + 8DEACF4354FDF21541326369, + DB65CCEA9A7DA9E8E4653A07, + 535A9A777A237C6C85F19B5D, + 2DADAECFF829C60A89958C2D, + C1ECD278F620E6BE8FA7CB94, + ACB797B8DBF39C4AD3D2C730, + 301116E9FF1DC47F02389865, + 98C9ADBF07E1385BEECBC521, + 92CB8E604FD2DA9769E4E0F3, + 6AC15CDD5113EE264A84815B, + BAC8D415D2BE640836021D6B, + AC489AEA0A0A203A76BD5C77, + FCB65305D584DE81ADFE7F55, + 7E60373BD72C404972406D78, + E0347FFDB85092BBC6D89F6B, ); name = zlib; sourceTree = ""; }; + 6B08281048DC4A2F8CF4CEC2 = {isa = PBXGroup; children = ( + 73E43BFB7A6096F549984932, + 2FBEA375F39FFA44911F043B, + 7AC8B40A09251FDC9D75053A, + C07E0C3892EB120D00DA416A, + DAB8939B0462BAD66A91F111, + 705AC662E310AC822FDEA734, + 054E5979D5991DBAAB798EB0, ); name = zip; sourceTree = ""; }; C1EE14677285B18D9A5E400E = {isa = PBXGroup; children = ( - 5AFB7C8CB5C472738A01831A, - 41AB523E67C8F9D07AEC9388, - 4EA6FCA85C8A43A74F1ADAC4, - 94AD627E1726C9B93F8269D8, - E802C40FF09B6C13F175108C, - 3831C06F86BF5974C671A05B, - 060B52F876AE1DDEFE19D587, - 497093904341F27E7F81F39C, - 9A18620EAD5C6C023D1142DD, - F316C9E586A50AE7655F35C5, - E47A9EE180065B1B5071ED03, - 16D6E39183DA447C9C3AC340, - 12023CB03FD3DF37ED482394, - 608565DC984608E52AF79517, - 9A4514936139B26DAE932011, - 2C28CF5060F79F4D6645A8AD, - 24F6C91D77E7B317563CF657, - 8EBE02D4EB0AEDC03E88FBC4, + 1FB550411A1752305822D4F4, + 6DC3A90AD3564E1B0FDEE96C, + 0C35C9D80D78D1A441698FF9, + 446BC498BADFA11029D6EF25, + 0A413B94267A0392C7DE246F, + 1F3A3443B3B1E917B46276CB, + 68F4F408A21B616189BDF67B, + 76E87BEEB5D776165FF8D2EB, + 855A33093A7C9C4D155EE22C, + 62CB59DB3736C01C62A14665, + BAD963A79F412901DEF9205A, + E8D96CEA062FC51CB1E705BC, + A7705CEB78B0473A7CBE25BC, + 3DA9975B49AD89D2D2DB13D4, + 8FA515DFF25A7D3781186EA1, + DDC51E0F527FF508A9F71AAA, + 6B08281048DC4A2F8CF4CEC2, + 17B73F7F08C67BFB1610EC6F, + 3CF3DD56A6406D15F1F52FAD, + B829B4BAE71C6F09169542B8, 3CF3DD56A6406D15F1F52FAD, ); name = "juce_core"; sourceTree = ""; }; - D5F3F85784B179A9C11D3478 = {isa = PBXGroup; children = ( + C40D77446284BAE58737DEC7 = {isa = PBXGroup; children = ( + D60BFFB83E29FDE033AE4037, + 55607B89BB15CE19B6E397E2, + 7B2A0D30289D548DCF3AC985, + 04F7098D328A593B1EC368F4, ); name = "app_properties"; sourceTree = ""; }; + C85B0F25F0267986AC8E3D19 = {isa = PBXGroup; children = ( + FBB1DA0C78CE77083FDC9998, + 00A45583A3FEF005232FE1BE, + 8C1A068D665727680931F85C, ); name = undomanager; sourceTree = ""; }; + D1060E7F5AF1D10FB14942D0 = {isa = PBXGroup; children = ( + 507F735FFE45FCB10B432A4B, + 943031A1FB844F062CA550C7, 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, - 41E9EB0F61F4528C22A32D7F, - 497D767657505B952B13D9D7, - 7E1239926CC4A760AE07FF37, + C40D77446284BAE58737DEC7, + C85B0F25F0267986AC8E3D19, + D1060E7F5AF1D10FB14942D0, + DB9F825B53DAD3DD05652523, + EA6921266422F00734EF49B9, + 054C3DE3B2831A3F69BBC8AD, EA6921266422F00734EF49B9, ); name = "juce_data_structures"; sourceTree = ""; }; - 1B4DD0D791A78B82D5FEE6A9 = {isa = PBXGroup; children = ( - F3102DB72C0E15DD22D05E8D, - 322A19A7DAB9F2840598D2E6, - E7EE2DFC483DD254C543EA60, - E8FF8D2FF41B8F165A5BE5AF, - E57F57DB7857820B9FC7BCFF, - 44DF2CBDEE1E27DBF3FFD639, - 4E98A99B73F9003D3C8F2B4B, - D88796A40E58D524DE34989B, - CBFB91131B82AA2F0BDD3EB7, - D6C649F04F03DA0744EA0456, - 88336AF4E2605BF6518D758B, - EC155D21E24BFC61E5205344, - E17D748AFC16FE1A43B4B41B, ); name = messages; sourceTree = ""; }; - 8CD59EDCCDC70063E783C6AD = {isa = PBXGroup; children = ( - 070F39D84506BCDF7C5CBA26, - 9E9B102253DEDFE00673F715, - 070440AAAFFBE88D39492FC4, - 0A398AC4D2124027CD618ED0, ); name = timers; sourceTree = ""; }; - 3C1D04A45AA2A51D5BBEA5F8 = {isa = PBXGroup; children = ( + 00101867BABAF174CD693A5F = {isa = PBXGroup; children = ( 899ACC40FF89BB35307F3BAC, 76D55C11232DE62691A084B6, 090E68CDF051FAE89936CF61, @@ -1583,7 +2124,21 @@ 4010F841656A5089C77590C6, 06F651E38334660DCFCD6D2D, A7A527D783D3B38F455964D4, ); name = interprocess; sourceTree = ""; }; - A31689B591C11B884AB086C9 = {isa = PBXGroup; children = ( + 162C7C420D254846325E3BE7 = {isa = PBXGroup; children = ( + F3102DB72C0E15DD22D05E8D, + 322A19A7DAB9F2840598D2E6, + E7EE2DFC483DD254C543EA60, + E8FF8D2FF41B8F165A5BE5AF, + E57F57DB7857820B9FC7BCFF, + 44DF2CBDEE1E27DBF3FFD639, + 4E98A99B73F9003D3C8F2B4B, + D88796A40E58D524DE34989B, + CBFB91131B82AA2F0BDD3EB7, + D6C649F04F03DA0744EA0456, + 88336AF4E2605BF6518D758B, + EC155D21E24BFC61E5205344, + E17D748AFC16FE1A43B4B41B, ); name = messages; sourceTree = ""; }; + F68135B7E5B8DD4A3021F1E4 = {isa = PBXGroup; children = ( 3C3B97E53D481B74892572D5, 077E39BD4365098B13F2F29B, 8983E39490E8EF99EB09C783, @@ -1592,15 +2147,22 @@ C5ED4BF4E575F3A98F08FADA, 8AEC8C684E53D6E14FC97605, 5C7825FEE1CBF90AC0E3FE84, ); name = native; sourceTree = ""; }; + 00FA99FA71E05FD3519BAA2D = {isa = PBXGroup; children = ( + 070F39D84506BCDF7C5CBA26, + 9E9B102253DEDFE00673F715, + 070440AAAFFBE88D39492FC4, + 0A398AC4D2124027CD618ED0, ); name = timers; sourceTree = ""; }; CFBF4D0CCCCAC57232361ABE = {isa = PBXGroup; children = ( - 1B4DD0D791A78B82D5FEE6A9, - 8CD59EDCCDC70063E783C6AD, - 3C1D04A45AA2A51D5BBEA5F8, + 00101867BABAF174CD693A5F, A8BADCBB07E1A586F1A2798D, - A31689B591C11B884AB086C9, - 0547751961BC7A378D0AD4A1, + 162C7C420D254846325E3BE7, + F68135B7E5B8DD4A3021F1E4, + 00FA99FA71E05FD3519BAA2D, + 46E5C00691E5B08BEED2CC72, + 2ED0AAA25547A92DFAA668F3, + DA325C1329DD36C198920558, 2ED0AAA25547A92DFAA668F3, ); name = "juce_events"; sourceTree = ""; }; - 07D63FE21B0E6CB624B00E8D = {isa = PBXGroup; children = ( + 6479361BDE25C80A1DC36724 = {isa = PBXGroup; children = ( 20E3F95E25915E7F53F37113, 4E7854A2FE5973E713080BEB, C30ACBCDB9F3BFA962B1D467, @@ -1610,7 +2172,7 @@ 30351F38509A67AC97C51072, B5FF7C5554FC26100CB08626, C49525A5A8FD7ECFD3292315, ); name = colour; sourceTree = ""; }; - 54558F9734B478C2D833ECC3 = {isa = PBXGroup; children = ( + 03516856C103F81CD56EFC8A = {isa = PBXGroup; children = ( 7F85C06C86BD056B387ED7A6, DF198098C73EA9C9AF6F1404, 513637A8BE7D94200DCBD1F2, @@ -1618,20 +2180,26 @@ 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 = ""; }; - F77A1A5E3B017845E0F56FAE = {isa = PBXGroup; children = ( + ED4FE35AFC6DAD380E9C1F76 = {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 = ""; }; + 938E012D9B230B89B583ABC7 = {isa = PBXGroup; children = ( 8F0F7BDEF446B02097ACA89A, DFF5523D4F5396F98114B642, 74BD335259545B5C8FAE3942, @@ -1647,30 +2215,105 @@ 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 = ( + EB9DB07D2B7792AB54582CDA = {isa = PBXGroup; children = ( + 603DCBADF87DD38A1A392D30, + 4D69698B19CF9BF4CCB83C94, + D5F0A86C4D96121164FE0C98, + 0AE1992DCAF6AFE16F3C7A78, + 1133C8C57BCB56EE0251D25C, + 5484ACC1742F9FA740314458, + 6CBC48D5F2100765986535E4, + 6713C8F0ADAB2C44417F9792, + C5381CBBA65777EC2FAE5CCE, + AFF5CF65A6BD83D10ACE9849, + 213A65F5910B691DF495F733, + CF4F90256F84167D710EF32E, + E50636DD8DA32211E33E9A43, + 1ED3667E504C1D6272EEB886, + 3DBB0EAB6865142CE1822826, + 0E0C89E8DC37D551087BE0A9, + E4DE2AE764AFF69ACEE303A5, + 69CF7DBC24BCF5B19111968B, + 31B9AD4C86636FCDDADC4583, + E40FF4E8E351E8853B801040, + 551EB50AA3CCA08ABE8CB458, + FD40809E08AF8EC83F22857F, + B355E37DC9527B743312284A, + 457F198AEC6AB38E2D60D34E, + 7A56152AA3A9EAFC3A7A873B, + D43321332F3683C9B72D714E, + B291F4A6B6CC96D63ED9B8AD, + B9F00E2440056545F32EA80E, + A7C8D66431191DD3BA717895, + B8D629B3F1CA3679317C8A97, + 86F68F1AD23E745DD1E51433, + 93E87B5677CF29B3017EB9B5, + 6519B4DC14EC556DA52B889C, + A1372BD24A1AAA1FF6444BE3, + D8986515B9AA9CCB4051689C, + BDAAC3539C137CDDEF894B3C, + E9791EC7421BD93FC6FBA3A4, + 2E86A4611242DCF00E7E800D, + 9A38651C5EA6E43AA24E320A, + ABA05DEAECDFC377AD6ED759, + E957AF9AF9A2B602EA797C74, + 71B28228C3327C47748E742A, + 52910366DFBBEE849B726F87, + 92C9C013503169E28991B518, + A213F12DFAEB4BB4D07F7352, + BB0AAC45F39AC85ADEE941DB, + 70833A7D4499DDCFA183E14B, + 2F962643C0166F7EDD6DD3BC, + 654755F29EA175A3A9420B57, + AFACD6F1962239C42123364A, + 3B39F9E8B25DC0F84F385DED, + 2E9D4EBD8155768AFA520362, + 40850010F31BD88567CB1493, + 192560E05D3E5D5FF74145B2, + 22DEA1F65607C3CE25EE49FD, + FC24EF5B238B433CE2FE6D9F, + 88F41320367D5142ADED2EFE, + CC55397A067B0D0EA06B12F4, + 713843608E1DF5E4583C881A, + 9BCC7F5514DBE63A87B87789, ); name = jpglib; sourceTree = ""; }; + E0371E950F6A792FBFB84208 = {isa = PBXGroup; children = ( + 754501402D69FFA904F3F745, + 435D2BFF50EE3A5E6A0E094F, + 07C34ADD8CE97E4606E55EFA, + 65ECEA6EC084C7CE0F4A7C9A, + 8BC99750BA99AC45DBCB78A4, + FFEF396536FBC236D37BD621, + FD6A2D61A23361F7C6B9CABE, + 415DF31AA0C4174513E9A18E, + 85D43463C49C4D52CF2DF657, + 4A2766D6D2E1CEB0B906CF65, + C2CB6F51C1678BAA7A7F464E, + 6E27B8AA795037547000F75F, + 27A7CBF233832BC2FF761729, + E94DC50143B8D9E89DA2223D, + 1FD65C14467D05E21734AE72, + 703F13F4EFEA7E1E3D38CC25, + 755A9E336DFC786BAC45C8F2, + 94CCB680C3BA7F733DDD060F, + 78A4EFE0FCA98D7898349078, + 6DBB034012D6034B7E6E5D4D, + EA6B6A864986C11717B593A1, ); name = pnglib; sourceTree = ""; }; + 877D9E7226618AA6926D9B40 = {isa = PBXGroup; children = ( + EB9DB07D2B7792AB54582CDA, + E0371E950F6A792FBFB84208, + DBFEFB5A6C80C7BA4F30E668, + 10A49DD74F3FB9E69FC989B9, + 1F60FF59922FECB5CD789D48, ); name = "image_formats"; sourceTree = ""; }; + 52F0292F5A6539A29A8FBA20 = {isa = PBXGroup; children = ( + 7FC7CEB38599EFE7846E462B, + D79B9A384D018B252B6C4D6B, + 137EEC7324A15E7724AEB4C7, + B8B25605AB1A04A8AE545227, + 6DD7B1CA8F5F2857F2210D04, + 2AA4939A70E1E1D6B907DA87, + 09E3A8B261601635DF9D9B44, + 8EEBF8E96D19ED9C4EE63BB4, ); name = images; sourceTree = ""; }; + 45641110A4811FE3ED5EACB7 = {isa = PBXGroup; children = ( EE1708227B48B586BE17D06B, F596A54E653F32C4C3A41F5B, 322DE76903F886C1711EB272, @@ -1684,19 +2327,57 @@ 7F38C9D398788039FD8CAF23, D722F49E225A9A47AA348628, 78959840E3EF9DC06998BB42, ); name = native; sourceTree = ""; }; + B93B5427C5214A7B96EBCDFB = {isa = PBXGroup; children = ( + 177932A52C416930EAB2A2F4, + EDD6B4608C8E4C7E7581489D, + E95E53ABEA2884BA27EF0545, ); name = placement; sourceTree = ""; }; F0F89564A3784EB052CEE01B = {isa = PBXGroup; children = ( - 07D63FE21B0E6CB624B00E8D, - 54558F9734B478C2D833ECC3, - B6C2C6FE733DB9A4ED6BA1B7, - 064153B1CD3249DC6EF32E8D, - F77A1A5E3B017845E0F56FAE, - 81AE068FB11A7B2265764318, - A6DB78E18DD0399D8FA6881E, - 28900D9BBE80F47735F2D6F4, - BBE6C58C596F072829018ADA, - 79B3B7E2DD82AB16C411D9E0, + 6479361BDE25C80A1DC36724, + 03516856C103F81CD56EFC8A, + ED4FE35AFC6DAD380E9C1F76, + 5C8E3A7E365C3754FB88623A, + 938E012D9B230B89B583ABC7, + 877D9E7226618AA6926D9B40, + 52F0292F5A6539A29A8FBA20, + 45641110A4811FE3ED5EACB7, + B93B5427C5214A7B96EBCDFB, + 9987A96DF622BD3DF00FCE3A, + E9B20812DF15AC01D00FAFF5, + 87755AF25BF68EE19666A135, E9B20812DF15AC01D00FAFF5, ); name = "juce_graphics"; sourceTree = ""; }; - 644A6B4EE1701D8441A41B49 = {isa = PBXGroup; children = ( + 5BD1CDA5E4D279FCA0634C1D = {isa = PBXGroup; children = ( + 0F7BF61F0D28902628F73968, + 478CC6FC61862445DD8B872E, ); name = application; sourceTree = ""; }; + E887D1752AC66D572CC51A05 = {isa = PBXGroup; children = ( + 4441681B28DD04DF6201CC75, + 2420BA1657C0FC81F6AF803D, + 6F80E669C5CD62B01B4047A0, + E0461DEB1F6D01A42E288646, + 064242FFCFB6FA653F5E3D3E, + 0D06541766ED7D5D99E403C8, + A9133BF4A4E9DF3268BE0A5F, + C5334A5D1AB867C5C4631D37, + 932A5DF40DA3D1F382EEA349, + 768C56D0602DC6736813A6DF, + 8E215890DCA3641D4B8FCE6A, + D6274E461525C6F6FB84B336, + 42C7FC165C3DA0FD260236A3, + 13002343E9B09539177167FA, + 30789700DDE033623673B969, + 85DCBF0D90C84C20F20FB7F9, + 41EE7512746D88ACB108362B, + 7C8781DF19D1E9F5F4383C8B, ); name = buttons; sourceTree = ""; }; + 6DA5D9C694A6D941CFB28BFC = {isa = PBXGroup; children = ( + EC704EDAD7A2015D623B0429, + CEA2F28E0A91B1710B04AE3E, + 2E57B46569DAD42A3E53460E, + 90E25335542765D9B688CD6B, + 80D58EDB557D5702F6D8749F, + 9E6559DEE37E348F13A65CBC, + 3FE7F76D4D023295BCEC0E65, + 4FF264791CA989D4CFD083F3, + 439A1BF54BCAFF06F77DC0E4, ); name = commands; sourceTree = ""; }; + 328180BBD0AC067313A061E1 = {isa = PBXGroup; children = ( DC1620808CB348FA6A061F49, 9941F313443F3B72CA820E71, A7EE73FF3A5962BBF41DC2AB, @@ -1706,28 +2387,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 = ( + 4A0496F0ED0D0709D03449D4 = {isa = PBXGroup; children = ( + 5AEBF415658567204BFD7A92, + 246055D9D81E3DDFEFD910F0, + 633C5ABF1EDE515806729C83, + 0ED9A27A7166BC016CB8909C, + AAEC41BFA57E45EBF94ED3C1, + 16628E0BBD62134897747ED4, + 5EB55A7484EFAF1FE8C5BADD, + 371CABFCE28A273E9150F537, + EC3458DB0C34F89665D1EF76, + 508D1DF2D93C6F05EE75EDE8, + 866BB03463EC1AA36B51BC0F, + C07F13289814910220A8A586, + AB10327C69AAE4AACCFC81EB, + EC401439D56540696500FB09, + CF5FA6C569EF0D70C967EE90, ); name = drawables; 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 = ""; }; + F7EF49C5A5F6DE4FF1B730E6 = {isa = PBXGroup; children = ( D120181C3218F30A0102BC17, 84EE990E06D02BEBDBEBE649, 1460DF86692852CBB0840F87, @@ -1741,62 +2440,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 = ( + E0F304430381FA70197A64CC = {isa = PBXGroup; children = ( 50832A0FAB3B736F1AD5E693, 81906F76BB6143A9C782891B, DD34B7EEFCC8C96D4DEA420A, @@ -1833,72 +2477,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 = ( + 60C9E862FC4487FA0ABF978C = {isa = PBXGroup; children = ( E0EE8480E1438F1521ABC0DB, DFF33C1951C79E101D905003, 2CAFB89BC62E47429CC04AEA, @@ -1907,48 +2486,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 = ( + 0042023AAA5133AD42F29C8C = {isa = PBXGroup; children = ( + 5585BCF8B17AD03D9FB4A32A, + C8741583F363ECB8C2010509, + E9E8E69C63535541E37F44FC, + 67C28D93FE8831496493B095, + 4D669F9349F7061E90B1DCDC, + 7F4472B4691BF3FED1C2025C, ); name = menus; sourceTree = ""; }; + DA8C9D2B024F1DCB2E9CA06D = {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 = ""; }; + 48E17B651007615D7D1AA2A1 = {isa = PBXGroup; children = ( 1B87D0FA74084D19A8A8E3DB, 39D0873583E797FEA1F40BBD, 7CBA5F2277845FDC3AABFEAD, @@ -1965,27 +2536,107 @@ A7FD436305E19DF69A7AF446, 0977400450E451AD1BE80E77, 357DC2A5FF7C176B270F1D7B, ); name = native; sourceTree = ""; }; + 0226CC46FB271B042761B690 = {isa = PBXGroup; children = ( + 468EF044700E657B00BE60BD, + 0B082F614BA025B646A44D8F, + 33D9F6083C574F0F03AA6A86, + 3AD4F35998A668F9C4D585B2, + E3A38E6B33797818F62CD77E, + 90C8C63216FF142E313A5220, + C3A57D29C59006AF39034062, + B1426528BB892D5736D80404, + E398182BD8543E6B845F2255, + 996E86CC90360798D87EE1A0, + 91EF9501D2E0094B3012D978, + 3C87C89A9AAABF9B13E67EFC, + FE0B9D0C5E9B31DF6B7E3616, + F4CF735CF65D41BF28D3030A, ); name = positioning; sourceTree = ""; }; + 2D8719715778219EC775B848 = {isa = PBXGroup; children = ( + DE63AC14FAFAA64733A5CB77, + 5B1CD485D0BA99FEA4B09BC6, + BBBE74C4A9FA85B5F29FF346, + ED3F8B6AC260A35F53658415, + FB59A9B2D3147F5073F48CC2, + 121FB46FF3426D00B9776611, + 1519F1DAEF1445EEBC1D75DD, + C4E99D3E7C558C9F14AFBB8E, + 31ACD81C791C0D6A394B7602, + E695834F7C3FC81BB41044C0, + 71BDE6A5BAEA81ACAE4CDC28, + 843BE235C212ED17429DE2D4, + 37B2EF3084A6002873814D0B, + 470E16E41C4A2F1ADADAFE52, ); name = properties; sourceTree = ""; }; + B25267AFE5AFC300979F39F0 = {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 = ""; }; + 4FEF2CC8B209A434F5D3CD1B = {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, + 5BD1CDA5E4D279FCA0634C1D, + E887D1752AC66D572CC51A05, + 6DA5D9C694A6D941CFB28BFC, + 328180BBD0AC067313A061E1, + 4A0496F0ED0D0709D03449D4, 16B033C5A8508A526D64FD94, - EFB97481DD9BF01F6B887D83, - 24A3B249A09039EED13DA635, - B7B032C42BEB43DC262C8A42, - F4E4654939C415ABF59293B1, - B2B54E113A80EC53D5D71A38, + F7EF49C5A5F6DE4FF1B730E6, + E0F304430381FA70197A64CC, + 60C9E862FC4487FA0ABF978C, + 0042023AAA5133AD42F29C8C, + DA8C9D2B024F1DCB2E9CA06D, + B2E86B52647733591A9A604D, + 48E17B651007615D7D1AA2A1, + 0226CC46FB271B042761B690, + 2D8719715778219EC775B848, + B25267AFE5AFC300979F39F0, + 4FEF2CC8B209A434F5D3CD1B, + 620D3EB33686F4084F08D153, + 80164398F844C51A6F8532F5, + 443C241B66AD431E05D3A2AD, 80164398F844C51A6F8532F5, ); name = "juce_gui_basics"; sourceTree = ""; }; - B2B055337E596E2DAA7D427C = {isa = PBXGroup; children = ( + A3F97D968D8D994810D9BD0B = {isa = PBXGroup; children = ( 6F381D0C54E869B237830DC7, 8916485BFFBA840EF46760CC, FF443F140558EBF4EE8819F9, @@ -1998,14 +2649,14 @@ FE2F4EB06C194B80ADF38D32, 6A7D750E4C8BF2580F262F76, 9E4E6003EBB2B55E8D94C35A, ); name = "code_editor"; sourceTree = ""; }; - F430D956469E7E4528571CD8 = {isa = PBXGroup; children = ( + 1FCF8F82AD5AC359D637E589 = {isa = PBXGroup; children = ( D6EB2F9DDC938830D6CA84CB, 2168ED9FD91B4475612D7785, ); name = documents; sourceTree = ""; }; - 303B6B606A73D0F37EB9C4F0 = {isa = PBXGroup; children = ( + A40BB2A32471552906BE35B4 = {isa = PBXGroup; children = ( A11F51909BE2463C28099C0B, BCB54D2E4C0C3357DACFD29B, FABC846A7451773CA5FEDA13, ); name = embedding; sourceTree = ""; }; - A4D5C22EAEECE5134B247F54 = {isa = PBXGroup; children = ( + AE2BE6BD9531C81583DA98CA = {isa = PBXGroup; children = ( 4BEE40628E4C3581FF774383, 7A1CD659BB507996CC7EE951, 7CAABF65B56BE6A4529B2513, @@ -2026,7 +2677,7 @@ 81766EF7DB6CE1CB01017097, FF25FC2D49382DCBDB76BC48, C4BC9568B31F3E7EC4C3C7E6, ); name = misc; sourceTree = ""; }; - B544D64863CF5CC0B4E0980E = {isa = PBXGroup; children = ( + 36E0E209B1478923F339B4C8 = {isa = PBXGroup; children = ( F80CC5FB6425D6B5DD1BBC59, 219FBFE9990AA2ACA2F15FC1, C2C92FCE31284C0292F55427, @@ -2040,12 +2691,14 @@ 837035EBD15D2565B4DB677A, 5F36266F9ABD981DF9EE035D, ); name = native; sourceTree = ""; }; 777B3EE5ECE5A0B4799E842E = {isa = PBXGroup; children = ( - B2B055337E596E2DAA7D427C, - F430D956469E7E4528571CD8, - 303B6B606A73D0F37EB9C4F0, - A4D5C22EAEECE5134B247F54, - B544D64863CF5CC0B4E0980E, - 91B2EAD28E322C2F365FF975, + A3F97D968D8D994810D9BD0B, + 1FCF8F82AD5AC359D637E589, + A40BB2A32471552906BE35B4, + AE2BE6BD9531C81583DA98CA, + 36E0E209B1478923F339B4C8, + F38E6D8315D458A9DB2381F8, + 7997E4EB2706B00B44880412, + B2067C8614967BECF8B198D1, 7997E4EB2706B00B44880412, ); name = "juce_gui_extra"; sourceTree = ""; }; C6C3D10F6A56842C3125D633 = {isa = PBXGroup; children = ( 645F82CEE72820AB4A2DCFCB, @@ -2062,53 +2715,30 @@ 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, + 0926E36205F4D676343AB6E7, + F5E9ED24FCF950C2B09ED67C, ); name = Resources; sourceTree = ""; }; 7EA0AEAFB626CDF5E0038ED5 = {isa = PBXGroup; children = ( 537D65EF3BBBDFC4651D389D, A206765795252391D3F60EA4, @@ -2123,52 +2753,219 @@ 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-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle -lJuceDemoPlugin"; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.JuceDemoPlugin; + SDKROOT_ppc = macosx10.5; + 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", ); + 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/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle -lJuceDemoPlugin"; + 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/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle -lJuceDemoPlugin"; + 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/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle -lJuceDemoPlugin"; + 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.plist; + INFOPLIST_FILE = Info-AU.plist; INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; LIBRARY_STYLE = Bundle; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; - OTHER_LDFLAGS = "-bundle"; + OTHER_LDFLAGS = "-bundle -lJuceDemoPlugin"; 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 = { + 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", ); @@ -2176,17 +2973,78 @@ 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-AU.plist; INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; LIBRARY_STYLE = Bundle; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; - OTHER_LDFLAGS = "-bundle"; + OTHER_LDFLAGS = "-bundle -lJuceDemoPlugin"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.JuceDemoPlugin; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Release; }; + 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; + 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)"); + INSTALL_PATH = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.JuceDemoPlugin; + 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; + 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)"); + INSTALL_PATH = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.JuceDemoPlugin; + SDKROOT_ppc = macosx10.5; }; name = Release; }; 6758D5C5D24024DB6F83E78F = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2214,62 +3072,79 @@ 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + 921CB4BBA34ADBC5270F81EF = {isa = PBXNativeTarget; buildConfigurationList = 85C4751D439D706F84718BB4; buildPhases = ( + A9C5EEDC68735C4FD82BD179, + 8FC8AA9EA1AC4A26A5275F62, + 401B24CA453ED2BFC0EB2E89, ); buildRules = ( ); dependencies = ( + 603921D0E698F75EB96EAC53, ); name = "JuceDemoPlugin (VST)"; productName = JuceDemoPlugin; productReference = 64417DE78D1B1D10EC6E4146; 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; }; + 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, ); runOnlyForDeploymentPostprocessing = 0; }; + 03F6829513830045329610BB = {isa = PBXNativeTarget; buildConfigurationList = EACEF56177D0E9262CB5FB82; buildPhases = ( + 0F2E05BC557F712359B8A9EB, + 0F041AFA4DBFCC6D0F1BAF6D, + 543F0A994B5AC3479C27489E, ); buildRules = ( ); dependencies = ( + 603921D0E698F75EB96EAC53, ); name = "JuceDemoPlugin (VST3)"; productName = JuceDemoPlugin; productReference = 464486542EDBD5301EEEE8C1; 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; }; + 37F22BD1952B828C02A1154C = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7F77BD3679C81BEB8057BE4F, + A001C0EF302F42D8784EF150, ); runOnlyForDeploymentPostprocessing = 0; }; + 64E573E6435BAEE1B47EF7E9 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 221B97F3CD062F71EBEBA165, A068599CF7E166847EE45D5F, 61792EFEB47D87819D7676C2, @@ -2282,14 +3157,33 @@ 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 ); }; + 71E1E34CFC671ACBBCE0726C = {isa = PBXNativeTarget; buildConfigurationList = 64536AF1BFB1A606B45A66AB; buildPhases = ( + 98265196468E8519A8CB7DDB, + 37F22BD1952B828C02A1154C, + 64E573E6435BAEE1B47EF7E9, ); buildRules = ( ); dependencies = ( + 603921D0E698F75EB96EAC53, ); name = "JuceDemoPlugin (AU)"; productName = JuceDemoPlugin; productReference = 1AF4856520E8BFF4A039CD6B; 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; }; + C3F206BB3277FBADE3BD615B = {isa = PBXNativeTarget; buildConfigurationList = 08D73ACBC0F6E2A4747629EE; buildPhases = ( + 4E087312D44130771EB1E9C2, ); buildRules = ( ); dependencies = ( ); name = "JuceDemoPlugin (Shared Code)"; productName = JuceDemoPlugin; productReference = 4D6248E85C22578615FA809C; productType = "com.apple.product-type.library.static"; }; + 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/VisualStudio2010/JuceDemoPlugin.sln b/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.sln deleted file mode 100644 index abd7957a..00000000 --- a/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{45F7ED0D-469F-7EB0-7B2E-D2EAA2170C4E}") = "JuceDemoPlugin", "JuceDemoPlugin.vcxproj", "{64F92774-5695-B20A-C63E-7690CA0ECE34}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {64F92774-5695-B20A-C63E-7690CA0ECE34}.Debug|Win32.ActiveCfg = Debug|Win32 - {64F92774-5695-B20A-C63E-7690CA0ECE34}.Debug|Win32.Build.0 = Debug|Win32 - {64F92774-5695-B20A-C63E-7690CA0ECE34}.Release|Win32.ActiveCfg = Release|Win32 - {64F92774-5695-B20A-C63E-7690CA0ECE34}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj b/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj deleted file mode 100644 index 6cbba419..00000000 --- a/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj +++ /dev/null @@ -1,1754 +0,0 @@ - - - - - - Debug - Win32 - - - Release - Win32 - - - - {64F92774-5695-B20A-C63E-7690CA0ECE34} - - - - DynamicLibrary - false - - - DynamicLibrary - false - true - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - JuceDemoPlugin - true - JuceDemoPlugin - true - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Disabled - EditAndContinue - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) - MultiThreadedDebugDLL - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - _DEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\JuceDemoPlugin.dll - true - libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) - true - $(IntDir)\JuceDemoPlugin.pdb - Windows - MachineX86 - false - true - /FORCE:multiple %(AdditionalOptions) - - - true - $(IntDir)\JuceDemoPlugin.bsc - - - copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3" - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Full - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - NDEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\JuceDemoPlugin.dll - true - %(IgnoreSpecificDefaultLibraries) - false - $(IntDir)\JuceDemoPlugin.pdb - Windows - MachineX86 - true - true - true - /FORCE:multiple %(AdditionalOptions) - - - true - $(IntDir)\JuceDemoPlugin.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 - - - - - - - - - - - - - - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj.filters b/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj.filters deleted file mode 100644 index 36d31a4c..00000000 --- a/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj.filters +++ /dev/null @@ -1,2984 +0,0 @@ - - - - - - {98B5FD41-69F0-DE4B-B5A1-16802D627A6C} - - - {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} - - - {B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B} - - - {8167E753-09C7-5D1C-EF2B-32D297557443} - - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - - - {B48C883A-8483-AF6D-808C-1D9A749048D8} - - - {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} - - - - - JuceDemoPlugin - - - JuceDemoPlugin - - - 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\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_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\native - - - Juce Modules\juce_audio_utils\native - - - Juce Modules\juce_audio_utils\native - - - Juce Modules\juce_audio_utils\native - - - 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_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 - - - 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 - - - - - JuceDemoPlugin - - - JuceDemoPlugin - - - JuceDemoPlugin - - - 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\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_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\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\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\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\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 - - - 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 Library Code - - - - - Juce Library Code - - - diff --git a/examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.sln b/examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.sln deleted file mode 100644 index 10b0473c..00000000 --- a/examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2013 -Project("{45F7ED0D-469F-7EB0-7B2E-D2EAA2170C4E}") = "JuceDemoPlugin", "JuceDemoPlugin.vcxproj", "{64F92774-5695-B20A-C63E-7690CA0ECE34}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {64F92774-5695-B20A-C63E-7690CA0ECE34}.Debug|Win32.ActiveCfg = Debug|Win32 - {64F92774-5695-B20A-C63E-7690CA0ECE34}.Debug|Win32.Build.0 = Debug|Win32 - {64F92774-5695-B20A-C63E-7690CA0ECE34}.Release|Win32.ActiveCfg = Release|Win32 - {64F92774-5695-B20A-C63E-7690CA0ECE34}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.vcxproj b/examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.vcxproj deleted file mode 100644 index 486e3d68..00000000 --- a/examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.vcxproj +++ /dev/null @@ -1,1760 +0,0 @@ - - - - - - Debug - Win32 - - - Release - Win32 - - - - {64F92774-5695-B20A-C63E-7690CA0ECE34} - v120 - - - - DynamicLibrary - false - v120 - - - DynamicLibrary - false - true - v120 - - - - - - - - v120 - - - <_ProjectFileVersion>10.0.30319.1 - JuceDemoPlugin - true - JuceDemoPlugin - true - v120 - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Disabled - EditAndContinue - c:\SDKs\VST3 SDK;..\..\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) - MultiThreadedDebugDLL - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - _DEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\JuceDemoPlugin.dll - true - libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) - true - $(IntDir)\JuceDemoPlugin.pdb - Windows - MachineX86 - false - true - /FORCE:multiple %(AdditionalOptions) - - - true - $(IntDir)\JuceDemoPlugin.bsc - - - copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3" - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Full - c:\SDKs\VST3 SDK;..\..\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) - MultiThreadedDLL - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - NDEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\JuceDemoPlugin.dll - true - %(IgnoreSpecificDefaultLibraries) - false - $(IntDir)\JuceDemoPlugin.pdb - Windows - MachineX86 - true - true - true - /FORCE:multiple %(AdditionalOptions) - - - true - $(IntDir)\JuceDemoPlugin.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 - - - - - - - - - - - - - - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.vcxproj.filters b/examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.vcxproj.filters deleted file mode 100644 index e99d8b53..00000000 --- a/examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.vcxproj.filters +++ /dev/null @@ -1,2984 +0,0 @@ - - - - - - {98B5FD41-69F0-DE4B-B5A1-16802D627A6C} - - - {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} - - - {B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B} - - - {8167E753-09C7-5D1C-EF2B-32D297557443} - - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - - - {B48C883A-8483-AF6D-808C-1D9A749048D8} - - - {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} - - - - - JuceDemoPlugin - - - JuceDemoPlugin - - - 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\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_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\native - - - Juce Modules\juce_audio_utils\native - - - Juce Modules\juce_audio_utils\native - - - Juce Modules\juce_audio_utils\native - - - 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_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 - - - 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 - - - - - JuceDemoPlugin - - - JuceDemoPlugin - - - JuceDemoPlugin - - - 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\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_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\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\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\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\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 - - - 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 Library Code - - - - - Juce Library Code - - - diff --git a/examples/audio plugin demo/Builds/VisualStudio2013/resources.rc b/examples/audio plugin demo/Builds/VisualStudio2013/resources.rc deleted file mode 100644 index 2b126d29..00000000 --- a/examples/audio plugin demo/Builds/VisualStudio2013/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", "JuceDemoPlugin\0" - VALUE "FileVersion", "1.0.0\0" - VALUE "ProductName", "JuceDemoPlugin\0" - VALUE "ProductVersion", "1.0.0\0" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif diff --git a/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.sln b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.sln new file mode 100644 index 00000000..2974f82d --- /dev/null +++ b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.sln @@ -0,0 +1,19 @@ +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2015 +Project("{45F7ED0D-469F-7EB0-7B2E-D2EAA2170C4E}") = "JuceDemoPlugin", "JuceDemoPlugin.vcxproj", "{64F92774-5695-B20A-C63E-7690CA0ECE34}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {64F92774-5695-B20A-C63E-7690CA0ECE34}.Debug|Win32.ActiveCfg = Debug|Win32 + {64F92774-5695-B20A-C63E-7690CA0ECE34}.Debug|Win32.Build.0 = Debug|Win32 + {64F92774-5695-B20A-C63E-7690CA0ECE34}.Release|Win32.ActiveCfg = Release|Win32 + {64F92774-5695-B20A-C63E-7690CA0ECE34}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj new file mode 100644 index 00000000..3c4e903b --- /dev/null +++ b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj @@ -0,0 +1,2399 @@ + + + + + + Debug + Win32 + + + Release + Win32 + + + + {64F92774-5695-B20A-C63E-7690CA0ECE34} + v140 + + + + DynamicLibrary + false + v140 + + + DynamicLibrary + false + true + v140 + + + + + + + + v140 + + + <_ProjectFileVersion>10.0.30319.1 + JuceDemoPlugin + true + JuceDemoPlugin + true + v140 + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + EditAndContinue + c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;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)\JuceDemoPlugin.dll + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\JuceDemoPlugin.pdb + Windows + MachineX86 + false + true + + + true + $(IntDir)\JuceDemoPlugin.bsc + + + copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3" + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Full + c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;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)\JuceDemoPlugin.dll + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\JuceDemoPlugin.pdb + Windows + MachineX86 + true + true + true + + + true + $(IntDir)\JuceDemoPlugin.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 + StdCall + + + true + StdCall + + + true + StdCall + + + true + StdCall + + + true + StdCall + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + 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/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj.filters b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj.filters new file mode 100644 index 00000000..cbef8b51 --- /dev/null +++ b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj.filters @@ -0,0 +1,4034 @@ + + + + + + {98B5FD41-69F0-DE4B-B5A1-16802D627A6C} + + + {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} + + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + + + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} + + + {0F766DD4-A277-CB86-5647-42498C8B41E1} + + + {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + + {D64942B4-6984-3623-3347-45D472AE1C61} + + + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} + + + {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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} + + + {2FB30532-4EF3-EFA3-E57C-F7DDE9DB1297} + + + {50F044B3-0D39-198B-CA5F-BE5E6C078D04} + + + {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} + + + {20254EFE-6CBD-31A7-2119-92B1E0E0E311} + + + {70796D73-6D30-8A1B-4732-7C021E47C05A} + + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + + + {EB8DD942-E2CB-869F-D381-E02A65BA790B} + + + {8F91DFC0-7A71-1BA8-D8D9-6B4CF49151A4} + + + {B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B} + + + {8167E753-09C7-5D1C-EF2B-32D297557443} + + + {B48C883A-8483-AF6D-808C-1D9A749048D8} + + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + + + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} + + + {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} + + + {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} + + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + + {DA0DC4AC-B511-A2D4-199A-C93454D6F114} + + + {91929C6F-7902-B87D-5260-2F6CBF8ACD93} + + + {4634FFAE-9586-A970-364C-4FDDA635F99F} + + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} + + + {C9F6D785-BF78-5AA1-B479-111C65397864} + + + {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} + + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + + {F03654BC-34D8-F975-BEA3-750CC2783D23} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} + + + {928D8FCC-5E00-174B-6538-93E8D75AB396} + + + {358AEA11-3F96-36AE-7B32-71373B5C5396} + + + {3DF036EA-3B80-553B-2494-3AAC835CAE75} + + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + + {F2A38F45-6E55-E147-2E52-64A89FDD9D59} + + + {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} + + + {4926B3FF-E797-F586-857A-69D9703FA2D1} + + + {EBC65085-3AD5-280C-1A29-2B1683643AA1} + + + {E37D25CD-4350-4614-055B-7ABC55E67895} + + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} + + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} + + + {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} + + + {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} + + + + + JuceDemoPlugin + + + JuceDemoPlugin + + + 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_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + 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\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_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\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_formats + + + Juce Modules\juce_audio_plugin_client\AAX + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU + + + Juce Modules\juce_audio_plugin_client\AU + + + 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\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_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + Juce Modules\juce_audio_plugin_client + + + 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\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 + + + 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 + + + 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\native + + + Juce Modules\juce_audio_utils\native + + + Juce Modules\juce_audio_utils\native + + + Juce Modules\juce_audio_utils\native + + + Juce Modules\juce_audio_utils\native + + + Juce Modules\juce_audio_utils\players + + + Juce Modules\juce_audio_utils + + + Juce Modules\juce_audio_utils + + + 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\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + 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 + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\memory + + + 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_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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures + + + 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 + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + 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_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + 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 + + + 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\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + 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\placement + + + Juce Modules\juce_graphics + + + 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\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + 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 + + + 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\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\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 + + + 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 + + + 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\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_gui_extra + + + Juce Modules\juce_gui_extra + + + 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 + + + + + JuceDemoPlugin + + + JuceDemoPlugin + + + JuceDemoPlugin + + + 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_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + + + 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\native + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\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_formats + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses + + + 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 + + + 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_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 + + + 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\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_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\gui + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\players + + + Juce Modules\juce_audio_utils + + + Juce Modules\juce_audio_utils + + + 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\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + 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 + + + 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\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\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\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 + + + 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\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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 + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + 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 + + + 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\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + 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 + + + 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\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + 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 + + + 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\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\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 + + + 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\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 + + + 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 + + + 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_gui_extra + + + Juce Library Code + + + Juce Library Code + + + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + + + Juce Library Code + + + diff --git a/examples/audio plugin demo/Builds/VisualStudio2010/resources.rc b/examples/audio plugin demo/Builds/VisualStudio2015/resources.rc similarity index 100% rename from examples/audio plugin demo/Builds/VisualStudio2010/resources.rc rename to examples/audio plugin demo/Builds/VisualStudio2015/resources.rc 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 c744159b..00000000 --- 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 3eda0abb..78394d16 100644 --- a/examples/audio plugin demo/JuceDemoPlugin.jucer +++ b/examples/audio plugin demo/JuceDemoPlugin.jucer @@ -8,15 +8,15 @@ pluginWantsMidiIn="1" pluginProducesMidiOut="1" pluginSilenceInIsSilenceOut="0" pluginTailLength="0" pluginEditorRequiresKeys="1" pluginAUExportPrefix="JuceDemoProjectAU" pluginAUViewClass="JuceDemoProjectAU_V1" pluginRTASCategory="" - bundleIdentifier="com.juce.JuceDemoPlugin" jucerVersion="4.0.2" + bundleIdentifier="com.juce.JuceDemoPlugin" jucerVersion="4.2.1" 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"> + objCExtraSuffix="JuceDemo" aaxFolder="" postbuildCommand="" vst3Folder=""> @@ -38,7 +38,7 @@ - + @@ -59,29 +59,7 @@ - - - - - - - - - - - - - - - - - - - - - + diff --git a/examples/audio plugin demo/JuceLibraryCode/AppConfig.h b/examples/audio plugin demo/JuceLibraryCode/AppConfig.h index c2605ec0..f7f9e325 100644 --- a/examples/audio plugin demo/JuceLibraryCode/AppConfig.h +++ b/examples/audio plugin 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,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] @@ -37,9 +37,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: @@ -198,12 +204,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 0 #endif +#ifndef JucePlugin_Build_STANDALONE + #define JucePlugin_Build_STANDALONE 0 +#endif #ifndef JucePlugin_Name #define JucePlugin_Name "Juce Demo Plugin" #endif @@ -237,9 +249,6 @@ #ifndef JucePlugin_IsMidiEffect #define JucePlugin_IsMidiEffect 0 #endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #define JucePlugin_SilenceInProducesSilenceOut 0 -#endif #ifndef JucePlugin_EditorRequiresKeyboardFocus #define JucePlugin_EditorRequiresKeyboardFocus 1 #endif diff --git a/examples/audio plugin demo/JuceLibraryCode/JuceHeader.h b/examples/audio plugin demo/JuceLibraryCode/JuceHeader.h index 56dec336..1b11ea89 100644 --- a/examples/audio plugin demo/JuceLibraryCode/JuceHeader.h +++ b/examples/audio plugin demo/JuceLibraryCode/JuceHeader.h @@ -14,18 +14,20 @@ #define __APPHEADERFILE_0NRD9LLGO__ #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_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 +#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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..c599b875 --- /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 00000000..d4b8c311 --- /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 00000000..a4fdf7f3 --- /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 00000000..175b3004 --- /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 00000000..0ac2b2f5 --- /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 00000000..29d48f3f --- /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 00000000..2da08c6d --- /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 00000000..72a8426c --- /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 00000000..6064f99d --- /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 00000000..5c5509ab --- /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 00000000..56af9aeb --- /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 00000000..d3b6529a --- /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 00000000..c35394b4 --- /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 00000000..8e2e5cde --- /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 00000000..ee2f414e --- /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 00000000..183f61b2 --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..97bd2c56 --- /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 00000000..8eae7c6e --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 79618a40..00000000 --- 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 7d4583db..00000000 --- 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 bb997d30..00000000 --- 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 06e88f93..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 demo/Source/PluginEditor.cpp b/examples/audio plugin demo/Source/PluginEditor.cpp index 182d783d..091d5aa7 100644 --- a/examples/audio plugin demo/Source/PluginEditor.cpp +++ b/examples/audio plugin demo/Source/PluginEditor.cpp @@ -28,7 +28,7 @@ public: void valueChanged() override { - param.setValue ((float) Slider::getValue()); + param.setValueNotifyingHost ((float) Slider::getValue()); } void timerCallback() override { updateSliderPos(); } @@ -43,7 +43,7 @@ public: { const float newValue = param.getValue(); - if (newValue != (float) Slider::getValue()) + if (newValue != (float) Slider::getValue() && ! isMouseButtonDown()) Slider::setValue (newValue); } diff --git a/examples/audio plugin demo/Source/PluginProcessor.h b/examples/audio plugin demo/Source/PluginProcessor.h index da5cde72..4a4bc315 100644 --- a/examples/audio plugin demo/Source/PluginProcessor.h +++ b/examples/audio plugin demo/Source/PluginProcessor.h @@ -50,16 +50,9 @@ public: //============================================================================== const String getName() const override { return JucePlugin_Name; } - const String getInputChannelName (int channelIndex) const override { return String (channelIndex + 1); } - const String getOutputChannelName (int channelIndex) const override { return String (channelIndex + 1); } - - bool isInputChannelStereoPair (int /*index*/) const override { return true; } - bool isOutputChannelStereoPair (int /*index*/) const override { return true; } - bool acceptsMidi() const override { return true; } bool producesMidi() const override { return true; } - bool silenceInProducesSilenceOut() const override { return false; } double getTailLengthSeconds() const override { return 0.0; } //============================================================================== diff --git a/examples/audio plugin host/Builds/Linux/Makefile b/examples/audio plugin host/Builds/Linux/Makefile index d0f517e9..b9dac0e9 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) @@ -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-App.plist b/examples/audio plugin host/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..a8de372c --- /dev/null +++ b/examples/audio plugin host/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + Plugin Host + CFBundleDisplayName + Plugin Host + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + + diff --git a/examples/audio plugin host/Builds/MacOSX/Info.plist b/examples/audio plugin host/Builds/MacOSX/Info.plist deleted file mode 100644 index 66fad286..00000000 --- a/examples/audio plugin host/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.roli.pluginhost - CFBundleName - Plugin Host - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - ROLI Ltd. - NSHighResolutionCapable - - - 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 6f383d3b..1a1f5515 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,26 @@ 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"; }; + 00E5F7096E8880D4B819BF3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.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"; }; @@ -55,6 +56,11 @@ 02F8678BD7CAAD93B290CFEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 032E2ADE43B3115AB59A6393 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; 03500F24A473BF6C0FD54939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 037CBE04C512D729799A4A9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; + 03839DCA6244CF4907E23F2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 038A10FAD4373B8FE62AC699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; + 03941BB8A31809A0EBA9F3AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; + 03AA46E823B46F96BCB05624 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; 03E77F398E412903532DB5DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 042C1714F5592997E46A17F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 043393B6262698FFD549A24A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -73,8 +79,12 @@ 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"; }; + 08BE47157C8FB7CFCF39CDBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; + 08C32338C68E93D595A305CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; + 0907AC75543E6C12820F7D23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; 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"; }; 098DED4CC79076DD9FBC77BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 099165D92F30287F138C19FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; 09D4B1BC3B3713EB3E9E01E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; 09E43355AE1252B8AB082EE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; 0A39606D0B22B2EDBBC78B98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -86,32 +96,44 @@ 0B36A9CD1921659BA8DA8577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; 0B7FC2052DC952A2080D9535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 0BD19EFE55728A56EB3EE5C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + 0C192692914D3DD33682B719 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; 0C339E5B52835F87ABD2BF95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C36E600B808F79A9212B9D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0C54F5EBF7E20EEC867659AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; 0CC13DE18B3E9166C9782E63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 0CF109BF3F732E4EF35B936F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 0CF2426932FC8D37C12B6879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; 0CF846BB5ABA7ACA6ED15DAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 0D0C7A801F03C690FA1ED2FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 0FE87C795742256815BEF9D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; }; + 10121C7796D618BB642CBA10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; + 1060178900920612B0069483 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; 106534024FB64060C7625843 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1099D65036DF6A630BBE957D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; 10BB6B4CD8BA76B7D9A2237A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; 10EE0138720A51EBAD46FFCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; 110C2EF31835804CBE646AB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 11617F93929948BF4BC1BCC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + 12859C280C98C8F5A8B3A5D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12B6B66E1F63D9888366AB98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 138CC7441850D856F9923C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13C087E8BC57CF709CBCC74A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; 13EA8958E53A70EFE5F2F7C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 13FA561015BBB5F86783EAB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; 140DE913FF08066FBE9B40B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; + 144FEDE49D0F6681E8DD861A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; 147E02A7F9A65F317BE4256D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; 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 +145,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,15 +155,20 @@ 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"; }; + 18D9104048F8165BCA37A44B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; + 18E3B04768DEA4B5699949C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; 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"; }; + 19AC4CDF00D2CA9FCC4700BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; 19B542AA1D44A48137994C9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 19CF1995D026FB0177649557 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; 19F1E0E8D9A395105CA14D9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 1A4E5F9889282918D91F7262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A59F393DEB3E9E1132EAF51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A5B591DE330EB440C2871E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 1A80ACE5E89272455CFDBE73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 1AB268A2EC53E0104B612174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 1ADCEA9B6A82A41D7D95CB2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; 1B0596982B3039E793262901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -150,19 +178,27 @@ 1B6A039FE3A63210FC1936D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; 1C1943E3582BA78117F881B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 1C4E46D37FD0A75012D27F18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C758D462DA1C8FFB03070E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; 1C9A92B8262F5780FB04EEE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 1CBCE7A7D4723D88F4A7CEB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; 1D031D6259B6620760ACD1A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + 1D4555D7A23798887B5BF41E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 1D732226BC03760D54CB3CA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; + 1DCB584634C92F5EE1C48B23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; + 1E600B45103B4472FD0FC018 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; 1E637A1B5FFE10DDC2253381 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E9F515675116BDE81543FA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; 1EC0F33A3BABE58138317375 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainHostWindow.cpp; path = ../../Source/MainHostWindow.cpp; sourceTree = "SOURCE_ROOT"; }; 1EEB3893771895AB8BD72410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + 1F17FC38C2365D297AC163B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; }; + 1F1BE26794786813BB30A34F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; 1F2AB062036D82064FE251B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; 1F62E848C2E3680A5FA14161 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; 1F6FFA800A6EE11FF46C1BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F78AE3A47E74F2742A538FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; 1F7AA9D2AF6DB322B5C8EE00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F7D3EA90275DA64EA6A8507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1F86B0CC33755F0292BBDB1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; 1FA87A6B11FA3B0893A8CAFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; 1FA971CC860F62BC184966E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; 1FDCB594D94782C879005BF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -190,33 +226,47 @@ 2428A545CFE28E531293C169 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 2438BFA58600C961EC1238F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; 2453CBCF65BF8E7B29978EF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + 245A4C5B4BF8CDA6D25AD34D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2566C16790C96712841F453D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; 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"; }; + 25D885EF934AE50947CB1A94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; + 266F7D6CD0EED4E20B949EEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; 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"; }; 2696ECADDD4CF572708A2952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 270D03725927D4E777439FBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; 27105A5B43A6B21407A11383 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 2727550979F0EB4AF241DF07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 272F04D06B1FAFF3580B0DDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 275701F5A51CC67E9E93E178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; 27889951D3882FCCFD67BE2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 280D1B9A9530E1E805367547 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 286A386BFB84E62762A16019 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + 28B2C2CDA9BE1C20E5B322D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 28D1167CDA9D76A8F2E18289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; 28ED5260F421B14669651864 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 2936DACB6500BB65DDFE196E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + 295907BE4DFB720C1086850C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + 297E6FF8E07F948AC3A64D9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; 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"; }; + 2A265848ED203A190A454C39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; 2A42B0F38B7F9D59052594AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 2A698ADD02E9AEA81193E03F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; 2AAEA55DD1AEB793E4769381 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2AD6BCA65B11533D9653A12D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; 2AD8651609A9CE31D4673846 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 2AD9815C21C7123C138EE0D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B143B5431318DDB2104B46E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FilterGraph.h; path = ../../Source/FilterGraph.h; sourceTree = "SOURCE_ROOT"; }; + 2B63F7415B6308121E240908 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; 2B753657D5EDAA22DABD96E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -226,35 +276,56 @@ 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"; }; + 2D132B0800D5B3C3E92A4908 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; 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"; }; + 2D9A06DD16F2E14319C71825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; 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"; }; + 2F030EECACCAF0A8C6B61C06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; 2F1DC4CBD84162CF32AC4E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2F3216D7BDE0A21418D248D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FC37B75172C6E6DAD8E0F5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; + 2FD69071A05B29DD34C9C13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; + 30DC449187E9C5359D3AA4A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; 30F22843EFEBF7AA841EB4D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; 310D69A7E400545D95F9F489 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 31AC0781EAF09276F92E0DA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31ADFF06ADC415775B7BDF9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31E26B0962C9C464A1DE9377 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; 32046EA191CFD25B047706EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; 324A7295F867CE4F5A65FDD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 3287ECA0DE90C0BCF3CAE6C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; 3298CA0624CDCFBD2CD97088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 32A0635D492C53B2523C8BFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; 32C8AEA50F9848F118BB596F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; 32E6B2D42B9D76247AA457AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 3321516BB1475949B60A15EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + 33A6055266903076CBBF4CB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; 33A86A4C3C474B170CBC7983 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 33AEA79FA021494782972910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + 33F1FB44C89F151882EF6D71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; + 33F6E0B050DD6FDD2F344822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; 344A66473D93F1C7C05D7873 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 34BA8570548D06DE971B0DFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; 34D73FE5FBC2197DD353ACA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 350100F6F8F9FDF746B4D5BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 354D3741A13AE8B0B94CC98A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; + 3561850C0FE5D043FE8437C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; }; + 3573ECA4AD13A8894A47CBCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; + 35905348656081EF1216DE74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; 362BB539489999164C3A3D5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = InternalFilters.cpp; path = ../../Source/InternalFilters.cpp; sourceTree = "SOURCE_ROOT"; }; 3639E8CB35EAA4F2F35ECBC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 366230275BCD3FBEB05E7EED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; 3671A679FFAC68E5A6381508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + 36779054F3A49606560FEC5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 36A8732CDDD0385A39012D18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; + 36EE1040251F32EEB23D85A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; 370374649557B8288479B99A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; 3726BBA7D42C5E5909D58269 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 3759D9F4EB77B24886181860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -262,36 +333,56 @@ 37FE4DB88BA2CBD8214D100E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 382380170B8E1B0FF39435F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 38670530F6FFE9072B8F08FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 38E043F473FE4BBF767625FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; 397E6AC0BA27761D41FF7E5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; 3980F583D83A27EB63686E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A15C3C9A8A4A1AF8158C702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 3A35F066CD840A7FA49BF11A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; 3A3C58CDCD2789D07F1C92F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A834AB94715C86A3ADBC4F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; 3A94337CF17F8EBF0C72D174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; 3ACEB82C73AB2A85638042BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; 3B0FC2F45CC6100E61519741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 3B1D56D7A6DBA2F0A0E2958C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; 3B292E9A2C5D6B74E546DA28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; 3B415641D0C369EFE3CE9013 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; 3B7EC97319358AB628F4EAF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + 3BE7148823DF97B2209DEB31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; + 3BFD614A4479B548275AC13A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; + 3C55392B0AE29CF3FBA5F36D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 3C927C2F9A7F27474B0F6F0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; 3CACA414AFB108D5D97D2905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; 3CF78C2D83C6C4AD2E7B252B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; 3D21EF742E7417A581DB960E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + 3D466CFF37D2602E8AC47206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 3D5FE54476A7D32FE731E369 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 3D64A2C5EB65C68C4CBE47C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; 3D6993BA129CF5B3D55E3800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; 3D8997AC616A681F378B2518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3D9187AAF3201133F6B2A117 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; + 3DDA0A079266D6E94BC3863D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; + 3DE9E119B52FC92D0257EFE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; 3E0DF46C5A79C99C41F74EE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; 3E3FCE89FD34F370753351B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E6CE883D9CE0661C39F5BAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3EA42CD30A00C09CF230613F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; 3ED29A00C88C8C3B8B3DE56D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; 3ED373A6B2C53518BAA012E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 3EFBFA5735C496DC209ED1CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; 3F263028F4926C6F3318E6A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F7A4680E00FAE8A41F0F144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F924E9D75C642D0A14828E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F963B869D58A34E97922E97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 3FE9B7F3DE9EB0276E0397E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; 401D435B1E3BB47A7861FA01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 408CCD7445F5DE2606E9CC4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; + 40D8DCB0B5EB0CE98212D2D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 40F844A12BAAB7BE1D4417A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; 410A767D64DBE4AB92D56251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + 4117B7BBF0AF7CD19F7FF54B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; + 41316825123DB61DEBF75D16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 4162A82BE7030410BBCCDB7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + 41792E1FC32BB1E2756D11E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; 41904DEAC80BC479D294F347 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 41A362DE244211508DBAC375 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 41EC3FA9791DBDE3669B5AAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -309,13 +400,12 @@ 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"; }; + 45AB3E36CCF7999C1B5F6A45 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; 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"; }; 47108F4066D9EFD4478842A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -329,7 +419,9 @@ 4A4AA708ABE863E4A6B609BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A9384E6AC95A3353D2B7FFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 4AABDD8641E622401CEB4F4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4AE7D510CA4464BB2D46D875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; 4B470E887246D7052CAC5E07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 4B6C9C666BFAFEE2EB4C25C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; 4C3B55EC342AD41B525ABEBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 4C46D1CE125E2770BF5D0E36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; 4CAFE02422227FB8CDD130A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -341,48 +433,60 @@ 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"; }; + 4E5E316DB87E91690D6BB6AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; 4E7392E543488D38DDA567DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 4EE534BAE6FE5AE6B9863AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 4EEFC8BD450341D633B64E77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 4F3043A41FC09A5E8C4FB45B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; 4F4884B5DE59137D823301FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; 4F5AE334AD243259E370E8CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; 4FA1E94FC0C6D34B11B0EBB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; 5085F1038F87BFFE07A491C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 509E4AF447B1364C75166396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 50E62E971611378FEBE4164E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; 515E7CFD1F0A52B7E8C54532 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 518475EC1518D59F4BBB64C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5186EC060F67C46802A240CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5195F3F65ABBB72B43E67FBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; }; 519EBF4B462F5C0FC3375D2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 51A90E0FF371DD9EC53E57B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; + 51CFA361F2E67EE635CAFD7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; 51E8F7D6F96EA20F374FD4E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 523899AA6DDF1511B614CCF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 523B4DFF9912F112E1900BF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; 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"; }; 54737D917B4E0D544E7E652C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + 547D02338FFF0EAE2B8F3103 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; 5504DAC58359F306457FAE4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; 559A2F8A7A121471D8026D81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; 559B3E6098105A8DDC50BB00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 564F9299EB2F08C8A2AC521A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; 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"; }; + 584036B8EED72B3F6373B25F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.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"; }; + 588A1A5498A91DC55EB7AFA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; 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"; }; + 59808039879586960196605F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; 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; }; + 5AE566917D38FF536C8A3DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -395,14 +499,21 @@ 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"; }; + 5E43742554F30681F52E15DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; 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"; }; + 5F43911A79C1714F32EDA8BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; + 5F4BAD433A2C1C578C1AC72D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; 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"; }; 600E61BFB0C43971B0A5D720 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 60769850090382847F33F0C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; 60BDD56D876ECD61169BD3D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + 60E29A19B53E835D7BBD3C8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; 60FEADAA8A60C12E4F2AEDD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61627B7AC0E3834176CFD7CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; 616738BCE455C5D3DD13CDFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61D7BA3BF0C4B8B2AF7CBDA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; 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"; }; @@ -420,14 +531,16 @@ 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"; }; 6692043E22BB181F01767845 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainHostWindow.h; path = ../../Source/MainHostWindow.h; sourceTree = "SOURCE_ROOT"; }; + 66B4F5A7E315FD4C143A632C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 66DF7C3FFFB44D01D73161C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 66E794F08C5AE6A1DB818651 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; 6731007E5C3E79C1DE863EF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 67896E2C98F4857F93982D9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 6866CCD7908651EF6777710E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; 68C80DF0C23F4019E1508050 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 69354ADFBFB65D670D29655A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 69922793C4A67089711C6CB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -435,23 +548,32 @@ 69EA4B2E0B25996FA6A1AA5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; 6A1B2858C988AA78ED3240F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6A5B9749B809D0483AA63F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6AD3D4BEBD59F0952EA7EF29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; 6AE3C699BF301F95FC940635 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; 6BEC3BA14A6EC4E966B76E7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + 6C3B6E0BDD8E8C4356E9FAF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 6C3EBC31792DB69EA9DEBCF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 6C51E4C2A776F82E02F37B15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6C8EDB409CBC411544143565 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; 6CB5AB2EA383094C2127BBDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; 6CC390D80BA517A67F855CA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D3486D6AFBFFFD8A62700B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + 6D4B6FD4935838492CCF69F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; 6D778046825503FDEB5460E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D831425251C13405C9EF2AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; 6D8D5FF611A28415AC63C463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D90AD67AAC1FE06EACF6375 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 6D940D63231E4A3374E79D9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 6E23F9C5F8B5C422754BB249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; 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"; }; 6EEACEE1071D58DA155DC87E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + 6F264BFDFD695F1AA75AB7F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; 6F6AC4A00C126030263CC8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; 6FBC39368BDC233144DA4D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; 6FC3334262FCA3170143BDF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -459,21 +581,27 @@ 71323E00D1742D3DC5E00C67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; 71B15FFEFFD5B84155C239B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 71CBC1D0C969794AF761074A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + 720AF3E1EF525C82B816BDA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; 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"; }; + 7357931BEBB80D3754EA987A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; 736D23CB06CFD14ECE4471CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; 73885C1BF5AC1EEA39ECA545 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 7399BECD1499CBFE6CB6C9B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 740BB2D6D4D42F73A8334824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; 74119FA71333036A0758086F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 74375EABA7E6513217F53391 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 74A5FA88581FA9D8555EB4E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; + 74A7E574AE7A56AF4EEB8601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; 74C765F556EF89599ECA71E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 754DC920173C7DDDBD2DC2E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 75F290D7B7C53C03DC653FC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; 75FCAA8D3DF24813844D6552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + 762A527676B2324439BB0318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; 7646DD91B282525F32FB8518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; 76B5967943C389C01379E87F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 76E4D8FCD61BCB53103C63C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; @@ -482,13 +610,18 @@ 775C0307D56978AFC4E2C10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; 775E9B8E14DB90AFC6C10FF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; 77632C482751C38F66E5B759 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 778BF6A232180B581B3CE7CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; 77E006FC1ECCE39324BD4E89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 78875B2B4F65847781B66F8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 789C7D30DC4EA35A98FEE613 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; + 7912A0C917C401853EB819CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; 799654188207FD986B13281A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; 7A12DA68789CFB38D0722D02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A351E0A28081F7A953032BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; 7A3B14798D96D7F5637846EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7A6590752A2DE206290F17AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A895B40FC9F5D912C685A4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7B2D52FD79409052252E1288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; 7BBA6ED880BF554726E28D5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7BF14F588D31A98D54E2D93A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7C0424A0845A3434C50661B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; @@ -501,22 +634,30 @@ 7DB0A77C1D75FB64AB8EA273 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; 7DB54E0039B3D0D2560D6E47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 7DBB713E52BEF9A059959B9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7DC42FAE3874F4F6FAE6ABCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; + 7E0837332D98DB886656A36E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; 7E4C0E94BAD29885B8E8BAAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7EB9FBC9366AE99B264DF62A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 7EC4BF7FFDD52F005ACDF6CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 7F031C3EECC44A707A4B1F5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7FB67945621A795AA05F145C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; 80101DB42394F099476E9EEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; 803AF348E521D67784E549BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8055C0495BFCD15CCE0ABB88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; 807C6A24C920DBD11B9D6D89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 823B63E3AF6C3B9A3EEEFC1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; + 82A5E167B77E971EB1E3720D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; + 82C493EB123BE64B521A28C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; 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"; }; 83194D29771D3C050947E4D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; 83214A40B05A1E72BF132B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; + 8374239763902E8C4C242FA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; 8485232DCFA245EB3054C805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 84919F8F609237ABCE05B83A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 84B5049006C7616BFC05912C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; @@ -527,12 +668,15 @@ 8631F1A3977094D072BA5AD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 86B6D5A52BE3A4DCA00E2554 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 86CA337014D3F67E906FFD28 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 87138675694CAFCB168609BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; 8724A36432DF521445B2496B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; 8734B3312C78FB753B890366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 873EBB357BD6D24BF4A933FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 87C21E57BEAE3789837E3EE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; 87E1C69D47EEBB410C736057 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 881F6BF9707166A23403AEF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; 882707E7AF3729EE34BC413B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + 882C4BD3EC237BF976997DE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; 883079D96B41550931751AF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 883C3CFCC12E44CB751A1492 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; 88840B304F3E4CE1F05FCD8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -540,24 +684,35 @@ 88B72EF2795B6178454734C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; 88E6EC067093B2A916177028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 89309C0C5F3269BD06BE7F27 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 893A60E8B6E1F4BF07782725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; 89AD4610C2E4849342E75CD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 89CF202FAEC4E5F57AF226C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A09FE3E26741780999E0E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A0B4B4DB570DC7357D93EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 8A2CC00AD83204B6A448BD0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A4FF1BDC954581622F65942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 8A6C82E587998F07581A9CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; + 8A748451C21C0A20E6B7302E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; + 8ABAAC332D59E014EAA0D6A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; 8ABD0FB2EC361F77759F54D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8AED9A72205FAD90260BF7E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.cpp"; sourceTree = "SOURCE_ROOT"; }; 8B3064F8C6E1E56B249CA6C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; 8B9FDF0245BB8A4AA9996C3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 8BA1AF085755958342C9213A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; 8BD050801C810B95634B6326 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; 8BD67EC10CC86AB4DB096E5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; + 8C0BE7D3C0F86224F26EDE75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; 8C45248B3DA51C23552039C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; 8CB152030AF66AD83C910064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8CB905FE3456BFBF3AC9E646 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 8D8609104D64B8E4B1A6025F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.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"; }; + 8ECC617518657AF168AEFD20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; 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"; }; 8EDBBAAA918B853D54834142 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; 8EF26866DA3017EA400C752C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; @@ -584,7 +739,10 @@ 93387B269F26CF7363E17A32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 933FE235F409CFA3B214CB11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 936216306215D5F851ECFD3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 93C10B4C5F82D5F7BB3FA539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; 940A181A1BAC2FA88FB5A3B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 9423D0504135CCA49F5594C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + 94248B70D7A06982BE90A105 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; 9456A4E6D28EA08E214E7233 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; 945D99278B387FC0B627D967 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 94792381477BA8223679170A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -594,9 +752,10 @@ 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"; }; + 958F0689D4288AC7916C9FDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; 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"; }; + 967891A13B7D59EA23F09C0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.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"; }; 96E7B79CFB1B3EC9EC2505CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 9712862E18881F1713110286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -606,6 +765,8 @@ 9787B210CB870B096AF24A6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 9794142D24966F93FFDE51A1 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 97E1F76CDDDFEFF8BBC51272 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 97EB608230FCBBFD74A8CAF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; + 98109925DC33B467F1160556 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; 9816ACC9B8829949AE529AC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 98564A49976DBC04CFC899BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; 986DCE49CDE712122B201CBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; @@ -613,6 +774,7 @@ 996E2AA55013AAAF7A7A77D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 997200F5A9D50C193CF389C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; 998B59D65961E550702C68E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 99E62BD1F9B1CC1A66EBC862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; 9A1DB88858E4F86376D3C754 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A7DB637C5751B1825D1C452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A804FDDFFF8A3C626731537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -628,12 +790,16 @@ 9BD23FF298455A28702F31BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C495A78CFBD7157D354532A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; 9C5985D23D720486ECE15438 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; + 9C7203B16B0114B9B1F155BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; 9C7CAB6C6295501E2487AD8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CA6D0EA44E436AFA0682A90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CAE55E11C7233E4230B7A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 9CF6B27697F73F2C73488951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; 9D77769D5A899B4E435AAEFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 9DADEEE9596B1738B92026DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 9E0F8F91B60D8528FC66A7A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; 9E13EB29F45F488D1B45F6CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 9E31F65DFED5B98C088C0A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; 9E4AFC5B859D0F68A5FE2AED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; 9E6E3468F601EB602900825B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 9EC65D648D37E3C325E29259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -643,35 +809,54 @@ 9F9B445E6755CAA19E4344ED = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 9FA45AAB6573E64BD6DB4F3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9FD54AAEFDAC77FAC6186FC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + 9FFEA22E5138C8654F5D4826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; A00EEAF2F98E0988499D2A92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + A054A7A26979B1836C19C83D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; A0582351AC1B641E0590F7AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; A0D98B5B7E49B6D7BB1FAA6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + A2053FECD0BD5EEA96A67821 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; A249AD24A52F52ACBFDA6149 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; A24D1AD27646BD96ED513A2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + A29F96BDAE834E994CC785F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; + A2A90A94D4A7FD4966BE9C86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; }; A2C29B131B0CF45F91AEAB8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; A2FB8F9EFCA86F0F9A80F8B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; A30AE6BCB8C3947B097DA340 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + A33C3431D27F0B126C692839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; A3574DDAD00B4384A37492EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3C35D3106F9B4807D59BCD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; A3D4618127661FE2728BAB9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; A3EE7A9FD5BFE2DF31C04EF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + A408A0417ABB85CCA00418EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; A4415F486152A5002A924E02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + A4E002249AC77E88A9641C70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; + A4F1C754AEEA0C01A9CF3B65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; A53F1F6AAA9F18823C239E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + A55072A87E77CBAA55DEBCA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; A551881A228D7C48EA7EA466 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; A5E7CA8A71D049BE2BD33861 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + A5ECCFABF956E5FD1FE9DA51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + A60A9198522BE9B39AA87103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; A66EFAC64B1B67B536C73415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HostStartup.cpp; path = ../../Source/HostStartup.cpp; sourceTree = "SOURCE_ROOT"; }; A6C1DF1F0A364CE60B59B34D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; A6F318DE812F2D620EF66C76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A6FF6610181D6A0F86B0A1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; A765E6FBF39366D0A40E1ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + A801145B8C1A605D6405FADA = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; A813861C1082866ED9E9F83C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; A8544FC5863CEBB41807B946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; A930910F595276EBBDC6B17A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; + A99562BC56E0CD102157BF0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9A2451E637375B1EDCD2855 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; A9E135CB7BEA812D224DAF49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; AA668D8E33AD917D7DFC70E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; AA7350771ED17561EB915EED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + AAA409C3E3CEA220DEF9BC16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; AAB108F5A7F3D826559E3162 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + AB5B751057812CE3E0C9EDE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; 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"; }; @@ -680,16 +865,19 @@ AD3B0EEC6220F38CC01E03A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; AD84F6A526784CB531FB2455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; AD8876AE031DC76636165B46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + ADA9AE2E8876F5487CE01368 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; ADB63003D07418B7CA9D8395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; AE2218DC91DA219F6BC602DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; AE77174CBCCD8ED980D37836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; AE7BE10688B3F7C18D21E9B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; AEB543D49F0CD263051AC7ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; AEC8535EE0876B4B29206E6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + AF4F6BC331B047860DE82A96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; B03CEB6B84C7C8D1840CEFF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + B067FEDCCBFF3F20221CF8BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; 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"; }; B1D5ED2A628748002723A9B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; @@ -700,18 +888,20 @@ B2F4B4B90BCD9157597A66CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; B3B91E79E9BE863EFB7B2B70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; B3E0F684EFAAB3722FC50D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; + B431A910596B7440F3E6906B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; B5C03BAD5EB1BFD2AFE73D33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B61311FABAE61D256D106CEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; B6132D51F0C7215E8892A4D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + B62090B7C9319CABE8ABCF26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; B66C55352E6A5599E6A97737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; B68AC7B4F3FC1B8A5901D798 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + B6C23D13BF26C4856900F5A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; B723A2D9CFB0222172F8AADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; B7669234F60C20A155C0C9E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; B7AA1B5B13C8ACD88E1B1F94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -723,13 +913,17 @@ B87839FF32E9244397D28862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B87F288891641371F12CB597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; B8E2DE991BF0D13E2C488E1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + B92DC00F22CBB04B01B69C9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; B9310BD20E2EF7D2A4895C1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; B9D2E7D1B6610271E1B359D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + BA12B39A02509C8508CF97EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; BA2BCD20921648A42CBF54CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; BA40B3FE630313FA9BA2D9F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + BBF96D6D7EB264DFC5ACFDCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; @@ -743,8 +937,8 @@ BFC98B56313D64177AE6B385 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C0866AEADD1BEEDB904EE8A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; 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"; }; @@ -756,6 +950,7 @@ C231F5F352D49DF474C24FEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; C23443FF4BDB9A3E86414968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; C270737E2B85C6D98E145525 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + C27CF948A47CF4ADB0154B8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; C2C58E9D2874FC850CB65B19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; C2F0321856C5812A685B349D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; C30597BA9A68B8B713B95A22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -765,102 +960,119 @@ C3A16EC88BEF2A636558BB6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + C40A3633ACC2BE38B3764309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; 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"; }; 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"; }; + C620F5F75F401D131984C493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; C62FBDF34D1B74CCF12AEA2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; C6360519989E4FCC790BA870 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + C6A49922B27CB309F187006C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; C6ABA08D308E778415CF6898 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; C6F2B8AF079942AAA416357B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + C70982DACCE3C42E54F15D17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; C7F452490EA444357B4A8616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; C7FDF81A5086DC743D5BA3CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; C81552C996D8BD8F34DF73FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C8BBEB01050B2945ACFF0463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; C8F6BD92FD1A6C6799664B6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; C95991C9B99F78146321A7AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; C965E08D0024A85481D1DF9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; C99D0C24F3E96BA69958E1CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9CD5936B28C4441C29F9101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; C9D23ADF8E932519339C2B31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; C9D79E0117143436D9490C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + C9D9B94753AAB7635EBF8B80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; C9DE670EF9FCB5800D6B2CB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9EBFF5064D2B5EEE2C95FE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; CA160EB887DDC21C65629DDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; CA4911F2F0D942B431DC44F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; CAA1AEA2DA42ACE7AFBB7A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + CC10A93210BEB9F03FE3E19F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; CC165F4EACB2CCBF1A2AE269 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; CC2D834861482C02F983FE08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; CC673184948F703F2BB22305 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; CCA92680074804E3CCC86412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; CCE297D155C6D46A65A28386 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; CD0D3900EADBCE8A618D8621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + CD179625BF8D287933668EEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; CD4D6D0FF97BB38751DAC4CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; CD51916F6B9C4406FCF48C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CD79B43DAC606792076F23B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; CDB3F888E50C16B72E745EA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; + CDFF2DDB7331FB561D1673EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; CEF36257C57BD3B2095A283C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; CF0F1D933CE2A89A9D05FF38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + CF8A42DB6093892082CDFDF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.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"; }; + D1B510CC267700A4BBEAF947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; + D20019D121B51F74D9833C82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; 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"; }; + D344C6CAEE75A8D17912673D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; 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"; }; D41728E9EB1522CCAC9AC7D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; D41EA1E6002DE5DEB9A07CAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + D49AB426431211C6AAC97208 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; D4DA13E7A12FB69C072D0FA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + D5743F5D55B811BD5147A189 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; 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"; }; + D5CCBF553F4EDCB7D7063619 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; + D6F2511A04A72954F91F6761 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; 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"; }; + D773325946ED4F2F2A1285A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; 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"; }; D7C1255A555A016BA0D98228 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; D7D1FFD98DABD765479240E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7DECA17C51CE2C24AE7CAAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; }; D8101C0D25DF708FB2E446E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8A3F086596562E081EB0F39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; D8B7DCDFD32613B13AC54008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; D8C28108DE7AD0208D790606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; D8E9881F48E0A32121A9E84B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + D9207F324519739FC25FFBDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; D92D579F2458F2426E5F828A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; D950776EDF9260DB0278C132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D9857957A36A3081186D53FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + D99B064D47C6B0FDDBC66B02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + DA405752F499FEFF7C4434B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; + DA918320EF4057DF54FF8909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; DA9E577DC37123CEA41C4A71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + DB46D2DBB0D70E13D1817C71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; 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"; }; + DC720D2C398D87743BE1D2C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; 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"; }; - DD8E5D0C88FA2C287F824357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GraphEditorPanel.h; path = ../../Source/GraphEditorPanel.h; sourceTree = "SOURCE_ROOT"; }; - DDE8A5E6804C149ED936C551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; - E1159E17D9D516E0494ABAD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; - E11F864C19A939CAA1E439A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; - E146C1CCDC8EA0498CD33E5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.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"; }; - 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"; }; - C44BC6FF9CDDC132F5581F26 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - C9EBFF5064D2B5EEE2C95FE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; 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"; }; - CDFF2DDB7331FB561D1673EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; - D8A3F086596562E081EB0F39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; - D9207F324519739FC25FFBDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; - D99B064D47C6B0FDDBC66B02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; - DA918320EF4057DF54FF8909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.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"; }; DD68D7D44BC0B2CA5DCE8532 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + DD8929F0844E4C1E29AE19E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; + DD8E5D0C88FA2C287F824357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GraphEditorPanel.h; path = ../../Source/GraphEditorPanel.h; sourceTree = "SOURCE_ROOT"; }; DD91A9EB61D40F941C814090 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + DDE8A5E6804C149ED936C551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; DDE8C5406D4928C0C240E6EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; DE0712F13AD6AB6180E2E680 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DE0C4CC1CE545BAD009786E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -868,7 +1080,10 @@ DE8035865F6033F8BBF41740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; DEEFCE87BE3B9D7AFC7ADC16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; DF309886A3D26FC34280B329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; + DF3521F193C2B3A68B923033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; + DF48BF1300D80A8AB08DB1B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; DF614EDBEA2D76889E002465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF6D63C687844A7986BBB69C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; DFE18134F58A9C546AD16FF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; DFF6CC63DE1396FE7E540246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; E000EB4363C6887897FB457C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; @@ -876,6 +1091,9 @@ E0A5FEACF71A44A631B8FFEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; E0C6517F308CB034A36DEB08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; E0EEFFFFF83A3D587F4827B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + E1159E17D9D516E0494ABAD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + E11F864C19A939CAA1E439A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; + E146C1CCDC8EA0498CD33E5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; E15CF74A88E18661844F7A36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; E179C9C99270068D4ED16872 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; E1C15D4A6FE1DB712342BF2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -887,48 +1105,63 @@ 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"; }; + E2FEA89626CEA170250485F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; + E31B17A7BDE885EC489259E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; 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"; }; + E37CB01B8AD40BC0582AB040 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.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"; }; E43B7009E2DF76E52C806EFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E535F21BB1635AAD456D969B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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; }; + E6902833487D18F5A750B993 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E909E967DDE2D310BA9E75BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; 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"; }; E9B6CD16E5484D71733A15D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; EA70FDB4DC6548345E1B0915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; EA85B5D125D82A1E07FF58FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + EA98D1397FDB47AA36953ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; EAC1E2A419A40B04F87DB289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; EADA4EA211FE1AEB3DC72EAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; EADDAF5C98DBB22E5EC52A3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; EB0AAC967E485ED8F3397E4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; EB483815A529FAF11907FC6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; EB7A04549EB9E1B5BF31647D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + EBB9854E3ADB7BF7E8B24222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; EC36AAB9D50CF15ACA50AB3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; EC8A477FEDA0FEDA62A7E0C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; ECF521248AFFE80858112E0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; ED1CF17303ACA9101DBF7D18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; ED6D7454CBD1966019E5FCA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; EDA04C8DC89D432718A12A68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + EDAA2E8951499AA5A14D3163 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; + EDD5790790B44841AC6CB131 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + EDDA13FF7A19674EBCED20F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + EDE0E01089B085F7F8D1E489 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; EDE3D5B0BCDB2436CB75478F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; EE1BEF4055936CD0C543687C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InternalFilters.h; path = ../../Source/InternalFilters.h; sourceTree = "SOURCE_ROOT"; }; EEE64D599C8FCD69B5B5A4E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; EF477EDDA22EC0D60894A8A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; F0BFBF49596C78EA5FA009DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; F0E65E0A0D9C0F8D9D6A8116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + F0E98B7957BCD0180F7448C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; F1784ECBF60C425066642C81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; F186D87D177BE735EA9D6BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; F191F96929D19C734B392BEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -938,6 +1171,8 @@ F1FFDABA2B6EFBD4F57EF676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; F242FFC66D5385888A14744E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; F2D4C223196F414CB2F93163 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; + F2F98EB1749A3BBEF20EFD70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; }; + F3726BD8E679D233947F602A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; F38F7E5ADE3BB633A529778A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; F3FCF5C0D92A2991A513B0D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; F41FB10FF682A9C62523F2B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -946,6 +1181,7 @@ F5067BCDD5659E790346ECC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; F50F348D6727D72B32538B18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; F52176A07E24A5CC91D03A9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + F52545A44CFD2FDBB90A02AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; F52AF269A66132FFEC566C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -954,6 +1190,7 @@ 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"; }; + F745D6294FECA3B256E66BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; F7BB9CEE29577AED1125C1AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; F7D302AA1A08E597078C7B1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; F80C93BA19C8951FED9BF7A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; @@ -963,11 +1200,18 @@ F86F912E470660B0C7047823 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; F8700C66EB5AE3292B585E19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; F8D23A339EA851D0838B8D4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; + F8D4181043B6E13CF16E7E00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; + F8D4B164A423E3A891708A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; F95046FD2C915F846BD111EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; + F95EC8D7FBD7472EAB2614F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; F98172E9B1C7D23875AC5D81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + F995F4C35F94324F6B3E27C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA39CCD1AEE7A87056968609 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; FA6653EBE05E085359941C7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; + FA7557503AFBC2C23044C347 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; FAB21DB05497EED5CAC5125E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; FB0069171AE5E73F9E1C5173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB1D54290A3DAFB7D2FE96D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; FB5238BF24C9B0E73B7D6688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; FB5BDEC764A9719128BE27A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; FC387D5ECE3620237397F0B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -976,10 +1220,13 @@ FCE0E6E130E6EF32593CC613 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FD0A360D16FC0851ED8F12E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; FD3630D56455CA49F6784A6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDA20BA2F5B74FED41B17CA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; FDC5CCA1B1D3A41BADE24142 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; FDC8097FA49E56696A84E57A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; + FDD4BC6F71A83A3CB7B8110B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + FE419DA56FFF63357D05F14D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.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"; }; @@ -998,13 +1245,15 @@ EE1BEF4055936CD0C543687C, 1EC0F33A3BABE58138317375, 6692043E22BB181F01767845, ); name = "Plugin Host"; sourceTree = ""; }; - A6F1DE7611A8DEB7CBB92E95 = {isa = PBXGroup; children = ( + EBC9CD52F42C330D1A15D3A4 = {isa = PBXGroup; children = ( DC30BDE9C4EE1FD059D06902, CBF6F0F3C2D85A2BCC427A34, 272F04D06B1FAFF3580B0DDA, CBF04B0360867817B441AB30, FE2AEF9BD1DB54BEF726293D, ); name = buffers; sourceTree = ""; }; - F94A013CC00580A0410DBC1D = {isa = PBXGroup; children = ( + 483343FCC37B26DE9E2A4E1E = {isa = PBXGroup; children = ( + 41316825123DB61DEBF75D16, + EDD5790790B44841AC6CB131, D52F4E0C637B4685217CBEB4, 62FEE731D7AD1E711C8E4359, 9AB29AD7548053202DB38B6F, @@ -1014,7 +1263,7 @@ 05F4EC3408F31D59EF961555, 9456A4E6D28EA08E214E7233, 84B5049006C7616BFC05912C, ); name = effects; sourceTree = ""; }; - D971035C90D26D2894E5F92A = {isa = PBXGroup; children = ( + ACCE0CC8DB303F2BCB1CAB38 = {isa = PBXGroup; children = ( 0C36E600B808F79A9212B9D9, EDA04C8DC89D432718A12A68, 181BFA11FCC26F6C07E433BA, @@ -1027,7 +1276,7 @@ CCE297D155C6D46A65A28386, 21FDA7C7453AB3DA7B18EF1A, 85B472DD6B40F5663AC96CA9, ); name = midi; sourceTree = ""; }; - 1A79A47CE1BD8F7F86EFA203 = {isa = PBXGroup; children = ( + 015DEEF8AB9C81022D605F20 = {isa = PBXGroup; children = ( CC2D834861482C02F983FE08, E1159E17D9D516E0494ABAD3, 140DE913FF08066FBE9B40B2, @@ -1063,19 +1312,25 @@ E179C9C99270068D4ED16872, 575D171FD51CAF4C6991340F, 9AD566FEC509DEDAB0641666, ); name = sources; sourceTree = ""; }; - C8EDE396B98981CD5FED1749 = {isa = PBXGroup; children = ( + 18442B14CBEFD95343021A65 = {isa = PBXGroup; children = ( A551881A228D7C48EA7EA466, 8B9FDF0245BB8A4AA9996C3C, ); name = synthesisers; sourceTree = ""; }; 7E0D0991585FE7EBF8C2E538 = {isa = PBXGroup; children = ( - A6F1DE7611A8DEB7CBB92E95, - F94A013CC00580A0410DBC1D, - D971035C90D26D2894E5F92A, - 1A79A47CE1BD8F7F86EFA203, + EBC9CD52F42C330D1A15D3A4, + 483343FCC37B26DE9E2A4E1E, + ACCE0CC8DB303F2BCB1CAB38, + 015DEEF8AB9C81022D605F20, 06EA3404A1EECC2120F459C0, - C8EDE396B98981CD5FED1749, - E8052B55E5F36932E1BE3A09, + 18442B14CBEFD95343021A65, + A2053FECD0BD5EEA96A67821, + 67896E2C98F4857F93982D9D, + 627709CC8F994ADFE362022E, 67896E2C98F4857F93982D9D, ); name = "juce_audio_basics"; sourceTree = ""; }; - BF4262F477A188217C5B3440 = {isa = PBXGroup; children = ( + BD4C518CD2C742B426320C16 = {isa = PBXGroup; children = ( + E4EFA38400DEA114542E53EC, + 3D8997AC616A681F378B2518, + AAB108F5A7F3D826559E3162, ); name = "audio_cd"; sourceTree = ""; }; + F54277225A18F10D0365E29D = {isa = PBXGroup; children = ( 2696ECADDD4CF572708A2952, 8EDBBAAA918B853D54834142, E146C1CCDC8EA0498CD33E5D, @@ -1083,22 +1338,13 @@ ACEFDEF38DAB391EA33B0266, 986DCE49CDE712122B201CBA, AC3115EF08961FE738E897E6, ); name = "audio_io"; sourceTree = ""; }; - 211B416D62E7FBB52C0B58A0 = {isa = PBXGroup; children = ( + B4895DE018A31A2A6647F640 = {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 = ( + 15AA6334C73AEC9EFBF2E9BE = {isa = PBXGroup; children = ( 44AF5FE624EC693DC25C453C, A765E6FBF39366D0A40E1ECA, A9E135CB7BEA812D224DAF49, @@ -1118,31 +1364,169 @@ E7734E1F585ACB33420E44B4, AE7BE10688B3F7C18D21E9B9, D3EF8617364177AD4D247124, ); name = native; sourceTree = ""; }; + BAB9DC98A728E1E8FF97316D = {isa = PBXGroup; children = ( + 8724A36432DF521445B2496B, + 233EFCD6D704C40126925CAB, + 42DA01E6360F8AE6711AB47D, + 275701F5A51CC67E9E93E178, ); name = sources; sourceTree = ""; }; B68FC62EE96CDB34938C40D4 = {isa = PBXGroup; children = ( - BF4262F477A188217C5B3440, - 211B416D62E7FBB52C0B58A0, - 25491FD10CB917ECA58CE3A1, - 42305A7DCDCB8EBFFAE08800, - 998947D69B3E3746FAFF95F9, - 454018DB6C2723A2596566F7, + BD4C518CD2C742B426320C16, + F54277225A18F10D0365E29D, + B4895DE018A31A2A6647F640, + 15AA6334C73AEC9EFBF2E9BE, + BAB9DC98A728E1E8FF97316D, + 823B63E3AF6C3B9A3EEEFC1E, + 14E94077B6856B9AD6AE0D45, + 5656FCEE17FE65E49EF3A891, 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 = ( + 3CEABA2A0318351D2F2AC85B = {isa = PBXGroup; children = ( + 00E5F7096E8880D4B819BF3E, + D49AB426431211C6AAC97208, + 34BA8570548D06DE971B0DFD, + 36779054F3A49606560FEC5D, + E2FEA89626CEA170250485F5, + 97EB608230FCBBFD74A8CAF8, + 6D3486D6AFBFFFD8A62700B1, + 8055C0495BFCD15CCE0ABB88, + 94248B70D7A06982BE90A105, + 286A386BFB84E62762A16019, + 7FB67945621A795AA05F145C, + 270D03725927D4E777439FBB, + 1F86B0CC33755F0292BBDB1C, + 3A15C3C9A8A4A1AF8158C702, + B92DC00F22CBB04B01B69C9C, + 3EA42CD30A00C09CF230613F, ); name = private; sourceTree = ""; }; + 0A83F9F7FE27CCFF4E4A7686 = {isa = PBXGroup; children = ( + CF8A42DB6093892082CDFDF2, + 3C55392B0AE29CF3FBA5F36D, + C40A3633ACC2BE38B3764309, ); name = protected; sourceTree = ""; }; + 84742D545CE5807A2746893A = {isa = PBXGroup; children = ( + 3CEABA2A0318351D2F2AC85B, + 0A83F9F7FE27CCFF4E4A7686, ); name = include; sourceTree = ""; }; + 440ACD2AE6395A44A561FCBF = {isa = PBXGroup; children = ( + 84742D545CE5807A2746893A, + 3A834AB94715C86A3ADBC4F0, + EBB9854E3ADB7BF7E8B24222, + 8ABAAC332D59E014EAA0D6A5, + FDA20BA2F5B74FED41B17CA3, + 1D732226BC03760D54CB3CA1, + D7DECA17C51CE2C24AE7CAAD, + 366230275BCD3FBEB05E7EED, + 144FEDE49D0F6681E8DD861A, + 40F844A12BAAB7BE1D4417A8, + DA405752F499FEFF7C4434B0, + 99E62BD1F9B1CC1A66EBC862, + CD79B43DAC606792076F23B2, + 74A5FA88581FA9D8555EB4E7, + 32A0635D492C53B2523C8BFE, + 881F6BF9707166A23403AEF1, ); name = libFLAC; sourceTree = ""; }; + 181571200BACA99AAD45BFF7 = {isa = PBXGroup; children = ( + 440ACD2AE6395A44A561FCBF, + 3A35F066CD840A7FA49BF11A, + CC10A93210BEB9F03FE3E19F, + 33F6E0B050DD6FDD2F344822, + 762A527676B2324439BB0318, + 41792E1FC32BB1E2756D11E6, + 10121C7796D618BB642CBA10, + 0C192692914D3DD33682B719, + A801145B8C1A605D6405FADA, + 8374239763902E8C4C242FA2, + 967891A13B7D59EA23F09C0B, + 1F17FC38C2365D297AC163B6, + 8C0BE7D3C0F86224F26EDE75, + 40D8DCB0B5EB0CE98212D2D2, + FE419DA56FFF63357D05F14D, ); name = flac; sourceTree = ""; }; + D40D35E48C759F62119AEF88 = {isa = PBXGroup; children = ( + 4F3043A41FC09A5E8C4FB45B, + DC720D2C398D87743BE1D2C5, ); name = coupled; sourceTree = ""; }; + F53E62330673CD6E425FDB03 = {isa = PBXGroup; children = ( + 51CFA361F2E67EE635CAFD7C, ); name = floor; sourceTree = ""; }; + 0AE12F1DBEC3087722A7D14E = {isa = PBXGroup; children = ( + 354D3741A13AE8B0B94CC98A, ); name = uncoupled; sourceTree = ""; }; + A748651C72B7776A59B3AFA8 = {isa = PBXGroup; children = ( + D40D35E48C759F62119AEF88, + F53E62330673CD6E425FDB03, + 0AE12F1DBEC3087722A7D14E, ); name = books; sourceTree = ""; }; + C6C9B334088A936327622767 = {isa = PBXGroup; children = ( + 9CF6B27697F73F2C73488951, + DF6D63C687844A7986BBB69C, + 4E5E316DB87E91690D6BB6AC, + 3BE7148823DF97B2209DEB31, + 6E23F9C5F8B5C422754BB249, + 1E600B45103B4472FD0FC018, + 0907AC75543E6C12820F7D23, + EA98D1397FDB47AA36953ACF, + 6D90AD67AAC1FE06EACF6375, + 6D4B6FD4935838492CCF69F5, + 25D885EF934AE50947CB1A94, + 1060178900920612B0069483, + 33A6055266903076CBBF4CB0, + DF3521F193C2B3A68B923033, + 1DCB584634C92F5EE1C48B23, + E37CB01B8AD40BC0582AB040, + B431A910596B7440F3E6906B, + 33F1FB44C89F151882EF6D71, + 9FFEA22E5138C8654F5D4826, ); name = modes; sourceTree = ""; }; + AEF6AB76F2701D692B95B97B = {isa = PBXGroup; children = ( + A748651C72B7776A59B3AFA8, + C6C9B334088A936327622767, + 564F9299EB2F08C8A2AC521A, + D5CCBF553F4EDCB7D7063619, + D6F2511A04A72954F91F6761, + 037CBE04C512D729799A4A9B, + 38E043F473FE4BBF767625FB, + 5E43742554F30681F52E15DC, + 3DE9E119B52FC92D0257EFE2, + C6A49922B27CB309F187006C, + 2D132B0800D5B3C3E92A4908, + 297E6FF8E07F948AC3A64D9E, + 5F4BAD433A2C1C578C1AC72D, + 958F0689D4288AC7916C9FDD, + 8D8609104D64B8E4B1A6025F, + 3DDA0A079266D6E94BC3863D, + 61627B7AC0E3834176CFD7CF, + 6C3B6E0BDD8E8C4356E9FAF8, + AF4F6BC331B047860DE82A96, + 0D0C7A801F03C690FA1ED2FA, + C0866AEADD1BEEDB904EE8A3, + 0C54F5EBF7E20EEC867659AF, + BA12B39A02509C8508CF97EE, + A4E002249AC77E88A9641C70, + 98109925DC33B467F1160556, + 3FE9B7F3DE9EB0276E0397E5, + 2B63F7415B6308121E240908, + 2F030EECACCAF0A8C6B61C06, + A55072A87E77CBAA55DEBCA7, + 5195F3F65ABBB72B43E67FBF, + 778BF6A232180B581B3CE7CF, + 7E0837332D98DB886656A36E, + 5F43911A79C1714F32EDA8BB, + B067FEDCCBFF3F20221CF8BE, + 03941BB8A31809A0EBA9F3AD, + 1F1BE26794786813BB30A34F, + FB1D54290A3DAFB7D2FE96D2, + A2A90A94D4A7FD4966BE9C86, + 2936DACB6500BB65DDFE196E, + 36EE1040251F32EEB23D85A6, + 60E29A19B53E835D7BBD3C8E, + 2FC37B75172C6E6DAD8E0F5F, + 7A351E0A28081F7A953032BC, ); name = lib; sourceTree = ""; }; + B3A46DA9148FBFDCB7C37C21 = {isa = PBXGroup; children = ( + AEF6AB76F2701D692B95B97B, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + AD0CBDFA99DBB6A5F5E59FBB = {isa = PBXGroup; children = ( + B3A46DA9148FBFDCB7C37C21, + 35905348656081EF1216DE74, + 245A4C5B4BF8CDA6D25AD34D, + 0FE87C795742256815BEF9D0, + 93C10B4C5F82D5F7BB3FA539, + 45AB3E36CCF7999C1B5F6A45, + C8BBEB01050B2945ACFF0463, + 3B1D56D7A6DBA2F0A0E2958C, + E6902833487D18F5A750B993, + 3561850C0FE5D043FE8437C4, ); name = oggvorbis; sourceTree = ""; }; + 009FEDDE7BABD0C7D65F4769 = {isa = PBXGroup; children = ( + 181571200BACA99AAD45BFF7, + AD0CBDFA99DBB6A5F5E59FBB, 65B1DFA235AA3EC8A97ED165, 996E2AA55013AAAF7A7A77D2, 76EFECDC45A0440B27ACF79F, @@ -1161,16 +1545,51 @@ 62D47E931F8FA1A92BB34D22, 08BB822C06B477E4FEF7FCD8, C371DC1B5AA7CB8029D130FB, ); name = codecs; sourceTree = ""; }; - 933AC654FC62BD33490E9013 = {isa = PBXGroup; children = ( + 38556F381D267EAF26A43D67 = {isa = PBXGroup; children = ( + 27889951D3882FCCFD67BE2E, + C7F452490EA444357B4A8616, + 83058EC5B42D7531AC6E82F9, + D8A3F086596562E081EB0F39, + 7CBB1C386813A3FDA3FEBB5A, + 33A86A4C3C474B170CBC7983, + 6D8D5FF611A28415AC63C463, + E4A23878398A810023FB91B6, + DE0C4CC1CE545BAD009786E4, + 9C5985D23D720486ECE15438, + 1956DE1CE89301FE4FC9BC15, + 28D1167CDA9D76A8F2E18289, + B27DA9B3796834535AE69A15, + E7FB3A96620A06520A759BDE, + CC673184948F703F2BB22305, ); name = format; sourceTree = ""; }; + F395513206DD247AC0033CE2 = {isa = PBXGroup; children = ( C3A16EC88BEF2A636558BB6C, C08CEA80C09A398668B42CF9, ); name = sampler; sourceTree = ""; }; 20F1F477AA0153F6BC22A92A = {isa = PBXGroup; children = ( - 61D9195DC6BBEE70BDCC72CB, - 308325DB4B3564BCDCA0B21E, - 933AC654FC62BD33490E9013, - C44BC6FF9CDDC132F5581F26, + 009FEDDE7BABD0C7D65F4769, + 38556F381D267EAF26A43D67, + F395513206DD247AC0033CE2, + 6D831425251C13405C9EF2AF, + 1B6A039FE3A63210FC1936D2, + 084D91B2AD459A0FEBEFD449, 1B6A039FE3A63210FC1936D2, ); name = "juce_audio_formats"; sourceTree = ""; }; - 15BFAA3F0477E1AB95F6708E = {isa = PBXGroup; children = ( + 0A8EC3BAE84B17F0CCFAA08E = {isa = PBXGroup; children = ( + 157C1BBF0329BDB102534A38, + 7EC4BF7FFDD52F005ACDF6CC, + C231F5F352D49DF474C24FEF, + C9EBFF5064D2B5EEE2C95FE1, ); name = format; sourceTree = ""; }; + 8A1776147DE1F56F2AD018F8 = {isa = PBXGroup; children = ( + 4CAFE02422227FB8CDD130A5, + 397E6AC0BA27761D41FF7E5B, + C2F0321856C5812A685B349D, + 0CF846BB5ABA7ACA6ED15DAF, + CDFF2DDB7331FB561D1673EF, + D99B064D47C6B0FDDBC66B02, + ACE3FF969AC408A50E9A6A4C, + B1CA1F3AE7555C4FB4CE52D2, + 10EE0138720A51EBAD46FFCC, + A53F1F6AAA9F18823C239E6C, + C270737E2B85C6D98E145525, ); name = "format_types"; sourceTree = ""; }; + 28B2A64060E5DD1193AEDD8F = {isa = PBXGroup; children = ( 1AB268A2EC53E0104B612174, 147E02A7F9A65F317BE4256D, E2696473F0CBB933DB4BE257, @@ -1187,24 +1606,7 @@ 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 = ( + 62236C627F4DE4A894D8A09A = {isa = PBXGroup; children = ( C348ED5DC9B29CCB522F6E10, F1784ECBF60C425066642C81, 153F2B5FB382661231D97398, @@ -1221,14 +1623,16 @@ 2E82C650752108DC296CBD6B, C8F6BD92FD1A6C6799664B6A, ); name = utilities; sourceTree = ""; }; 0FB8D0CA8D202CE76367B337 = {isa = PBXGroup; children = ( - 15BFAA3F0477E1AB95F6708E, - 4511F924BA2FC3223841E583, - 2C404A58AA34132545445D9A, - 2E2CB9372F7916D27F0DDD45, + 0A8EC3BAE84B17F0CCFAA08E, + 8A1776147DE1F56F2AD018F8, + 28B2A64060E5DD1193AEDD8F, + 62236C627F4DE4A894D8A09A, F0B73165A2FD3FCE2464EAAF, - B13108F6CE0124C355234332, + 59808039879586960196605F, + 973D507D2DF9F9FDE7A59EB8, + D5C074653417ED69A2B570AC, 973D507D2DF9F9FDE7A59EB8, ); name = "juce_audio_processors"; sourceTree = ""; }; - 1AE19A571132D74271CC56C8 = {isa = PBXGroup; children = ( + 124E418CC9F0EADCC90BE628 = {isa = PBXGroup; children = ( FCE0E6E130E6EF32593CC613, 7DBB713E52BEF9A059959B9A, 211E522AB68EFF013607E737, @@ -1243,72 +1647,24 @@ 36A8732CDDD0385A39012D18, CAEA69EBB9B2A4C60A991E80, 6A1B2858C988AA78ED3240F9, ); name = gui; sourceTree = ""; }; - 62D3802214BDE2F16E4E096A = {isa = PBXGroup; children = ( - 370374649557B8288479B99A, - F86E07B5B542F6F4B7F77A4F, ); name = players; sourceTree = ""; }; - 5F3A082E0ADA4C32F5207896 = {isa = PBXGroup; children = ( + 8172BF790F1E5A471E8D1C58 = {isa = PBXGroup; children = ( F1B643F08AF0BCB7C9E7880F, 156C01AA299B6079BEB4690F, F191F96929D19C734B392BEB, 3A94337CF17F8EBF0C72D174, 9D77769D5A899B4E435AAEFA, ); name = native; sourceTree = ""; }; + 0A772CCB43ABD6159310846F = {isa = PBXGroup; children = ( + 370374649557B8288479B99A, + F86E07B5B542F6F4B7F77A4F, ); name = players; sourceTree = ""; }; FD5B55759ED270C0BD315748 = {isa = PBXGroup; children = ( - 1AE19A571132D74271CC56C8, - 62D3802214BDE2F16E4E096A, - 5F3A082E0ADA4C32F5207896, - 5B1692FF63FBBA5E54EA1650, + 124E418CC9F0EADCC90BE628, + 8172BF790F1E5A471E8D1C58, + 0A772CCB43ABD6159310846F, + 12859C280C98C8F5A8B3A5D1, + 10BB6B4CD8BA76B7D9A2237A, + FE7C03DACFC725D712D9F508, 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, ); 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 = ( + 0A132A7F8683367F58879F87 = {isa = PBXGroup; children = ( 207C876A93611B390835E9AE, 4FA1E94FC0C6D34B11B0EBB7, 83194D29771D3C050947E4D1, @@ -1330,37 +1686,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 = ( + 5D8B8DDCD1105D46F6D73207 = {isa = PBXGroup; children = ( C9DE670EF9FCB5800D6B2CB1, 2262CE2D78DF21DEB57A568F, 2438BFA58600C961EC1238F1, @@ -1378,7 +1704,81 @@ 09E43355AE1252B8AB082EE1, 401D435B1E3BB47A7861FA01, 7EB9FBC9366AE99B264DF62A, ); name = files; sourceTree = ""; }; - E6CB178621202FED053F258C = {isa = PBXGroup; children = ( + 8C985B136C135FD0311279C4 = {isa = PBXGroup; children = ( + 8F7E8852557F6A98C0318EFE, + 408CCD7445F5DE2606E9CC4A, + 5F30DEDC2EA258EA4E1D4CE2, + 32E6B2D42B9D76247AA457AE, ); name = javascript; sourceTree = ""; }; + 68786375F1730B1E93E82E0E = {isa = PBXGroup; children = ( + 998B59D65961E550702C68E6, + F712C46F57A69D46ED097769, + 0EECB5C7D6CD9F1CDFEC50A7, + 9A9A502734C24B864BC3A821, ); name = logging; sourceTree = ""; }; + E6F4C396557128EE121E1B8F = {isa = PBXGroup; children = ( + 2F3216D7BDE0A21418D248D2, + 3D21EF742E7417A581DB960E, + B454943748D0748AAF53A06F, + AA668D8E33AD917D7DFC70E2, + 019F11A3E089B1C82CA1B0E6, + 1ADCEA9B6A82A41D7D95CB2F, + 7212B20D3521AA3B9C1F544F, + 1E9F515675116BDE81543FA0, + E47E7E5220482A860A16C572, + 8D37BBBF3B61D1BD1F4AAB7C, ); name = maths; sourceTree = ""; }; + 423DA2C3FEC64522CEF4DCAD = {isa = PBXGroup; children = ( + B27CEFF5B55B38F2BEB141D1, + BA2BCD20921648A42CBF54CC, + F50F348D6727D72B32538B18, + 3C927C2F9A7F27474B0F6F0A, + 55C12E0D6CED99B76CAA7255, + 8C45248B3DA51C23552039C7, + 68C80DF0C23F4019E1508050, + 432D03EFC793884A7F0CB497, + 2176F72FC750E8376E696CAF, + CF67033CFC21C0060B538042, + E6EDE8F1BBF28362AC9E1F28, + B9D2E7D1B6610271E1B359D6, + D06DA3FA113EAB0CCF8D7A64, + 94B986F221A8369B8DE3D986, ); name = memory; sourceTree = ""; }; + 3B584D0556CBDAE85672BC39 = {isa = PBXGroup; children = ( + FCC1B59EB0F8C430693F5832, + 5855BA9AD11D9A3AE9FAF972, + 78875B2B4F65847781B66F8A, + B159ECAA4A14524B34DC6318, + BDFFFE03DA4E5B92784AA075, + A2FB8F9EFCA86F0F9A80F8B6, + 480EB4F8B71B880C74AA82F3, ); name = misc; sourceTree = ""; }; + 3EAEBEE3AF82B40CEAD37ECA = {isa = PBXGroup; children = ( + 1B66DA53B7D5FA3EE1E5167C, + 509E4AF447B1364C75166396, + 186506262CEC83666E9D7B83, + C99D0C24F3E96BA69958E1CD, + 31ADFF06ADC415775B7BDF9E, + 0CF109BF3F732E4EF35B936F, + F86F912E470660B0C7047823, + DD91A9EB61D40F941C814090, + 0A39606D0B22B2EDBBC78B98, + 803AF348E521D67784E549BD, + B68AC7B4F3FC1B8A5901D798, + 8631F1A3977094D072BA5AD9, + 519EBF4B462F5C0FC3375D2C, + A249AD24A52F52ACBFDA6149, + D2B9A1F1B4A3D683D0F39B78, + 87C21E57BEAE3789837E3EE7, + 71CBC1D0C969794AF761074A, + 8314138DE15393AF9E2DB351, + B7B7604E8A98425AE2370573, + 057E1EF2AE99025ED2E5E624, + E0EEFFFFF83A3D587F4827B4, + 8F9D814E822A55AAD612D8B9, + CCA92680074804E3CCC86412, + 3E0DF46C5A79C99C41F74EE9, + 0452498F0477C7163335153C, + 2D66F910B2E0AEBA3E03B844, + 69EA4B2E0B25996FA6A1AA5D, + 8485232DCFA245EB3054C805, + 19B542AA1D44A48137994C9B, ); name = native; sourceTree = ""; }; + 79D0E2B4A0D03CE31F35980B = {isa = PBXGroup; children = ( D8101C0D25DF708FB2E446E5, 52A6B25C0C36615B02DFC21B, 310D69A7E400545D95F9F489, @@ -1389,7 +1789,7 @@ 2CA584226C55F38D81D05A38, 0AD649B7CF3F9E2A8C875081, E000EB4363C6887897FB457C, ); name = network; sourceTree = ""; }; - 62EFDF6C83F89F3EF6548773 = {isa = PBXGroup; children = ( + F4668068AEF190621CE35505 = {isa = PBXGroup; children = ( 01A717DA37FEFAD85FBB4903, E266710E1EB05EA9BCA234A8, B6132D51F0C7215E8892A4D0, @@ -1405,92 +1805,128 @@ 5A835BB9C7C51847701951A1, 515E7CFD1F0A52B7E8C54532, BDC9ADEBD70EED757647B998, ); name = streams; sourceTree = ""; }; - 87C9530BFFA9CF3EE1B4761C = {isa = PBXGroup; children = ( - 998B59D65961E550702C68E6, - F712C46F57A69D46ED097769, - 0EECB5C7D6CD9F1CDFEC50A7, - 9A9A502734C24B864BC3A821, ); name = logging; sourceTree = ""; }; - E55C68544FBE98EA5E64A3D8 = {isa = PBXGroup; children = ( + 076CBA81A85DE0CA0DDE2831 = {isa = PBXGroup; children = ( 24EB96F7B504F9C0BFFCE5C8, 33AEA79FA021494782972910, 0D33C38BAB4F78D0D2E87F12, 21706F4B9B65E7715A598F27, 5CAD4033015519DB9995E82C, DDE8A5E6804C149ED936C551, ); name = system; sourceTree = ""; }; - F9C132756017450F66695D0B = {isa = PBXGroup; children = ( + 081BD56C2159EE4DD8612C2E = {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 = ""; }; + 2A1C53ACAD2FE91223E3BD87 = {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 = ""; }; + B3EA01011A63359B88463754 = {isa = PBXGroup; children = ( + 71323E00D1742D3DC5E00C67, + 5504DAC58359F306457FAE4F, + 945D99278B387FC0B627D967, + E0C6517F308CB034A36DEB08, + F7D302AA1A08E597078C7B1F, + 4D664CA1434E85BEA96E6E1B, ); name = time; sourceTree = ""; }; + 41C36B330B72D9F9BF8A91C5 = {isa = PBXGroup; children = ( + 91E5C5E061E45FCC192C074B, + 7340BFA6BC995EDB51DB070D, ); name = "unit_tests"; sourceTree = ""; }; + 4D5D07B04252A775982950F3 = {isa = PBXGroup; children = ( 0CC13DE18B3E9166C9782E63, D7433453EBB3700D2805FF42, BFCA358DEECC78ABB7B6E8A5, 32046EA191CFD25B047706EB, ); name = xml; sourceTree = ""; }; - 1BAB3BDBA8A0404CEB776482 = {isa = PBXGroup; children = ( - 8F7E8852557F6A98C0318EFE, - 408CCD7445F5DE2606E9CC4A, - 5F30DEDC2EA258EA4E1D4CE2, - 32E6B2D42B9D76247AA457AE, ); name = javascript; sourceTree = ""; }; - 99FC2F88DDB8DA44C7DA1EC7 = {isa = PBXGroup; children = ( + 8E0F9DC959580C38DEE72779 = {isa = PBXGroup; children = ( + AB5B751057812CE3E0C9EDE9, + A4F1C754AEEA0C01A9CF3B65, + D1B510CC267700A4BBEAF947, + 82A5E167B77E971EB1E3720D, + 266F7D6CD0EED4E20B949EEF, + 720AF3E1EF525C82B816BDA9, + 12B6B66E1F63D9888366AB98, + E535F21BB1635AAD456D969B, + A3C35D3106F9B4807D59BCD2, + 66E794F08C5AE6A1DB818651, + A6FF6610181D6A0F86B0A1EC, + 099165D92F30287F138C19FB, + 61D7BA3BF0C4B8B2AF7CBDA2, + 6F264BFDFD695F1AA75AB7F8, + 30DC449187E9C5359D3AA4A3, + A408A0417ABB85CCA00418EA, + B62090B7C9319CABE8ABCF26, + 50E62E971611378FEBE4164E, + 7357931BEBB80D3754EA987A, + 19AC4CDF00D2CA9FCC4700BE, + 18D9104048F8165BCA37A44B, + 584036B8EED72B3F6373B25F, ); name = zlib; sourceTree = ""; }; + 545ECAC08D54FCBB3EA7B18C = {isa = PBXGroup; children = ( + 8E0F9DC959580C38DEE72779, 8DE516ED09DF5989C03730B9, 2AD8651609A9CE31D4673846, 34D73FE5FBC2197DD353ACA3, BFC98B56313D64177AE6B385, 0FAD0D2057E7174BE0156828, 76E4D8FCD61BCB53103C63C4, ); name = zip; sourceTree = ""; }; - B07FE683EDE64153F74A4266 = {isa = PBXGroup; children = ( - 91E5C5E061E45FCC192C074B, - 7340BFA6BC995EDB51DB070D, ); name = "unit_tests"; sourceTree = ""; }; - B8B3269B78FB425E1364CAA0 = {isa = PBXGroup; children = ( - FCC1B59EB0F8C430693F5832, - 5855BA9AD11D9A3AE9FAF972, - BDFFFE03DA4E5B92784AA075, - A2FB8F9EFCA86F0F9A80F8B6, - 480EB4F8B71B880C74AA82F3, ); name = misc; sourceTree = ""; }; - 44378E8A7F2CD07EDE8C8606 = {isa = PBXGroup; children = ( - 1B66DA53B7D5FA3EE1E5167C, - 509E4AF447B1364C75166396, - 186506262CEC83666E9D7B83, - C99D0C24F3E96BA69958E1CD, - 0CF109BF3F732E4EF35B936F, - F86F912E470660B0C7047823, - DD91A9EB61D40F941C814090, - 0A39606D0B22B2EDBBC78B98, - 803AF348E521D67784E549BD, - B68AC7B4F3FC1B8A5901D798, - 8631F1A3977094D072BA5AD9, - 519EBF4B462F5C0FC3375D2C, - A249AD24A52F52ACBFDA6149, - D2B9A1F1B4A3D683D0F39B78, - 87C21E57BEAE3789837E3EE7, - 71CBC1D0C969794AF761074A, - 8314138DE15393AF9E2DB351, - B7B7604E8A98425AE2370573, - 057E1EF2AE99025ED2E5E624, - E0EEFFFFF83A3D587F4827B4, - 8F9D814E822A55AAD612D8B9, - CCA92680074804E3CCC86412, - 3E0DF46C5A79C99C41F74EE9, - 0452498F0477C7163335153C, - 2D66F910B2E0AEBA3E03B844, - 69EA4B2E0B25996FA6A1AA5D, - 8485232DCFA245EB3054C805, - 19B542AA1D44A48137994C9B, ); name = native; sourceTree = ""; }; 963F1FFE9D4C25330F2080E8 = {isa = PBXGroup; children = ( - F4B07146A0E018D967C32242, - 0DA42F9BE820CD85C34E691D, - ED01F8C5F7FD933BE10FE1CB, - D295FCA29CAA8C0F9C29CE78, - BA0A80C9F9F00B56EEC9DC15, - 4E78321340EB54214504DAD8, - 55D355B98D1C8330701E9322, - E6CB178621202FED053F258C, - 62EFDF6C83F89F3EF6548773, - 87C9530BFFA9CF3EE1B4761C, - E55C68544FBE98EA5E64A3D8, - F9C132756017450F66695D0B, - 1BAB3BDBA8A0404CEB776482, - 99FC2F88DDB8DA44C7DA1EC7, - B07FE683EDE64153F74A4266, - B8B3269B78FB425E1364CAA0, - 44378E8A7F2CD07EDE8C8606, - 65D458CF07A4C80209FE2572, + 0A132A7F8683367F58879F87, + 5D8B8DDCD1105D46F6D73207, + 8C985B136C135FD0311279C4, + 68786375F1730B1E93E82E0E, + E6F4C396557128EE121E1B8F, + 423DA2C3FEC64522CEF4DCAD, + 3B584D0556CBDAE85672BC39, + 3EAEBEE3AF82B40CEAD37ECA, + 79D0E2B4A0D03CE31F35980B, + F4668068AEF190621CE35505, + 076CBA81A85DE0CA0DDE2831, + 081BD56C2159EE4DD8612C2E, + 2A1C53ACAD2FE91223E3BD87, + B3EA01011A63359B88463754, + 41C36B330B72D9F9BF8A91C5, + 4D5D07B04252A775982950F3, + 545ECAC08D54FCBB3EA7B18C, + F745D6294FECA3B256E66BC2, + D9207F324519739FC25FFBDE, + 2C7BFA88B40379944B653289, D9207F324519739FC25FFBDE, ); name = "juce_core"; sourceTree = ""; }; 8629449742ADA6A404EBFD7C = {isa = PBXGroup; children = ( 6D9F04D6B71B3E81490D0A92, @@ -1499,7 +1935,7 @@ C7FDF81A5086DC743D5BA3CE, 8DC4B4827EADA21F12AF5261, 9AE7D40408E912AEEF369B79, ); name = encryption; sourceTree = ""; }; - C41C86FAEFC4DCDEED0CADA6 = {isa = PBXGroup; children = ( + E1B806D7BE7EF96DD8834966 = {isa = PBXGroup; children = ( 3980F583D83A27EB63686E78, 9E4AFC5B859D0F68A5FE2AED, 631CFB42885BA2C6DCB84B84, @@ -1508,51 +1944,38 @@ F857894861B22F22FC9E020D, ); name = hashing; sourceTree = ""; }; 90D2D8B52FBBAAB20B9AF34A = {isa = PBXGroup; children = ( 8629449742ADA6A404EBFD7C, - C41C86FAEFC4DCDEED0CADA6, - 44B8CAEA9946E2D8B72B85FB, + E1B806D7BE7EF96DD8834966, + F995F4C35F94324F6B3E27C5, + D7C1255A555A016BA0D98228, + F69282947987DE2626D23C52, D7C1255A555A016BA0D98228, ); name = "juce_cryptography"; sourceTree = ""; }; - A9DFE97A13170B69A8695E64 = {isa = PBXGroup; children = ( + B326D2CBA25250D6F5978016 = {isa = PBXGroup; children = ( + 09D4B1BC3B3713EB3E9E01E0, + A00EEAF2F98E0988499D2A92, + 5BB7139B57A1A26610868241, + 9816ACC9B8829949AE529AC6, ); name = "app_properties"; sourceTree = ""; }; + 0013922CD346FA83F9A109C5 = {isa = PBXGroup; children = ( + 032E2ADE43B3115AB59A6393, + E6E9A8E11791B4B4D6B3E6D4, + 4F5AE334AD243259E370E8CE, ); name = undomanager; sourceTree = ""; }; + C7374F5BDE78EFAD0C0C2339 = {isa = PBXGroup; children = ( + 66B4F5A7E315FD4C143A632C, + F95EC8D7FBD7472EAB2614F3, 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, - A6090B818F28F34C736741E5, - 0EA0B48C2C5AA767B9D74E68, - 956BE0B32D5B1410E43A3C58, + B326D2CBA25250D6F5978016, + 0013922CD346FA83F9A109C5, + C7374F5BDE78EFAD0C0C2339, + A33C3431D27F0B126C692839, + 3CF78C2D83C6C4AD2E7B252B, + 2E6595F3A8D97841A49BAC85, 3CF78C2D83C6C4AD2E7B252B, ); name = "juce_data_structures"; sourceTree = ""; }; - 2309ACFADE8AB531F61A6B1A = {isa = PBXGroup; children = ( - 22C83465279C6EEDDCB60DE2, - 4D2D008FEC5F93DEFFBE4B56, - DAF7C72A4348C33364BB654C, - 2C89A067250927662671E7ED, - 8F52C3A930CF0890DFC369B6, - A4415F486152A5002A924E02, - FB5238BF24C9B0E73B7D6688, - 66DF7C3FFFB44D01D73161C7, - 636CAE668CCB52F8F15666DD, - 901F35034A6F498B6035F024, - AD3B0EEC6220F38CC01E03A0, - 23E4EF3E21E3D1DBD0A888B3, - 96984B45C557D5385014EE96, ); name = messages; sourceTree = ""; }; - 90C6AFB2E5E850D2FE3F2540 = {isa = PBXGroup; children = ( - B80E25C493097974BA36BEF4, - E2587C4B5F37914CBB32CF88, - 9B46421089152275D0DEA003, - 0DA5B57EE8F2881C90FB047E, ); name = timers; sourceTree = ""; }; - 0EEB2E20492183F0974763EE = {isa = PBXGroup; children = ( + EEB91E0A6A890079DCDF78F0 = {isa = PBXGroup; children = ( D314CF2F97529FCF35042263, DA918320EF4057DF54FF8909, A6C1DF1F0A364CE60B59B34D, @@ -1568,7 +1991,21 @@ 1CBCE7A7D4723D88F4A7CEB2, DB246262CA669F13ABDDB33E, 4C46D1CE125E2770BF5D0E36, ); name = interprocess; sourceTree = ""; }; - FF5CDCEACC87B2E147E0B458 = {isa = PBXGroup; children = ( + 6BDBD5539926B857686A25D2 = {isa = PBXGroup; children = ( + 22C83465279C6EEDDCB60DE2, + 4D2D008FEC5F93DEFFBE4B56, + DAF7C72A4348C33364BB654C, + 2C89A067250927662671E7ED, + 8F52C3A930CF0890DFC369B6, + A4415F486152A5002A924E02, + FB5238BF24C9B0E73B7D6688, + 66DF7C3FFFB44D01D73161C7, + 636CAE668CCB52F8F15666DD, + 901F35034A6F498B6035F024, + AD3B0EEC6220F38CC01E03A0, + 23E4EF3E21E3D1DBD0A888B3, + 96984B45C557D5385014EE96, ); name = messages; sourceTree = ""; }; + 3E82C6511C6C840168E72812 = {isa = PBXGroup; children = ( C6ABA08D308E778415CF6898, 2D232BDD2ACD9FEE40D8BBD6, 9C7CAB6C6295501E2487AD8D, @@ -1577,15 +2014,22 @@ 5EC7BB194C80F36EA9D6801D, 3EFBFA5735C496DC209ED1CE, C43150F92FA4DE8381209FA4, ); name = native; sourceTree = ""; }; + 7AAB6D950B256AF775D45F8D = {isa = PBXGroup; children = ( + B80E25C493097974BA36BEF4, + E2587C4B5F37914CBB32CF88, + 9B46421089152275D0DEA003, + 0DA5B57EE8F2881C90FB047E, ); name = timers; sourceTree = ""; }; EC43F7A66E15E268F1E9B58C = {isa = PBXGroup; children = ( - 2309ACFADE8AB531F61A6B1A, - 90C6AFB2E5E850D2FE3F2540, - 0EEB2E20492183F0974763EE, + EEB91E0A6A890079DCDF78F0, 0428FCC83BE962CAFE8CAB3D, - FF5CDCEACC87B2E147E0B458, - C0AB1E87CD628F5534F41588, + 6BDBD5539926B857686A25D2, + 3E82C6511C6C840168E72812, + 7AAB6D950B256AF775D45F8D, + 9E31F65DFED5B98C088C0A9D, + 91A1AAFFF5016EB8BB0487C8, + DBD90FC88456B62308AD9AD0, 91A1AAFFF5016EB8BB0487C8, ); name = "juce_events"; sourceTree = ""; }; - EEC8570C058DC7EBFF48BF5E = {isa = PBXGroup; children = ( + 1FE4FA47722145F3C8CFCFDB = {isa = PBXGroup; children = ( 9F026AC7E95B4C723F18903C, 948E45DD03D0E15E88185F11, 69A51A0BC173CABDC13626B8, @@ -1595,7 +2039,7 @@ 7646DD91B282525F32FB8518, 227B40C6340AE16D354CCC7D, E3CCF4D578B2D6C84A9A5303, ); name = colour; sourceTree = ""; }; - 2509ACBE42B0AAA5D85568AC = {isa = PBXGroup; children = ( + EE6B79D02D008C51A5F195C5 = {isa = PBXGroup; children = ( C95991C9B99F78146321A7AB, B1068476E683AADD3CD8AD55, 69354ADFBFB65D670D29655A, @@ -1603,20 +2047,26 @@ 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 = ""; }; - D10474DE9F22E085B447ECD8 = {isa = PBXGroup; children = ( + 090F0825B99D64023D847F2C = {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 = ""; }; + 4D802E9547B71A639F6EBB10 = {isa = PBXGroup; children = ( 4E253133CB4CB9F858D9E474, C10210AA8B1DD67E6943A2D4, C45FD137A5257D8C39F2063E, @@ -1632,30 +2082,105 @@ 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 = ( + 0997DB8727A97BBA21229141 = {isa = PBXGroup; children = ( + EDDA13FF7A19674EBCED20F1, + 8CB905FE3456BFBF3AC9E646, + 87138675694CAFCB168609BB, + 08C32338C68E93D595A305CD, + 13C087E8BC57CF709CBCC74A, + A9A2451E637375B1EDCD2855, + E909E967DDE2D310BA9E75BC, + 4117B7BBF0AF7CD19F7FF54B, + 6866CCD7908651EF6777710E, + 8A748451C21C0A20E6B7302E, + E31B17A7BDE885EC489259E5, + D5743F5D55B811BD5147A189, + 9C7203B16B0114B9B1F155BC, + 7B2D52FD79409052252E1288, + F8D4B164A423E3A891708A59, + C620F5F75F401D131984C493, + 588A1A5498A91DC55EB7AFA3, + EDE0E01089B085F7F8D1E489, + 5AE566917D38FF536C8A3DB3, + 1C758D462DA1C8FFB03070E1, + 03839DCA6244CF4907E23F2D, + ADA9AE2E8876F5487CE01368, + F52545A44CFD2FDBB90A02AC, + C27CF948A47CF4ADB0154B8F, + 9423D0504135CCA49F5594C1, + 08BE47157C8FB7CFCF39CDBA, + 882C4BD3EC237BF976997DE1, + 2A698ADD02E9AEA81193E03F, + A054A7A26979B1836C19C83D, + 4AE7D510CA4464BB2D46D875, + C9D9B94753AAB7635EBF8B80, + DB46D2DBB0D70E13D1817C71, + FDD4BC6F71A83A3CB7B8110B, + 51A90E0FF371DD9EC53E57B7, + D20019D121B51F74D9833C82, + EDAA2E8951499AA5A14D3163, + A29F96BDAE834E994CC785F4, + 7912A0C917C401853EB819CC, + 18E3B04768DEA4B5699949C3, + F3726BD8E679D233947F602A, + 31E26B0962C9C464A1DE9377, + D773325946ED4F2F2A1285A0, + B6C23D13BF26C4856900F5A2, + F8D4181043B6E13CF16E7E00, + D344C6CAEE75A8D17912673D, + 2566C16790C96712841F453D, + A5ECCFABF956E5FD1FE9DA51, + 28B2C2CDA9BE1C20E5B322D3, + 1D4555D7A23798887B5BF41E, + 2A265848ED203A190A454C39, + 2D9A06DD16F2E14319C71825, + 3D9187AAF3201133F6B2A117, + 6AD3D4BEBD59F0952EA7EF29, + 1A80ACE5E89272455CFDBE73, + 3BFD614A4479B548275AC13A, + 2FD69071A05B29DD34C9C13C, + BBF96D6D7EB264DFC5ACFDCD, + 893A60E8B6E1F4BF07782725, + 74A7E574AE7A56AF4EEB8601, + DD8929F0844E4C1E29AE19E9, ); name = jpglib; sourceTree = ""; }; + C983D9FDEC305634FFC76221 = {isa = PBXGroup; children = ( + 547D02338FFF0EAE2B8F3103, + 9E0F8F91B60D8528FC66A7A4, + 8A6C82E587998F07581A9CDA, + FA39CCD1AEE7A87056968609, + 3573ECA4AD13A8894A47CBCC, + 038A10FAD4373B8FE62AC699, + CD179625BF8D287933668EEB, + 523B4DFF9912F112E1900BF6, + 3D466CFF37D2602E8AC47206, + 6D940D63231E4A3374E79D9E, + 7DC42FAE3874F4F6FAE6ABCB, + DF48BF1300D80A8AB08DB1B3, + 82C493EB123BE64B521A28C5, + 4B6C9C666BFAFEE2EB4C25C3, + FA7557503AFBC2C23044C347, + F0E98B7957BCD0180F7448C3, + AAA409C3E3CEA220DEF9BC16, + A60A9198522BE9B39AA87103, + C70982DACCE3C42E54F15D17, + C9CD5936B28C4441C29F9101, + 8ECC617518657AF168AEFD20, ); name = pnglib; sourceTree = ""; }; + 2A0FCE467F650B0376376ADB = {isa = PBXGroup; children = ( + 0997DB8727A97BBA21229141, + C983D9FDEC305634FFC76221, + 42228DF7B6850D9F81D27A59, + D5952905FC386C19D0818398, + 8CC281F3463EE9BCA6379E81, ); name = "image_formats"; sourceTree = ""; }; + 78D2404EDFCF86923B36459D = {isa = PBXGroup; children = ( + 29A33AEB9BEDCAAABFD53924, + 90ADB27801C40001A8074FD4, + 41A362DE244211508DBAC375, + 43A110B2BB114D76D27DA4BA, + F1C0CFDC6BF9AD9502D78223, + B7669234F60C20A155C0C9E5, + BD5FE72C6C05445934BD5FAC, + 9DADEEE9596B1738B92026DB, ); name = images; sourceTree = ""; }; + 878835B8797DA99FEBE5D367 = {isa = PBXGroup; children = ( 8A09FE3E26741780999E0E56, F52176A07E24A5CC91D03A9F, 9CA6D0EA44E436AFA0682A90, @@ -1669,19 +2194,57 @@ D0A714338F6B7A47BA1F8F45, F186D87D177BE735EA9D6BC2, 64A1DACEA71957604AD58B3C, ); name = native; sourceTree = ""; }; + EF5FEA75F0B2BC41202991D7 = {isa = PBXGroup; children = ( + E29B93C0B9DC9CDD74245891, + 6462581CC4840341D6E7903F, + 5B4DD89CB29AEF782C6D878C, ); name = placement; sourceTree = ""; }; 735136A0AB9278D0871D9684 = {isa = PBXGroup; children = ( - EEC8570C058DC7EBFF48BF5E, - 2509ACBE42B0AAA5D85568AC, - 6BCA75E6074CC43BE60EED08, - D13365C7D5CEFE4E0EBB2426, - D10474DE9F22E085B447ECD8, - 9F3AAF568F1D887C6A73CC41, - 9C8B57AFB5296F6948159935, - 667CC1C49529F09E8D855F2D, - DC0C18F0D3030EBF58F2AB02, - 45200F793669CADC5D279093, + 1FE4FA47722145F3C8CFCFDB, + EE6B79D02D008C51A5F195C5, + 090F0825B99D64023D847F2C, + 6D070137C332F9FE9521C3BC, + 4D802E9547B71A639F6EBB10, + 2A0FCE467F650B0376376ADB, + 78D2404EDFCF86923B36459D, + 878835B8797DA99FEBE5D367, + EF5FEA75F0B2BC41202991D7, + 3F7A4680E00FAE8A41F0F144, + 2483323E997B7A3171E39DE0, + 6E1860CF53C6E59F1F77C373, 2483323E997B7A3171E39DE0, ); name = "juce_graphics"; sourceTree = ""; }; - 46B3BECE46528A3B74650149 = {isa = PBXGroup; children = ( + EC9D339DA8EE6B5B4ED18EB3 = {isa = PBXGroup; children = ( + 3B415641D0C369EFE3CE9013, + 1D031D6259B6620760ACD1A1, ); name = application; sourceTree = ""; }; + 5E7A3C3F595C9EBD19E61659 = {isa = PBXGroup; children = ( + 13EA8958E53A70EFE5F2F7C5, + AEB543D49F0CD263051AC7ED, + EAC1E2A419A40B04F87DB289, + F98172E9B1C7D23875AC5D81, + 0B7FC2052DC952A2080D9535, + 3ACEB82C73AB2A85638042BC, + DE8035865F6033F8BBF41740, + 3671A679FFAC68E5A6381508, + 71B15FFEFFD5B84155C239B5, + 32C8AEA50F9848F118BB596F, + D4DA13E7A12FB69C072D0FA7, + 3ED29A00C88C8C3B8B3DE56D, + 9A804FDDFFF8A3C626731537, + 410A767D64DBE4AB92D56251, + 18528E8CEF7C4921ECB51AC1, + FD0A360D16FC0851ED8F12E9, + 84E82CE8261E4336DEC561C2, + 0A6471A38D12F7FEE9A798C2, ); name = buttons; sourceTree = ""; }; + CBC6D0E1E927A688D226E255 = {isa = PBXGroup; children = ( + 02103E89A1DBB8DEE968BDED, + DEEFCE87BE3B9D7AFC7ADC16, + 1666EE8320B5911BA4A4D529, + E0A5FEACF71A44A631B8FFEF, + C965E08D0024A85481D1DF9A, + 75FCAA8D3DF24813844D6552, + E35BB0E91C10C1441FB5129C, + 37FE4DB88BA2CBD8214D100E, + C6F2B8AF079942AAA416357B, ); name = commands; sourceTree = ""; }; + 00282DA501215BFB410A1B8C = {isa = PBXGroup; children = ( F8D23A339EA851D0838B8D4D, 536EA9AE6C2F76FE0AEB5958, 3D6993BA129CF5B3D55E3800, @@ -1691,97 +2254,60 @@ 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 = ( - 88E6EC067093B2A916177028, - 7BBA6ED880BF554726E28D5B, - 936216306215D5F851ECFD3A, - 9E13EB29F45F488D1B45F6CC, - 4A4AA708ABE863E4A6B609BD, - C9D79E0117143436D9490C3F, - 579A374D379473D7C41D2C23, - F80C93BA19C8951FED9BF7A8, - 3759D9F4EB77B24886181860, - 179E4B99FCE682C14545773A, - 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 = ( + 537B4C60CA78915E9DE50213 = {isa = PBXGroup; children = ( + 9A7DB637C5751B1825D1C452, + E01C957605B8B074A13A5442, + E97917473ACF5E2BF4B424EF, + 06EB1158FAA7044D25A1B836, + 2280FEDF900D22D22688CED8, + F83E643C3750718F2ED885B0, + 2AD9815C21C7123C138EE0D3, + 2AD6BCA65B11533D9653A12D, + 1C4E46D37FD0A75012D27F18, + 4E7392E543488D38DDA567DD, + 85883ACDDA7E583B248AAD9A, + AEC8535EE0876B4B29206E6E, + CACC511ABBAB7C46CF0101E9, + 83214A40B05A1E72BF132B0C, + 47D5DB3D6E203E43E808C4C1, ); name = drawables; 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 = ""; }; + 685EAD13C7E111F9BF3FAB46 = {isa = PBXGroup; children = ( + 88E6EC067093B2A916177028, + 7BBA6ED880BF554726E28D5B, + 936216306215D5F851ECFD3A, + 9E13EB29F45F488D1B45F6CC, + 4A4AA708ABE863E4A6B609BD, + C9D79E0117143436D9490C3F, + 579A374D379473D7C41D2C23, + F80C93BA19C8951FED9BF7A8, + 3759D9F4EB77B24886181860, + 179E4B99FCE682C14545773A, + 2671B39D0A72D44B66EAF16E, + 1FA971CC860F62BC184966E5, + 0AFC098702827D38DA03BB73, ); name = keyboard; sourceTree = ""; }; + 8B652ACF413944BFD070EB23 = {isa = PBXGroup; children = ( B1D5ED2A628748002723A9B4, 189761573BB5F17836B33BD4, 5DF1460C31CD1BF8FADF56D3, @@ -1818,72 +2344,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 = ( + 045A3C1368E01C29D14BD12C = {isa = PBXGroup; children = ( D8B7DCDFD32613B13AC54008, 3CACA414AFB108D5D97D2905, 2133298538ECFED56C3EBC9B, @@ -1892,48 +2353,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 = ( + 7DB05B256633407859F9B119 = {isa = PBXGroup; children = ( + BC310F9E7F78FD6872F5610E, + 22200A29DE13ED05FC06D9A5, + FEB2517E7420B23086B6580B, + 457F59C04F49E716A64EBA8C, + 4162A82BE7030410BBCCDB7C, + 15DD91827E0975E928E3BB83, ); name = menus; sourceTree = ""; }; + E90EB0BB6327740E05091B71 = {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 = ""; }; + E67E9CEE6AA2613A320732A1 = {isa = PBXGroup; children = ( 280D1B9A9530E1E805367547, 7A895B40FC9F5D912C685A4F, 2C3C84A4983281BE5D4C9A9C, @@ -1950,27 +2403,107 @@ 2D604FCC59A6A60712AD0D57, C0EAB8DB78CC1330EBFB1BB4, 9E6E3468F601EB602900825B, ); name = native; sourceTree = ""; }; + A1EBE9287EA33803FDD76092 = {isa = PBXGroup; children = ( + 47C408503AAF7D0AAF1484D0, + 8F9CABDA064B2023691E901B, + F7BB9CEE29577AED1125C1AB, + 8ED8CFFC628DA9CE4AED0A5B, + B9310BD20E2EF7D2A4895C1F, + 4EE534BAE6FE5AE6B9863AEB, + 8FE47065CAD5227AC1256E00, + 7C0424A0845A3434C50661B9, + B2976F6A6BFA0C881FDF4B79, + 13FA561015BBB5F86783EAB6, + 3F924E9D75C642D0A14828E8, + 3F963B869D58A34E97922E97, + 3ED373A6B2C53518BAA012E6, + A0D98B5B7E49B6D7BB1FAA6B, ); name = positioning; sourceTree = ""; }; + C136A01846BDF69528BDA287 = {isa = PBXGroup; children = ( + 8734B3312C78FB753B890366, + 634EC4E64268DF302B5DDB02, + 420595879EE55FBDEFB4A63D, + A0582351AC1B641E0590F7AD, + 616738BCE455C5D3DD13CDFB, + C9D23ADF8E932519339C2B31, + 2C889FBD9E64FDC9114DA53E, + 324A7295F867CE4F5A65FDD7, + C2C58E9D2874FC850CB65B19, + 883C3CFCC12E44CB751A1492, + D950776EDF9260DB0278C132, + 6C51E4C2A776F82E02F37B15, + B5C03BAD5EB1BFD2AFE73D33, + 9647232A743A0C7BFE819385, ); name = properties; sourceTree = ""; }; + 0C9DAF62EBF2A122E145600B = {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 = ""; }; + 8211A1A748A25D4592920391 = {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, + EC9D339DA8EE6B5B4ED18EB3, + 5E7A3C3F595C9EBD19E61659, + CBC6D0E1E927A688D226E255, + 00282DA501215BFB410A1B8C, + 537B4C60CA78915E9DE50213, 160B7FAD218C3AA1166C3343, - 8DAEE96B5CCE70C82F32513F, - 87D6F340D75F32D21C842D99, - 5AD05E49914C9E25AC91C25E, - 7B721AC4DD1B34DC998FABE8, - 52DB8DAF68DE34E91764489E, + 685EAD13C7E111F9BF3FAB46, + 8B652ACF413944BFD070EB23, + 045A3C1368E01C29D14BD12C, + 7DB05B256633407859F9B119, + E90EB0BB6327740E05091B71, + DFDC9D602DADE212C767018A, + E67E9CEE6AA2613A320732A1, + A1EBE9287EA33803FDD76092, + C136A01846BDF69528BDA287, + 0C9DAF62EBF2A122E145600B, + 8211A1A748A25D4592920391, + A99562BC56E0CD102157BF0D, + 098DED4CC79076DD9FBC77BA, + 81F7A7CD9847CBAFC6615F07, 098DED4CC79076DD9FBC77BA, ); name = "juce_gui_basics"; sourceTree = ""; }; - 822BE1CCF036C0154376D9CC = {isa = PBXGroup; children = ( + D0B94186FC7B138F83943F45 = {isa = PBXGroup; children = ( 9B6894AAD8FDF33CB3387A02, 38670530F6FFE9072B8F08FE, 97E1F76CDDDFEFF8BBC51272, @@ -1983,14 +2516,14 @@ 76B5967943C389C01379E87F, 723E49F4AD3A98B385B05D7D, 53B52EB203A8998155FA7D8F, ); name = "code_editor"; sourceTree = ""; }; - 1585F98304BC113EA3FBA591 = {isa = PBXGroup; children = ( + 5607E26AD26CCFF7105A8B7E = {isa = PBXGroup; children = ( C322BCF5FF89EDA223FD1F9F, 1959937B4B2FC11B9AC53566, ); name = documents; sourceTree = ""; }; - E3D8BED92AD41057CAEB051F = {isa = PBXGroup; children = ( + 281C65AC1A7B02C5BC7D8D81 = {isa = PBXGroup; children = ( AE77174CBCCD8ED980D37836, 382380170B8E1B0FF39435F4, 5085F1038F87BFFE07A491C4, ); name = embedding; sourceTree = ""; }; - 4700EB1C9B14BBA22B871A1E = {isa = PBXGroup; children = ( + 7949900E0A648C91F3D97C00 = {isa = PBXGroup; children = ( E90924010E25657C573AFE2A, 9F5B773064345EFCF3C35D87, A30AE6BCB8C3947B097DA340, @@ -2011,7 +2544,7 @@ 3E6CE883D9CE0661C39F5BAB, 813F42FA0CDB76C5150A482E, AD84F6A526784CB531FB2455, ); name = misc; sourceTree = ""; }; - D06FFD6E422879ABC06B5933 = {isa = PBXGroup; children = ( + 04A7363440E55FBBADA23F77 = {isa = PBXGroup; children = ( CF299925A6A365E288DC206E, 940A181A1BAC2FA88FB5A3B3, DF614EDBEA2D76889E002465, @@ -2025,14 +2558,29 @@ 042C1714F5592997E46A17F3, A6F318DE812F2D620EF66C76, ); name = native; sourceTree = ""; }; B90DF7CA9B5B931BE449F6A5 = {isa = PBXGroup; children = ( - 822BE1CCF036C0154376D9CC, - 1585F98304BC113EA3FBA591, - E3D8BED92AD41057CAEB051F, - 4700EB1C9B14BBA22B871A1E, - D06FFD6E422879ABC06B5933, - 016748F561B0B5046F24DDA0, + D0B94186FC7B138F83943F45, + 5607E26AD26CCFF7105A8B7E, + 281C65AC1A7B02C5BC7D8D81, + 7949900E0A648C91F3D97C00, + 04A7363440E55FBBADA23F77, + 03AA46E823B46F96BCB05624, + 923E4322525FD5CCAA5F911B, + 5AA6D24CBDEC48447451F46A, 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 = ""; }; + 3162DFD9B149088911856CF2 = {isa = PBXGroup; children = ( 9512FB5C9D667ED59CFC0FF4, BE0231D93CBB02BBC2704D1D, 43D23C18695F24F9A3DFA7B4, @@ -2050,47 +2598,38 @@ 442E6311FB54378E88B6811C, 651055751E902F40B83EFD55, 09089786B542AEB678DDE38F, ); name = opengl; sourceTree = ""; }; - 7B1E673135B6D72C79E5E92A = {isa = PBXGroup; children = ( - 1F78AE3A47E74F2742A538FC, - 7C7F405778EA1C68A151B8C3, - 775C0307D56978AFC4E2C10D, - CDB3F888E50C16B72E745EA1, ); name = geometry; sourceTree = ""; }; - E179614A91A68F12F4E60015 = {isa = PBXGroup; children = ( + 125C4F977D43BE873816A8C9 = {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, + 3162DFD9B149088911856CF2, + 125C4F977D43BE873816A8C9, + F2F98EB1749A3BBEF20EFD70, + CAA1AEA2DA42ACE7AFBB7A17, + 4D6DBD5D569681C5C8B32FB3, CAA1AEA2DA42ACE7AFBB7A17, ); name = "juce_opengl"; sourceTree = ""; }; - 722D4F109F8D2D2A9ECF2644 = {isa = PBXGroup; children = ( - F52AF269A66132FFEC566C7B, - 1B0596982B3039E793262901, ); name = playback; sourceTree = ""; }; 9D6E53B1F8DE15DE9C5F7948 = {isa = PBXGroup; children = ( FD3630D56455CA49F6784A6E, D41728E9EB1522CCAC9AC7D4, ); name = capture; sourceTree = ""; }; - FA9B866757459BB84B9F47F3 = {isa = PBXGroup; children = ( + DEE83088077CC6FA8A335214 = {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, + DEE83088077CC6FA8A335214, + 7BC6DE9CB2562D5618C3CBEE, + 8AED9A72205FAD90260BF7E2, + 6F6AC4A00C126030263CC8D3, + ABB92009051C3CDBA14CDA24, 6F6AC4A00C126030263CC8D3, ); name = "juce_video"; sourceTree = ""; }; 9D8FE1F65CAD416AA606C47A = {isa = PBXGroup; children = ( 7E0D0991585FE7EBF8C2E538, @@ -2109,23 +2648,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, @@ -2143,7 +2682,7 @@ 89309C0C5F3269BD06BE7F27, B457EE687507BF1DEEA7581F, ); name = Frameworks; sourceTree = ""; }; D85C0D11EE4F6C73B9EB5BCD = {isa = PBXGroup; children = ( - B2A7B6A8E3CCA7E2038E8EFF, ); name = Products; sourceTree = ""; }; + 8D8BBC353637DA442C5575DA, ); name = Products; sourceTree = ""; }; 65BEFC705A89E5C8A9E35C97 = {isa = PBXGroup; children = ( 97790EAEA01CFA5C3CA9737A, 9D8FE1F65CAD416AA606C47A, @@ -2151,7 +2690,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; @@ -2167,11 +2706,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; @@ -2188,14 +2728,16 @@ 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; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.pluginhost; SDKROOT_ppc = macosx10.5; }; name = Release; }; 8D1CA827F1EFD443BDCF198A = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2224,35 +2766,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, @@ -2267,11 +2810,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; 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 805a4187..d8c546c8 100644 --- a/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj +++ b/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj @@ -134,6 +134,9 @@ true + + true + true @@ -212,6 +215,12 @@ true + + true + + + true + true @@ -227,15 +236,6 @@ true - - true - - - true - - - true - true @@ -284,289 +284,307 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -575,21 +593,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -602,6 +629,9 @@ true + + true + true @@ -644,592 +674,940 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + 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,6 +1631,9 @@ true + + true + true @@ -1280,6 +1661,9 @@ true + + true + true @@ -1295,20 +1679,23 @@ true - - - - - - - - - - - - - - + + true + + + + + + + + + + + + + + + @@ -1318,6 +1705,7 @@ + @@ -1350,6 +1738,9 @@ + + + @@ -1357,20 +1748,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1380,8 +1842,26 @@ + + + + + + + + + + + + + + + + + + @@ -1392,15 +1872,6 @@ - - - - - - - - - @@ -1411,6 +1882,7 @@ + @@ -1421,40 +1893,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1471,25 +1910,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1499,6 +1919,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1512,30 +1966,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1544,14 +2031,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1561,19 +2059,12 @@ - - - - - - - - - - + + + @@ -1584,10 +2075,15 @@ - - - - + + + + + + + + + @@ -1598,39 +2094,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1639,33 +2170,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1685,15 +2189,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1701,13 +2219,6 @@ - - - - - - - @@ -1715,31 +2226,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1765,20 +2276,11 @@ - - - - - - - - - + - @@ -1786,29 +2288,31 @@ + + + + + + + + + + + + - + - - - - - - - - - - - - - - + + + + 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 da0a25d9..dee059dd 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,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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 +122,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 +149,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -119,29 +161,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -155,33 +197,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,80 +233,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -287,30 +335,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} @@ -337,6 +385,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -415,6 +466,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -430,15 +490,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,32 +544,140 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs Juce Modules\juce_audio_formats\codecs @@ -541,26 +700,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -580,6 +748,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,6 +781,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -613,9 +805,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -631,44 +820,14 @@ 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_audio_utils\players - - Juce Modules\juce_core\maths + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils Juce Modules\juce_core\containers @@ -685,33 +844,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 @@ -736,41 +868,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -778,36 +880,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -820,6 +910,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -877,16 +970,166 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_cryptography\hashing @@ -895,17 +1138,11 @@ 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_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -913,23 +1150,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -949,6 +1189,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 +1216,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -985,26 +1249,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1021,236 +1288,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1279,26 +1561,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1318,44 +1603,11 @@ 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\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables Juce Modules\juce_gui_basics\filebrowser @@ -1387,17 +1639,92 @@ Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + 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 @@ -1405,8 +1732,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1453,6 +1798,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1531,6 +1990,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1558,6 +2023,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1579,46 +2050,52 @@ Juce Modules\juce_video\native - + + Juce Modules\juce_video + + + Juce Modules\juce_video + + 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 @@ -1644,6 +2121,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1740,6 +2220,15 @@ Juce Modules\juce_audio_basics + + 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,47 +2250,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1830,41 +2532,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -1893,6 +2592,36 @@ 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\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 @@ -1923,6 +2652,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -1953,50 +2685,95 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + 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\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\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2016,6 +2793,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -2055,197 +2835,194 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers - - - 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2253,50 +3030,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2322,14 +3099,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2337,15 +3114,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 +3183,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 +3192,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2442,17 +3231,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,50 +3288,137 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands Juce Modules\juce_gui_basics\components @@ -2544,44 +3435,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2607,87 +3516,6 @@ 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 @@ -2742,35 +3570,77 @@ 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2793,27 +3663,6 @@ 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 @@ -2835,80 +3684,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2985,32 +3834,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -3024,9 +3849,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -3048,17 +3870,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_opengl + 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 Juce Modules\juce_video @@ -3071,47 +3929,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_gui_extra + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_opengl + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj b/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj index 4833ed79..2ae74a68 100644 --- a/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj +++ b/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj @@ -140,6 +140,9 @@ true + + true + true @@ -218,6 +221,12 @@ true + + true + + + true + true @@ -233,15 +242,6 @@ true - - true - - - true - - - true - true @@ -290,289 +290,307 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -581,21 +599,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -608,6 +635,9 @@ true + + true + true @@ -650,592 +680,940 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1259,6 +1637,9 @@ true + + true + true @@ -1286,6 +1667,9 @@ true + + true + true @@ -1301,20 +1685,23 @@ true - - - - - - - - - - - - - - + + true + + + + + + + + + + + + + + + @@ -1324,6 +1711,7 @@ + @@ -1356,6 +1744,9 @@ + + + @@ -1363,20 +1754,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1386,8 +1848,26 @@ + + + + + + + + + + + + + + + + + + @@ -1398,15 +1878,6 @@ - - - - - - - - - @@ -1417,6 +1888,7 @@ + @@ -1427,40 +1899,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1477,25 +1916,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1505,6 +1925,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1518,30 +1972,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1550,14 +2037,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1567,19 +2065,12 @@ - - - - - - - - - - + + + @@ -1590,10 +2081,15 @@ - - - - + + + + + + + + + @@ -1604,39 +2100,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1645,33 +2176,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1691,15 +2195,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1707,13 +2225,6 @@ - - - - - - - @@ -1721,31 +2232,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1771,20 +2282,11 @@ - - - - - - - - - + - @@ -1792,29 +2294,31 @@ + + + + + + + + + + + + - + - - - - - - - - - - - - - - + + + + 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 dae6151c..525682c1 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,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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 +122,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 +149,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -119,29 +161,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -155,33 +197,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,80 +233,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -287,30 +335,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} @@ -337,6 +385,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -415,6 +466,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -430,15 +490,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,32 +544,140 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs Juce Modules\juce_audio_formats\codecs @@ -541,26 +700,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -580,6 +748,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,6 +781,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -613,9 +805,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -631,44 +820,14 @@ 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_audio_utils\players - - Juce Modules\juce_core\maths + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils Juce Modules\juce_core\containers @@ -685,33 +844,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 @@ -736,41 +868,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -778,36 +880,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -820,6 +910,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -877,16 +970,166 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_cryptography\hashing @@ -895,17 +1138,11 @@ 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_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -913,23 +1150,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -949,6 +1189,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 +1216,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -985,26 +1249,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1021,236 +1288,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1279,26 +1561,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1318,44 +1603,11 @@ 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\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables Juce Modules\juce_gui_basics\filebrowser @@ -1387,17 +1639,92 @@ Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + 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 @@ -1405,8 +1732,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1453,6 +1798,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1531,6 +1990,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1558,6 +2023,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1579,46 +2050,52 @@ Juce Modules\juce_video\native - + + Juce Modules\juce_video + + + Juce Modules\juce_video + + 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 @@ -1644,6 +2121,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1740,6 +2220,15 @@ Juce Modules\juce_audio_basics + + 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,47 +2250,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1830,41 +2532,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -1893,6 +2592,36 @@ 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\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 @@ -1923,6 +2652,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -1953,50 +2685,95 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + 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\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\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2016,6 +2793,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -2055,197 +2835,194 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers - - - 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2253,50 +3030,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2322,14 +3099,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2337,15 +3114,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 +3183,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 +3192,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2442,17 +3231,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,50 +3288,137 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands Juce Modules\juce_gui_basics\components @@ -2544,44 +3435,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2607,87 +3516,6 @@ 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 @@ -2742,35 +3570,77 @@ 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2793,27 +3663,6 @@ 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 @@ -2835,80 +3684,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2985,32 +3834,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -3024,9 +3849,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -3048,17 +3870,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_opengl + 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 Juce Modules\juce_video @@ -3071,47 +3929,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_gui_extra + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_opengl + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj b/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj index 7ece25f7..9bf9d7fc 100644 --- a/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj +++ b/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj @@ -140,6 +140,9 @@ true + + true + true @@ -218,6 +221,12 @@ true + + true + + + true + true @@ -233,15 +242,6 @@ true - - true - - - true - - - true - true @@ -290,289 +290,307 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -581,21 +599,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -608,6 +635,9 @@ true + + true + true @@ -650,592 +680,940 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1259,6 +1637,9 @@ true + + true + true @@ -1286,6 +1667,9 @@ true + + true + true @@ -1301,20 +1685,23 @@ true - - - - - - - - - - - - - - + + true + + + + + + + + + + + + + + + @@ -1324,6 +1711,7 @@ + @@ -1356,6 +1744,9 @@ + + + @@ -1363,20 +1754,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1386,8 +1848,26 @@ + + + + + + + + + + + + + + + + + + @@ -1398,15 +1878,6 @@ - - - - - - - - - @@ -1417,6 +1888,7 @@ + @@ -1427,40 +1899,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1477,25 +1916,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1505,6 +1925,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1518,30 +1972,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1550,14 +2037,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1567,19 +2065,12 @@ - - - - - - - - - - + + + @@ -1590,10 +2081,15 @@ - - - - + + + + + + + + + @@ -1604,39 +2100,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1645,33 +2176,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1691,15 +2195,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1707,13 +2225,6 @@ - - - - - - - @@ -1721,31 +2232,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1771,20 +2282,11 @@ - - - - - - - - - + - @@ -1792,29 +2294,31 @@ + + + + + + + + + + + + - + - - - - - - - - - - - - - - + + + + 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 6c41ee32..174835e6 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,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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 +122,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 +149,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -119,29 +161,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -155,33 +197,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,80 +233,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -287,30 +335,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} @@ -337,6 +385,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -415,6 +466,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -430,15 +490,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,32 +544,140 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs Juce Modules\juce_audio_formats\codecs @@ -541,26 +700,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -580,6 +748,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,6 +781,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -613,9 +805,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -631,44 +820,14 @@ 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_audio_utils\players - - Juce Modules\juce_core\maths + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils Juce Modules\juce_core\containers @@ -685,33 +844,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 @@ -736,41 +868,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -778,36 +880,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -820,6 +910,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -877,16 +970,166 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_cryptography\hashing @@ -895,17 +1138,11 @@ 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_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -913,23 +1150,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -949,6 +1189,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 +1216,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -985,26 +1249,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1021,236 +1288,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1279,26 +1561,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1318,44 +1603,11 @@ 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\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables Juce Modules\juce_gui_basics\filebrowser @@ -1387,17 +1639,92 @@ Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + 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 @@ -1405,8 +1732,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1453,6 +1798,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1531,6 +1990,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1558,6 +2023,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1579,46 +2050,52 @@ Juce Modules\juce_video\native - + + Juce Modules\juce_video + + + Juce Modules\juce_video + + 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 @@ -1644,6 +2121,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1740,6 +2220,15 @@ Juce Modules\juce_audio_basics + + 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,47 +2250,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1830,41 +2532,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -1893,6 +2592,36 @@ 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\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 @@ -1923,6 +2652,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -1953,50 +2685,95 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + 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\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\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2016,6 +2793,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -2055,197 +2835,194 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers - - - 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2253,50 +3030,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2322,14 +3099,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2337,15 +3114,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 +3183,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 +3192,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2442,17 +3231,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,50 +3288,137 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands Juce Modules\juce_gui_basics\components @@ -2544,44 +3435,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2607,87 +3516,6 @@ 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 @@ -2742,35 +3570,77 @@ 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2793,27 +3663,6 @@ 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 @@ -2835,80 +3684,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2985,32 +3834,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -3024,9 +3849,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -3048,17 +3870,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_opengl + 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 Juce Modules\juce_video @@ -3071,47 +3929,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_gui_extra + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_opengl + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/examples/audio plugin host/JuceLibraryCode/AppConfig.h b/examples/audio plugin host/JuceLibraryCode/AppConfig.h index ae7d1c5a..4800c39b 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 d621d187..d2ab4cae 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..97bd2c56 --- /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 00000000..8eae7c6e --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 7d4583db..00000000 --- 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 bb997d30..00000000 --- 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 06e88f93..00000000 --- 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 e4574f47..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 718392ff..00000000 --- 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 0dd1636e..00000000 --- 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 7642a03b..ca298619 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.1" companyName="ROLI Ltd." + includeBinaryInAppConfig="1"> diff --git a/examples/audio plugin host/Source/FilterGraph.cpp b/examples/audio plugin host/Source/FilterGraph.cpp index 3ad3b6fc..b79c2ad4 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) + {} + + void completionCallback (AudioPluginInstance* instance, const String& error) override + { + owner->addFilterCallback (instance, error, posX, posY); + } - String errorMessage; + FilterGraph* owner; + double posX, posY; + }; + + formatManager.createPluginInstanceAsync (*desc, graph.getSampleRate(), graph.getBlockSize(), + new AsyncCallback (this, x, y)); + } +} - if (AudioPluginInstance* instance = formatManager.createPluginInstance (*desc, graph.getSampleRate(), graph.getBlockSize(), errorMessage)) - node = graph.addNode (instance); +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); - } } } @@ -354,8 +373,7 @@ void FilterGraph::createNodeFromXml (const XmlElement& xml) if (node->properties[getOpenProp (type)]) { - AudioProcessor* const processor = node->getProcessor(); - jassert (processor != nullptr); + jassert (node->getProcessor() != nullptr); if (PluginWindow* const w = PluginWindow::getWindowFor (node, type)) w->toFront (true); diff --git a/examples/audio plugin host/Source/FilterGraph.h b/examples/audio plugin host/Source/FilterGraph.h index eb9608d3..2405a2ca 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/GraphEditorPanel.cpp b/examples/audio plugin host/Source/GraphEditorPanel.cpp index 94696a64..1824551f 100644 --- a/examples/audio plugin host/Source/GraphEditorPanel.cpp +++ b/examples/audio plugin host/Source/GraphEditorPanel.cpp @@ -136,12 +136,12 @@ public: setSize (400, jlimit (25, 400, totalHeight)); } - void paint (Graphics& g) + void paint (Graphics& g) override { g.fillAll (Colours::grey); } - void resized() + void resized() override { panel.setBounds (getLocalBounds()); } @@ -227,19 +227,24 @@ public: { String tip; - if (index_ == FilterGraph::midiChannelNumber) + if (index == FilterGraph::midiChannelNumber) { - tip = isInput ? "MIDI Input" : "MIDI Output"; + tip = isInput ? "MIDI Input" + : "MIDI Output"; } else { - if (isInput) - tip = node->getProcessor()->getInputChannelName (index_); - else - tip = node->getProcessor()->getOutputChannelName (index_); + const AudioProcessor::AudioBusArrangement& busArrangement = node->getProcessor()->busArrangement; + + const Array& buses = isInput ? busArrangement.inputBuses + : busArrangement.outputBuses; + + if (buses.size() > 0) + tip = AudioChannelSet::getChannelTypeName (buses.getReference(0).channels.getTypeOfChannel (index)); if (tip.isEmpty()) - tip = (isInput ? "Input " : "Output ") + String (index_ + 1); + tip = (isInput ? "Input " + : "Output ") + String (index + 1); } setTooltip (tip); @@ -248,7 +253,7 @@ public: setSize (16, 16); } - void paint (Graphics& g) + void paint (Graphics& g) override { const float w = (float) getWidth(); const float h = (float) getHeight(); @@ -262,7 +267,7 @@ public: g.fillPath (p); } - void mouseDown (const MouseEvent& e) + void mouseDown (const MouseEvent& e) override { getGraphPanel()->beginConnectorDrag (isInput ? 0 : filterID, index, @@ -271,12 +276,12 @@ public: e); } - void mouseDrag (const MouseEvent& e) + void mouseDrag (const MouseEvent& e) override { getGraphPanel()->dragConnector (e); } - void mouseUp (const MouseEvent& e) + void mouseUp (const MouseEvent& e) override { getGraphPanel()->endDraggingConnector (e); } @@ -403,16 +408,16 @@ public: void mouseUp (const MouseEvent& e) override { - if (e.mouseWasClicked() && e.getNumberOfClicks() == 2) + if (e.mouseWasDraggedSinceMouseDown()) + { + graph.setChangedFlag (true); + } + else if (e.getNumberOfClicks() == 2) { if (const AudioProcessorGraph::Node::Ptr f = graph.getNodeForId (filterID)) if (PluginWindow* const w = PluginWindow::getWindowFor (f, PluginWindow::Normal)) w->toFront (true); } - else if (! e.mouseWasClicked()) - { - graph.setChangedFlag (true); - } } bool hitTest (int x, int y) override @@ -658,7 +663,7 @@ public: } } - void paint (Graphics& g) + void paint (Graphics& g) override { if (sourceFilterChannel == FilterGraph::midiChannelNumber || destFilterChannel == FilterGraph::midiChannelNumber) @@ -673,7 +678,7 @@ public: g.fillPath (linePath); } - bool hitTest (int x, int y) + bool hitTest (int x, int y) override { if (hitPath.contains ((float) x, (float) y)) { @@ -687,14 +692,18 @@ public: return false; } - void mouseDown (const MouseEvent&) + void mouseDown (const MouseEvent&) override { dragging = false; } - void mouseDrag (const MouseEvent& e) + void mouseDrag (const MouseEvent& e) override { - if ((! dragging) && ! e.mouseWasClicked()) + if (dragging) + { + getGraphPanel()->dragConnector (e); + } + else if (e.mouseWasDraggedSinceMouseDown()) { dragging = true; @@ -710,19 +719,15 @@ public: destFilterChannel, e); } - else if (dragging) - { - getGraphPanel()->dragConnector (e); - } } - void mouseUp (const MouseEvent& e) + void mouseUp (const MouseEvent& e) override { if (dragging) getGraphPanel()->endDraggingConnector (e); } - void resized() + void resized() override { float x1, y1, x2, y2; getPoints (x1, y1, x2, y2); @@ -757,7 +762,7 @@ public: -arrowL, -arrowW, arrowL, 0.0f); - arrow.applyTransform (AffineTransform::identity + arrow.applyTransform (AffineTransform() .rotated (float_Pi * 0.5f - (float) atan2 (x2 - x1, y2 - y1)) .translated ((x1 + x2) * 0.5f, (y1 + y2) * 0.5f)); @@ -1053,14 +1058,14 @@ public: startTimer (100); } - void paint (Graphics& g) + void paint (Graphics& g) override { g.setFont (Font (getHeight() * 0.7f, Font::bold)); g.setColour (Colours::black); g.drawFittedText (tip, 10, 0, getWidth() - 12, getHeight(), Justification::centredLeft, 1); } - void timerCallback() + void timerCallback() override { Component* const underMouse = Desktop::getInstance().getMainMouseSource().getComponentUnderMouse(); TooltipClient* const ttc = dynamic_cast (underMouse); diff --git a/examples/audio plugin host/Source/HostStartup.cpp b/examples/audio plugin host/Source/HostStartup.cpp index 3a18a84e..52184579 100644 --- a/examples/audio plugin host/Source/HostStartup.cpp +++ b/examples/audio plugin host/Source/HostStartup.cpp @@ -32,7 +32,8 @@ //============================================================================== -class PluginHostApp : public JUCEApplication +class PluginHostApp : public JUCEApplication, + private AsyncUpdater { public: PluginHostApp() {} @@ -59,6 +60,19 @@ public: mainWindow->menuItemsChanged(); + // Important note! We're going to use an async update here so that if we need + // to re-open a file and instantiate some plugins, it will happen AFTER this + // initialisation method has returned. + // On Windows this probably won't make a difference, but on OSX there's a subtle event loop + // issue that can happen if a plugin runs one of those irritating modal dialogs while it's + // being loaded. If that happens inside this method, the OSX event loop seems to be in some + // kind of special "initialisation" mode and things get confused. But if we load the plugin + // later when the normal event loop is running, everything's fine. + triggerAsyncUpdate(); + } + + void handleAsyncUpdate() override + { File fileToOpen; for (int i = 0; i < getCommandLineParameterArray().size(); ++i) diff --git a/examples/audio plugin host/Source/InternalFilters.cpp b/examples/audio plugin host/Source/InternalFilters.cpp index 725a03be..21e58e28 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 1317d286..1a1a1642 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 2ea7a84c..8b24be85 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 new file mode 100644 index 00000000..d15f4cab --- /dev/null +++ b/extras/AudioPerformanceTest/AudioPerformanceTest.jucer @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile b/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile new file mode 100644 index 00000000..5aba42a1 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile @@ -0,0 +1,142 @@ +# 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) + +ifndef CONFIG + CONFIG=Debug +endif + +ifeq ($(CONFIG),Debug) + BINDIR := build + LIBDIR := build + OBJDIR := build/intermediate/Debug + OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_6D53C8B4=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 + CXXFLAGS += $(CFLAGS) -std=c++11 + LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + + TARGET := AudioPerformanceTest + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) +endif + +ifeq ($(CONFIG),Release) + BINDIR := build + LIBDIR := build + OBJDIR := build/intermediate/Release + OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_6D53C8B4=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 + CXXFLAGS += $(CFLAGS) -std=c++11 + LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt + + TARGET := AudioPerformanceTest + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) +endif + +OBJECTS := \ + $(OBJDIR)/Main_90ebc5c2.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 + +$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) + @echo Linking AudioPerformanceTest + -@mkdir -p $(BINDIR) + -@mkdir -p $(LIBDIR) + -@mkdir -p $(OUTDIR) + @$(BLDCMD) + +clean: + @echo Cleaning AudioPerformanceTest + @$(CLEANCMD) + +strip: + @echo Stripping AudioPerformanceTest + -@strip --strip-unneeded $(OUTDIR)/$(TARGET) + +$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling Main.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_audio_devices.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_audio_processors.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_75b14332.o: ../../JuceLibraryCode/juce_core.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_core.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_events.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(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_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_gui_basics.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_gui_extra.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +-include $(OBJECTS:%.o=%.d) diff --git a/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj b/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj new file mode 100644 index 00000000..5802e70a --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj @@ -0,0 +1,2622 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + + E1282ABB96DD2E7FA7F63559 = {isa = PBXBuildFile; fileRef = 614F2084407B35D62101F69F; }; + 8A0F71A4EEC7FE694352DD94 = {isa = PBXBuildFile; fileRef = 9EADBF913B7A454B6BE93A4A; }; + 30BE30F31D1AAED9FC893AA5 = {isa = PBXBuildFile; fileRef = 18C1CCE5684F9FA0478F27AD; }; + 9B19A6655FCC8086134C8656 = {isa = PBXBuildFile; fileRef = 1DA5C6A474916745AFEC6DA5; }; + 0319B40AD2FD96007FFA928B = {isa = PBXBuildFile; fileRef = 453777CEB7099A5D61901D13; }; + 5AFD011031C266431687C922 = {isa = PBXBuildFile; fileRef = 9F28F179EF6B90EB9F4DBEE9; }; + 5923A711C0020F2CDD598714 = {isa = PBXBuildFile; fileRef = 12C680C68A15B9A590264B18; }; + 3825E8984D8F6AA00DDC6BAC = {isa = PBXBuildFile; fileRef = EE758AD71415EB31BD3E82F3; }; + 9031C69145EE085B60904363 = {isa = PBXBuildFile; fileRef = 43775DC3D9F7917846EA5327; }; + F8099BB77DC0D01DCCC6AFB9 = {isa = PBXBuildFile; fileRef = 0A58FDDF6FB9253F51939A52; }; + 537E779F6008999191B2920A = {isa = PBXBuildFile; fileRef = 3058871156B921B9E5946C4F; }; + DA21A6E7A18555DCFC63B07C = {isa = PBXBuildFile; fileRef = FAAB4EAE4A57B642D3B9EC23; }; + 07451DA87757F9EF80E31BE8 = {isa = PBXBuildFile; fileRef = 0564535EEA7E4462926EA0C9; }; + 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; }; + 0074C214F900501DFE1595DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 01A4B617EA0597B206DCF8EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 01A829E9DEA5A0EF38D602AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 01C80A9FE3E329557A47B805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; + 0237CD1164BCA5B4E670C8E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 0245FDA8CC461E9B127C78C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; + 02AEF119DAE26DD4377CF71A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02EB0ED6B77472A4FCFFBA2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + 034E7453A74EABC222A41A79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; + 035A7C1007632AA97B3529A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 035DDB4D18E65692DB8E6E35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + 0384DEB6A07A2E9D89F7D1D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + 03992F31BA4AEBAE5EDEF39D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 03A78461E09AB9BE72F5207A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 03B0137914F641683E852D28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 03FCD32DE13EC2131008BEBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + 0447DBCFD1D771033802932E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 05D38E4A7F422D590702363E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + 05D994272DE2666736A68263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 060A753BF4C15FDA14B7AA30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0610902216FAA9AE2319E9C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 067E90433763204A5978AE41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + 0684B85054F9745657306704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 06875F947CD23FBF85B3C92F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + 06C2BB07C9A2E8186DC409E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; + 06E59012A14299A8C87BD7FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + 06FD1B037E83041F0AF9B2F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 076A84581BC2D611AA5FE6CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + 07CE970AACAA2798441E68D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 07EFBED954F04C319CB2F9AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + 07FFF8B1683CC2595613F38C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; + 08086ED6492D111E1F3C650E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 083A0604C8629BC172C3BA3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 08AB668BDA8A15E3DF702683 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; + 08BC5260B555DF80DED3D8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; + 08E3D8FC63613F3C281A7321 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 08E78939C5D6164508F72381 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 08F1BBB72FCAB773E7D11078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; + 0902127168F59B65BE2734CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 098D3AE231DBB123FBEB7AE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; + 09C6AB518459A9564AA44707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A4245BBC061D576B59D84DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + 0A58FDDF6FB9253F51939A52 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 0A7B0BD929594674EF5DBA96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A9701850E07B2A22D83CD27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; + 0B08E61061479CD3CF1C5F7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; + 0B2EC84721A3A400A182D447 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; + 0B3966ABC8DC305756249947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; + 0B9681E03435BCDDB73D68BA = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; + 0C07FE9302729E7CCB168477 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0C3FA548837CFC7413AD19DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0C6D96C10A447A809C3180ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 0CAFC4B9A6219281775A3E5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + 0CFE1720CC97F8EC1FA79745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 0D0985E65845458A00278B57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 0D114F1D47457A91C806FCBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 0D17D3E771460866753D80AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; + 0D2B023924611E49FD9E25F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + 0DADD40E45D17B1839935498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + 0E257E8B8DBF70AEF3EC9D1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E372F199412546C26BE484F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E76C14A6B1F3FFAA12390E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0EA946592DBF37DCD20A2B52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 106C967892E555BACA1CBA84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; + 109334022834C066626A9B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; 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"; }; + 10E0C8F5907B45014F7940F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; 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; }; + 12D5247115B5E1E84191DE1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12EB34780425AA36FE1DC245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12ED958D3515DDC17E799069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 1319902A86F0CFB586000874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 133E18FB3B6527A6F52765BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 135928C66EE16C7492632ED9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13DF23791903EE23C9B94266 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13E3246B1F0E027A68A9C99E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13FCDAA1C90D4662B42A6F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 14CF3DA1EAA36030A9DA4A0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; + 150571E335528BA2F93579EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; + 1507A0089F24D5F195495E1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 154044D0E896E60C4EB537EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; + 154BFBF033016D3F53C135A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + 157021E882DD2790DB3DA1C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 157AF02E97D86529CCA52BD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 1590838A763E9945AC0521C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 1613C60554C64D0412E00830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; + 16243DDF5E3AB5A10A8A2BC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 166432B08B32D28E0EE6CA2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 166CC76435C89EA0561DB9C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 173A0672B8807D34785D3817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + 17E3D6823C806BF9740617CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; + 1821A278E87CD2C66F4F40ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 18311E0283D643D5AA5315C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1876FDB0C9CC9B75617654B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 18BF0F18BA768D3BA1F75004 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; + 18C1B102BC6C66690A8C7B38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 18C1CCE5684F9FA0478F27AD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 190EFA08DB05C92B8D1B0AD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + 195ECE7C25A147B52C72FBCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19A11B8D4418ABDA10C63019 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + 19A3C290AF0C327E51EE50B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + 19AC92B665400EFFF07B81C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19CA3A888AC0FD869B853833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19F61A9A87678D6698B88563 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + 1A84A81FAEA61DF6BED354E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1AF6D6EE9265937269A36117 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + 1B129BA21B659A9D9202C1CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + 1B6B2DA250A8E1E46F92938E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B968B7FB99573A5ABFB085B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BDEDF72F521FF99BC1BC30F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 1BE58FC46BC1464AADF59A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 1C1CD66C5A242E5354095684 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C34E5D650A5A764348D2A47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + 1C4FB479D974C51E179E5CDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C90CDB7F9330D36B4945DDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CA16D2A6FD5DD0CB263CB8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CC052B5ECA38077CF568526 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1D4879E26B36BD535C18A9D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1D850EB0F5B9D49D3D335FE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1DA5C6A474916745AFEC6DA5 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + 1DDC6D7570A00F8953FE5D4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1DE92FD3DCB1D583A6CE3ED1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1E3D3C9C8DF4FC7680BF1423 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 1EA9CFA8E2A844BB3C07FC90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; 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"; }; + 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"; }; + 21BCE5884162A97546632579 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; 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"; }; + 220703A156A4548AD191B8A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; + 224A19973012E8A1BB78F074 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; + 22C710A1089CBAA0BD3F8BCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 23308ACF7193D1B72DB934C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; 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"; }; + 248C811D92AB059E7B5936B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; + 24A3468D9D929B2EB6BE9081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 24BBD64939FB0C2BD8F61109 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 24D257A12D67B90281563F49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + 24EA9C07A83DC5806DE5AFA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 24F347645D513C30E1123176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; + 25172C328483B5E3B5CE98C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 253A664F26DF025980A1B7C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; + 2540AED5BA43C7271F857F45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 258844F8716360A9253F29C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2589398BE0711F5A44669EC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + 258C0F0E4C520517F02BB1A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + 258F21663E397877675E9E7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 25BAE9C3274FCB9B18BA8CE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 25EEF84280B5F3EA7326C500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + 25F3117D7C70C9C3232AC4FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26256BDC3ADD6959CE1C407D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + 268C2DD7A5086C06C48AE554 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + 26D06882123226836ADE4CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + 26FE7BE182FBB9E7228A082D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + 27331610849C55C821330571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27AA00C367BCDA2C9CAC0B86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 27E76D284EF83959E58924C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; + 287E4CA4C82CEC91FAEE31A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; + 28E1AF36A775870224F6D59B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; + 28E20973630B963D13A73613 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; + 2999D176760F5AE089E4EF4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; + 2A1327FA5D536695ADFD1C02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; 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"; }; + 2A7A8F7D2C3A11DFBE31C043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; + 2B2EECF7963404C8F2531DAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; 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"; }; + 2B5CE3F4D6C31DE84A2B4A8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; 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"; }; + 2B802A068D2DE429C379DB57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C018FD744770C54A848C86C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C22B4DA114E482B23796BE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; + 2CC7B66A627E070BFA76CEDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2CC92A99C7844EF5FB57D59A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 2CF5D92890121EE3A9DDE043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2D21CD49127EDB94ABBF55BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2D32B472E16741F9238FC28A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2D9D7B0B9A11492FD8495FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; + 2E09645AF3BD530AE2F4DFDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E1707957B3A71C40A6F1F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2E4A93D258D86770140B193D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 2E518A4010D884A1088B9B03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; + 2EDBA1350FD0C2627B93210D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + 2F63AD90BD7D2C780CCAAEEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2F7ED3361615D6AF88411A01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; + 2F81F6218BAA22246A514DF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + 2FE88AFED12D0AD97091BB10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 302D1B930016FBEB0223BC1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 30445F9D4C3E8B50A7FA9426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3058871156B921B9E5946C4F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 30ABA05184DA7A8178D02C78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; + 30CEC34EEA4AA37FC7C4A531 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 30E53D40C1A80D8F461694D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 319B651C9C099FC107AC21E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + 31DA1B6D46C641F5802C5A8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + 32157D71F3C2001BB77FF255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + 325F95D7CCE05417F5D5E868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 3266D7C60277D249D37F33AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32934B9113D3A21DB21E40ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + 32C24DCB2936EB31F602BB59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; + 3321C89CC61938E085258B6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + 332F347451B3B58F128EFF43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; + 33A878765A09C802481B9C15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 33DD41AAEAD33D036DFB605D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 33E00CA7E358B1A9E8A68287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; + 34162529D9862A288F5FF4D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + 342934026A84C4D0F10F6261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 343F49E131E61D31B4BC5C57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 344E814BBA9CF94A0BA9E95A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + 34BFF38490B2CF71D2D729A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 3558E576ACA227E1D8D34F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 357847C6D03D3B6B61573357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + 3592FD32F7D9368551F1A215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; + 359BF9362336ACD73C8AC759 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35A875455175F8C4BF62061E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 35D58A1347E7CC7089D2AD12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + 362C86206432CC5C84EFBB20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 36A22D2BE15728117A7DEDD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 36D7CF7F39DA551F46CE799C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; 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"; }; + 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"; }; + 3893090992F41B8C2319B043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 389D048419931AB624A374C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38A995151F7D9B88AB220632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 38C0D26DAE4F4752813AA31E = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + 39001ECB98B13D462FC2C61F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; + 391774514515C9FC87A3C6F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 399D5A2B4BEF2DAAC0763176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 39C4DE7A200B4969626FBD1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; + 39C6944D95B60E722934D0E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; + 3A569134A5472E1BD53B8021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 3AB8D649F9E79A2A3771514E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 3AC2629D782CFE655ACD6C65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3ACEB177B9B59EE0CCDDB6DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + 3AEDB6F10A0D8FD136B1EDFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; + 3B8646AB1A19217326063394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 3B98713A022D5AF2C4657F6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 3BDD5144B225C11F51F145F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BF1FD7A867A9EC30710F552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; + 3BFD5595F009F3D326D3E1E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + 3C338E1A32B19708DE024A06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; + 3C4C54DCC345A38B6166A169 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; + 3C605CC33AFBF37B0126D285 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3CBD3CE7F456DA1C4C15E198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3CEAC402885D5C05543AEC43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3D5CD2B803357C7133E5B7C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + 3D88CEAC1976B883A23AC53A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3D918D5343B23C79D6B2AA52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 3DAD784188294059B11CB284 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + 3DC079D7D7EFDF308DC44D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + 3DC83676AED8D6983662484E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; + 3DDE0E6F7F3FCD96854FDE87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; + 3E83B4A120590EC9DF4DCBF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 3F16561D04149D2BD7B5F0DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F74855742C4C2A0EB690196 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F8A753641763864D08251B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F9554E1A5AEC56AE59BF3C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F9D6C7B798F0431FE922B41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3FA224F24C8FA15816EAD2CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; + 4040D5CA38B66006636F1DDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + 406259E635C27B7D2AB5BE13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; + 406D57282ABA5C8368F26995 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4094667F0D3616A2365EA4DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; + 40B50860F40E23FE342878E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + 4220968D4303C2B4E8A74932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + 4231B19D204FB33BC3957011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 42379E3C735E219BDFAF02A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; + 42612832B30BB80C8EB491E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4285E7B2B74C0B2FACF7159E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 42943EF6C5592F8D63ACFABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; + 429C7CD0E88FC64E9A72514D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; }; + 42A5996EB1C9A0FA9BAD31E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 42B8F1BA878A1BED917E257D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 42DBB86AADAD6344D6F768E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 42FE49CB5AFDD4D4C6C65EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + 431458F1B5980E22C086FA02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 436EACF930FA1011D25EFA0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 43775DC3D9F7917846EA5327 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; + 43F7BEA9CFC8EE3A248AD5E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4438D8DF479243407925791B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 450A7E1D741CA7E42CE0B026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; + 45333ACAF454F661FC30924E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 453777CEB7099A5D61901D13 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 45A5C6D5A476CFD78E77D176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; + 463A4363ED0020A23355DB1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; + 466D7D59847A6A0DCACF2B01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 46F0B8D9E62BAFF1E7A7CC64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 47424EAFCF0E0236D9F36314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 4762CD33A159E85908B0E19E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 478C988828C34DF69C283A1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 47B912490FE5F913DE48D285 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4827E37BA68432D78ABC9749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + 4842EF0D071A698E74241221 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 489903DB8BD2B3D0098947F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49BE2BA580A602FF754A654D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 49C1F4A5D4C4AE85FC1A5702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A09827E258094B53DEC8C05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A2A39F4B493669E2EE55F75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4AD562E921CCD6D6B8FE23E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B181C2A371C17AA518F415E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B223BE03B161EC55F06A8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 4B5A3ADB800429AAED96A5BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 4C2C33B3B949FEC97B8EC157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 4C568FD63B14A953DDA6B1B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + 4C6BB183E191BFA82A1AA237 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 4CF1132BD45B620EE67979F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D076DF2BE64A289A5366166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + 4D16C1FEA0AC15DF70D75640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D73B93862D4FF68B3BF3211 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 4DC5892113DCC74FF9C2221B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4DFD997E7F702C64C63A6D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; + 4E18F98400FB560FEE9C7F67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 50DB04187388D81882177436 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 517A5DD1CDD552896A6884AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 51960E5247A2D4F5993D0487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; + 52212D0F8D3C9A379010D74E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 5222344B220646AB6EE56F3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 52D5C91716E2495903D9B507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; + 52EA924EBC4A41470031E321 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; + 52EB00A0F0ABB39D2A2D5BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + 52EF8B186F54CBA4B001FEC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; + 52FFB30B59CE07A3D9065649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; + 534E6D1CF198BEAE77022FF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53EA28A33DA374C82A64CF18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; + 53EFA64C90C33873A3781E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 548925C0C47E873AD639FE55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 548B2B14607337A05AC157BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; + 548DBA31770A92A18D6665AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54A15FB5F8608B31D6F914B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 54D82FC2559A9ABF3D123287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54EA81EC3AD0C6B51A791758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; + 555C2D09AAC12DB54EC0CE9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 55695475638089C4E2C6A2E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; + 55851A20A40E28ECD895AE09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 559F4C7CC1C38CFF4B8B2008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 55E039005C68DDF75671A342 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; + 55EA9ACBD7A75A3C5C06A149 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 55FDA65726A4950DE49F544E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 56420C6F178C2DC5227A4E21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + 56434BD760679075FD5F2765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; + 564F0964BE4672CECEF674FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + 56D5DA60AEFC0EAAC929A163 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 56D947BBE9F6A75C42A54257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + 56F4146CF072135E9FD55A0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; + 573D91C04B66136D1BD8FA27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + 57D31C89BF4C3D65BA5EB43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 59B97F425A3CF75A746B22AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; 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"; }; + 5A3D884B409F82E9E00E40E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; 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"; }; + 5AC1DCCAC384E64D8A54F6F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; + 5AE0DD3F8B3270DE0105661A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; + 5B19B940D22357A6218AC5BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; 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"; }; + 5B8E0C73FCC3A76C3FBA2881 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; 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"; }; + 5C6AC07C64F38959936F2D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; + 5C9EFD2A63026BD7C1DC3420 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5CC6DDBE8F8CDD35006873D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 5D2DFCD80B76EE20401A6FB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; 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"; }; + 5D44D707B7C5EECE5EAB5830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; 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"; }; + 5E9181FD445BC527A7CDD4B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 5E9B40FD0A4DC0C60EBC2DDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5EF5BE91792E3CBA46FD5F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; + 5EF91EC0396BB5E11DC14C74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; + 5F36515D94A9F80D32BAF9E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 5F91B40AB8BD3115AD4E8836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; 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"; }; + 5FECE47040F6CB7A0F1A95A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.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"; }; + 6003AF599AD277420CA40A55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; 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"; }; + 61DD306CDFE50A31B22787CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61FF661623DF0A42513174DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + 622FE9C3BDA6397A18CF67C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + 62A5FE601ECB8DCCDC86D061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; + 62B3388B527F8DDF7CA6B846 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 62DE876E589EE728A76CBB24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + 62FA9E776551B423E6B3F379 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6347424185D8863263EEC3D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 635D87A84247829C8FA7B94A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63A4479ACACFC9C27B65C873 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63D6BDDD4D0B184ACD3C066E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + 63D9F3F76D0964C734B59BC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; + 63EAFC2CAD54C480FFDE157D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 652F6B750957DA7AD7A8B6FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 657D2EDA55C54F1346D194B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65BA1BF484E324D84C49A976 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65EA8CD697C470F78AA54D93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 660143D122CB260A7A45507A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6623C2B741329F6EB55AC7CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6626F065E494F50813AFE7C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6651374E4D299560500300BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6684245E4BCE66A5920D9E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 6689C6A47851A930BEFA1B7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; + 670BE56B6CE2FBE4E703A0D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; + 67122ACF3B80664C5DF79570 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 67227017A993DC10991AFF59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6750F4276D601525336AE24C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; + 6760F9B20993C2913615D62B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 6788C449954B63D0D4777833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; + 67FCADC2EB97BC70A9D811B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + 68D13E2D9B08BD4A7ACA1303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 693F7FBD5205D2EA1462C99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; + 6950C104FD807D0B7E6DB812 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 69FF9DD54B3FCEF3F903A5EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 6A6C1C7377A7EE16FAC1E839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6B07D63DAE9F46E99E13D166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BE4D55046267AE14D783A63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BF2D7FE9E2249BF3502ABB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6C1A5BA3260AA97BCC54E99C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6CE29EA523B60167840FFC4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; + 6D6973887764928DCD564C09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + 6D6DC79F0CE4AEECE5544FA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D78C65C434A649A0D95AFE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6DBC17A9AF2D5288FA2BE963 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6DE71D1176A9B368672D77DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + 6DEAC23650473EC5B37B7118 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6E3F44A76A54314DDD293F95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6EB796353187279DE4E47BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6ED65943B8B842A12E67EBD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + 6F31B6B2DDBC6BB8EAFFB160 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + 6F4F1A6EA2F5B2A3BF036E9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + 6FC673BEA337945CB1CF6021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + 6FE3078E9CED1266E46F9FE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6FEF3ED99FC27A0931B44E39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; + 70168B0928AC533A7A382FAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 703156CBA00913A6D96A89A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 70AE45412AF7D9A37E70CD86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.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"; }; + 714ABEFEC1210FF716915507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.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"; }; + 717FE5CDF9E855AD674F1CFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; 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"; }; + 725F92950615D99EF80F2E37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; 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"; }; + 72E55255CBC6A5E3ABAD8FCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7301F38158F92083807887F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; + 7357DF51E85ED90A131038AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 73874DC78A39B299149E1833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + 73A4520BF6E34B2493475E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 73A908CB0CAE6FB9534AEBC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 73E0F9D0AEC6CCE0A83460BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + 73EB02E40027EDD8284BFF9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7490F1A1A0C65668B890A6C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74B1E0D24C58DF1DE20CBA3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + 75A2D021E11AA4607169DD5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 75BB3CCA02966F27A86A8E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 76152BCEB8494B0B07F881F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; 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"; }; + 777D0E1050E0A124AB9F1D9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; + 77D2E616216762A56264F6B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; + 780D5B55F198683D1DD267F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; 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"; }; + 792BE67446E999C97E7FF6B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 79447FB576B9811CE11DC49F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; + 79687ECAE8A73A35FF764840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 798BAF4B57A0617005AD6276 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 79CF8C777581B318FED63363 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 7A3391163C927F1D75974DC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 7A3C99D6980442005905DE01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7AA31F3507B686BDB4E41B4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 7AE4C43E62213262B7206511 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 7AFCEC7E562EE311B850BC99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + 7BC782A4D0F3D38C462B9BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; + 7C072D2CD85FD979297B1E22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7C53B64BB95E75E3A7856299 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; + 7C913A5CC0EFD43B61CF13E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7CB3FE2E4112E90CCA8AA810 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7CCA151E82558DC048A0B0B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 7CED5775FA7B2C0710D74CEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7D013C7AA13D984057BCE090 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + 7D01C1A17FA4F1417D7D2ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7D710ED3875BA0F9742D5699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7DBB7EC2B79B53ED20611ECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; + 7DDB16A901128BE86F80DEFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 7DE749651A85480E34E2D909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7E0469227FB8C4ADE95CC192 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + 7E27970EECB241F0FAA462D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; + 7E36C46BDC118BF8A6AF71AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 7E6B41EAC5FC9AF6AF54831B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; + 7E845FFAB78320D64910356F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7EA9604FAC6EE7F32FDE5836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7EB138BDEA36400E6ACF1407 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7ECA80118948DB6EE6CBDED1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; + 7F3E6B542D50A883C894BB80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + 7F51C2503C0DC76D90DF7B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 7F9118DAA9DBAF51A9F6568C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + 8022E74223EFCD2A22E3F699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; + 8042077CBB3B876988394E42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + 8050A52B44865CABC0544AF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; + 80A7C7DCD25FECFF74FA662C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 815D7A4601E13B895F1C30D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 81841F5651407464F0E84EC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 81E0CC1C87D661E27B1915BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 82A31A72EE1B1122AD16DDD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; + 83205FE6737B51491CAF017F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 835116C8C4DDE6BEB305829F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; + 838F96335357B0ABC303B315 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + 83C3BA024505ECF97CB1A494 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 83E9E9ED4F5B56FD0923EE4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 83F8BA4279F6A4BFDEEE77BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + 840A3675B901258B093CB403 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 842AACF40ED3B599FDEEDB8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84A5BB5EA969B85D0F920DA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 858C9156D096A02790CC7EE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85D9816BC0DC2124FB8D39E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85E0FA40CD3060A37A952E57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85EBFB33C171867A0F94002C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; + 8605D19961CF08473AB736BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; + 8623EDE162B80A49412E88BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 862FB6A870632364A89DEBB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 8644D284B54DA1838536A917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 865787BFE9D205CD0868E324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 86928456C0FD8EDE2209334B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 86D29E7BCEDE543B75711B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; + 86E6FB896CF1D678661022E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 880EE63A76B76105861A8508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; + 8821F4AA705B46FBA4E94B5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + 88B183F4F890F4A330C41B81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 88B4A6D6D7414567B77AF2B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89021205A4D054ED8FB19640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 8929A374F1046A91D08C5504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89BB4C45E5A2279E9BC5D857 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 89C9BA494E35F165F3EE6C56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; + 8A2EFC2A1E0E3776BEC1166E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 8A9814BA560F0DC64E58403F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + 8B3A2BF481E5D8A840D38A8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + 8B3F9A7C79AA3D6CAAC11E23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; + 8BD123306A2D1EF7C1D22245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 8BE755437A71CADCE98F2CD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + 8C363C446AC1F328B9AF0C27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; + 8C6B9CC54B9A7224E628F52D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C80FA03FCB76A83F013333A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8CD626B325ECD0C5B396B349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 8D54EFEC6315A5D75F68335E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8DB6952BCF28FB10CCB1EFBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; + 8E424DC79392797F5599D520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8E58BAA155DFB2A320AB3B0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; + 8E9FF3DB9D5820A6404AD08A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + 8EBDF5C3199EA40476368862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; + 8F42E124C299AD6B3E540021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F526565001FEA3FC74DF68C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + 8F7E621B4AECC054F9532780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 8F9FE852D4F12052C098EECE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 8FDECD751443A4B83FAE8EE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 8FE849A256A97710D2C75050 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 900C0B5850BCB3B173CBE883 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 9032065D16C340236F912E7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90380EA33A749460F2D4F6CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 905002781F55D9F49BFFD030 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + 907554687EB07FD46FB6ACB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9098F3DCD9F73170C9710F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; + 909D8C2A34136BCE5DD1624E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90BCC51EEB48DE909139B357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 914D99CE5915E7B68BB47EEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; + 9156CF6C64EE06DB55B57572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9163D3EF55AD0B2B197493EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; + 917260F53ED8BE9007BBD18A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 91EA75E4BBE8A87A9618D202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 91F42C2FFCED2524DAC78E4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 920A9AC6E84BD8C5F577F300 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92A08DAD1AB84B6AEA3A186B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92EBDE8F4FF4C7D9010CC277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 930DA33DD6318AB19A4170EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + 931C5D6C2A012AEF2312A7A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + 933351F1C4B5CD31951BA33C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9337998F47AF8FBA3E9C5553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 935631A43F142753B8157DFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 935CBAB354361FD6CDB17BEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; + 935DF957DEBB660FF9B11BD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + 93B1A269C68042238C5F71E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 93E9653ABCA391191830B40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 93F257873F26CD7B863C0A2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 9423EE84AD1D727F1A54C319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + 9455531514206C9FAD0E0582 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 948419EDC66FC6FE3CF9D34B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 9494D0221DC80BDF8ED2107E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 949C18982D04A8743EA86E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; 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"; }; + 956F60A50FD1A571FAECA1CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; 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"; }; + 975F037FB7CE738278E88884 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; + 97C2FBD16505F28651574ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 98B3E514464A269121E203DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 98B4CE4672FAD9AD315F3D6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 98CE9C68EA30EC98C4461E11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 98F1C87695600E354F189BBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + 98FA1B3621002A39482A7037 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + 9914105815EE6622A7D30D28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + 99419768144C9786E79587F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9952FD3B36C3D6931A2583D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 997141DBACCA35F2BC118EDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + 99AAD99A10028330719CCE04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 99F15CFF03E4CA5B9958814C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A6E397D7BBC81095BAAAD2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 9A7414278FA3904366C390F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + 9A89D226BF6C6D76318A790F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9AC277673AEAAC17ED5F35B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; + 9B8720C269E819F628E496AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 9BB387E421ADFFAE54294C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 9BDF976F0C34C9345A0ED967 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; + 9C0FEA04342848BF017E24F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; + 9C2BCC6888992FB311E9DE55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 9C44F4E1D02940D4222D4246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + 9C7B404B4FD856EEEBB3B3C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; + 9CA0B1B0C6D379CA68124A9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CBFFAA438C054D47D0945E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CF68D0F9C5F7C33FAC9738A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + 9D3F96C9C324FF902D078BC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 9DA18FD11F99A6D8AC77CC2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; + 9DA36A482E689EBD806DD04B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; + 9E146131E1AA6A42AE691514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; + 9E1D46A5731A829539D7ADC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9EADBF913B7A454B6BE93A4A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 9F1AE22710BA369B9AB63C1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 9F28F179EF6B90EB9F4DBEE9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + 9F4F94877510B14500133B00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; + 9F5BF9B6AFE88B9149FED1EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 9FB940FB03E282F5D1EC198B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9FC4CA0A19471D61BE415DFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + 9FC8461A85B0484F95B59BD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; + A011969A698F10EA06D2E947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; + A01DEBAEE9AB76E8B825FB81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A0A8B1487C0E3411DE20C981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; + A11D18525BD560CC185AA3CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + A29CD77930F2C2B321F5C9D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + A2FA9537EA6C4473DF23C7D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + A3A7697BF0C1A22D5B2C8488 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + A3AD21C4A936C1D9A1CF87D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + A3DA77EBEFC20A72872F3E28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; + A3F4880140755128A9366902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A40245410E34FD15B1935571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + A40BA2D9759199582967668F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + A4EB7735FCB209FBE5386239 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; + A50F3FB7AB22B72E6D9ECB51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + A5EF5FDF979BC1FF68D3EA33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + A60C27A824FFE6E15583EE8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + A65BB8D452A2A4859FA41F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + A6B2BEE83F1EBFF07FB1DB20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A6ED47BD2D69D4B30F42CF6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; + A70013D9EF802E75631ACC4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + A73835E75D4D24A899ACF40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + A76E706A649469B7EE53B6B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + A8B10D5403457AC452A79974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + A91240691DCAFDC80A86B252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9195101DAEB146C07DD97B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + A920865BBBF3F798E162D02B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + A9618D15D748099F0AE3F2D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; + A9EAFCAB28E5A0615B7B13E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + AA043A3BA34C03EBF97BD5E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA2978CA07499EAB148542E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AA2E4B5C4C6B1164F902721F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; + AA7C5FBE142FDA49CF98F8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + AAB519EC4A32696EFE753119 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; + AB6971C8443CCD45581FFE27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + ABB0DA29DC36D9B5D4A1B0E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + ABF6785F88E9CE3836BB982B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + AC5D43166301AEC753EB7792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; + ACE247FE2ECB38F384F02D14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + AD0E8DCB4CA4C1E0DDE20B1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + AD2F40F909601CA27A812B8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + ADDB88972FBE0D86D26EB667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + AE324FA989F6F34EDB383078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; + AE492D9CE55520860BB98811 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE6A1EBE360F2459CA97F28B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE8998B3A45AE8DAA3308176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + AF33D3913E5876768B35009B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF6874D9CF1D39B6923FCA23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF72F5A48A48FD3E7DD72C13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + AFD2EE6AA2172140178932C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; + B0272A07E4B5B5A604A69BB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B054C811A19EDC42D3E845DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + B07DAD582E5B5EE21BDA0F56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + B0B56BC0BB7669CB5254ADCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; + B1491869A8D959D8ADD6EBD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + B195B16A986486468EF9C211 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; + B39AC65472AA57970C1A2E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; 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"; }; + B3FEA1C98E6A5E4A7AD0EA6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + B46D957C3F0EE0BD278F3EA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; 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"; }; + 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"; }; + B616F1A2F003067580167783 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + B65F1BEA12EE3D722EF3B232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + B660B68D11DCF9DAA6E38F11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + B681D916BB8697A6D90911F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; + B68C520871891DF238BC5332 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + B6C12279C157BE2F5A91B3A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + B724FA711D3E1CF40F3476CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + B73B72735553F94BB245708E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + B764D8D0A5436651C5266D43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + B7A4510F62873F5729CBB939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + B80DBC778927609D8EF7B616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; + B880813604D07B6E9C22F282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + B88EAB4325FB968D51C43BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; + B893FA799437E480C9DE5B41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + B89750FEFE02641F138EEF22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + B8B0992FEC384EAE2FC83B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + B8EF90B5289EC488C94798D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + B9599FA267A2D9DF780D1A4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B96B0163C4CFAD6785A3C3E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; + B99197D9B429390DE251692D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + B9EF417F7612D4613125C476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; 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"; }; + BB2CB3C81D742E6FAE5008A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + BB648AA7052709F97D4A874D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.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"; }; + BBF2546E01AB5753F3CFC166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; + BC590B8EE8379F286471E441 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; + BCA0899EFE4D4F673DAB9FC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + BCD0AACFBE72D3B11FEA6C7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; + BCFB67C5C864E7D06CAF19B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + BD06828DB1C4B74A7519AA49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + BD7E81EFFBDE420C015965FE = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + BE9365B35DD9AE62D00ABC65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF35646861CB41B4E5E870B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BF427957014A7B4571571706 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF6B7DB39861D84A3E3F561C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BF7254BE7AB2EBEE49B46009 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; + BFE047A47564580D50665DA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + BFE9F5D17514F7496A0E1FBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BFEC403690E7A9D4FCB2828B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; + BFED281053143D5D8C5218DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + BFFBF9E6ED32BDB7AF3DAA06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + C03BC1AFDCE495377D00ECBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + C0BEF915D866FC6F9D28B4B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0C5B5C34349FD6B152E5B3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0EE1D9B98C8AD2A1D605827 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C0F849718B68D2D89150851F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; + C1054419444B24A3F4DFAFC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + C1458E824D4C4BB130A973E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + C1DE13DF18998D7583EB6C05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; + C2386580F272DD8DA717AC5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + C28CB68C6B675F148A21EB5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + C2C6FDE8DDAFD2F83CB01949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; + C320A90C1F0F7C133C0C6C1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + C5722BC8011A7AC3863F0D75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + C5911A1FF6A2BCE091B396AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + C5F26F09F35811DC4B2E6B55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; + C62601EC1FED5C9996712A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + C6575EBDE6BCE7176C87FBEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + C65DD3357A8A2E938BE34575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; + C661316FE7DE42445E2C9C59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + C6A10970DA4536CE1038393F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + C6FE613D52823DC395882EDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; + C756ADD68C669D86798439FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; + C76AE0E7FB192383F4687B42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + C7DC9922E056F9CD95D05F9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + C7E15666FF73965BB02B2EFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + C7E68949CF2B71B6E69B840E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + C827E437E4EF9509D35678D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; + C8408188AEB55D54BDE39649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + C8B4F14A7A95548CA2E0AA84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; + C904D7C0FE596B75313D1087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; + C91CB8BF621A656813B4BF44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; + C996039332316BBD342A21D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; + C99F1F5F329CE007254A0BAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + CA08C9FF0073AE6F28B08132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + CA1CA4CF942628C7230FA0A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CA5C3AE40D4524ACE1E85236 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; + CA89294C6519E4AC93776C6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + CAA4A46CA1EB710CF214CBC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + CACFA7250965121635E31062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; + CB042B6A4E7D0FA1CE9AA41A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; + CB1B65A6CA6A57920CECC476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; + CBB2AC9F100B80C046D22E30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; + CBD80073A3EDFF244227A33D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + CCB5D9D631EFDDD1E2D9BDC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; + 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"; }; + CE4F07AA4C02396F049BC8AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + CE8CB04640126669BFEE3AEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + CE91FE6F9C6ECE74706C36F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + CEA4D2BD5A9962D84B3D812B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + CEB1A28DF5CB07AE46AD3313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + CEF53643B45C1B7BB6DF101E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; + CF8215F849A46D15607D4B9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + CFA9033F62CB4D259FBED44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + CFB4DCFA5B5958F2259731ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + CFB7E1B87400E062203FCAC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + CFC288965D13DA3AE55B0862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; + CFF3E3E27308529D8A71B0B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + D020D7629DC183D4937EC160 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + D05ED5DAE5FDE25E68241713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + D08CD725FE674B5D1ADEAA85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + D0CA23007E441BD284FE299E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + D10AA0F3B34156BB5368BAC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; + D2869510C1612075EF8D55E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + D2BF69627F2C37082987AB57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + D2DD113EE8CD421EF3D4A33A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + D2E958556779F998F8B26C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + D2F70950C08DB4F414D7DA38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + D33A7B2FB527C3097CBF4675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; }; + D37B87DADB806AFDBE4574E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + D3927190360398A81F6196EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + D3957791C1B2356C6C8E2B57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3BB3499A2D0306D01A8F3BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + D3D4DD7FE5C3AF27D3F58FA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3DB1C4E8913529248441007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; + D4324C514ABF25BF589F4D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; + D4CBCCDAEDCA252F0B18EFB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + D510B6C30B99F0E434C923D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5169E402EFAB1F80282111F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; + D5768D2D6A39D95EF43C132E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + D58835A80BB4FE354CEB12EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + D5CB794A13A42C982AA8979F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + D67D526382B560EE6E5012A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; 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"; }; + D710CC541F172EABB0DD0ED0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; 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"; }; + D7A6B204A55E1FB0B11B58CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7CF23D57C2B84403BB65B1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + D7DFE5809E1A29CB113D832E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + D81CF228C7FBA60FC881CF92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + D8325B5B81EAAA91E06110F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + D86C78AD79EA3C8983C62FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + D872B951BEE62C3D906D804A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + D8A003EACD80192C72B1DCED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + D8AB6B838BD9105E68EBCBDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8D1BC0077F8365E04448DEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + D9083746DBCF32FC1D54DDF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; + D965799F88CFAF2B71319F35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + D99D440F6A12AC7393393307 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; + D9AC33E991C6333E44C2E4DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; + DA5736D3C39C7698A783FB30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + DB8CFD98F9E0781658934C46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB9F301C8E3225BC3ED0B21E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; + DBDD1A7CC8D49C6A3102DA50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + DC5746089A2CF106AB3ACAA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; + DC88621B627CB67B2B95A622 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD0E15E9C68F63F6EBCF8201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + DD24473AE331407C7CB12DED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + DE1A8EC854F8790727DCF5F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE4546899B5678F164D13F52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; + DE5FE350590ECB6263994BF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + DE815DF3723CCEE3743CC83B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE92999E59EA08C2DA9FB717 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + DEFF1D8B0920A1439A4D7BF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF0CDFDA5A56354EB9267CC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; + DF10467F6C459A86E13EC454 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + DF342E66360E70CC9FB2D088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF9ED1748544B5F67AF9C2C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + DFB4823641DB38366B0B5CBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; + DFE6C8F91D7E54933F0507E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; + E007CA988837ED7121E4DEE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + E0201712CDD6F238A571B01E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E05E4C266A3189E85D132716 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + E16CE40B678F3D1A53FCDD74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; + E1700A08F9EF7F151F30E60B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; 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"; }; + E1DF3FBEE1DEA8C39D336EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; 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"; }; + E271B40EBE7CD08B9BC9DD06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.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"; }; + E31C6950ECA721FF3F5D8ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + E3DBF5011F3087EFA8B6D764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; + E4535BB445B5B1996735D765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; + E547EF3B41C67F84481404AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + E61ACCD72DEBF775E8DA92DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.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"; }; + E69FD8FE872B3C3288FCAC3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + E7EB024409B9DEC37BD8D754 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + E85795B9A56A5BEA6424018E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; 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"; }; + E8A095FCBF7A529B62BAD247 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.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"; }; + EADF52BD0E5715888657EA0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + EB81804932A4D262C1638B83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.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"; }; + EC6AEB3B15C2EF30635545E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + EC8C7372EEEC8E62A8553022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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"; }; + ED4D437C0E99493EEC5FAFC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + ED62ABB75A5AF1E711505617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; 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"; }; + EF253D3A4DB6B9175682C6FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; 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"; }; + EFDE8671B924FE1BB6E4D788 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; + EFF09BB7A926D34D346B623E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + F0440F3FFD9B4597ECDB4BCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + F05B07755D52F4579664F325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + F0E0952F110B6F2BD19D886D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + F110FA5E57DD5ECB4DF8579D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; + F17B940730E35EF6606D9E21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; + F192469D119B30470860D0B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + F1C3E91D76293D52FB800357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + F1F8686F604222CE0417A8D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; + F204290476F4136549255F5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + F22A9CAE5CD135E02F7B946B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + F24095ADF97D00C206CA837A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; + F272E4AA1D4CAB67CF43F8B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; + F27663B1521AE9B2838E0306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + F4CB10FF73790CF1CC1B0A35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.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"; }; + F6AFD2E91EB7E0DC2364CD03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + F74A2053BCE0BF323A191314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + F76FA2C7020A9299C164E2B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + F78102AC05447601BE003D34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + F828FBBE22188E0819D5655F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + F86FEF0463B2EBC33550B409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + F884CD162BF96979E760E1DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + F8E4BBC077CF3B57EED0C5E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + F92018EE9C24981CF2AC9A70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + F995CE4658FCB0BC77A535FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + F9A1152812E47E3AC4E79C9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9E90316C381D5F5211788B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + F9E9AAFB2F9B2836C4B80D8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + FA387BCE236E4F1EBBC53C4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA3D5A5CAA81A14DBD89ADC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + FA4F080EB27F363F659DF602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + FA5B2545D9CB7B25DA56D0BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + FAA172C6F0151E9831FFF5FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + FAAB4EAE4A57B642D3B9EC23 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; + FAAC902BE5901F56AADAC0C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + FBAFD1757BEF8BA1200E8587 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; 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"; }; + FBF247E56EAB0B09E9D4E7B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; 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"; }; + FD12D972996815663FE91DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + FD26DAE53C7C6BCC9006C7AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + FD459D4DC2737E5078BBFD21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; + FD905113460D6EA444D70D28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDDAC94C3AB05BFD61CA61A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDDD9731C8CD1CD968C96BF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDE3F1C1B2919B6F2BD7F514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + FE03488C6BD8BBA2DEA2AAD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + FE17248C5CF42216FFFFE797 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + FE212771DD1CED8E5E1093BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE27DAC9EB763CAEC3CA4BB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + FECBDF4257FCEBD21CD0A927 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FEF01BDC64048ADAC8FBF791 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FEF7F702F021E1BF58423F6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + FF3542246A0F21B4E8C5F6E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + FF467611D066C9EA28C89B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; + FF4D63A54214055B00DC5CA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + FF6DB17FE3DFBA0170ECF294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + FF8DA2206EFE4F5CAAC6DF9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 9F54D12C977843F8FEFCF041 = {isa = PBXGroup; children = ( + 0564535EEA7E4462926EA0C9, + 429C7CD0E88FC64E9A72514D, ); name = Source; sourceTree = ""; }; + 4E2981EC48DBFD725AD8E626 = {isa = PBXGroup; children = ( + 9F54D12C977843F8FEFCF041, ); name = AudioPerformanceTest; sourceTree = ""; }; + AF32DB31A2C3295BC01931A5 = {isa = PBXGroup; children = ( + EC4677E8D193A9D892B5CF54, + 948E6A2F9801318A6BACA604, + C2386580F272DD8DA717AC5F, + DE92999E59EA08C2DA9FB717, + F3D9216291FEFB769A468037, ); name = buffers; sourceTree = ""; }; + 84B5DD3D95C5F9E5F9E66832 = {isa = PBXGroup; children = ( + 19AC92B665400EFFF07B81C8, + 63EAFC2CAD54C480FFDE157D, + 86D29E7BCEDE543B75711B1D, + 4E18F98400FB560FEE9C7F67, + 2D9D7B0B9A11492FD8495FF5, + 9CA0B1B0C6D379CA68124A9C, + F3C3C927DD896E6430A3D16C, + 2E09645AF3BD530AE2F4DFDE, + 713557DD8AA431F8738BD492, + E7907B493FA02D52A914C3F6, + 6FC673BEA337945CB1CF6021, ); name = effects; sourceTree = ""; }; + A1FBFDEE7D0B1F27CAF7EC4A = {isa = PBXGroup; children = ( + 8E424DC79392797F5599D520, + 2CC92A99C7844EF5FB57D59A, + F1C3E91D76293D52FB800357, + D3BB3499A2D0306D01A8F3BD, + 78797E6CD4C710681CEB454A, + 9FC4CA0A19471D61BE415DFE, + 5C9EFD2A63026BD7C1DC3420, + 615C7F551EF2E2884579A6E9, + 03B0137914F641683E852D28, + 3AEDB6F10A0D8FD136B1EDFE, + F272E4AA1D4CAB67CF43F8B4, + 08BC5260B555DF80DED3D8CD, ); name = midi; sourceTree = ""; }; + F0CB9F30E024D237D118557D = {isa = PBXGroup; children = ( + CFC288965D13DA3AE55B0862, + DD24473AE331407C7CB12DED, + B88EAB4325FB968D51C43BB6, + E09CB83038E18107CA2C28DF, + D791D87AE07C498853260542, + 044C63BB6A59D2CCD32B938B, + D63CF56220D7C1524F1A7C47, + 8FDECD751443A4B83FAE8EE7, + 75BB3CCA02966F27A86A8E29, + A7D772CCD36E7C5A73DC8827, + F9A1152812E47E3AC4E79C9A, + 52EF8B186F54CBA4B001FEC5, + 73A4520BF6E34B2493475E29, + 3DAD784188294059B11CB284, + F110FA5E57DD5ECB4DF8579D, + FAC582400D322D57D41D8977, + 060A753BF4C15FDA14B7AA30, + C8B4F14A7A95548CA2E0AA84, ); name = mpe; sourceTree = ""; }; + EEBD66053EC9797A858B2940 = {isa = PBXGroup; children = ( + 9F1AE22710BA369B9AB63C1F, + BB9B97EE17846FF5D9FE7338, + 86928456C0FD8EDE2209334B, + D5CB794A13A42C982AA8979F, + 4231B19D204FB33BC3957011, + 61DD306CDFE50A31B22787CA, + 9337998F47AF8FBA3E9C5553, + 534E6D1CF198BEAE77022FF8, + DD0E15E9C68F63F6EBCF8201, + CD3E850D3908EFE7F8B7A82C, + 24A3468D9D929B2EB6BE9081, + 798BAF4B57A0617005AD6276, + BF427957014A7B4571571706, + B07DAD582E5B5EE21BDA0F56, + 36A22D2BE15728117A7DEDD0, + 517A5DD1CDD552896A6884AB, ); name = sources; sourceTree = ""; }; + B5CC8D6C0E2C8B5781A5B148 = {isa = PBXGroup; children = ( + 33DD41AAEAD33D036DFB605D, + E60738D6344F6735A3029493, ); name = synthesisers; sourceTree = ""; }; + 659E76D64C99326CAFA99BB7 = {isa = PBXGroup; children = ( + AF32DB31A2C3295BC01931A5, + 84B5DD3D95C5F9E5F9E66832, + A1FBFDEE7D0B1F27CAF7EC4A, + F0CB9F30E024D237D118557D, + EEBD66053EC9797A858B2940, + B5CC8D6C0E2C8B5781A5B148, + 98B4CE4672FAD9AD315F3D6D, + 68D13E2D9B08BD4A7ACA1303, + 210267A63B6A116B12EEA4D2, + 68D13E2D9B08BD4A7ACA1303, ); name = "juce_audio_basics"; sourceTree = ""; }; + B8057D839E104AF44DA838FC = {isa = PBXGroup; children = ( + A9195101DAEB146C07DD97B7, + 01A4B617EA0597B206DCF8EF, + BBF2546E01AB5753F3CFC166, ); name = "audio_cd"; sourceTree = ""; }; + F611F673DB94C9ECDBAA990B = {isa = PBXGroup; children = ( + 4DC5892113DCC74FF9C2221B, + 4B223BE03B161EC55F06A8CD, + 67227017A993DC10991AFF59, + 03FCD32DE13EC2131008BEBB, + E7EB024409B9DEC37BD8D754, + 8042077CBB3B876988394E42, + BCD0AACFBE72D3B11FEA6C7D, ); name = "audio_io"; sourceTree = ""; }; + FB703B855F514CFEF5204BBB = {isa = PBXGroup; children = ( + A76E706A649469B7EE53B6B9, + 2335BE9EABE76A9CE1A36942, + 6347424185D8863263EEC3D2, + 907554687EB07FD46FB6ACB7, + 505A5FC3466F4BB88CDD6F06, ); name = "midi_io"; sourceTree = ""; }; + 05CC3717B0D2656095500E50 = {isa = PBXGroup; children = ( + 8C80FA03FCB76A83F013333A, + 4D16C1FEA0AC15DF70D75640, + 90BCC51EEB48DE909139B357, + 035A7C1007632AA97B3529A1, + F67C1BF09F2B3CCFF02C24F6, + 2D32B472E16741F9238FC28A, + 25F3117D7C70C9C3232AC4FC, + 92A08DAD1AB84B6AEA3A186B, + 12ED958D3515DDC17E799069, + 208C4054409C79403B243A5E, + 22E3F6B9DDFD03BD6A370215, + 16243DDF5E3AB5A10A8A2BC4, + F192469D119B30470860D0B4, + 06875F947CD23FBF85B3C92F, + 9455531514206C9FAD0E0582, + 25172C328483B5E3B5CE98C5, + 1DDC6D7570A00F8953FE5D4C, + 70168B0928AC533A7A382FAA, + EC1BE55B8ACFD3CC5710B0DD, ); name = native; sourceTree = ""; }; + F1FC73052723D9A4241A2C63 = {isa = PBXGroup; children = ( + 3893090992F41B8C2319B043, + 98CE9C68EA30EC98C4461E11, + 0C3FA548837CFC7413AD19DD, + 40B50860F40E23FE342878E3, ); name = sources; sourceTree = ""; }; + C69D55E0340A2960D86B9779 = {isa = PBXGroup; children = ( + B8057D839E104AF44DA838FC, + F611F673DB94C9ECDBAA990B, + FB703B855F514CFEF5204BBB, + 05CC3717B0D2656095500E50, + F1FC73052723D9A4241A2C63, + 47B912490FE5F913DE48D285, + FF467611D066C9EA28C89B1A, + 23750FB9BDD75177C64F9AF9, + FF467611D066C9EA28C89B1A, ); name = "juce_audio_devices"; sourceTree = ""; }; + C5AA301B3DC4755BA1D9093E = {isa = PBXGroup; children = ( + FBAFD1757BEF8BA1200E8587, + AFD2EE6AA2172140178932C9, + 1EA9CFA8E2A844BB3C07FC90, + 32C24DCB2936EB31F602BB59, + E85795B9A56A5BEA6424018E, + 8C363C446AC1F328B9AF0C27, + B054C811A19EDC42D3E845DE, + E271B40EBE7CD08B9BC9DD06, + 52FFB30B59CE07A3D9065649, + 931C5D6C2A012AEF2312A7A6, + DF0CDFDA5A56354EB9267CC9, + 3BF1FD7A867A9EC30710F552, + 6ED65943B8B842A12E67EBD0, + 24EA9C07A83DC5806DE5AFA3, + E61ACCD72DEBF775E8DA92DF, + 89C9BA494E35F165F3EE6C56, ); name = private; sourceTree = ""; }; + F48DB389ACF73034AD9EF863 = {isa = PBXGroup; children = ( + A011969A698F10EA06D2E947, + 319B651C9C099FC107AC21E0, + C661316FE7DE42445E2C9C59, ); name = protected; sourceTree = ""; }; + 405B5055CCEAE6E5E42E2D5B = {isa = PBXGroup; children = ( + C5AA301B3DC4755BA1D9093E, + F48DB389ACF73034AD9EF863, ); name = include; sourceTree = ""; }; + 5FDE5AF0C8DDC570E5A2BFF8 = {isa = PBXGroup; children = ( + 405B5055CCEAE6E5E42E2D5B, + C996039332316BBD342A21D6, + 28E20973630B963D13A73613, + C904D7C0FE596B75313D1087, + 17E3D6823C806BF9740617CD, + 406259E635C27B7D2AB5BE13, + D67D526382B560EE6E5012A4, + 9C0FEA04342848BF017E24F2, + 4094667F0D3616A2365EA4DC, + F24095ADF97D00C206CA837A, + 8050A52B44865CABC0544AF9, + 55E039005C68DDF75671A342, + 287E4CA4C82CEC91FAEE31A8, + 5EF91EC0396BB5E11DC14C74, + D3DB1C4E8913529248441007, + 8605D19961CF08473AB736BE, ); name = libFLAC; sourceTree = ""; }; + C523AF46BDE0F4C65B781858 = {isa = PBXGroup; children = ( + 5FDE5AF0C8DDC570E5A2BFF8, + 53EA28A33DA374C82A64CF18, + E4535BB445B5B1996735D765, + 6689C6A47851A930BEFA1B7C, + 2E518A4010D884A1088B9B03, + 0A9701850E07B2A22D83CD27, + 8EBDF5C3199EA40476368862, + 975F037FB7CE738278E88884, + D2DD113EE8CD421EF3D4A33A, + DB9F301C8E3225BC3ED0B21E, + 076A84581BC2D611AA5FE6CE, + 714ABEFEC1210FF716915507, + 70AE45412AF7D9A37E70CD86, + 73A908CB0CAE6FB9534AEBC4, + 067E90433763204A5978AE41, ); name = flac; sourceTree = ""; }; + DB2BE7D5CCF4906A1572D12D = {isa = PBXGroup; children = ( + 10E0C8F5907B45014F7940F1, + 5AC1DCCAC384E64D8A54F6F7, ); name = coupled; sourceTree = ""; }; + BA2042F22B05B2C4C433F87B = {isa = PBXGroup; children = ( + 7BC782A4D0F3D38C462B9BE5, ); name = floor; sourceTree = ""; }; + 113409FB1D9D99D4C6DB97A0 = {isa = PBXGroup; children = ( + BF7254BE7AB2EBEE49B46009, ); name = uncoupled; sourceTree = ""; }; + 454E27C6D19A198A0E13DFC1 = {isa = PBXGroup; children = ( + DB2BE7D5CCF4906A1572D12D, + BA2042F22B05B2C4C433F87B, + 113409FB1D9D99D4C6DB97A0, ); name = books; sourceTree = ""; }; + F717CABFCC78335FA0EA2D9B = {isa = PBXGroup; children = ( + 3C4C54DCC345A38B6166A169, + AE324FA989F6F34EDB383078, + EB81804932A4D262C1638B83, + 2A7A8F7D2C3A11DFBE31C043, + 08AB668BDA8A15E3DF702683, + FD459D4DC2737E5078BBFD21, + 6788C449954B63D0D4777833, + 835116C8C4DDE6BEB305829F, + BB648AA7052709F97D4A874D, + F1F8686F604222CE0417A8D5, + C65DD3357A8A2E938BE34575, + D9083746DBCF32FC1D54DDF4, + 0074C214F900501DFE1595DA, + 76152BCEB8494B0B07F881F4, + 0D17D3E771460866753D80AE, + F4CB10FF73790CF1CC1B0A35, + ED4D437C0E99493EEC5FAFC7, + 7E6B41EAC5FC9AF6AF54831B, + 8E9FF3DB9D5820A6404AD08A, ); name = modes; sourceTree = ""; }; + 385E87DD50A7139B3A019CAF = {isa = PBXGroup; children = ( + 454E27C6D19A198A0E13DFC1, + F717CABFCC78335FA0EA2D9B, + 3C338E1A32B19708DE024A06, + 7301F38158F92083807887F7, + 6CE29EA523B60167840FFC4E, + A9618D15D748099F0AE3F2D7, + 106C967892E555BACA1CBA84, + DFB4823641DB38366B0B5CBD, + F0440F3FFD9B4597ECDB4BCC, + 154044D0E896E60C4EB537EF, + 8022E74223EFCD2A22E3F699, + 9F4F94877510B14500133B00, + 780D5B55F198683D1DD267F8, + 27E76D284EF83959E58924C0, + C827E437E4EF9509D35678D1, + 9DA36A482E689EBD806DD04B, + D99D440F6A12AC7393393307, + 9BDF976F0C34C9345A0ED967, + 79447FB576B9811CE11DC49F, + 5A3D884B409F82E9E00E40E1, + FE17248C5CF42216FFFFE797, + 9C7B404B4FD856EEEBB3B3C8, + 5D44D707B7C5EECE5EAB5830, + B39AC65472AA57970C1A2E13, + 2A1327FA5D536695ADFD1C02, + 5D2DFCD80B76EE20401A6FB2, + 3592FD32F7D9368551F1A215, + 7DBB7EC2B79B53ED20611ECC, + 0B2EC84721A3A400A182D447, + D33A7B2FB527C3097CBF4675, + D7CF23D57C2B84403BB65B1F, + 777D0E1050E0A124AB9F1D9B, + 2B5CE3F4D6C31DE84A2B4A8A, + 85EBFB33C171867A0F94002C, + EFDE8671B924FE1BB6E4D788, + 08F1BBB72FCAB773E7D11078, + 56434BD760679075FD5F2765, + 5B8E0C73FCC3A76C3FBA2881, + 63D6BDDD4D0B184ACD3C066E, + FBF247E56EAB0B09E9D4E7B8, + B6C12279C157BE2F5A91B3A5, + 06C2BB07C9A2E8186DC409E0, + 6FEF3ED99FC27A0931B44E39, ); name = lib; sourceTree = ""; }; + 2A9D8B0D7B2A22991ACD77E3 = {isa = PBXGroup; children = ( + 385E87DD50A7139B3A019CAF, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + 016630EE7305DEA17A144B1D = {isa = PBXGroup; children = ( + 2A9D8B0D7B2A22991ACD77E3, + AE8998B3A45AE8DAA3308176, + 6750F4276D601525336AE24C, + B9EF417F7612D4613125C476, + 18BF0F18BA768D3BA1F75004, + 38C0D26DAE4F4752813AA31E, + 150571E335528BA2F93579EA, + 7E27970EECB241F0FAA462D8, + 248C811D92AB059E7B5936B4, + D710CC541F172EABB0DD0ED0, ); name = oggvorbis; sourceTree = ""; }; + 9B15CCAB94F8C1A05FAB6A4F = {isa = PBXGroup; children = ( + C523AF46BDE0F4C65B781858, + 016630EE7305DEA17A144B1D, + 72152EF0BB769C0DBD9988FD, + 34BFF38490B2CF71D2D729A7, + C538DCF5081621C3A50249FD, + 0902127168F59B65BE2734CA, + 3F74855742C4C2A0EB690196, + D2E958556779F998F8B26C5B, + 0447DBCFD1D771033802932E, + 3AB8D649F9E79A2A3771514E, + A7DC01954B7BA0400CF9E92D, + 3B8646AB1A19217326063394, + FDDD9731C8CD1CD968C96BF6, + 91F42C2FFCED2524DAC78E4D, + 08086ED6492D111E1F3C650E, + F78102AC05447601BE003D34, + 2B802A068D2DE429C379DB57, + 8F7E621B4AECC054F9532780, + 3558E576ACA227E1D8D34F08, + 86E6FB896CF1D678661022E1, ); name = codecs; sourceTree = ""; }; + A4561641317354D2FE5CB18A = {isa = PBXGroup; children = ( + D8AB6B838BD9105E68EBCBDA, + 80A7C7DCD25FECFF74FA662C, + E16B62BB33F9E730CB92153F, + 900C0B5850BCB3B173CBE883, + 3F9D6C7B798F0431FE922B41, + DBDD1A7CC8D49C6A3102DA50, + 2D21CD49127EDB94ABBF55BB, + 62DE876E589EE728A76CBB24, + 43F7BEA9CFC8EE3A248AD5E3, + 52D5C91716E2495903D9B507, + 2F63AD90BD7D2C780CCAAEEC, + 35D58A1347E7CC7089D2AD12, + D7354CB23CE7DFCB335B2DAD, + 38A995151F7D9B88AB220632, + 0C6D96C10A447A809C3180ED, ); name = format; sourceTree = ""; }; + C6D57C1F182414352ADC35CF = {isa = PBXGroup; children = ( + 0EF073B785B39E125D870A19, + 8DB6952BCF28FB10CCB1EFBF, ); name = sampler; sourceTree = ""; }; + 509E7F9A118BDECDA7B9D8F5 = {isa = PBXGroup; children = ( + 9B15CCAB94F8C1A05FAB6A4F, + A4561641317354D2FE5CB18A, + C6D57C1F182414352ADC35CF, + 6626F065E494F50813AFE7C3, + 0237CD1164BCA5B4E670C8E3, + 5DBE129199F61C74A5CCB575, + 0237CD1164BCA5B4E670C8E3, ); name = "juce_audio_formats"; sourceTree = ""; }; + D62926A63A5E7AB2D6F09F3C = {isa = PBXGroup; children = ( + 5222344B220646AB6EE56F3B, + 56D5DA60AEFC0EAAC929A163, + F828FBBE22188E0819D5655F, + FF8DA2206EFE4F5CAAC6DF9B, ); name = format; sourceTree = ""; }; + 6148F6E0CD8940FED55C6C34 = {isa = PBXGroup; children = ( + 391774514515C9FC87A3C6F6, + BCA0899EFE4D4F673DAB9FC1, + 62FA9E776551B423E6B3F379, + 84A5BB5EA969B85D0F920DA2, + CFB4DCFA5B5958F2259731ED, + 3DC079D7D7EFDF308DC44D4F, + A5EF5FDF979BC1FF68D3EA33, + 8F9FE852D4F12052C098EECE, + 45333ACAF454F661FC30924E, + 123831F52D2C1E9A68B75613, + B8B0992FEC384EAE2FC83B39, ); name = "format_types"; sourceTree = ""; }; + C85244C2685D373E286C1CBB = {isa = PBXGroup; children = ( + 2CF5D92890121EE3A9DDE043, + 034E7453A74EABC222A41A79, + E2C7D05E6D7964D2381EB883, + B724FA711D3E1CF40F3476CA, + F27663B1521AE9B2838E0306, + E899F60F3EF8E9E90B58042E, + C0BEF915D866FC6F9D28B4B1, + E991EB4F2976CE2663A94FF0, + 95999D007040ED6D71F707F7, + 8F526565001FEA3FC74DF68C, + C34F15FED2D289A1AC6D85A2, + A920865BBBF3F798E162D02B, + EADF52BD0E5715888657EA0D, + 0684B85054F9745657306704, + 905002781F55D9F49BFFD030, + 4220968D4303C2B4E8A74932, ); name = processors; sourceTree = ""; }; + 1A159268BDE54C8019CA51DF = {isa = PBXGroup; children = ( + CE91FE6F9C6ECE74706C36F2, + CDCD8001286A8AF0A3CF7310, + 60A50A49E5967A9028E6A63F, + 23869E1A76176ACAD04E37C9, + 2C018FD744770C54A848C86C, + 8D54EFEC6315A5D75F68335E, ); name = scanning; sourceTree = ""; }; + 6FA59793599F883A73C24E98 = {isa = PBXGroup; children = ( + 51960E5247A2D4F5993D0487, + A6ED47BD2D69D4B30F42CF6E, + CA5C3AE40D4524ACE1E85236, + 224A19973012E8A1BB78F074, + 63A4479ACACFC9C27B65C873, + 39C4DE7A200B4969626FBD1C, + 3AC2629D782CFE655ACD6C65, + 3713B247A275EEEB9B652EC8, ); name = utilities; sourceTree = ""; }; + BECEC234765DCB2A1916AF07 = {isa = PBXGroup; children = ( + D62926A63A5E7AB2D6F09F3C, + 6148F6E0CD8940FED55C6C34, + C85244C2685D373E286C1CBB, + 1A159268BDE54C8019CA51DF, + 6FA59793599F883A73C24E98, + 8929A374F1046A91D08C5504, + 4DFD997E7F702C64C63A6D4F, + 958486C51C2FDFD3734B281C, + 4DFD997E7F702C64C63A6D4F, ); name = "juce_audio_processors"; sourceTree = ""; }; + 7748404D21E6E8B500D4CDA2 = {isa = PBXGroup; children = ( + FEF01BDC64048ADAC8FBF791, + C0EE1D9B98C8AD2A1D605827, + 014DFF3FB0FDC135308C6E21, + 2CC7B66A627E070BFA76CEDE, + 9FC8461A85B0484F95B59BD8, + B3FEA1C98E6A5E4A7AD0EA6C, + C0F849718B68D2D89150851F, + 858C9156D096A02790CC7EE3, + 61CE8FA0CDA2F912D807F4F9, + E9FD8CCF889E41AEF5CE814C, + 5E9B40FD0A4DC0C60EBC2DDF, + 914D99CE5915E7B68BB47EEB, + C0C5B5C34349FD6B152E5B3B, + 67122ACF3B80664C5DF79570, ); name = gui; sourceTree = ""; }; + D931EB7077ACAF1A97847088 = {isa = PBXGroup; children = ( + 98B3E514464A269121E203DA, + 4C6BB183E191BFA82A1AA237, + 6EB796353187279DE4E47BD0, + 0D114F1D47457A91C806FCBA, + 5F36515D94A9F80D32BAF9E4, ); name = native; sourceTree = ""; }; + 8EF92B66CFB537E97C06CE82 = {isa = PBXGroup; children = ( + 389D048419931AB624A374C2, + DE4546899B5678F164D13F52, ); name = players; sourceTree = ""; }; + F0B729F57D59F6E7F7109036 = {isa = PBXGroup; children = ( + 7748404D21E6E8B500D4CDA2, + D931EB7077ACAF1A97847088, + 8EF92B66CFB537E97C06CE82, + 949C18982D04A8743EA86E78, + 9AC277673AEAAC17ED5F35B9, + 10D3D9E820330B4B1A0BBA94, + 9AC277673AEAAC17ED5F35B9, ); name = "juce_audio_utils"; sourceTree = ""; }; + 873672CF5B5FF2A080171750 = {isa = PBXGroup; children = ( + 7A3C99D6980442005905DE01, + F76FA2C7020A9299C164E2B8, + 703156CBA00913A6D96A89A6, + 79CF8C777581B318FED63363, + 4A09827E258094B53DEC8C05, + 4D73B93862D4FF68B3BF3211, + A3DA77EBEFC20A72872F3E28, + 8A9814BA560F0DC64E58403F, + 6760F9B20993C2913615D62B, + 24D257A12D67B90281563F49, + 589727A3116C274566D20F5E, + FE03488C6BD8BBA2DEA2AAD5, + 5E9181FD445BC527A7CDD4B2, + 8FE849A256A97710D2C75050, + 42FE49CB5AFDD4D4C6C65EDF, + 5C0BCE12CD5910802FE6270C, + 573D91C04B66136D1BD8FA27, + 0384DEB6A07A2E9D89F7D1D6, + 4B5A3ADB800429AAED96A5BA, + FA387BCE236E4F1EBBC53C4A, + A29CD77930F2C2B321F5C9D8, ); name = containers; sourceTree = ""; }; + 6B755E0A92C97024638402F9 = {isa = PBXGroup; children = ( + B9EA2A3E4F4268A3A9CAC2E8, + 2041B8796B90FEDB95078CA3, + 1C1CD66C5A242E5354095684, + 32157D71F3C2001BB77FF255, + 953503B501F2A820E50272B4, + ABB0DA29DC36D9B5D4A1B0E5, + D7DFE5809E1A29CB113D832E, + 88B183F4F890F4A330C41B81, + 9E1D46A5731A829539D7ADC7, + D2869510C1612075EF8D55E3, + 21F301B0D046171D6539BF27, + E26676BD5A6B2C3F0BB2BE20, + 997141DBACCA35F2BC118EDA, + CA08C9FF0073AE6F28B08132, + AA2E4B5C4C6B1164F902721F, + 6DBC17A9AF2D5288FA2BE963, + 47424EAFCF0E0236D9F36314, ); name = files; sourceTree = ""; }; + B3A9803CA6CCAAE541521549 = {isa = PBXGroup; children = ( + 548DBA31770A92A18D6665AE, + F46909B432DC1BE9B98409F6, + B764D8D0A5436651C5266D43, + 52212D0F8D3C9A379010D74E, ); name = javascript; sourceTree = ""; }; + 951408BE57EC31D77346F311 = {isa = PBXGroup; children = ( + 93B1A269C68042238C5F71E9, + 26D06882123226836ADE4CFD, + 0F1DE6A679F43ABFE421EE27, + B242B6D52524EBED51625C00, ); name = logging; sourceTree = ""; }; + D779729B6A4EAEE3F4F9187A = {isa = PBXGroup; children = ( + AF33D3913E5876768B35009B, + E007CA988837ED7121E4DEE0, + 258844F8716360A9253F29C9, + 39C6944D95B60E722934D0E8, + 7A3391163C927F1D75974DC6, + 7AE4C43E62213262B7206511, + 6950C104FD807D0B7E6DB812, + D2F70950C08DB4F414D7DA38, + E5D6D7D4DE1CD91162DDC533, + 52EB00A0F0ABB39D2A2D5BE5, ); name = maths; sourceTree = ""; }; + D1C5B0610B51B95977372DE7 = {isa = PBXGroup; children = ( + FD12D972996815663FE91DAA, + F48CDE09F526F4465693E692, + 9529452677DAC6E6FD5278FE, + CF8215F849A46D15607D4B9F, + 555C2D09AAC12DB54EC0CE9D, + C320A90C1F0F7C133C0C6C1B, + B40051599BAA798C637BDC4C, + 3835B76D934B38B6C939BC1E, + CDE63E5BE3B71836E865467D, + 622FE9C3BDA6397A18CF67C7, + AD0E8DCB4CA4C1E0DDE20B1C, + A40BA2D9759199582967668F, + D8A003EACD80192C72B1DCED, + F86FEF0463B2EBC33550B409, ); name = memory; sourceTree = ""; }; + BD98C5CE43F31CB8901791DF = {isa = PBXGroup; children = ( + 1CA16D2A6FD5DD0CB263CB8A, + 9914105815EE6622A7D30D28, + 1E90C78BB7EF4CAD220371A8, + 8B3F9A7C79AA3D6CAAC11E23, + D020D7629DC183D4937EC160, + 69FF9DD54B3FCEF3F903A5EF, + AF72F5A48A48FD3E7DD72C13, ); name = misc; sourceTree = ""; }; + 2FCA6F0350A2F23C9F261619 = {isa = PBXGroup; children = ( + E54DC5D961F96339438F6F29, + 4438D8DF479243407925791B, + D8325B5B81EAAA91E06110F0, + 111D30204547DC878B617182, + B1E652138C0C7722876CE14D, + 842AACF40ED3B599FDEEDB8D, + 4CF1132BD45B620EE67979F3, + 93F257873F26CD7B863C0A2E, + 8F42E124C299AD6B3E540021, + 7C913A5CC0EFD43B61CF13E7, + 0A7B0BD929594674EF5DBA96, + 2540AED5BA43C7271F857F45, + 4B181C2A371C17AA518F415E, + 06FD1B037E83041F0AF9B2F3, + CC30533925763AA9ED55E94F, + FF4D63A54214055B00DC5CA1, + A3A7697BF0C1A22D5B2C8488, + 9A7414278FA3904366C390F4, + B5BA79CC82D06D67F7AB1B94, + FE27DAC9EB763CAEC3CA4BB2, + 7AA31F3507B686BDB4E41B4D, + CAA4A46CA1EB710CF214CBC1, + 98F1C87695600E354F189BBA, + D58835A80BB4FE354CEB12EF, + 3BDD5144B225C11F51F145F7, + D08CD725FE674B5D1ADEAA85, + AA043A3BA34C03EBF97BD5E3, + F92018EE9C24981CF2AC9A70, + 3F8A753641763864D08251B1, ); name = native; sourceTree = ""; }; + 7F4F720C08BFCA2C1B021C26 = {isa = PBXGroup; children = ( + 7490F1A1A0C65668B890A6C1, + 46F0B8D9E62BAFF1E7A7CC64, + 78B284561F248D4EFE3A90F6, + A50F3FB7AB22B72E6D9ECB51, + 50DB04187388D81882177436, + 0CFE1720CC97F8EC1FA79745, + FE212771DD1CED8E5E1093BF, + 4F0284FA3AB4945EA21980A4, + BFEC403690E7A9D4FCB2828B, + BB2CB3C81D742E6FAE5008A1, ); name = network; sourceTree = ""; }; + F87B0654D4A1DF3624D810C0 = {isa = PBXGroup; children = ( + ABF6785F88E9CE3836BB982B, + 157021E882DD2790DB3DA1C0, + E547EF3B41C67F84481404AE, + DF10467F6C459A86E13EC454, + 083A0604C8629BC172C3BA3A, + D8D1BC0077F8365E04448DEE, + D5169E402EFAB1F80282111F, + 4EDD1CA5042F64E84327CD60, + 22C710A1089CBAA0BD3F8BCC, + B65F1BEA12EE3D722EF3B232, + 3E83B4A120590EC9DF4DCBF0, + 4285E7B2B74C0B2FACF7159E, + 99AAD99A10028330719CCE04, + 7CED5775FA7B2C0710D74CEF, + 670BE56B6CE2FBE4E703A0D5, ); name = streams; sourceTree = ""; }; + 71E72768330028A63AC9E518 = {isa = PBXGroup; children = ( + B5AF3F3B893E7D19B80EE0C2, + 94D48F57C6FBACDA7E565B61, + 74B1E0D24C58DF1DE20CBA3B, + D7A6B204A55E1FB0B11B58CC, + ADDB88972FBE0D86D26EB667, + 03992F31BA4AEBAE5EDEF39D, ); name = system; sourceTree = ""; }; + F2C6485FF52C8BB6EC7DC7CC = {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 = ""; }; + 9ECDDF5D199172512418C322 = {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 = ""; }; + 976BC9AA2CDAEDA7D46CA074 = {isa = PBXGroup; children = ( + FF6DB17FE3DFBA0170ECF294, + 05D38E4A7F422D590702363E, + 5833E8D8DF97BA6F326E6A0D, + CEA4D2BD5A9962D84B3D812B, + 06E59012A14299A8C87BD7FD, + FA4F080EB27F363F659DF602, ); name = time; sourceTree = ""; }; + D6584EE0AE1BB1D29E03E697 = {isa = PBXGroup; children = ( + 9A89D226BF6C6D76318A790F, + C4FBF27BBF30B3B94A0D35BF, ); name = "unit_tests"; sourceTree = ""; }; + 7EFFA98806ADC711D726BA62 = {isa = PBXGroup; children = ( + CFB7E1B87400E062203FCAC6, + 436EACF930FA1011D25EFA0B, + 7C072D2CD85FD979297B1E22, + D3927190360398A81F6196EA, ); name = xml; sourceTree = ""; }; + 25862D9A94858CA0AC13EC9A = {isa = PBXGroup; children = ( + 0B08E61061479CD3CF1C5F7D, + 3DDE0E6F7F3FCD96854FDE87, + DC5746089A2CF106AB3ACAA2, + 463A4363ED0020A23355DB1B, + FEF7F702F021E1BF58423F6E, + 14CF3DA1EAA36030A9DA4A0A, + 39001ECB98B13D462FC2C61F, + EC8C7372EEEC8E62A8553022, + BFFBF9E6ED32BDB7AF3DAA06, + C6575EBDE6BCE7176C87FBEA, + 693F7FBD5205D2EA1462C99D, + 2999D176760F5AE089E4EF4C, + 19F61A9A87678D6698B88563, + CB1B65A6CA6A57920CECC476, + 36D7CF7F39DA551F46CE799C, + D4324C514ABF25BF589F4D9F, + C2C6FDE8DDAFD2F83CB01949, + 3D5CD2B803357C7133E5B7C1, + 5EF5BE91792E3CBA46FD5F6D, + C1DE13DF18998D7583EB6C05, + 332F347451B3B58F128EFF43, + E8A095FCBF7A529B62BAD247, ); name = zlib; sourceTree = ""; }; + C2A88AFDD04E7FB11D1DDCB7 = {isa = PBXGroup; children = ( + 25862D9A94858CA0AC13EC9A, + D6BBAD5CCA00B84B5E90C9A3, + FF3542246A0F21B4E8C5F6E9, + B4ECF1571A1D2C15338C5A19, + C7E15666FF73965BB02B2EFE, + B37CE5CF8F375F6B2E252A7C, + A73835E75D4D24A899ACF40A, ); name = zip; sourceTree = ""; }; + 42917212E44DA9C652D79C10 = {isa = PBXGroup; children = ( + 873672CF5B5FF2A080171750, + 6B755E0A92C97024638402F9, + B3A9803CA6CCAAE541521549, + 951408BE57EC31D77346F311, + D779729B6A4EAEE3F4F9187A, + D1C5B0610B51B95977372DE7, + BD98C5CE43F31CB8901791DF, + 2FCA6F0350A2F23C9F261619, + 7F4F720C08BFCA2C1B021C26, + F87B0654D4A1DF3624D810C0, + 71E72768330028A63AC9E518, + F2C6485FF52C8BB6EC7DC7CC, + 9ECDDF5D199172512418C322, + 976BC9AA2CDAEDA7D46CA074, + D6584EE0AE1BB1D29E03E697, + 7EFFA98806ADC711D726BA62, + C2A88AFDD04E7FB11D1DDCB7, + BE9365B35DD9AE62D00ABC65, + 342934026A84C4D0F10F6261, + 11934147B8A79709D0664625, + 342934026A84C4D0F10F6261, ); name = "juce_core"; sourceTree = ""; }; + B4A8238572F442C33CFB8B91 = {isa = PBXGroup; children = ( + 4A2A39F4B493669E2EE55F75, + 7E0469227FB8C4ADE95CC192, + 65BA1BF484E324D84C49A976, + B8EF90B5289EC488C94798D8, ); name = "app_properties"; sourceTree = ""; }; + 5E7B7BCCE3BA56DEDE73BACA = {isa = PBXGroup; children = ( + 54A15FB5F8608B31D6F914B7, + 70C6C35771C076364F535EE9, + 3ACEB177B9B59EE0CCDDB6DA, ); name = undomanager; sourceTree = ""; }; + CACD69FB0A3D656500A01BC1 = {isa = PBXGroup; children = ( + 88B4A6D6D7414567B77AF2B5, + 33E00CA7E358B1A9E8A68287, + C99F1F5F329CE007254A0BAA, + A11D18525BD560CC185AA3CB, + 044C98142AF352964DC87013, + F9E9AAFB2F9B2836C4B80D8C, + 77FBBF17D08E7B8031E5591C, + 450A7E1D741CA7E42CE0B026, ); name = values; sourceTree = ""; }; + 6AC1A837BB408E74DBE01934 = {isa = PBXGroup; children = ( + B4A8238572F442C33CFB8B91, + 5E7B7BCCE3BA56DEDE73BACA, + CACD69FB0A3D656500A01BC1, + CB042B6A4E7D0FA1CE9AA41A, + 3321C89CC61938E085258B6E, + FB9C77F74F072D199A7BD698, + 3321C89CC61938E085258B6E, ); name = "juce_data_structures"; sourceTree = ""; }; + 2CD009CD615DC24BD0F6470D = {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 = ""; }; + FD18AC64A9F4DD7F68528074 = {isa = PBXGroup; children = ( + 3F9554E1A5AEC56AE59BF3C7, + A9EAFCAB28E5A0615B7B13E6, + 21D96087EA2F816616E4332E, + F5EDE89DF742273F2E8AF37B, + 1C34E5D650A5A764348D2A47, + 19A11B8D4418ABDA10C63019, + C76AE0E7FB192383F4687B42, + 1319902A86F0CFB586000874, + 0245FDA8CC461E9B127C78C1, + F204290476F4136549255F5C, + C6A10970DA4536CE1038393F, + E3DBF5011F3087EFA8B6D764, + 3BFD5595F009F3D326D3E1E1, ); name = messages; sourceTree = ""; }; + 10FA40D97E85D67CC9C77973 = {isa = PBXGroup; children = ( + 406D57282ABA5C8368F26995, + 586C47B3007AF321674881F8, + BFE047A47564580D50665DA2, + F9E90316C381D5F5211788B7, + 56D947BBE9F6A75C42A54257, + 67FCADC2EB97BC70A9D811B3, + BD06828DB1C4B74A7519AA49, + 5AAA012C77F1998912D92E30, ); name = native; sourceTree = ""; }; + EB93F5F821BEBC53C74CE04A = {isa = PBXGroup; children = ( + 7EA9604FAC6EE7F32FDE5836, + 762A8B6317A874ED6C6EB26C, + 1821A278E87CD2C66F4F40ED, + 2589398BE0711F5A44669EC5, ); name = timers; sourceTree = ""; }; + B5AF34152C8588BAB9750256 = {isa = PBXGroup; children = ( + 2CD009CD615DC24BD0F6470D, + BF5564468B26D3B20B516B42, + FD18AC64A9F4DD7F68528074, + 10FA40D97E85D67CC9C77973, + EB93F5F821BEBC53C74CE04A, + 42943EF6C5592F8D63ACFABF, + F4301F4CE820D61D7586A0E5, + 050729FE03ED356C75E970EA, + F4301F4CE820D61D7586A0E5, ); name = "juce_events"; sourceTree = ""; }; + D640A161669896CB3F54215F = {isa = PBXGroup; children = ( + 1B6B2DA250A8E1E46F92938E, + 5A44382799C715F1D127572E, + 30E53D40C1A80D8F461694D2, + D799FF6C1BF87B39E4FDB80D, + 56420C6F178C2DC5227A4E21, + 05CBF668EC4BC50B5DCA18A7, + 8623EDE162B80A49412E88BD, + 0D2B023924611E49FD9E25F0, + D86C78AD79EA3C8983C62FC3, ); name = colour; sourceTree = ""; }; + 1F4C9832196033879D1F9C1A = {isa = PBXGroup; children = ( + 5E669B7D8CBA66972A65674F, + 8CD626B325ECD0C5B396B349, + 08E78939C5D6164508F72381, + B58743FE48B10A581E6097CA, + DF9ED1748544B5F67AF9C2C9, + 9FB940FB03E282F5D1EC198B, + CFA9033F62CB4D259FBED44D, ); name = contexts; sourceTree = ""; }; + A9D58A5100189C75CF229619 = {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 = ""; }; + 1BD749338A67355DEA27C335 = {isa = PBXGroup; children = ( + 6BF2D7FE9E2249BF3502ABB1, + 61FF661623DF0A42513174DC, + 935DF957DEBB660FF9B11BD8, + C446EDBBF5875AB92030FB38, + F8E4BBC077CF3B57EED0C5E8, + 6113F4C3AFB861DCAF88C212, + 99F15CFF03E4CA5B9958814C, + 0F8B72901197C072D8A251C6, + 635D87A84247829C8FA7B94A, + 05D994272DE2666736A68263, + EB31FA1F8F34BE572BFDA40E, + FA3D5A5CAA81A14DBD89ADC9, + 8BE755437A71CADCE98F2CD2, + F54F134490A7622D750C8CCA, + 27E028D654DE35C7FAE178D0, ); name = geometry; sourceTree = ""; }; + 2AA986F6C9A432E51B285743 = {isa = PBXGroup; children = ( + 6F31B6B2DDBC6BB8EAFFB160, + 0B9681E03435BCDDB73D68BA, + 431458F1B5980E22C086FA02, + 8E58BAA155DFB2A320AB3B0D, + 478C988828C34DF69C283A1B, + 253A664F26DF025980A1B7C5, + C1458E824D4C4BB130A973E4, + 7ECA80118948DB6EE6CBDED1, + E1700A08F9EF7F151F30E60B, + CCB5D9D631EFDDD1E2D9BDC4, + CBD80073A3EDFF244227A33D, + 24F347645D513C30E1123176, + CBB2AC9F100B80C046D22E30, + B46D957C3F0EE0BD278F3EA3, + 7C53B64BB95E75E3A7856299, + 035DDB4D18E65692DB8E6E35, + A0A8B1487C0E3411DE20C981, + AC5D43166301AEC753EB7792, + 7D013C7AA13D984057BCE090, + 62A5FE601ECB8DCCDC86D061, + 7E36C46BDC118BF8A6AF71AB, + 109334022834C066626A9B1A, + 2F81F6218BAA22246A514DF0, + 9494D0221DC80BDF8ED2107E, + F884CD162BF96979E760E1DD, + 5F91B40AB8BD3115AD4E8836, + 917260F53ED8BE9007BBD18A, + 6003AF599AD277420CA40A55, + B880813604D07B6E9C22F282, + EF253D3A4DB6B9175682C6FA, + B80DBC778927609D8EF7B616, + C756ADD68C669D86798439FB, + 30ABA05184DA7A8178D02C78, + 52EA924EBC4A41470031E321, + EC6AEB3B15C2EF30635545E0, + 9E146131E1AA6A42AE691514, + CEF53643B45C1B7BB6DF101E, + B0B56BC0BB7669CB5254ADCB, + 54EA81EC3AD0C6B51A791758, + 0B3966ABC8DC305756249947, + 935CBAB354361FD6CDB17BEF, + 89BB4C45E5A2279E9BC5D857, + E1DF3FBEE1DEA8C39D336EFF, + 9163D3EF55AD0B2B197493EC, + 35A875455175F8C4BF62061E, + D9AC33E991C6333E44C2E4DD, + 1876FDB0C9CC9B75617654B4, + F17B940730E35EF6606D9E21, + 865787BFE9D205CD0868E324, + BC590B8EE8379F286471E441, + C5F26F09F35811DC4B2E6B55, + 956F60A50FD1A571FAECA1CC, + 45A5C6D5A476CFD78E77D176, + 098D3AE231DBB123FBEB7AE2, + C6FE613D52823DC395882EDE, + 77D2E616216762A56264F6B7, + B195B16A986486468EF9C211, + 55695475638089C4E2C6A2E9, + 9DA18FD11F99A6D8AC77CC2D, + 880EE63A76B76105861A8508, ); name = jpglib; sourceTree = ""; }; + F8638E2B8674985E44F8751F = {isa = PBXGroup; children = ( + BD7E81EFFBDE420C015965FE, + 5C6AC07C64F38959936F2D59, + 63D9F3F76D0964C734B59BC9, + 5FECE47040F6CB7A0F1A95A5, + 5AE0DD3F8B3270DE0105661A, + 717FE5CDF9E855AD674F1CFB, + 2B2EECF7963404C8F2531DAE, + 6D6973887764928DCD564C09, + D10AA0F3B34156BB5368BAC5, + 4827E37BA68432D78ABC9749, + 23308ACF7193D1B72DB934C0, + 5B19B940D22357A6218AC5BB, + ED62ABB75A5AF1E711505617, + 21BCE5884162A97546632579, + AAB519EC4A32696EFE753119, + A2FA9537EA6C4473DF23C7D1, + 1BDEDF72F521FF99BC1BC30F, + DFE6C8F91D7E54933F0507E0, + 725F92950615D99EF80F2E37, + 548B2B14607337A05AC157BE, + B7A4510F62873F5729CBB939, ); name = pnglib; sourceTree = ""; }; + 3743AC419F5FFC23E39D84C6 = {isa = PBXGroup; children = ( + 2AA986F6C9A432E51B285743, + F8638E2B8674985E44F8751F, + 73EB02E40027EDD8284BFF9C, + E892097A580573FD65F52666, + 85E0FA40CD3060A37A952E57, ); name = "image_formats"; sourceTree = ""; }; + 6B1034606EE327242C3C7B53 = {isa = PBXGroup; children = ( + FBE7CA0BE22C4FAD4405C1D4, + CBEA43906CA7292557B08994, + 12EB34780425AA36FE1DC245, + EB59BB11D7DDAF680A22B040, + 6D78C65C434A649A0D95AFE3, + A83AE455D3D67018DD3E919D, + 13E3246B1F0E027A68A9C99E, + FDE3F1C1B2919B6F2BD7F514, ); name = images; sourceTree = ""; }; + 48E258D618EB6DEBFA26A109 = {isa = PBXGroup; children = ( + FB28A976AA6297363E1E1EBF, + FAC115B00D222400E1D5F9AC, + ED4C4504733394EA9FFF33C1, + A91240691DCAFDC80A86B252, + CCE8EEA7069F237E15EB946B, + 344E814BBA9CF94A0BA9E95A, + E2E90E7B9A2553E3B6F3D0D0, + A40245410E34FD15B1935571, + A86F543278EE0AAA8D35DFDF, + FAA172C6F0151E9831FFF5FF, + 54D82FC2559A9ABF3D123287, + 657D2EDA55C54F1346D194B5, + 61A6B2C311EEA8E33BAC6BB3, ); name = native; sourceTree = ""; }; + 847D42760243B3DA8BA777FF = {isa = PBXGroup; children = ( + 930DA33DD6318AB19A4170EE, + E31C6950ECA721FF3F5D8ECA, + 173A0672B8807D34785D3817, ); name = placement; sourceTree = ""; }; + 2D8A34026E7E1361A586EAD2 = {isa = PBXGroup; children = ( + D640A161669896CB3F54215F, + 1F4C9832196033879D1F9C1A, + A9D58A5100189C75CF229619, + 297D0417582E9DBCA7342B83, + 1BD749338A67355DEA27C335, + 3743AC419F5FFC23E39D84C6, + 6B1034606EE327242C3C7B53, + 48E258D618EB6DEBFA26A109, + 847D42760243B3DA8BA777FF, + 59B97F425A3CF75A746B22AE, + 8BD123306A2D1EF7C1D22245, + B2DA2CD83338C8A369A3F2E8, + 8BD123306A2D1EF7C1D22245, ); name = "juce_graphics"; sourceTree = ""; }; + 62B5F8F06870C6B2840BF9C3 = {isa = PBXGroup; children = ( + 1C4FB479D974C51E179E5CDF, + 564F0964BE4672CECEF674FB, ); name = application; sourceTree = ""; }; + 4B954F4203F8148CE0CA7E32 = {isa = PBXGroup; children = ( + 0E76C14A6B1F3FFAA12390E4, + 965C305E056C8DE917F22585, + 4AD562E921CCD6D6B8FE23E1, + E64584D04C5D69143388CB70, + C5911A1FF6A2BCE091B396AB, + 02EB0ED6B77472A4FCFFBA2C, + FDDAC94C3AB05BFD61CA61A9, + DA5736D3C39C7698A783FB30, + DB8CFD98F9E0781658934C46, + DE5FE350590ECB6263994BF0, + 97C2FBD16505F28651574ED4, + 5E709F00CAC67777947770B4, + D965799F88CFAF2B71319F35, + D2BF69627F2C37082987AB57, + DC88621B627CB67B2B95A622, + 0CAFC4B9A6219281775A3E5B, + 1C90CDB7F9330D36B4945DDB, + 19A3C290AF0C327E51EE50B9, ); name = buttons; sourceTree = ""; }; + 0B39B08EE09036ECE5104E96 = {isa = PBXGroup; children = ( + 31DA1B6D46C641F5802C5A8E, + 27AA00C367BCDA2C9CAC0B86, + 133E18FB3B6527A6F52765BD, + EFA7A6158C4450A5F49335B2, + CACFA7250965121635E31062, + AA7C5FBE142FDA49CF98F8D3, + B68C520871891DF238BC5332, + 206E356909BCD419F0227EAD, + F05B07755D52F4579664F325, ); name = commands; sourceTree = ""; }; + A6A3F91F2927B8F13E5BC8C4 = {isa = PBXGroup; children = ( + 5D027E407997AA18E4CF1EDF, + 19CA3A888AC0FD869B853833, + 07EFBED954F04C319CB2F9AF, + CA89294C6519E4AC93776C6A, + EBA2E416B76E54F2A01D7EE4, + B616F1A2F003067580167783, + EFF09BB7A926D34D346B623E, + FCF0A463925D6F585DD6202C, + B9A51E1C7C09AE5A7CAF3917, ); name = components; sourceTree = ""; }; + 6CE9C709178881B44ED30C3A = {isa = PBXGroup; children = ( + 2A4FA5A0C18884315A2BAA0E, + 232388289B7BBC5816A43249, + DEFF1D8B0920A1439A4D7BF6, + 82A31A72EE1B1122AD16DDD5, + 41D8D99E399E3061D8647B6F, + 2419CBA43268699E7362495D, + 3CEAC402885D5C05543AEC43, + 1AF6D6EE9265937269A36117, + 18311E0283D643D5AA5315C4, + B893FA799437E480C9DE5B41, + E9A446C55A081B96178D1DF8, + 154BFBF033016D3F53C135A7, + E9CB5952B7883AEA94F52CBD, + 42379E3C735E219BDFAF02A3, + 1CC052B5ECA38077CF568526, ); name = drawables; 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 = ""; }; + 3642ED036ACFDA5015689A18 = {isa = PBXGroup; children = ( + B9599FA267A2D9DF780D1A4D, + 23F72B1694AF62D52C346872, + E1871D3D858086CF673A183A, + 62B3388B527F8DDF7CA6B846, + 1507A0089F24D5F195495E1E, + E05E4C266A3189E85D132716, + CE4F07AA4C02396F049BC8AA, + 9098F3DCD9F73170C9710F68, + 359BF9362336ACD73C8AC759, + 258C0F0E4C520517F02BB1A4, + 9C2BCC6888992FB311E9DE55, + 0D0985E65845458A00278B57, + B96B0163C4CFAD6785A3C3E5, ); name = keyboard; sourceTree = ""; }; + 80B464EDE8825B0B496A6FB7 = {isa = PBXGroup; children = ( + D05ED5DAE5FDE25E68241713, + 11FC57C0D11AA6304EF94ECB, + 00B3EB5421ADC0A47CE075CB, + 4C568FD63B14A953DDA6B1B5, + F6AFD2E91EB7E0DC2364CD03, + 0DADD40E45D17B1839935498, + 71D3AB9601D27C46645DB729, + 42101ED87C863ED563FFF529, + 6E3F44A76A54314DDD293F95, + 07FFF8B1683CC2595613F38C, + 83205FE6737B51491CAF017F, + 89021205A4D054ED8FB19640, + 7DE749651A85480E34E2D909, + 2B7BFB3838421DA82147C48E, + F5330B527A064EF5B090EBF5, + C91CB8BF621A656813B4BF44, + 6DEAC23650473EC5B37B7118, + 0610902216FAA9AE2319E9C3, + 91EA75E4BBE8A87A9618D202, + 1E567E1528267ECC91AF502F, + 3C605CC33AFBF37B0126D285, + E5CFD76752D799D84F029F7B, + 2B3C50412FEB0EA622DF305B, + 0A4245BBC061D576B59D84DE, + 719BBE0A15A89976BC3E2A30, + 9CF68D0F9C5F7C33FAC9738A, + C7DC9922E056F9CD95D05F9C, + 2EDBA1350FD0C2627B93210D, + 5D117A1C65CF13922E0D23F6, + C8408188AEB55D54BDE39649, + 5FF59BC1E0DC1F0B3E0E6F3A, + 220703A156A4548AD191B8A3, + 6651374E4D299560500300BD, + 2E1707957B3A71C40A6F1F7C, + A8B10D5403457AC452A79974, + 3DC83676AED8D6983662484E, ); name = layout; sourceTree = ""; }; + 72798CD8CA65B9F59A9B478B = {isa = PBXGroup; children = ( + 55FDA65726A4950DE49F544E, + 3FA224F24C8FA15816EAD2CC, + B73B72735553F94BB245708E, + ED3C3C56246BE6C569D5B08C, + 3CBD3CE7F456DA1C4C15E198, + B89750FEFE02641F138EEF22, + A8987822AEB05A94888A8B3B, + 98FA1B3621002A39482A7037, ); name = lookandfeel; sourceTree = ""; }; + 6CEFA4B90CF38CB3AEE1074A = {isa = PBXGroup; children = ( + 362C86206432CC5C84EFBB20, + 03A78461E09AB9BE72F5207A, + 195ECE7C25A147B52C72FBCF, + 96465102CA605250058AC064, + 59F3D582CE541DAA298A579A, + 9A6E397D7BBC81095BAAAD2E, ); name = menus; sourceTree = ""; }; + F8539CEEC80B32D9D0D32913 = {isa = PBXGroup; children = ( + BBF07C581A05714CBD5DF3BD, + 815D7A4601E13B895F1C30D0, + C37CAC3770FC20323394F6C6, + BB165BEFBD9C1341F9872A34, ); name = misc; sourceTree = ""; }; + 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 = ""; }; + B8833E3EBBA46B77AC10AEEF = {isa = PBXGroup; children = ( + 7275182C65010E12C94356DF, + 7E845FFAB78320D64910356F, + 9D3F96C9C324FF902D078BC6, + EC95580242D2E38B683BFD9D, + 4219E70B9BD7F88017386C92, + 1B968B7FB99573A5ABFB085B, + 6FE3078E9CED1266E46F9FE5, + 9C44F4E1D02940D4222D4246, + 6DE71D1176A9B368672D77DD, + 7AFCEC7E562EE311B850BC99, + BFED281053143D5D8C5218DF, + F31FE1E9C603E85BF9F41198, + ACE247FE2ECB38F384F02D14, + 933351F1C4B5CD31951BA33C, + 660143D122CB260A7A45507A, + 0EA946592DBF37DCD20A2B52, ); name = native; sourceTree = ""; }; + C26BDD93779E86E1686C576F = {isa = PBXGroup; children = ( + D4CBCCDAEDCA252F0B18EFB8, + C5722BC8011A7AC3863F0D75, + AE6A1EBE360F2459CA97F28B, + 9B8720C269E819F628E496AB, + AB6971C8443CCD45581FFE27, + C7E68949CF2B71B6E69B840E, + DF342E66360E70CC9FB2D088, + 73874DC78A39B299149E1833, + 210EB9B831928D624AE206CA, + 07CE970AACAA2798441E68D4, + 92EBDE8F4FF4C7D9010CC277, + 08E3D8FC63613F3C281A7321, + 13DF23791903EE23C9B94266, + 70A18D791C54F97B989BB9B7, ); name = positioning; sourceTree = ""; }; + 04C46E8E6CA5A1C60B8651E7 = {isa = PBXGroup; children = ( + 1A84A81FAEA61DF6BED354E4, + E69FD8FE872B3C3288FCAC3C, + 75A2D021E11AA4607169DD5E, + BF35646861CB41B4E5E870B1, + 53EFA64C90C33873A3781E3C, + 49BE2BA580A602FF754A654D, + 1157C5195475CB5DEB691C76, + B0272A07E4B5B5A604A69BB9, + 83C3BA024505ECF97CB1A494, + 1BE58FC46BC1464AADF59A9D, + 380D54F375B780CC7EC45081, + A6B2BEE83F1EBFF07FB1DB20, + 1DE92FD3DCB1D583A6CE3ED1, + 13FCDAA1C90D4662B42A6F04, ); name = properties; sourceTree = ""; }; + 3C8B88903F930E268F842F01 = {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 = ""; }; + C9B0304785BA527259A2C3D8 = {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 = ( + 62B5F8F06870C6B2840BF9C3, + 4B954F4203F8148CE0CA7E32, + 0B39B08EE09036ECE5104E96, + A6A3F91F2927B8F13E5BC8C4, + 6CE9C709178881B44ED30C3A, + DC6712CAA9405C233E75A7FF, + 3642ED036ACFDA5015689A18, + 80B464EDE8825B0B496A6FB7, + 72798CD8CA65B9F59A9B478B, + 6CEFA4B90CF38CB3AEE1074A, + F8539CEEC80B32D9D0D32913, + FF434740C846469689A2D591, + B8833E3EBBA46B77AC10AEEF, + C26BDD93779E86E1686C576F, + 04C46E8E6CA5A1C60B8651E7, + 3C8B88903F930E268F842F01, + C9B0304785BA527259A2C3D8, + 6A6C1C7377A7EE16FAC1E839, + 012D15DF2BF8C2A8D78BBCB1, + F58AAC0B88773E609A8E3AC5, + 012D15DF2BF8C2A8D78BBCB1, ); name = "juce_gui_basics"; sourceTree = ""; }; + 2283F2154A4BC893705A67C4 = {isa = PBXGroup; children = ( + 6C1A5BA3260AA97BCC54E99C, + 466D7D59847A6A0DCACF2B01, + 7D710ED3875BA0F9742D5699, + 258F21663E397877675E9E7C, + FD26DAE53C7C6BCC9006C7AD, + 3266D7C60277D249D37F33AA, + 2E4A93D258D86770140B193D, + 2FE88AFED12D0AD97091BB10, + 42A5996EB1C9A0FA9BAD31E8, + 3D918D5343B23C79D6B2AA52, + C28CB68C6B675F148A21EB5A, + D60BBF26B241D4E0F29B5249, ); name = "code_editor"; sourceTree = ""; }; + 04B952F908D2771EC49B8594 = {isa = PBXGroup; children = ( + AF6874D9CF1D39B6923FCA23, + 3A569134A5472E1BD53B8021, ); name = documents; sourceTree = ""; }; + 4845721383ADD3550F6E660C = {isa = PBXGroup; children = ( + 948915DF1F924C4541081A84, + 0C07FE9302729E7CCB168477, + 30445F9D4C3E8B50A7FA9426, ); name = embedding; sourceTree = ""; }; + 496EE37143F953E52D1AE99F = {isa = PBXGroup; children = ( + 166432B08B32D28E0EE6CA2A, + E0201712CDD6F238A571B01E, + B3EAB67C94C39842591864ED, + 99419768144C9786E79587F9, + B99197D9B429390DE251692D, + C62601EC1FED5C9996712A12, + 01C80A9FE3E329557A47B805, + FC321D7DCFB665DF3068C2AF, + 157AF02E97D86529CCA52BD3, + 55851A20A40E28ECD895AE09, + 9F5BF9B6AFE88B9149FED1EB, + 85D9816BC0DC2124FB8D39E2, + 652F6B750957DA7AD7A8B6FD, + E98236C48E31A8D5607926BD, + 2C22B4DA114E482B23796BE8, + 489903DB8BD2B3D0098947F9, + F74A2053BCE0BF323A191314, + 41E1F1ED873B8778A4DEA391, + 7357DF51E85ED90A131038AE, + 9156CF6C64EE06DB55B57572, ); name = misc; sourceTree = ""; }; + 8117A878CB14E3BE8158A73B = {isa = PBXGroup; children = ( + 72E55255CBC6A5E3ABAD8FCA, + 41650B41C126475F54AAD41F, + B660B68D11DCF9DAA6E38F11, + 374CF3F673D1531ED15AB53D, + 5CC6DDBE8F8CDD35006873D5, + 948419EDC66FC6FE3CF9D34B, + 717E6F679760C87003A61B3B, + 6B07D63DAE9F46E99E13D166, + 7F51C2503C0DC76D90DF7B91, + 5F4047D2F2642271CA6733B5, + 1FFA016099DD003AD459C0DE, + 1D850EB0F5B9D49D3D335FE6, ); name = native; sourceTree = ""; }; + 1B0481B8E7A5B7489D768A07 = {isa = PBXGroup; children = ( + 2283F2154A4BC893705A67C4, + 04B952F908D2771EC49B8594, + 4845721383ADD3550F6E660C, + 496EE37143F953E52D1AE99F, + 8117A878CB14E3BE8158A73B, + E16CE40B678F3D1A53FCDD74, + 56F4146CF072135E9FD55A0A, + D71B725E56C2BAFB9DAED99D, + 56F4146CF072135E9FD55A0A, ); name = "juce_gui_extra"; sourceTree = ""; }; + 90489A23F0DBAD5F1550CE20 = {isa = PBXGroup; children = ( + 659E76D64C99326CAFA99BB7, + C69D55E0340A2960D86B9779, + 509E7F9A118BDECDA7B9D8F5, + BECEC234765DCB2A1916AF07, + F0B729F57D59F6E7F7109036, + 42917212E44DA9C652D79C10, + 6AC1A837BB408E74DBE01934, + B5AF34152C8588BAB9750256, + 2D8A34026E7E1361A586EAD2, + 84A48DC9C4EF88B64103B1E0, + 1B0481B8E7A5B7489D768A07, ); name = "Juce Modules"; sourceTree = ""; }; + 0B8996A5E2671A4628476CFB = {isa = PBXGroup; children = ( + A65BB8D452A2A4859FA41F8B, + 71F53610B155D5DC0BC44FE8, + 4175A059B8C8C5B5326C868D, + F3E66241B460F42763126C07, + 4FE58F1BB8347D978F8549DC, + 70AF1456B19C4D3B424A3883, + E18F04B8EBF4E3AB1362BDC5, + 28E1AF36A775870224F6D59B, + 5B68D6F2AC0D0B18DE5FFF63, + 7724F42B3BE3B4D25047BEB7, + 70D0CB56D167630AB1912B0B, + C4B5CF7830AAA69A7E9A12C2, + 26FE7BE182FBB9E7228A082D, ); name = "Juce Library Code"; sourceTree = ""; }; + ED3C55ACC14D6DE2BC3B8A1D = {isa = PBXGroup; children = ( + 9516A19EE58DED8326DD0306, + FAAB4EAE4A57B642D3B9EC23, ); name = Resources; sourceTree = ""; }; + 02A7F817D49F2BC1D70F4242 = {isa = PBXGroup; children = ( + 9EADBF913B7A454B6BE93A4A, + 18C1CCE5684F9FA0478F27AD, + 1DA5C6A474916745AFEC6DA5, + 453777CEB7099A5D61901D13, + 9F28F179EF6B90EB9F4DBEE9, + 12C680C68A15B9A590264B18, + EE758AD71415EB31BD3E82F3, + 43775DC3D9F7917846EA5327, + 0A58FDDF6FB9253F51939A52, + 3058871156B921B9E5946C4F, ); name = Frameworks; sourceTree = ""; }; + 1DFEAF972822E305E013CC06 = {isa = PBXGroup; children = ( + 614F2084407B35D62101F69F, ); name = Products; sourceTree = ""; }; + 3BA1BA0CAFE969E99950C06B = {isa = PBXGroup; children = ( + 4E2981EC48DBFD725AD8E626, + 90489A23F0DBAD5F1550CE20, + 0B8996A5E2671A4628476CFB, + ED3C55ACC14D6DE2BC3B8A1D, + 02A7F817D49F2BC1D70F4242, + 1DFEAF972822E305E013CC06, ); name = Source; sourceTree = ""; }; + 19B7C16D592FB25D09022191 = {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; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + 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; }; + B7A6988E30C0A68B01EDC53B = {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; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + 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 = Release; }; + B907CDF95622107F20CD7617 = {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 = "AudioPerformanceTest"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Debug; }; + BF82CBDF63CC37CADC61A511 = {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 = "AudioPerformanceTest"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Release; }; + AA3837ADCB1CEB3B0E2D20B3 = {isa = PBXTargetDependency; target = E9FD2656EC625C9C8DE30219; }; + 7097CF6AC086DAC346ACCCD9 = {isa = XCConfigurationList; buildConfigurations = ( + B907CDF95622107F20CD7617, + BF82CBDF63CC37CADC61A511, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 674C2AF5989C06689C6065FC = {isa = XCConfigurationList; buildConfigurations = ( + 19B7C16D592FB25D09022191, + B7A6988E30C0A68B01EDC53B, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + C86DD529EC94922C2AB61742 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + DA21A6E7A18555DCFC63B07C, ); runOnlyForDeploymentPostprocessing = 0; }; + 6C2BE2DE2ECC96615ED827AB = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 07451DA87757F9EF80E31BE8, + C8A2264A4D4A0CD6B519AC01, + 8286920FF6CFA9E7A4975C33, + 1B7DB3536E20A460AC331BC8, + 03B1B72B30A18968B9F453A1, + 1382A55F62D5255C2BA0E9D1, + B02021DAEC57D0539B9BCFC6, + 4DA57D238C2CD7F9DFD3C2A2, + 232C91F7D3438C28FD4076E6, + BE51C0B1FCD9B908D9EB63B1, + 7D6AEBA4AD90EC541711C680, + 5144E6127912F3BAE3E6CCC8, ); runOnlyForDeploymentPostprocessing = 0; }; + 409D569C572B6EF7F4F1702D = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 8A0F71A4EEC7FE694352DD94, + 30BE30F31D1AAED9FC893AA5, + 9B19A6655FCC8086134C8656, + 0319B40AD2FD96007FFA928B, + 5AFD011031C266431687C922, + 5923A711C0020F2CDD598714, + 3825E8984D8F6AA00DDC6BAC, + 9031C69145EE085B60904363, + F8099BB77DC0D01DCCC6AFB9, + 537E779F6008999191B2920A, ); runOnlyForDeploymentPostprocessing = 0; }; + E9FD2656EC625C9C8DE30219 = {isa = PBXNativeTarget; buildConfigurationList = 674C2AF5989C06689C6065FC; buildPhases = ( + C86DD529EC94922C2AB61742, + 6C2BE2DE2ECC96615ED827AB, + 409D569C572B6EF7F4F1702D, ); buildRules = ( ); dependencies = ( ); name = "AudioPerformanceTest (App)"; productName = AudioPerformanceTest; productReference = 614F2084407B35D62101F69F; 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-App.plist b/extras/AudioPerformanceTest/Builds/MacOSX/Info-App.plist new file mode 100644 index 00000000..e3afff18 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AudioPerformanceTest + CFBundleDisplayName + AudioPerformanceTest + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/extras/Introjucer/Source/BinaryData/RecentFilesMenuTemplate.nib b/extras/AudioPerformanceTest/Builds/MacOSX/RecentFilesMenuTemplate.nib similarity index 100% rename from extras/Introjucer/Source/BinaryData/RecentFilesMenuTemplate.nib rename to extras/AudioPerformanceTest/Builds/MacOSX/RecentFilesMenuTemplate.nib diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.sln b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.sln new file mode 100644 index 00000000..20b68382 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.sln @@ -0,0 +1,19 @@ +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2015 +Project("{8F15A9F5-4FD4-7BCA-941E-83FD72FB9668}") = "AudioPerformanceTest", "AudioPerformanceTest.vcxproj", "{DD9D09AA-8915-4497-3B88-5D337FA5B703}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DD9D09AA-8915-4497-3B88-5D337FA5B703}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD9D09AA-8915-4497-3B88-5D337FA5B703}.Debug|Win32.Build.0 = Debug|Win32 + {DD9D09AA-8915-4497-3B88-5D337FA5B703}.Release|Win32.ActiveCfg = Release|Win32 + {DD9D09AA-8915-4497-3B88-5D337FA5B703}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj new file mode 100644 index 00000000..770d6b18 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj @@ -0,0 +1,2213 @@ + + + + + + Debug + Win32 + + + Release + Win32 + + + + {DD9D09AA-8915-4497-3B88-5D337FA5B703} + v140 + + + + Application + false + v140 + + + Application + false + true + v140 + + + + + + + + v140 + + + <_ProjectFileVersion>10.0.30319.1 + AudioPerformanceTest + true + AudioPerformanceTest + true + v140 + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + EditAndContinue + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + MultiThreadedDebug + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\AudioPerformanceTest.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\AudioPerformanceTest.pdb + Windows + MachineX86 + false + true + + + true + $(IntDir)\AudioPerformanceTest.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Full + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + MultiThreaded + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\AudioPerformanceTest.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\AudioPerformanceTest.pdb + Windows + MachineX86 + true + true + true + + + true + $(IntDir)\AudioPerformanceTest.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 + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + 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/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj.filters b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj.filters new file mode 100644 index 00000000..50904dd1 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj.filters @@ -0,0 +1,3695 @@ + + + + + + {EA26FD9B-DE67-F842-284B-F11CFEA08C63} + + + {D163E404-6FE0-D71C-79C0-B2C2204C6939} + + + {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} + + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + + + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} + + + {0F766DD4-A277-CB86-5647-42498C8B41E1} + + + {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + + {D64942B4-6984-3623-3347-45D472AE1C61} + + + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} + + + {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + + + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} + + + {0B0E7392-324B-088C-FBEB-5FE999D61782} + + + {20254EFE-6CBD-31A7-2119-92B1E0E0E311} + + + {70796D73-6D30-8A1B-4732-7C021E47C05A} + + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + + + {EB8DD942-E2CB-869F-D381-E02A65BA790B} + + + {8F91DFC0-7A71-1BA8-D8D9-6B4CF49151A4} + + + {B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B} + + + {8167E753-09C7-5D1C-EF2B-32D297557443} + + + {B48C883A-8483-AF6D-808C-1D9A749048D8} + + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + + + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} + + + {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} + + + {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} + + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + + {DA0DC4AC-B511-A2D4-199A-C93454D6F114} + + + {91929C6F-7902-B87D-5260-2F6CBF8ACD93} + + + {4634FFAE-9586-A970-364C-4FDDA635F99F} + + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} + + + {C9F6D785-BF78-5AA1-B479-111C65397864} + + + {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} + + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + + {F03654BC-34D8-F975-BEA3-750CC2783D23} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} + + + {928D8FCC-5E00-174B-6538-93E8D75AB396} + + + {358AEA11-3F96-36AE-7B32-71373B5C5396} + + + {3DF036EA-3B80-553B-2494-3AAC835CAE75} + + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + + {F2A38F45-6E55-E147-2E52-64A89FDD9D59} + + + {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} + + + {4926B3FF-E797-F586-857A-69D9703FA2D1} + + + {EBC65085-3AD5-280C-1A29-2B1683643AA1} + + + {E37D25CD-4350-4614-055B-7ABC55E67895} + + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} + + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} + + + {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} + + + {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} + + + + + AudioPerformanceTest\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_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + 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\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_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\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_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\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 + + + 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 + + + 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\native + + + Juce Modules\juce_audio_utils\native + + + Juce Modules\juce_audio_utils\native + + + Juce Modules\juce_audio_utils\native + + + Juce Modules\juce_audio_utils\native + + + Juce Modules\juce_audio_utils\players + + + Juce Modules\juce_audio_utils + + + Juce Modules\juce_audio_utils + + + 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\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + 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 + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\memory + + + 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_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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures + + + 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 + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + 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_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + 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 + + + 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\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + 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\placement + + + Juce Modules\juce_graphics + + + 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\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + 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 + + + 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\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\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 + + + 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 + + + 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\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_gui_extra + + + Juce Modules\juce_gui_extra + + + 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 + + + + + AudioPerformanceTest\Source + + + 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_basics + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + + + 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\native + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\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_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 + + + 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\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_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\gui + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\players + + + Juce Modules\juce_audio_utils + + + Juce Modules\juce_audio_utils + + + 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\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + 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 + + + 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\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\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\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 + + + 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\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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 + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + 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 + + + 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\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + 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 + + + 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\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + 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 + + + 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\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\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 + + + 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\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 + + + 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 + + + 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_gui_extra + + + Juce Library Code + + + Juce Library Code + + + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + + + Juce Library Code + + + diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2015/resources.rc b/extras/AudioPerformanceTest/Builds/VisualStudio2015/resources.rc new file mode 100644 index 00000000..b670e142 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2015/resources.rc @@ -0,0 +1,29 @@ +#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", "AudioPerformanceTest\0" + VALUE "FileVersion", "1.0.0\0" + VALUE "ProductName", "AudioPerformanceTest\0" + VALUE "ProductVersion", "1.0.0\0" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif diff --git a/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj new file mode 100644 index 00000000..f972dfdc --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj @@ -0,0 +1,2632 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + + E1282ABB96DD2E7FA7F63559 = {isa = PBXBuildFile; fileRef = 614F2084407B35D62101F69F; }; + 8A0F71A4EEC7FE694352DD94 = {isa = PBXBuildFile; fileRef = 9EADBF913B7A454B6BE93A4A; }; + 30BE30F31D1AAED9FC893AA5 = {isa = PBXBuildFile; fileRef = 18C1CCE5684F9FA0478F27AD; }; + E74C8479F0E10EC28E1E2DE1 = {isa = PBXBuildFile; fileRef = C6030BFC7A19A5075AB0EC28; }; + 5AFD011031C266431687C922 = {isa = PBXBuildFile; fileRef = 9F28F179EF6B90EB9F4DBEE9; }; + 71863EE98034AB7C3CBCAA81 = {isa = PBXBuildFile; fileRef = 24D90B40648CC05A9B1AA55B; }; + BF3ECEF0623C9B67C4CEAAF2 = {isa = PBXBuildFile; fileRef = 6B887CEE009353C410AB4F63; }; + 5923A711C0020F2CDD598714 = {isa = PBXBuildFile; fileRef = 12C680C68A15B9A590264B18; }; + F749F6DA494103257C9874CC = {isa = PBXBuildFile; fileRef = 6406C6755E61B1DC93071FF0; }; + CC782AABFA20787BABBCED90 = {isa = PBXBuildFile; fileRef = E1BB9D521BF6C055F5B88628; }; + F8099BB77DC0D01DCCC6AFB9 = {isa = PBXBuildFile; fileRef = 0A58FDDF6FB9253F51939A52; }; + AA0C9E035BB509F01A09310B = {isa = PBXBuildFile; fileRef = 60795BF638A7024B62C0DF09; }; + A783F6E198806332E7FB9744 = {isa = PBXBuildFile; fileRef = 8693552B5FA53C2003A66302; }; + 07451DA87757F9EF80E31BE8 = {isa = PBXBuildFile; fileRef = 0564535EEA7E4462926EA0C9; }; + 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; }; + 0074C214F900501DFE1595DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 01A4B617EA0597B206DCF8EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 01A829E9DEA5A0EF38D602AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 01C80A9FE3E329557A47B805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; + 0237CD1164BCA5B4E670C8E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 0245FDA8CC461E9B127C78C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; + 02AEF119DAE26DD4377CF71A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02EB0ED6B77472A4FCFFBA2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + 034E7453A74EABC222A41A79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; + 035A7C1007632AA97B3529A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 035DDB4D18E65692DB8E6E35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + 0384DEB6A07A2E9D89F7D1D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + 03992F31BA4AEBAE5EDEF39D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 03A78461E09AB9BE72F5207A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 03B0137914F641683E852D28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 03FCD32DE13EC2131008BEBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + 0447DBCFD1D771033802932E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 05D38E4A7F422D590702363E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + 05D994272DE2666736A68263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 060A753BF4C15FDA14B7AA30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0610902216FAA9AE2319E9C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 067E90433763204A5978AE41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + 0684B85054F9745657306704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 06875F947CD23FBF85B3C92F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + 06C2BB07C9A2E8186DC409E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; + 06E59012A14299A8C87BD7FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + 06FD1B037E83041F0AF9B2F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 076A84581BC2D611AA5FE6CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + 07CE970AACAA2798441E68D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 07EFBED954F04C319CB2F9AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + 07FFF8B1683CC2595613F38C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; + 08086ED6492D111E1F3C650E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 083A0604C8629BC172C3BA3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 08AB668BDA8A15E3DF702683 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; + 08BC5260B555DF80DED3D8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; + 08E3D8FC63613F3C281A7321 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 08E78939C5D6164508F72381 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 08F1BBB72FCAB773E7D11078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; + 0902127168F59B65BE2734CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 098D3AE231DBB123FBEB7AE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; + 09C6AB518459A9564AA44707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A4245BBC061D576B59D84DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + 0A58FDDF6FB9253F51939A52 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 0A7B0BD929594674EF5DBA96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A9701850E07B2A22D83CD27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; }; + 0B08E61061479CD3CF1C5F7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; + 0B2EC84721A3A400A182D447 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; + 0B3966ABC8DC305756249947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; + 0B9681E03435BCDDB73D68BA = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; + 0C07FE9302729E7CCB168477 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0C3FA548837CFC7413AD19DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0C6D96C10A447A809C3180ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 0CAFC4B9A6219281775A3E5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + 0CFE1720CC97F8EC1FA79745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 0D0985E65845458A00278B57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 0D114F1D47457A91C806FCBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 0D17D3E771460866753D80AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; }; + 0D2B023924611E49FD9E25F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + 0DADD40E45D17B1839935498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + 0E257E8B8DBF70AEF3EC9D1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E372F199412546C26BE484F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E76C14A6B1F3FFAA12390E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0EA946592DBF37DCD20A2B52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 106C967892E555BACA1CBA84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; }; + 109334022834C066626A9B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; 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"; }; + 10E0C8F5907B45014F7940F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; 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; }; + 12D5247115B5E1E84191DE1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12EB34780425AA36FE1DC245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12ED958D3515DDC17E799069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 1319902A86F0CFB586000874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 133E18FB3B6527A6F52765BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 135928C66EE16C7492632ED9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13DF23791903EE23C9B94266 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13E3246B1F0E027A68A9C99E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13FCDAA1C90D4662B42A6F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 14CF3DA1EAA36030A9DA4A0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; + 150571E335528BA2F93579EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; + 1507A0089F24D5F195495E1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 154044D0E896E60C4EB537EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; + 154BFBF033016D3F53C135A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + 157021E882DD2790DB3DA1C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 157AF02E97D86529CCA52BD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 1590838A763E9945AC0521C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 1613C60554C64D0412E00830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; + 16243DDF5E3AB5A10A8A2BC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 166432B08B32D28E0EE6CA2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 166CC76435C89EA0561DB9C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 173A0672B8807D34785D3817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + 17E3D6823C806BF9740617CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; + 1821A278E87CD2C66F4F40ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 18311E0283D643D5AA5315C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1876FDB0C9CC9B75617654B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 18BF0F18BA768D3BA1F75004 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; + 18C1B102BC6C66690A8C7B38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 18C1CCE5684F9FA0478F27AD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 190EFA08DB05C92B8D1B0AD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + 195ECE7C25A147B52C72FBCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19A11B8D4418ABDA10C63019 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + 19A3C290AF0C327E51EE50B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + 19AC92B665400EFFF07B81C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19CA3A888AC0FD869B853833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19F61A9A87678D6698B88563 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + 1A84A81FAEA61DF6BED354E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1AF6D6EE9265937269A36117 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + 1B129BA21B659A9D9202C1CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + 1B6B2DA250A8E1E46F92938E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B968B7FB99573A5ABFB085B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BDEDF72F521FF99BC1BC30F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 1BE58FC46BC1464AADF59A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 1C1CD66C5A242E5354095684 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C34E5D650A5A764348D2A47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + 1C4FB479D974C51E179E5CDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C90CDB7F9330D36B4945DDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CA16D2A6FD5DD0CB263CB8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CC052B5ECA38077CF568526 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1D4879E26B36BD535C18A9D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1D850EB0F5B9D49D3D335FE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1DDC6D7570A00F8953FE5D4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1DE92FD3DCB1D583A6CE3ED1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1E3D3C9C8DF4FC7680BF1423 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 1EA9CFA8E2A844BB3C07FC90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; 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"; }; + 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"; }; + 21BCE5884162A97546632579 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; 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"; }; + 220703A156A4548AD191B8A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; + 224A19973012E8A1BB78F074 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; + 22C710A1089CBAA0BD3F8BCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 23308ACF7193D1B72DB934C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; 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"; }; + 248C811D92AB059E7B5936B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; + 24A3468D9D929B2EB6BE9081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 24BBD64939FB0C2BD8F61109 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 24D257A12D67B90281563F49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + 24D90B40648CC05A9B1AA55B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; + 24EA9C07A83DC5806DE5AFA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 24F347645D513C30E1123176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; + 25172C328483B5E3B5CE98C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 253A664F26DF025980A1B7C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; + 2540AED5BA43C7271F857F45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 258844F8716360A9253F29C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2589398BE0711F5A44669EC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + 258C0F0E4C520517F02BB1A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + 258F21663E397877675E9E7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 25BAE9C3274FCB9B18BA8CE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 25EEF84280B5F3EA7326C500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + 25F3117D7C70C9C3232AC4FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26256BDC3ADD6959CE1C407D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + 268C2DD7A5086C06C48AE554 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + 26D06882123226836ADE4CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + 26FE7BE182FBB9E7228A082D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + 27331610849C55C821330571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27AA00C367BCDA2C9CAC0B86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 27E76D284EF83959E58924C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; + 287E4CA4C82CEC91FAEE31A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; + 28E1AF36A775870224F6D59B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; + 28E20973630B963D13A73613 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; + 2999D176760F5AE089E4EF4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; + 2A1327FA5D536695ADFD1C02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; 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"; }; + 2A7A8F7D2C3A11DFBE31C043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; + 2B2EECF7963404C8F2531DAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; 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"; }; + 2B5CE3F4D6C31DE84A2B4A8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; 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"; }; + 2B802A068D2DE429C379DB57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C018FD744770C54A848C86C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C22B4DA114E482B23796BE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; + 2CC7B66A627E070BFA76CEDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2CC92A99C7844EF5FB57D59A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 2CF5D92890121EE3A9DDE043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2D21CD49127EDB94ABBF55BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2D32B472E16741F9238FC28A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2D9D7B0B9A11492FD8495FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; + 2E09645AF3BD530AE2F4DFDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E1707957B3A71C40A6F1F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2E4A93D258D86770140B193D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 2E518A4010D884A1088B9B03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; }; + 2EDBA1350FD0C2627B93210D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + 2F63AD90BD7D2C780CCAAEEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2F7ED3361615D6AF88411A01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; + 2F81F6218BAA22246A514DF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; + 2FE88AFED12D0AD97091BB10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 302D1B930016FBEB0223BC1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 30445F9D4C3E8B50A7FA9426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 30ABA05184DA7A8178D02C78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; + 30CEC34EEA4AA37FC7C4A531 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 30E53D40C1A80D8F461694D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 319B651C9C099FC107AC21E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + 31DA1B6D46C641F5802C5A8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + 32157D71F3C2001BB77FF255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + 325F95D7CCE05417F5D5E868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 3266D7C60277D249D37F33AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32934B9113D3A21DB21E40ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + 32C24DCB2936EB31F602BB59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; + 3321C89CC61938E085258B6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + 332F347451B3B58F128EFF43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; + 33A878765A09C802481B9C15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 33DD41AAEAD33D036DFB605D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 33E00CA7E358B1A9E8A68287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; + 34162529D9862A288F5FF4D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + 342934026A84C4D0F10F6261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 343F49E131E61D31B4BC5C57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 344E814BBA9CF94A0BA9E95A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + 34BFF38490B2CF71D2D729A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 3558E576ACA227E1D8D34F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 357847C6D03D3B6B61573357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + 3592FD32F7D9368551F1A215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; }; + 359BF9362336ACD73C8AC759 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35A875455175F8C4BF62061E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 35D58A1347E7CC7089D2AD12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + 362C86206432CC5C84EFBB20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 36A22D2BE15728117A7DEDD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 36D7CF7F39DA551F46CE799C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; 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"; }; + 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"; }; + 3893090992F41B8C2319B043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 389D048419931AB624A374C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38A995151F7D9B88AB220632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 38C0D26DAE4F4752813AA31E = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + 39001ECB98B13D462FC2C61F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; + 391774514515C9FC87A3C6F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 399D5A2B4BEF2DAAC0763176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 39C4DE7A200B4969626FBD1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; + 39C6944D95B60E722934D0E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; + 3A569134A5472E1BD53B8021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 3AB8D649F9E79A2A3771514E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 3AC2629D782CFE655ACD6C65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3ACEB177B9B59EE0CCDDB6DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + 3AEDB6F10A0D8FD136B1EDFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; + 3B8646AB1A19217326063394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 3B98713A022D5AF2C4657F6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 3BDD5144B225C11F51F145F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BF1FD7A867A9EC30710F552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; + 3BFD5595F009F3D326D3E1E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + 3C338E1A32B19708DE024A06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; + 3C4C54DCC345A38B6166A169 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; + 3C605CC33AFBF37B0126D285 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3CBD3CE7F456DA1C4C15E198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3CEAC402885D5C05543AEC43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3D5CD2B803357C7133E5B7C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + 3D88CEAC1976B883A23AC53A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3D918D5343B23C79D6B2AA52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 3DAD784188294059B11CB284 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + 3DC079D7D7EFDF308DC44D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + 3DC83676AED8D6983662484E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; + 3DDE0E6F7F3FCD96854FDE87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; + 3E83B4A120590EC9DF4DCBF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 3F16561D04149D2BD7B5F0DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F74855742C4C2A0EB690196 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F8A753641763864D08251B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F9554E1A5AEC56AE59BF3C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F9D6C7B798F0431FE922B41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3FA224F24C8FA15816EAD2CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; + 4040D5CA38B66006636F1DDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + 406259E635C27B7D2AB5BE13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; + 406D57282ABA5C8368F26995 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4094667F0D3616A2365EA4DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; }; + 40B50860F40E23FE342878E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + 4220968D4303C2B4E8A74932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + 4231B19D204FB33BC3957011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 42379E3C735E219BDFAF02A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; + 42612832B30BB80C8EB491E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4285E7B2B74C0B2FACF7159E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 42943EF6C5592F8D63ACFABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; + 429C7CD0E88FC64E9A72514D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; }; + 42A5996EB1C9A0FA9BAD31E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 42B8F1BA878A1BED917E257D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 42DBB86AADAD6344D6F768E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 42FE49CB5AFDD4D4C6C65EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + 431458F1B5980E22C086FA02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 436EACF930FA1011D25EFA0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 43F7BEA9CFC8EE3A248AD5E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4438D8DF479243407925791B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 450A7E1D741CA7E42CE0B026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; + 45333ACAF454F661FC30924E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 45A5C6D5A476CFD78E77D176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; + 463A4363ED0020A23355DB1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; + 466D7D59847A6A0DCACF2B01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 46F0B8D9E62BAFF1E7A7CC64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 47424EAFCF0E0236D9F36314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 4762CD33A159E85908B0E19E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 478C988828C34DF69C283A1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 47B912490FE5F913DE48D285 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4827E37BA68432D78ABC9749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + 4842EF0D071A698E74241221 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 489903DB8BD2B3D0098947F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49BE2BA580A602FF754A654D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 49C1F4A5D4C4AE85FC1A5702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A09827E258094B53DEC8C05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A2A39F4B493669E2EE55F75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4AD562E921CCD6D6B8FE23E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B181C2A371C17AA518F415E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B223BE03B161EC55F06A8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 4B5A3ADB800429AAED96A5BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 4C2C33B3B949FEC97B8EC157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 4C568FD63B14A953DDA6B1B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + 4C6BB183E191BFA82A1AA237 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 4CF1132BD45B620EE67979F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D076DF2BE64A289A5366166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + 4D16C1FEA0AC15DF70D75640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D73B93862D4FF68B3BF3211 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 4DC5892113DCC74FF9C2221B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4DFD997E7F702C64C63A6D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; + 4E18F98400FB560FEE9C7F67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 50DB04187388D81882177436 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 517A5DD1CDD552896A6884AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 51960E5247A2D4F5993D0487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; + 52212D0F8D3C9A379010D74E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 5222344B220646AB6EE56F3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 52D5C91716E2495903D9B507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; + 52EA924EBC4A41470031E321 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; + 52EB00A0F0ABB39D2A2D5BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + 52EF8B186F54CBA4B001FEC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; + 52FFB30B59CE07A3D9065649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; + 534E6D1CF198BEAE77022FF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53EA28A33DA374C82A64CF18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; }; + 53EFA64C90C33873A3781E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 548925C0C47E873AD639FE55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 548B2B14607337A05AC157BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; + 548DBA31770A92A18D6665AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54A15FB5F8608B31D6F914B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 54D82FC2559A9ABF3D123287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54EA81EC3AD0C6B51A791758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; + 555C2D09AAC12DB54EC0CE9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 55695475638089C4E2C6A2E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; + 55851A20A40E28ECD895AE09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 559F4C7CC1C38CFF4B8B2008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 55E039005C68DDF75671A342 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; }; + 55EA9ACBD7A75A3C5C06A149 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 55FDA65726A4950DE49F544E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 56420C6F178C2DC5227A4E21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + 56434BD760679075FD5F2765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; + 564F0964BE4672CECEF674FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + 56D5DA60AEFC0EAAC929A163 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 56D947BBE9F6A75C42A54257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + 56F4146CF072135E9FD55A0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; + 573D91C04B66136D1BD8FA27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + 57D31C89BF4C3D65BA5EB43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 59B97F425A3CF75A746B22AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; 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"; }; + 5A3D884B409F82E9E00E40E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; 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"; }; + 5AC1DCCAC384E64D8A54F6F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; }; + 5AE0DD3F8B3270DE0105661A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; + 5B19B940D22357A6218AC5BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; 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"; }; + 5B8E0C73FCC3A76C3FBA2881 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; 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"; }; + 5C6AC07C64F38959936F2D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; + 5C9EFD2A63026BD7C1DC3420 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5CC6DDBE8F8CDD35006873D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 5D2DFCD80B76EE20401A6FB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; 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"; }; + 5D44D707B7C5EECE5EAB5830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; 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"; }; + 5E9181FD445BC527A7CDD4B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 5E9B40FD0A4DC0C60EBC2DDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5EF5BE91792E3CBA46FD5F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; + 5EF91EC0396BB5E11DC14C74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; + 5F36515D94A9F80D32BAF9E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 5F91B40AB8BD3115AD4E8836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; 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"; }; + 5FECE47040F6CB7A0F1A95A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.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"; }; + 6003AF599AD277420CA40A55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; 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"; }; + 61DD306CDFE50A31B22787CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61FF661623DF0A42513174DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + 622FE9C3BDA6397A18CF67C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + 62A5FE601ECB8DCCDC86D061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; + 62B3388B527F8DDF7CA6B846 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 62DE876E589EE728A76CBB24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + 62FA9E776551B423E6B3F379 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6347424185D8863263EEC3D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 635D87A84247829C8FA7B94A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63A4479ACACFC9C27B65C873 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63D6BDDD4D0B184ACD3C066E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; }; + 63D9F3F76D0964C734B59BC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; + 63EAFC2CAD54C480FFDE157D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 6406C6755E61B1DC93071FF0 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; + 652F6B750957DA7AD7A8B6FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 657D2EDA55C54F1346D194B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65BA1BF484E324D84C49A976 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65EA8CD697C470F78AA54D93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 660143D122CB260A7A45507A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6623C2B741329F6EB55AC7CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6626F065E494F50813AFE7C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6651374E4D299560500300BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6684245E4BCE66A5920D9E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 6689C6A47851A930BEFA1B7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; + 670BE56B6CE2FBE4E703A0D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; + 67122ACF3B80664C5DF79570 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 67227017A993DC10991AFF59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6750F4276D601525336AE24C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; + 6760F9B20993C2913615D62B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 6788C449954B63D0D4777833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; + 67FCADC2EB97BC70A9D811B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + 68D13E2D9B08BD4A7ACA1303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 693F7FBD5205D2EA1462C99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; + 6950C104FD807D0B7E6DB812 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 69FF9DD54B3FCEF3F903A5EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 6A6C1C7377A7EE16FAC1E839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6B07D63DAE9F46E99E13D166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6B887CEE009353C410AB4F63 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 6BE4D55046267AE14D783A63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BF2D7FE9E2249BF3502ABB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6C1A5BA3260AA97BCC54E99C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6CE29EA523B60167840FFC4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; + 6D6973887764928DCD564C09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + 6D6DC79F0CE4AEECE5544FA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D78C65C434A649A0D95AFE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6DBC17A9AF2D5288FA2BE963 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6DE71D1176A9B368672D77DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + 6DEAC23650473EC5B37B7118 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6E3F44A76A54314DDD293F95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6EB796353187279DE4E47BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6ED65943B8B842A12E67EBD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + 6F31B6B2DDBC6BB8EAFFB160 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + 6F4F1A6EA2F5B2A3BF036E9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + 6FC673BEA337945CB1CF6021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + 6FE3078E9CED1266E46F9FE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6FEF3ED99FC27A0931B44E39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; }; + 70168B0928AC533A7A382FAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 703156CBA00913A6D96A89A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 70AE45412AF7D9A37E70CD86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.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"; }; + 714ABEFEC1210FF716915507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.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"; }; + 717FE5CDF9E855AD674F1CFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; 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"; }; + 725F92950615D99EF80F2E37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; 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"; }; + 72E55255CBC6A5E3ABAD8FCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7301F38158F92083807887F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; + 7357DF51E85ED90A131038AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 73874DC78A39B299149E1833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + 73A4520BF6E34B2493475E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 73A908CB0CAE6FB9534AEBC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + 73E0F9D0AEC6CCE0A83460BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + 73EB02E40027EDD8284BFF9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7490F1A1A0C65668B890A6C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74B1E0D24C58DF1DE20CBA3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + 75A2D021E11AA4607169DD5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 75BB3CCA02966F27A86A8E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 76152BCEB8494B0B07F881F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; 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"; }; + 777D0E1050E0A124AB9F1D9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; + 77D2E616216762A56264F6B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; + 780D5B55F198683D1DD267F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; 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"; }; + 792BE67446E999C97E7FF6B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 79447FB576B9811CE11DC49F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; + 79687ECAE8A73A35FF764840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 798BAF4B57A0617005AD6276 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 79CF8C777581B318FED63363 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 7A3391163C927F1D75974DC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 7A3C99D6980442005905DE01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7AA31F3507B686BDB4E41B4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 7AE4C43E62213262B7206511 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 7AFCEC7E562EE311B850BC99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + 7BC782A4D0F3D38C462B9BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; + 7C072D2CD85FD979297B1E22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7C53B64BB95E75E3A7856299 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; + 7C913A5CC0EFD43B61CF13E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7CB3FE2E4112E90CCA8AA810 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7CCA151E82558DC048A0B0B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 7CED5775FA7B2C0710D74CEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7D013C7AA13D984057BCE090 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + 7D01C1A17FA4F1417D7D2ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7D710ED3875BA0F9742D5699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7DBB7EC2B79B53ED20611ECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; + 7DDB16A901128BE86F80DEFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 7DE749651A85480E34E2D909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7E0469227FB8C4ADE95CC192 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + 7E27970EECB241F0FAA462D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; }; + 7E36C46BDC118BF8A6AF71AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 7E6B41EAC5FC9AF6AF54831B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; + 7E845FFAB78320D64910356F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7EA9604FAC6EE7F32FDE5836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7EB138BDEA36400E6ACF1407 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7ECA80118948DB6EE6CBDED1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; }; + 7F3E6B542D50A883C894BB80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + 7F51C2503C0DC76D90DF7B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 7F9118DAA9DBAF51A9F6568C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + 8022E74223EFCD2A22E3F699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; + 8042077CBB3B876988394E42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + 8050A52B44865CABC0544AF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; + 80A7C7DCD25FECFF74FA662C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 815D7A4601E13B895F1C30D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 81841F5651407464F0E84EC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 81E0CC1C87D661E27B1915BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 82A31A72EE1B1122AD16DDD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; + 83205FE6737B51491CAF017F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 835116C8C4DDE6BEB305829F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; + 838F96335357B0ABC303B315 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + 83C3BA024505ECF97CB1A494 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 83E9E9ED4F5B56FD0923EE4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 83F8BA4279F6A4BFDEEE77BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + 840A3675B901258B093CB403 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 842AACF40ED3B599FDEEDB8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84A5BB5EA969B85D0F920DA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 858C9156D096A02790CC7EE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85D9816BC0DC2124FB8D39E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85E0FA40CD3060A37A952E57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85EBFB33C171867A0F94002C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; }; + 8605D19961CF08473AB736BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; }; + 8623EDE162B80A49412E88BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 862FB6A870632364A89DEBB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 8644D284B54DA1838536A917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 865787BFE9D205CD0868E324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 86928456C0FD8EDE2209334B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 8693552B5FA53C2003A66302 = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = AudioPerformanceTest/Images.xcassets; sourceTree = "SOURCE_ROOT"; }; + 86D29E7BCEDE543B75711B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; + 86E6FB896CF1D678661022E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 880EE63A76B76105861A8508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; + 8821F4AA705B46FBA4E94B5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + 88B183F4F890F4A330C41B81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 88B4A6D6D7414567B77AF2B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89021205A4D054ED8FB19640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 8929A374F1046A91D08C5504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89BB4C45E5A2279E9BC5D857 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 89C9BA494E35F165F3EE6C56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; + 8A2EFC2A1E0E3776BEC1166E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 8A9814BA560F0DC64E58403F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + 8B3A2BF481E5D8A840D38A8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + 8B3F9A7C79AA3D6CAAC11E23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; + 8BD123306A2D1EF7C1D22245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 8BE755437A71CADCE98F2CD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + 8C363C446AC1F328B9AF0C27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; + 8C6B9CC54B9A7224E628F52D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C80FA03FCB76A83F013333A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8CD626B325ECD0C5B396B349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 8D54EFEC6315A5D75F68335E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8DB6952BCF28FB10CCB1EFBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; + 8E424DC79392797F5599D520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8E58BAA155DFB2A320AB3B0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; + 8E9FF3DB9D5820A6404AD08A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; + 8EBDF5C3199EA40476368862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; + 8F42E124C299AD6B3E540021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F526565001FEA3FC74DF68C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + 8F7E621B4AECC054F9532780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 8F9FE852D4F12052C098EECE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 8FDECD751443A4B83FAE8EE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 8FE849A256A97710D2C75050 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 900C0B5850BCB3B173CBE883 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 9032065D16C340236F912E7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90380EA33A749460F2D4F6CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 905002781F55D9F49BFFD030 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + 907554687EB07FD46FB6ACB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9098F3DCD9F73170C9710F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; + 909D8C2A34136BCE5DD1624E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90BCC51EEB48DE909139B357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 914D99CE5915E7B68BB47EEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; + 9156CF6C64EE06DB55B57572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9163D3EF55AD0B2B197493EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; + 917260F53ED8BE9007BBD18A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 91EA75E4BBE8A87A9618D202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 91F42C2FFCED2524DAC78E4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 920A9AC6E84BD8C5F577F300 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92A08DAD1AB84B6AEA3A186B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92EBDE8F4FF4C7D9010CC277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 930DA33DD6318AB19A4170EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + 931C5D6C2A012AEF2312A7A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + 933351F1C4B5CD31951BA33C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9337998F47AF8FBA3E9C5553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 935631A43F142753B8157DFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 935CBAB354361FD6CDB17BEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; + 935DF957DEBB660FF9B11BD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + 93B1A269C68042238C5F71E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 93E9653ABCA391191830B40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 93F257873F26CD7B863C0A2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 9423EE84AD1D727F1A54C319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + 9455531514206C9FAD0E0582 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 948419EDC66FC6FE3CF9D34B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 9494D0221DC80BDF8ED2107E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; + 949C18982D04A8743EA86E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; 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"; }; + 956F60A50FD1A571FAECA1CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; 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"; }; + 975F037FB7CE738278E88884 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; }; + 97C2FBD16505F28651574ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 98B3E514464A269121E203DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 98B4CE4672FAD9AD315F3D6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; + 98CE9C68EA30EC98C4461E11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 98F1C87695600E354F189BBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + 98FA1B3621002A39482A7037 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + 9914105815EE6622A7D30D28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + 99419768144C9786E79587F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9952FD3B36C3D6931A2583D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 997141DBACCA35F2BC118EDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + 99AAD99A10028330719CCE04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 99F15CFF03E4CA5B9958814C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A6E397D7BBC81095BAAAD2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 9A7414278FA3904366C390F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + 9A89D226BF6C6D76318A790F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9AC277673AEAAC17ED5F35B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; + 9B8720C269E819F628E496AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 9BB387E421ADFFAE54294C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 9BDF976F0C34C9345A0ED967 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; + 9C0FEA04342848BF017E24F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; + 9C2BCC6888992FB311E9DE55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 9C44F4E1D02940D4222D4246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + 9C7B404B4FD856EEEBB3B3C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; + 9CA0B1B0C6D379CA68124A9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CBFFAA438C054D47D0945E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CF68D0F9C5F7C33FAC9738A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + 9D3F96C9C324FF902D078BC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 9DA18FD11F99A6D8AC77CC2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; + 9DA36A482E689EBD806DD04B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; + 9E146131E1AA6A42AE691514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; + 9E1D46A5731A829539D7ADC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9EADBF913B7A454B6BE93A4A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 9F1AE22710BA369B9AB63C1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 9F28F179EF6B90EB9F4DBEE9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + 9F4F94877510B14500133B00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; }; + 9F5BF9B6AFE88B9149FED1EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 9FB940FB03E282F5D1EC198B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9FC4CA0A19471D61BE415DFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + 9FC8461A85B0484F95B59BD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; + A011969A698F10EA06D2E947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; + A01DEBAEE9AB76E8B825FB81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A0A8B1487C0E3411DE20C981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; + A11D18525BD560CC185AA3CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + A29CD77930F2C2B321F5C9D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + A2FA9537EA6C4473DF23C7D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; + A3A7697BF0C1A22D5B2C8488 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + A3AD21C4A936C1D9A1CF87D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + A3DA77EBEFC20A72872F3E28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; + A3F4880140755128A9366902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A40245410E34FD15B1935571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + A40BA2D9759199582967668F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + A4EB7735FCB209FBE5386239 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; + A50F3FB7AB22B72E6D9ECB51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + A5EF5FDF979BC1FF68D3EA33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + A60C27A824FFE6E15583EE8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + A65BB8D452A2A4859FA41F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + A6B2BEE83F1EBFF07FB1DB20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A6ED47BD2D69D4B30F42CF6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; + A70013D9EF802E75631ACC4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + A73835E75D4D24A899ACF40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + A76E706A649469B7EE53B6B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + A8B10D5403457AC452A79974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + A91240691DCAFDC80A86B252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9195101DAEB146C07DD97B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + A920865BBBF3F798E162D02B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + A9618D15D748099F0AE3F2D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; }; + A9EAFCAB28E5A0615B7B13E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + AA043A3BA34C03EBF97BD5E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA2978CA07499EAB148542E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AA2E4B5C4C6B1164F902721F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; + AA7C5FBE142FDA49CF98F8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + AAB519EC4A32696EFE753119 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; + AB6971C8443CCD45581FFE27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + ABB0DA29DC36D9B5D4A1B0E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + ABF6785F88E9CE3836BB982B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + AC5D43166301AEC753EB7792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; + ACE247FE2ECB38F384F02D14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + AD0E8DCB4CA4C1E0DDE20B1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + AD2F40F909601CA27A812B8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + ADDB88972FBE0D86D26EB667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + AE324FA989F6F34EDB383078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; + AE492D9CE55520860BB98811 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE6A1EBE360F2459CA97F28B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE8998B3A45AE8DAA3308176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; + AF33D3913E5876768B35009B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF6874D9CF1D39B6923FCA23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF72F5A48A48FD3E7DD72C13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + AFD2EE6AA2172140178932C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; + B0272A07E4B5B5A604A69BB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B054C811A19EDC42D3E845DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + B07DAD582E5B5EE21BDA0F56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + B0B56BC0BB7669CB5254ADCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; + B1491869A8D959D8ADD6EBD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + B195B16A986486468EF9C211 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; 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"; }; + B39AC65472AA57970C1A2E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; 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"; }; + B3FEA1C98E6A5E4A7AD0EA6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + B46D957C3F0EE0BD278F3EA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; 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"; }; + 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"; }; + B616F1A2F003067580167783 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + B65F1BEA12EE3D722EF3B232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + B660B68D11DCF9DAA6E38F11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + B681D916BB8697A6D90911F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; + B68C520871891DF238BC5332 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + B6C12279C157BE2F5A91B3A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + B724FA711D3E1CF40F3476CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + B73B72735553F94BB245708E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + B764D8D0A5436651C5266D43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + B7A4510F62873F5729CBB939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + B80DBC778927609D8EF7B616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; + B880813604D07B6E9C22F282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + B88EAB4325FB968D51C43BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; + B893FA799437E480C9DE5B41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + B89750FEFE02641F138EEF22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + B8B0992FEC384EAE2FC83B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + B8EF90B5289EC488C94798D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + B9599FA267A2D9DF780D1A4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B96B0163C4CFAD6785A3C3E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; + B99197D9B429390DE251692D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + B9EF417F7612D4613125C476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; 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"; }; + BB2CB3C81D742E6FAE5008A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + BB648AA7052709F97D4A874D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.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"; }; + BBF2546E01AB5753F3CFC166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; + BC590B8EE8379F286471E441 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; + BCA0899EFE4D4F673DAB9FC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + BCD0AACFBE72D3B11FEA6C7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; + BCFB67C5C864E7D06CAF19B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + BD06828DB1C4B74A7519AA49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + BD7E81EFFBDE420C015965FE = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + BE9365B35DD9AE62D00ABC65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF35646861CB41B4E5E870B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BF427957014A7B4571571706 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF6B7DB39861D84A3E3F561C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BF7254BE7AB2EBEE49B46009 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; + BFE047A47564580D50665DA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + BFE9F5D17514F7496A0E1FBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BFEC403690E7A9D4FCB2828B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; + BFED281053143D5D8C5218DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + BFFBF9E6ED32BDB7AF3DAA06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + C03BC1AFDCE495377D00ECBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + C0BEF915D866FC6F9D28B4B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0C5B5C34349FD6B152E5B3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0EE1D9B98C8AD2A1D605827 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C0F849718B68D2D89150851F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; + C1054419444B24A3F4DFAFC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + C1458E824D4C4BB130A973E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + C1DE13DF18998D7583EB6C05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; + C2386580F272DD8DA717AC5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + C28CB68C6B675F148A21EB5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + C2C6FDE8DDAFD2F83CB01949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; + C320A90C1F0F7C133C0C6C1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + C5722BC8011A7AC3863F0D75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + C5911A1FF6A2BCE091B396AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + C5F26F09F35811DC4B2E6B55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; + C6030BFC7A19A5075AB0EC28 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + C62601EC1FED5C9996712A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + C6575EBDE6BCE7176C87FBEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + C65DD3357A8A2E938BE34575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; + C661316FE7DE42445E2C9C59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; + C6A10970DA4536CE1038393F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + C6FE613D52823DC395882EDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; + C756ADD68C669D86798439FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; + C76AE0E7FB192383F4687B42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + C7DC9922E056F9CD95D05F9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + C7E15666FF73965BB02B2EFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + C7E68949CF2B71B6E69B840E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + C827E437E4EF9509D35678D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; + C8408188AEB55D54BDE39649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + C8B4F14A7A95548CA2E0AA84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; + C904D7C0FE596B75313D1087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; + C91CB8BF621A656813B4BF44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; + C996039332316BBD342A21D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; + C99F1F5F329CE007254A0BAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + CA08C9FF0073AE6F28B08132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + CA1CA4CF942628C7230FA0A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CA5C3AE40D4524ACE1E85236 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; + CA89294C6519E4AC93776C6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + CAA4A46CA1EB710CF214CBC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + CACFA7250965121635E31062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; + CB042B6A4E7D0FA1CE9AA41A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; + CB1B65A6CA6A57920CECC476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; + CBB2AC9F100B80C046D22E30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; + CBD80073A3EDFF244227A33D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + CCB5D9D631EFDDD1E2D9BDC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; 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"; }; + 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"; }; + CE4F07AA4C02396F049BC8AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + CE8CB04640126669BFEE3AEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + CE91FE6F9C6ECE74706C36F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + CEA4D2BD5A9962D84B3D812B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + CEB1A28DF5CB07AE46AD3313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + CEF53643B45C1B7BB6DF101E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; + CF8215F849A46D15607D4B9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + CFA9033F62CB4D259FBED44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + CFB4DCFA5B5958F2259731ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + CFB7E1B87400E062203FCAC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + CFC288965D13DA3AE55B0862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; + CFF3E3E27308529D8A71B0B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + D020D7629DC183D4937EC160 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + D05ED5DAE5FDE25E68241713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + D08CD725FE674B5D1ADEAA85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + D0CA23007E441BD284FE299E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + D10AA0F3B34156BB5368BAC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; + D2869510C1612075EF8D55E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + D2BF69627F2C37082987AB57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + D2DD113EE8CD421EF3D4A33A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; }; + D2E958556779F998F8B26C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + D2F70950C08DB4F414D7DA38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + D33A7B2FB527C3097CBF4675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; }; + D37B87DADB806AFDBE4574E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + D3927190360398A81F6196EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + D3957791C1B2356C6C8E2B57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3BB3499A2D0306D01A8F3BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + D3D4DD7FE5C3AF27D3F58FA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3DB1C4E8913529248441007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; }; + D4324C514ABF25BF589F4D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; + D4CBCCDAEDCA252F0B18EFB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + D510B6C30B99F0E434C923D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5169E402EFAB1F80282111F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; + D5768D2D6A39D95EF43C132E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + D58835A80BB4FE354CEB12EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + D5CB794A13A42C982AA8979F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + D67D526382B560EE6E5012A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; 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"; }; + D710CC541F172EABB0DD0ED0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; 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"; }; + D7A6B204A55E1FB0B11B58CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7CF23D57C2B84403BB65B1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + D7DFE5809E1A29CB113D832E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + D81CF228C7FBA60FC881CF92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + D8325B5B81EAAA91E06110F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + D86C78AD79EA3C8983C62FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + D872B951BEE62C3D906D804A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + D8A003EACD80192C72B1DCED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + D8AB6B838BD9105E68EBCBDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8D1BC0077F8365E04448DEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + D9083746DBCF32FC1D54DDF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; + D965799F88CFAF2B71319F35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + D99D440F6A12AC7393393307 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; + D9AC33E991C6333E44C2E4DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; + DA5736D3C39C7698A783FB30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + DB8CFD98F9E0781658934C46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB9F301C8E3225BC3ED0B21E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; + DBDD1A7CC8D49C6A3102DA50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + DC5746089A2CF106AB3ACAA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; + DC88621B627CB67B2B95A622 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD0E15E9C68F63F6EBCF8201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + DD24473AE331407C7CB12DED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + DE1A8EC854F8790727DCF5F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE4546899B5678F164D13F52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; + DE5FE350590ECB6263994BF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + DE815DF3723CCEE3743CC83B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE92999E59EA08C2DA9FB717 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + DEFF1D8B0920A1439A4D7BF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF0CDFDA5A56354EB9267CC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; + DF10467F6C459A86E13EC454 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + DF342E66360E70CC9FB2D088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF9ED1748544B5F67AF9C2C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + DFB4823641DB38366B0B5CBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; + DFE6C8F91D7E54933F0507E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; + E007CA988837ED7121E4DEE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + E0201712CDD6F238A571B01E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E05E4C266A3189E85D132716 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + E16CE40B678F3D1A53FCDD74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; + E1700A08F9EF7F151F30E60B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; 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; }; + E1DF3FBEE1DEA8C39D336EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; 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"; }; + E271B40EBE7CD08B9BC9DD06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.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"; }; + E31C6950ECA721FF3F5D8ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + E3DBF5011F3087EFA8B6D764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; + E4535BB445B5B1996735D765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; }; + E547EF3B41C67F84481404AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + E61ACCD72DEBF775E8DA92DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.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"; }; + E69FD8FE872B3C3288FCAC3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + E7EB024409B9DEC37BD8D754 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + E85795B9A56A5BEA6424018E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; 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"; }; + E8A095FCBF7A529B62BAD247 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.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"; }; + EADF52BD0E5715888657EA0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + EB81804932A4D262C1638B83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.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"; }; + EC6AEB3B15C2EF30635545E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + EC8C7372EEEC8E62A8553022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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"; }; + ED4D437C0E99493EEC5FAFC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + ED62ABB75A5AF1E711505617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; + EF147A98D8A6B876B4582A69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + EF253D3A4DB6B9175682C6FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; 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"; }; + EFDE8671B924FE1BB6E4D788 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; + EFF09BB7A926D34D346B623E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + F0440F3FFD9B4597ECDB4BCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + F05B07755D52F4579664F325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + F0E0952F110B6F2BD19D886D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + F110FA5E57DD5ECB4DF8579D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; + F17B940730E35EF6606D9E21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; + F192469D119B30470860D0B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + F1C3E91D76293D52FB800357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + F1F8686F604222CE0417A8D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; + F204290476F4136549255F5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + F22A9CAE5CD135E02F7B946B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + F24095ADF97D00C206CA837A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; }; + F272E4AA1D4CAB67CF43F8B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; + F27663B1521AE9B2838E0306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + F4CB10FF73790CF1CC1B0A35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.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"; }; + F6AFD2E91EB7E0DC2364CD03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + F74A2053BCE0BF323A191314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + F76FA2C7020A9299C164E2B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + F78102AC05447601BE003D34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + F828FBBE22188E0819D5655F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + F86FEF0463B2EBC33550B409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + F884CD162BF96979E760E1DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; + F8E4BBC077CF3B57EED0C5E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + F92018EE9C24981CF2AC9A70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + F995CE4658FCB0BC77A535FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + F9A1152812E47E3AC4E79C9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9E90316C381D5F5211788B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + F9E9AAFB2F9B2836C4B80D8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + FA387BCE236E4F1EBBC53C4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA3D5A5CAA81A14DBD89ADC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + FA4F080EB27F363F659DF602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + FA5B2545D9CB7B25DA56D0BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + FAA172C6F0151E9831FFF5FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + FAAC902BE5901F56AADAC0C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + FBAFD1757BEF8BA1200E8587 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; 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"; }; + FBF247E56EAB0B09E9D4E7B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; 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"; }; + FD12D972996815663FE91DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + FD26DAE53C7C6BCC9006C7AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + FD459D4DC2737E5078BBFD21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; + FD905113460D6EA444D70D28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDDAC94C3AB05BFD61CA61A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDDD9731C8CD1CD968C96BF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDE3F1C1B2919B6F2BD7F514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + FE03488C6BD8BBA2DEA2AAD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + FE17248C5CF42216FFFFE797 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; + FE212771DD1CED8E5E1093BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE27DAC9EB763CAEC3CA4BB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + FECBDF4257FCEBD21CD0A927 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FEF01BDC64048ADAC8FBF791 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FEF7F702F021E1BF58423F6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; + FF3542246A0F21B4E8C5F6E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + FF467611D066C9EA28C89B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; + FF4D63A54214055B00DC5CA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + FF6DB17FE3DFBA0170ECF294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + FF8DA2206EFE4F5CAAC6DF9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 9F54D12C977843F8FEFCF041 = {isa = PBXGroup; children = ( + 0564535EEA7E4462926EA0C9, + 429C7CD0E88FC64E9A72514D, ); name = Source; sourceTree = ""; }; + 4E2981EC48DBFD725AD8E626 = {isa = PBXGroup; children = ( + 9F54D12C977843F8FEFCF041, ); name = AudioPerformanceTest; sourceTree = ""; }; + AF32DB31A2C3295BC01931A5 = {isa = PBXGroup; children = ( + EC4677E8D193A9D892B5CF54, + 948E6A2F9801318A6BACA604, + C2386580F272DD8DA717AC5F, + DE92999E59EA08C2DA9FB717, + F3D9216291FEFB769A468037, ); name = buffers; sourceTree = ""; }; + 84B5DD3D95C5F9E5F9E66832 = {isa = PBXGroup; children = ( + 19AC92B665400EFFF07B81C8, + 63EAFC2CAD54C480FFDE157D, + 86D29E7BCEDE543B75711B1D, + 4E18F98400FB560FEE9C7F67, + 2D9D7B0B9A11492FD8495FF5, + 9CA0B1B0C6D379CA68124A9C, + F3C3C927DD896E6430A3D16C, + 2E09645AF3BD530AE2F4DFDE, + 713557DD8AA431F8738BD492, + E7907B493FA02D52A914C3F6, + 6FC673BEA337945CB1CF6021, ); name = effects; sourceTree = ""; }; + A1FBFDEE7D0B1F27CAF7EC4A = {isa = PBXGroup; children = ( + 8E424DC79392797F5599D520, + 2CC92A99C7844EF5FB57D59A, + F1C3E91D76293D52FB800357, + D3BB3499A2D0306D01A8F3BD, + 78797E6CD4C710681CEB454A, + 9FC4CA0A19471D61BE415DFE, + 5C9EFD2A63026BD7C1DC3420, + 615C7F551EF2E2884579A6E9, + 03B0137914F641683E852D28, + 3AEDB6F10A0D8FD136B1EDFE, + F272E4AA1D4CAB67CF43F8B4, + 08BC5260B555DF80DED3D8CD, ); name = midi; sourceTree = ""; }; + F0CB9F30E024D237D118557D = {isa = PBXGroup; children = ( + CFC288965D13DA3AE55B0862, + DD24473AE331407C7CB12DED, + B88EAB4325FB968D51C43BB6, + E09CB83038E18107CA2C28DF, + D791D87AE07C498853260542, + 044C63BB6A59D2CCD32B938B, + D63CF56220D7C1524F1A7C47, + 8FDECD751443A4B83FAE8EE7, + 75BB3CCA02966F27A86A8E29, + A7D772CCD36E7C5A73DC8827, + F9A1152812E47E3AC4E79C9A, + 52EF8B186F54CBA4B001FEC5, + 73A4520BF6E34B2493475E29, + 3DAD784188294059B11CB284, + F110FA5E57DD5ECB4DF8579D, + FAC582400D322D57D41D8977, + 060A753BF4C15FDA14B7AA30, + C8B4F14A7A95548CA2E0AA84, ); name = mpe; sourceTree = ""; }; + EEBD66053EC9797A858B2940 = {isa = PBXGroup; children = ( + 9F1AE22710BA369B9AB63C1F, + BB9B97EE17846FF5D9FE7338, + 86928456C0FD8EDE2209334B, + D5CB794A13A42C982AA8979F, + 4231B19D204FB33BC3957011, + 61DD306CDFE50A31B22787CA, + 9337998F47AF8FBA3E9C5553, + 534E6D1CF198BEAE77022FF8, + DD0E15E9C68F63F6EBCF8201, + CD3E850D3908EFE7F8B7A82C, + 24A3468D9D929B2EB6BE9081, + 798BAF4B57A0617005AD6276, + BF427957014A7B4571571706, + B07DAD582E5B5EE21BDA0F56, + 36A22D2BE15728117A7DEDD0, + 517A5DD1CDD552896A6884AB, ); name = sources; sourceTree = ""; }; + B5CC8D6C0E2C8B5781A5B148 = {isa = PBXGroup; children = ( + 33DD41AAEAD33D036DFB605D, + E60738D6344F6735A3029493, ); name = synthesisers; sourceTree = ""; }; + 659E76D64C99326CAFA99BB7 = {isa = PBXGroup; children = ( + AF32DB31A2C3295BC01931A5, + 84B5DD3D95C5F9E5F9E66832, + A1FBFDEE7D0B1F27CAF7EC4A, + F0CB9F30E024D237D118557D, + EEBD66053EC9797A858B2940, + B5CC8D6C0E2C8B5781A5B148, + 98B4CE4672FAD9AD315F3D6D, + 68D13E2D9B08BD4A7ACA1303, + 210267A63B6A116B12EEA4D2, + 68D13E2D9B08BD4A7ACA1303, ); name = "juce_audio_basics"; sourceTree = ""; }; + B8057D839E104AF44DA838FC = {isa = PBXGroup; children = ( + A9195101DAEB146C07DD97B7, + 01A4B617EA0597B206DCF8EF, + BBF2546E01AB5753F3CFC166, ); name = "audio_cd"; sourceTree = ""; }; + F611F673DB94C9ECDBAA990B = {isa = PBXGroup; children = ( + 4DC5892113DCC74FF9C2221B, + 4B223BE03B161EC55F06A8CD, + 67227017A993DC10991AFF59, + 03FCD32DE13EC2131008BEBB, + E7EB024409B9DEC37BD8D754, + 8042077CBB3B876988394E42, + BCD0AACFBE72D3B11FEA6C7D, ); name = "audio_io"; sourceTree = ""; }; + FB703B855F514CFEF5204BBB = {isa = PBXGroup; children = ( + A76E706A649469B7EE53B6B9, + 2335BE9EABE76A9CE1A36942, + 6347424185D8863263EEC3D2, + 907554687EB07FD46FB6ACB7, + 505A5FC3466F4BB88CDD6F06, ); name = "midi_io"; sourceTree = ""; }; + 05CC3717B0D2656095500E50 = {isa = PBXGroup; children = ( + 8C80FA03FCB76A83F013333A, + 4D16C1FEA0AC15DF70D75640, + 90BCC51EEB48DE909139B357, + 035A7C1007632AA97B3529A1, + F67C1BF09F2B3CCFF02C24F6, + 2D32B472E16741F9238FC28A, + 25F3117D7C70C9C3232AC4FC, + 92A08DAD1AB84B6AEA3A186B, + 12ED958D3515DDC17E799069, + 208C4054409C79403B243A5E, + 22E3F6B9DDFD03BD6A370215, + 16243DDF5E3AB5A10A8A2BC4, + F192469D119B30470860D0B4, + 06875F947CD23FBF85B3C92F, + 9455531514206C9FAD0E0582, + 25172C328483B5E3B5CE98C5, + 1DDC6D7570A00F8953FE5D4C, + 70168B0928AC533A7A382FAA, + EC1BE55B8ACFD3CC5710B0DD, ); name = native; sourceTree = ""; }; + F1FC73052723D9A4241A2C63 = {isa = PBXGroup; children = ( + 3893090992F41B8C2319B043, + 98CE9C68EA30EC98C4461E11, + 0C3FA548837CFC7413AD19DD, + 40B50860F40E23FE342878E3, ); name = sources; sourceTree = ""; }; + C69D55E0340A2960D86B9779 = {isa = PBXGroup; children = ( + B8057D839E104AF44DA838FC, + F611F673DB94C9ECDBAA990B, + FB703B855F514CFEF5204BBB, + 05CC3717B0D2656095500E50, + F1FC73052723D9A4241A2C63, + 47B912490FE5F913DE48D285, + FF467611D066C9EA28C89B1A, + 23750FB9BDD75177C64F9AF9, + FF467611D066C9EA28C89B1A, ); name = "juce_audio_devices"; sourceTree = ""; }; + C5AA301B3DC4755BA1D9093E = {isa = PBXGroup; children = ( + FBAFD1757BEF8BA1200E8587, + AFD2EE6AA2172140178932C9, + 1EA9CFA8E2A844BB3C07FC90, + 32C24DCB2936EB31F602BB59, + E85795B9A56A5BEA6424018E, + 8C363C446AC1F328B9AF0C27, + B054C811A19EDC42D3E845DE, + E271B40EBE7CD08B9BC9DD06, + 52FFB30B59CE07A3D9065649, + 931C5D6C2A012AEF2312A7A6, + DF0CDFDA5A56354EB9267CC9, + 3BF1FD7A867A9EC30710F552, + 6ED65943B8B842A12E67EBD0, + 24EA9C07A83DC5806DE5AFA3, + E61ACCD72DEBF775E8DA92DF, + 89C9BA494E35F165F3EE6C56, ); name = private; sourceTree = ""; }; + F48DB389ACF73034AD9EF863 = {isa = PBXGroup; children = ( + A011969A698F10EA06D2E947, + 319B651C9C099FC107AC21E0, + C661316FE7DE42445E2C9C59, ); name = protected; sourceTree = ""; }; + 405B5055CCEAE6E5E42E2D5B = {isa = PBXGroup; children = ( + C5AA301B3DC4755BA1D9093E, + F48DB389ACF73034AD9EF863, ); name = include; sourceTree = ""; }; + 5FDE5AF0C8DDC570E5A2BFF8 = {isa = PBXGroup; children = ( + 405B5055CCEAE6E5E42E2D5B, + C996039332316BBD342A21D6, + 28E20973630B963D13A73613, + C904D7C0FE596B75313D1087, + 17E3D6823C806BF9740617CD, + 406259E635C27B7D2AB5BE13, + D67D526382B560EE6E5012A4, + 9C0FEA04342848BF017E24F2, + 4094667F0D3616A2365EA4DC, + F24095ADF97D00C206CA837A, + 8050A52B44865CABC0544AF9, + 55E039005C68DDF75671A342, + 287E4CA4C82CEC91FAEE31A8, + 5EF91EC0396BB5E11DC14C74, + D3DB1C4E8913529248441007, + 8605D19961CF08473AB736BE, ); name = libFLAC; sourceTree = ""; }; + C523AF46BDE0F4C65B781858 = {isa = PBXGroup; children = ( + 5FDE5AF0C8DDC570E5A2BFF8, + 53EA28A33DA374C82A64CF18, + E4535BB445B5B1996735D765, + 6689C6A47851A930BEFA1B7C, + 2E518A4010D884A1088B9B03, + 0A9701850E07B2A22D83CD27, + 8EBDF5C3199EA40476368862, + 975F037FB7CE738278E88884, + D2DD113EE8CD421EF3D4A33A, + DB9F301C8E3225BC3ED0B21E, + 076A84581BC2D611AA5FE6CE, + 714ABEFEC1210FF716915507, + 70AE45412AF7D9A37E70CD86, + 73A908CB0CAE6FB9534AEBC4, + 067E90433763204A5978AE41, ); name = flac; sourceTree = ""; }; + DB2BE7D5CCF4906A1572D12D = {isa = PBXGroup; children = ( + 10E0C8F5907B45014F7940F1, + 5AC1DCCAC384E64D8A54F6F7, ); name = coupled; sourceTree = ""; }; + BA2042F22B05B2C4C433F87B = {isa = PBXGroup; children = ( + 7BC782A4D0F3D38C462B9BE5, ); name = floor; sourceTree = ""; }; + 113409FB1D9D99D4C6DB97A0 = {isa = PBXGroup; children = ( + BF7254BE7AB2EBEE49B46009, ); name = uncoupled; sourceTree = ""; }; + 454E27C6D19A198A0E13DFC1 = {isa = PBXGroup; children = ( + DB2BE7D5CCF4906A1572D12D, + BA2042F22B05B2C4C433F87B, + 113409FB1D9D99D4C6DB97A0, ); name = books; sourceTree = ""; }; + F717CABFCC78335FA0EA2D9B = {isa = PBXGroup; children = ( + 3C4C54DCC345A38B6166A169, + AE324FA989F6F34EDB383078, + EB81804932A4D262C1638B83, + 2A7A8F7D2C3A11DFBE31C043, + 08AB668BDA8A15E3DF702683, + FD459D4DC2737E5078BBFD21, + 6788C449954B63D0D4777833, + 835116C8C4DDE6BEB305829F, + BB648AA7052709F97D4A874D, + F1F8686F604222CE0417A8D5, + C65DD3357A8A2E938BE34575, + D9083746DBCF32FC1D54DDF4, + 0074C214F900501DFE1595DA, + 76152BCEB8494B0B07F881F4, + 0D17D3E771460866753D80AE, + F4CB10FF73790CF1CC1B0A35, + ED4D437C0E99493EEC5FAFC7, + 7E6B41EAC5FC9AF6AF54831B, + 8E9FF3DB9D5820A6404AD08A, ); name = modes; sourceTree = ""; }; + 385E87DD50A7139B3A019CAF = {isa = PBXGroup; children = ( + 454E27C6D19A198A0E13DFC1, + F717CABFCC78335FA0EA2D9B, + 3C338E1A32B19708DE024A06, + 7301F38158F92083807887F7, + 6CE29EA523B60167840FFC4E, + A9618D15D748099F0AE3F2D7, + 106C967892E555BACA1CBA84, + DFB4823641DB38366B0B5CBD, + F0440F3FFD9B4597ECDB4BCC, + 154044D0E896E60C4EB537EF, + 8022E74223EFCD2A22E3F699, + 9F4F94877510B14500133B00, + 780D5B55F198683D1DD267F8, + 27E76D284EF83959E58924C0, + C827E437E4EF9509D35678D1, + 9DA36A482E689EBD806DD04B, + D99D440F6A12AC7393393307, + 9BDF976F0C34C9345A0ED967, + 79447FB576B9811CE11DC49F, + 5A3D884B409F82E9E00E40E1, + FE17248C5CF42216FFFFE797, + 9C7B404B4FD856EEEBB3B3C8, + 5D44D707B7C5EECE5EAB5830, + B39AC65472AA57970C1A2E13, + 2A1327FA5D536695ADFD1C02, + 5D2DFCD80B76EE20401A6FB2, + 3592FD32F7D9368551F1A215, + 7DBB7EC2B79B53ED20611ECC, + 0B2EC84721A3A400A182D447, + D33A7B2FB527C3097CBF4675, + D7CF23D57C2B84403BB65B1F, + 777D0E1050E0A124AB9F1D9B, + 2B5CE3F4D6C31DE84A2B4A8A, + 85EBFB33C171867A0F94002C, + EFDE8671B924FE1BB6E4D788, + 08F1BBB72FCAB773E7D11078, + 56434BD760679075FD5F2765, + 5B8E0C73FCC3A76C3FBA2881, + 63D6BDDD4D0B184ACD3C066E, + FBF247E56EAB0B09E9D4E7B8, + B6C12279C157BE2F5A91B3A5, + 06C2BB07C9A2E8186DC409E0, + 6FEF3ED99FC27A0931B44E39, ); name = lib; sourceTree = ""; }; + 2A9D8B0D7B2A22991ACD77E3 = {isa = PBXGroup; children = ( + 385E87DD50A7139B3A019CAF, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + 016630EE7305DEA17A144B1D = {isa = PBXGroup; children = ( + 2A9D8B0D7B2A22991ACD77E3, + AE8998B3A45AE8DAA3308176, + 6750F4276D601525336AE24C, + B9EF417F7612D4613125C476, + 18BF0F18BA768D3BA1F75004, + 38C0D26DAE4F4752813AA31E, + 150571E335528BA2F93579EA, + 7E27970EECB241F0FAA462D8, + 248C811D92AB059E7B5936B4, + D710CC541F172EABB0DD0ED0, ); name = oggvorbis; sourceTree = ""; }; + 9B15CCAB94F8C1A05FAB6A4F = {isa = PBXGroup; children = ( + C523AF46BDE0F4C65B781858, + 016630EE7305DEA17A144B1D, + 72152EF0BB769C0DBD9988FD, + 34BFF38490B2CF71D2D729A7, + C538DCF5081621C3A50249FD, + 0902127168F59B65BE2734CA, + 3F74855742C4C2A0EB690196, + D2E958556779F998F8B26C5B, + 0447DBCFD1D771033802932E, + 3AB8D649F9E79A2A3771514E, + A7DC01954B7BA0400CF9E92D, + 3B8646AB1A19217326063394, + FDDD9731C8CD1CD968C96BF6, + 91F42C2FFCED2524DAC78E4D, + 08086ED6492D111E1F3C650E, + F78102AC05447601BE003D34, + 2B802A068D2DE429C379DB57, + 8F7E621B4AECC054F9532780, + 3558E576ACA227E1D8D34F08, + 86E6FB896CF1D678661022E1, ); name = codecs; sourceTree = ""; }; + A4561641317354D2FE5CB18A = {isa = PBXGroup; children = ( + D8AB6B838BD9105E68EBCBDA, + 80A7C7DCD25FECFF74FA662C, + E16B62BB33F9E730CB92153F, + 900C0B5850BCB3B173CBE883, + 3F9D6C7B798F0431FE922B41, + DBDD1A7CC8D49C6A3102DA50, + 2D21CD49127EDB94ABBF55BB, + 62DE876E589EE728A76CBB24, + 43F7BEA9CFC8EE3A248AD5E3, + 52D5C91716E2495903D9B507, + 2F63AD90BD7D2C780CCAAEEC, + 35D58A1347E7CC7089D2AD12, + D7354CB23CE7DFCB335B2DAD, + 38A995151F7D9B88AB220632, + 0C6D96C10A447A809C3180ED, ); name = format; sourceTree = ""; }; + C6D57C1F182414352ADC35CF = {isa = PBXGroup; children = ( + 0EF073B785B39E125D870A19, + 8DB6952BCF28FB10CCB1EFBF, ); name = sampler; sourceTree = ""; }; + 509E7F9A118BDECDA7B9D8F5 = {isa = PBXGroup; children = ( + 9B15CCAB94F8C1A05FAB6A4F, + A4561641317354D2FE5CB18A, + C6D57C1F182414352ADC35CF, + 6626F065E494F50813AFE7C3, + 0237CD1164BCA5B4E670C8E3, + 5DBE129199F61C74A5CCB575, + 0237CD1164BCA5B4E670C8E3, ); name = "juce_audio_formats"; sourceTree = ""; }; + D62926A63A5E7AB2D6F09F3C = {isa = PBXGroup; children = ( + 5222344B220646AB6EE56F3B, + 56D5DA60AEFC0EAAC929A163, + F828FBBE22188E0819D5655F, + FF8DA2206EFE4F5CAAC6DF9B, ); name = format; sourceTree = ""; }; + 6148F6E0CD8940FED55C6C34 = {isa = PBXGroup; children = ( + 391774514515C9FC87A3C6F6, + BCA0899EFE4D4F673DAB9FC1, + 62FA9E776551B423E6B3F379, + 84A5BB5EA969B85D0F920DA2, + CFB4DCFA5B5958F2259731ED, + 3DC079D7D7EFDF308DC44D4F, + A5EF5FDF979BC1FF68D3EA33, + 8F9FE852D4F12052C098EECE, + 45333ACAF454F661FC30924E, + 123831F52D2C1E9A68B75613, + B8B0992FEC384EAE2FC83B39, ); name = "format_types"; sourceTree = ""; }; + C85244C2685D373E286C1CBB = {isa = PBXGroup; children = ( + 2CF5D92890121EE3A9DDE043, + 034E7453A74EABC222A41A79, + E2C7D05E6D7964D2381EB883, + B724FA711D3E1CF40F3476CA, + F27663B1521AE9B2838E0306, + E899F60F3EF8E9E90B58042E, + C0BEF915D866FC6F9D28B4B1, + E991EB4F2976CE2663A94FF0, + 95999D007040ED6D71F707F7, + 8F526565001FEA3FC74DF68C, + C34F15FED2D289A1AC6D85A2, + A920865BBBF3F798E162D02B, + EADF52BD0E5715888657EA0D, + 0684B85054F9745657306704, + 905002781F55D9F49BFFD030, + 4220968D4303C2B4E8A74932, ); name = processors; sourceTree = ""; }; + 1A159268BDE54C8019CA51DF = {isa = PBXGroup; children = ( + CE91FE6F9C6ECE74706C36F2, + CDCD8001286A8AF0A3CF7310, + 60A50A49E5967A9028E6A63F, + 23869E1A76176ACAD04E37C9, + 2C018FD744770C54A848C86C, + 8D54EFEC6315A5D75F68335E, ); name = scanning; sourceTree = ""; }; + 6FA59793599F883A73C24E98 = {isa = PBXGroup; children = ( + 51960E5247A2D4F5993D0487, + A6ED47BD2D69D4B30F42CF6E, + CA5C3AE40D4524ACE1E85236, + 224A19973012E8A1BB78F074, + 63A4479ACACFC9C27B65C873, + 39C4DE7A200B4969626FBD1C, + 3AC2629D782CFE655ACD6C65, + 3713B247A275EEEB9B652EC8, ); name = utilities; sourceTree = ""; }; + BECEC234765DCB2A1916AF07 = {isa = PBXGroup; children = ( + D62926A63A5E7AB2D6F09F3C, + 6148F6E0CD8940FED55C6C34, + C85244C2685D373E286C1CBB, + 1A159268BDE54C8019CA51DF, + 6FA59793599F883A73C24E98, + 8929A374F1046A91D08C5504, + 4DFD997E7F702C64C63A6D4F, + 958486C51C2FDFD3734B281C, + 4DFD997E7F702C64C63A6D4F, ); name = "juce_audio_processors"; sourceTree = ""; }; + 7748404D21E6E8B500D4CDA2 = {isa = PBXGroup; children = ( + FEF01BDC64048ADAC8FBF791, + C0EE1D9B98C8AD2A1D605827, + 014DFF3FB0FDC135308C6E21, + 2CC7B66A627E070BFA76CEDE, + 9FC8461A85B0484F95B59BD8, + B3FEA1C98E6A5E4A7AD0EA6C, + C0F849718B68D2D89150851F, + 858C9156D096A02790CC7EE3, + 61CE8FA0CDA2F912D807F4F9, + E9FD8CCF889E41AEF5CE814C, + 5E9B40FD0A4DC0C60EBC2DDF, + 914D99CE5915E7B68BB47EEB, + C0C5B5C34349FD6B152E5B3B, + 67122ACF3B80664C5DF79570, ); name = gui; sourceTree = ""; }; + D931EB7077ACAF1A97847088 = {isa = PBXGroup; children = ( + 98B3E514464A269121E203DA, + 4C6BB183E191BFA82A1AA237, + 6EB796353187279DE4E47BD0, + 0D114F1D47457A91C806FCBA, + 5F36515D94A9F80D32BAF9E4, ); name = native; sourceTree = ""; }; + 8EF92B66CFB537E97C06CE82 = {isa = PBXGroup; children = ( + 389D048419931AB624A374C2, + DE4546899B5678F164D13F52, ); name = players; sourceTree = ""; }; + F0B729F57D59F6E7F7109036 = {isa = PBXGroup; children = ( + 7748404D21E6E8B500D4CDA2, + D931EB7077ACAF1A97847088, + 8EF92B66CFB537E97C06CE82, + 949C18982D04A8743EA86E78, + 9AC277673AEAAC17ED5F35B9, + 10D3D9E820330B4B1A0BBA94, + 9AC277673AEAAC17ED5F35B9, ); name = "juce_audio_utils"; sourceTree = ""; }; + 873672CF5B5FF2A080171750 = {isa = PBXGroup; children = ( + 7A3C99D6980442005905DE01, + F76FA2C7020A9299C164E2B8, + 703156CBA00913A6D96A89A6, + 79CF8C777581B318FED63363, + 4A09827E258094B53DEC8C05, + 4D73B93862D4FF68B3BF3211, + A3DA77EBEFC20A72872F3E28, + 8A9814BA560F0DC64E58403F, + 6760F9B20993C2913615D62B, + 24D257A12D67B90281563F49, + 589727A3116C274566D20F5E, + FE03488C6BD8BBA2DEA2AAD5, + 5E9181FD445BC527A7CDD4B2, + 8FE849A256A97710D2C75050, + 42FE49CB5AFDD4D4C6C65EDF, + 5C0BCE12CD5910802FE6270C, + 573D91C04B66136D1BD8FA27, + 0384DEB6A07A2E9D89F7D1D6, + 4B5A3ADB800429AAED96A5BA, + FA387BCE236E4F1EBBC53C4A, + A29CD77930F2C2B321F5C9D8, ); name = containers; sourceTree = ""; }; + 6B755E0A92C97024638402F9 = {isa = PBXGroup; children = ( + B9EA2A3E4F4268A3A9CAC2E8, + 2041B8796B90FEDB95078CA3, + 1C1CD66C5A242E5354095684, + 32157D71F3C2001BB77FF255, + 953503B501F2A820E50272B4, + ABB0DA29DC36D9B5D4A1B0E5, + D7DFE5809E1A29CB113D832E, + 88B183F4F890F4A330C41B81, + 9E1D46A5731A829539D7ADC7, + D2869510C1612075EF8D55E3, + 21F301B0D046171D6539BF27, + E26676BD5A6B2C3F0BB2BE20, + 997141DBACCA35F2BC118EDA, + CA08C9FF0073AE6F28B08132, + AA2E4B5C4C6B1164F902721F, + 6DBC17A9AF2D5288FA2BE963, + 47424EAFCF0E0236D9F36314, ); name = files; sourceTree = ""; }; + B3A9803CA6CCAAE541521549 = {isa = PBXGroup; children = ( + 548DBA31770A92A18D6665AE, + F46909B432DC1BE9B98409F6, + B764D8D0A5436651C5266D43, + 52212D0F8D3C9A379010D74E, ); name = javascript; sourceTree = ""; }; + 951408BE57EC31D77346F311 = {isa = PBXGroup; children = ( + 93B1A269C68042238C5F71E9, + 26D06882123226836ADE4CFD, + 0F1DE6A679F43ABFE421EE27, + B242B6D52524EBED51625C00, ); name = logging; sourceTree = ""; }; + D779729B6A4EAEE3F4F9187A = {isa = PBXGroup; children = ( + AF33D3913E5876768B35009B, + E007CA988837ED7121E4DEE0, + 258844F8716360A9253F29C9, + 39C6944D95B60E722934D0E8, + 7A3391163C927F1D75974DC6, + 7AE4C43E62213262B7206511, + 6950C104FD807D0B7E6DB812, + D2F70950C08DB4F414D7DA38, + E5D6D7D4DE1CD91162DDC533, + 52EB00A0F0ABB39D2A2D5BE5, ); name = maths; sourceTree = ""; }; + D1C5B0610B51B95977372DE7 = {isa = PBXGroup; children = ( + FD12D972996815663FE91DAA, + F48CDE09F526F4465693E692, + 9529452677DAC6E6FD5278FE, + CF8215F849A46D15607D4B9F, + 555C2D09AAC12DB54EC0CE9D, + C320A90C1F0F7C133C0C6C1B, + B40051599BAA798C637BDC4C, + 3835B76D934B38B6C939BC1E, + CDE63E5BE3B71836E865467D, + 622FE9C3BDA6397A18CF67C7, + AD0E8DCB4CA4C1E0DDE20B1C, + A40BA2D9759199582967668F, + D8A003EACD80192C72B1DCED, + F86FEF0463B2EBC33550B409, ); name = memory; sourceTree = ""; }; + BD98C5CE43F31CB8901791DF = {isa = PBXGroup; children = ( + 1CA16D2A6FD5DD0CB263CB8A, + 9914105815EE6622A7D30D28, + 1E90C78BB7EF4CAD220371A8, + 8B3F9A7C79AA3D6CAAC11E23, + D020D7629DC183D4937EC160, + 69FF9DD54B3FCEF3F903A5EF, + AF72F5A48A48FD3E7DD72C13, ); name = misc; sourceTree = ""; }; + 2FCA6F0350A2F23C9F261619 = {isa = PBXGroup; children = ( + E54DC5D961F96339438F6F29, + 4438D8DF479243407925791B, + D8325B5B81EAAA91E06110F0, + 111D30204547DC878B617182, + B1E652138C0C7722876CE14D, + 842AACF40ED3B599FDEEDB8D, + 4CF1132BD45B620EE67979F3, + 93F257873F26CD7B863C0A2E, + 8F42E124C299AD6B3E540021, + 7C913A5CC0EFD43B61CF13E7, + 0A7B0BD929594674EF5DBA96, + 2540AED5BA43C7271F857F45, + 4B181C2A371C17AA518F415E, + 06FD1B037E83041F0AF9B2F3, + CC30533925763AA9ED55E94F, + FF4D63A54214055B00DC5CA1, + A3A7697BF0C1A22D5B2C8488, + 9A7414278FA3904366C390F4, + B5BA79CC82D06D67F7AB1B94, + FE27DAC9EB763CAEC3CA4BB2, + 7AA31F3507B686BDB4E41B4D, + CAA4A46CA1EB710CF214CBC1, + 98F1C87695600E354F189BBA, + D58835A80BB4FE354CEB12EF, + 3BDD5144B225C11F51F145F7, + D08CD725FE674B5D1ADEAA85, + AA043A3BA34C03EBF97BD5E3, + F92018EE9C24981CF2AC9A70, + 3F8A753641763864D08251B1, ); name = native; sourceTree = ""; }; + 7F4F720C08BFCA2C1B021C26 = {isa = PBXGroup; children = ( + 7490F1A1A0C65668B890A6C1, + 46F0B8D9E62BAFF1E7A7CC64, + 78B284561F248D4EFE3A90F6, + A50F3FB7AB22B72E6D9ECB51, + 50DB04187388D81882177436, + 0CFE1720CC97F8EC1FA79745, + FE212771DD1CED8E5E1093BF, + 4F0284FA3AB4945EA21980A4, + BFEC403690E7A9D4FCB2828B, + BB2CB3C81D742E6FAE5008A1, ); name = network; sourceTree = ""; }; + F87B0654D4A1DF3624D810C0 = {isa = PBXGroup; children = ( + ABF6785F88E9CE3836BB982B, + 157021E882DD2790DB3DA1C0, + E547EF3B41C67F84481404AE, + DF10467F6C459A86E13EC454, + 083A0604C8629BC172C3BA3A, + D8D1BC0077F8365E04448DEE, + D5169E402EFAB1F80282111F, + 4EDD1CA5042F64E84327CD60, + 22C710A1089CBAA0BD3F8BCC, + B65F1BEA12EE3D722EF3B232, + 3E83B4A120590EC9DF4DCBF0, + 4285E7B2B74C0B2FACF7159E, + 99AAD99A10028330719CCE04, + 7CED5775FA7B2C0710D74CEF, + 670BE56B6CE2FBE4E703A0D5, ); name = streams; sourceTree = ""; }; + 71E72768330028A63AC9E518 = {isa = PBXGroup; children = ( + B5AF3F3B893E7D19B80EE0C2, + 94D48F57C6FBACDA7E565B61, + 74B1E0D24C58DF1DE20CBA3B, + D7A6B204A55E1FB0B11B58CC, + ADDB88972FBE0D86D26EB667, + 03992F31BA4AEBAE5EDEF39D, ); name = system; sourceTree = ""; }; + F2C6485FF52C8BB6EC7DC7CC = {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 = ""; }; + 9ECDDF5D199172512418C322 = {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 = ""; }; + 976BC9AA2CDAEDA7D46CA074 = {isa = PBXGroup; children = ( + FF6DB17FE3DFBA0170ECF294, + 05D38E4A7F422D590702363E, + 5833E8D8DF97BA6F326E6A0D, + CEA4D2BD5A9962D84B3D812B, + 06E59012A14299A8C87BD7FD, + FA4F080EB27F363F659DF602, ); name = time; sourceTree = ""; }; + D6584EE0AE1BB1D29E03E697 = {isa = PBXGroup; children = ( + 9A89D226BF6C6D76318A790F, + C4FBF27BBF30B3B94A0D35BF, ); name = "unit_tests"; sourceTree = ""; }; + 7EFFA98806ADC711D726BA62 = {isa = PBXGroup; children = ( + CFB7E1B87400E062203FCAC6, + 436EACF930FA1011D25EFA0B, + 7C072D2CD85FD979297B1E22, + D3927190360398A81F6196EA, ); name = xml; sourceTree = ""; }; + 25862D9A94858CA0AC13EC9A = {isa = PBXGroup; children = ( + 0B08E61061479CD3CF1C5F7D, + 3DDE0E6F7F3FCD96854FDE87, + DC5746089A2CF106AB3ACAA2, + 463A4363ED0020A23355DB1B, + FEF7F702F021E1BF58423F6E, + 14CF3DA1EAA36030A9DA4A0A, + 39001ECB98B13D462FC2C61F, + EC8C7372EEEC8E62A8553022, + BFFBF9E6ED32BDB7AF3DAA06, + C6575EBDE6BCE7176C87FBEA, + 693F7FBD5205D2EA1462C99D, + 2999D176760F5AE089E4EF4C, + 19F61A9A87678D6698B88563, + CB1B65A6CA6A57920CECC476, + 36D7CF7F39DA551F46CE799C, + D4324C514ABF25BF589F4D9F, + C2C6FDE8DDAFD2F83CB01949, + 3D5CD2B803357C7133E5B7C1, + 5EF5BE91792E3CBA46FD5F6D, + C1DE13DF18998D7583EB6C05, + 332F347451B3B58F128EFF43, + E8A095FCBF7A529B62BAD247, ); name = zlib; sourceTree = ""; }; + C2A88AFDD04E7FB11D1DDCB7 = {isa = PBXGroup; children = ( + 25862D9A94858CA0AC13EC9A, + D6BBAD5CCA00B84B5E90C9A3, + FF3542246A0F21B4E8C5F6E9, + B4ECF1571A1D2C15338C5A19, + C7E15666FF73965BB02B2EFE, + B37CE5CF8F375F6B2E252A7C, + A73835E75D4D24A899ACF40A, ); name = zip; sourceTree = ""; }; + 42917212E44DA9C652D79C10 = {isa = PBXGroup; children = ( + 873672CF5B5FF2A080171750, + 6B755E0A92C97024638402F9, + B3A9803CA6CCAAE541521549, + 951408BE57EC31D77346F311, + D779729B6A4EAEE3F4F9187A, + D1C5B0610B51B95977372DE7, + BD98C5CE43F31CB8901791DF, + 2FCA6F0350A2F23C9F261619, + 7F4F720C08BFCA2C1B021C26, + F87B0654D4A1DF3624D810C0, + 71E72768330028A63AC9E518, + F2C6485FF52C8BB6EC7DC7CC, + 9ECDDF5D199172512418C322, + 976BC9AA2CDAEDA7D46CA074, + D6584EE0AE1BB1D29E03E697, + 7EFFA98806ADC711D726BA62, + C2A88AFDD04E7FB11D1DDCB7, + BE9365B35DD9AE62D00ABC65, + 342934026A84C4D0F10F6261, + 11934147B8A79709D0664625, + 342934026A84C4D0F10F6261, ); name = "juce_core"; sourceTree = ""; }; + B4A8238572F442C33CFB8B91 = {isa = PBXGroup; children = ( + 4A2A39F4B493669E2EE55F75, + 7E0469227FB8C4ADE95CC192, + 65BA1BF484E324D84C49A976, + B8EF90B5289EC488C94798D8, ); name = "app_properties"; sourceTree = ""; }; + 5E7B7BCCE3BA56DEDE73BACA = {isa = PBXGroup; children = ( + 54A15FB5F8608B31D6F914B7, + 70C6C35771C076364F535EE9, + 3ACEB177B9B59EE0CCDDB6DA, ); name = undomanager; sourceTree = ""; }; + CACD69FB0A3D656500A01BC1 = {isa = PBXGroup; children = ( + 88B4A6D6D7414567B77AF2B5, + 33E00CA7E358B1A9E8A68287, + C99F1F5F329CE007254A0BAA, + A11D18525BD560CC185AA3CB, + 044C98142AF352964DC87013, + F9E9AAFB2F9B2836C4B80D8C, + 77FBBF17D08E7B8031E5591C, + 450A7E1D741CA7E42CE0B026, ); name = values; sourceTree = ""; }; + 6AC1A837BB408E74DBE01934 = {isa = PBXGroup; children = ( + B4A8238572F442C33CFB8B91, + 5E7B7BCCE3BA56DEDE73BACA, + CACD69FB0A3D656500A01BC1, + CB042B6A4E7D0FA1CE9AA41A, + 3321C89CC61938E085258B6E, + FB9C77F74F072D199A7BD698, + 3321C89CC61938E085258B6E, ); name = "juce_data_structures"; sourceTree = ""; }; + 2CD009CD615DC24BD0F6470D = {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 = ""; }; + FD18AC64A9F4DD7F68528074 = {isa = PBXGroup; children = ( + 3F9554E1A5AEC56AE59BF3C7, + A9EAFCAB28E5A0615B7B13E6, + 21D96087EA2F816616E4332E, + F5EDE89DF742273F2E8AF37B, + 1C34E5D650A5A764348D2A47, + 19A11B8D4418ABDA10C63019, + C76AE0E7FB192383F4687B42, + 1319902A86F0CFB586000874, + 0245FDA8CC461E9B127C78C1, + F204290476F4136549255F5C, + C6A10970DA4536CE1038393F, + E3DBF5011F3087EFA8B6D764, + 3BFD5595F009F3D326D3E1E1, ); name = messages; sourceTree = ""; }; + 10FA40D97E85D67CC9C77973 = {isa = PBXGroup; children = ( + 406D57282ABA5C8368F26995, + 586C47B3007AF321674881F8, + BFE047A47564580D50665DA2, + F9E90316C381D5F5211788B7, + 56D947BBE9F6A75C42A54257, + 67FCADC2EB97BC70A9D811B3, + BD06828DB1C4B74A7519AA49, + 5AAA012C77F1998912D92E30, ); name = native; sourceTree = ""; }; + EB93F5F821BEBC53C74CE04A = {isa = PBXGroup; children = ( + 7EA9604FAC6EE7F32FDE5836, + 762A8B6317A874ED6C6EB26C, + 1821A278E87CD2C66F4F40ED, + 2589398BE0711F5A44669EC5, ); name = timers; sourceTree = ""; }; + B5AF34152C8588BAB9750256 = {isa = PBXGroup; children = ( + 2CD009CD615DC24BD0F6470D, + BF5564468B26D3B20B516B42, + FD18AC64A9F4DD7F68528074, + 10FA40D97E85D67CC9C77973, + EB93F5F821BEBC53C74CE04A, + 42943EF6C5592F8D63ACFABF, + F4301F4CE820D61D7586A0E5, + 050729FE03ED356C75E970EA, + F4301F4CE820D61D7586A0E5, ); name = "juce_events"; sourceTree = ""; }; + D640A161669896CB3F54215F = {isa = PBXGroup; children = ( + 1B6B2DA250A8E1E46F92938E, + 5A44382799C715F1D127572E, + 30E53D40C1A80D8F461694D2, + D799FF6C1BF87B39E4FDB80D, + 56420C6F178C2DC5227A4E21, + 05CBF668EC4BC50B5DCA18A7, + 8623EDE162B80A49412E88BD, + 0D2B023924611E49FD9E25F0, + D86C78AD79EA3C8983C62FC3, ); name = colour; sourceTree = ""; }; + 1F4C9832196033879D1F9C1A = {isa = PBXGroup; children = ( + 5E669B7D8CBA66972A65674F, + 8CD626B325ECD0C5B396B349, + 08E78939C5D6164508F72381, + B58743FE48B10A581E6097CA, + DF9ED1748544B5F67AF9C2C9, + 9FB940FB03E282F5D1EC198B, + CFA9033F62CB4D259FBED44D, ); name = contexts; sourceTree = ""; }; + A9D58A5100189C75CF229619 = {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 = ""; }; + 1BD749338A67355DEA27C335 = {isa = PBXGroup; children = ( + 6BF2D7FE9E2249BF3502ABB1, + 61FF661623DF0A42513174DC, + 935DF957DEBB660FF9B11BD8, + C446EDBBF5875AB92030FB38, + F8E4BBC077CF3B57EED0C5E8, + 6113F4C3AFB861DCAF88C212, + 99F15CFF03E4CA5B9958814C, + 0F8B72901197C072D8A251C6, + 635D87A84247829C8FA7B94A, + 05D994272DE2666736A68263, + EB31FA1F8F34BE572BFDA40E, + FA3D5A5CAA81A14DBD89ADC9, + 8BE755437A71CADCE98F2CD2, + F54F134490A7622D750C8CCA, + 27E028D654DE35C7FAE178D0, ); name = geometry; sourceTree = ""; }; + 2AA986F6C9A432E51B285743 = {isa = PBXGroup; children = ( + 6F31B6B2DDBC6BB8EAFFB160, + 0B9681E03435BCDDB73D68BA, + 431458F1B5980E22C086FA02, + 8E58BAA155DFB2A320AB3B0D, + 478C988828C34DF69C283A1B, + 253A664F26DF025980A1B7C5, + C1458E824D4C4BB130A973E4, + 7ECA80118948DB6EE6CBDED1, + E1700A08F9EF7F151F30E60B, + CCB5D9D631EFDDD1E2D9BDC4, + CBD80073A3EDFF244227A33D, + 24F347645D513C30E1123176, + CBB2AC9F100B80C046D22E30, + B46D957C3F0EE0BD278F3EA3, + 7C53B64BB95E75E3A7856299, + 035DDB4D18E65692DB8E6E35, + A0A8B1487C0E3411DE20C981, + AC5D43166301AEC753EB7792, + 7D013C7AA13D984057BCE090, + 62A5FE601ECB8DCCDC86D061, + 7E36C46BDC118BF8A6AF71AB, + 109334022834C066626A9B1A, + 2F81F6218BAA22246A514DF0, + 9494D0221DC80BDF8ED2107E, + F884CD162BF96979E760E1DD, + 5F91B40AB8BD3115AD4E8836, + 917260F53ED8BE9007BBD18A, + 6003AF599AD277420CA40A55, + B880813604D07B6E9C22F282, + EF253D3A4DB6B9175682C6FA, + B80DBC778927609D8EF7B616, + C756ADD68C669D86798439FB, + 30ABA05184DA7A8178D02C78, + 52EA924EBC4A41470031E321, + EC6AEB3B15C2EF30635545E0, + 9E146131E1AA6A42AE691514, + CEF53643B45C1B7BB6DF101E, + B0B56BC0BB7669CB5254ADCB, + 54EA81EC3AD0C6B51A791758, + 0B3966ABC8DC305756249947, + 935CBAB354361FD6CDB17BEF, + 89BB4C45E5A2279E9BC5D857, + E1DF3FBEE1DEA8C39D336EFF, + 9163D3EF55AD0B2B197493EC, + 35A875455175F8C4BF62061E, + D9AC33E991C6333E44C2E4DD, + 1876FDB0C9CC9B75617654B4, + F17B940730E35EF6606D9E21, + 865787BFE9D205CD0868E324, + BC590B8EE8379F286471E441, + C5F26F09F35811DC4B2E6B55, + 956F60A50FD1A571FAECA1CC, + 45A5C6D5A476CFD78E77D176, + 098D3AE231DBB123FBEB7AE2, + C6FE613D52823DC395882EDE, + 77D2E616216762A56264F6B7, + B195B16A986486468EF9C211, + 55695475638089C4E2C6A2E9, + 9DA18FD11F99A6D8AC77CC2D, + 880EE63A76B76105861A8508, ); name = jpglib; sourceTree = ""; }; + F8638E2B8674985E44F8751F = {isa = PBXGroup; children = ( + BD7E81EFFBDE420C015965FE, + 5C6AC07C64F38959936F2D59, + 63D9F3F76D0964C734B59BC9, + 5FECE47040F6CB7A0F1A95A5, + 5AE0DD3F8B3270DE0105661A, + 717FE5CDF9E855AD674F1CFB, + 2B2EECF7963404C8F2531DAE, + 6D6973887764928DCD564C09, + D10AA0F3B34156BB5368BAC5, + 4827E37BA68432D78ABC9749, + 23308ACF7193D1B72DB934C0, + 5B19B940D22357A6218AC5BB, + ED62ABB75A5AF1E711505617, + 21BCE5884162A97546632579, + AAB519EC4A32696EFE753119, + A2FA9537EA6C4473DF23C7D1, + 1BDEDF72F521FF99BC1BC30F, + DFE6C8F91D7E54933F0507E0, + 725F92950615D99EF80F2E37, + 548B2B14607337A05AC157BE, + B7A4510F62873F5729CBB939, ); name = pnglib; sourceTree = ""; }; + 3743AC419F5FFC23E39D84C6 = {isa = PBXGroup; children = ( + 2AA986F6C9A432E51B285743, + F8638E2B8674985E44F8751F, + 73EB02E40027EDD8284BFF9C, + E892097A580573FD65F52666, + 85E0FA40CD3060A37A952E57, ); name = "image_formats"; sourceTree = ""; }; + 6B1034606EE327242C3C7B53 = {isa = PBXGroup; children = ( + FBE7CA0BE22C4FAD4405C1D4, + CBEA43906CA7292557B08994, + 12EB34780425AA36FE1DC245, + EB59BB11D7DDAF680A22B040, + 6D78C65C434A649A0D95AFE3, + A83AE455D3D67018DD3E919D, + 13E3246B1F0E027A68A9C99E, + FDE3F1C1B2919B6F2BD7F514, ); name = images; sourceTree = ""; }; + 48E258D618EB6DEBFA26A109 = {isa = PBXGroup; children = ( + FB28A976AA6297363E1E1EBF, + FAC115B00D222400E1D5F9AC, + ED4C4504733394EA9FFF33C1, + A91240691DCAFDC80A86B252, + CCE8EEA7069F237E15EB946B, + 344E814BBA9CF94A0BA9E95A, + E2E90E7B9A2553E3B6F3D0D0, + A40245410E34FD15B1935571, + A86F543278EE0AAA8D35DFDF, + FAA172C6F0151E9831FFF5FF, + 54D82FC2559A9ABF3D123287, + 657D2EDA55C54F1346D194B5, + 61A6B2C311EEA8E33BAC6BB3, ); name = native; sourceTree = ""; }; + 847D42760243B3DA8BA777FF = {isa = PBXGroup; children = ( + 930DA33DD6318AB19A4170EE, + E31C6950ECA721FF3F5D8ECA, + 173A0672B8807D34785D3817, ); name = placement; sourceTree = ""; }; + 2D8A34026E7E1361A586EAD2 = {isa = PBXGroup; children = ( + D640A161669896CB3F54215F, + 1F4C9832196033879D1F9C1A, + A9D58A5100189C75CF229619, + 297D0417582E9DBCA7342B83, + 1BD749338A67355DEA27C335, + 3743AC419F5FFC23E39D84C6, + 6B1034606EE327242C3C7B53, + 48E258D618EB6DEBFA26A109, + 847D42760243B3DA8BA777FF, + 59B97F425A3CF75A746B22AE, + 8BD123306A2D1EF7C1D22245, + B2DA2CD83338C8A369A3F2E8, + 8BD123306A2D1EF7C1D22245, ); name = "juce_graphics"; sourceTree = ""; }; + 62B5F8F06870C6B2840BF9C3 = {isa = PBXGroup; children = ( + 1C4FB479D974C51E179E5CDF, + 564F0964BE4672CECEF674FB, ); name = application; sourceTree = ""; }; + 4B954F4203F8148CE0CA7E32 = {isa = PBXGroup; children = ( + 0E76C14A6B1F3FFAA12390E4, + 965C305E056C8DE917F22585, + 4AD562E921CCD6D6B8FE23E1, + E64584D04C5D69143388CB70, + C5911A1FF6A2BCE091B396AB, + 02EB0ED6B77472A4FCFFBA2C, + FDDAC94C3AB05BFD61CA61A9, + DA5736D3C39C7698A783FB30, + DB8CFD98F9E0781658934C46, + DE5FE350590ECB6263994BF0, + 97C2FBD16505F28651574ED4, + 5E709F00CAC67777947770B4, + D965799F88CFAF2B71319F35, + D2BF69627F2C37082987AB57, + DC88621B627CB67B2B95A622, + 0CAFC4B9A6219281775A3E5B, + 1C90CDB7F9330D36B4945DDB, + 19A3C290AF0C327E51EE50B9, ); name = buttons; sourceTree = ""; }; + 0B39B08EE09036ECE5104E96 = {isa = PBXGroup; children = ( + 31DA1B6D46C641F5802C5A8E, + 27AA00C367BCDA2C9CAC0B86, + 133E18FB3B6527A6F52765BD, + EFA7A6158C4450A5F49335B2, + CACFA7250965121635E31062, + AA7C5FBE142FDA49CF98F8D3, + B68C520871891DF238BC5332, + 206E356909BCD419F0227EAD, + F05B07755D52F4579664F325, ); name = commands; sourceTree = ""; }; + A6A3F91F2927B8F13E5BC8C4 = {isa = PBXGroup; children = ( + 5D027E407997AA18E4CF1EDF, + 19CA3A888AC0FD869B853833, + 07EFBED954F04C319CB2F9AF, + CA89294C6519E4AC93776C6A, + EBA2E416B76E54F2A01D7EE4, + B616F1A2F003067580167783, + EFF09BB7A926D34D346B623E, + FCF0A463925D6F585DD6202C, + B9A51E1C7C09AE5A7CAF3917, ); name = components; sourceTree = ""; }; + 6CE9C709178881B44ED30C3A = {isa = PBXGroup; children = ( + 2A4FA5A0C18884315A2BAA0E, + 232388289B7BBC5816A43249, + DEFF1D8B0920A1439A4D7BF6, + 82A31A72EE1B1122AD16DDD5, + 41D8D99E399E3061D8647B6F, + 2419CBA43268699E7362495D, + 3CEAC402885D5C05543AEC43, + 1AF6D6EE9265937269A36117, + 18311E0283D643D5AA5315C4, + B893FA799437E480C9DE5B41, + E9A446C55A081B96178D1DF8, + 154BFBF033016D3F53C135A7, + E9CB5952B7883AEA94F52CBD, + 42379E3C735E219BDFAF02A3, + 1CC052B5ECA38077CF568526, ); name = drawables; 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 = ""; }; + 3642ED036ACFDA5015689A18 = {isa = PBXGroup; children = ( + B9599FA267A2D9DF780D1A4D, + 23F72B1694AF62D52C346872, + E1871D3D858086CF673A183A, + 62B3388B527F8DDF7CA6B846, + 1507A0089F24D5F195495E1E, + E05E4C266A3189E85D132716, + CE4F07AA4C02396F049BC8AA, + 9098F3DCD9F73170C9710F68, + 359BF9362336ACD73C8AC759, + 258C0F0E4C520517F02BB1A4, + 9C2BCC6888992FB311E9DE55, + 0D0985E65845458A00278B57, + B96B0163C4CFAD6785A3C3E5, ); name = keyboard; sourceTree = ""; }; + 80B464EDE8825B0B496A6FB7 = {isa = PBXGroup; children = ( + D05ED5DAE5FDE25E68241713, + 11FC57C0D11AA6304EF94ECB, + 00B3EB5421ADC0A47CE075CB, + 4C568FD63B14A953DDA6B1B5, + F6AFD2E91EB7E0DC2364CD03, + 0DADD40E45D17B1839935498, + 71D3AB9601D27C46645DB729, + 42101ED87C863ED563FFF529, + 6E3F44A76A54314DDD293F95, + 07FFF8B1683CC2595613F38C, + 83205FE6737B51491CAF017F, + 89021205A4D054ED8FB19640, + 7DE749651A85480E34E2D909, + 2B7BFB3838421DA82147C48E, + F5330B527A064EF5B090EBF5, + C91CB8BF621A656813B4BF44, + 6DEAC23650473EC5B37B7118, + 0610902216FAA9AE2319E9C3, + 91EA75E4BBE8A87A9618D202, + 1E567E1528267ECC91AF502F, + 3C605CC33AFBF37B0126D285, + E5CFD76752D799D84F029F7B, + 2B3C50412FEB0EA622DF305B, + 0A4245BBC061D576B59D84DE, + 719BBE0A15A89976BC3E2A30, + 9CF68D0F9C5F7C33FAC9738A, + C7DC9922E056F9CD95D05F9C, + 2EDBA1350FD0C2627B93210D, + 5D117A1C65CF13922E0D23F6, + C8408188AEB55D54BDE39649, + 5FF59BC1E0DC1F0B3E0E6F3A, + 220703A156A4548AD191B8A3, + 6651374E4D299560500300BD, + 2E1707957B3A71C40A6F1F7C, + A8B10D5403457AC452A79974, + 3DC83676AED8D6983662484E, ); name = layout; sourceTree = ""; }; + 72798CD8CA65B9F59A9B478B = {isa = PBXGroup; children = ( + 55FDA65726A4950DE49F544E, + 3FA224F24C8FA15816EAD2CC, + B73B72735553F94BB245708E, + ED3C3C56246BE6C569D5B08C, + 3CBD3CE7F456DA1C4C15E198, + B89750FEFE02641F138EEF22, + A8987822AEB05A94888A8B3B, + 98FA1B3621002A39482A7037, ); name = lookandfeel; sourceTree = ""; }; + 6CEFA4B90CF38CB3AEE1074A = {isa = PBXGroup; children = ( + 362C86206432CC5C84EFBB20, + 03A78461E09AB9BE72F5207A, + 195ECE7C25A147B52C72FBCF, + 96465102CA605250058AC064, + 59F3D582CE541DAA298A579A, + 9A6E397D7BBC81095BAAAD2E, ); name = menus; sourceTree = ""; }; + F8539CEEC80B32D9D0D32913 = {isa = PBXGroup; children = ( + BBF07C581A05714CBD5DF3BD, + 815D7A4601E13B895F1C30D0, + C37CAC3770FC20323394F6C6, + BB165BEFBD9C1341F9872A34, ); name = misc; sourceTree = ""; }; + 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 = ""; }; + B8833E3EBBA46B77AC10AEEF = {isa = PBXGroup; children = ( + 7275182C65010E12C94356DF, + 7E845FFAB78320D64910356F, + 9D3F96C9C324FF902D078BC6, + EC95580242D2E38B683BFD9D, + 4219E70B9BD7F88017386C92, + 1B968B7FB99573A5ABFB085B, + 6FE3078E9CED1266E46F9FE5, + 9C44F4E1D02940D4222D4246, + 6DE71D1176A9B368672D77DD, + 7AFCEC7E562EE311B850BC99, + BFED281053143D5D8C5218DF, + F31FE1E9C603E85BF9F41198, + ACE247FE2ECB38F384F02D14, + 933351F1C4B5CD31951BA33C, + 660143D122CB260A7A45507A, + 0EA946592DBF37DCD20A2B52, ); name = native; sourceTree = ""; }; + C26BDD93779E86E1686C576F = {isa = PBXGroup; children = ( + D4CBCCDAEDCA252F0B18EFB8, + C5722BC8011A7AC3863F0D75, + AE6A1EBE360F2459CA97F28B, + 9B8720C269E819F628E496AB, + AB6971C8443CCD45581FFE27, + C7E68949CF2B71B6E69B840E, + DF342E66360E70CC9FB2D088, + 73874DC78A39B299149E1833, + 210EB9B831928D624AE206CA, + 07CE970AACAA2798441E68D4, + 92EBDE8F4FF4C7D9010CC277, + 08E3D8FC63613F3C281A7321, + 13DF23791903EE23C9B94266, + 70A18D791C54F97B989BB9B7, ); name = positioning; sourceTree = ""; }; + 04C46E8E6CA5A1C60B8651E7 = {isa = PBXGroup; children = ( + 1A84A81FAEA61DF6BED354E4, + E69FD8FE872B3C3288FCAC3C, + 75A2D021E11AA4607169DD5E, + BF35646861CB41B4E5E870B1, + 53EFA64C90C33873A3781E3C, + 49BE2BA580A602FF754A654D, + 1157C5195475CB5DEB691C76, + B0272A07E4B5B5A604A69BB9, + 83C3BA024505ECF97CB1A494, + 1BE58FC46BC1464AADF59A9D, + 380D54F375B780CC7EC45081, + A6B2BEE83F1EBFF07FB1DB20, + 1DE92FD3DCB1D583A6CE3ED1, + 13FCDAA1C90D4662B42A6F04, ); name = properties; sourceTree = ""; }; + 3C8B88903F930E268F842F01 = {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 = ""; }; + C9B0304785BA527259A2C3D8 = {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 = ( + 62B5F8F06870C6B2840BF9C3, + 4B954F4203F8148CE0CA7E32, + 0B39B08EE09036ECE5104E96, + A6A3F91F2927B8F13E5BC8C4, + 6CE9C709178881B44ED30C3A, + DC6712CAA9405C233E75A7FF, + 3642ED036ACFDA5015689A18, + 80B464EDE8825B0B496A6FB7, + 72798CD8CA65B9F59A9B478B, + 6CEFA4B90CF38CB3AEE1074A, + F8539CEEC80B32D9D0D32913, + FF434740C846469689A2D591, + B8833E3EBBA46B77AC10AEEF, + C26BDD93779E86E1686C576F, + 04C46E8E6CA5A1C60B8651E7, + 3C8B88903F930E268F842F01, + C9B0304785BA527259A2C3D8, + 6A6C1C7377A7EE16FAC1E839, + 012D15DF2BF8C2A8D78BBCB1, + F58AAC0B88773E609A8E3AC5, + 012D15DF2BF8C2A8D78BBCB1, ); name = "juce_gui_basics"; sourceTree = ""; }; + 2283F2154A4BC893705A67C4 = {isa = PBXGroup; children = ( + 6C1A5BA3260AA97BCC54E99C, + 466D7D59847A6A0DCACF2B01, + 7D710ED3875BA0F9742D5699, + 258F21663E397877675E9E7C, + FD26DAE53C7C6BCC9006C7AD, + 3266D7C60277D249D37F33AA, + 2E4A93D258D86770140B193D, + 2FE88AFED12D0AD97091BB10, + 42A5996EB1C9A0FA9BAD31E8, + 3D918D5343B23C79D6B2AA52, + C28CB68C6B675F148A21EB5A, + D60BBF26B241D4E0F29B5249, ); name = "code_editor"; sourceTree = ""; }; + 04B952F908D2771EC49B8594 = {isa = PBXGroup; children = ( + AF6874D9CF1D39B6923FCA23, + 3A569134A5472E1BD53B8021, ); name = documents; sourceTree = ""; }; + 4845721383ADD3550F6E660C = {isa = PBXGroup; children = ( + 948915DF1F924C4541081A84, + 0C07FE9302729E7CCB168477, + 30445F9D4C3E8B50A7FA9426, ); name = embedding; sourceTree = ""; }; + 496EE37143F953E52D1AE99F = {isa = PBXGroup; children = ( + 166432B08B32D28E0EE6CA2A, + E0201712CDD6F238A571B01E, + B3EAB67C94C39842591864ED, + 99419768144C9786E79587F9, + B99197D9B429390DE251692D, + C62601EC1FED5C9996712A12, + 01C80A9FE3E329557A47B805, + FC321D7DCFB665DF3068C2AF, + 157AF02E97D86529CCA52BD3, + 55851A20A40E28ECD895AE09, + 9F5BF9B6AFE88B9149FED1EB, + 85D9816BC0DC2124FB8D39E2, + 652F6B750957DA7AD7A8B6FD, + E98236C48E31A8D5607926BD, + 2C22B4DA114E482B23796BE8, + 489903DB8BD2B3D0098947F9, + F74A2053BCE0BF323A191314, + 41E1F1ED873B8778A4DEA391, + 7357DF51E85ED90A131038AE, + 9156CF6C64EE06DB55B57572, ); name = misc; sourceTree = ""; }; + 8117A878CB14E3BE8158A73B = {isa = PBXGroup; children = ( + 72E55255CBC6A5E3ABAD8FCA, + 41650B41C126475F54AAD41F, + B660B68D11DCF9DAA6E38F11, + 374CF3F673D1531ED15AB53D, + 5CC6DDBE8F8CDD35006873D5, + 948419EDC66FC6FE3CF9D34B, + 717E6F679760C87003A61B3B, + 6B07D63DAE9F46E99E13D166, + 7F51C2503C0DC76D90DF7B91, + 5F4047D2F2642271CA6733B5, + 1FFA016099DD003AD459C0DE, + 1D850EB0F5B9D49D3D335FE6, ); name = native; sourceTree = ""; }; + 1B0481B8E7A5B7489D768A07 = {isa = PBXGroup; children = ( + 2283F2154A4BC893705A67C4, + 04B952F908D2771EC49B8594, + 4845721383ADD3550F6E660C, + 496EE37143F953E52D1AE99F, + 8117A878CB14E3BE8158A73B, + E16CE40B678F3D1A53FCDD74, + 56F4146CF072135E9FD55A0A, + D71B725E56C2BAFB9DAED99D, + 56F4146CF072135E9FD55A0A, ); name = "juce_gui_extra"; sourceTree = ""; }; + 90489A23F0DBAD5F1550CE20 = {isa = PBXGroup; children = ( + 659E76D64C99326CAFA99BB7, + C69D55E0340A2960D86B9779, + 509E7F9A118BDECDA7B9D8F5, + BECEC234765DCB2A1916AF07, + F0B729F57D59F6E7F7109036, + 42917212E44DA9C652D79C10, + 6AC1A837BB408E74DBE01934, + B5AF34152C8588BAB9750256, + 2D8A34026E7E1361A586EAD2, + 84A48DC9C4EF88B64103B1E0, + 1B0481B8E7A5B7489D768A07, ); name = "Juce Modules"; sourceTree = ""; }; + 0B8996A5E2671A4628476CFB = {isa = PBXGroup; children = ( + A65BB8D452A2A4859FA41F8B, + 71F53610B155D5DC0BC44FE8, + 4175A059B8C8C5B5326C868D, + F3E66241B460F42763126C07, + 4FE58F1BB8347D978F8549DC, + 70AF1456B19C4D3B424A3883, + E18F04B8EBF4E3AB1362BDC5, + 28E1AF36A775870224F6D59B, + 5B68D6F2AC0D0B18DE5FFF63, + 7724F42B3BE3B4D25047BEB7, + 70D0CB56D167630AB1912B0B, + C4B5CF7830AAA69A7E9A12C2, + 26FE7BE182FBB9E7228A082D, ); name = "Juce Library Code"; sourceTree = ""; }; + ED3C55ACC14D6DE2BC3B8A1D = {isa = PBXGroup; children = ( + 9516A19EE58DED8326DD0306, + 8693552B5FA53C2003A66302, ); name = Resources; sourceTree = ""; }; + 02A7F817D49F2BC1D70F4242 = {isa = PBXGroup; children = ( + 9EADBF913B7A454B6BE93A4A, + 18C1CCE5684F9FA0478F27AD, + C6030BFC7A19A5075AB0EC28, + 9F28F179EF6B90EB9F4DBEE9, + 24D90B40648CC05A9B1AA55B, + 6B887CEE009353C410AB4F63, + 12C680C68A15B9A590264B18, + 6406C6755E61B1DC93071FF0, + E1BB9D521BF6C055F5B88628, + 0A58FDDF6FB9253F51939A52, + 60795BF638A7024B62C0DF09, ); name = Frameworks; sourceTree = ""; }; + 1DFEAF972822E305E013CC06 = {isa = PBXGroup; children = ( + 614F2084407B35D62101F69F, ); name = Products; sourceTree = ""; }; + 3BA1BA0CAFE969E99950C06B = {isa = PBXGroup; children = ( + 4E2981EC48DBFD725AD8E626, + 90489A23F0DBAD5F1550CE20, + 0B8996A5E2671A4628476CFB, + ED3C55ACC14D6DE2BC3B8A1D, + 02A7F817D49F2BC1D70F4242, + 1DFEAF972822E305E013CC06, ); name = Source; sourceTree = ""; }; + 19B7C16D592FB25D09022191 = {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", + "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-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest; }; name = Debug; }; + B7A6988E30C0A68B01EDC53B = {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", + "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-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest; }; name = Release; }; + B907CDF95622107F20CD7617 = {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 = "AudioPerformanceTest"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Debug; }; + BF82CBDF63CC37CADC61A511 = {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 = "AudioPerformanceTest"; + SDKROOT = iphoneos; + 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; }; + 674C2AF5989C06689C6065FC = {isa = XCConfigurationList; buildConfigurations = ( + 19B7C16D592FB25D09022191, + B7A6988E30C0A68B01EDC53B, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + C86DD529EC94922C2AB61742 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + A783F6E198806332E7FB9744, ); runOnlyForDeploymentPostprocessing = 0; }; + 6C2BE2DE2ECC96615ED827AB = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 07451DA87757F9EF80E31BE8, + C8A2264A4D4A0CD6B519AC01, + 8286920FF6CFA9E7A4975C33, + 1B7DB3536E20A460AC331BC8, + 03B1B72B30A18968B9F453A1, + 1382A55F62D5255C2BA0E9D1, + B02021DAEC57D0539B9BCFC6, + 4DA57D238C2CD7F9DFD3C2A2, + 232C91F7D3438C28FD4076E6, + BE51C0B1FCD9B908D9EB63B1, + 7D6AEBA4AD90EC541711C680, + 5144E6127912F3BAE3E6CCC8, ); runOnlyForDeploymentPostprocessing = 0; }; + 409D569C572B6EF7F4F1702D = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 8A0F71A4EEC7FE694352DD94, + 30BE30F31D1AAED9FC893AA5, + E74C8479F0E10EC28E1E2DE1, + 5AFD011031C266431687C922, + 71863EE98034AB7C3CBCAA81, + BF3ECEF0623C9B67C4CEAAF2, + 5923A711C0020F2CDD598714, + F749F6DA494103257C9874CC, + CC782AABFA20787BABBCED90, + F8099BB77DC0D01DCCC6AFB9, + AA0C9E035BB509F01A09310B, ); runOnlyForDeploymentPostprocessing = 0; }; + E9FD2656EC625C9C8DE30219 = {isa = PBXNativeTarget; buildConfigurationList = 674C2AF5989C06689C6065FC; buildPhases = ( + C86DD529EC94922C2AB61742, + 6C2BE2DE2ECC96615ED827AB, + 409D569C572B6EF7F4F1702D, ); buildRules = ( ); dependencies = ( ); name = "AudioPerformanceTest (App)"; productName = AudioPerformanceTest; productReference = 614F2084407B35D62101F69F; 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/AudioPerformanceTest/Images.xcassets/AppIcon.appiconset/Contents.json b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..c0af172f --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/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/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/LaunchImage.launchimage/Contents.json b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 00000000..235448f3 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/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/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-1x.png b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/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/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-2x.png b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/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/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-1x.png b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/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/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-2x.png b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest/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/extras/AudioPerformanceTest/Builds/iOS/Info-App.plist b/extras/AudioPerformanceTest/Builds/iOS/Info-App.plist new file mode 100644 index 00000000..44379dc1 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/iOS/Info-App.plist @@ -0,0 +1,43 @@ + + + + + + LSRequiresIPhoneOS + + UIViewControllerBasedStatusBarAppearance + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AudioPerformanceTest + CFBundleDisplayName + AudioPerformanceTest + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + UIRequiresFullScreen + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIBackgroundModes + + + diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/AppConfig.h b/extras/AudioPerformanceTest/JuceLibraryCode/AppConfig.h new file mode 100644 index 00000000..bd436ee4 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/AppConfig.h @@ -0,0 +1,194 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + 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 + 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_AKFC5M__ +#define __JUCE_APPCONFIG_AKFC5M__ + +//============================================================================== +// [BEGIN_USER_CODE_SECTION] + +// (You can add your own code in this section, and the Projucer will not overwrite it) + +// [END_USER_CODE_SECTION] + +//============================================================================== +#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_formats 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_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 + +//============================================================================== +#ifndef JUCE_STANDALONE_APPLICATION + #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: + +#ifndef JUCE_ASIO + //#define JUCE_ASIO +#endif + +#ifndef JUCE_WASAPI + //#define JUCE_WASAPI +#endif + +#ifndef JUCE_WASAPI_EXCLUSIVE + //#define JUCE_WASAPI_EXCLUSIVE +#endif + +#ifndef JUCE_DIRECTSOUND + //#define JUCE_DIRECTSOUND +#endif + +#ifndef JUCE_ALSA + //#define JUCE_ALSA +#endif + +#ifndef JUCE_JACK + //#define JUCE_JACK +#endif + +#ifndef JUCE_USE_ANDROID_OPENSLES + //#define JUCE_USE_ANDROID_OPENSLES +#endif + +#ifndef JUCE_USE_CDREADER + //#define JUCE_USE_CDREADER +#endif + +#ifndef JUCE_USE_CDBURNER + //#define JUCE_USE_CDBURNER +#endif + +//============================================================================== +// juce_audio_formats flags: + +#ifndef JUCE_USE_FLAC + //#define JUCE_USE_FLAC +#endif + +#ifndef JUCE_USE_OGGVORBIS + //#define JUCE_USE_OGGVORBIS +#endif + +#ifndef JUCE_USE_MP3AUDIOFORMAT + //#define JUCE_USE_MP3AUDIOFORMAT +#endif + +#ifndef JUCE_USE_LAME_AUDIO_FORMAT + //#define JUCE_USE_LAME_AUDIO_FORMAT +#endif + +#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT + //#define JUCE_USE_WINDOWS_MEDIA_FORMAT +#endif + +//============================================================================== +// juce_audio_processors flags: + +#ifndef JUCE_PLUGINHOST_VST + //#define JUCE_PLUGINHOST_VST +#endif + +#ifndef JUCE_PLUGINHOST_VST3 + //#define JUCE_PLUGINHOST_VST3 +#endif + +#ifndef JUCE_PLUGINHOST_AU + //#define JUCE_PLUGINHOST_AU +#endif + +//============================================================================== +// juce_core flags: + +#ifndef JUCE_FORCE_DEBUG + //#define JUCE_FORCE_DEBUG +#endif + +#ifndef JUCE_LOG_ASSERTIONS + //#define JUCE_LOG_ASSERTIONS +#endif + +#ifndef JUCE_CHECK_MEMORY_LEAKS + //#define JUCE_CHECK_MEMORY_LEAKS +#endif + +#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES + //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES +#endif + +#ifndef JUCE_INCLUDE_ZLIB_CODE + //#define JUCE_INCLUDE_ZLIB_CODE +#endif + +#ifndef JUCE_USE_CURL + //#define JUCE_USE_CURL +#endif + +//============================================================================== +// juce_graphics flags: + +#ifndef JUCE_USE_COREIMAGE_LOADER + //#define JUCE_USE_COREIMAGE_LOADER +#endif + +#ifndef JUCE_USE_DIRECTWRITE + //#define JUCE_USE_DIRECTWRITE +#endif + +//============================================================================== +// juce_gui_basics flags: + +#ifndef JUCE_ENABLE_REPAINT_DEBUGGING + //#define JUCE_ENABLE_REPAINT_DEBUGGING +#endif + +#ifndef JUCE_USE_XSHM + //#define JUCE_USE_XSHM +#endif + +#ifndef JUCE_USE_XRENDER + //#define JUCE_USE_XRENDER +#endif + +#ifndef JUCE_USE_XCURSOR + //#define JUCE_USE_XCURSOR +#endif + +//============================================================================== +// juce_gui_extra flags: + +#ifndef JUCE_WEB_BROWSER + //#define JUCE_WEB_BROWSER +#endif + +#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR + //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR +#endif + + +#endif // __JUCE_APPCONFIG_AKFC5M__ diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/JuceHeader.h b/extras/AudioPerformanceTest/JuceLibraryCode/JuceHeader.h new file mode 100644 index 00000000..dbcc6eff --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/JuceHeader.h @@ -0,0 +1,46 @@ +/* + + 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_AKFC5M__ +#define __APPHEADERFILE_AKFC5M__ + +#include "AppConfig.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 + // 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 = "AudioPerformanceTest"; + const char* const versionString = "1.0.0"; + const int versionNumber = 0x10000; +} +#endif + +#endif // __APPHEADERFILE_AKFC5M__ diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/ReadMe.txt b/extras/AudioPerformanceTest/JuceLibraryCode/ReadMe.txt new file mode 100644 index 00000000..091a5aa6 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/ReadMe.txt @@ -0,0 +1,12 @@ + + Important Note!! + ================ + +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 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 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..97bd2c56 --- /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 00000000..8eae7c6e --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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/Source/Main.cpp b/extras/AudioPerformanceTest/Source/Main.cpp new file mode 100644 index 00000000..88d219bd --- /dev/null +++ b/extras/AudioPerformanceTest/Source/Main.cpp @@ -0,0 +1,97 @@ +/* + ============================================================================== + + This file is part of the juce_core module of the JUCE library. + Copyright (c) 2016 - 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 + + ============================================================================== +*/ + +#include "../JuceLibraryCode/JuceHeader.h" +#include "MainComponent.h" + +Component* createMainContentComponent(); + +//============================================================================== +class AudioPerformanceTestApplication : public JUCEApplication +{ +public: + //============================================================================== + AudioPerformanceTestApplication() {} + + 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()); + } + + void shutdown() override + { + mainWindow = nullptr; // (deletes our window) + } + + //============================================================================== + void systemRequestedQuit() override + { + quit(); + } + + //============================================================================== + class MainWindow : public DocumentWindow + { + public: + MainWindow (String name) : DocumentWindow (name, + Colours::lightgrey, + DocumentWindow::allButtons) + { + setUsingNativeTitleBar (true); + setContentOwned (createMainContentComponent(), true); + setResizable (false, false); + + #if JUCE_IOS || JUCE_ANDROID + setFullScreen (true); + #else + centreWithSize (getWidth(), getHeight()); + #endif + + setVisible (true); + } + + void closeButtonPressed() override + { + JUCEApplication::getInstance()->systemRequestedQuit(); + } + + private: + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow) + }; + +private: + ScopedPointer mainWindow; +}; + +//============================================================================== +START_JUCE_APPLICATION (AudioPerformanceTestApplication) diff --git a/extras/AudioPerformanceTest/Source/MainComponent.h b/extras/AudioPerformanceTest/Source/MainComponent.h new file mode 100644 index 00000000..cf35038f --- /dev/null +++ b/extras/AudioPerformanceTest/Source/MainComponent.h @@ -0,0 +1,284 @@ +/* + ============================================================================== + + This file is part of the juce_core module of the JUCE library. + Copyright (c) 2016 - 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 + + ============================================================================== +*/ + +#ifndef MAINCOMPONENT_H_INCLUDED +#define MAINCOMPONENT_H_INCLUDED + +#include "../JuceLibraryCode/JuceHeader.h" +#include + +//============================================================================== +class MainContentComponent : public AudioAppComponent, + private Timer +{ +public: + //============================================================================== + MainContentComponent() + { + setSize (400, 400); + setAudioChannels (0, 2); + + initGui(); + Desktop::getInstance().setScreenSaverEnabled (false); + startTimer (1000); + } + + ~MainContentComponent() + { + shutdownAudio(); + } + + //============================================================================== + void prepareToPlay (int bufferSize, double sampleRate) override + { + currentSampleRate = sampleRate; + allocateBuffers (bufferSize); + printHeader(); + } + + void releaseResources() override + { + a.clear(); + b.clear(); + c.clear(); + currentSampleRate = 0.0; + } + + //============================================================================== + void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override + { + const double startTimeMs = getPreciseTimeMs(); + + AudioBuffer& outputAudio = *bufferToFill.buffer; + std::size_t bufferSize = (std::size_t) outputAudio.getNumSamples(); + initialiseBuffers (bufferToFill, bufferSize); + + for (int ch = 0; ch < outputAudio.getNumChannels(); ++ch) + crunchSomeNumbers (outputAudio.getWritePointer (ch), bufferSize, numLoopIterationsPerCallback); + + std::lock_guard lock (metricMutex); + + double endTimeMs = getPreciseTimeMs(); + addCallbackMetrics (startTimeMs, endTimeMs); + } + + //============================================================================== + void addCallbackMetrics (double startTimeMs, double endTimeMs) + { + double runtimeMs = endTimeMs - startTimeMs; + audioCallbackRuntimeMs.addValue (runtimeMs); + + if (runtimeMs > getPhysicalTimeLimitMs()) + numCallbacksOverPhysicalTimeLimit++; + + if (lastCallbackStartTimeMs > 0.0) + { + double gapMs = startTimeMs - lastCallbackStartTimeMs; + audioCallbackGapMs.addValue (gapMs); + + if (gapMs > 1.5 * getPhysicalTimeLimitMs()) + numLateCallbacks++; + } + + lastCallbackStartTimeMs = startTimeMs; + } + + //============================================================================== + void paint (Graphics& g) override + { + g.fillAll (Colours::black); + g.setFont (Font (16.0f)); + g.setColour (Colours::white); + g.drawText ("loop iterations / audio callback", + 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); + loopIterationsSlider.setRange (0, 30000, 250); + loopIterationsSlider.setValue (15000); + loopIterationsSlider.setColour (Slider::thumbColourId, Colours::white); + loopIterationsSlider.setColour (Slider::textBoxTextColourId, Colours::grey); + updateNumLoopIterationsPerCallback(); + addAndMakeVisible (loopIterationsSlider); + } + + //============================================================================== + void allocateBuffers (std::size_t bufferSize) + { + a.resize (bufferSize); + b.resize (bufferSize); + c.resize (bufferSize); + } + + //============================================================================== + void initialiseBuffers (const AudioSourceChannelInfo& bufferToFill, std::size_t bufferSize) + { + if (bufferSize != a.size()) + { + jassertfalse; + Logger::writeToLog ("WARNING: Unexpected buffer size received." + "expected: " + String (a.size()) + + ", actual: " + String (bufferSize)); + + if (bufferSize > a.size()) + Logger::writeToLog ("WARNING: Need to allocate larger buffers on audio thread!"); + + allocateBuffers (bufferSize); + } + + bufferToFill.clearActiveBufferRegion(); + std::fill (a.begin(), a.end(), 0.09f); + std::fill (b.begin(), b.end(), 0.1f ); + 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); + + for (int i = 0; i < numIterations; ++i) + { + FloatVectorOperations::multiply (c.data(), a.data(), b.data(), (int) bufferSize); + FloatVectorOperations::addWithMultiply (outBuffer, b.data(), c.data(), (int) bufferSize); + } + } + + //============================================================================== + void timerCallback() override + { + printAndResetPerformanceMetrics(); + } + + //============================================================================== + void printHeader() const + { + Logger::writeToLog ("buffer size = " + String (a.size()) + " samples"); + Logger::writeToLog ("sample rate = " + String (currentSampleRate) + " Hz"); + Logger::writeToLog ("physical time limit / callback = " + String (getPhysicalTimeLimitMs() )+ " ms"); + Logger::writeToLog (""); + Logger::writeToLog (" | callback exec time / physLimit | callback time gap / physLimit | callback counters "); + Logger::writeToLog ("numLoops | avg min max stddev | avg min max stddev | called late >limit "); + Logger::writeToLog ("----- | ----- ----- ----- ----- | ----- ----- ----- ----- | --- --- --- "); + } + + //============================================================================== + void printAndResetPerformanceMetrics() + { + std::unique_lock lock (metricMutex); + + auto runtimeMetric = audioCallbackRuntimeMs; + auto gapMetric = audioCallbackGapMs; + auto late = numLateCallbacks; + auto overLimit = numCallbacksOverPhysicalTimeLimit; + + resetPerformanceMetrics(); + updateNumLoopIterationsPerCallback(); + + lock.unlock(); + + Logger::writeToLog (String (numLoopIterationsPerCallback).paddedRight (' ', 8) + " | " + + getPercentFormattedMetricString (runtimeMetric) + " | " + + getPercentFormattedMetricString (gapMetric) + " | " + + String (runtimeMetric.getCount()).paddedRight (' ', 8) + + String (late).paddedRight (' ', 8) + + String (overLimit).paddedRight (' ', 8) + " | "); + } + + //============================================================================== + String getPercentFormattedMetricString (const StatisticsAccumulator metric) const + { + auto physTimeLimit = getPhysicalTimeLimitMs(); + + return (String (100.0 * metric.getAverage() / physTimeLimit, 1) + "%").paddedRight (' ', 8) + + (String (100.0 * metric.getMinValue() / physTimeLimit, 1) + "%").paddedRight (' ', 8) + + (String (100.0 * metric.getMaxValue() / physTimeLimit, 1) + "%").paddedRight (' ', 8) + + String (metric.getStandardDeviation(), 3).paddedRight (' ', 8); + } + + //============================================================================== + void resetPerformanceMetrics() + { + audioCallbackRuntimeMs.reset(); + audioCallbackGapMs.reset(); + numLateCallbacks = 0; + 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; + + StatisticsAccumulator audioCallbackRuntimeMs; + StatisticsAccumulator audioCallbackGapMs; + double lastCallbackStartTimeMs = 0.0; + int numLateCallbacks = 0; + int numCallbacksOverPhysicalTimeLimit = 0; + int numLoopIterationsPerCallback; + + Slider loopIterationsSlider; + std::mutex metricMutex; + + //============================================================================== + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent) +}; + + +// (This function is called by the app startup code to create our main component) +Component* createMainContentComponent() { return new MainContentComponent(); } + + +#endif // MAINCOMPONENT_H_INCLUDED diff --git a/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp b/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp deleted file mode 100644 index 85fafb7c..00000000 --- a/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp +++ /dev/null @@ -1,3453 +0,0 @@ - - - - - - - diff --git a/extras/Introjucer/Builds/Linux/Makefile b/extras/Introjucer/Builds/Linux/Makefile deleted file mode 100644 index 2017b751..00000000 --- a/extras/Introjucer/Builds/Linux/Makefile +++ /dev/null @@ -1,388 +0,0 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! - -# (this disables dependency generation if multiple architectures are set) -DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) - -ifndef CONFIG - CONFIG=Debug -endif - -ifeq ($(CONFIG),Debug) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Debug - OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := - 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 - 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 - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) -endif - -ifeq ($(CONFIG),Release) - BINDIR := build - LIBDIR := build - OBJDIR := build/intermediate/Release - OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := - 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 - 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 - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) -endif - -OBJECTS := \ - $(OBJDIR)/jucer_AppearanceSettings_788d9889.o \ - $(OBJDIR)/jucer_AutoUpdater_ca658dc2.o \ - $(OBJDIR)/jucer_CommandLine_f35de107.o \ - $(OBJDIR)/jucer_DocumentEditorComponent_695dff1d.o \ - $(OBJDIR)/jucer_GlobalPreferences_b0f1bd3d.o \ - $(OBJDIR)/jucer_Main_f8488f5b.o \ - $(OBJDIR)/jucer_MainWindow_1e163aeb.o \ - $(OBJDIR)/jucer_OpenDocumentManager_4c72d210.o \ - $(OBJDIR)/jucer_SourceCodeEditor_461f5487.o \ - $(OBJDIR)/jucer_ComponentTypeHandler_6bec6262.o \ - $(OBJDIR)/jucer_ButtonDocument_56c341cc.o \ - $(OBJDIR)/jucer_ComponentDocument_92868083.o \ - $(OBJDIR)/jucer_ColouredElement_70cbc839.o \ - $(OBJDIR)/jucer_PaintElement_653460.o \ - $(OBJDIR)/jucer_PaintElementPath_908894a5.o \ - $(OBJDIR)/jucer_ComponentLayoutEditor_aeb44f8d.o \ - $(OBJDIR)/jucer_ComponentOverlayComponent_fd508d63.o \ - $(OBJDIR)/jucer_EditingPanelBase_6c2ed9ee.o \ - $(OBJDIR)/jucer_JucerDocumentEditor_2c581e26.o \ - $(OBJDIR)/jucer_PaintRoutineEditor_f6ac0344.o \ - $(OBJDIR)/jucer_PaintRoutinePanel_c309a0d7.o \ - $(OBJDIR)/jucer_ResourceEditorPanel_a558f2e2.o \ - $(OBJDIR)/jucer_TestComponent_db757dc4.o \ - $(OBJDIR)/jucer_BinaryResources_e0f99b46.o \ - $(OBJDIR)/jucer_ComponentLayout_6ea00129.o \ - $(OBJDIR)/jucer_GeneratedCode_9ca4ef7e.o \ - $(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_CodeHelpers_c317179c.o \ - $(OBJDIR)/jucer_FileHelpers_f98ed0ad.o \ - $(OBJDIR)/jucer_Icons_9db2f51e.o \ - $(OBJDIR)/jucer_JucerTreeViewBase_d043309d.o \ - $(OBJDIR)/jucer_MiscUtilities_25b68c82.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 \ - -.PHONY: clean - -$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) - @echo Linking The Introjucer - -@mkdir -p $(BINDIR) - -@mkdir -p $(LIBDIR) - -@mkdir -p $(OUTDIR) - @$(BLDCMD) - -clean: - @echo Cleaning The Introjucer - @$(CLEANCMD) - -strip: - @echo Stripping The Introjucer - -@strip --strip-unneeded $(OUTDIR)/$(TARGET) - -$(OBJDIR)/jucer_AppearanceSettings_788d9889.o: ../../Source/Application/jucer_AppearanceSettings.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_AppearanceSettings.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_AutoUpdater_ca658dc2.o: ../../Source/Application/jucer_AutoUpdater.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_AutoUpdater.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_CommandLine_f35de107.o: ../../Source/Application/jucer_CommandLine.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_CommandLine.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_DocumentEditorComponent_695dff1d.o: ../../Source/Application/jucer_DocumentEditorComponent.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_DocumentEditorComponent.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_GlobalPreferences_b0f1bd3d.o: ../../Source/Application/jucer_GlobalPreferences.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_GlobalPreferences.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_Main_f8488f5b.o: ../../Source/Application/jucer_Main.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_Main.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_MainWindow_1e163aeb.o: ../../Source/Application/jucer_MainWindow.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_MainWindow.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_OpenDocumentManager_4c72d210.o: ../../Source/Application/jucer_OpenDocumentManager.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_OpenDocumentManager.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_SourceCodeEditor_461f5487.o: ../../Source/Code\ Editor/jucer_SourceCodeEditor.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_SourceCodeEditor.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_ComponentTypeHandler_6bec6262.o: ../../Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ComponentTypeHandler.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_ButtonDocument_56c341cc.o: ../../Source/ComponentEditor/documents/jucer_ButtonDocument.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ButtonDocument.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_ComponentDocument_92868083.o: ../../Source/ComponentEditor/documents/jucer_ComponentDocument.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ComponentDocument.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_ColouredElement_70cbc839.o: ../../Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ColouredElement.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_PaintElement_653460.o: ../../Source/ComponentEditor/paintelements/jucer_PaintElement.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_PaintElement.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_PaintElementPath_908894a5.o: ../../Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_PaintElementPath.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_ComponentLayoutEditor_aeb44f8d.o: ../../Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ComponentLayoutEditor.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_ComponentOverlayComponent_fd508d63.o: ../../Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ComponentOverlayComponent.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_EditingPanelBase_6c2ed9ee.o: ../../Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_EditingPanelBase.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_JucerDocumentEditor_2c581e26.o: ../../Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_JucerDocumentEditor.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_PaintRoutineEditor_f6ac0344.o: ../../Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_PaintRoutineEditor.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_PaintRoutinePanel_c309a0d7.o: ../../Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_PaintRoutinePanel.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_ResourceEditorPanel_a558f2e2.o: ../../Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ResourceEditorPanel.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_TestComponent_db757dc4.o: ../../Source/ComponentEditor/ui/jucer_TestComponent.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_TestComponent.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_BinaryResources_e0f99b46.o: ../../Source/ComponentEditor/jucer_BinaryResources.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_BinaryResources.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_ComponentLayout_6ea00129.o: ../../Source/ComponentEditor/jucer_ComponentLayout.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ComponentLayout.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_GeneratedCode_9ca4ef7e.o: ../../Source/ComponentEditor/jucer_GeneratedCode.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_GeneratedCode.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_JucerDocument_ff8afcc2.o: ../../Source/ComponentEditor/jucer_JucerDocument.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_JucerDocument.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_ObjectTypes_4406f01c.o: ../../Source/ComponentEditor/jucer_ObjectTypes.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ObjectTypes.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_PaintRoutine_e1e891ee.o: ../../Source/ComponentEditor/jucer_PaintRoutine.cpp - -@mkdir -p $(OBJDIR) - @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" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_Module_3f7666a5.o: ../../Source/Project/jucer_Module.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_Module.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_Project_c131864a.o: ../../Source/Project/jucer_Project.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_Project.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_ProjectContentComponent_60de0eee.o: ../../Source/Project/jucer_ProjectContentComponent.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ProjectContentComponent.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_ProjectType_1bc27a24.o: ../../Source/Project/jucer_ProjectType.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ProjectType.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_CodeHelpers_c317179c.o: ../../Source/Utility/jucer_CodeHelpers.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_CodeHelpers.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_FileHelpers_f98ed0ad.o: ../../Source/Utility/jucer_FileHelpers.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_FileHelpers.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_Icons_9db2f51e.o: ../../Source/Utility/jucer_Icons.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_Icons.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_JucerTreeViewBase_d043309d.o: ../../Source/Utility/jucer_JucerTreeViewBase.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_JucerTreeViewBase.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_MiscUtilities_25b68c82.o: ../../Source/Utility/jucer_MiscUtilities.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_MiscUtilities.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_SlidingPanelComponent_9aa7a2ab.o: ../../Source/Utility/jucer_SlidingPanelComponent.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_SlidingPanelComponent.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_StoredSettings_26078d2c.o: ../../Source/Utility/jucer_StoredSettings.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_StoredSettings.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_NewFileWizard_fac97f47.o: ../../Source/Wizards/jucer_NewFileWizard.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_NewFileWizard.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_NewProjectWizardClasses_891f6fa2.o: ../../Source/Wizards/jucer_NewProjectWizardClasses.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_NewProjectWizardClasses.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling BinaryData.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/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 - -@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 - -@mkdir -p $(OBJDIR) - @echo "Compiling juce_data_structures.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/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 - -@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 - -@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 - -@mkdir -p $(OBJDIR) - @echo "Compiling juce_gui_extra.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - --include $(OBJECTS:%.o=%.d) 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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 - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - Icon.icns - CFBundleIdentifier - com.roli.introjucer - CFBundleName - The Introjucer - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleShortVersionString - 4.1.0 - CFBundleVersion - 4.1.0 - NSHumanReadableCopyright - ROLI Ltd. - NSHighResolutionCapable - - CFBundleDocumentTypes - - - CFBundleTypeExtensions - - jucer - - CFBundleTypeName - jucer - CFBundleTypeRole - Editor - CFBundleTypeIconFile - Icon - NSPersistentStoreTypeKey - XML - - - - diff --git a/extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj b/extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj deleted file mode 100644 index 6b27a2cb..00000000 --- a/extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj +++ /dev/null @@ -1,2169 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - - 1E76E36772355E2A43CF4961 = {isa = PBXBuildFile; fileRef = D00F311BFC3C2625C457CB9B; }; - 241F29FCBB7A17BB44A0B10C = {isa = PBXBuildFile; fileRef = D1F9B0E9F5D54FE48BEB46EA; }; - 49C22786B54C5DC94E4654B8 = {isa = PBXBuildFile; fileRef = E96597BBC6A98255B51B94DC; }; - 11D42F7EC6E6539D79A7F4B1 = {isa = PBXBuildFile; fileRef = E5D6C36496F5BC84D7213BE8; }; - B980464FA2761CCD64B1FAD6 = {isa = PBXBuildFile; fileRef = CF6C8BD0DA3D8CD4E99EBADA; }; - 2610F357881240ACBF612F48 = {isa = PBXBuildFile; fileRef = 6678E9B3EEACAD47F438B264; }; - 1321E6C1C6170B6C898AD09D = {isa = PBXBuildFile; fileRef = 951128CA33CCDEF570436B1C; }; - 357A6AA6960EF95D92929BEE = {isa = PBXBuildFile; fileRef = 441CFEA771BAA50E187342E9; }; - 6DD9DA1677A6CF789CDAB478 = {isa = PBXBuildFile; fileRef = 0D4D508C638BC74943B9976D; }; - 954A036F5DDB375DB23FFB3E = {isa = PBXBuildFile; fileRef = 0400CB0E056A1D840304D2DE; }; - 3EB3D569250C4BA4CA9AF578 = {isa = PBXBuildFile; fileRef = C7608A3967D9AB9481848F2B; }; - 3C3B0ED6C43FDA3AF76DEE2E = {isa = PBXBuildFile; fileRef = 84DE44680C9D37CDDCD127FF; }; - 95B44E6C74B1DED31DBE37EB = {isa = PBXBuildFile; fileRef = 8C52A3DDA62A746AA7A68535; }; - AA9D0B8E23F3D87A23DE9F8A = {isa = PBXBuildFile; fileRef = 9069981E414A631B036CC9AC; }; - 244BA1BDA5FAA465EA3F9C6D = {isa = PBXBuildFile; fileRef = 2247EE920DF0610CAF9F4513; }; - FCE6F604C00039A32649CB69 = {isa = PBXBuildFile; fileRef = 2E680E2C65684A4272AE079A; }; - 9BF773500BA51A8B5C6C7348 = {isa = PBXBuildFile; fileRef = 65C498761CE166072A202AA0; }; - 57B1F32A372143B4D3B1C517 = {isa = PBXBuildFile; fileRef = 3E03B7C7A19E63A724EB79F4; }; - 3DC282564876B1FC88AAA9B3 = {isa = PBXBuildFile; fileRef = 662C76394C5D1B56766FAFD9; }; - C49E1D32A9DCE3D59BC48B1D = {isa = PBXBuildFile; fileRef = 93B419190CCE92ACAB1ED25B; }; - E1268E019B434F6B5E9317DC = {isa = PBXBuildFile; fileRef = 1C216FE9B7A5209C5CCF2517; }; - CE91112DADB97C573C3C674D = {isa = PBXBuildFile; fileRef = 0169ACAA0FAE70CCEEE4F650; }; - A70F0274076C0D44ED71C980 = {isa = PBXBuildFile; fileRef = EF30A74B566A461A171BBF83; }; - BD1E0CBE74DDD2F303978E1F = {isa = PBXBuildFile; fileRef = 4E191CDCE7565DB726CF7065; }; - 8C1CC0E7A772D66635BA482F = {isa = PBXBuildFile; fileRef = 98F42686D9DAC974F2514217; }; - A69BF71FA90E5A66B6EB2E0F = {isa = PBXBuildFile; fileRef = 9C7FA58D223674C4C2AC6595; }; - D68DE111AFBD82F0D44A3B69 = {isa = PBXBuildFile; fileRef = B15E33E7342F6EB4F95C9B1D; }; - EC6A34EC9A9D454BF26AAD32 = {isa = PBXBuildFile; fileRef = 16203C6791259C9718A04C3A; }; - 8AD28823205783E6F676F254 = {isa = PBXBuildFile; fileRef = DF725A596B7BCD7520CC0A9F; }; - 34716A3539FD288C09CBA38A = {isa = PBXBuildFile; fileRef = 921752D9B004A15973DDF56F; }; - 45A53AF13B0D663050632E8C = {isa = PBXBuildFile; fileRef = 9EF583A6201DBC813C2F63C4; }; - C2A85091A28C907A4E1E1687 = {isa = PBXBuildFile; fileRef = 133F1E428260C5ADDF496DF9; }; - 83431B7234A78ECFB3C15F63 = {isa = PBXBuildFile; fileRef = 78D0DBC4798FF040FDB90F6D; }; - 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; }; - CD4F7B119CE718BCE78D61F4 = {isa = PBXBuildFile; fileRef = 9B9CAD20E1243B4351B4C8D8; }; - 78CB463DD98A55313A543859 = {isa = PBXBuildFile; fileRef = 1729AEDC34001C31B8CC357C; }; - 1499DF2E85B05AC1BF423773 = {isa = PBXBuildFile; fileRef = CF21D9DB3AEC0A4DCAB36A99; }; - 123810DAF8AF758928916ECE = {isa = PBXBuildFile; fileRef = 47DD50A5A9091F9900E0EAD9; }; - C9F11BA62D6D092A300363F7 = {isa = PBXBuildFile; fileRef = 0F249640243FBD5717F6ADD9; }; - 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; }; - 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"; }; - 003CA65912AC8048759478F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0075C5208947159AF2802F3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioPluginEditorTemplate.cpp"; path = "../../Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 008C8B2C2328CFBB9375397D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComboBoxHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ComboBoxHandler.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 03D3053EDE47FED1919C6674 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AudioPluginFilterTemplate.h"; path = "../../Source/BinaryData/jucer_AudioPluginFilterTemplate.h"; sourceTree = "SOURCE_ROOT"; }; - 0400CB0E056A1D840304D2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_CommandLine.cpp"; path = "../../Source/Application/jucer_CommandLine.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0411DD6D48DBCEBAA51BEE49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; - 045B9C5D21C5C86FED140D81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 0473C3BCB7A43F710B8EE36C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; - 04960EE443D073F4CB7121FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; - 04C1267B2BD11A6ECCCA654C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentBooleanProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_ComponentBooleanProperty.h"; sourceTree = "SOURCE_ROOT"; }; - 04F31392CA58A2A434CFF7FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 04F670E070D31FB66C7DCAEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; - 05076CDF1511A5F8A8E18F1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_Make.h"; path = "../../Source/Project Saving/jucer_ProjectExport_Make.h"; sourceTree = "SOURCE_ROOT"; }; - 050D2D209E6423528D0138F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 051D4EAC1602802E97B24A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 05C936573E73B8AACBDF3191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; - 05D67B5A8D64947C067C0945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_GUIApp.h"; path = "../../Source/Wizards/jucer_ProjectWizard_GUIApp.h"; sourceTree = "SOURCE_ROOT"; }; - 05EEE241CC0DF57A7BE86C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; - 06411E446478986E7E65FE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; - 07EF1095F6D45A29AF2A6B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; - 0819B9CBFBA5F410C41C978A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 084C0070BC67BC893B967EF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ToggleButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ToggleButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; - 087CB3A961CD3C7434D660A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewProjectWizard.h"; path = "../../Source/Wizards/jucer_NewProjectWizard.h"; sourceTree = "SOURCE_ROOT"; }; - 08ADF7FC9BBE70F3C8186215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; - 08D19EE7C17DCED7E7BBEEE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 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"; }; - 0CEF14D37EC664CA49A2B04D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0D100A1B27A72355323CB637 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0D1C432D74433308E05942AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0D4D508C638BC74943B9976D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AutoUpdater.cpp"; path = "../../Source/Application/jucer_AutoUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0DB0A9E30EEDDEA720BC5A03 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_StaticLibrary.svg"; path = "../../Source/BinaryData/wizard_StaticLibrary.svg"; sourceTree = "SOURCE_ROOT"; }; - 0E80EFDB550393DB1C94F291 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; - 0F01067432AC314EAC213C1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_Blank.h"; path = "../../Source/Wizards/jucer_ProjectWizard_Blank.h"; sourceTree = "SOURCE_ROOT"; }; - 0F249640243FBD5717F6ADD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MiscUtilities.cpp"; path = "../../Source/Utility/jucer_MiscUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0F2505BCD0232EB95D5199F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; - 0F382FC6B16658EF02D2C4F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0FAA46FE4A661AC6F65896CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0FF1C6905150EAAB1AE081A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; - 1039ABBDCC86BDC9D2663017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; - 1116222363E600327FC672A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; - 1125D1B2AE54AEF2EB3D51C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerDocumentEditor.h"; path = "../../Source/ComponentEditor/ui/jucer_JucerDocumentEditor.h"; sourceTree = "SOURCE_ROOT"; }; - 117B5BB797DEC16E103A08F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 11C55B714FE5D7CAFC35A0C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; - 11DC04468BC6023671017EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewFileWizard.h"; path = "../../Source/Wizards/jucer_NewFileWizard.h"; sourceTree = "SOURCE_ROOT"; }; - 1241F3A1FCDF100CD75D5E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 139C8BAED6DCEE26652651B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 14F096198DE1002BF2CC56EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; - 157290445D39269EA81887A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 16017456A45F74C692A3AE45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1614411A8699B82D1F7B0346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 16203C6791259C9718A04C3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintRoutinePanel.cpp"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 16385D79A30C6E06EFB46B79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_AndroidStudio.h"; path = "../../Source/Project Saving/jucer_ProjectExport_AndroidStudio.h"; sourceTree = "SOURCE_ROOT"; }; - 168F5F32F673036DDAEF1D8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; - 1729AEDC34001C31B8CC357C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_FileHelpers.cpp"; path = "../../Source/Utility/jucer_FileHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1772B02BAF54F29AD99DF42E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; - 17C645785FB20AA2E91ED84B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; - 1814F5A906001DF674D1C6C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; - 188D03A4247F4BC0539F5C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Colours.h"; path = "../../Source/Utility/jucer_Colours.h"; sourceTree = "SOURCE_ROOT"; }; - 189357BBA18F12A3242706A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; - 18B0B21258B417DFDEB9D5F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; - 18D9EBA1DAE45EEF81FD5C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainConsoleAppTemplate.cpp"; path = "../../Source/BinaryData/jucer_MainConsoleAppTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 193908A02BA553DB5B30D759 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; - 197312FA79716425243A2941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; - 199722DD9BA0E30C0506941E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; - 19BA84DFC81467A0CD6DC44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; - 1A1B5A2E9F1DA2122D21F9DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; - 1A1C8AEC3C5AB2E972B0212E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; - 1A79A64F47F7B5083EEBB328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; - 1A8E24245E48C7C4DB0164E6 = {isa = PBXFileReference; lastKnownFileType = image.png; name = projectIconAndroid.png; path = ../../Source/BinaryData/projectIconAndroid.png; sourceTree = "SOURCE_ROOT"; }; - 1ACDDD42A7050309C8765F75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; - 1AF7EFBE4961C7B6C834BF54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PresetIDs.h"; path = "../../Source/Utility/jucer_PresetIDs.h"; sourceTree = "SOURCE_ROOT"; }; - 1B03B2952A4DDA6E6A1C35F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; - 1B1A4A48AF3898485E7B1618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; - 1B2B08359011B2BD7B07A677 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1B9552C3FEAFF2071C860987 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1BE0A20FB2284A4DDC3A359E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; - 1BF5C3F5DC2285FBEF72B697 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; - 1C216FE9B7A5209C5CCF2517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintElement.cpp"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElement.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1C666CA3AF0AB4CDCA1D983F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; - 1C76BBCD73ED21571035675F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; - 1C81C5501BE7F2C912250711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GlobalPreferences.h"; path = "../../Source/Application/jucer_GlobalPreferences.h"; sourceTree = "SOURCE_ROOT"; }; - 1D3D6A19A60F0B03DE2F1C14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementPath.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementPath.h"; sourceTree = "SOURCE_ROOT"; }; - 1D99EA99F946D665FE583414 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_Highlight.svg"; path = "../../Source/BinaryData/wizard_Highlight.svg"; sourceTree = "SOURCE_ROOT"; }; - 1EC7A8EEAD8ADF43BF014C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; - 1F28C0018228A0F749E5658E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1F36217CE7A5B1D63D41EA6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; - 1F421199C40092BFEE0658C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_RelativePath.h"; path = "../../Source/Utility/jucer_RelativePath.h"; sourceTree = "SOURCE_ROOT"; }; - 1F73C3482D9ABB95A454B1B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1F7F2864FE54D79A0C42BE93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; - 1F9BBDFA52513AD34D906D2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_HyperlinkButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_HyperlinkButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; - 1FA92F8F2B26C6CEC8B1D737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ButtonDocument.h"; path = "../../Source/ComponentEditor/documents/jucer_ButtonDocument.h"; sourceTree = "SOURCE_ROOT"; }; - 202591AAB1ABCFE458F33F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 203CF0F8F72A516BB1CC5422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; - 206D399250A42034706E5434 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; - 20FAAE9F3A7B96C2D8C75BB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_SlidingPanelComponent.cpp"; path = "../../Source/Utility/jucer_SlidingPanelComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 20FC504E8FB8D30E890A9837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 2107C02B684C7F5B75662333 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; - 210A4FDD4A56CF817E5E8567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 215EAB10AE8D19F23AD2BDBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; - 21B527BEBFFFC536BA0DEE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; - 21B6FE5EEB3E112385D62127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; - 21D1D6A04B25346CD5524B89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 2252F2B96709F3C7CE07B5E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; - 225414095942818432AAE07D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; - 227646334D4CBE863870234C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; - 2358EB55148891C87833008D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; - 236FFB34CCADD5FC95DFF04D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; - 23A8DE16C0CDB8EED18B008B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CommandIDs.h"; path = "../../Source/Application/jucer_CommandIDs.h"; sourceTree = "SOURCE_ROOT"; }; - 240889EAEAC85D85AB61011B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 240BCAD873E4360E54CA2A81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2411094E8B601FD897AD24F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; - 2416644BBABFD1F95EE12792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 263D9041F9B7D6A79DC38CD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentLayoutEditor.h"; path = "../../Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.h"; sourceTree = "SOURCE_ROOT"; }; - 263F153E8A277E02A3754BBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 265CA78BFB9DEF68B34C57D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; - 269A454F1FF081DA67FFD578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_JucerDocument.cpp"; path = "../../Source/ComponentEditor/jucer_JucerDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; - 271A1D94B96A8B7C949FD8ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; - 27A2B025813B7E54E0862642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementUndoableAction.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementUndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 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"; }; - 2DF5213993DF1380E29C848A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2E1F83CE00F5855083AFA246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2E540A9137E245EFADCFABB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2E680E2C65684A4272AE079A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_SourceCodeEditor.cpp"; path = "../../Source/Code Editor/jucer_SourceCodeEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2E96852D55A9C1DEAF76FF6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; - 2ED5D4ABB34DAA5D6E93A171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2EEB1C074162F363C6599282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CommandLine.h"; path = "../../Source/Application/jucer_CommandLine.h"; sourceTree = "SOURCE_ROOT"; }; - 2FADEBA1901F74204DE253BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; - 2FBA1138907F4DE651870008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 32070395DAFA5355D390A120 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; - 322A68B4BBEE9CC039B9E024 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; - 3276A099EB6880D55D2D52C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 32D9A904B4186B64A61FA8CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; - 336D0A9B4D15CF866BCE3DFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; - 3419904525A3F1FF0CC50687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3514E78B58A08F4C98F54C5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentLayoutPanel.h"; path = "../../Source/ComponentEditor/ui/jucer_ComponentLayoutPanel.h"; sourceTree = "SOURCE_ROOT"; }; - 352DA3794CAAE2400AE8F2E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; - 353E622BE257074B5589199D = {isa = PBXFileReference; lastKnownFileType = image.png; name = projectIconCodeblocks.png; path = ../../Source/BinaryData/projectIconCodeblocks.png; sourceTree = "SOURCE_ROOT"; }; - 358DA8CCDC8FA5B0D62D6CA3 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_Openfile.svg"; path = "../../Source/BinaryData/wizard_Openfile.svg"; sourceTree = "SOURCE_ROOT"; }; - 35AF9D5F0603CF6CE2D355A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; - 35BF11530EF0D771FD94ABDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; - 35CB48D497F35BF3F6998F5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExporter.h"; path = "../../Source/Project Saving/jucer_ProjectExporter.h"; sourceTree = "SOURCE_ROOT"; }; - 35E6EE1E98DD7050DDFECD9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ContentCompTemplate.h"; path = "../../Source/BinaryData/jucer_ContentCompTemplate.h"; sourceTree = "SOURCE_ROOT"; }; - 364D1A9B113320407A7E57B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; - 36981345C70DCC6B95DEC59C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; - 375AFDF06A908D89DEC5205F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectTree_Base.h"; path = "../../Source/Project/jucer_ProjectTree_Base.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 3AB1D4CECEADD4836ACEEAEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; - 3AB744A14A560E541723DC9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3B061AB9BFD8883A6AE8BCE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; - 3C48242E40D358BC6FF7FE53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; - 3C95FA2AA91EBA19ADDD5C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_Animated.h"; path = "../../Source/Wizards/jucer_ProjectWizard_Animated.h"; sourceTree = "SOURCE_ROOT"; }; - 3CABAAC1C4BC0D8105183D56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; - 3CD57938B4C273D0AA6E6B8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; - 3D2B51C71E3676F283B778EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; - 3DBB6D91397AE61D59C90510 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3E03B7C7A19E63A724EB79F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ButtonDocument.cpp"; path = "../../Source/ComponentEditor/documents/jucer_ButtonDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3E766BE62093D76FB89F900D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; - 3F00C034B140193B3754969B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ImageResourceProperty.h"; path = "../../Source/ComponentEditor/paintelements/jucer_ImageResourceProperty.h"; sourceTree = "SOURCE_ROOT"; }; - 3F1501FE4867042830B25DD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3F222D26A164E7AD78A33B3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; - 3F4EEDF4AA7C37DC6A1B14B5 = {isa = PBXFileReference; lastKnownFileType = image.png; name = projectIconXcode.png; path = ../../Source/BinaryData/projectIconXcode.png; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 40BFF5B7BB816333201855F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; - 41105E536155E394E54BDD35 = {isa = PBXFileReference; lastKnownFileType = file.xml; name = "colourscheme_dark.xml"; path = "../../Source/BinaryData/colourscheme_dark.xml"; sourceTree = "SOURCE_ROOT"; }; - 412B48D0F05D78A73064B36B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - 41CA95403E264AA7457A61F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementRoundedRectangle.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementRoundedRectangle.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 4437785A3DFF4AB2D6A78DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 444CA4B9CAD1F5ED5C45448B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; - 44BEFED79E5FE4F558458C14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4524F465153A8F6BDC236349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4543EACC9AEA1894A380624F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 45B8EAC396722D21E6658AE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4662B49B0FBEAD3239602EC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; - 467A5E1882A75E01876A8C4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; - 468BFFBE4DA7835DD40C5FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AnimatedComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_AnimatedComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 46C2D683A917A9D3729EEAC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; - 471C7B0A8B92320AF0C80839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_StaticLibrary.h"; path = "../../Source/Wizards/jucer_ProjectWizard_StaticLibrary.h"; sourceTree = "SOURCE_ROOT"; }; - 472F9A90F685220D730EBF6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; - 47B49049B85EED74D29C9906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectTree_File.h"; path = "../../Source/Project/jucer_ProjectTree_File.h"; sourceTree = "SOURCE_ROOT"; }; - 47DD50A5A9091F9900E0EAD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_JucerTreeViewBase.cpp"; path = "../../Source/Utility/jucer_JucerTreeViewBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - 47F4C6341177140302CE802A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; - 48A2FBB4CB48AC4FCA796F2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; - 4904357A3FFA61972A9E9D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; - 490FEE91E483534632094C67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 4AF755C65E352951D80FB93B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4B083E951ECB62217C46CB01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewProjectWizardClasses.cpp"; path = "../../Source/Wizards/jucer_NewProjectWizardClasses.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4B98FC7F079F93BCC4D65C86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 4E191CDCE7565DB726CF7065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentOverlayComponent.cpp"; path = "../../Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4E259F36C28F1ACDAB4CC73F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; - 4E3AE065222C8C87691DF2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; - 4E5FFE3BE8774948082411F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; - 4E60769DE992CA7FC1A4A486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintRoutineEditor.h"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutineEditor.h"; sourceTree = "SOURCE_ROOT"; }; - 4E8FE9B1B8C90FC28D56523B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementEllipse.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementEllipse.h"; sourceTree = "SOURCE_ROOT"; }; - 4F5843D423E67797070115B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4F6365A0D2D51337151D85C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectTree_Group.h"; path = "../../Source/Project/jucer_ProjectTree_Group.h"; sourceTree = "SOURCE_ROOT"; }; - 4F687965FBE86EAFDB3ACFEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = "SOURCE_ROOT"; }; - 4F88933C6D2AB8A83EB14E16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; - 5012097FCF4A8A50AAFA3437 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 50498FF6EA3901CBD58223B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ObjectTypes.h"; path = "../../Source/ComponentEditor/jucer_ObjectTypes.h"; sourceTree = "SOURCE_ROOT"; }; - 50672C2FACA36416A9A86310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; - 5091B14CC87C6238CF044258 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ElementSiblingComponent.h"; path = "../../Source/ComponentEditor/paintelements/jucer_ElementSiblingComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 50DBEAC56E34B9909BA9C7AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; - 50EF77E1AB95027E82157377 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; - 514848DA3E69A69AB0099570 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; - 515FF6E74826E3E3F7273621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Icons.h"; path = "../../Source/Utility/jucer_Icons.h"; sourceTree = "SOURCE_ROOT"; }; - 51A0763AC785F93591517559 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; - 51C6A6EB22F80FFF0A2800B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; - 51D0841BECA0E4405EDEC794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 51D4296A417B284BB2666FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; - 52508197A5E3C0040A5651CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5283D6B68A74B09EB6D68711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 52D8EA5A16D441BE77242E9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; - 53151B683E11F420203E61C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewCppFileTemplate.h"; path = "../../Source/BinaryData/jucer_NewCppFileTemplate.h"; sourceTree = "SOURCE_ROOT"; }; - 53704A9E32438DCEFF6A155B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5382FC7D5D61AE2AD603240B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 53CC682B805DD49B6E434A95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; - 53DB14312FF9B861739F6747 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; - 541BCBB19A86B7E793D397CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5432B7B9B2CF2EAEC8B66D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_UtilityFunctions.h"; path = "../../Source/ComponentEditor/jucer_UtilityFunctions.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 5D5E0592B7C61D523CC40C50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5D9E7814B713670624F0028F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentTypeHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ComponentTypeHandler.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 6165970F48D70C4EF06D35C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 619D4AFD1F66A75AE05DDAE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; - 61A072FFE3185BDDC42DA144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; - 61BE37E2B26C25056D9E8FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_NewComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 641B57E5FAE6BEFDB6462921 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ResourceEditorPanel.h"; path = "../../Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h"; sourceTree = "SOURCE_ROOT"; }; - 64CCE4A87FEE5C2B8E83BD29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; - 64CF8D7D0C97323C1B4F16F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 65C498761CE166072A202AA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentTypeHandler.cpp"; path = "../../Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp"; sourceTree = "SOURCE_ROOT"; }; - 65F4749184C84C2FDBB4C305 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioPluginFilterTemplate.cpp"; path = "../../Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 66069653FDEA4CB7C2B4B02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; - 662C76394C5D1B56766FAFD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentDocument.cpp"; path = "../../Source/ComponentEditor/documents/jucer_ComponentDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6658BF44509F89120F6C6F8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6670AE915E331809563CA152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; - 6678E9B3EEACAD47F438B264 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; - 66A67F1C25A59167AA729C9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; - 66B49F08C5EC3E4974825FF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintRoutine.h"; path = "../../Source/ComponentEditor/jucer_PaintRoutine.h"; sourceTree = "SOURCE_ROOT"; }; - 6736FDF36413E6445C526C86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; - 67DDFE829CDFDF93E712F9A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 68351D69C94230D1DCDB8345 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; - 684D88D936EDF46A76EC0538 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; - 68B2A7661E219540E9ADB945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 68C633ECE610641BB1D21C95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; - 68E1CA6424A84D91BEA46175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 6920079B91BB1A48F82C7B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; - 6944804CF7BBD230EDF98E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; - 6A04C2E34DB0C6515FFF160B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 6BAA8DF455FA84AE62E9DADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; - 6CB2CFC7615B804CE7514A24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6CD1E57C60BC2917A46BF4AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6CE8BC3B2D8B5EA0F4C793AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - 6D3FB966CF0EBF70802B3575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 6D596D17B6A79C2E6C4CFBD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; - 6DFAF945FC3A7D0689C5CEC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; - 6DFDC749FF36D8C27C997B3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6E6140969908E7619F858740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CommonHeaders.h"; path = "../../Source/Application/jucer_CommonHeaders.h"; sourceTree = "SOURCE_ROOT"; }; - 6E7353DFEA8825B515049ABB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_Android.h"; path = "../../Source/Project Saving/jucer_ProjectExport_Android.h"; sourceTree = "SOURCE_ROOT"; }; - 6E815592344CAA798C9848BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 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"; }; - 73CEF8ADF016E554F96FD3B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; - 7435199CD81F307322FE1065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7507846FD162469386479CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 75EB08697D38632CCBE734D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; - 76439EAACE53C774CE07BD9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7723BAE1917C8A0418F2D23B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; - 77B05CF7C9BB9778EC06C396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; - 784287AD783AB8DDF512956F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; - 786BAF436828865F45314440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElement.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElement.h"; sourceTree = "SOURCE_ROOT"; }; - 78B148C840109794FED89FAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; - 78B2E510278C074CC7BEFD75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; - 78CA0E0F336229E2E2F111B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SourceCodeEditor.h"; path = "../../Source/Code Editor/jucer_SourceCodeEditor.h"; sourceTree = "SOURCE_ROOT"; }; - 78D0DBC4798FF040FDB90F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_GeneratedCode.cpp"; path = "../../Source/ComponentEditor/jucer_GeneratedCode.cpp"; sourceTree = "SOURCE_ROOT"; }; - 79339A92305BFB7034095C67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 7D50F21E9F18C152C9C662D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; - 7DCAE585F301C5591F96AF99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; - 7E0C5AFB74461AC174941BDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; - 7E3ACAD10381DA0D81093329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; - 7E45364D59D84EF762F1A928 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; - 7ECD37A096E0B99622585950 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; - 7EF2BB6A11579386E7181553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7FC13BEF6B2A5E5E5E92D3FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 81A3ACDD205C8F9E424B51F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 81B74E2B42184AD339E89F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 820291543BF93243B718F0EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerTreeViewBase.h"; path = "../../Source/Utility/jucer_JucerTreeViewBase.h"; sourceTree = "SOURCE_ROOT"; }; - 820DD9C4FF0EDE10F79977FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; - 82395D0DB15E012EDA1AC1FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; - 82E0CDC77F8802A998A475D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - 83056E8F17A0365667EBEA82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; - 83EB0CAD2379BD53DBEB9D0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; - 8427B23B886EDC0E1839D7C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 84444B1D8FCE50BA88CDE7BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 845CE323405ACC3A7E84EEAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; - 848D1FD80E9CA20E4977B516 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; - 84AADFD13AF2A6F6F4681051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; - 84DE44680C9D37CDDCD127FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_GlobalPreferences.cpp"; path = "../../Source/Application/jucer_GlobalPreferences.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8575C117887D90BDF84397C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; - 859DCE43FF52E0BF3E9E9540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; - 863A117E6B25D1FF3AEE8F0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; - 864B6C25114F4416FFAA1838 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; - 865A30767AAA44DAE7683C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; - 867C3547D1301204924989F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; - 86DADC3D8463C21DF2751EA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 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"; }; - 8A9386451AEA0640E55E8869 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 8B698D4DCFED3BCB6F30D69F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; - 8BBD620A595D883BE34D60D6 = {isa = PBXFileReference; lastKnownFileType = image.png; name = projectIconLinuxMakefile.png; path = ../../Source/BinaryData/projectIconLinuxMakefile.png; sourceTree = "SOURCE_ROOT"; }; - 8BD8E9DA627D6EF9BA10FB9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewProjectWizardComponent.h"; path = "../../Source/Wizards/jucer_NewProjectWizardComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 8C0CDFB36933C81F98328B6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; - 8C52A3DDA62A746AA7A68535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Main.cpp"; path = "../../Source/Application/jucer_Main.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8D12E5100E73E3B7DAA10261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; - 8DDA82E1200B61D3B6C526E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; - 8DEFBFC3BEDCCF29BA577EE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; - 8E00CF4CE2305C5CE5B60E37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 8F30A53C7FE4BC65171FB3E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerDocument.h"; path = "../../Source/ComponentEditor/jucer_JucerDocument.h"; sourceTree = "SOURCE_ROOT"; }; - 8F8BF1A7130D858E0A239F9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ConfigTree_Base.h"; path = "../../Source/Project/jucer_ConfigTree_Base.h"; sourceTree = "SOURCE_ROOT"; }; - 8FF39B6B0D9DEB5BBE388A6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 920DA9E20EB14DD7D6139DD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; - 921752D9B004A15973DDF56F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_TestComponent.cpp"; path = "../../Source/ComponentEditor/ui/jucer_TestComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 925CC15E1449AED03A1CE4F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - 92F91DC29B64AD85B1F508BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GenericComponentHandler.h"; path = "../../Source/ComponentEditor/components/jucer_GenericComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; - 93260AA1B96F74E928B7B07C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 96440E5117350998ED0D84A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9683B04CA3BD7F73E8236FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ContentCompTemplate.cpp"; path = "../../Source/BinaryData/jucer_ContentCompTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 96972221C7D4CB0FCD5C3E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - 96C105A8CFFC54B429A5B822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 9702D4AFFE2729F3549EE517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9718703E5D696761B85D25B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; - 971FD8FEAE9A521A6983B8C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 974B862C51DA9A16CBBB3A29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_XCode.h"; path = "../../Source/Project Saving/jucer_ProjectExport_XCode.h"; sourceTree = "SOURCE_ROOT"; }; - 97C394E9AAB90435B7E5CA95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; - 97E75A598791645465FEDCE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_EditingPanelBase.h"; path = "../../Source/ComponentEditor/ui/jucer_EditingPanelBase.h"; sourceTree = "SOURCE_ROOT"; }; - 986707BA1F2C9F7343BD152F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; - 988186E582883A70582A40E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; - 98A79B670CADD4E020130BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; - 98DC0221D9015F760E4613FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; - 98F42686D9DAC974F2514217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_EditingPanelBase.cpp"; path = "../../Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - 990F2A6080B28137CCE2D7B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; - 99557681178F79E2A803C65C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9992E6950C64322A11E39ADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_DLL.h"; path = "../../Source/Wizards/jucer_ProjectWizard_DLL.h"; sourceTree = "SOURCE_ROOT"; }; - 999BC36BBD71BD4117EFDFC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 99A9C369D8595E72707E866C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; - 99DD90B64BC5CC5FF68FA0C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 9A6FD2E154DA99F96FEA1405 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; - 9A7E8AF6EFD287AF13B46104 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; - 9A9B6F9A13C9F01309CE0698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 9AEC1D0512CFF7E9173BEE4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9B3F6F800DC0AD8C92D70E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9B9CAD20E1243B4351B4C8D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_CodeHelpers.cpp"; path = "../../Source/Utility/jucer_CodeHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9BB612A0BA1E2174488B5D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; - 9BC8AE609A07657CEF587548 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_StoredSettings.h"; path = "../../Source/Utility/jucer_StoredSettings.h"; sourceTree = "SOURCE_ROOT"; }; - 9BD2CA4A6C8DA8FF236F3AF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9BDE235186FA9648EEECB373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9BFC2FD520814B736535DB8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - 9C04F9680F82BF279D528688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectSaver.h"; path = "../../Source/Project Saving/jucer_ProjectSaver.h"; sourceTree = "SOURCE_ROOT"; }; - 9C51394634F102DEBBE6C9EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementText.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementText.h"; sourceTree = "SOURCE_ROOT"; }; - 9C7FA58D223674C4C2AC6595 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_JucerDocumentEditor.cpp"; path = "../../Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9C803826E5E3FDB1B37660D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentDocument.h"; path = "../../Source/ComponentEditor/documents/jucer_ComponentDocument.h"; sourceTree = "SOURCE_ROOT"; }; - 9C9402994B7971876006AEBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; - 9D69073057BE050870B38749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9D7689451732AF8333402B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ObjectTypes.cpp"; path = "../../Source/ComponentEditor/jucer_ObjectTypes.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9DE1BC5241C70AF12B327932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; - 9E36C30D10A1EF9305E8D663 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; - 9EA541503DBADC5FFDEB0282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TreeItemTypes.h"; path = "../../Source/Project/jucer_TreeItemTypes.h"; sourceTree = "SOURCE_ROOT"; }; - 9EE339FCA2CFDAE060CB8FE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9EE5D1C3DFDD31D9D8237541 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9EF583A6201DBC813C2F63C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_BinaryResources.cpp"; path = "../../Source/ComponentEditor/jucer_BinaryResources.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9F26333042DFB93B7DFEC870 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9F41F3338BF00D0FC74C6390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TestComponent.h"; path = "../../Source/ComponentEditor/ui/jucer_TestComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 9F5483F3EEF0A1E0C71B95A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9F75811FE7B5F8D1321BEC69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ConfigTree_Modules.h"; path = "../../Source/Project/jucer_ConfigTree_Modules.h"; sourceTree = "SOURCE_ROOT"; }; - 9F7896DA332F9718CAB6B162 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; - A004A03A932CDECDED29F19C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; - A071CAC9920625A3707CF949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - A1D3838043B605010FB84975 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; - A1DD0D7A34E118E3117ACAB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - A4422A360A9FB7BCC315BEF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; - A44A774EFC020D3D046A9249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_Console.h"; path = "../../Source/Wizards/jucer_ProjectWizard_Console.h"; sourceTree = "SOURCE_ROOT"; }; - A4740A64F0FC3BD980BE5D9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - A485A4F0363775AE730EA0E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; - A4D275622A4B115AABE190A4 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_OpenGL.svg"; path = "../../Source/BinaryData/wizard_OpenGL.svg"; sourceTree = "SOURCE_ROOT"; }; - A513D5453FF52483D13BA026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; - A5864A527A761F92C237EB7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; - A598E4796ED23772A5D82FB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; - A5D2E5A77E6A67E35440BF3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - A60E4D1A58B70887556782F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - A63DA2EB2FA9E6F88F63A09A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; - A69024A225F2AC31F17B1314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewFileWizard.cpp"; path = "../../Source/Wizards/jucer_NewFileWizard.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 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"; }; - AA8EED79F095953D2B5923B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentColourProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_ComponentColourProperty.h"; sourceTree = "SOURCE_ROOT"; }; - AAA445B64E54BBA12D5E1358 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - AAB313919EE298E25D2EAD19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; - AACB287C990F7A7C51DE3C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; - AC49F1C1B969FA4F06C77B06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; - ACD82099C2B72FF43539FB4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; - AD0AB6FA2DE544D6C77E69AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - AD3C946C260F68C4AD2B491F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; - AD44FFB01387088222D0E98F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - ADA875897D39CF46E120D887 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; - AE1786BA679872921797AE25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; - AE1BC6DCCFC1A18E2ACE23F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainTemplate_NoWindow.cpp"; path = "../../Source/BinaryData/jucer_MainTemplate_NoWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - AE3E427DBCC8D50E3F356402 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - AFDCCE90EAB0DDCE50A5B89A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; - AFEBD8423B07599B1DE175A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ModulesPanel.h"; path = "../../Source/Project/jucer_ModulesPanel.h"; sourceTree = "SOURCE_ROOT"; }; - AFF72BA2B130F3F9AC029080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AudioPluginEditorTemplate.h"; path = "../../Source/BinaryData/jucer_AudioPluginEditorTemplate.h"; sourceTree = "SOURCE_ROOT"; }; - B00F60201606F195058BB575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ColourPropertyComponent.h"; path = "../../Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - B01CBF496E7C88105DF4B52A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; - B06C7C053DB0660CDA8B5C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintRoutinePanel.h"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutinePanel.h"; sourceTree = "SOURCE_ROOT"; }; - B15E33E7342F6EB4F95C9B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintRoutineEditor.cpp"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - B1963F0D8C0046E54FD9E023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ColouredElement.h"; path = "../../Source/ComponentEditor/paintelements/jucer_ColouredElement.h"; sourceTree = "SOURCE_ROOT"; }; - B1B44E3A7614189E65CB9FBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; - B1C57BEEEFD26639F1ADFC1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; - B20A5F49C7E6342B71770D18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; - B35200B1BC9B12580BAD4D3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; - B368804F75C1079C9DE731E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; - B40E8B05F3556B148477324B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; - B483D960309FAFC193F9CDA2 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "juce_icon.png"; path = "../../Source/BinaryData/juce_icon.png"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - B6D03F8491E288FD4BC31445 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; - B741170E45D74F30B7D5CDDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentNameProperty.h"; path = "../../Source/ComponentEditor/components/jucer_ComponentNameProperty.h"; sourceTree = "SOURCE_ROOT"; }; - B743DC50150100FFA2DE76AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; - B79595279502C1A11A4E8C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; - B7BE4498F5A592AAC43F0C93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; - B8385E9A644BD3CD94876448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectType.h"; path = "../../Source/Project/jucer_ProjectType.h"; sourceTree = "SOURCE_ROOT"; }; - B89AC6F01153CC6E222EE72E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; - B8B309972EBB7F07305ACCCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - B8BEDDA33D5B1613213434F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; - B92070A7D5952D560DAD32C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - B9F806910507E82E7BFB15E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; - BA1E340A922D0D7E543563CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; - BA5C7DE347A73A87F687703C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; - BA95268EEE80F9509EC1F76F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; - BAC43B20E14A340CCF14119C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Project.cpp"; path = "../../Source/Project/jucer_Project.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - BCCFDFB2C02C4AA436C0ECF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SliderHandler.h"; path = "../../Source/ComponentEditor/components/jucer_SliderHandler.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"; }; - BDE24BA8FEAE654645079B84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; - BDEBB0AC32DDA8C16FFE6011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; - BE97579323E97AF084D41476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - C187718F7B9EBA88584B43F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintRoutine.cpp"; path = "../../Source/ComponentEditor/jucer_PaintRoutine.cpp"; sourceTree = "SOURCE_ROOT"; }; - C1FDD2DDB01AC8C4DECB2C10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; - C22791DB75870C4F102AA8A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SlidingPanelComponent.h"; path = "../../Source/Utility/jucer_SlidingPanelComponent.h"; sourceTree = "SOURCE_ROOT"; }; - C22E03FEBEB6921978C5612A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; - C2990A8D054BC230E7C637C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewProjectWizardClasses.h"; path = "../../Source/Wizards/jucer_NewProjectWizardClasses.h"; sourceTree = "SOURCE_ROOT"; }; - C2D43E4F571D16F0E9B1E44E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; - C2ECD077AC4C784A67BC3DDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; - C3447B6A7C639350E98E43AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - C38DFB0C94BBC1CE46A3D4E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; - C4718AEAC94D07FEB9DA0312 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; - C48DCD3879352EB40F468B0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; - C4FA33B08560AD0D000EB498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; - C510495DF7602C36F216A50C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; - C5307BECDD6325DCE92F50FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; - C56C7577E65C0BFA449E71FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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; }; - 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"; }; - D141433D3FE81F20490DE928 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; - D1F9B0E9F5D54FE48BEB46EA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; - D253F74B7F5734984E568CA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; - D2F1CF252F7EC62B35A21CB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; - D2F80DA0946A5EE01FC016CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; - D374DC78AAC02504576AA9B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GroupComponentHandler.h"; path = "../../Source/ComponentEditor/components/jucer_GroupComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; - D376B9B54EC944E766AFEC45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; - D4444EC6342A2A7BC4F7BC46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentTextProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_ComponentTextProperty.h"; sourceTree = "SOURCE_ROOT"; }; - D4697A0232AECE5DAC5E332E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - D4E56676E2EF83404EDCBA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - D4F2D42C58F4D86E00E76F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; - D503780AB98993E8F0BA1311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.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"; }; - 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"; }; - 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"; }; - DC922C6A65D260C18E888E49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_ComponentTemplate.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"; }; - 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"; }; - D3E139185095C486DD3D61F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TranslationTool.h"; path = "../../Source/Utility/jucer_TranslationTool.h"; 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"; }; - D678882D133090214AF681BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.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"; }; - 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"; }; - DCBB17488227A2CA7D3D3947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_DependencyPathPropertyComponent.cpp"; path = "../../Source/Project/jucer_DependencyPathPropertyComponent.cpp"; 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"; }; - 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"; }; - 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"; }; - 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"; }; - 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"; }; - E3869AC657E984565F1718AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; 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"; }; - 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"; }; - 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"; }; - 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"; }; - E82C9EF1A74D867BBFF2090D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - EA73C136F52502AA11DB7E15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; - EB71BA07D6F667E69721E577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GradientPointComponent.h"; path = "../../Source/ComponentEditor/paintelements/jucer_GradientPointComponent.h"; sourceTree = "SOURCE_ROOT"; }; - EBAFF46BB735F0E6F444369C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; - EBF7B2DEDAEEB28C1873F580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; - EC0AF83CFFFCCDE438BCAF25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; - EC192FAABC6A0689436E28EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - EC4F3034A642D9E037570D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; - ED94D4B502DF310763C6CE23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; - EDAC762083E327A80CE9D260 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - EE2B934B45132C7D37FBA04D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; - EE30BC4699B589A84732F443 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; - EE690110171E1648FF2118B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Application.h"; path = "../../Source/Application/jucer_Application.h"; sourceTree = "SOURCE_ROOT"; }; - EE775C35756DC364728D4675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; - EE8504403714A7CE606B5F34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; - EE8577F6F43A0E948401A675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; - EF30A74B566A461A171BBF83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentLayoutEditor.cpp"; path = "../../Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - EFA8CF715611D845AB284500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerComponentHandler.h"; path = "../../Source/ComponentEditor/components/jucer_JucerComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; - F03E2BDD36E6F4F53AB767A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Headers.h"; path = "../../Source/jucer_Headers.h"; sourceTree = "SOURCE_ROOT"; }; - F07EA5078D6BB60B698F5E12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - F08EB921DB62255A4B6DE85A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; - F100CFF192886B7699632A62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; - F1164F66F799CEA74174328A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; - F18AE75F1831D13FF53A8CCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementRectangle.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementRectangle.h"; sourceTree = "SOURCE_ROOT"; }; - F1974B6EDBA502BC36671D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; - F1BEFCAF20EA392DE762B876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; - F2403808C453833EB6F5BA9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - F2499004037A1C1D8FEE1FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - F2759373EAAC820F17409939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; - F2C7DE572E29A3D62EFB40F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; - F406A0F41B2C7A512FDBC9E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; - F40F5C63CA1098C21B96C80F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - F4B63624DBF543082235F821 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_GUI.svg"; path = "../../Source/BinaryData/wizard_GUI.svg"; sourceTree = "SOURCE_ROOT"; }; - F4B6EB1967E9E1D9AAA683B0 = {isa = PBXFileReference; lastKnownFileType = image.png; name = projectIconVisualStudio.png; path = ../../Source/BinaryData/projectIconVisualStudio.png; sourceTree = "SOURCE_ROOT"; }; - F5885B5AAF46864D562D5B83 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_AudioPlugin.svg"; path = "../../Source/BinaryData/wizard_AudioPlugin.svg"; sourceTree = "SOURCE_ROOT"; }; - F59077841FC17DD07060A2A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TextEditorHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TextEditorHandler.h"; sourceTree = "SOURCE_ROOT"; }; - F5C02C740A62090A9E9BD25B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; - F6938A1377A2609D6AEDC120 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; - F6B1C18DDF8DFF1B3767F018 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - F6D3F208B6EE2A50CE1F0A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerCommandIDs.h"; path = "../../Source/ComponentEditor/ui/jucer_JucerCommandIDs.h"; sourceTree = "SOURCE_ROOT"; }; - F6FF660331F6CBF9FFC85E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; - F71AF6D2DF3E652F8B51EBAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectExporter.cpp"; path = "../../Source/Project Saving/jucer_ProjectExporter.cpp"; sourceTree = "SOURCE_ROOT"; }; - F797071D88542C813CF7222A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Module.cpp"; path = "../../Source/Project/jucer_Module.cpp"; sourceTree = "SOURCE_ROOT"; }; - F7CAB5BC15EE351949D3F2C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewInlineComponentTemplate.h"; path = "../../Source/BinaryData/jucer_NewInlineComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; - F7D7A41EFE97269721C61BF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; - F7E829D0B21B9C1B4790A245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - F7EAAE1A1BD13685BFF6176E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; - F8AC12B589FCB90E66D84729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; - F8D0F7C0A19B4ADB58454F16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - F92A6000284C0FDA0A4845CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - 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"; }; - FE283C418E7E545626881FF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; - FE90AF2B2BC1106C0D4056BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; - FF04AE9E4F2AAA29AC549461 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; - FF10E9B389909FB45E229D5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; - 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 = ( - 441CFEA771BAA50E187342E9, - 223C4209F18A221EB183A056, - 0D4D508C638BC74943B9976D, - EE690110171E1648FF2118B8, - 4D698BF12BCD6B0896BCDF17, - 23A8DE16C0CDB8EED18B008B, - 0400CB0E056A1D840304D2DE, - 2EEB1C074162F363C6599282, - 6E6140969908E7619F858740, - C7608A3967D9AB9481848F2B, - E65A820D34BF39478B7C5925, - D526C38D581425949BA0E4AC, - 84DE44680C9D37CDDCD127FF, - 1C81C5501BE7F2C912250711, - F03E2BDD36E6F4F53AB767A8, - 8C52A3DDA62A746AA7A68535, - 9069981E414A631B036CC9AC, - 2CD34A70B4032C0426F7AA10, - 2247EE920DF0610CAF9F4513, - 563091B0916AD9AAA36C7DC5, ); name = Application; sourceTree = ""; }; - FC22321797D433148500EDDA = {isa = PBXGroup; children = ( - 2E680E2C65684A4272AE079A, - 78CA0E0F336229E2E2F111B0, ); name = "Code Editor"; sourceTree = ""; }; - DA3DF56D3295CCD84DA4E882 = {isa = PBXGroup; children = ( - 0FF1C6905150EAAB1AE081A7, - 008C8B2C2328CFBB9375397D, - B741170E45D74F30B7D5CDDF, - 65C498761CE166072A202AA0, - 5D9E7814B713670624F0028F, - E0F9CA57E44F7F7E7E217E47, - 92F91DC29B64AD85B1F508BD, - D374DC78AAC02504576AA9B3, - 1F9BBDFA52513AD34D906D2A, - 4C2093BCD3528ACEDC7A2B33, - EFA8CF715611D845AB284500, - FF94FF5C4BEC605E56149EFC, - BCCFDFB2C02C4AA436C0ECF8, - 400E4C67ABCDDB1D49EBB85E, - E4BB22E27C5AA4B666F265BD, - F59077841FC17DD07060A2A9, - 084C0070BC67BC893B967EF1, - DAF84A553D264705FA6EB6FF, - A0951828C3BF47FA7E1E52F8, ); name = components; sourceTree = ""; }; - 2BA1ACF18E7E078C7171B162 = {isa = PBXGroup; children = ( - 3E03B7C7A19E63A724EB79F4, - 1FA92F8F2B26C6CEC8B1D737, - 662C76394C5D1B56766FAFD9, - 9C803826E5E3FDB1B37660D5, ); name = documents; sourceTree = ""; }; - B3DB7CF28491BD6FFAAC716A = {isa = PBXGroup; children = ( - 93B419190CCE92ACAB1ED25B, - B1963F0D8C0046E54FD9E023, - 5091B14CC87C6238CF044258, - FA04E39EE7E83D445AF9E406, - EB71BA07D6F667E69721E577, - 3F00C034B140193B3754969B, - 1C216FE9B7A5209C5CCF2517, - 786BAF436828865F45314440, - 4E8FE9B1B8C90FC28D56523B, - C094F3B6A65A79A6DF87C9C2, - FF11D6B512FDC5D887E06F66, - 0169ACAA0FAE70CCEEE4F650, - 1D3D6A19A60F0B03DE2F1C14, - F18AE75F1831D13FF53A8CCC, - 41CA95403E264AA7457A61F4, - 9C51394634F102DEBBE6C9EB, - 27A2B025813B7E54E0862642, - 7A3E96D22F1C9EB4C739834F, - D0D8B580D0689FFF4B9B823B, ); name = paintelements; sourceTree = ""; }; - AECCE15B651C9EBBD07B925F = {isa = PBXGroup; children = ( - B00F60201606F195058BB575, - 04C1267B2BD11A6ECCCA654C, - 6A337C69A928E3CE79C55457, - AA8EED79F095953D2B5923B8, - D4444EC6342A2A7BC4F7BC46, - 295A9B126C98FE15F5A8B81E, - 8138A55052E9FC27284B74DD, - D87FC8F6834E9DC9C8E88B94, - 576D62C0C9C1BA4B7A514721, ); name = properties; sourceTree = ""; }; - 4FDE8BC3A59AA207C6CE77F8 = {isa = PBXGroup; children = ( - EF30A74B566A461A171BBF83, - 263D9041F9B7D6A79DC38CD6, - 3514E78B58A08F4C98F54C5A, - 4E191CDCE7565DB726CF7065, - FBBDD70D47163D341B2F0A8D, - 98F42686D9DAC974F2514217, - 97E75A598791645465FEDCE1, - F6D3F208B6EE2A50CE1F0A18, - 9C7FA58D223674C4C2AC6595, - 1125D1B2AE54AEF2EB3D51C0, - B15E33E7342F6EB4F95C9B1D, - 4E60769DE992CA7FC1A4A486, - 16203C6791259C9718A04C3A, - B06C7C053DB0660CDA8B5C2C, - D92A6E9404A30EED32DCE4ED, - DF725A596B7BCD7520CC0A9F, - 641B57E5FAE6BEFDB6462921, - 3A5B5DC92BE6D22CA15B9671, - 921752D9B004A15973DDF56F, - 9F41F3338BF00D0FC74C6390, ); name = ui; sourceTree = ""; }; - 825956EA572E23B506C8236F = {isa = PBXGroup; children = ( - DA3DF56D3295CCD84DA4E882, - 2BA1ACF18E7E078C7171B162, - B3DB7CF28491BD6FFAAC716A, - AECCE15B651C9EBBD07B925F, - 4FDE8BC3A59AA207C6CE77F8, - 9EF583A6201DBC813C2F63C4, - 6AC88EFC247C225CC5C11A43, - 133F1E428260C5ADDF496DF9, - 3F9D4C7F6E5779D4E4AE655D, - 78D0DBC4798FF040FDB90F6D, - DA345D5B9DABD049F90DC96F, - 269A454F1FF081DA67FFD578, - 8F30A53C7FE4BC65171FB3E2, - 9D7689451732AF8333402B3A, - 50498FF6EA3901CBD58223B3, - C187718F7B9EBA88584B43F3, - 66B49F08C5EC3E4974825FF8, - 5432B7B9B2CF2EAEC8B66D5C, ); name = ComponentEditor; sourceTree = ""; }; - E345840128627D533DF908AC = {isa = PBXGroup; children = ( - 6E7353DFEA8825B515049ABB, - 16385D79A30C6E06EFB46B79, - DBE0CDE1B017190ABBFF557C, - 05076CDF1511A5F8A8E18F1D, - C8A229ACD244F402C57286CD, - 974B862C51DA9A16CBBB3A29, - F71AF6D2DF3E652F8B51EBAB, - 35CB48D497F35BF3F6998F5D, - 9C04F9680F82BF279D528688, - D10D51A0A2D63F38B4D86A60, - C9616830BB2474066AC8C910, ); name = "Project Saving"; sourceTree = ""; }; - 891F84627A03FA733F37A199 = {isa = PBXGroup; children = ( - 93D03B2BC76998A3BDA747E8, - 8F8BF1A7130D858E0A239F9E, - 7B4E33B1E04139F359FB484B, - 9F75811FE7B5F8D1321BEC69, - DCBB17488227A2CA7D3D3947, - 0C2AD2FC0C196F440C3FF994, - C7B47372A9D5970E3D9A5400, - F797071D88542C813CF7222A, - 7211101FFA28400ADBB1D47A, - AFEBD8423B07599B1DE175A3, - BAC43B20E14A340CCF14119C, - BF3CEF080FA013E2778DCE90, - 86E468DE6556BB2AD76A3D80, - E60E28D1B7491047DEA236AE, - 375AFDF06A908D89DEC5205F, - 47B49049B85EED74D29C9906, - 4F6365A0D2D51337151D85C3, - E70CA21960A64CCB835725FF, - B8385E9A644BD3CD94876448, - 9EA541503DBADC5FFDEB0282, ); name = Project; sourceTree = ""; }; - D93DED1F5F1B0E49E10A6760 = {isa = PBXGroup; children = ( - 9B9CAD20E1243B4351B4C8D8, - 914ADDB50ED7365F08BA91F9, - 188D03A4247F4BC0539F5C49, - 1729AEDC34001C31B8CC357C, - 553725A0E3A391651ED1731E, - CF21D9DB3AEC0A4DCAB36A99, - 515FF6E74826E3E3F7273621, - 47DD50A5A9091F9900E0EAD9, - 820291543BF93243B718F0EE, - 0F249640243FBD5717F6ADD9, - 4A41FD3066D0979DB48691E5, - 1AF7EFBE4961C7B6C834BF54, - 1F421199C40092BFEE0658C2, - 20FAAE9F3A7B96C2D8C75BB2, - C22791DB75870C4F102AA8A3, - 631983AA62673015F8D7453B, - 9BC8AE609A07657CEF587548, - D3E139185095C486DD3D61F2, - 8090981F07A76E465DAAADF4, ); name = Utility; sourceTree = ""; }; - EA13CB5FD121EE215A7A51BE = {isa = PBXGroup; children = ( - A69024A225F2AC31F17B1314, - 11DC04468BC6023671017EBF, - 087CB3A961CD3C7434D660A4, - 4B083E951ECB62217C46CB01, - C2990A8D054BC230E7C637C3, - 8BD8E9DA627D6EF9BA10FB9E, - 3C95FA2AA91EBA19ADDD5C29, - 8A825FDDC00DD253F44D2C3A, - 4A4EBDAD8D098F72CE053235, - 0F01067432AC314EAC213C1C, - A44A774EFC020D3D046A9249, - 9992E6950C64322A11E39ADF, - 05D67B5A8D64947C067C0945, - A085174413736ACC8D7D42A2, - 471C7B0A8B92320AF0C80839, - 714267352CE5C4357ADBC231, - C09BBB58CA45B66D693E8C31, ); name = Wizards; sourceTree = ""; }; - 955A73C474B8CD4FB0D9A96F = {isa = PBXGroup; children = ( - 468BFFBE4DA7835DD40C5FE8, - E3B56C5718D87CA0EFCB2662, - 0075C5208947159AF2802F3B, - AFF72BA2B130F3F9AC029080, - 65F4749184C84C2FDBB4C305, - 03D3053EDE47FED1919C6674, - DC922C6A65D260C18E888E49, - 963E0740B7B4D59EF2D16740, - 9683B04CA3BD7F73E8236FE2, - 35E6EE1E98DD7050DDFECD9B, - 24C34D0578AE6C7A3EA18781, - 18D9EBA1DAE45EEF81FD5C8F, - AE1BC6DCCFC1A18E2ACE23F1, - E4BD4C43370651B49F75855B, - 86E8A40E5A83781A8478454D, - 61BE37E2B26C25056D9E8FE2, - E2374E15D65425C4101237E2, - CF8011B3C67B609032974DA5, - 53151B683E11F420203E61C2, - F7CAB5BC15EE351949D3F2C3, - 73B9F17FE55A02C2BB87E008, ); name = templates; sourceTree = ""; }; - 88DFD62CB6545EE8CA5C485B = {isa = PBXGroup; children = ( - 955A73C474B8CD4FB0D9A96F, - 5F4F4EAB042F2730F94A1CEA, - BB9C1E6E54A16F795908C469, - 301592EBAC0FFF6F5B268E99, - 41105E536155E394E54BDD35, - 5F6584B675E30761521A9F42, - B483D960309FAFC193F9CDA2, - 1A8E24245E48C7C4DB0164E6, - 353E622BE257074B5589199D, - 8BBD620A595D883BE34D60D6, - F4B6EB1967E9E1D9AAA683B0, - 3F4EEDF4AA7C37DC6A1B14B5, - E63F54CF8D5D922A319C6962, - 58139D8D454051C59E77609B, - 7B6E461262D8822132135F56, - E1D8CCD9F4ACBE1EC1D5BEA0, - F5885B5AAF46864D562D5B83, - FB61FEC24C6C031EB0455B0A, - 7256D1C79741E66E2C002EE2, - F4B63624DBF543082235F821, - 1D99EA99F946D665FE583414, - 358DA8CCDC8FA5B0D62D6CA3, - 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, ); 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 = ( - C90C66C5727759D5CBD5FB07, - 66A67F1C25A59167AA729C9C, - DD00494140C86144306A9356, - 6DFAF945FC3A7D0689C5CEC8, - EE775C35756DC364728D4675, - 55F7CE15FA02A9F599A83A58, - 7E3ACAD10381DA0D81093329, - 24CA69C0CC466CD524021099, - 4F88933C6D2AB8A83EB14E16, - 19BA84DFC81467A0CD6DC44D, - 90BD70D106A80947463BCB1A, - B4AA53EF291A383B3C50048A, - EE2B934B45132C7D37FBA04D, - CDDF5BDC75277F7B83A38885, - 2411094E8B601FD897AD24F9, - 37A0A38C2B5825B9A302879C, - 8C0CDFB36933C81F98328B6D, - C85B4D62B96F4A44890F20E2, - 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 = ( - C5D5D2FFB030BD43160167EB, - B35200B1BC9B12580BAD4D3D, - E2DBA3307837B64AFCCD8F8D, - AF34CB5CB61484442764640E, - 9702D4AFFE2729F3549EE517, - 3E766BE62093D76FB89F900D, - 08D19EE7C17DCED7E7BBEEE7, - C6861DB44A31CE7A3DEFA083, - A5D2E5A77E6A67E35440BF3B, - E570E57CC1FCEF78B54A7084, - 2C7A9B2EDC724657EBF9FA83, - C4FA33B08560AD0D000EB498, - 83056E8F17A0365667EBEA82, - AAB313919EE298E25D2EAD19, - 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 = ( - 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 = ( - 3A55FEFC24C387D3B29444D5, - 4D7F53313945ED27A7D16B80, - 3AB744A14A560E541723DC9A, - 6BAA8DF455FA84AE62E9DADC, - AF9D42A4C5359EE904DCAF8E, ); name = misc; sourceTree = ""; }; - 43F993699B5DE3F1B3D3C905 = {isa = PBXGroup; children = ( - 986707BA1F2C9F7343BD152F, - 81A3ACDD205C8F9E424B51F6, - C4718AEAC94D07FEB9DA0312, - AF71B1EBA9D281491F30F42B, - F07EA5078D6BB60B698F5E12, - 68351D69C94230D1DCDB8345, - A243C85FC2C37FD73F115E67, - C3447B6A7C639350E98E43AF, - A4422A360A9FB7BCC315BEF4, - D253F74B7F5734984E568CA7, - D926E13AB5AD647A7A00F486, - 240BCAD873E4360E54CA2A81, - 18B0B21258B417DFDEB9D5F0, - EE30BC4699B589A84732F443, - 05EEE241CC0DF57A7BE86C29, - F100CFF192886B7699632A62, - B743DC50150100FFA2DE76AD, - 09697D1C3F7B90DD33A8090E, - 83EB0CAD2379BD53DBEB9D0F, - AAA445B64E54BBA12D5E1358, - 6367309B2092121B86FE3AA0, - FF1F954094B14C1900C9495D, - 2358EB55148891C87833008D, - 1353717582E55D6E4D074BA5, - A1B4DCE00B10BF7C59F0E603, - 2107C02B684C7F5B75662333, - 2E1F83CE00F5855083AFA246, - 514848DA3E69A69AB0099570, ); name = native; sourceTree = ""; }; - 8BA5B0B5CBCE8D29F02D341A = {isa = PBXGroup; children = ( - ED7BB3F297250D7B43B2A536, - F824830BD560E7906A8CD82B, - 01C121A5814A16A7CB907FB9, - 101599FA5E724FC0C78144B3, - 815C2090B70E6EECD913C0CA, - D385600698057B290BC2AEF7, - 0B795464B0BFEE19C4F89F0F, - 20F9DB293E2CC9F98F43758C, - 06D5C2B5F1F4E37AF1C7A425, - CBF105D9162BB597EBC1B981, - ABD92B739720D08778AF88F8, - F6C04F077B187FD605483DEB, - E659B9C71FCEAA788CFEF8F0, - 59884479C6FFC940D3992EE6, - 248A3D6E995D23F2AFDBF78B, - A09D1A158BCD0A396549C1F3, - 43F993699B5DE3F1B3D3C905, - 2B074BFC193A25602E73D0CC, - 6670AE915E331809563CA152, ); name = "juce_core"; sourceTree = ""; }; - E45B4DA7B49FC8D397F1EA56 = {isa = PBXGroup; children = ( - 5708CF7899EA21D0B72CDC2A, - C5307BECDD6325DCE92F50FC, - 5C82ACC4EE09A1DE1CCEC9A0, - 84AADFD13AF2A6F6F4681051, - E82C9EF1A74D867BBFF2090D, - 1814F5A906001DF674D1C6C1, ); name = encryption; sourceTree = ""; }; - 1EB4CE7119697D9CCE604271 = {isa = PBXGroup; children = ( - EA73C136F52502AA11DB7E15, - 1A1C8AEC3C5AB2E972B0212E, - 848D1FD80E9CA20E4977B516, - DD985A60FB76E976AF91852D, - 6231187E6EE9328EC9EE5D77, - 197312FA79716425243A2941, ); name = hashing; sourceTree = ""; }; - E58F94F6CDB786C1ED488C9C = {isa = PBXGroup; children = ( - E45B4DA7B49FC8D397F1EA56, - 1EB4CE7119697D9CCE604271, - 2210EB5F41023B53ADD0DFBD, - 8803733D62CD6DE90727BCA0, ); name = "juce_cryptography"; sourceTree = ""; }; - 2A8293EA2395BFFCA229F799 = {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, - 8E7A1020B8096653D203C38A, - BD9E9E80DDC81539B00DCAB6, - E7E122AE104E79BB641B07B3, - 352DA3794CAAE2400AE8F2E0, ); name = "juce_data_structures"; sourceTree = ""; }; - 2287744248275B6237708450 = {isa = PBXGroup; children = ( - 139C8BAED6DCEE26652651B8, - 38CE1587800D612BA0C394A5, - DF7BB5B6B394EDEEF5F5B4B8, - FAC03FFD051FA5B34EE9BA15, - B7BE4498F5A592AAC43F0C93, - 36981345C70DCC6B95DEC59C, - CB36CD7F57D0F4231DC98686, - 0F382FC6B16658EF02D2C4F0, - 8FF39B6B0D9DEB5BBE388A6F, - C56C7577E65C0BFA449E71FE, - 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 = ( - 54569C1C994F3A0255785EAA, - D95D7B49EC6C6BDCB5A1B988, - D0F1614CC861E8E0B59B7A06, - 600102C053153EE4E1E72C85, - 32070395DAFA5355D390A120, - A5864A527A761F92C237EB7C, - 157290445D39269EA81887A3, - 236FFB34CCADD5FC95DFF04D, ); name = native; sourceTree = ""; }; - DE7F542DC0967F8EDCC4DCD0 = {isa = PBXGroup; children = ( - 2287744248275B6237708450, - 83DEE68BC6A9B685C3E75FEA, - DCBE58B4AFE058653EBBBAAE, - 084F5B9CA3F5822A7D9156AF, - 334607E7051C2D75E0AC85F6, - 63092DCDC875D681A5677105, - 8D12E5100E73E3B7DAA10261, ); name = "juce_events"; sourceTree = ""; }; - C3FB0CB81D460B4263689CAF = {isa = PBXGroup; children = ( - AFAF4EF669407663DCB0F452, - 0C956209A61542371A7A5257, - CBE0B96838EE76C9CB8E1230, - 4D6F99ED00A4D8683AF313B2, - 684D88D936EDF46A76EC0538, - 920DA9E20EB14DD7D6139DD5, - 00EFEF8A403F4EC9E4D5B7D5, - F7D7A41EFE97269721C61BF4, - C71A9AF1EC7C5BE8DE2EADBB, ); name = colour; sourceTree = ""; }; - F417C2CB1A694D2C1A892F63 = {isa = PBXGroup; children = ( - 6CB2CFC7615B804CE7514A24, - 925CC15E1449AED03A1CE4F8, - C061E0D3680889C69B1F0E95, - 04F31392CA58A2A434CFF7FA, - 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 = ""; }; - EEE23FCA48A7F9A0152A68EE = {isa = PBXGroup; children = ( - 953ECF85818382C60F49544B, - 56B52F0F6AEDCEC78C38B5F1, - AC49F1C1B969FA4F06C77B06, - B65C16AB5714B1FBD65AD824, - E1C16C872E34BCB144B469F9, - 21B6FE5EEB3E112385D62127, - 78B2E510278C074CC7BEFD75, - 3CD57938B4C273D0AA6E6B8B, - 0FAA46FE4A661AC6F65896CE, - 8A5D40E78966BA8B0F8B542A, - 79F7CC3E9B848AAA3A5C682B, - 82395D0DB15E012EDA1AC1FE, - 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 = ( - 70CF9F1991538524A7C4CE39, - 784287AD783AB8DDF512956F, - EC192FAABC6A0689436E28EF, - 44BEFED79E5FE4F558458C14, - 9BFC2FD520814B736535DB8F, - 1F36217CE7A5B1D63D41EA6C, - 045B9C5D21C5C86FED140D81, - 0B96A219A0CFF707E5A13B68, - 2AADCE9D8BADF4DAC05CCA1E, - 21FAFA7F2C5D0E8D99876EA8, - D5057D7B18ABD5E810A6F830, - 2ED5D4ABB34DAA5D6E93A171, - 5843A5060852C6ACC4770EC7, ); name = native; sourceTree = ""; }; - E9819C83D0B797FC71811B1B = {isa = PBXGroup; children = ( - C3FB0CB81D460B4263689CAF, - F417C2CB1A694D2C1A892F63, - DECB572AE46DB4A77186D494, - F3174EF36ADC4DC23BB304F2, - EEE23FCA48A7F9A0152A68EE, - 14995D34FE0826A52FA5262D, - 59C2687AA614A77DA150AFAB, - 8EB51FAF42AAEC7AC357396B, - 6CA37BA48005B8EF0478B69E, - 30AD756E053A0663BF664823, - 8DDA82E1200B61D3B6C526E8, ); name = "juce_graphics"; sourceTree = ""; }; - 2CEAE8B236FEF5E06317EF3B = {isa = PBXGroup; children = ( - 3CABAAC1C4BC0D8105183D56, - 4C150A1BF98D747EC218A602, - FDD33A6837774904810208D5, - 0BEDB3FD70AB61D3E7891D74, - 08ADF7FC9BBE70F3C8186215, - A8912DFCDA76B8897A5053CF, - 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 = ( - 148FC834CE2CAE18477AB708, - D780ED33573AED5AD383A036, - 88EA32274CBB5C3A4ECB9ECA, - E7E1C4F416CFA44BE7DD1A74, - DD2494D5F1C081898D616AF5, - 4E3AE065222C8C87691DF2DE, - 7CBB297E627A7DC7EA12A8B6, - 77B05CF7C9BB9778EC06C396, - F1974B6EDBA502BC36671D7C, - 915ACCF56213FACAB42B427D, - 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 = ( - 64CCE4A87FEE5C2B8E83BD29, - 467A5E1882A75E01876A8C4A, - 4924392751ACE0C9F2076599, - 490FEE91E483534632094C67, - 9EE5D1C3DFDD31D9D8237541, - C61E82D93918A611FAFD9E9F, - 98A79B670CADD4E020130BAF, - 7D50F21E9F18C152C9C662D5, - 271A1D94B96A8B7C949FD8ED, - AE3E427DBCC8D50E3F356402, - 3DBB6D91397AE61D59C90510, - A9FA71357C5B2A46A75D9230, - 6EE91491434D058606460AFB, - A8DB614600D348C730AC3930, - EA0D43AB5F47506D5CDA81BB, - FE283C418E7E545626881FF0, - 8427B23B886EDC0E1839D7C1, - 240889EAEAC85D85AB61011B, - 442031AD0C8A280B68CE9EF0, - 9A9B6F9A13C9F01309CE0698, - F2499004037A1C1D8FEE1FD6, - 2CD0B485ED8C5E8402671D36, - F8D0F7C0A19B4ADB58454F16, - 0BDFA0E402BA7E6B366E953C, - 4524F465153A8F6BDC236349, - 2E96852D55A9C1DEAF76FF6D, - 4437785A3DFF4AB2D6A78DB3, - 61593EB1738286004B592FD5, - 42B5C970B8DCD08A864F2208, - 5BC5622E615CA3B13C6F9046, - A4740A64F0FC3BD980BE5D9C, - 943FD0D3066412B00830FD86, - 5B8DF06BA7B7CB88C4922682, - 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 = ( - 9BDE235186FA9648EEECB373, - AE84254C46407F84EB70A370, - E7F098BA306EC789242AB9A8, - 864B6C25114F4416FFAA1838, - E4F9D1E097CC2C1D1291823C, - 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 = ( - 5B462BC3C5F8B6D72688ABF3, - 999BC36BBD71BD4117EFDFC4, - 14F096198DE1002BF2CC56EF, - 422524EBD7DA6530970A7872, ); name = misc; sourceTree = ""; }; - DD0FDFC530E403BD51C86315 = {isa = PBXGroup; children = ( - 6A04C2E34DB0C6515FFF160B, - 2252F2B96709F3C7CE07B5E7, ); name = application; sourceTree = ""; }; - 8EAF68A83656BC02B4B7C9C9 = {isa = PBXGroup; children = ( - E99F5A31373E9BDEAC40792F, - A9F6985D38A1C25F0C75215B, - B1C57BEEEFD26639F1ADFC1C, - E9B8C3CA480AE94BEA852EA9, - 2A060BB0D79BEC3CF644F553, - 4B98FC7F079F93BCC4D65C86, - DCCB75165B7C73A589498E87, - 0C747328CDADAE15E86E5E93, - 3058CCA7DE9BB9B37FE73297, - 1EC7A8EEAD8ADF43BF014C2C, - 7D264E60AC701D3736527D8C, - A37D773DEFB69C248D703F40, - 95CAB4F09E05FDBAED45812E, - 1241F3A1FCDF100CD75D5E78, - 84444B1D8FCE50BA88CDE7BF, - 0D100A1B27A72355323CB637, ); name = native; sourceTree = ""; }; - 2A27F41171A44038C2A1CB56 = {isa = PBXGroup; children = ( - 2CEAE8B236FEF5E06317EF3B, - CD1AFCF4DFA46BA5BACBB1CB, - A186EF5D092D513F30A4FE23, - 617C7A87C00C7357D6B4CA43, - FDA3E07A3631D25DFEA73850, - 1183520311BFD05477F94ECA, - 3644BF38DFC789105B7D80FB, - 58CA858FC033FD1F47ADA039, - A3BF94AE00810C812E121816, - 69E5820210E99179A52F1A77, - B2243BBE276C148522C5987E, - C2A68B1BEC638D0513BF25C1, - 00C2E5EAA46FC2E94B735C42, - 952AFE51A503A04FFF4B0EF7, - 76F28FCB72DD5943D08F3342, - DD0FDFC530E403BD51C86315, - 8EAF68A83656BC02B4B7C9C9, - E4E74B2BC3F3CB5A4F4DC55E, - 2B8548461E318DCB3354DB43, ); name = "juce_gui_basics"; sourceTree = ""; }; - 9DEFBE65118D0527555955A2 = {isa = PBXGroup; children = ( - BC17B02633EF1E31024051C2, - 430239E0574C157689D83206, - AD0AB6FA2DE544D6C77E69AC, - CC3F5263B16932FF4E74B9D8, - 318F4AB64A5D4068CC1C4F29, - 09349C0C8300CA414AAE93A0, - 6F8A53EDF09094C83DE4D111, - 4076F14FE0016A4DA9087771, - 67DDFE829CDFDF93E712F9A3, - F2403808C453833EB6F5BA9F, - 1F73C3482D9ABB95A454B1B7, - 6CE8BC3B2D8B5EA0F4C793AF, ); name = "code_editor"; sourceTree = ""; }; - 1D09D8A2B803860D8927C366 = {isa = PBXGroup; children = ( - 3419904525A3F1FF0CC50687, - BA95268EEE80F9509EC1F76F, ); name = documents; sourceTree = ""; }; - A1B124604F7F471E01D8AA6E = {isa = PBXGroup; children = ( - A1C82396A9A0F9A296AA7E6B, - 99DD90B64BC5CC5FF68FA0C5, - 86DADC3D8463C21DF2751EA6, ); name = embedding; sourceTree = ""; }; - 4B54A6F89F9AC7EF540646B4 = {isa = PBXGroup; children = ( - 96440E5117350998ED0D84A5, - 5012097FCF4A8A50AAFA3437, - 53DB14312FF9B861739F6747, - 51D0841BECA0E4405EDEC794, - 5CB6ACA0F14EDE47A4F7BCC2, - 1B9552C3FEAFF2071C860987, - B6D03F8491E288FD4BC31445, - AD44FFB01387088222D0E98F, - 971FD8FEAE9A521A6983B8C9, - 68B2A7661E219540E9ADB945, - 40BFF5B7BB816333201855F5, - 25E306BB0D875CB0934C405C, - 322A68B4BBEE9CC039B9E024, - 6B8796ED91A82AB5A8EB922F, - DE40B42B57F29C650CB7F2AD, - 56E8C48ADDEBD48A49C885CB, - CA62F9F7C5F0D77D8E33D91F, - F9D77BAA08889D69E0C43F25, - E54D0994D31E20A0A05EBA2B, - 63B74F9D9F43393F6427501C, ); name = misc; sourceTree = ""; }; - B09CB33C943D2DE7005C9E75 = {isa = PBXGroup; children = ( - 53704A9E32438DCEFF6A155B, - 58858190E0EE0AA6955EA236, - 2E540A9137E245EFADCFABB3, - D9342535EA61901A1AD816C6, - D800DE818BEDBF4579D15B1D, - 441A0EA83E44264CB977F21B, - A3DB226F40C387078864E68A, - ADA875897D39CF46E120D887, - ED94D4B502DF310763C6CE23, - 81B74E2B42184AD339E89F0B, - 7435199CD81F307322FE1065, - E7B6A0CBA0D27A095E83F5B7, ); name = native; sourceTree = ""; }; - DFC8A876133A671741A5FCA2 = {isa = PBXGroup; children = ( - 9DEFBE65118D0527555955A2, - 1D09D8A2B803860D8927C366, - A1B124604F7F471E01D8AA6E, - 4B54A6F89F9AC7EF540646B4, - B09CB33C943D2DE7005C9E75, - 57FD2D74F5DCFF42099CA738, - 17C645785FB20AA2E91ED84B, ); name = "juce_gui_extra"; sourceTree = ""; }; - 8A24D1B6925535A868974986 = {isa = PBXGroup; children = ( - 8BA5B0B5CBCE8D29F02D341A, - E58F94F6CDB786C1ED488C9C, - 6A6672A570C2C2418F926C82, - DE7F542DC0967F8EDCC4DCD0, - E9819C83D0B797FC71811B1B, - 2A27F41171A44038C2A1CB56, - DFC8A876133A671741A5FCA2, ); name = "Juce Modules"; sourceTree = ""; }; - 2C6746F66EF4444F53B3221F = {isa = PBXGroup; children = ( - 8702F43110E4CCA5E5F827F5, - 472F9A90F685220D730EBF6C, - 4F687965FBE86EAFDB3ACFEC, - 38F29C2049566C47993A6D92, - D53B54D1786A1FFC024BF064, - D9E59DE07A815AB303A297D9, - 56E24241C02F953589493551, - A2A081D9DA35B3D1F183C3FE, - 70DC1D288DC6503E628A5A03, - 9539EC08D70D4719A89A4A30, - 364D1A9B113320407A7E57B9, ); name = "Juce Library Code"; sourceTree = ""; }; - 8180B5894A78501084B8F133 = {isa = PBXGroup; children = ( - 4CA1C3E6585D7694AA9C309F, - 6678E9B3EEACAD47F438B264, - 951128CA33CCDEF570436B1C, ); name = Resources; sourceTree = ""; }; - 0FFEF043CA89142B18C79ABE = {isa = PBXGroup; children = ( - D00F311BFC3C2625C457CB9B, - D1F9B0E9F5D54FE48BEB46EA, - E96597BBC6A98255B51B94DC, - E5D6C36496F5BC84D7213BE8, - CF6C8BD0DA3D8CD4E99EBADA, ); name = Frameworks; sourceTree = ""; }; - 92ABB8016546F41128399E9D = {isa = PBXGroup; children = ( - 25F52316D256B4534BED16D1, ); name = Products; sourceTree = ""; }; - 3CC531922CC2D398E283A845 = {isa = PBXGroup; children = ( - D3109994DA6AD871BE85C4E2, - 8A24D1B6925535A868974986, - 2C6746F66EF4444F53B3221F, - 8180B5894A78501084B8F133, - 0FFEF043CA89142B18C79ABE, - 92ABB8016546F41128399E9D, ); name = Source; sourceTree = ""; }; - EA0BCC969703B2D179089E55 = {isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(NATIVE_ARCH_ACTUAL)"; - 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=4.1.0", - "JUCE_APP_VERSION_HEX=0x40100", ); - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.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"; - SDKROOT_ppc = macosx10.5; }; name = Debug; }; - B159CF4275B8A90122629FF4 = {isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(NATIVE_ARCH_ACTUAL)"; - 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=4.1.0", - "JUCE_APP_VERSION_HEX=0x40100", ); - 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 = "$(HOME)/Applications"; - MACOSX_DEPLOYMENT_TARGET = 10.5; - MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion"; - SDKROOT_ppc = macosx10.5; }; name = Release; }; - C42924A24AB55E6A940423EA = {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 = "Introjucer"; - WARNING_CFLAGS = -Wreorder; - ZERO_LINK = NO; }; name = Debug; }; - 70135D15D7E0D8410C42BBA3 = {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 = "Introjucer"; - WARNING_CFLAGS = -Wreorder; - ZERO_LINK = NO; }; name = Release; }; - 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 = ( - 2610F357881240ACBF612F48, - 1321E6C1C6170B6C898AD09D, ); runOnlyForDeploymentPostprocessing = 0; }; - 84449D044096A03F2582904B = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 357A6AA6960EF95D92929BEE, - 6DD9DA1677A6CF789CDAB478, - 954A036F5DDB375DB23FFB3E, - 3EB3D569250C4BA4CA9AF578, - 3C3B0ED6C43FDA3AF76DEE2E, - 95B44E6C74B1DED31DBE37EB, - AA9D0B8E23F3D87A23DE9F8A, - 244BA1BDA5FAA465EA3F9C6D, - FCE6F604C00039A32649CB69, - 9BF773500BA51A8B5C6C7348, - 57B1F32A372143B4D3B1C517, - 3DC282564876B1FC88AAA9B3, - C49E1D32A9DCE3D59BC48B1D, - E1268E019B434F6B5E9317DC, - CE91112DADB97C573C3C674D, - A70F0274076C0D44ED71C980, - BD1E0CBE74DDD2F303978E1F, - 8C1CC0E7A772D66635BA482F, - A69BF71FA90E5A66B6EB2E0F, - D68DE111AFBD82F0D44A3B69, - EC6A34EC9A9D454BF26AAD32, - 8AD28823205783E6F676F254, - 34716A3539FD288C09CBA38A, - 45A53AF13B0D663050632E8C, - C2A85091A28C907A4E1E1687, - 83431B7234A78ECFB3C15F63, - 209FCCC2155A1FCB7E11E20D, - C93569F47B4AC1A8E37992ED, - 1B988E139004D8E2850EB656, - 1F37544891EC8DBB5E500C1C, - 110221CD5578153B528AD2BE, - 3D777382FE212D59BAF871FD, - 3FCA61C401007B243E2E9035, - 30B921C38DCEE787B294B746, - 676D2E1E750E61AA2FAA335E, - 8012E6487639A7368E4C4470, - CD4F7B119CE718BCE78D61F4, - 78CB463DD98A55313A543859, - 1499DF2E85B05AC1BF423773, - 123810DAF8AF758928916ECE, - C9F11BA62D6D092A300363F7, - 4A1DB797F1356E85110FF871, - F6635694A01FFBF5EF0968DB, - 518DD443B6F17A5AFD707263, - B7EBA1A83575F48CD08140B9, - 3C5267E06A897B0DC0F7EA50, - 7E72CB84146E1B4B168356CA, - 24AE6B973834AF7E0DE1F228, - AF55472121E1C56E5EB9CB4B, - 284EBBCCB7C9FCB23BE43971, - EF27EC7543BED0B8DD66A098, - 756B48DA5FA991E74035E812, - 81E6980930B09FF108123186, ); runOnlyForDeploymentPostprocessing = 0; }; - B8D802107FEE6AD60F5309A3 = {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 ); }; - }; - rootObject = 74EA481348A24104E6ACE009; -} diff --git a/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.sln b/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.sln deleted file mode 100644 index 9f25febc..00000000 --- a/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -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/VisualStudio2010/The Introjucer.vcxproj b/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj deleted file mode 100644 index 78803472..00000000 --- a/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj +++ /dev/null @@ -1,1582 +0,0 @@ - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 26f1ae8a..00000000 --- a/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters +++ /dev/null @@ -1,2903 +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\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\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 - - - 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\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\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\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 62a24843..00000000 --- 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 d2311504..00000000 --- a/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj +++ /dev/null @@ -1,1588 +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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 26f1ae8a..00000000 --- a/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj.filters +++ /dev/null @@ -1,2903 +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\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\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 - - - 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\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\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\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~ zY+O$gh&3XB4OCe32~N&+)vT@)k+VuNR!wIItFv70k^oM<=xB8HD#<5{?=+L2oP88nBeE?@TJjcO7LGR#r69B{xK z0l{1Fk@~f#{SCY?na=mDYeh8` zNQA#LH4Dyueq1oHzP^#;vL&s$TIn-3HHFKpFH#rI5{5Hmi)OZb+np$yZmbN?8Q@pBQ>v3I80s@ zU#(vx6&wJDO!r4KUL1#;t+(Z>_ET%3%44Bs4wbzZz#2SWeCyV@^Yk>EotN4D5b}Ev zcPtC>_W?3W7RmiHQ#T+}@Z>kn&+)1Ilcb z%KxkI+jqh-n3GN`oI>kkFY23`h$m>Ps~OUD%CQ*lzhS7Zu0A=+jx{2Oa;tcF!KXIK zXlZ$wnWdWHI`fm78j0tw+iM^zAPP)vv!j){W`^eG@|Uk%X;iPNJg29LuBduoENlYI zg7}&>o+6WjE~~|Z`%5G5Pjy?BtoI%=F*o;ncqjLouQV1~6kQqD_@KAfk%qW7u7FrA z?A_C2SK_)R6|}UtHWu?Z1y6{GxQ126xpoa(*1Sg7l%Rls{=|ZhUn}_Kxeh4~SP9}c z!`_pg*1AD;p81o)HEgjiNoOLC-u5#FqjO01`B99`j7zE*NnLBJnCi(>P*wG9isEau zyZLF{wjB^JZ^>~>FozR6XYIIPLxge6T3lsZx!g>UB)ZbVW${qDwzKlJ(L%5S4aqT; zWzG*({Ld!fh@%Ari?e5{gIYh6Yw|7RwP-(Ni?OF?4Zgfk_C%(3>X@3^c?)b`Su)>~ zOh)CMKpnVRoMHXUf!PEmFNw$|X&8@AlD(M>N7?7sv^*u>$#L4SsNaT0`s!y0U`Ca0mt}LK0rRnov1wcKF0iDU?x5X8I+W-0f(^<8RYV^I3IKA*Du z*!LcLBG5B8uEF560w*@rm67U$2SdXjm||4PD6p?-YCaE-ysbvaba_HJuO|Sk*%1>A zFb{#*-#)NO;T1FRL~)|>@zbXsbqr3F=g*(FK2mX%jji<5y_wGr!@cLJBuY^R#>P=L z*4Be8UQcBE+9!$am)ej6srJ(Mu9A3rdy5w+uoN(P#T6&BjkP2uC5`0NF-ST(Mt;r+ zdwF!yNhw*Lc-yvzhGH4}+VwME)uQG3ZcH$UqZ#anTEw`%M>o&4dZq0@AJ6PnF}m!% zq*mM?2r!W?VCQ5$+GXByKRGUr>AOv%{-x`L6`N~|vyaohu%NMBmeZWBDJU>3*aV23 z`Oxa?%$~?g2MV|_-@c6u`!GJuI27NNr~LNqTF`^dxRXq`_s1pN+iUCn!Np?Tz;zvbv7 zJ{cq0n9sEKX26HZt9H@F@s+~TwYFK*2|M0@*reFG@6N=Xw=p&=J-yd;vBBn5{;Jt& zcR%yZNb#GwD#EW5M3Hw2miVUaoW2Ow;$H5+7gbj7oOZn66w`6x)~#D_knN4@({Ss`|ym8XJeCwQStgzN8kB;$Yw~ifCVpLwPJWi^N&1>BJ z+&Zsk!6{YeC^L@hdOPEjr{pfw5f+Nqc=2y!y(JG|#kRsrq*PwS=)DgS@2vYYx%_== zcGjo!cubPD^@Sm6_^Vn9{cgOzbXdT1Q<}3bFIuBU3?XoMUM67tl0AxvzxDSJg6IWZ~R)@I+vZmfQ<#j zfaP?)$m8>lvL6>07Gf2IOuYOap8fzb7K?JMc?Qa{Ah_`v7-$b`ZQg$VK3F(dnhwwDUjpG1eIrWCcF?b7t@FJ9F}wzm>^NIfg<=Rdz)?3x<5uzdmjBL3*J_}8`* z0^*knx`{&+g_c@9>l>c5q)&~F)m$iFKf5w3f(jh1;3cvZI85V>)v}mkVNzjyNTjag zBYE3LRV=fD>t8UKkqY;VmB@94dI@%XDkd7t>iYeZj0{g3%em{JmF*ZY=c5D4w^PitGv$Z zV_Q@5#+H_(s{{8$);BgJTNZ=P#4inP4X%N z+QV(#Tgv|6OVYk+yUz}oXzMN9DOy@Jl7<6RdbP?Z=!-TP1sfQ~f=CO1b2e9BL1w;& z!c|g7CpN)Y>G%*Z^R9DZn|{*7_imG5>ct;eo2;~Y|Neo3Oj~QmOA{^KwFN`f0<(xO zpW@m~z7ISG>1N!iLF~`yvc`ZP&#;TaO;ZX#@1}f2E)n>;moBhCU$D~ibyvq zdsofY_YsdimCKV5L;y(-!{H}`{ISd&P`4pDs8lr#v$Y+6)I%3~`sx3xu#PI7zB>6*+% zp&-H8l8Xw}&EeXPw56q`dVQ2rwxa$x37)N0+jATC*JRo{J|?7y4NVsgvQkGUQBhHC z37EYQ*Zr`c3Dlc5m=$cQ$dH9|Ydv&W{Bq*B^6bDPp0dv`)%WXgk^6Fi+4<0{1bO#e z@R~7SdoKKpboMMdjF)w~fmyMV#c#5Z_UFtBgB z_H>I7^~VyOhjA?KoxMHo^GvFktW+gTldFIisjaPT#bjtKLArLSI`?eNQ&>n?n0C?pq`u(4E9QaZRiD`;1O z8+&I{D8WMejsR(Nz`bq}I_^S^w#K^RSbUV@DXq#uh~5Z!5|_K0eIER`T+1J-e`Vr z7G(^kZJ>w4Nk>xh{P7bfB(s!cBEY9YIpbR~PxFWLx4JMT)vTxE;QrKV9t%{vu1-kb7(#7aN zGC5lqWmx#yXjtd4F0VNd`Z@_l`+Q}ig z5fMFwskg#u^qEoVmAad$9eoJ!HN%=#K~lcfJ4l$JE3?#tX~-QR7@4YwOglq{_B0{c zkgh(@pOQknmfxj);w_c#8M;hb|EUUJCnblq62fK2QWJ4kDJk6M3-=PI_$^A8TjE~j zNjw~)!X?bV#3XU^*c8I*zF+J-@YdYV+tl3KL^Fpq1hYw(#ERDJuef;+cXLhX~+uZQc&i7yKe^PV|_gBgmOa=xMCoNq!Y%JD!us~pSiK5YW8 zZwd;iB>B@cO9`0hCZp3T8S2Lbn~}1uf>(B_?ghLwv5D7#q{& zbnmSfC(oP-5DUMuz~HSn*FUSxUBtqK#+GGmBz}@T8$$eq?hR0S?uK`7_-iGHjC{Pp z6M7i4l|PwKWO#%929j!O|^}Ei;z;E{6G=b%(gf(T}cGxx5YOGjT_a zDOzfNPw?j^?;lPG@zArq!6IHp_e2bQ&DKsqPL!~<1)@w=z*xT&SZPHsy!}1cs(+P) z>drkT{t>Pz#z$Dm6fO}H7nPDI^(Hz}6S_cJVF^UN*RW}sNy%p4H#TmZ6D5}_mg0B^ z*)whH`s_f4Ok!+~RMY`>76z4#P_Ts6%&v--ov)M=G(3Q}&DG?R*js=_Mvf{Suz%1I zfh@L!n{5-Ky0eG%m5Y(UW4*Sbk@o7-H^j55nTsDguk>8eJM*wGxoh(7pcoF_S_(G` zY*af>G1su}We|C9u*5?Fx5n~IJz2ioA*C~9G|_&fE3Oo=Eo@N?&!0aJcx!`ssBNs~ zEC%8P-%nPNDrljsZP>I#(X`6%L3D88>j{JMu_!*|#H+&XkOaSqt_XHLgpb)Pu50*l zDR9V}L!aYzPe&}Az=$Ojp=cg?Tlk;PVnVAH+4_CKa3prWcCeA<+P+NITcvw{b1M0C zTh+G3DSm$TVy7J4O6;RY1Bz^MQMxp_1T0a6ui_{8G63_49bX16?u~*rX)Ub_y?tMU zuGf-R@-e>#8S@3oJ@JJ_2MF0tlUO)r3|=S4`)2aZ3Q%d=kq}QTgKR{u{?zAuQ*ktkw7eaQYbw0D zr0KStz!kG?9yB(v(Ye;v+_Bgqqcl2Bv9bCVj=NEV8THReBieXm+}`?Y54(`tjoYLZrg|S<@Ctcx%$Ww$sWVtG0(|u3zKHE-BHp zeFXvoc_6Z=+<@HofJ}KAam`j?&ITw44z_qS7lK|xSnR~7S7K5_{~R}5NQ@5adW5v zJxPM%na3YgfZW>4#Kg;=#guO`z52-K<7@Q2dwTrRWwL4X0Tc*&NAW^Xj`wr}lK16& z$~@5v!ctr|LeEG&s;U}*lnvwZB-l>#?iyEBVWS(pl3|3)?@}T~;buYFF;fwe({~u1 z=$8C#6A9M~vIW1(4E)JZ8T5Nu5PTu%3d}C$21brjvi@l)NEBdt9uv9BA$i5r^o>!? zv9tMA|{Gq2uiT317(J)HO#ZIV?RwRAcTjML|?V#K-m! zis{3>n>twWcaI%FR_Qi{%c)jQxRYWB-Ecg?d-9}$HCD8uS2Pjj3ZDciQ_*{4kTl6> zz3j4G<3|yRVn6zw&U07}PyBXo{DZBB^Ys#_ih8>^8ZX`vjQ7C=Z_L++S|FPdyoDWO zB1m?S_D+tt$pa~5%UDI-RC!spT4=WxfN+B)sD*8C`M98<#u8oQgf*$rql&pzGFmIF z`uglfm$KqyK}`x)`gjR!f#?GulA{(eVi6+Yzn?0PHbh)wnsFb0VDJUH=h4wzjwIE* z=TIM+3yAch%hZZ&IU21r*G;;l7D6SRJY&RX3_@zha3qE@i(R~X@{BGI2qvbW3kU58 z(X_XuIJ~v9>Ru7H_zcd5m+-iSeW75$P9((8vh;i@R7gfnb z@7*g5B{jOfKOv;bJUj?RPF_kw{Kd!lkDby8C~p5pm% zQu&tzUnUJhb(}D=H>T(O{mlsNt$z#M0-$hHqRWc-f<9IGd-Qk)VK`Na^S2 zx8Qk+)ClKs2xpQ!3pP`^@JZ8evL9k~IGlvlFGl8&f{k+{$P0(%Bc((=mA|BQWCib3 z%3b~t@-Wm~$#(+aj~nGlw(;`~+Ohy{&VPJL7AP7|65;fe5n1*QzB4ASEC+dMh}e%m zPdC{RWM;;4+)Bx}yDEkH_Qlc+-;|n(qruFoSQ^PC6W2ZEw|ZXiFbMk$ZhyP+eW-d_ z6&YR+o({p{y1-;FrQ*-B?9XD=_WEv#t{PQA$8`gv?t}NrPtg#8WOzcA=^47}ho~xY zl((Kl_#8g-)2(JCh?&#>3U?VgjeC;{ln;O`+l7UTrbpuF2|y0wa$D~ecFL<99(~ie zZQJaXVyFvg(jFXGvX3p!h8cn^sARCWtw3omuZG#CrLZiT%=z7EA_~PPSEJ>98iEOV z9jv?60_l#wFjjkc)aRhpZJY*QMn7pn&PMOfW9;c?QR21<4D#qU>&>%gu8XqG81Y6` zUwMh&c=4`4|5zFYjY6jV)IwT3*;SJ)6XHksvd{cPJ;q`{p+xUMnYUC3MJCEO#`q;0 ziGYcTi5Fgrzp>T<5~r^%lvhZNc(`w2q0heS!Ysz8r4ceje8Z>H@lgbB!6B+Es)832 z&>pDO)@u^AfyQWNUOJ)#{0oZURt&Z469Q~L7ZA5OxO`29qvVt%NqGavrO&@Vk#!T~ zP%PhSs(-wU2KoIVU=u6ZCh(}*O%DhvRwy^N63`v4uDE$lU(tmjH!qKpx^mb-JJ%>_ zaF*oClWKBQay!?$r5LG)qi6Z%LZkig1L~{O^s*gN@xvg|L0H(AQG~iC10w(Fcc#73 ziIm)hhkOF*C7q<%zI}*E9TS{cTsz8gE2xfIW#FEwtDFq;x}^-q=aKcfv)l7Qu0v}W zoz?>4Y6%cccEB9Ibd_Y%Yb=FSoYzz;LZysL78swCvvpkSDDUO=uCci+anNF|d$4!F8zsE{zpVmG_azk6b{jXD=4M}c(^ zgcB1p=up*#*n$C1t|)=x=U0YS6+VAE+AU)-tEQryfjxZB)mtk^Uji? zDZ(3x#f;*M%UwkmRzFy2UgbaM_0<6sOt>lPb@0cMdH@IaVY#|Sb}N4E8c5XMQx5rJ z5g>~PycdwUV5;x9F*Z9Jym{D3C?@;;ZJ%Q(9}>nDe2-Sa-m^QwZ-YAYxBBeba`1L> zak15G>FVgf#!Ov>+xL(sqxL1sErs({{yZ-dCCl{E3Rp=Qh^p(Q%C)rm6IMa-&^>|Z z7wfS%4^^%4f^FW)ZI_XDMH}@}Al4*6KD!y2V+pEi>+;FWH1FW+@E_u?XU4oWO(d~9bCxzNzk(oXK;!992m1-?*5tPT8;*qM9l@dg|KV!`?l}}c(JCPly zn`>tz$~?^P%8tW>-D}H4!%3Albs;)>MB_n-qQaokLxLu;w{$roMO~Aj(YPQcb@`is zX#nr1W=1A{vep80=qbfkrS%WBpax)lz2@FW8t*gSrqbQmtzCSoY@LVV@|D;9gJWZP z)D|x3Z$1|hor7q7i3_PR3kw7mxS(YFI6m_b|BT5SJ1;JjeDVwVsYv47mx$a@{?0i*KL5-hGI3tsp-lX~KubK3pD`KbZ$3FOMC1vo zM6MjF;H__orOc$Yy8N2o6?I1-jzQ`L7Oto5g%(iz(zbXqM6q{pkY!qv;2O*RpizG9 zj>qec^LLU_AP3PaU%}^l4ns0$L1yx#^hVSH-(Zs`JpC?9V+w6tqA?gpK>>j;HhzZJ zj^TwX9(R15nwO_!$EI5waB5np;+90(A|4HyJ4ybysP8qIgK|!Z+A(YxL{IS1aiC2; zo9BpR*Nuu@yy*D_lPn+o>hONy%dZ6?hNJ=^ibpjP53TdlJD*Bj`XGGPOhFRm=;XBO zyJbb|U74d_cT^-cA|llg=ZM{N5fGq46GzMAr70I#nS;U?lVeQcXi!y_>do~EEeZ;f zn8irFrHhl=$FuKcy;cRZ0(SUWSwFR#O>6sbL=Lw~Fty!$lHqDK*2>(L0xU96Jl%i0 zJ3$49cWiZo#7|4a`it+>5gib8_R_-hRmPCS-66yEX$m{;1jL)uQ7Y70+4{QUc(yw8 ztHU+P*SlHmGKz~2-8uD+$ONL+6c^D=xyIb^^F8z>21*@!whS1;F@6*{<-Q7zFKPlOn_B zc=D$d#;JR~KPoQ!quRNxJe9c*)=@fNeN zm<_+(^CA)js*dulpX;3Aa~Le!%C*^i=T9x?d)LkW?l!8|R@at25n4V2g?A@aQrF6h z%gc2_52HlCev1=ov7jve)Yo?+ib@DLCcx%Ry`|VeHrvcNG}w-H>#}d$%5KnvY4}?tS?R^}3+IoE%55!-BJ#_xnPlT&{k)YR)O{WGo7} zgnWm62Oo&ZaOCElGMwEQ@#l%}3W{M7MTRk0yYyVZ)y+@fa9qd{K0b|=vLKOdiPsPKt9fbY>F-P5 z>AOzt27bH6D65ODNKQdX>4e6yls9i^fXT1i_xj|q5WaH3z-W;Q30W%O*k(7%n)>+o z9HVYFj7OsLu)cf+Ybt3)3I75P?k41ee zGi;=4D59mWDQA%Y}Qp znUTJdjqqIz8hD636XoE``0nC+Sz~ttN7Ywm2YE^z8IF(%x?n&_BiV-j__AZk#*9<0 z{(X#Kcf{1d|^5Ni5)7IcbpMw6Vy6 zDAbcXhr^%XeaOU^P}p?LtM%kO}jEFv{;zDS~D{PZyeEMBo)J= zxlAxJKwjLuCzj1?2 z-Hc81h`RfWtgO}ZCk^#!aA7Igec|yUTu@7^njLqX{M&;^-!>=6ueM|5^?1qdXF~?= zFUqyO6A?$>7oN?#-Df92cF+x!0Zq-V-S52F1=w`H$2b8Gebs6@ze`H%=HqXhPna2! z_PH09Ki2{ZxHkUc2+zG3YDZ8LiNqH;CsT~mX?BdxZz)evSLSjK*pCwTkd~*X6A@B# z2Y5L%$DemK@LM)u&g)4Z8)`AlD&<~VS>4#;DJU$IUh=1yKXU)hohFL~A)emRH#s?E z8inQ{{ss!X5XpDyZr?WbFQ&5+D#$1ZC0_d!mXySLf4TF9V&V6z&rO_Vlt-nQN3dH5 z286$?Zp4H=#MX8kH|z=B9vQg_w&YFCdpKt>j2a%X2Lj5`pqi}ydh6&&=MA0E*PWBg zrR|`mBPHS1i&LzI_TblGV_$|mR5^Lxaf!XaVvt*~dASQoHoLHVDgHe2o%D*NBzxjB zb;To2I#;fo0GsHvf*?M#t!~^bbN=+9M<>bLKn*T;`QU0o_uVkV`OU?a#B=NJv%sJVQT6`L+(QhDs2Mg zqQ0EK&Co7&lxJ=7Brkp!nQm`V6Qz@B%fRjLhS7A2MxXYEXuVCs&1#4 zG&A-~blJMytX;a5i`fD(vNF;8VfSsC^_~R#iLF-t_Ui| zc}4AQAtG{sQMlwHOssHE+k+xUhHnnquZ8)UaX=~2W3z9J%sAznUwI4&x!J{Rw!004 zf*%+)J!9^}kf37jFI;YzC19>;@9$r`q8vc*6eNp4S!a0Ph5LmaCF8B}7wr+}wf&V# zOSYfyc4_H-#RcT(!-?gjj6vh5fd3#T9aQa+oHOfY3SHWl)wO5>>SdklaUWE^L8DOD zZ_L^^&0-`-u(CP*lVcnSK-qJyK9^Pz4#>t{zGS@r3?_)AHg{I^_H6^6Hb+X+xwu#zWu z789i8p-sUa%d!z2ACh3!d;Mk7%lg1^yJ9P3t33RWP5toLTl|VQR3-HHuq^rMn=8du zA1NN6THSzt0Y~p*R!T|*n36vb4&S$2=7dOOIP7CUcmss%gXd}}uIhrAcCJ3yaK$)h z4_}h2j37+Yy?S*Y?}A5MhhsuKOPZ!}6dLju$pAJyvg#}QNx3n~p&o|&D&o?u>zmv&pXvCkp=H;f4Dt z_7VyI@ajh8gzY668LxLY6*fzV51ktda@`F6Ts61?>Wa81MjzJxZR~!)3z_=FcBM)j8QNWkLmXWM5IdlB@xASy> z5ADa|eU3%PlAiivxuosSZt22Akc7elg8#6mXEP(2xCBN51ff7lCZm9$NY38MQ z+ug6x($Q7*-y39!2oguTgPKVU*ap%^j4nNvcm$Rl2oDiDh7}?1d_6V&dVPIwaw|EB!@|cc7H>guop-qO6hyg0k-;R~qt<$=ouwu^G*$!6+jZ z}~-S;k7G= z1?x%^(rdfHFO#CfHC{_)+zbTSZ0FT}wzY4J5vwFy@kK@JquGo!SfG>zr3(s6E$mA_ zPGS*N4{dME)(uztR6DBZD^UnBw24d7S>d)Uj+u~HFuw(9u6qLx$y3a)pEw`|Co>i( zh!jqsP}zo!VX;>9JU!ITN7H7FP4M*}+-p6bQo6-PN>r_DV$c7jg@lM`2;|vzj;ZP5*ARjxMLs~y(J&43&<|x#tDflwtW$lVn-Jqr4rvjg z13C2XJuNPoN6+^601Cb-E!8SnwxA@P#&!dhNAk(-4rE8E_G5vfVv@qo)+b<9drN&w z%Z=;ZVk|D%#xL=RaQ(%3$^3orw^GE@oe|F~?w`{w+ zZ=dxdZMgQTwDfRczuh5F3*kvO7#8{PR(q1S;R~s$#}N@&8ni=E%tdV`74(VHD8 z&GmP=cyT5c=*e>G%xHZvSs+7!5onyze%>-IU?Cwjl~!bHoJ-8V;wv)Gs7}d?6&G@I z{OLO}=i1rT(XR4sV!Nqs=E+S^@18T=S13Xc29f-*BZzMx@1_~nJ)fh`@CEq-PcC*O z=k%$m@AJf6K^n7SkLm&2Jv78H37)tzZ(O3yGgGz!ihqlgKdk{Zs{zcxw-<>u>K;BL z2h+>Z@5?IDZaFO@F$A=m%5_Cf(Ob9hXNo3`vy+phB~MrrFN3cu-b{VGa!uu&+`KU$ z?A&7P-~%Af-wTM;S;gkRKI6)$P%>un!rIJRqKPO(G!j5EkB<#6 z+ed{j-CKvhY+4qlFTQ$ zP!+y_IrvJQt>r{N=IvAV20;Ip`~&tJ^bbx8ON0uBKT-V~oM%@{~|2 zD0YTnhin@RH~224Dz5jTnmjjYQjZy^p!OV`4NAQwRziTP=2g9RmJt(OtT}(v!Yw|Y z`7EpA<-ekKtd`F?y@q&Qe$W^e2}3qdL2`LUGr)KvV! z0mnlJ==tO7cUT{wK6vN<>FnGencn|6J{>U~chZy?l6%Ny!{#!VN{6CIk_<)eBaD@~ zg)T0Y<5C+@&Qv1G6fM_UE@h0U#$0lyRFZ=t&iA$N_dodhmF@HSZ14B${d&G$&&Nwh zNcNMVWRuB#fItGAr{L1m zu8kX^I_5~FQU@jMt2dLDZ*Te)7w>Zcpf4H(|e4ebBW3L-A zGaFmY1BD!9f8ATVW+MUt)-|*``Bk_@F!W1fvJj{XVqgdS)+Vmj8rc}wU7)Lu$ADuW zv|nqlvZ?TN2Vn$IPffE}9U75}y97Oc18a(|l983>2aJs{IEyEY{WSf|)1~*R`3F^& z@edy2uHSEJ>c~;Yn`LHGL=Y+Pjn)7eN*^s9J7tV2bZBczfxHb^s#J(d0WU6>sK3I9 zptZD=H*cQC22K!)dnIPRe$9OUMYX8PPF589-+O>>tQyYB!jDkL$04!q``x%i-Z<7- z*{cRCzIi$}pGH%upMn7qQ(#qXgVX7Vq>POI)+|{KNhv9Q%gLT2!_B@d(!&8Gr!$>N zfiD4bIt9jBRwdVjTM)G9?oti~JrH}|tfaWT+%)b)qAELAja^vFoa9V&fU*ws%1RL= z@?w{boNo9^Q*h+<^F=Q@mHZv^!Dtv0TW=D3N_ms^0qNDxfSCOku=)B#khb|6S>GU`DW0*A*2@*%Z@CW{Lkh@Rx%71YCN%w%=jI3 zI#&boY2nXVEvxr$A9_09*vQ#NIBH%An<g!T&EM zm>=UsVsce1FS01hlVn#z-(6c^MTUlnL0W6gf1=p)+H%kLXB}C2lh^tz?pipN7Z7Ac zp@j(j*mAOqoDeSx2&mAT`c0EwQJTD>9L|4+uR^BDNcfDL9?)9+n~?yMtAZ@IS(EM4SczNw=d<(^5)tTWR~CA2kX$q-@C<8 zPIO{$>xJjxnTCc^Pb`nV?Cy1R&cxrA#A}(EnF*^G&jn>sqLoOmDxPZJw{!2A5foAP zfeH$)Uv%6ICiU#Dua8;p2{H3^(3Sd>07i*ZeWf{b=jK8|0y~}klggPU1P5zdSzD1R zSlj8_=`(RyV=NZg!k0;JOL@xkH2`f1!8c8{%;Vw|JM6(+t36b{$Fb6o=)*w?uA2vy ze+ki$!NJ2L9*5HP9?R*8%c!=`*0$st9%H7+$`?%Kef}J+X03w9fEnVkMcSzsiq{dB z+l8J{rq8u9e<55c_}4Pm!M<&WZ}QJ+?F{NV1xWPYlD&$8&XnCEEQ*y;4gdi zwO7yD2#Y>HR{8u+$cWR&w9pxVCR-GReG3LMh4)lp02r+HAw{->|br(S;` zWCPj(xCB;JNO$dJ=P9a(i$dDkS%3HHM~@Wmc^%IN=58BU%C8uk{|zeVMWNvd;+J=E zBaKmNI+g0Kl}PopKEdjq;9#~;oW#i)n@4g)?bNx914iI$SO&g&PNP%OC3gzkcz|W5 z3YQiP=m0I}@pfROeYOUJqQjVgXyIId#fqjR3^1??;qRGJyNdKb1fesDEi-F@d<^OOv<3GZ%Ofk(88I232w+X+G(`b~9-j-lcC(a5~(x1M_d zKLiE3Nltk>r~#SKuvy_MrMqomu4y-}pY^Mq8-;pC2h=0S$}jdSD7qpJYv}9u_<4K( z0OB?j7-Di7`57ZKZuAt5L_eS661)Ar}i z;Q_y*4Emc zCZlx(g%sp&0Ke0!t7+y*_-5zY;i4R;j{a6=AlelZoorV-?7-mCSC%mXzGjyV4*OaL zZ0#f!a;dFn=Z^dsoYEoLOkyj^*R(H|IyW;zuB@r~dazT?${yI|aDNyptHfk##8>TlyulNIJ;BVWQUzBxu{RTm*(UFscjn?5`xW^NK&%h$`M6385e@bhrtM@IU$d?*RQw~o_rYS zF1sO$oI9nW!anlbkD`wLg_F=`+ZCa1lq7rw5ipsHyG>2?<>h-lGyHSi7&l(mhbyUP zTo5B7u~wA@-*Lk|B%XUFafzhT`0(Dnu!M8x)=Uu3Nah|6u&e@PcEZdyQ#_tE7}}r& zFc{rKQNCUALG`XIA`1N13_X&lsD^hrlGb3m*2_X8lkH_!u(?r;!y%_o120Lu{#20! zS1Pq{9tJ~Lgg99QY;r|R{=Na-6=L?zKxuzwSC9*)cViGCjG47W$RumCQyBiO~z(eu> 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/VisualStudio2013/The Introjucer.sln b/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.sln deleted file mode 100644 index 013f17aa..00000000 --- a/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2013 -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/VisualStudio2013/The Introjucer.vcxproj b/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj deleted file mode 100644 index dc6c78bc..00000000 --- a/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj +++ /dev/null @@ -1,1588 +0,0 @@ - - - - - - Debug - Win32 - - - Release - Win32 - - - - {26ABE2A4-1F2F-8375-088D-D692A4408B5A} - v120 - - - - Application - false - v120 - - - Application - false - true - v120 - - - - - - - - v120 - - - <_ProjectFileVersion>10.0.30319.1 - The Introjucer - true - The Introjucer - 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=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_VS2013_78A5020=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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj.filters b/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj.filters deleted file mode 100644 index f6903904..00000000 --- a/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj.filters +++ /dev/null @@ -1,2903 +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\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\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 - - - 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\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\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\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/VisualStudio2013/icon.ico b/extras/Introjucer/Builds/VisualStudio2013/icon.ico deleted file mode 100644 index 96a024af02e9f7ad500f75dd58637e10c4ceb0c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32719 zcmeFa1yoku)+qdd2oEJGB@&{9QYHvUNhkse2+|>`AT1KoNC<*T2}mj>4FXD+gh&ZU zNvjXtA-VsxIEVN5aP)nB&pqEAcl`g|V=UL+o4wbZYp%Iw??)603x$IsB}IXr31xzV zLP?=eC?=+VT&IBhncyBT??11Pp-?IZ!2{rc&$mgSP}>416g#*EkAge@xDPs%D0uIG z`nY)U;t?G!t>Dnm(1Dbclx^6+`JlG8c8Hjm7|Wl*my?q-N=i&z&Ckn2ydQWW;bEc3 z>)ae9Iq?NjU;7RLW39@|%bWac4ESzyQxo#^aS&o@erKmW0q5D7=}36U)18);k%qLi zv>t4JN6Jf!k-pv@1kz)79-$#2pLKO~cHaMSjEHC9NI_oi4&2>$ z;rk7BwFso??)%Bf$y@gJ_K3N;`5(>x-aTYwWCWR?pF=*jwID4`AO2`D zl(gmNklK0rVWW|5lG6DAXJY3N?g>LRIWTq1>?k zyuoMSv+y1GE|fD&poxM80vnJm8{l5AsHo@*z$dDwPoF0EZ{Y-Zmq1KJ^)s@Kj7zUY{o<^QNd4fn>yf_5#5cyAV0JOfTqO82$-rkOU z868DJo<8|Qf9&d!+??zknY*h;c6+E>CdS8+&dyFm^~Q}2pc8&77k-5optl~7``c51 z&NVgFh>exyzrlt${0ctABO)vW$kaAu8qngVp5FHF;sEF+s0`-4yT)-b(LaU#SMVVY zZ-9J*2gCu=;jh*L@~ya-SbzJ+k4R2V4&vnKxWj8t!20jf{Kx*!=AV(4iYzZLBOQPS zUq(lOp6T4-hd<*-{n@%-x^xK-z?^_|x3;qSL+3-i|0^7R20!zk^WKFG?E=`En;MasnVFrv`7`+d z@KSPhbwzr6dj17Ag#RlX_QKyg?_JotJ+wKXe1I})FAYS6g=0#Ji-Bzy_EY#j!{JBx zznb?hY}iBl3d$%j*BAc=UqqyHY-|iMGBWxl{Jl8r!v7uE5dQmyIt0o|D699vmy(kD zzP-JT0J;9B@PEVs^7P2?@D88vUGE>~y?b6+Ub?d%p}zPLKG^R>%Ga;&{H>^{2#Jb{ z`pZ^VSGV&#{AYT43fO?3|FU7eecgEn>Z~92rlzJQ;V%60vQi`o*oS}BpuM$wEG{k} zW0-G$*=7Kq@Yo9<(gNtW9s1wY)BVF<-L+fy_Abu%clJ^*;3qhz)zwv`AJ~t(cI>bE zj`p@4_)vHMNPl<^c%lP?!65gY9RC#lF6`LnQAjD+FHpvp6utQ^9Qyitc4Qf}ANIlr zvhR5@SbN}S{Sy9s$RXMO90Q~s9@Wq9N6NL3*!?L6Nr!ZgMY!{XRv<;|IcuM`vdAhXh%U?ZZCXz4dl|j z0DphrpA7>)Mso*;U%~zr{GZ_f`EGS}1%Y-HwB>#V8{UI>0sY(8+ST_knKUS5{J5gX;i~jI>w(26q>aKZ6f( zc~@1rGX}Jype+aO$v=a=`!_%%E#OyeK^$6|n-Cu_&!6J(XYey#r6B#lj)3|c+H%mI z+#UaSdWZw016+%7U`r;xNccA#egz-O`Ptc7&)B&5X{ zkWZz>MM!j1B=Qi%1t4vP!G6t3e}$C1eS^UG!7ShxIOo7ej}U0f0iG7zJMQ1P1~{PM zzJPnv#n~BwG78E`s4I65cn)%`i1MMgRp?|&y$ADwOG2z${#ttk96C5y3!3&x$Xn({h zKNK01pojsf2_CgN%#}BNrFf|CU(Je?r-F=gu7fHuDkTf5@OvAcsBx`MM}A zC52oDJ_Bs<9Nb$1vZxuzqHqx*q3ajHJ3t;C_)lQ|H{JoUNm{7;0KO>zuP;CkBQORH z<1>lC*38Y#Mc%%ByVLT(c~Vjm68!Wj;sD~-AZ7q<#jil7z5;r{P+VO6(0>D`-x=fh z@#DAvrWWwG+JW7&Y-MSQR8&;#=$?gz1!R4FeMf%$?4ON|4dCxD>^xglRfX8t*dQRT zybN^&7*h}EWZd7u;Xi!_z+eJ2O9p<%mZgOS(gb{^f8aE~V_z47xXjZhj}eD^c1U1= zKQaewg{7q>B;!>o5)&1HWM`x!@9XP!^gWEBY;JBM&e)6kF2b$?9lN|VIlH3@X=3WVS^wKF$wIG-T2#X4`X1^er#;0--#bW zKkdz%H;940KIE%zFb5U5&OgKBKe-3!t_f%}3F21U&>n&Cii+MMZZ6J0#d|lF)en4w zNnqpc;=Q+r^GJw|0r7)+-+^f(ghki;(NC=V#a;0!CZ^53m zv$grlIs7jEQP0A53IETMlhu^^;(jCfF$oDW70As>1E(de4P?tct1Z6A0>9>3}K0ZEb zz;|shHw|SZ)SEz0{SiBawg8+1T!*U4%0HdMU*QjNhrZtW`q~ce(7%MZ!v^Ou2=cyA z)JWNBz5@8-e~Lex16+q+@zP%W zf0Q%7;+eg3fP6JSH@71Pq1_5??_GTN_P{m|x@&8T%z@`2PCwH6&(43vOF!cOyF9ZO ze|Qb$60}>P?G62hy?F0lgY|hA1oR$UFUW6yhV$OP{fw7(@rSs#{zA_D4Bx%?V2%sg zxzK+AI5zL%ySE4XV=5sbVMhllDJuRg{Na55g_nTb9tHVfm~)19Ce%&8%QJiNhqXNL zfU+FQ#=UsMYZyNTHq&-iX6DYb&@Tbc{_QzHT@e)-xg%Sl+<-AOD9fNM|Cx;3i|fy> zKY%?959r6ib^e(@t*57V@RGDNk`HWqctE=K_4Xp&-Q9n?4Gs+K_$E68fq&o}pss+q z*1z8tc5G`n7W7AJ&e;sdH;7Cv|o08 z(p~&vTw^c(z&^r<{FC`l{&5Aq$=>|d?_6tZYQTCoWEs$Vmwz@k)?iaqYdc(kJ^U1ckd8y zPmi5^5!^@VsmVwe$O*$ajDvOP?D+V%)&bVQK^}s!85m#sCH^8J0Z{Hk{gn&qFn4kL zs~*z*Rch*vk5&QlfV+7WnD2u4!<-GA!$%Nnfc7Mu!{6bh@o~(K{(|u(fPd(p;C~6q zeOSjhI5-IMGunSShkxN2kfZhmb*Q^}s2}l%bAWXaa1MWmm*6~MeiHgo&=!VqzF*-F z{4_?OhX!G;etv!))Ks|tDgOV$GoWS)^2{#ou-}XS?mGM(Uh4ncx1)Puj1270FECd5 zEBr;E{S0a_OifL9_$?Q0;w#wvd&*9g|gs>!raf}zN1T5=|JnY9IPYyg%B8uv*_~QRDDPpc64*7+Z%qEXaX6_97Y>8{-g@`$ z-R;H2#U1?z|ABQWd*#fJIRAM5yZG;}!@%dyf53tE9*nmF96JBgI%u$8LkckqXEfIbd9V2l;UTLI5c0@^G64!`{B8MqgKU$PG80M`NfaT#f8 zzqJOxi$B!OF!l*;Q%H9hZv`+n0c_1*;q`a!!#TipfV>2CGmLfD*VZDzU|;`C?(eS2 zU*QjHG4gY>k?v2Qc5E)FV`01%(0$^+h5PP2|H(_Oa8Kug8dgXrSiAfV>}mK7!H;&s zF8;8-7}iZd`u@0QA>Q!Yg09XEWC7@TXye0Jr7noK0y=fTxc4sH|7O3lr-598vK8tF zsNU<_RtGyb2#^RLDQ@QI+^3i?Z+1wbDN;57w(Q5X+^4W5H}PJ#RHV2lj#w+wie z3AF!XYh0i|4PyeZ{Z(z-U(x9Q{{8=43j9M>z~Uizz3g@)OCP3sgR(BasKU%rk8$9=ScFABwkx-21f z-TwJ>w1fSj&bLUp@tLQb4PkeB7H0VE%-F2X30gfD6~|Unm2ng2*-tKWrEyl=JuE-* zfw?FjccbC0p5ffWR_y{D@&eT5hMB42RjvU;jW9E=(>5-y{4)Ex@-ET!JQa$?47>Z# zMmyY@+-i1ec4*naru)wi1p-=&eP=q12TB|q3;XWKUA=l0cPW*FBaBiewbLN?nOfLM za`6DKu_b|Mc@mTd)0{`enmvQCOlsX%YvO%1f6ulkaXm+T zw+)BsTpNf=8TOjd0tG_uuNuZhhC_*6Z%FgBk@sjcDeDtGnlMsqnOm1g@b8By9!Gl& zk>kYQAoa3ydwq(i{U}g!b>hlISwVIovh;nPUg53Xx(^E}2xU1YD=&W`h?Mg*4Ur9+8CQ(7w(pEGvlj~0V)glC3`Y3g zTg^l2>gwlKmzRkH3hz+R%AsoA)6+Sfv9s=F1~#0*E6~5|2wtgp`bozB%CI<9AIgdxv_FwyW|x>z0a=dMP1?pM_J1 zSMYvFb;X;Z#u+wUjopr@*kY^x?rXh3`@99yH?`=XlbV+1)HiI&&$2y)|Bw|$7WeX{ zK~aCq8cSHGR#UE-(a|a=G17`fAykDfZ^iBWBV0}10Rcn?1_no1sslT&AA0(f{7Fa% zPF@dDa08BKCAu_be>HFGxNUMRISv+mUFGC*)#$vgi3!@%lbh(kfrP9qlK%ewv55)s z8#kzdnLK1GFg$OMLJ36Aggi@WXm}uzJUF{ytfMoSCml%NlevD8l|K@d;!{>qvZ+CJ z<>OT%+^zE=ik(77hNf^mu|QD(JLmI&j~^9fV>Ep?H-!w0jH+(u2R0lMaBKVuVW?|p zv~_d@=+_0t$H!wuM@P@u3+YhMoYkel6^^wC@0wgQwXs|9j- z%a>p9a4%LhIbP66sO^ivIH0i~G=+IQeX1A|9bc>yvTS`XeA%TkYf$+u$>+87m zf_6kst26J~UP!n0_wSS8Pz@t?x-X8lkC|QCc$+*q*%v!Cl|HLjIfd`fiei2m92|Vk zVc|=Z+9%6A`MQ@rrwfxqJVyCdGgLxCL-mHM9y~j3e1L$EEp6n?s2>yB#MHEUdut=- zPM_V>U^!!H>47m@S=Dy$Cni2c_k{z6pE85Of++$uv{L*dqK-W`-R1OXfs%7`jhjD9pfX}{9 zMi)yT%E-v*E^#<5y!J(@UY*8{gFP-e|>x=K2 zyh!gS;4D1IA|1rAWpRg4fo@uZz4G&0o0dFPa>ko#c1GEOjNMma0rj|xrxc%C)zVrq z4y5gGS?n%#A{lUAJ#5xrL@d;Tclh9QO-{2z3=BoanC9p#>}RT}VFX~?Q_5VqLO8wh zK{`OHy3kXr6XU>Olt+t+brt3=UFu_JXZL*^O5r&(W1g;2cwn|{gMt2lbgO@Y7w-_i zxv6XUC>!1Z`jo)O5huYi>(r?#=g-;szq`+uc;@6Y5^H*&03t!|@=fb>^?U+9KQU*a zqng}&j)zOfrtiij7vo(hEghR>teBhQCBog8n|E44K_QSsQj+=6tQ|>wK_r;~-wpI=sv4pbbBlr zoDWDdp1Z%9dYjoEx%)h2uIJt)J|U9BILm!l^Wn5tX+)$4V_LF6FIt@Z{Xa zmOZkSZ$JNzdf56cWzc1GJVOvBCoJq+v4)0*PxZN@wa+ZEuc@j&ivXYKe~8g@pjm@YJWiO!pTn@G#5wQ$`yBpZ2#;|r#!-`uRf;P7n87Wb>P zd-|4^mLDFP-lve^F#5pm*>BFcyxuxT3U*ZOyK~}bAqF0GjlOGuhI(0epI+8H?ou^7 zcc^SR!=lnCPp>8B!VtfFLyO@Vx<}z(zZfJJynbzlQ{l5TM{{I`#qGlf*(+974X1HE z^&UNa9E)+Fq^2H?ahj&SbFge5SUxh2XJnj0Eu-&Ga7(N8EGcBI zF0YPOFEdI%$Z+SXEh(Y@@J#sdIgQ)(`XI

W;@y0k&FY?!v5)IGR6j@N;kPeFsn~ zY+O$gh&3XB4OCe32~N&+)vT@)k+VuNR!wIItFv70k^oM<=xB8HD#<5{?=+L2oP88nBeE?@TJjcO7LGR#r69B{xK z0l{1Fk@~f#{SCY?na=mDYeh8` zNQA#LH4Dyueq1oHzP^#;vL&s$TIn-3HHFKpFH#rI5{5Hmi)OZb+np$yZmbN?8Q@pBQ>v3I80s@ zU#(vx6&wJDO!r4KUL1#;t+(Z>_ET%3%44Bs4wbzZz#2SWeCyV@^Yk>EotN4D5b}Ev zcPtC>_W?3W7RmiHQ#T+}@Z>kn&+)1Ilcb z%KxkI+jqh-n3GN`oI>kkFY23`h$m>Ps~OUD%CQ*lzhS7Zu0A=+jx{2Oa;tcF!KXIK zXlZ$wnWdWHI`fm78j0tw+iM^zAPP)vv!j){W`^eG@|Uk%X;iPNJg29LuBduoENlYI zg7}&>o+6WjE~~|Z`%5G5Pjy?BtoI%=F*o;ncqjLouQV1~6kQqD_@KAfk%qW7u7FrA z?A_C2SK_)R6|}UtHWu?Z1y6{GxQ126xpoa(*1Sg7l%Rls{=|ZhUn}_Kxeh4~SP9}c z!`_pg*1AD;p81o)HEgjiNoOLC-u5#FqjO01`B99`j7zE*NnLBJnCi(>P*wG9isEau zyZLF{wjB^JZ^>~>FozR6XYIIPLxge6T3lsZx!g>UB)ZbVW${qDwzKlJ(L%5S4aqT; zWzG*({Ld!fh@%Ari?e5{gIYh6Yw|7RwP-(Ni?OF?4Zgfk_C%(3>X@3^c?)b`Su)>~ zOh)CMKpnVRoMHXUf!PEmFNw$|X&8@AlD(M>N7?7sv^*u>$#L4SsNaT0`s!y0U`Ca0mt}LK0rRnov1wcKF0iDU?x5X8I+W-0f(^<8RYV^I3IKA*Du z*!LcLBG5B8uEF560w*@rm67U$2SdXjm||4PD6p?-YCaE-ysbvaba_HJuO|Sk*%1>A zFb{#*-#)NO;T1FRL~)|>@zbXsbqr3F=g*(FK2mX%jji<5y_wGr!@cLJBuY^R#>P=L z*4Be8UQcBE+9!$am)ej6srJ(Mu9A3rdy5w+uoN(P#T6&BjkP2uC5`0NF-ST(Mt;r+ zdwF!yNhw*Lc-yvzhGH4}+VwME)uQG3ZcH$UqZ#anTEw`%M>o&4dZq0@AJ6PnF}m!% zq*mM?2r!W?VCQ5$+GXByKRGUr>AOv%{-x`L6`N~|vyaohu%NMBmeZWBDJU>3*aV23 z`Oxa?%$~?g2MV|_-@c6u`!GJuI27NNr~LNqTF`^dxRXq`_s1pN+iUCn!Np?Tz;zvbv7 zJ{cq0n9sEKX26HZt9H@F@s+~TwYFK*2|M0@*reFG@6N=Xw=p&=J-yd;vBBn5{;Jt& zcR%yZNb#GwD#EW5M3Hw2miVUaoW2Ow;$H5+7gbj7oOZn66w`6x)~#D_knN4@({Ss`|ym8XJeCwQStgzN8kB;$Yw~ifCVpLwPJWi^N&1>BJ z+&Zsk!6{YeC^L@hdOPEjr{pfw5f+Nqc=2y!y(JG|#kRsrq*PwS=)DgS@2vYYx%_== zcGjo!cubPD^@Sm6_^Vn9{cgOzbXdT1Q<}3bFIuBU3?XoMUM67tl0AxvzxDSJg6IWZ~R)@I+vZmfQ<#j zfaP?)$m8>lvL6>07Gf2IOuYOap8fzb7K?JMc?Qa{Ah_`v7-$b`ZQg$VK3F(dnhwwDUjpG1eIrWCcF?b7t@FJ9F}wzm>^NIfg<=Rdz)?3x<5uzdmjBL3*J_}8`* z0^*knx`{&+g_c@9>l>c5q)&~F)m$iFKf5w3f(jh1;3cvZI85V>)v}mkVNzjyNTjag zBYE3LRV=fD>t8UKkqY;VmB@94dI@%XDkd7t>iYeZj0{g3%em{JmF*ZY=c5D4w^PitGv$Z zV_Q@5#+H_(s{{8$);BgJTNZ=P#4inP4X%N z+QV(#Tgv|6OVYk+yUz}oXzMN9DOy@Jl7<6RdbP?Z=!-TP1sfQ~f=CO1b2e9BL1w;& z!c|g7CpN)Y>G%*Z^R9DZn|{*7_imG5>ct;eo2;~Y|Neo3Oj~QmOA{^KwFN`f0<(xO zpW@m~z7ISG>1N!iLF~`yvc`ZP&#;TaO;ZX#@1}f2E)n>;moBhCU$D~ibyvq zdsofY_YsdimCKV5L;y(-!{H}`{ISd&P`4pDs8lr#v$Y+6)I%3~`sx3xu#PI7zB>6*+% zp&-H8l8Xw}&EeXPw56q`dVQ2rwxa$x37)N0+jATC*JRo{J|?7y4NVsgvQkGUQBhHC z37EYQ*Zr`c3Dlc5m=$cQ$dH9|Ydv&W{Bq*B^6bDPp0dv`)%WXgk^6Fi+4<0{1bO#e z@R~7SdoKKpboMMdjF)w~fmyMV#c#5Z_UFtBgB z_H>I7^~VyOhjA?KoxMHo^GvFktW+gTldFIisjaPT#bjtKLArLSI`?eNQ&>n?n0C?pq`u(4E9QaZRiD`;1O z8+&I{D8WMejsR(Nz`bq}I_^S^w#K^RSbUV@DXq#uh~5Z!5|_K0eIER`T+1J-e`Vr z7G(^kZJ>w4Nk>xh{P7bfB(s!cBEY9YIpbR~PxFWLx4JMT)vTxE;QrKV9t%{vu1-kb7(#7aN zGC5lqWmx#yXjtd4F0VNd`Z@_l`+Q}ig z5fMFwskg#u^qEoVmAad$9eoJ!HN%=#K~lcfJ4l$JE3?#tX~-QR7@4YwOglq{_B0{c zkgh(@pOQknmfxj);w_c#8M;hb|EUUJCnblq62fK2QWJ4kDJk6M3-=PI_$^A8TjE~j zNjw~)!X?bV#3XU^*c8I*zF+J-@YdYV+tl3KL^Fpq1hYw(#ERDJuef;+cXLhX~+uZQc&i7yKe^PV|_gBgmOa=xMCoNq!Y%JD!us~pSiK5YW8 zZwd;iB>B@cO9`0hCZp3T8S2Lbn~}1uf>(B_?ghLwv5D7#q{& zbnmSfC(oP-5DUMuz~HSn*FUSxUBtqK#+GGmBz}@T8$$eq?hR0S?uK`7_-iGHjC{Pp z6M7i4l|PwKWO#%929j!O|^}Ei;z;E{6G=b%(gf(T}cGxx5YOGjT_a zDOzfNPw?j^?;lPG@zArq!6IHp_e2bQ&DKsqPL!~<1)@w=z*xT&SZPHsy!}1cs(+P) z>drkT{t>Pz#z$Dm6fO}H7nPDI^(Hz}6S_cJVF^UN*RW}sNy%p4H#TmZ6D5}_mg0B^ z*)whH`s_f4Ok!+~RMY`>76z4#P_Ts6%&v--ov)M=G(3Q}&DG?R*js=_Mvf{Suz%1I zfh@L!n{5-Ky0eG%m5Y(UW4*Sbk@o7-H^j55nTsDguk>8eJM*wGxoh(7pcoF_S_(G` zY*af>G1su}We|C9u*5?Fx5n~IJz2ioA*C~9G|_&fE3Oo=Eo@N?&!0aJcx!`ssBNs~ zEC%8P-%nPNDrljsZP>I#(X`6%L3D88>j{JMu_!*|#H+&XkOaSqt_XHLgpb)Pu50*l zDR9V}L!aYzPe&}Az=$Ojp=cg?Tlk;PVnVAH+4_CKa3prWcCeA<+P+NITcvw{b1M0C zTh+G3DSm$TVy7J4O6;RY1Bz^MQMxp_1T0a6ui_{8G63_49bX16?u~*rX)Ub_y?tMU zuGf-R@-e>#8S@3oJ@JJ_2MF0tlUO)r3|=S4`)2aZ3Q%d=kq}QTgKR{u{?zAuQ*ktkw7eaQYbw0D zr0KStz!kG?9yB(v(Ye;v+_Bgqqcl2Bv9bCVj=NEV8THReBieXm+}`?Y54(`tjoYLZrg|S<@Ctcx%$Ww$sWVtG0(|u3zKHE-BHp zeFXvoc_6Z=+<@HofJ}KAam`j?&ITw44z_qS7lK|xSnR~7S7K5_{~R}5NQ@5adW5v zJxPM%na3YgfZW>4#Kg;=#guO`z52-K<7@Q2dwTrRWwL4X0Tc*&NAW^Xj`wr}lK16& z$~@5v!ctr|LeEG&s;U}*lnvwZB-l>#?iyEBVWS(pl3|3)?@}T~;buYFF;fwe({~u1 z=$8C#6A9M~vIW1(4E)JZ8T5Nu5PTu%3d}C$21brjvi@l)NEBdt9uv9BA$i5r^o>!? zv9tMA|{Gq2uiT317(J)HO#ZIV?RwRAcTjML|?V#K-m! zis{3>n>twWcaI%FR_Qi{%c)jQxRYWB-Ecg?d-9}$HCD8uS2Pjj3ZDciQ_*{4kTl6> zz3j4G<3|yRVn6zw&U07}PyBXo{DZBB^Ys#_ih8>^8ZX`vjQ7C=Z_L++S|FPdyoDWO zB1m?S_D+tt$pa~5%UDI-RC!spT4=WxfN+B)sD*8C`M98<#u8oQgf*$rql&pzGFmIF z`uglfm$KqyK}`x)`gjR!f#?GulA{(eVi6+Yzn?0PHbh)wnsFb0VDJUH=h4wzjwIE* z=TIM+3yAch%hZZ&IU21r*G;;l7D6SRJY&RX3_@zha3qE@i(R~X@{BGI2qvbW3kU58 z(X_XuIJ~v9>Ru7H_zcd5m+-iSeW75$P9((8vh;i@R7gfnb z@7*g5B{jOfKOv;bJUj?RPF_kw{Kd!lkDby8C~p5pm% zQu&tzUnUJhb(}D=H>T(O{mlsNt$z#M0-$hHqRWc-f<9IGd-Qk)VK`Na^S2 zx8Qk+)ClKs2xpQ!3pP`^@JZ8evL9k~IGlvlFGl8&f{k+{$P0(%Bc((=mA|BQWCib3 z%3b~t@-Wm~$#(+aj~nGlw(;`~+Ohy{&VPJL7AP7|65;fe5n1*QzB4ASEC+dMh}e%m zPdC{RWM;;4+)Bx}yDEkH_Qlc+-;|n(qruFoSQ^PC6W2ZEw|ZXiFbMk$ZhyP+eW-d_ z6&YR+o({p{y1-;FrQ*-B?9XD=_WEv#t{PQA$8`gv?t}NrPtg#8WOzcA=^47}ho~xY zl((Kl_#8g-)2(JCh?&#>3U?VgjeC;{ln;O`+l7UTrbpuF2|y0wa$D~ecFL<99(~ie zZQJaXVyFvg(jFXGvX3p!h8cn^sARCWtw3omuZG#CrLZiT%=z7EA_~PPSEJ>98iEOV z9jv?60_l#wFjjkc)aRhpZJY*QMn7pn&PMOfW9;c?QR21<4D#qU>&>%gu8XqG81Y6` zUwMh&c=4`4|5zFYjY6jV)IwT3*;SJ)6XHksvd{cPJ;q`{p+xUMnYUC3MJCEO#`q;0 ziGYcTi5Fgrzp>T<5~r^%lvhZNc(`w2q0heS!Ysz8r4ceje8Z>H@lgbB!6B+Es)832 z&>pDO)@u^AfyQWNUOJ)#{0oZURt&Z469Q~L7ZA5OxO`29qvVt%NqGavrO&@Vk#!T~ zP%PhSs(-wU2KoIVU=u6ZCh(}*O%DhvRwy^N63`v4uDE$lU(tmjH!qKpx^mb-JJ%>_ zaF*oClWKBQay!?$r5LG)qi6Z%LZkig1L~{O^s*gN@xvg|L0H(AQG~iC10w(Fcc#73 ziIm)hhkOF*C7q<%zI}*E9TS{cTsz8gE2xfIW#FEwtDFq;x}^-q=aKcfv)l7Qu0v}W zoz?>4Y6%cccEB9Ibd_Y%Yb=FSoYzz;LZysL78swCvvpkSDDUO=uCci+anNF|d$4!F8zsE{zpVmG_azk6b{jXD=4M}c(^ zgcB1p=up*#*n$C1t|)=x=U0YS6+VAE+AU)-tEQryfjxZB)mtk^Uji? zDZ(3x#f;*M%UwkmRzFy2UgbaM_0<6sOt>lPb@0cMdH@IaVY#|Sb}N4E8c5XMQx5rJ z5g>~PycdwUV5;x9F*Z9Jym{D3C?@;;ZJ%Q(9}>nDe2-Sa-m^QwZ-YAYxBBeba`1L> zak15G>FVgf#!Ov>+xL(sqxL1sErs({{yZ-dCCl{E3Rp=Qh^p(Q%C)rm6IMa-&^>|Z z7wfS%4^^%4f^FW)ZI_XDMH}@}Al4*6KD!y2V+pEi>+;FWH1FW+@E_u?XU4oWO(d~9bCxzNzk(oXK;!992m1-?*5tPT8;*qM9l@dg|KV!`?l}}c(JCPly zn`>tz$~?^P%8tW>-D}H4!%3Albs;)>MB_n-qQaokLxLu;w{$roMO~Aj(YPQcb@`is zX#nr1W=1A{vep80=qbfkrS%WBpax)lz2@FW8t*gSrqbQmtzCSoY@LVV@|D;9gJWZP z)D|x3Z$1|hor7q7i3_PR3kw7mxS(YFI6m_b|BT5SJ1;JjeDVwVsYv47mx$a@{?0i*KL5-hGI3tsp-lX~KubK3pD`KbZ$3FOMC1vo zM6MjF;H__orOc$Yy8N2o6?I1-jzQ`L7Oto5g%(iz(zbXqM6q{pkY!qv;2O*RpizG9 zj>qec^LLU_AP3PaU%}^l4ns0$L1yx#^hVSH-(Zs`JpC?9V+w6tqA?gpK>>j;HhzZJ zj^TwX9(R15nwO_!$EI5waB5np;+90(A|4HyJ4ybysP8qIgK|!Z+A(YxL{IS1aiC2; zo9BpR*Nuu@yy*D_lPn+o>hONy%dZ6?hNJ=^ibpjP53TdlJD*Bj`XGGPOhFRm=;XBO zyJbb|U74d_cT^-cA|llg=ZM{N5fGq46GzMAr70I#nS;U?lVeQcXi!y_>do~EEeZ;f zn8irFrHhl=$FuKcy;cRZ0(SUWSwFR#O>6sbL=Lw~Fty!$lHqDK*2>(L0xU96Jl%i0 zJ3$49cWiZo#7|4a`it+>5gib8_R_-hRmPCS-66yEX$m{;1jL)uQ7Y70+4{QUc(yw8 ztHU+P*SlHmGKz~2-8uD+$ONL+6c^D=xyIb^^F8z>21*@!whS1;F@6*{<-Q7zFKPlOn_B zc=D$d#;JR~KPoQ!quRNxJe9c*)=@fNeN zm<_+(^CA)js*dulpX;3Aa~Le!%C*^i=T9x?d)LkW?l!8|R@at25n4V2g?A@aQrF6h z%gc2_52HlCev1=ov7jve)Yo?+ib@DLCcx%Ry`|VeHrvcNG}w-H>#}d$%5KnvY4}?tS?R^}3+IoE%55!-BJ#_xnPlT&{k)YR)O{WGo7} zgnWm62Oo&ZaOCElGMwEQ@#l%}3W{M7MTRk0yYyVZ)y+@fa9qd{K0b|=vLKOdiPsPKt9fbY>F-P5 z>AOzt27bH6D65ODNKQdX>4e6yls9i^fXT1i_xj|q5WaH3z-W;Q30W%O*k(7%n)>+o z9HVYFj7OsLu)cf+Ybt3)3I75P?k41ee zGi;=4D59mWDQA%Y}Qp znUTJdjqqIz8hD636XoE``0nC+Sz~ttN7Ywm2YE^z8IF(%x?n&_BiV-j__AZk#*9<0 z{(X#Kcf{1d|^5Ni5)7IcbpMw6Vy6 zDAbcXhr^%XeaOU^P}p?LtM%kO}jEFv{;zDS~D{PZyeEMBo)J= zxlAxJKwjLuCzj1?2 z-Hc81h`RfWtgO}ZCk^#!aA7Igec|yUTu@7^njLqX{M&;^-!>=6ueM|5^?1qdXF~?= zFUqyO6A?$>7oN?#-Df92cF+x!0Zq-V-S52F1=w`H$2b8Gebs6@ze`H%=HqXhPna2! z_PH09Ki2{ZxHkUc2+zG3YDZ8LiNqH;CsT~mX?BdxZz)evSLSjK*pCwTkd~*X6A@B# z2Y5L%$DemK@LM)u&g)4Z8)`AlD&<~VS>4#;DJU$IUh=1yKXU)hohFL~A)emRH#s?E z8inQ{{ss!X5XpDyZr?WbFQ&5+D#$1ZC0_d!mXySLf4TF9V&V6z&rO_Vlt-nQN3dH5 z286$?Zp4H=#MX8kH|z=B9vQg_w&YFCdpKt>j2a%X2Lj5`pqi}ydh6&&=MA0E*PWBg zrR|`mBPHS1i&LzI_TblGV_$|mR5^Lxaf!XaVvt*~dASQoHoLHVDgHe2o%D*NBzxjB zb;To2I#;fo0GsHvf*?M#t!~^bbN=+9M<>bLKn*T;`QU0o_uVkV`OU?a#B=NJv%sJVQT6`L+(QhDs2Mg zqQ0EK&Co7&lxJ=7Brkp!nQm`V6Qz@B%fRjLhS7A2MxXYEXuVCs&1#4 zG&A-~blJMytX;a5i`fD(vNF;8VfSsC^_~R#iLF-t_Ui| zc}4AQAtG{sQMlwHOssHE+k+xUhHnnquZ8)UaX=~2W3z9J%sAznUwI4&x!J{Rw!004 zf*%+)J!9^}kf37jFI;YzC19>;@9$r`q8vc*6eNp4S!a0Ph5LmaCF8B}7wr+}wf&V# zOSYfyc4_H-#RcT(!-?gjj6vh5fd3#T9aQa+oHOfY3SHWl)wO5>>SdklaUWE^L8DOD zZ_L^^&0-`-u(CP*lVcnSK-qJyK9^Pz4#>t{zGS@r3?_)AHg{I^_H6^6Hb+X+xwu#zWu z789i8p-sUa%d!z2ACh3!d;Mk7%lg1^yJ9P3t33RWP5toLTl|VQR3-HHuq^rMn=8du zA1NN6THSzt0Y~p*R!T|*n36vb4&S$2=7dOOIP7CUcmss%gXd}}uIhrAcCJ3yaK$)h z4_}h2j37+Yy?S*Y?}A5MhhsuKOPZ!}6dLju$pAJyvg#}QNx3n~p&o|&D&o?u>zmv&pXvCkp=H;f4Dt z_7VyI@ajh8gzY668LxLY6*fzV51ktda@`F6Ts61?>Wa81MjzJxZR~!)3z_=FcBM)j8QNWkLmXWM5IdlB@xASy> z5ADa|eU3%PlAiivxuosSZt22Akc7elg8#6mXEP(2xCBN51ff7lCZm9$NY38MQ z+ug6x($Q7*-y39!2oguTgPKVU*ap%^j4nNvcm$Rl2oDiDh7}?1d_6V&dVPIwaw|EB!@|cc7H>guop-qO6hyg0k-;R~qt<$=ouwu^G*$!6+jZ z}~-S;k7G= z1?x%^(rdfHFO#CfHC{_)+zbTSZ0FT}wzY4J5vwFy@kK@JquGo!SfG>zr3(s6E$mA_ zPGS*N4{dME)(uztR6DBZD^UnBw24d7S>d)Uj+u~HFuw(9u6qLx$y3a)pEw`|Co>i( zh!jqsP}zo!VX;>9JU!ITN7H7FP4M*}+-p6bQo6-PN>r_DV$c7jg@lM`2;|vzj;ZP5*ARjxMLs~y(J&43&<|x#tDflwtW$lVn-Jqr4rvjg z13C2XJuNPoN6+^601Cb-E!8SnwxA@P#&!dhNAk(-4rE8E_G5vfVv@qo)+b<9drN&w z%Z=;ZVk|D%#xL=RaQ(%3$^3orw^GE@oe|F~?w`{w+ zZ=dxdZMgQTwDfRczuh5F3*kvO7#8{PR(q1S;R~s$#}N@&8ni=E%tdV`74(VHD8 z&GmP=cyT5c=*e>G%xHZvSs+7!5onyze%>-IU?Cwjl~!bHoJ-8V;wv)Gs7}d?6&G@I z{OLO}=i1rT(XR4sV!Nqs=E+S^@18T=S13Xc29f-*BZzMx@1_~nJ)fh`@CEq-PcC*O z=k%$m@AJf6K^n7SkLm&2Jv78H37)tzZ(O3yGgGz!ihqlgKdk{Zs{zcxw-<>u>K;BL z2h+>Z@5?IDZaFO@F$A=m%5_Cf(Ob9hXNo3`vy+phB~MrrFN3cu-b{VGa!uu&+`KU$ z?A&7P-~%Af-wTM;S;gkRKI6)$P%>un!rIJRqKPO(G!j5EkB<#6 z+ed{j-CKvhY+4qlFTQ$ zP!+y_IrvJQt>r{N=IvAV20;Ip`~&tJ^bbx8ON0uBKT-V~oM%@{~|2 zD0YTnhin@RH~224Dz5jTnmjjYQjZy^p!OV`4NAQwRziTP=2g9RmJt(OtT}(v!Yw|Y z`7EpA<-ekKtd`F?y@q&Qe$W^e2}3qdL2`LUGr)KvV! z0mnlJ==tO7cUT{wK6vN<>FnGencn|6J{>U~chZy?l6%Ny!{#!VN{6CIk_<)eBaD@~ zg)T0Y<5C+@&Qv1G6fM_UE@h0U#$0lyRFZ=t&iA$N_dodhmF@HSZ14B${d&G$&&Nwh zNcNMVWRuB#fItGAr{L1m zu8kX^I_5~FQU@jMt2dLDZ*Te)7w>Zcpf4H(|e4ebBW3L-A zGaFmY1BD!9f8ATVW+MUt)-|*``Bk_@F!W1fvJj{XVqgdS)+Vmj8rc}wU7)Lu$ADuW zv|nqlvZ?TN2Vn$IPffE}9U75}y97Oc18a(|l983>2aJs{IEyEY{WSf|)1~*R`3F^& z@edy2uHSEJ>c~;Yn`LHGL=Y+Pjn)7eN*^s9J7tV2bZBczfxHb^s#J(d0WU6>sK3I9 zptZD=H*cQC22K!)dnIPRe$9OUMYX8PPF589-+O>>tQyYB!jDkL$04!q``x%i-Z<7- z*{cRCzIi$}pGH%upMn7qQ(#qXgVX7Vq>POI)+|{KNhv9Q%gLT2!_B@d(!&8Gr!$>N zfiD4bIt9jBRwdVjTM)G9?oti~JrH}|tfaWT+%)b)qAELAja^vFoa9V&fU*ws%1RL= z@?w{boNo9^Q*h+<^F=Q@mHZv^!Dtv0TW=D3N_ms^0qNDxfSCOku=)B#khb|6S>GU`DW0*A*2@*%Z@CW{Lkh@Rx%71YCN%w%=jI3 zI#&boY2nXVEvxr$A9_09*vQ#NIBH%An<g!T&EM zm>=UsVsce1FS01hlVn#z-(6c^MTUlnL0W6gf1=p)+H%kLXB}C2lh^tz?pipN7Z7Ac zp@j(j*mAOqoDeSx2&mAT`c0EwQJTD>9L|4+uR^BDNcfDL9?)9+n~?yMtAZ@IS(EM4SczNw=d<(^5)tTWR~CA2kX$q-@C<8 zPIO{$>xJjxnTCc^Pb`nV?Cy1R&cxrA#A}(EnF*^G&jn>sqLoOmDxPZJw{!2A5foAP zfeH$)Uv%6ICiU#Dua8;p2{H3^(3Sd>07i*ZeWf{b=jK8|0y~}klggPU1P5zdSzD1R zSlj8_=`(RyV=NZg!k0;JOL@xkH2`f1!8c8{%;Vw|JM6(+t36b{$Fb6o=)*w?uA2vy ze+ki$!NJ2L9*5HP9?R*8%c!=`*0$st9%H7+$`?%Kef}J+X03w9fEnVkMcSzsiq{dB z+l8J{rq8u9e<55c_}4Pm!M<&WZ}QJ+?F{NV1xWPYlD&$8&XnCEEQ*y;4gdi zwO7yD2#Y>HR{8u+$cWR&w9pxVCR-GReG3LMh4)lp02r+HAw{->|br(S;` zWCPj(xCB;JNO$dJ=P9a(i$dDkS%3HHM~@Wmc^%IN=58BU%C8uk{|zeVMWNvd;+J=E zBaKmNI+g0Kl}PopKEdjq;9#~;oW#i)n@4g)?bNx914iI$SO&g&PNP%OC3gzkcz|W5 z3YQiP=m0I}@pfROeYOUJqQjVgXyIId#fqjR3^1??;qRGJyNdKb1fesDEi-F@d<^OOv<3GZ%Ofk(88I232w+X+G(`b~9-j-lcC(a5~(x1M_d zKLiE3Nltk>r~#SKuvy_MrMqomu4y-}pY^Mq8-;pC2h=0S$}jdSD7qpJYv}9u_<4K( z0OB?j7-Di7`57ZKZuAt5L_eS661)Ar}i z;Q_y*4Emc zCZlx(g%sp&0Ke0!t7+y*_-5zY;i4R;j{a6=AlelZoorV-?7-mCSC%mXzGjyV4*OaL zZ0#f!a;dFn=Z^dsoYEoLOkyj^*R(H|IyW;zuB@r~dazT?${yI|aDNyptHfk##8>TlyulNIJ;BVWQUzBxu{RTm*(UFscjn?5`xW^NK&%h$`M6385e@bhrtM@IU$d?*RQw~o_rYS zF1sO$oI9nW!anlbkD`wLg_F=`+ZCa1lq7rw5ipsHyG>2?<>h-lGyHSi7&l(mhbyUP zTo5B7u~wA@-*Lk|B%XUFafzhT`0(Dnu!M8x)=Uu3Nah|6u&e@PcEZdyQ#_tE7}}r& zFc{rKQNCUALG`XIA`1N13_X&lsD^hrlGb3m*2_X8lkH_!u(?r;!y%_o120Lu{#20! zS1Pq{9tJ~Lgg99QY;r|R{=Na-6=L?zKxuzwSC9*)cViGCjG47W$RumCQyBiO~z(eu> 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 de1fe865..00000000 --- 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/The Introjucer.vcxproj b/extras/Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj deleted file mode 100644 index d8d0b4e0..00000000 --- a/extras/Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj +++ /dev/null @@ -1,1588 +0,0 @@ - - - - - - Debug - Win32 - - - Release - Win32 - - - - {26ABE2A4-1F2F-8375-088D-D692A4408B5A} - v140 - - - - Application - false - v140 - - - Application - false - true - v140 - - - - - - - - v140 - - - <_ProjectFileVersion>10.0.30319.1 - The Introjucer - true - The Introjucer - true - v140 - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Disabled - EditAndContinue - ..\..\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 - 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_VS2015_78A5022=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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extras/Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj.filters b/extras/Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj.filters deleted file mode 100644 index e92fc92e..00000000 --- a/extras/Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj.filters +++ /dev/null @@ -1,2903 +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\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\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 - - - 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\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\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\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/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~ zY+O$gh&3XB4OCe32~N&+)vT@)k+VuNR!wIItFv70k^oM<=xB8HD#<5{?=+L2oP88nBeE?@TJjcO7LGR#r69B{xK z0l{1Fk@~f#{SCY?na=mDYeh8` zNQA#LH4Dyueq1oHzP^#;vL&s$TIn-3HHFKpFH#rI5{5Hmi)OZb+np$yZmbN?8Q@pBQ>v3I80s@ zU#(vx6&wJDO!r4KUL1#;t+(Z>_ET%3%44Bs4wbzZz#2SWeCyV@^Yk>EotN4D5b}Ev zcPtC>_W?3W7RmiHQ#T+}@Z>kn&+)1Ilcb z%KxkI+jqh-n3GN`oI>kkFY23`h$m>Ps~OUD%CQ*lzhS7Zu0A=+jx{2Oa;tcF!KXIK zXlZ$wnWdWHI`fm78j0tw+iM^zAPP)vv!j){W`^eG@|Uk%X;iPNJg29LuBduoENlYI zg7}&>o+6WjE~~|Z`%5G5Pjy?BtoI%=F*o;ncqjLouQV1~6kQqD_@KAfk%qW7u7FrA z?A_C2SK_)R6|}UtHWu?Z1y6{GxQ126xpoa(*1Sg7l%Rls{=|ZhUn}_Kxeh4~SP9}c z!`_pg*1AD;p81o)HEgjiNoOLC-u5#FqjO01`B99`j7zE*NnLBJnCi(>P*wG9isEau zyZLF{wjB^JZ^>~>FozR6XYIIPLxge6T3lsZx!g>UB)ZbVW${qDwzKlJ(L%5S4aqT; zWzG*({Ld!fh@%Ari?e5{gIYh6Yw|7RwP-(Ni?OF?4Zgfk_C%(3>X@3^c?)b`Su)>~ zOh)CMKpnVRoMHXUf!PEmFNw$|X&8@AlD(M>N7?7sv^*u>$#L4SsNaT0`s!y0U`Ca0mt}LK0rRnov1wcKF0iDU?x5X8I+W-0f(^<8RYV^I3IKA*Du z*!LcLBG5B8uEF560w*@rm67U$2SdXjm||4PD6p?-YCaE-ysbvaba_HJuO|Sk*%1>A zFb{#*-#)NO;T1FRL~)|>@zbXsbqr3F=g*(FK2mX%jji<5y_wGr!@cLJBuY^R#>P=L z*4Be8UQcBE+9!$am)ej6srJ(Mu9A3rdy5w+uoN(P#T6&BjkP2uC5`0NF-ST(Mt;r+ zdwF!yNhw*Lc-yvzhGH4}+VwME)uQG3ZcH$UqZ#anTEw`%M>o&4dZq0@AJ6PnF}m!% zq*mM?2r!W?VCQ5$+GXByKRGUr>AOv%{-x`L6`N~|vyaohu%NMBmeZWBDJU>3*aV23 z`Oxa?%$~?g2MV|_-@c6u`!GJuI27NNr~LNqTF`^dxRXq`_s1pN+iUCn!Np?Tz;zvbv7 zJ{cq0n9sEKX26HZt9H@F@s+~TwYFK*2|M0@*reFG@6N=Xw=p&=J-yd;vBBn5{;Jt& zcR%yZNb#GwD#EW5M3Hw2miVUaoW2Ow;$H5+7gbj7oOZn66w`6x)~#D_knN4@({Ss`|ym8XJeCwQStgzN8kB;$Yw~ifCVpLwPJWi^N&1>BJ z+&Zsk!6{YeC^L@hdOPEjr{pfw5f+Nqc=2y!y(JG|#kRsrq*PwS=)DgS@2vYYx%_== zcGjo!cubPD^@Sm6_^Vn9{cgOzbXdT1Q<}3bFIuBU3?XoMUM67tl0AxvzxDSJg6IWZ~R)@I+vZmfQ<#j zfaP?)$m8>lvL6>07Gf2IOuYOap8fzb7K?JMc?Qa{Ah_`v7-$b`ZQg$VK3F(dnhwwDUjpG1eIrWCcF?b7t@FJ9F}wzm>^NIfg<=Rdz)?3x<5uzdmjBL3*J_}8`* z0^*knx`{&+g_c@9>l>c5q)&~F)m$iFKf5w3f(jh1;3cvZI85V>)v}mkVNzjyNTjag zBYE3LRV=fD>t8UKkqY;VmB@94dI@%XDkd7t>iYeZj0{g3%em{JmF*ZY=c5D4w^PitGv$Z zV_Q@5#+H_(s{{8$);BgJTNZ=P#4inP4X%N z+QV(#Tgv|6OVYk+yUz}oXzMN9DOy@Jl7<6RdbP?Z=!-TP1sfQ~f=CO1b2e9BL1w;& z!c|g7CpN)Y>G%*Z^R9DZn|{*7_imG5>ct;eo2;~Y|Neo3Oj~QmOA{^KwFN`f0<(xO zpW@m~z7ISG>1N!iLF~`yvc`ZP&#;TaO;ZX#@1}f2E)n>;moBhCU$D~ibyvq zdsofY_YsdimCKV5L;y(-!{H}`{ISd&P`4pDs8lr#v$Y+6)I%3~`sx3xu#PI7zB>6*+% zp&-H8l8Xw}&EeXPw56q`dVQ2rwxa$x37)N0+jATC*JRo{J|?7y4NVsgvQkGUQBhHC z37EYQ*Zr`c3Dlc5m=$cQ$dH9|Ydv&W{Bq*B^6bDPp0dv`)%WXgk^6Fi+4<0{1bO#e z@R~7SdoKKpboMMdjF)w~fmyMV#c#5Z_UFtBgB z_H>I7^~VyOhjA?KoxMHo^GvFktW+gTldFIisjaPT#bjtKLArLSI`?eNQ&>n?n0C?pq`u(4E9QaZRiD`;1O z8+&I{D8WMejsR(Nz`bq}I_^S^w#K^RSbUV@DXq#uh~5Z!5|_K0eIER`T+1J-e`Vr z7G(^kZJ>w4Nk>xh{P7bfB(s!cBEY9YIpbR~PxFWLx4JMT)vTxE;QrKV9t%{vu1-kb7(#7aN zGC5lqWmx#yXjtd4F0VNd`Z@_l`+Q}ig z5fMFwskg#u^qEoVmAad$9eoJ!HN%=#K~lcfJ4l$JE3?#tX~-QR7@4YwOglq{_B0{c zkgh(@pOQknmfxj);w_c#8M;hb|EUUJCnblq62fK2QWJ4kDJk6M3-=PI_$^A8TjE~j zNjw~)!X?bV#3XU^*c8I*zF+J-@YdYV+tl3KL^Fpq1hYw(#ERDJuef;+cXLhX~+uZQc&i7yKe^PV|_gBgmOa=xMCoNq!Y%JD!us~pSiK5YW8 zZwd;iB>B@cO9`0hCZp3T8S2Lbn~}1uf>(B_?ghLwv5D7#q{& zbnmSfC(oP-5DUMuz~HSn*FUSxUBtqK#+GGmBz}@T8$$eq?hR0S?uK`7_-iGHjC{Pp z6M7i4l|PwKWO#%929j!O|^}Ei;z;E{6G=b%(gf(T}cGxx5YOGjT_a zDOzfNPw?j^?;lPG@zArq!6IHp_e2bQ&DKsqPL!~<1)@w=z*xT&SZPHsy!}1cs(+P) z>drkT{t>Pz#z$Dm6fO}H7nPDI^(Hz}6S_cJVF^UN*RW}sNy%p4H#TmZ6D5}_mg0B^ z*)whH`s_f4Ok!+~RMY`>76z4#P_Ts6%&v--ov)M=G(3Q}&DG?R*js=_Mvf{Suz%1I zfh@L!n{5-Ky0eG%m5Y(UW4*Sbk@o7-H^j55nTsDguk>8eJM*wGxoh(7pcoF_S_(G` zY*af>G1su}We|C9u*5?Fx5n~IJz2ioA*C~9G|_&fE3Oo=Eo@N?&!0aJcx!`ssBNs~ zEC%8P-%nPNDrljsZP>I#(X`6%L3D88>j{JMu_!*|#H+&XkOaSqt_XHLgpb)Pu50*l zDR9V}L!aYzPe&}Az=$Ojp=cg?Tlk;PVnVAH+4_CKa3prWcCeA<+P+NITcvw{b1M0C zTh+G3DSm$TVy7J4O6;RY1Bz^MQMxp_1T0a6ui_{8G63_49bX16?u~*rX)Ub_y?tMU zuGf-R@-e>#8S@3oJ@JJ_2MF0tlUO)r3|=S4`)2aZ3Q%d=kq}QTgKR{u{?zAuQ*ktkw7eaQYbw0D zr0KStz!kG?9yB(v(Ye;v+_Bgqqcl2Bv9bCVj=NEV8THReBieXm+}`?Y54(`tjoYLZrg|S<@Ctcx%$Ww$sWVtG0(|u3zKHE-BHp zeFXvoc_6Z=+<@HofJ}KAam`j?&ITw44z_qS7lK|xSnR~7S7K5_{~R}5NQ@5adW5v zJxPM%na3YgfZW>4#Kg;=#guO`z52-K<7@Q2dwTrRWwL4X0Tc*&NAW^Xj`wr}lK16& z$~@5v!ctr|LeEG&s;U}*lnvwZB-l>#?iyEBVWS(pl3|3)?@}T~;buYFF;fwe({~u1 z=$8C#6A9M~vIW1(4E)JZ8T5Nu5PTu%3d}C$21brjvi@l)NEBdt9uv9BA$i5r^o>!? zv9tMA|{Gq2uiT317(J)HO#ZIV?RwRAcTjML|?V#K-m! zis{3>n>twWcaI%FR_Qi{%c)jQxRYWB-Ecg?d-9}$HCD8uS2Pjj3ZDciQ_*{4kTl6> zz3j4G<3|yRVn6zw&U07}PyBXo{DZBB^Ys#_ih8>^8ZX`vjQ7C=Z_L++S|FPdyoDWO zB1m?S_D+tt$pa~5%UDI-RC!spT4=WxfN+B)sD*8C`M98<#u8oQgf*$rql&pzGFmIF z`uglfm$KqyK}`x)`gjR!f#?GulA{(eVi6+Yzn?0PHbh)wnsFb0VDJUH=h4wzjwIE* z=TIM+3yAch%hZZ&IU21r*G;;l7D6SRJY&RX3_@zha3qE@i(R~X@{BGI2qvbW3kU58 z(X_XuIJ~v9>Ru7H_zcd5m+-iSeW75$P9((8vh;i@R7gfnb z@7*g5B{jOfKOv;bJUj?RPF_kw{Kd!lkDby8C~p5pm% zQu&tzUnUJhb(}D=H>T(O{mlsNt$z#M0-$hHqRWc-f<9IGd-Qk)VK`Na^S2 zx8Qk+)ClKs2xpQ!3pP`^@JZ8evL9k~IGlvlFGl8&f{k+{$P0(%Bc((=mA|BQWCib3 z%3b~t@-Wm~$#(+aj~nGlw(;`~+Ohy{&VPJL7AP7|65;fe5n1*QzB4ASEC+dMh}e%m zPdC{RWM;;4+)Bx}yDEkH_Qlc+-;|n(qruFoSQ^PC6W2ZEw|ZXiFbMk$ZhyP+eW-d_ z6&YR+o({p{y1-;FrQ*-B?9XD=_WEv#t{PQA$8`gv?t}NrPtg#8WOzcA=^47}ho~xY zl((Kl_#8g-)2(JCh?&#>3U?VgjeC;{ln;O`+l7UTrbpuF2|y0wa$D~ecFL<99(~ie zZQJaXVyFvg(jFXGvX3p!h8cn^sARCWtw3omuZG#CrLZiT%=z7EA_~PPSEJ>98iEOV z9jv?60_l#wFjjkc)aRhpZJY*QMn7pn&PMOfW9;c?QR21<4D#qU>&>%gu8XqG81Y6` zUwMh&c=4`4|5zFYjY6jV)IwT3*;SJ)6XHksvd{cPJ;q`{p+xUMnYUC3MJCEO#`q;0 ziGYcTi5Fgrzp>T<5~r^%lvhZNc(`w2q0heS!Ysz8r4ceje8Z>H@lgbB!6B+Es)832 z&>pDO)@u^AfyQWNUOJ)#{0oZURt&Z469Q~L7ZA5OxO`29qvVt%NqGavrO&@Vk#!T~ zP%PhSs(-wU2KoIVU=u6ZCh(}*O%DhvRwy^N63`v4uDE$lU(tmjH!qKpx^mb-JJ%>_ zaF*oClWKBQay!?$r5LG)qi6Z%LZkig1L~{O^s*gN@xvg|L0H(AQG~iC10w(Fcc#73 ziIm)hhkOF*C7q<%zI}*E9TS{cTsz8gE2xfIW#FEwtDFq;x}^-q=aKcfv)l7Qu0v}W zoz?>4Y6%cccEB9Ibd_Y%Yb=FSoYzz;LZysL78swCvvpkSDDUO=uCci+anNF|d$4!F8zsE{zpVmG_azk6b{jXD=4M}c(^ zgcB1p=up*#*n$C1t|)=x=U0YS6+VAE+AU)-tEQryfjxZB)mtk^Uji? zDZ(3x#f;*M%UwkmRzFy2UgbaM_0<6sOt>lPb@0cMdH@IaVY#|Sb}N4E8c5XMQx5rJ z5g>~PycdwUV5;x9F*Z9Jym{D3C?@;;ZJ%Q(9}>nDe2-Sa-m^QwZ-YAYxBBeba`1L> zak15G>FVgf#!Ov>+xL(sqxL1sErs({{yZ-dCCl{E3Rp=Qh^p(Q%C)rm6IMa-&^>|Z z7wfS%4^^%4f^FW)ZI_XDMH}@}Al4*6KD!y2V+pEi>+;FWH1FW+@E_u?XU4oWO(d~9bCxzNzk(oXK;!992m1-?*5tPT8;*qM9l@dg|KV!`?l}}c(JCPly zn`>tz$~?^P%8tW>-D}H4!%3Albs;)>MB_n-qQaokLxLu;w{$roMO~Aj(YPQcb@`is zX#nr1W=1A{vep80=qbfkrS%WBpax)lz2@FW8t*gSrqbQmtzCSoY@LVV@|D;9gJWZP z)D|x3Z$1|hor7q7i3_PR3kw7mxS(YFI6m_b|BT5SJ1;JjeDVwVsYv47mx$a@{?0i*KL5-hGI3tsp-lX~KubK3pD`KbZ$3FOMC1vo zM6MjF;H__orOc$Yy8N2o6?I1-jzQ`L7Oto5g%(iz(zbXqM6q{pkY!qv;2O*RpizG9 zj>qec^LLU_AP3PaU%}^l4ns0$L1yx#^hVSH-(Zs`JpC?9V+w6tqA?gpK>>j;HhzZJ zj^TwX9(R15nwO_!$EI5waB5np;+90(A|4HyJ4ybysP8qIgK|!Z+A(YxL{IS1aiC2; zo9BpR*Nuu@yy*D_lPn+o>hONy%dZ6?hNJ=^ibpjP53TdlJD*Bj`XGGPOhFRm=;XBO zyJbb|U74d_cT^-cA|llg=ZM{N5fGq46GzMAr70I#nS;U?lVeQcXi!y_>do~EEeZ;f zn8irFrHhl=$FuKcy;cRZ0(SUWSwFR#O>6sbL=Lw~Fty!$lHqDK*2>(L0xU96Jl%i0 zJ3$49cWiZo#7|4a`it+>5gib8_R_-hRmPCS-66yEX$m{;1jL)uQ7Y70+4{QUc(yw8 ztHU+P*SlHmGKz~2-8uD+$ONL+6c^D=xyIb^^F8z>21*@!whS1;F@6*{<-Q7zFKPlOn_B zc=D$d#;JR~KPoQ!quRNxJe9c*)=@fNeN zm<_+(^CA)js*dulpX;3Aa~Le!%C*^i=T9x?d)LkW?l!8|R@at25n4V2g?A@aQrF6h z%gc2_52HlCev1=ov7jve)Yo?+ib@DLCcx%Ry`|VeHrvcNG}w-H>#}d$%5KnvY4}?tS?R^}3+IoE%55!-BJ#_xnPlT&{k)YR)O{WGo7} zgnWm62Oo&ZaOCElGMwEQ@#l%}3W{M7MTRk0yYyVZ)y+@fa9qd{K0b|=vLKOdiPsPKt9fbY>F-P5 z>AOzt27bH6D65ODNKQdX>4e6yls9i^fXT1i_xj|q5WaH3z-W;Q30W%O*k(7%n)>+o z9HVYFj7OsLu)cf+Ybt3)3I75P?k41ee zGi;=4D59mWDQA%Y}Qp znUTJdjqqIz8hD636XoE``0nC+Sz~ttN7Ywm2YE^z8IF(%x?n&_BiV-j__AZk#*9<0 z{(X#Kcf{1d|^5Ni5)7IcbpMw6Vy6 zDAbcXhr^%XeaOU^P}p?LtM%kO}jEFv{;zDS~D{PZyeEMBo)J= zxlAxJKwjLuCzj1?2 z-Hc81h`RfWtgO}ZCk^#!aA7Igec|yUTu@7^njLqX{M&;^-!>=6ueM|5^?1qdXF~?= zFUqyO6A?$>7oN?#-Df92cF+x!0Zq-V-S52F1=w`H$2b8Gebs6@ze`H%=HqXhPna2! z_PH09Ki2{ZxHkUc2+zG3YDZ8LiNqH;CsT~mX?BdxZz)evSLSjK*pCwTkd~*X6A@B# z2Y5L%$DemK@LM)u&g)4Z8)`AlD&<~VS>4#;DJU$IUh=1yKXU)hohFL~A)emRH#s?E z8inQ{{ss!X5XpDyZr?WbFQ&5+D#$1ZC0_d!mXySLf4TF9V&V6z&rO_Vlt-nQN3dH5 z286$?Zp4H=#MX8kH|z=B9vQg_w&YFCdpKt>j2a%X2Lj5`pqi}ydh6&&=MA0E*PWBg zrR|`mBPHS1i&LzI_TblGV_$|mR5^Lxaf!XaVvt*~dASQoHoLHVDgHe2o%D*NBzxjB zb;To2I#;fo0GsHvf*?M#t!~^bbN=+9M<>bLKn*T;`QU0o_uVkV`OU?a#B=NJv%sJVQT6`L+(QhDs2Mg zqQ0EK&Co7&lxJ=7Brkp!nQm`V6Qz@B%fRjLhS7A2MxXYEXuVCs&1#4 zG&A-~blJMytX;a5i`fD(vNF;8VfSsC^_~R#iLF-t_Ui| zc}4AQAtG{sQMlwHOssHE+k+xUhHnnquZ8)UaX=~2W3z9J%sAznUwI4&x!J{Rw!004 zf*%+)J!9^}kf37jFI;YzC19>;@9$r`q8vc*6eNp4S!a0Ph5LmaCF8B}7wr+}wf&V# zOSYfyc4_H-#RcT(!-?gjj6vh5fd3#T9aQa+oHOfY3SHWl)wO5>>SdklaUWE^L8DOD zZ_L^^&0-`-u(CP*lVcnSK-qJyK9^Pz4#>t{zGS@r3?_)AHg{I^_H6^6Hb+X+xwu#zWu z789i8p-sUa%d!z2ACh3!d;Mk7%lg1^yJ9P3t33RWP5toLTl|VQR3-HHuq^rMn=8du zA1NN6THSzt0Y~p*R!T|*n36vb4&S$2=7dOOIP7CUcmss%gXd}}uIhrAcCJ3yaK$)h z4_}h2j37+Yy?S*Y?}A5MhhsuKOPZ!}6dLju$pAJyvg#}QNx3n~p&o|&D&o?u>zmv&pXvCkp=H;f4Dt z_7VyI@ajh8gzY668LxLY6*fzV51ktda@`F6Ts61?>Wa81MjzJxZR~!)3z_=FcBM)j8QNWkLmXWM5IdlB@xASy> z5ADa|eU3%PlAiivxuosSZt22Akc7elg8#6mXEP(2xCBN51ff7lCZm9$NY38MQ z+ug6x($Q7*-y39!2oguTgPKVU*ap%^j4nNvcm$Rl2oDiDh7}?1d_6V&dVPIwaw|EB!@|cc7H>guop-qO6hyg0k-;R~qt<$=ouwu^G*$!6+jZ z}~-S;k7G= z1?x%^(rdfHFO#CfHC{_)+zbTSZ0FT}wzY4J5vwFy@kK@JquGo!SfG>zr3(s6E$mA_ zPGS*N4{dME)(uztR6DBZD^UnBw24d7S>d)Uj+u~HFuw(9u6qLx$y3a)pEw`|Co>i( zh!jqsP}zo!VX;>9JU!ITN7H7FP4M*}+-p6bQo6-PN>r_DV$c7jg@lM`2;|vzj;ZP5*ARjxMLs~y(J&43&<|x#tDflwtW$lVn-Jqr4rvjg z13C2XJuNPoN6+^601Cb-E!8SnwxA@P#&!dhNAk(-4rE8E_G5vfVv@qo)+b<9drN&w z%Z=;ZVk|D%#xL=RaQ(%3$^3orw^GE@oe|F~?w`{w+ zZ=dxdZMgQTwDfRczuh5F3*kvO7#8{PR(q1S;R~s$#}N@&8ni=E%tdV`74(VHD8 z&GmP=cyT5c=*e>G%xHZvSs+7!5onyze%>-IU?Cwjl~!bHoJ-8V;wv)Gs7}d?6&G@I z{OLO}=i1rT(XR4sV!Nqs=E+S^@18T=S13Xc29f-*BZzMx@1_~nJ)fh`@CEq-PcC*O z=k%$m@AJf6K^n7SkLm&2Jv78H37)tzZ(O3yGgGz!ihqlgKdk{Zs{zcxw-<>u>K;BL z2h+>Z@5?IDZaFO@F$A=m%5_Cf(Ob9hXNo3`vy+phB~MrrFN3cu-b{VGa!uu&+`KU$ z?A&7P-~%Af-wTM;S;gkRKI6)$P%>un!rIJRqKPO(G!j5EkB<#6 z+ed{j-CKvhY+4qlFTQ$ zP!+y_IrvJQt>r{N=IvAV20;Ip`~&tJ^bbx8ON0uBKT-V~oM%@{~|2 zD0YTnhin@RH~224Dz5jTnmjjYQjZy^p!OV`4NAQwRziTP=2g9RmJt(OtT}(v!Yw|Y z`7EpA<-ekKtd`F?y@q&Qe$W^e2}3qdL2`LUGr)KvV! z0mnlJ==tO7cUT{wK6vN<>FnGencn|6J{>U~chZy?l6%Ny!{#!VN{6CIk_<)eBaD@~ zg)T0Y<5C+@&Qv1G6fM_UE@h0U#$0lyRFZ=t&iA$N_dodhmF@HSZ14B${d&G$&&Nwh zNcNMVWRuB#fItGAr{L1m zu8kX^I_5~FQU@jMt2dLDZ*Te)7w>Zcpf4H(|e4ebBW3L-A zGaFmY1BD!9f8ATVW+MUt)-|*``Bk_@F!W1fvJj{XVqgdS)+Vmj8rc}wU7)Lu$ADuW zv|nqlvZ?TN2Vn$IPffE}9U75}y97Oc18a(|l983>2aJs{IEyEY{WSf|)1~*R`3F^& z@edy2uHSEJ>c~;Yn`LHGL=Y+Pjn)7eN*^s9J7tV2bZBczfxHb^s#J(d0WU6>sK3I9 zptZD=H*cQC22K!)dnIPRe$9OUMYX8PPF589-+O>>tQyYB!jDkL$04!q``x%i-Z<7- z*{cRCzIi$}pGH%upMn7qQ(#qXgVX7Vq>POI)+|{KNhv9Q%gLT2!_B@d(!&8Gr!$>N zfiD4bIt9jBRwdVjTM)G9?oti~JrH}|tfaWT+%)b)qAELAja^vFoa9V&fU*ws%1RL= z@?w{boNo9^Q*h+<^F=Q@mHZv^!Dtv0TW=D3N_ms^0qNDxfSCOku=)B#khb|6S>GU`DW0*A*2@*%Z@CW{Lkh@Rx%71YCN%w%=jI3 zI#&boY2nXVEvxr$A9_09*vQ#NIBH%An<g!T&EM zm>=UsVsce1FS01hlVn#z-(6c^MTUlnL0W6gf1=p)+H%kLXB}C2lh^tz?pipN7Z7Ac zp@j(j*mAOqoDeSx2&mAT`c0EwQJTD>9L|4+uR^BDNcfDL9?)9+n~?yMtAZ@IS(EM4SczNw=d<(^5)tTWR~CA2kX$q-@C<8 zPIO{$>xJjxnTCc^Pb`nV?Cy1R&cxrA#A}(EnF*^G&jn>sqLoOmDxPZJw{!2A5foAP zfeH$)Uv%6ICiU#Dua8;p2{H3^(3Sd>07i*ZeWf{b=jK8|0y~}klggPU1P5zdSzD1R zSlj8_=`(RyV=NZg!k0;JOL@xkH2`f1!8c8{%;Vw|JM6(+t36b{$Fb6o=)*w?uA2vy ze+ki$!NJ2L9*5HP9?R*8%c!=`*0$st9%H7+$`?%Kef}J+X03w9fEnVkMcSzsiq{dB z+l8J{rq8u9e<55c_}4Pm!M<&WZ}QJ+?F{NV1xWPYlD&$8&XnCEEQ*y;4gdi zwO7yD2#Y>HR{8u+$cWR&w9pxVCR-GReG3LMh4)lp02r+HAw{->|br(S;` zWCPj(xCB;JNO$dJ=P9a(i$dDkS%3HHM~@Wmc^%IN=58BU%C8uk{|zeVMWNvd;+J=E zBaKmNI+g0Kl}PopKEdjq;9#~;oW#i)n@4g)?bNx914iI$SO&g&PNP%OC3gzkcz|W5 z3YQiP=m0I}@pfROeYOUJqQjVgXyIId#fqjR3^1??;qRGJyNdKb1fesDEi-F@d<^OOv<3GZ%Ofk(88I232w+X+G(`b~9-j-lcC(a5~(x1M_d zKLiE3Nltk>r~#SKuvy_MrMqomu4y-}pY^Mq8-;pC2h=0S$}jdSD7qpJYv}9u_<4K( z0OB?j7-Di7`57ZKZuAt5L_eS661)Ar}i z;Q_y*4Emc zCZlx(g%sp&0Ke0!t7+y*_-5zY;i4R;j{a6=AlelZoorV-?7-mCSC%mXzGjyV4*OaL zZ0#f!a;dFn=Z^dsoYEoLOkyj^*R(H|IyW;zuB@r~dazT?${yI|aDNyptHfk##8>TlyulNIJ;BVWQUzBxu{RTm*(UFscjn?5`xW^NK&%h$`M6385e@bhrtM@IU$d?*RQw~o_rYS zF1sO$oI9nW!anlbkD`wLg_F=`+ZCa1lq7rw5ipsHyG>2?<>h-lGyHSi7&l(mhbyUP zTo5B7u~wA@-*Lk|B%XUFafzhT`0(Dnu!M8x)=Uu3Nah|6u&e@PcEZdyQ#_tE7}}r& zFc{rKQNCUALG`XIA`1N13_X&lsD^hrlGb3m*2_X8lkH_!u(?r;!y%_o120Lu{#20! zS1Pq{9tJ~Lgg99QY;r|R{=Na-6=L?zKxuzwSC9*)cViGCjG47W$RumCQyBiO~z(eu> 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/Introjucer.jucer b/extras/Introjucer/Introjucer.jucer deleted file mode 100644 index 054a8a99..00000000 --- a/extras/Introjucer/Introjucer.jucer +++ /dev/null @@ -1,613 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extras/Introjucer/JuceLibraryCode/AppConfig.h b/extras/Introjucer/JuceLibraryCode/AppConfig.h deleted file mode 100644 index 14f97ce2..00000000 --- a/extras/Introjucer/JuceLibraryCode/AppConfig.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - - IMPORTANT! This file is auto-generated each time you save your - 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. - - Any commented-out settings will assume their default values. - -*/ - -#ifndef __JUCE_APPCONFIG_M70QFTRRK__ -#define __JUCE_APPCONFIG_M70QFTRRK__ - -//============================================================================== -// [BEGIN_USER_CODE_SECTION] - -// (You can add your own code in this section, and the Introjucer will not overwrite it) - -// [END_USER_CODE_SECTION] - -//============================================================================== -#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 - -//============================================================================== -#ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 -#endif - -//============================================================================== -// juce_core flags: - -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG -#endif - -#ifndef JUCE_LOG_ASSERTIONS - #define JUCE_LOG_ASSERTIONS 1 -#endif - -#ifndef JUCE_CHECK_MEMORY_LEAKS - //#define JUCE_CHECK_MEMORY_LEAKS -#endif - -#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES - //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES -#endif - -#ifndef JUCE_INCLUDE_ZLIB_CODE - //#define JUCE_INCLUDE_ZLIB_CODE -#endif - -#ifndef JUCE_USE_CURL - #define JUCE_USE_CURL 1 -#endif - -//============================================================================== -// juce_graphics flags: - -#ifndef JUCE_USE_COREIMAGE_LOADER - #define JUCE_USE_COREIMAGE_LOADER 0 -#endif - -#ifndef JUCE_USE_DIRECTWRITE - //#define JUCE_USE_DIRECTWRITE -#endif - -//============================================================================== -// juce_gui_basics flags: - -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING - //#define JUCE_ENABLE_REPAINT_DEBUGGING -#endif - -#ifndef JUCE_USE_XSHM - //#define JUCE_USE_XSHM -#endif - -#ifndef JUCE_USE_XRENDER - //#define JUCE_USE_XRENDER -#endif - -#ifndef JUCE_USE_XCURSOR - //#define JUCE_USE_XCURSOR -#endif - -//============================================================================== -// juce_gui_extra flags: - -#ifndef JUCE_WEB_BROWSER - //#define JUCE_WEB_BROWSER -#endif - -#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR - //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR -#endif - - -#endif // __JUCE_APPCONFIG_M70QFTRRK__ diff --git a/extras/Introjucer/JuceLibraryCode/BinaryData.cpp b/extras/Introjucer/JuceLibraryCode/BinaryData.cpp deleted file mode 100644 index ee5da55a..00000000 --- a/extras/Introjucer/JuceLibraryCode/BinaryData.cpp +++ /dev/null @@ -1,3911 +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" -"bool FILTERCLASSNAME::silenceInProducesSilenceOut() const\r\n" -"{\r\n" -" return false;\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" -" // 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" -" // I've added this to avoid people getting screaming feedback\r\n" -" // when they first compile the plugin, but obviously you don't need to\r\n" -" // this code if your algorithm already fills all the output channels.\r\n" -" for (int i = getNumInputChannels(); i < getNumOutputChannels(); ++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 < getNumInputChannels(); ++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" -" bool silenceInProducesSilenceOut() 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 = 4216; return jucer_AudioPluginFilterTemplate_cpp; - case 0x488afa0a: numBytes = 2188; 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/BinaryData.h b/extras/Introjucer/JuceLibraryCode/BinaryData.h deleted file mode 100644 index b217720d..00000000 --- a/extras/Introjucer/JuceLibraryCode/BinaryData.h +++ /dev/null @@ -1,155 +0,0 @@ -/* ========================================================================================= - - This is an auto-generated file: Any edits you make may be overwritten! - -*/ - -#ifndef BINARYDATA_H_62491730_INCLUDED -#define BINARYDATA_H_62491730_INCLUDED - -namespace BinaryData -{ - extern const char* jucer_AnimatedComponentTemplate_cpp; - const int jucer_AnimatedComponentTemplate_cppSize = 1949; - - extern const char* jucer_AudioComponentTemplate_cpp; - const int jucer_AudioComponentTemplate_cppSize = 3189; - - extern const char* jucer_AudioPluginEditorTemplate_cpp; - const int jucer_AudioPluginEditorTemplate_cppSize = 1180; - - extern const char* jucer_AudioPluginEditorTemplate_h; - const int jucer_AudioPluginEditorTemplate_hSize = 1012; - - extern const char* jucer_AudioPluginFilterTemplate_cpp; - const int jucer_AudioPluginFilterTemplate_cppSize = 4216; - - extern const char* jucer_AudioPluginFilterTemplate_h; - const int jucer_AudioPluginFilterTemplate_hSize = 2188; - - extern const char* jucer_ComponentTemplate_cpp; - const int jucer_ComponentTemplate_cppSize = 2161; - - extern const char* jucer_ComponentTemplate_h; - const int jucer_ComponentTemplate_hSize = 2141; - - extern const char* jucer_ContentCompTemplate_cpp; - const int jucer_ContentCompTemplate_cppSize = 886; - - extern const char* jucer_ContentCompTemplate_h; - const int jucer_ContentCompTemplate_hSize = 924; - - extern const char* jucer_InlineComponentTemplate_h; - const int jucer_InlineComponentTemplate_hSize = 1143; - - extern const char* jucer_MainConsoleAppTemplate_cpp; - const int jucer_MainConsoleAppTemplate_cppSize = 470; - - extern const char* jucer_MainTemplate_NoWindow_cpp; - const int jucer_MainTemplate_NoWindow_cppSize = 2010; - - extern const char* jucer_MainTemplate_SimpleWindow_cpp; - const int jucer_MainTemplate_SimpleWindow_cppSize = 3866; - - extern const char* jucer_MainTemplate_Window_cpp; - const int jucer_MainTemplate_Window_cppSize = 3778; - - extern const char* jucer_NewComponentTemplate_cpp; - const int jucer_NewComponentTemplate_cppSize = 1389; - - extern const char* jucer_NewComponentTemplate_h; - const int jucer_NewComponentTemplate_hSize = 648; - - extern const char* jucer_NewCppFileTemplate_cpp; - const int jucer_NewCppFileTemplate_cppSize = 262; - - extern const char* jucer_NewCppFileTemplate_h; - const int jucer_NewCppFileTemplate_hSize = 308; - - extern const char* jucer_NewInlineComponentTemplate_h; - const int jucer_NewInlineComponentTemplate_hSize = 1626; - - 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; - - extern const char* background_tile_png; - const int background_tile_pngSize = 151; - - extern const char* colourscheme_dark_xml; - const int colourscheme_dark_xmlSize = 1050; - - extern const char* colourscheme_light_xml; - const int colourscheme_light_xmlSize = 1050; - - extern const char* juce_icon_png; - const int juce_icon_pngSize = 40749; - - extern const char* projectIconAndroid_png; - const int projectIconAndroid_pngSize = 8150; - - extern const char* projectIconCodeblocks_png; - const int projectIconCodeblocks_pngSize = 11917; - - extern const char* projectIconLinuxMakefile_png; - const int projectIconLinuxMakefile_pngSize = 16444; - - extern const char* projectIconVisualStudio_png; - const int projectIconVisualStudio_pngSize = 7194; - - extern const char* projectIconXcode_png; - const int projectIconXcode_pngSize = 18281; - - extern const char* projectIconXcodeIOS_png; - const int projectIconXcodeIOS_pngSize = 18111; - - extern const char* RecentFilesMenuTemplate_nib; - const int RecentFilesMenuTemplate_nibSize = 2842; - - extern const char* wizard_AnimatedApp_svg; - const int wizard_AnimatedApp_svgSize = 2963; - - extern const char* wizard_AudioApp_svg; - const int wizard_AudioApp_svgSize = 9802; - - extern const char* wizard_AudioPlugin_svg; - const int wizard_AudioPlugin_svgSize = 10809; - - extern const char* wizard_ConsoleApp_svg; - const int wizard_ConsoleApp_svgSize = 1204; - - extern const char* wizard_DLL_svg; - const int wizard_DLL_svgSize = 3588; - - extern const char* wizard_GUI_svg; - const int wizard_GUI_svgSize = 3448; - - extern const char* wizard_Highlight_svg; - const int wizard_Highlight_svgSize = 638; - - extern const char* wizard_Openfile_svg; - const int wizard_Openfile_svgSize = 686; - - extern const char* wizard_OpenGL_svg; - const int wizard_OpenGL_svgSize = 2497; - - extern const char* wizard_StaticLibrary_svg; - const int wizard_StaticLibrary_svgSize = 3563; - - // Points to the start of a list of resource names. - extern const char* namedResourceList[]; - - // Number of elements in the namedResourceList array. - const int namedResourceListSize = 44; - - // 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/extras/Introjucer/JuceLibraryCode/JuceHeader.h b/extras/Introjucer/JuceLibraryCode/JuceHeader.h deleted file mode 100644 index ceba41fb..00000000 --- a/extras/Introjucer/JuceLibraryCode/JuceHeader.h +++ /dev/null @@ -1,41 +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_M70QFTRRK__ -#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 "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 = "The Introjucer"; - const char* const versionString = "4.1.0"; - const int versionNumber = 0x40100; -} -#endif - -#endif // __APPHEADERFILE_M70QFTRRK__ diff --git a/extras/Introjucer/JuceLibraryCode/ReadMe.txt b/extras/Introjucer/JuceLibraryCode/ReadMe.txt deleted file mode 100644 index f6c3564e..00000000 --- a/extras/Introjucer/JuceLibraryCode/ReadMe.txt +++ /dev/null @@ -1,12 +0,0 @@ - - Important Note!! - ================ - -The purpose of this folder is to contain files that are auto-generated by the Introjucer, -and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer 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). 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 06e88f93..00000000 --- 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 e4574f47..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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_AppearanceSettings.cpp b/extras/Introjucer/Source/Application/jucer_AppearanceSettings.cpp deleted file mode 100644 index 095fd3ae..00000000 --- a/extras/Introjucer/Source/Application/jucer_AppearanceSettings.cpp +++ /dev/null @@ -1,404 +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_Application.h" -#include "jucer_AppearanceSettings.h" -#include "jucer_GlobalPreferences.h" - -namespace AppearanceColours -{ - struct ColourInfo - { - const char* name; - int colourID; - bool mustBeOpaque; - bool applyToEditorOnly; - }; - - static const ColourInfo colours[] = - { - { "Main Window Bkgd", mainBackgroundColourId, true, false }, - { "Treeview Highlight", TreeView::selectedItemBackgroundColourId, false, false }, - - { "Code Background", CodeEditorComponent::backgroundColourId, true, false }, - { "Line Number Bkgd", CodeEditorComponent::lineNumberBackgroundId, false, false }, - { "Line Numbers", CodeEditorComponent::lineNumberTextId, false, false }, - { "Plain Text", CodeEditorComponent::defaultTextColourId, false, false }, - { "Selected Text Bkgd", CodeEditorComponent::highlightColourId, false, false }, - { "Caret", CaretComponent::caretColourId, false, true } - }; - - enum - { - numColours = sizeof (AppearanceColours::colours) / sizeof (AppearanceColours::colours[0]) - }; -} - -//============================================================================== -AppearanceSettings::AppearanceSettings (bool updateAppWhenChanged) - : settings ("COLOUR_SCHEME") -{ - if (! IntrojucerApp::getApp().isRunningCommandLine) - { - IntrojucerLookAndFeel lf; - - for (int i = 0; i < AppearanceColours::numColours; ++i) - getColourValue (AppearanceColours::colours[i].name) = lf.findColour (AppearanceColours::colours[i].colourID).toString(); - - CodeDocument doc; - CPlusPlusCodeTokeniser tokeniser; - CodeEditorComponent editor (doc, &tokeniser); - - const CodeEditorComponent::ColourScheme cs (editor.getColourScheme()); - - for (int i = cs.types.size(); --i >= 0;) - { - CodeEditorComponent::ColourScheme::TokenType& t = cs.types.getReference(i); - getColourValue (t.name) = t.colour.toString(); - } - - getCodeFontValue() = getDefaultCodeFont().toString(); - - if (updateAppWhenChanged) - settings.addListener (this); - } -} - -File AppearanceSettings::getSchemesFolder() -{ - File f (getGlobalProperties().getFile().getSiblingFile ("Schemes")); - f.createDirectory(); - return f; -} - -void AppearanceSettings::writeDefaultSchemeFile (const String& xmlString, const String& name) -{ - const File file (getSchemesFolder().getChildFile (name).withFileExtension (getSchemeFileSuffix())); - - AppearanceSettings settings (false); - - ScopedPointer xml (XmlDocument::parse (xmlString)); - if (xml != nullptr) - settings.readFromXML (*xml); - - settings.writeToFile (file); -} - -void AppearanceSettings::refreshPresetSchemeList() -{ - writeDefaultSchemeFile (BinaryData::colourscheme_dark_xml, "Default (Dark)"); - writeDefaultSchemeFile (BinaryData::colourscheme_light_xml, "Default (Light)"); - - Array newSchemes; - getSchemesFolder().findChildFiles (newSchemes, File::findFiles, false, String ("*") + getSchemeFileSuffix()); - - if (newSchemes != presetSchemeFiles) - { - presetSchemeFiles.swapWith (newSchemes); - IntrojucerApp::getCommandManager().commandStatusChanged(); - } -} - -StringArray AppearanceSettings::getPresetSchemes() -{ - StringArray s; - for (int i = 0; i < presetSchemeFiles.size(); ++i) - s.add (presetSchemeFiles.getReference(i).getFileNameWithoutExtension()); - - return s; -} - -void AppearanceSettings::selectPresetScheme (int index) -{ - readFromFile (presetSchemeFiles [index]); -} - -bool AppearanceSettings::readFromXML (const XmlElement& xml) -{ - if (xml.hasTagName (settings.getType().toString())) - { - const ValueTree newSettings (ValueTree::fromXml (xml)); - - // we'll manually copy across the new properties to the existing tree so that - // any open editors will be kept up to date.. - settings.copyPropertiesFrom (newSettings, nullptr); - - for (int i = settings.getNumChildren(); --i >= 0;) - { - ValueTree c (settings.getChild (i)); - - const ValueTree newValue (newSettings.getChildWithProperty (Ids::name, c.getProperty (Ids::name))); - - if (newValue.isValid()) - c.copyPropertiesFrom (newValue, nullptr); - } - - return true; - } - - return false; -} - -bool AppearanceSettings::readFromFile (const File& file) -{ - const ScopedPointer xml (XmlDocument::parse (file)); - return xml != nullptr && readFromXML (*xml); -} - -bool AppearanceSettings::writeToFile (const File& file) const -{ - const ScopedPointer xml (settings.createXml()); - return xml != nullptr && xml->writeToFile (file, String::empty); -} - -Font AppearanceSettings::getDefaultCodeFont() -{ - return Font (Font::getDefaultMonospacedFontName(), Font::getDefaultStyle(), 13.0f); -} - -StringArray AppearanceSettings::getColourNames() const -{ - StringArray s; - - for (int i = 0; i < settings.getNumChildren(); ++i) - { - const ValueTree c (settings.getChild(i)); - - if (c.hasType ("COLOUR")) - s.add (c [Ids::name]); - } - - return s; -} - -void AppearanceSettings::updateColourScheme() -{ - applyToLookAndFeel (LookAndFeel::getDefaultLookAndFeel()); - IntrojucerApp::getApp().mainWindowList.sendLookAndFeelChange(); -} - -void AppearanceSettings::applyToLookAndFeel (LookAndFeel& lf) const -{ - for (int i = 0; i < AppearanceColours::numColours; ++i) - { - Colour col; - if (getColour (AppearanceColours::colours[i].name, col)) - { - if (AppearanceColours::colours[i].mustBeOpaque) - col = Colours::white.overlaidWith (col); - - if (! AppearanceColours::colours[i].applyToEditorOnly) - lf.setColour (AppearanceColours::colours[i].colourID, col); - } - } - - lf.setColour (ScrollBar::thumbColourId, lf.findColour (mainBackgroundColourId).contrasting().withAlpha (0.13f)); -} - -void AppearanceSettings::applyToCodeEditor (CodeEditorComponent& editor) const -{ - CodeEditorComponent::ColourScheme cs (editor.getColourScheme()); - - for (int i = cs.types.size(); --i >= 0;) - { - CodeEditorComponent::ColourScheme::TokenType& t = cs.types.getReference(i); - getColour (t.name, t.colour); - } - - editor.setColourScheme (cs); - editor.setFont (getCodeFont()); - - for (int i = 0; i < AppearanceColours::numColours; ++i) - { - if (AppearanceColours::colours[i].applyToEditorOnly) - { - Colour col; - if (getColour (AppearanceColours::colours[i].name, col)) - editor.setColour (AppearanceColours::colours[i].colourID, col); - } - } - - editor.setColour (ScrollBar::thumbColourId, editor.findColour (CodeEditorComponent::backgroundColourId) - .contrasting() - .withAlpha (0.13f)); -} - -Font AppearanceSettings::getCodeFont() const -{ - const String fontString (settings [Ids::font].toString()); - - if (fontString.isEmpty()) - return getDefaultCodeFont(); - - return Font::fromString (fontString); -} - -Value AppearanceSettings::getCodeFontValue() -{ - return settings.getPropertyAsValue (Ids::font, nullptr); -} - -Value AppearanceSettings::getColourValue (const String& colourName) -{ - ValueTree c (settings.getChildWithProperty (Ids::name, colourName)); - - if (! c.isValid()) - { - c = ValueTree ("COLOUR"); - c.setProperty (Ids::name, colourName, nullptr); - settings.addChild (c, -1, nullptr); - } - - return c.getPropertyAsValue (Ids::colour, nullptr); -} - -bool AppearanceSettings::getColour (const String& name, Colour& result) const -{ - const ValueTree colour (settings.getChildWithProperty (Ids::name, name)); - - if (colour.isValid()) - { - result = Colour::fromString (colour [Ids::colour].toString()); - return true; - } - - return false; -} - -//============================================================================== -IntrojucerLookAndFeel::IntrojucerLookAndFeel() -{ - setColour (mainBackgroundColourId, Colour::greyLevel (0.8f)); -} - -int IntrojucerLookAndFeel::getTabButtonBestWidth (TabBarButton&, int) { return 120; } - -Colour IntrojucerLookAndFeel::getTabBackgroundColour (TabBarButton& button) -{ - const Colour bkg (button.findColour (mainBackgroundColourId).contrasting (0.15f)); - - if (button.isFrontTab()) - return bkg.overlaidWith (Colours::yellow.withAlpha (0.5f)); - - return bkg; -} - -void IntrojucerLookAndFeel::drawTabButton (TabBarButton& button, Graphics& g, bool isMouseOver, bool isMouseDown) -{ - const Rectangle activeArea (button.getActiveArea()); - - const Colour bkg (getTabBackgroundColour (button)); - - g.setGradientFill (ColourGradient (bkg.brighter (0.1f), 0, (float) activeArea.getY(), - bkg.darker (0.1f), 0, (float) activeArea.getBottom(), false)); - g.fillRect (activeArea); - - g.setColour (button.findColour (mainBackgroundColourId).darker (0.3f)); - g.drawRect (activeArea); - - const float alpha = button.isEnabled() ? ((isMouseOver || isMouseDown) ? 1.0f : 0.8f) : 0.3f; - const Colour col (bkg.contrasting().withMultipliedAlpha (alpha)); - - TextLayout textLayout; - LookAndFeel_V3::createTabTextLayout (button, (float) activeArea.getWidth(), (float) activeArea.getHeight(), col, textLayout); - - textLayout.draw (g, button.getTextArea().toFloat()); -} - -void IntrojucerLookAndFeel::drawConcertinaPanelHeader (Graphics& g, const Rectangle& area, - bool isMouseOver, bool /*isMouseDown*/, - ConcertinaPanel&, Component& panel) -{ - const Colour bkg (Colours::grey); - - g.setGradientFill (ColourGradient (Colour::greyLevel (isMouseOver ? 0.6f : 0.5f), 0, (float) area.getY(), - Colour::greyLevel (0.4f), 0, (float) area.getBottom(), false)); - g.fillAll(); - - g.setColour (bkg.contrasting().withAlpha (0.1f)); - g.fillRect (area.withHeight (1)); - g.fillRect (area.withTop (area.getBottom() - 1)); - - g.setColour (bkg.contrasting()); - g.setFont (Font (area.getHeight() * 0.6f).boldened()); - g.drawFittedText (panel.getName(), 4, 0, area.getWidth() - 6, area.getHeight(), Justification::centredLeft, 1); -} - -static Range getBrightnessRange (const Image& im) -{ - float minB = 1.0f, maxB = 0; - const int w = im.getWidth(); - const int h = im.getHeight(); - - for (int y = 0; y < h; ++y) - { - for (int x = 0; x < w; ++x) - { - const float b = im.getPixelAt (x, y).getBrightness(); - minB = jmin (minB, b); - maxB = jmax (maxB, b); - } - } - - return Range (minB, maxB); -} - -void IntrojucerLookAndFeel::fillWithBackgroundTexture (Graphics& g) -{ - const Colour bkg (findColour (mainBackgroundColourId)); - - if (backgroundTextureBaseColour != bkg) - { - backgroundTextureBaseColour = bkg; - - const Image original (ImageCache::getFromMemory (BinaryData::background_tile_png, - BinaryData::background_tile_pngSize)); - const int w = original.getWidth(); - const int h = original.getHeight(); - - backgroundTexture = Image (Image::RGB, w, h, false); - - const Range brightnessRange (getBrightnessRange (original)); - const float brightnessOffset = (brightnessRange.getStart() + brightnessRange.getEnd()) / 2.0f; - const float brightnessScale = 0.025f / brightnessRange.getLength(); - const float bkgB = bkg.getBrightness(); - - for (int y = 0; y < h; ++y) - { - for (int x = 0; x < w; ++x) - { - const float b = (original.getPixelAt (x, y).getBrightness() - brightnessOffset) * brightnessScale; - backgroundTexture.setPixelAt (x, y, bkg.withBrightness (jlimit (0.0f, 1.0f, bkgB + b))); - } - } - } - - g.setTiledImageFill (backgroundTexture, 0, 0, 1.0f); - g.fillAll(); -} - -void IntrojucerLookAndFeel::fillWithBackgroundTexture (Component& c, Graphics& g) -{ - dynamic_cast (c.getLookAndFeel()).fillWithBackgroundTexture (g); -} diff --git a/extras/Introjucer/Source/Application/jucer_AppearanceSettings.h b/extras/Introjucer/Source/Application/jucer_AppearanceSettings.h deleted file mode 100644 index 6b29257e..00000000 --- a/extras/Introjucer/Source/Application/jucer_AppearanceSettings.h +++ /dev/null @@ -1,101 +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_APPEARANCESETTINGS_H_INCLUDED -#define JUCER_APPEARANCESETTINGS_H_INCLUDED - - -class AppearanceSettings : private ValueTree::Listener -{ -public: - AppearanceSettings (bool updateAppWhenChanged); - - bool readFromFile (const File& file); - bool readFromXML (const XmlElement&); - bool writeToFile (const File& file) const; - - void updateColourScheme(); - void applyToCodeEditor (CodeEditorComponent& editor) const; - - StringArray getColourNames() const; - Value getColourValue (const String& colourName); - bool getColour (const String& name, Colour& resultIfFound) const; - - Font getCodeFont() const; - Value getCodeFontValue(); - - ValueTree settings; - - static File getSchemesFolder(); - StringArray getPresetSchemes(); - void refreshPresetSchemeList(); - void selectPresetScheme (int index); - - static Font getDefaultCodeFont(); - - static void showGlobalPreferences (ScopedPointer& ownerPointer); - - static const char* getSchemeFileSuffix() { return ".scheme"; } - static const char* getSchemeFileWildCard() { return "*.scheme"; } - -private: - - Array presetSchemeFiles; - - static void writeDefaultSchemeFile (const String& xml, const String& name); - - void applyToLookAndFeel (LookAndFeel&) const; - - void valueTreePropertyChanged (ValueTree&, const Identifier&) override { updateColourScheme(); } - void valueTreeChildAdded (ValueTree&, ValueTree&) override { updateColourScheme(); } - void valueTreeChildRemoved (ValueTree&, ValueTree&, int) override { updateColourScheme(); } - void valueTreeChildOrderChanged (ValueTree&, int, int) override { updateColourScheme(); } - void valueTreeParentChanged (ValueTree&) override { updateColourScheme(); } - void valueTreeRedirected (ValueTree&) override { updateColourScheme(); } - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AppearanceSettings) -}; - -//============================================================================== -class IntrojucerLookAndFeel : public LookAndFeel_V3 -{ -public: - IntrojucerLookAndFeel(); - - void fillWithBackgroundTexture (Graphics&); - static void fillWithBackgroundTexture (Component&, Graphics&); - - void drawTabButton (TabBarButton& button, Graphics&, bool isMouseOver, bool isMouseDown) override; - void drawTabAreaBehindFrontButton (TabbedButtonBar&, Graphics&, int, int) override {} - int getTabButtonBestWidth (TabBarButton&, int tabDepth) override; - void drawConcertinaPanelHeader (Graphics&, const juce::Rectangle&, bool, bool, ConcertinaPanel&, Component&) override; - static Colour getTabBackgroundColour (TabBarButton&); - -private: - Image backgroundTexture; - Colour backgroundTextureBaseColour; -}; - - -#endif // JUCER_APPEARANCESETTINGS_H_INCLUDED diff --git a/extras/Introjucer/Source/Application/jucer_Application.h b/extras/Introjucer/Source/Application/jucer_Application.h deleted file mode 100644 index 7a2fe9f9..00000000 --- a/extras/Introjucer/Source/Application/jucer_Application.h +++ /dev/null @@ -1,626 +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_Headers.h" -#include "jucer_MainWindow.h" -#include "jucer_CommandLine.h" -#include "../Project/jucer_Module.h" -#include "jucer_AutoUpdater.h" -#include "../Code Editor/jucer_SourceCodeEditor.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; - } - - //============================================================================== - class MainMenuModel : public MenuBarModel - { - public: - 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 (utf8Window); break; - case CommandIDs::showSVGPathTool: showSVGPathDataToolWindow (svgPathWindow); 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(); - } - - //============================================================================== - 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_AutoUpdater.cpp b/extras/Introjucer/Source/Application/jucer_AutoUpdater.cpp deleted file mode 100644 index 17f34f1a..00000000 --- a/extras/Introjucer/Source/Application/jucer_AutoUpdater.cpp +++ /dev/null @@ -1,828 +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_Application.h" -#include "jucer_AutoUpdater.h" - -LatestVersionChecker::JuceVersionTriple::JuceVersionTriple() - : major ((ProjectInfo::versionNumber & 0xff0000) >> 16), - minor ((ProjectInfo::versionNumber & 0x00ff00) >> 8), - build ((ProjectInfo::versionNumber & 0x0000ff) >> 0) -{} - -LatestVersionChecker::JuceVersionTriple::JuceVersionTriple (int juceVersionNumber) - : major ((juceVersionNumber & 0xff0000) >> 16), - minor ((juceVersionNumber & 0x00ff00) >> 8), - build ((juceVersionNumber & 0x0000ff) >> 0) -{} - -LatestVersionChecker::JuceVersionTriple::JuceVersionTriple (int majorInt, int minorInt, int buildNumber) - : major (majorInt), - minor (minorInt), - build (buildNumber) -{} - -bool LatestVersionChecker::JuceVersionTriple::fromString (const String& versionString, - LatestVersionChecker::JuceVersionTriple& result) -{ - StringArray tokenizedString = StringArray::fromTokens (versionString, ".", StringRef()); - - if (tokenizedString.size() != 3) - return false; - - result.major = tokenizedString [0].getIntValue(); - result.minor = tokenizedString [1].getIntValue(); - result.build = tokenizedString [2].getIntValue(); - - return true; -} - -String LatestVersionChecker::JuceVersionTriple::toString() const -{ - String retval; - retval << major << '.' << minor << '.' << build; - return retval; -} - -bool LatestVersionChecker::JuceVersionTriple::operator> (const LatestVersionChecker::JuceVersionTriple& b) const noexcept -{ - if (major == b.major) - { - if (minor == b.minor) - return build > b.build; - - return minor > b.minor; - } - - return major > b.major; -} - -//============================================================================== -struct RelaunchTimer : private Timer -{ - RelaunchTimer (const File& f) : parentFolder (f) - { - startTimer (1500); - } - - void timerCallback() override - { - stopTimer(); - - File app = parentFolder.getChildFile ( - #if JUCE_MAC - "Introjucer.app"); - #elif JUCE_WINDOWS - "Introjucer.exe"); - #elif JUCE_LINUX - "Introjucer"); - #endif - - JUCEApplication::quit(); - - if (app.exists()) - { - app.setExecutePermission (true); - - #if JUCE_MAC - app.getChildFile ("Contents") - .getChildFile ("MacOS") - .getChildFile ("Introjucer").setExecutePermission (true); - #endif - - app.startAsProcess(); - } - - delete this; - } - - File parentFolder; -}; - -//============================================================================== -class DownloadNewVersionThread : public ThreadWithProgressWindow -{ -public: - DownloadNewVersionThread (LatestVersionChecker& versionChecker,URL u, - const String& extraHeaders, File target) - : ThreadWithProgressWindow ("Downloading New Version", true, true), - owner (versionChecker), - result (Result::ok()), - url (u), headers (extraHeaders), targetFolder (target) - { - } - - static void performDownload (LatestVersionChecker& versionChecker, URL u, - const String& extraHeaders, File targetFolder) - { - DownloadNewVersionThread d (versionChecker, u, extraHeaders, targetFolder); - - if (d.runThread()) - { - if (d.result.failed()) - { - AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, - "Installation Failed", - d.result.getErrorMessage()); - } - else - { - new RelaunchTimer (targetFolder); - } - } - } - - void run() override - { - setProgress (-1.0); - - MemoryBlock zipData; - result = download (zipData); - - if (result.wasOk() && ! threadShouldExit()) - { - setStatusMessage ("Installing..."); - result = owner.performUpdate (zipData, targetFolder); - } - } - - Result download (MemoryBlock& dest) - { - setStatusMessage ("Downloading..."); - - int statusCode = 302; - const int maxRedirects = 5; - - // we need to do the redirecting manually due to inconsistencies on the way headers are handled on redirects - ScopedPointer in; - - for (int redirect = 0; redirect < maxRedirects; ++redirect) - { - StringPairArray responseHeaders; - - in = url.createInputStream (false, nullptr, nullptr, headers, 10000, &responseHeaders, &statusCode, 0); - if (in == nullptr || statusCode != 302) - break; - - String redirectPath = responseHeaders ["Location"]; - if (redirectPath.isEmpty()) - break; - - url = owner.getLatestVersionURL (headers, redirectPath); - } - - if (in != nullptr && statusCode == 200) - { - int64 total = 0; - MemoryOutputStream mo (dest, true); - - for (;;) - { - if (threadShouldExit()) - return Result::fail ("cancel"); - - int64 written = mo.writeFromInputStream (*in, 8192); - - if (written == 0) - break; - - total += written; - - setStatusMessage (String (TRANS ("Downloading... (123)")) - .replace ("123", File::descriptionOfSizeInBytes (total))); - } - - return Result::ok(); - } - - return Result::fail ("Failed to download from: " + url.toString (false)); - } - - LatestVersionChecker& owner; - Result result; - URL url; - String headers; - File targetFolder; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DownloadNewVersionThread) -}; - -//============================================================================== -class UpdateUserDialog : public Component, - public ButtonListener -{ -public: - UpdateUserDialog (const LatestVersionChecker::JuceVersionTriple& version, - const String& productName, - const String& releaseNotes, - const char* overwriteFolderPath) - : hasOverwriteButton (overwriteFolderPath != nullptr) - { - addAndMakeVisible (titleLabel = new Label ("Title Label", - TRANS ("Download \"123\" version 456?").replace ("123", productName) - .replace ("456", version.toString()))); - - titleLabel->setFont (Font (15.00f, Font::bold)); - titleLabel->setJustificationType (Justification::centredLeft); - titleLabel->setEditable (false, false, false); - titleLabel->setColour (TextEditor::textColourId, Colours::black); - titleLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); - - addAndMakeVisible (contentLabel = new Label ("Content Label", - TRANS ("A new version of \"123\" is available - would you like to download it?") - .replace ("123", productName))); - contentLabel->setFont (Font (15.00f, Font::plain)); - contentLabel->setJustificationType (Justification::topLeft); - contentLabel->setEditable (false, false, false); - contentLabel->setColour (TextEditor::textColourId, Colours::black); - contentLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); - - addAndMakeVisible (okButton = new TextButton ("OK Button")); - okButton->setButtonText (TRANS(hasOverwriteButton ? "Choose Another Folder..." : "OK")); - okButton->addListener (this); - - addAndMakeVisible (cancelButton = new TextButton ("Cancel Button")); - cancelButton->setButtonText (TRANS("Cancel")); - cancelButton->addListener (this); - - addAndMakeVisible (changeLogLabel = new Label ("Change Log Label", - TRANS("Release Notes:"))); - changeLogLabel->setFont (Font (15.00f, Font::plain)); - changeLogLabel->setJustificationType (Justification::topLeft); - changeLogLabel->setEditable (false, false, false); - changeLogLabel->setColour (TextEditor::textColourId, Colours::black); - changeLogLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); - - addAndMakeVisible (changeLog = new TextEditor ("Change Log")); - changeLog->setMultiLine (true); - changeLog->setReturnKeyStartsNewLine (true); - changeLog->setReadOnly (true); - changeLog->setScrollbarsShown (true); - changeLog->setCaretVisible (false); - changeLog->setPopupMenuEnabled (false); - changeLog->setText (releaseNotes); - - if (hasOverwriteButton) - { - addAndMakeVisible (overwriteLabel = new Label ("Overwrite Label", - TRANS("Updating will overwrite everything in the following folder:"))); - overwriteLabel->setFont (Font (15.00f, Font::plain)); - overwriteLabel->setJustificationType (Justification::topLeft); - overwriteLabel->setEditable (false, false, false); - overwriteLabel->setColour (TextEditor::textColourId, Colours::black); - overwriteLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); - - addAndMakeVisible (overwritePath = new Label ("Overwrite Path", overwriteFolderPath)); - overwritePath->setFont (Font (15.00f, Font::bold)); - overwritePath->setJustificationType (Justification::topLeft); - overwritePath->setEditable (false, false, false); - overwritePath->setColour (TextEditor::textColourId, Colours::black); - overwritePath->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); - - addAndMakeVisible (overwriteButton = new TextButton ("Overwrite Button")); - overwriteButton->setButtonText (TRANS("Overwrite")); - overwriteButton->addListener (this); - } - - juceIcon = Drawable::createFromImageData (BinaryData::juce_icon_png, - BinaryData::juce_icon_pngSize); - - setSize (518, overwritePath ? 345 : 269); - } - - ~UpdateUserDialog() - { - titleLabel = nullptr; - contentLabel = nullptr; - okButton = nullptr; - cancelButton = nullptr; - changeLogLabel = nullptr; - changeLog = nullptr; - overwriteLabel = nullptr; - overwritePath = nullptr; - overwriteButton = nullptr; - juceIcon = nullptr; - } - - void paint (Graphics& g) override - { - g.fillAll (Colours::lightgrey); - g.setColour (Colours::black); - - if (juceIcon != nullptr) - juceIcon->drawWithin (g, Rectangle (20, 17, 64, 64), - RectanglePlacement::stretchToFit, 1.000f); - } - - void resized() override - { - titleLabel->setBounds (88, 10, 397, 24); - contentLabel->setBounds (88, 40, 397, 51); - changeLogLabel->setBounds (22, 92, 341, 24); - changeLog->setBounds (24, 112, 476, 102); - - if (hasOverwriteButton) - { - okButton->setBounds (getWidth() - 24 - 174, getHeight() - 37, 174, 28); - overwriteButton->setBounds ((getWidth() - 24 - 174) + -14 - 86, getHeight() - 37, 86, 28); - cancelButton->setBounds (24, getHeight() - 37, 70, 28); - - overwriteLabel->setBounds (24, 238, 472, 16); - overwritePath->setBounds (24, 262, 472, 40); - } - else - { - okButton->setBounds (getWidth() - 24 - 47, getHeight() - 37, 47, 28); - cancelButton->setBounds ((getWidth() - 24 - 47) + -14 - 70, getHeight() - 37, 70, 28); - } - } - - void buttonClicked (Button* clickedButton) override - { - if (DialogWindow* parentDialog = findParentComponentOfClass()) - { - if (clickedButton == overwriteButton) parentDialog->exitModalState (1); - else if (clickedButton == okButton) parentDialog->exitModalState (2); - else if (clickedButton == cancelButton) parentDialog->exitModalState (-1); - } - else - jassertfalse; - } - - static DialogWindow* launch (const LatestVersionChecker::JuceVersionTriple& version, - const String& productName, - const String& releaseNotes, - const char* overwritePath = nullptr) - { - OptionalScopedPointer userDialog (new UpdateUserDialog (version, productName, - releaseNotes, overwritePath), true); - - DialogWindow::LaunchOptions lo; - lo.dialogTitle = TRANS ("Download \"123\" version 456?").replace ("456", version.toString()) - .replace ("123", productName); - lo.dialogBackgroundColour = Colours::lightgrey; - lo.content = userDialog; - lo.componentToCentreAround = nullptr; - lo.escapeKeyTriggersCloseButton = true; - lo.useNativeTitleBar = true; - lo.resizable = false; - lo.useBottomRightCornerResizer = false; - - return lo.launchAsync(); - } - -private: - bool hasOverwriteButton; - ScopedPointer

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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 00000000..50cd38f8 --- /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.1 + CFBundleVersion + 4.2.1 + NSHumanReadableCopyright + + NSHighResolutionCapable + + CFBundleDocumentTypes + + + CFBundleTypeExtensions + + jucer + + CFBundleTypeName + jucer + CFBundleTypeRole + Editor + CFBundleTypeIconFile + Icon + NSPersistentStoreTypeKey + XML + + + + diff --git a/extras/Projucer/Builds/MacOSX/Info.plist b/extras/Projucer/Builds/MacOSX/Info.plist new file mode 100644 index 00000000..8fb75c8a --- /dev/null +++ b/extras/Projucer/Builds/MacOSX/Info.plist @@ -0,0 +1,59 @@ + + + + + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSExceptionDomains + + amazonaws.com + + NSExceptionAllowsInsecureHTTPLoads + + NSIncludesSubdomains + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + Icon.icns + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + Projucer + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 4.1.0 + CFBundleVersion + 4.1.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + CFBundleDocumentTypes + + + CFBundleTypeExtensions + + jucer + + CFBundleTypeName + jucer + CFBundleTypeRole + Editor + CFBundleTypeIconFile + Icon + NSPersistentStoreTypeKey + XML + + + + diff --git a/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj new file mode 100644 index 00000000..4b31c6b8 --- /dev/null +++ b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj @@ -0,0 +1,2532 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + + A6A9D7624D002544ECB81D82 = {isa = PBXBuildFile; fileRef = 09DE066936CF037E9709ADB1; }; + A578EAD4BB55680E8097BE0F = {isa = PBXBuildFile; fileRef = 80D62B907248523E6943298B; }; + C1B9334AE849F93FB3C56B34 = {isa = PBXBuildFile; fileRef = 5A75806B34E4EA6598A6024A; }; + 8B4A593B3869815BBAC3EF93 = {isa = PBXBuildFile; fileRef = 7B3F7ECF6DBF8C8EE5C2CB86; }; + A14C2C2725DA3CA7995D2815 = {isa = PBXBuildFile; fileRef = 210CD22F25F2C22F9CEEB025; }; + 1E76E36772355E2A43CF4961 = {isa = PBXBuildFile; fileRef = D00F311BFC3C2625C457CB9B; }; + 241F29FCBB7A17BB44A0B10C = {isa = PBXBuildFile; fileRef = D1F9B0E9F5D54FE48BEB46EA; }; + 9359F9401D59B4517F75C39C = {isa = PBXBuildFile; fileRef = 728FE25157E9874D50BBECB2; }; + 091A57B4B9CE623E75E9A756 = {isa = PBXBuildFile; fileRef = E983E6DDE3318B872EBE347F; }; + FAB47E69F7D9DCE1F906AA07 = {isa = PBXBuildFile; fileRef = 8F7BE18698ADCEF51CDE4A5C; }; + 0E884E47A637D6C65154699A = {isa = PBXBuildFile; fileRef = 842427CFE565F3FCE5B99174; }; + 49C22786B54C5DC94E4654B8 = {isa = PBXBuildFile; fileRef = E96597BBC6A98255B51B94DC; }; + CDEF9FF2D119476D707305DF = {isa = PBXBuildFile; fileRef = 431D30038CBF67F80E8B3A13; }; + 96EC6315E1B3F1A109F84BAF = {isa = PBXBuildFile; fileRef = 9F01BA9942D038EA8B5289A8; }; + 11D42F7EC6E6539D79A7F4B1 = {isa = PBXBuildFile; fileRef = E5D6C36496F5BC84D7213BE8; }; + B980464FA2761CCD64B1FAD6 = {isa = PBXBuildFile; fileRef = CF6C8BD0DA3D8CD4E99EBADA; }; + 2610F357881240ACBF612F48 = {isa = PBXBuildFile; fileRef = 6678E9B3EEACAD47F438B264; }; + 1321E6C1C6170B6C898AD09D = {isa = PBXBuildFile; fileRef = 951128CA33CCDEF570436B1C; }; + 357A6AA6960EF95D92929BEE = {isa = PBXBuildFile; fileRef = 441CFEA771BAA50E187342E9; }; + 6DD9DA1677A6CF789CDAB478 = {isa = PBXBuildFile; fileRef = 0D4D508C638BC74943B9976D; }; + 954A036F5DDB375DB23FFB3E = {isa = PBXBuildFile; fileRef = 0400CB0E056A1D840304D2DE; }; + 3EB3D569250C4BA4CA9AF578 = {isa = PBXBuildFile; fileRef = C7608A3967D9AB9481848F2B; }; + 3C3B0ED6C43FDA3AF76DEE2E = {isa = PBXBuildFile; fileRef = 84DE44680C9D37CDDCD127FF; }; + 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; }; + 3DC282564876B1FC88AAA9B3 = {isa = PBXBuildFile; fileRef = 662C76394C5D1B56766FAFD9; }; + C49E1D32A9DCE3D59BC48B1D = {isa = PBXBuildFile; fileRef = 93B419190CCE92ACAB1ED25B; }; + E1268E019B434F6B5E9317DC = {isa = PBXBuildFile; fileRef = 1C216FE9B7A5209C5CCF2517; }; + CE91112DADB97C573C3C674D = {isa = PBXBuildFile; fileRef = 0169ACAA0FAE70CCEEE4F650; }; + A70F0274076C0D44ED71C980 = {isa = PBXBuildFile; fileRef = EF30A74B566A461A171BBF83; }; + BD1E0CBE74DDD2F303978E1F = {isa = PBXBuildFile; fileRef = 4E191CDCE7565DB726CF7065; }; + 8C1CC0E7A772D66635BA482F = {isa = PBXBuildFile; fileRef = 98F42686D9DAC974F2514217; }; + A69BF71FA90E5A66B6EB2E0F = {isa = PBXBuildFile; fileRef = 9C7FA58D223674C4C2AC6595; }; + D68DE111AFBD82F0D44A3B69 = {isa = PBXBuildFile; fileRef = B15E33E7342F6EB4F95C9B1D; }; + EC6A34EC9A9D454BF26AAD32 = {isa = PBXBuildFile; fileRef = 16203C6791259C9718A04C3A; }; + 8AD28823205783E6F676F254 = {isa = PBXBuildFile; fileRef = DF725A596B7BCD7520CC0A9F; }; + 34716A3539FD288C09CBA38A = {isa = PBXBuildFile; fileRef = 921752D9B004A15973DDF56F; }; + 45A53AF13B0D663050632E8C = {isa = PBXBuildFile; fileRef = 9EF583A6201DBC813C2F63C4; }; + C2A85091A28C907A4E1E1687 = {isa = PBXBuildFile; fileRef = 133F1E428260C5ADDF496DF9; }; + 83431B7234A78ECFB3C15F63 = {isa = PBXBuildFile; fileRef = 78D0DBC4798FF040FDB90F6D; }; + 209FCCC2155A1FCB7E11E20D = {isa = PBXBuildFile; fileRef = 269A454F1FF081DA67FFD578; }; + C93569F47B4AC1A8E37992ED = {isa = PBXBuildFile; fileRef = 9D7689451732AF8333402B3A; }; + 1B988E139004D8E2850EB656 = {isa = PBXBuildFile; fileRef = C187718F7B9EBA88584B43F3; }; + 3D777382FE212D59BAF871FD = {isa = PBXBuildFile; fileRef = DCBB17488227A2CA7D3D3947; }; + 3FCA61C401007B243E2E9035 = {isa = PBXBuildFile; fileRef = F797071D88542C813CF7222A; }; + 30B921C38DCEE787B294B746 = {isa = PBXBuildFile; fileRef = BAC43B20E14A340CCF14119C; }; + 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; }; + 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; }; + 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"; }; + 003CA65912AC8048759478F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0075C5208947159AF2802F3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioPluginEditorTemplate.cpp"; path = "../../Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 008C8B2C2328CFBB9375397D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComboBoxHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ComboBoxHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 03D3053EDE47FED1919C6674 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AudioPluginFilterTemplate.h"; path = "../../Source/BinaryData/jucer_AudioPluginFilterTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + 0400CB0E056A1D840304D2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_CommandLine.cpp"; path = "../../Source/Application/jucer_CommandLine.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0411DD6D48DBCEBAA51BEE49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 0428DB5EA9F911DF9926AB87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; + 045B9C5D21C5C86FED140D81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 046F85D56358C6CE4E88882F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + 0473C3BCB7A43F710B8EE36C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 04960EE443D073F4CB7121FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + 049A726AFEC564314777C076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_AndroidBase.h"; path = "../../Source/Project Saving/jucer_ProjectExport_AndroidBase.h"; sourceTree = "SOURCE_ROOT"; }; + 04C1267B2BD11A6ECCCA654C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentBooleanProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_ComponentBooleanProperty.h"; sourceTree = "SOURCE_ROOT"; }; + 04F31392CA58A2A434CFF7FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 04F670E070D31FB66C7DCAEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; + 05076CDF1511A5F8A8E18F1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_Make.h"; path = "../../Source/Project Saving/jucer_ProjectExport_Make.h"; sourceTree = "SOURCE_ROOT"; }; + 050D2D209E6423528D0138F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 051D4EAC1602802E97B24A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 05C936573E73B8AACBDF3191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 05D67B5A8D64947C067C0945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_GUIApp.h"; path = "../../Source/Wizards/jucer_ProjectWizard_GUIApp.h"; sourceTree = "SOURCE_ROOT"; }; + 05EEE241CC0DF57A7BE86C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + 06411E446478986E7E65FE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + 07EF1095F6D45A29AF2A6B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + 0819B9CBFBA5F410C41C978A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 084C0070BC67BC893B967EF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ToggleButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ToggleButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 0859382DCC804302437ECC4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; + 087CB3A961CD3C7434D660A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewProjectWizard.h"; path = "../../Source/Wizards/jucer_NewProjectWizard.h"; sourceTree = "SOURCE_ROOT"; }; + 08ADF7FC9BBE70F3C8186215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + 08D19EE7C17DCED7E7BBEEE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 0A596EE5FCD9A05F6A2333BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 0CEF14D37EC664CA49A2B04D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D100A1B27A72355323CB637 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D1C432D74433308E05942AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D4D508C638BC74943B9976D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AutoUpdater.cpp"; path = "../../Source/Application/jucer_AutoUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0DB0A9E30EEDDEA720BC5A03 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_StaticLibrary.svg"; path = "../../Source/BinaryData/wizard_StaticLibrary.svg"; sourceTree = "SOURCE_ROOT"; }; + 0E80EFDB550393DB1C94F291 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; + 0F01067432AC314EAC213C1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_Blank.h"; path = "../../Source/Wizards/jucer_ProjectWizard_Blank.h"; sourceTree = "SOURCE_ROOT"; }; + 0F249640243FBD5717F6ADD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MiscUtilities.cpp"; path = "../../Source/Utility/jucer_MiscUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0F2505BCD0232EB95D5199F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + 0F382FC6B16658EF02D2C4F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FAA46FE4A661AC6F65896CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FF1C6905150EAAB1AE081A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 1039ABBDCC86BDC9D2663017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + 1116222363E600327FC672A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + 1125D1B2AE54AEF2EB3D51C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerDocumentEditor.h"; path = "../../Source/ComponentEditor/ui/jucer_JucerDocumentEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 1153D1D54C3F91A7692DAAA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; + 117B5BB797DEC16E103A08F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 11BB370E0CBA3B3548B1DDC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 11C55B714FE5D7CAFC35A0C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 11DC04468BC6023671017EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewFileWizard.h"; path = "../../Source/Wizards/jucer_NewFileWizard.h"; sourceTree = "SOURCE_ROOT"; }; + 1241F3A1FCDF100CD75D5E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 139C8BAED6DCEE26652651B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 14F096198DE1002BF2CC56EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1502FA84EC50227A55ECEC7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; + 157290445D39269EA81887A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 16017456A45F74C692A3AE45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1614411A8699B82D1F7B0346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 16203C6791259C9718A04C3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintRoutinePanel.cpp"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 16385D79A30C6E06EFB46B79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_AndroidStudio.h"; path = "../../Source/Project Saving/jucer_ProjectExport_AndroidStudio.h"; sourceTree = "SOURCE_ROOT"; }; + 168F5F32F673036DDAEF1D8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + 170029276897B54B7FEC88AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; + 1729AEDC34001C31B8CC357C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_FileHelpers.cpp"; path = "../../Source/Utility/jucer_FileHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1772B02BAF54F29AD99DF42E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + 17C645785FB20AA2E91ED84B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; + 1814F5A906001DF674D1C6C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; + 185A05892DB1588ADED15127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; + 188D03A4247F4BC0539F5C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Colours.h"; path = "../../Source/Utility/jucer_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + 189357BBA18F12A3242706A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; + 18B0B21258B417DFDEB9D5F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 18D9EBA1DAE45EEF81FD5C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainConsoleAppTemplate.cpp"; path = "../../Source/BinaryData/jucer_MainConsoleAppTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 193908A02BA553DB5B30D759 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; + 197312FA79716425243A2941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; + 199722DD9BA0E30C0506941E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19BA84DFC81467A0CD6DC44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + 1A008A7010EFB8CF8532A862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; + 1A1B5A2E9F1DA2122D21F9DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 1A1C8AEC3C5AB2E972B0212E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; + 1A79A64F47F7B5083EEBB328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 1A8E24245E48C7C4DB0164E6 = {isa = PBXFileReference; lastKnownFileType = image.png; name = projectIconAndroid.png; path = ../../Source/BinaryData/projectIconAndroid.png; sourceTree = "SOURCE_ROOT"; }; + 1ACDDD42A7050309C8765F75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 1AF7EFBE4961C7B6C834BF54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PresetIDs.h"; path = "../../Source/Utility/jucer_PresetIDs.h"; sourceTree = "SOURCE_ROOT"; }; + 1B03B2952A4DDA6E6A1C35F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + 1B1A4A48AF3898485E7B1618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + 1B2B08359011B2BD7B07A677 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B9552C3FEAFF2071C860987 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BE0A20FB2284A4DDC3A359E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 1BF5C3F5DC2285FBEF72B697 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 1C216FE9B7A5209C5CCF2517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintElement.cpp"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C666CA3AF0AB4CDCA1D983F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 1C76BBCD73ED21571035675F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 1C81C5501BE7F2C912250711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GlobalPreferences.h"; path = "../../Source/Application/jucer_GlobalPreferences.h"; sourceTree = "SOURCE_ROOT"; }; + 1D3D6A19A60F0B03DE2F1C14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementPath.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementPath.h"; sourceTree = "SOURCE_ROOT"; }; + 1D99EA99F946D665FE583414 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_Highlight.svg"; path = "../../Source/BinaryData/wizard_Highlight.svg"; sourceTree = "SOURCE_ROOT"; }; + 1EC7A8EEAD8ADF43BF014C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + 1F28C0018228A0F749E5658E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1F36217CE7A5B1D63D41EA6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + 1F421199C40092BFEE0658C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_RelativePath.h"; path = "../../Source/Utility/jucer_RelativePath.h"; sourceTree = "SOURCE_ROOT"; }; + 1F73C3482D9ABB95A454B1B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1F7F2864FE54D79A0C42BE93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + 1F9BBDFA52513AD34D906D2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_HyperlinkButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_HyperlinkButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 1FA92F8F2B26C6CEC8B1D737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ButtonDocument.h"; path = "../../Source/ComponentEditor/documents/jucer_ButtonDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 202591AAB1ABCFE458F33F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 203CF0F8F72A516BB1CC5422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + 206D399250A42034706E5434 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + 20FAAE9F3A7B96C2D8C75BB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_SlidingPanelComponent.cpp"; path = "../../Source/Utility/jucer_SlidingPanelComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 20FC504E8FB8D30E890A9837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2107C02B684C7F5B75662333 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + 210A4FDD4A56CF817E5E8567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 210CD22F25F2C22F9CEEB025 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + 215EAB10AE8D19F23AD2BDBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + 21B527BEBFFFC536BA0DEE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + 21B6FE5EEB3E112385D62127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + 21D1D6A04B25346CD5524B89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + 2252F2B96709F3C7CE07B5E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + 225414095942818432AAE07D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + 227646334D4CBE863870234C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 2358EB55148891C87833008D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + 236FFB34CCADD5FC95DFF04D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 23A8DE16C0CDB8EED18B008B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CommandIDs.h"; path = "../../Source/Application/jucer_CommandIDs.h"; sourceTree = "SOURCE_ROOT"; }; + 240889EAEAC85D85AB61011B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 240BCAD873E4360E54CA2A81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2411094E8B601FD897AD24F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + 2416644BBABFD1F95EE12792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 26245818D3AA2370DAC04FFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; + 263D9041F9B7D6A79DC38CD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentLayoutEditor.h"; path = "../../Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 263F153E8A277E02A3754BBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 265CA78BFB9DEF68B34C57D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 269A454F1FF081DA67FFD578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_JucerDocument.cpp"; path = "../../Source/ComponentEditor/jucer_JucerDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 271A1D94B96A8B7C949FD8ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + 274B347BDF11D79DFC41900A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; }; + 27A2B025813B7E54E0862642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementUndoableAction.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementUndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 295A9B126C98FE15F5A8B81E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePropertyComponent.h"; path = "../../Source/ComponentEditor/properties/jucer_FilePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 29E4E641CF94C11326EABDDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; 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"; }; + 2AADCE9D8BADF4DAC05CCA1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; 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"; }; + 2D31D8E9881A842F9795BA8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2DCF6AAD0050CCB46951212F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; + 2DF5213993DF1380E29C848A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E1F83CE00F5855083AFA246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E540A9137E245EFADCFABB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E680E2C65684A4272AE079A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_SourceCodeEditor.cpp"; path = "../../Source/Code Editor/jucer_SourceCodeEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E96852D55A9C1DEAF76FF6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + 2ED5D4ABB34DAA5D6E93A171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2EEB1C074162F363C6599282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CommandLine.h"; path = "../../Source/Application/jucer_CommandLine.h"; sourceTree = "SOURCE_ROOT"; }; + 2FADEBA1901F74204DE253BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 2FBA1138907F4DE651870008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + 32070395DAFA5355D390A120 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + 322A68B4BBEE9CC039B9E024 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 3276A099EB6880D55D2D52C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32D9A904B4186B64A61FA8CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 33267FA61241D957E4304728 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; }; + 336D0A9B4D15CF866BCE3DFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + 3419904525A3F1FF0CC50687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3514E78B58A08F4C98F54C5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentLayoutPanel.h"; path = "../../Source/ComponentEditor/ui/jucer_ComponentLayoutPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 352DA3794CAAE2400AE8F2E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + 353E622BE257074B5589199D = {isa = PBXFileReference; lastKnownFileType = image.png; name = projectIconCodeblocks.png; path = ../../Source/BinaryData/projectIconCodeblocks.png; sourceTree = "SOURCE_ROOT"; }; + 358DA8CCDC8FA5B0D62D6CA3 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_Openfile.svg"; path = "../../Source/BinaryData/wizard_Openfile.svg"; sourceTree = "SOURCE_ROOT"; }; + 35A36102EAD2D2620EE99E7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePathPropertyComponent.h"; path = "../../Source/Utility/jucer_FilePathPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 35AF9D5F0603CF6CE2D355A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35BF11530EF0D771FD94ABDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 35CB48D497F35BF3F6998F5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExporter.h"; path = "../../Source/Project Saving/jucer_ProjectExporter.h"; sourceTree = "SOURCE_ROOT"; }; + 35E6EE1E98DD7050DDFECD9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ContentCompTemplate.h"; path = "../../Source/BinaryData/jucer_ContentCompTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + 360997864CB6E221E6C4871D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; + 364D1A9B113320407A7E57B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + 36981345C70DCC6B95DEC59C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + 375AFDF06A908D89DEC5205F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectTree_Base.h"; path = "../../Source/Project/jucer_ProjectTree_Base.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 389B101B43F42E80A54EDAEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; 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"; }; + 391D3BD098AC7300A4D3EF73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; 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"; }; + 3AB1D4CECEADD4836ACEEAEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + 3AB744A14A560E541723DC9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3B061AB9BFD8883A6AE8BCE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + 3BE15C22CE27658B1B9C4D56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; + 3C2487A14C3DEF992281AA31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; + 3C48242E40D358BC6FF7FE53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + 3C95FA2AA91EBA19ADDD5C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_Animated.h"; path = "../../Source/Wizards/jucer_ProjectWizard_Animated.h"; sourceTree = "SOURCE_ROOT"; }; + 3CABAAC1C4BC0D8105183D56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; + 3CD57938B4C273D0AA6E6B8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + 3D2B51C71E3676F283B778EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 3DBB6D91397AE61D59C90510 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3E03B7C7A19E63A724EB79F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ButtonDocument.cpp"; path = "../../Source/ComponentEditor/documents/jucer_ButtonDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3E766BE62093D76FB89F900D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 3F00C034B140193B3754969B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ImageResourceProperty.h"; path = "../../Source/ComponentEditor/paintelements/jucer_ImageResourceProperty.h"; sourceTree = "SOURCE_ROOT"; }; + 3F1501FE4867042830B25DD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F222D26A164E7AD78A33B3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + 3F4EEDF4AA7C37DC6A1B14B5 = {isa = PBXFileReference; lastKnownFileType = image.png; name = projectIconXcode.png; path = ../../Source/BinaryData/projectIconXcode.png; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 40BFF5B7BB816333201855F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 40EC68DEA4F9C55A8884990E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + 41105E536155E394E54BDD35 = {isa = PBXFileReference; lastKnownFileType = file.xml; name = "colourscheme_dark.xml"; path = "../../Source/BinaryData/colourscheme_dark.xml"; sourceTree = "SOURCE_ROOT"; }; + 412B48D0F05D78A73064B36B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 41B1F69EE26D31B3FBAEC5D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; + 41CA95403E264AA7457A61F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementRoundedRectangle.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementRoundedRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 42EBEBFF5A646996D8358315 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; 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"; }; + 431D30038CBF67F80E8B3A13 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + 4369FF46F0040C55E20B1443 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; + 43AF0426B86E66A21FD0A48B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; 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"; }; + 4437785A3DFF4AB2D6A78DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 444CA4B9CAD1F5ED5C45448B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 44BEFED79E5FE4F558458C14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4524F465153A8F6BDC236349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4543EACC9AEA1894A380624F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 458A05C0E1583B06B813596A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; + 45B8EAC396722D21E6658AE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 463765AF4ED37D37F1FBC043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; + 4662B49B0FBEAD3239602EC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 467A5E1882A75E01876A8C4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; + 468BFFBE4DA7835DD40C5FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AnimatedComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_AnimatedComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46C2D683A917A9D3729EEAC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + 471C7B0A8B92320AF0C80839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_StaticLibrary.h"; path = "../../Source/Wizards/jucer_ProjectWizard_StaticLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + 471CE8F45744EC436FCB2A05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; + 472F9A90F685220D730EBF6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; + 47B49049B85EED74D29C9906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectTree_File.h"; path = "../../Source/Project/jucer_ProjectTree_File.h"; sourceTree = "SOURCE_ROOT"; }; + 47DD50A5A9091F9900E0EAD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_JucerTreeViewBase.cpp"; path = "../../Source/Utility/jucer_JucerTreeViewBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47F4C6341177140302CE802A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 48A2FBB4CB48AC4FCA796F2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + 4904357A3FFA61972A9E9D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + 490FEE91E483534632094C67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + 4924392751ACE0C9F2076599 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49499FF5E55EB98673A6A68E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; 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"; }; + 4AF755C65E352951D80FB93B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B083E951ECB62217C46CB01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewProjectWizardClasses.cpp"; path = "../../Source/Wizards/jucer_NewProjectWizardClasses.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B98FC7F079F93BCC4D65C86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4BA3AA2AD711CD953AFCEBEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + 4DB834787369EBFCFF560F46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_AndroidAnt.h"; path = "../../Source/Project Saving/jucer_ProjectExport_AndroidAnt.h"; sourceTree = "SOURCE_ROOT"; }; + 4E191CDCE7565DB726CF7065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentOverlayComponent.cpp"; path = "../../Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E259F36C28F1ACDAB4CC73F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; + 4E3AE065222C8C87691DF2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + 4E5FFE3BE8774948082411F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + 4E60769DE992CA7FC1A4A486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintRoutineEditor.h"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutineEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 4E8FE9B1B8C90FC28D56523B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementEllipse.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementEllipse.h"; sourceTree = "SOURCE_ROOT"; }; + 4F5843D423E67797070115B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F6365A0D2D51337151D85C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectTree_Group.h"; path = "../../Source/Project/jucer_ProjectTree_Group.h"; sourceTree = "SOURCE_ROOT"; }; + 4F6493955B794D5AF04A7917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F687965FBE86EAFDB3ACFEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = "SOURCE_ROOT"; }; + 4F88933C6D2AB8A83EB14E16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 4FDBBB918B6780183AEC3C25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; + 5012097FCF4A8A50AAFA3437 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 50498FF6EA3901CBD58223B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ObjectTypes.h"; path = "../../Source/ComponentEditor/jucer_ObjectTypes.h"; sourceTree = "SOURCE_ROOT"; }; + 50672C2FACA36416A9A86310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 5091B14CC87C6238CF044258 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ElementSiblingComponent.h"; path = "../../Source/ComponentEditor/paintelements/jucer_ElementSiblingComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 50DBEAC56E34B9909BA9C7AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + 50EF77E1AB95027E82157377 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 514848DA3E69A69AB0099570 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 515FF6E74826E3E3F7273621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Icons.h"; path = "../../Source/Utility/jucer_Icons.h"; sourceTree = "SOURCE_ROOT"; }; + 51A0763AC785F93591517559 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + 51C6A6EB22F80FFF0A2800B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 51D0841BECA0E4405EDEC794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 51D4296A417B284BB2666FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 52508197A5E3C0040A5651CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5283D6B68A74B09EB6D68711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 52D8EA5A16D441BE77242E9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53151B683E11F420203E61C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewCppFileTemplate.h"; path = "../../Source/BinaryData/jucer_NewCppFileTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + 53704A9E32438DCEFF6A155B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5382FC7D5D61AE2AD603240B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 53CC682B805DD49B6E434A95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 53DB14312FF9B861739F6747 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + 541BCBB19A86B7E793D397CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5432B7B9B2CF2EAEC8B66D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_UtilityFunctions.h"; path = "../../Source/ComponentEditor/jucer_UtilityFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 54DAB21828DE5EEDABE2F5D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; + 553725A0E3A391651ED1731E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FileHelpers.h"; path = "../../Source/Utility/jucer_FileHelpers.h"; 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"; }; + 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"; }; + 5A75806B34E4EA6598A6024A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 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"; }; + 5D5E0592B7C61D523CC40C50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5D9E7814B713670624F0028F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentTypeHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ComponentTypeHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + 6165970F48D70C4EF06D35C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 618EC64934DC5A3ED3AAC412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; + 619D4AFD1F66A75AE05DDAE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 61A072FFE3185BDDC42DA144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61BE37E2B26C25056D9E8FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_NewComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + 641B57E5FAE6BEFDB6462921 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ResourceEditorPanel.h"; path = "../../Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 64CCE4A87FEE5C2B8E83BD29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + 64CF8D7D0C97323C1B4F16F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 65C498761CE166072A202AA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentTypeHandler.cpp"; path = "../../Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65F4749184C84C2FDBB4C305 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioPluginFilterTemplate.cpp"; path = "../../Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 66069653FDEA4CB7C2B4B02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 662C76394C5D1B56766FAFD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentDocument.cpp"; path = "../../Source/ComponentEditor/documents/jucer_ComponentDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6658BF44509F89120F6C6F8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6670AE915E331809563CA152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 6678E9B3EEACAD47F438B264 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; + 66A67F1C25A59167AA729C9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + 66B49F08C5EC3E4974825FF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintRoutine.h"; path = "../../Source/ComponentEditor/jucer_PaintRoutine.h"; sourceTree = "SOURCE_ROOT"; }; + 6730807341A7C48B03F2C0CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6736FDF36413E6445C526C86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 674589976530D82F36BC09DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; + 67DDFE829CDFDF93E712F9A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67FDC6EFD616DAAD9B9582A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; + 68351D69C94230D1DCDB8345 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 684D88D936EDF46A76EC0538 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68B2A7661E219540E9ADB945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68C633ECE610641BB1D21C95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + 68E1CA6424A84D91BEA46175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 6920079B91BB1A48F82C7B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 6944804CF7BBD230EDF98E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + 6A04C2E34DB0C6515FFF160B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6A337C69A928E3CE79C55457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentChoiceProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_ComponentChoiceProperty.h"; sourceTree = "SOURCE_ROOT"; }; + 6A3C090B725E48550407FDDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; 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"; }; + 6BAA8DF455FA84AE62E9DADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 6CB2CFC7615B804CE7514A24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6CD1E57C60BC2917A46BF4AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6CD32A34EE34B5B3BA8726A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; + 6CE8BC3B2D8B5EA0F4C793AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 6D3FB966CF0EBF70802B3575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 6D596D17B6A79C2E6C4CFBD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + 6DFAF945FC3A7D0689C5CEC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 6DFDC749FF36D8C27C997B3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6E6140969908E7619F858740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CommonHeaders.h"; path = "../../Source/Application/jucer_CommonHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 6E815592344CAA798C9848BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 6F8A53EDF09094C83DE4D111 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 707B2ECDBC929998FDA89466 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; + 709413D3F82F0D23BB3B7BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; 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"; }; + 7251C6186D4E8BD089C867C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; + 7256D1C79741E66E2C002EE2 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_DLL.svg"; path = "../../Source/BinaryData/wizard_DLL.svg"; sourceTree = "SOURCE_ROOT"; }; + 728FE25157E9874D50BBECB2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + 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"; }; + 73CEF8ADF016E554F96FD3B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + 7435199CD81F307322FE1065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74FB4B3E778EDD3DE2F8C23C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; }; + 7507846FD162469386479CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7519822C13AE752FE0E71999 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; + 75EB08697D38632CCBE734D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + 76439EAACE53C774CE07BD9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7723BAE1917C8A0418F2D23B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 77B05CF7C9BB9778EC06C396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; + 77CA70448B5AB9C0EF12D2BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; + 7802A6F32892407DEDDE8B5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; + 784287AD783AB8DDF512956F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 786BAF436828865F45314440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElement.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElement.h"; sourceTree = "SOURCE_ROOT"; }; + 78B148C840109794FED89FAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 78B2E510278C074CC7BEFD75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 78CA0E0F336229E2E2F111B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SourceCodeEditor.h"; path = "../../Source/Code Editor/jucer_SourceCodeEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 78D0DBC4798FF040FDB90F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_GeneratedCode.cpp"; path = "../../Source/ComponentEditor/jucer_GeneratedCode.cpp"; sourceTree = "SOURCE_ROOT"; }; + 79339A92305BFB7034095C67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 7B3F7ECF6DBF8C8EE5C2CB86 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; + 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"; }; + 7B8D5448EA4DEAC6D7EAB76E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; 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"; }; + 7D50F21E9F18C152C9C662D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; + 7DC83D58125860C3C1CF8D0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; + 7DCAE585F301C5591F96AF99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 7E0C5AFB74461AC174941BDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; + 7E3ACAD10381DA0D81093329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; + 7E45364D59D84EF762F1A928 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 7ECD37A096E0B99622585950 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + 7EF2BB6A11579386E7181553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7EFE25827B648F6677A48CB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; + 7F29F77B1C00A9704E6D0859 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_UTF8Component.h"; path = "../../Source/Utility/jucer_UTF8Component.h"; sourceTree = "SOURCE_ROOT"; }; + 7FC13BEF6B2A5E5E5E92D3FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 80805CC243709AF2F72B4CD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; 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"; }; + 80D62B907248523E6943298B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 8138A55052E9FC27284B74DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FontPropertyComponent.h"; path = "../../Source/ComponentEditor/properties/jucer_FontPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 81A3ACDD205C8F9E424B51F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 81B74E2B42184AD339E89F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 820291543BF93243B718F0EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerTreeViewBase.h"; path = "../../Source/Utility/jucer_JucerTreeViewBase.h"; sourceTree = "SOURCE_ROOT"; }; + 820DD9C4FF0EDE10F79977FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 82395D0DB15E012EDA1AC1FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + 82E0CDC77F8802A998A475D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 83056E8F17A0365667EBEA82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + 83EB0CAD2379BD53DBEB9D0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + 842427CFE565F3FCE5B99174 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; + 8427B23B886EDC0E1839D7C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84444B1D8FCE50BA88CDE7BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 845CE323405ACC3A7E84EEAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + 848D1FD80E9CA20E4977B516 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84AADFD13AF2A6F6F4681051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; + 84DE44680C9D37CDDCD127FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_GlobalPreferences.cpp"; path = "../../Source/Application/jucer_GlobalPreferences.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8575C117887D90BDF84397C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; + 859DCE43FF52E0BF3E9E9540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 863A117E6B25D1FF3AEE8F0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + 864B6C25114F4416FFAA1838 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + 865A30767AAA44DAE7683C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + 867C3547D1301204924989F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 86DADC3D8463C21DF2751EA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 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"; }; + 8A9386451AEA0640E55E8869 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 8B698D4DCFED3BCB6F30D69F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + 8BBD620A595D883BE34D60D6 = {isa = PBXFileReference; lastKnownFileType = image.png; name = projectIconLinuxMakefile.png; path = ../../Source/BinaryData/projectIconLinuxMakefile.png; sourceTree = "SOURCE_ROOT"; }; + 8BD8E9DA627D6EF9BA10FB9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewProjectWizardComponent.h"; path = "../../Source/Wizards/jucer_NewProjectWizardComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8C0CDFB36933C81F98328B6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + 8C52A3DDA62A746AA7A68535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Main.cpp"; path = "../../Source/Application/jucer_Main.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D12E5100E73E3B7DAA10261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + 8DDA82E1200B61D3B6C526E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 8DEFBFC3BEDCCF29BA577EE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 8E00CF4CE2305C5CE5B60E37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 8F30A53C7FE4BC65171FB3E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerDocument.h"; path = "../../Source/ComponentEditor/jucer_JucerDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 8F7BE18698ADCEF51CDE4A5C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 8F8BF1A7130D858E0A239F9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ConfigTree_Base.h"; path = "../../Source/Project/jucer_ConfigTree_Base.h"; sourceTree = "SOURCE_ROOT"; }; + 8FF39B6B0D9DEB5BBE388A6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 919C9B2EF8B1F673C3903F75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; + 920DA9E20EB14DD7D6139DD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + 921752D9B004A15973DDF56F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_TestComponent.cpp"; path = "../../Source/ComponentEditor/ui/jucer_TestComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 925CC15E1449AED03A1CE4F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 92F91DC29B64AD85B1F508BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GenericComponentHandler.h"; path = "../../Source/ComponentEditor/components/jucer_GenericComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 931EA229128E860611053509 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; }; + 93260AA1B96F74E928B7B07C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + 935B8860A024E1DFE861D22C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; + 939B1B2421964EEF71768BC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 93A3B1BF9DC47F86AFC3C432 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; 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"; }; + 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"; }; + 96440E5117350998ED0D84A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9683B04CA3BD7F73E8236FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ContentCompTemplate.cpp"; path = "../../Source/BinaryData/jucer_ContentCompTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 96972221C7D4CB0FCD5C3E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 96C105A8CFFC54B429A5B822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 96E3AA1226913EF6331C139B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; + 9702D4AFFE2729F3549EE517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9718703E5D696761B85D25B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + 971FD8FEAE9A521A6983B8C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 974B862C51DA9A16CBBB3A29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_XCode.h"; path = "../../Source/Project Saving/jucer_ProjectExport_XCode.h"; sourceTree = "SOURCE_ROOT"; }; + 97C394E9AAB90435B7E5CA95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 97E75A598791645465FEDCE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_EditingPanelBase.h"; path = "../../Source/ComponentEditor/ui/jucer_EditingPanelBase.h"; sourceTree = "SOURCE_ROOT"; }; + 97F934DC573A3354529D933E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; + 986707BA1F2C9F7343BD152F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9880409C7B2926A7A993EC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; + 988186E582883A70582A40E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 98A79B670CADD4E020130BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + 98BA0562DC640750B22FFA47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; + 98DC0221D9015F760E4613FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 98F42686D9DAC974F2514217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_EditingPanelBase.cpp"; path = "../../Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 990F2A6080B28137CCE2D7B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 99557681178F79E2A803C65C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9992E6950C64322A11E39ADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_DLL.h"; path = "../../Source/Wizards/jucer_ProjectWizard_DLL.h"; sourceTree = "SOURCE_ROOT"; }; + 999BC36BBD71BD4117EFDFC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 99A9C369D8595E72707E866C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 99DD90B64BC5CC5FF68FA0C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9A6FD2E154DA99F96FEA1405 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + 9A7E8AF6EFD287AF13B46104 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + 9A9B6F9A13C9F01309CE0698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9AEC1D0512CFF7E9173BEE4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9B3F6F800DC0AD8C92D70E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9B9CAD20E1243B4351B4C8D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_CodeHelpers.cpp"; path = "../../Source/Utility/jucer_CodeHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9BB612A0BA1E2174488B5D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + 9BC8AE609A07657CEF587548 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_StoredSettings.h"; path = "../../Source/Utility/jucer_StoredSettings.h"; sourceTree = "SOURCE_ROOT"; }; + 9BD2CA4A6C8DA8FF236F3AF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9BDE235186FA9648EEECB373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9BFC2FD520814B736535DB8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 9C04F9680F82BF279D528688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectSaver.h"; path = "../../Source/Project Saving/jucer_ProjectSaver.h"; sourceTree = "SOURCE_ROOT"; }; + 9C51394634F102DEBBE6C9EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementText.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementText.h"; sourceTree = "SOURCE_ROOT"; }; + 9C7FA58D223674C4C2AC6595 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_JucerDocumentEditor.cpp"; path = "../../Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C803826E5E3FDB1B37660D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentDocument.h"; path = "../../Source/ComponentEditor/documents/jucer_ComponentDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 9C9402994B7971876006AEBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 9D69073057BE050870B38749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D7689451732AF8333402B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ObjectTypes.cpp"; path = "../../Source/ComponentEditor/jucer_ObjectTypes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9DBD3904C2E224B3A9E5A989 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; + 9DE1BC5241C70AF12B327932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 9E36C30D10A1EF9305E8D663 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + 9EA541503DBADC5FFDEB0282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TreeItemTypes.h"; path = "../../Source/Project/jucer_TreeItemTypes.h"; sourceTree = "SOURCE_ROOT"; }; + 9EE339FCA2CFDAE060CB8FE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9EE5D1C3DFDD31D9D8237541 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9EF583A6201DBC813C2F63C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_BinaryResources.cpp"; path = "../../Source/ComponentEditor/jucer_BinaryResources.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F01BA9942D038EA8B5289A8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; + 9F26333042DFB93B7DFEC870 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F41F3338BF00D0FC74C6390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TestComponent.h"; path = "../../Source/ComponentEditor/ui/jucer_TestComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9F5483F3EEF0A1E0C71B95A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F75811FE7B5F8D1321BEC69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ConfigTree_Modules.h"; path = "../../Source/Project/jucer_ConfigTree_Modules.h"; sourceTree = "SOURCE_ROOT"; }; + 9F7896DA332F9718CAB6B162 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + A004A03A932CDECDED29F19C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + A071CAC9920625A3707CF949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + A1753F748BC37C586970DC39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.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"; }; + A1D3838043B605010FB84975 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1DD0D7A34E118E3117ACAB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + A3FE229890B4259C6628873B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; + A4422A360A9FB7BCC315BEF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + A44A774EFC020D3D046A9249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_Console.h"; path = "../../Source/Wizards/jucer_ProjectWizard_Console.h"; sourceTree = "SOURCE_ROOT"; }; + A4740A64F0FC3BD980BE5D9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + A485A4F0363775AE730EA0E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + A4D275622A4B115AABE190A4 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_OpenGL.svg"; path = "../../Source/BinaryData/wizard_OpenGL.svg"; sourceTree = "SOURCE_ROOT"; }; + A513D5453FF52483D13BA026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + A523CF2BD5793ABA074169FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; + A5864A527A761F92C237EB7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + A598E4796ED23772A5D82FB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5D2E5A77E6A67E35440BF3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + A60E4D1A58B70887556782F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + A63DA2EB2FA9E6F88F63A09A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + A69024A225F2AC31F17B1314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewFileWizard.cpp"; path = "../../Source/Wizards/jucer_NewFileWizard.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + A8F7DE14ED3586063403A982 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; 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"; }; + A9248B0E078FAE4C595533CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; + A973D33C0CE829AD293E035B = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "projucer_login_bg.svg"; path = "../../Source/BinaryData/projucer_login_bg.svg"; sourceTree = "SOURCE_ROOT"; }; + A9804BDCC9EA93625A979493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; 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"; }; + AA466CF1AF076190B2AB8F2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; }; + AA8EED79F095953D2B5923B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentColourProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_ComponentColourProperty.h"; sourceTree = "SOURCE_ROOT"; }; + AAA445B64E54BBA12D5E1358 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + AAB313919EE298E25D2EAD19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + AACB287C990F7A7C51DE3C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; + AC49F1C1B969FA4F06C77B06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + ACD82099C2B72FF43539FB4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + AD0AB6FA2DE544D6C77E69AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AD3C946C260F68C4AD2B491F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + AD44FFB01387088222D0E98F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + ADA875897D39CF46E120D887 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE1786BA679872921797AE25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + AE1BC6DCCFC1A18E2ACE23F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainTemplate_NoWindow.cpp"; path = "../../Source/BinaryData/jucer_MainTemplate_NoWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE3E427DBCC8D50E3F356402 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + AF2E4CD49F675DA97DE77676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; 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"; }; + AFDCCE90EAB0DDCE50A5B89A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + AFEBD8423B07599B1DE175A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ModulesPanel.h"; path = "../../Source/Project/jucer_ModulesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + AFF72BA2B130F3F9AC029080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AudioPluginEditorTemplate.h"; path = "../../Source/BinaryData/jucer_AudioPluginEditorTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + B00F60201606F195058BB575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ColourPropertyComponent.h"; path = "../../Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B01CBF496E7C88105DF4B52A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + B06C7C053DB0660CDA8B5C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintRoutinePanel.h"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutinePanel.h"; sourceTree = "SOURCE_ROOT"; }; + B09012029021539E63B303F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; + B0D2198D1261755918CD454D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SVGPathDataComponent.h"; path = "../../Source/Utility/jucer_SVGPathDataComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B15E33E7342F6EB4F95C9B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintRoutineEditor.cpp"; path = "../../Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + B1963F0D8C0046E54FD9E023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ColouredElement.h"; path = "../../Source/ComponentEditor/paintelements/jucer_ColouredElement.h"; sourceTree = "SOURCE_ROOT"; }; + B1B44E3A7614189E65CB9FBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + B1C57BEEEFD26639F1ADFC1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + B20A5F49C7E6342B71770D18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + B35200B1BC9B12580BAD4D3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + B368804F75C1079C9DE731E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + B40E8B05F3556B148477324B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + B483D960309FAFC193F9CDA2 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "juce_icon.png"; path = "../../Source/BinaryData/juce_icon.png"; sourceTree = "SOURCE_ROOT"; }; + B4AA53EF291A383B3C50048A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + B4D0FF68A5C2ED91C313EEB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; 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"; }; + B67F3F40C568E6A0A85B13D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; 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"; }; + B6D03F8491E288FD4BC31445 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; + B741170E45D74F30B7D5CDDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentNameProperty.h"; path = "../../Source/ComponentEditor/components/jucer_ComponentNameProperty.h"; sourceTree = "SOURCE_ROOT"; }; + B743DC50150100FFA2DE76AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + B79595279502C1A11A4E8C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + B7BE4498F5A592AAC43F0C93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + B8385E9A644BD3CD94876448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectType.h"; path = "../../Source/Project/jucer_ProjectType.h"; sourceTree = "SOURCE_ROOT"; }; + B89AC6F01153CC6E222EE72E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + B8B309972EBB7F07305ACCCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B8BEDDA33D5B1613213434F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + B8D1A5B9DEAA27F8A137E9C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + B92070A7D5952D560DAD32C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + B9F806910507E82E7BFB15E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + BA1E340A922D0D7E543563CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + BA5C7DE347A73A87F687703C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + BA95268EEE80F9509EC1F76F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + BAC43B20E14A340CCF14119C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Project.cpp"; path = "../../Source/Project/jucer_Project.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB4549DEC50D1F5EEBC6DBC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; + BB9C1E6E54A16F795908C469 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "background_logo.svg"; path = "../../Source/BinaryData/background_logo.svg"; sourceTree = "SOURCE_ROOT"; }; + BBFA79B00878E27EFDFF2056 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; 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"; }; + BDE24BA8FEAE654645079B84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDEBB0AC32DDA8C16FFE6011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + BE97579323E97AF084D41476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + BFD1891DABC7B4BD3C681A2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; 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"; }; + C062CD5412F0E1632F370D5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.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"; }; + C0FCB15A3768037BA4D037D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; + C11F98345D2D2FBC11C08962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; + C187718F7B9EBA88584B43F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintRoutine.cpp"; path = "../../Source/ComponentEditor/jucer_PaintRoutine.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1CE3850BA3418E1D13DA30E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; + C1FDD2DDB01AC8C4DECB2C10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1FE4E528BC8E1003DC17AD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + C2173FAE6C24F45293A0BC0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + C22791DB75870C4F102AA8A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SlidingPanelComponent.h"; path = "../../Source/Utility/jucer_SlidingPanelComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C22E03FEBEB6921978C5612A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + C2990A8D054BC230E7C637C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewProjectWizardClasses.h"; path = "../../Source/Wizards/jucer_NewProjectWizardClasses.h"; sourceTree = "SOURCE_ROOT"; }; + C2C4159CC70B52FB5398C3E8 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; + C2D43E4F571D16F0E9B1E44E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C2ECD077AC4C784A67BC3DDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + C3447B6A7C639350E98E43AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + C38DFB0C94BBC1CE46A3D4E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + C3DF78053A38F20359D1CA3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; }; + C447D31F31E9F92DE96EEB20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; }; + C4718AEAC94D07FEB9DA0312 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + C48DCD3879352EB40F468B0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; + C4F19F947EFCE48EEC3A3536 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + C4FA33B08560AD0D000EB498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; + C510495DF7602C36F216A50C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + C5307BECDD6325DCE92F50FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; + C56C7577E65C0BFA449E71FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + C643CEACB4F25A498EEA97C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; 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"; }; + C9F2D061D11F9C7FDE371BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; 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"; }; + 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"; }; + CC688973972C361CB486002F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; + CC95D2A82F9A181F6EA1239A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; 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"; }; + D141433D3FE81F20490DE928 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + D1F9B0E9F5D54FE48BEB46EA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + D253F74B7F5734984E568CA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2F1CF252F7EC62B35A21CB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2F80DA0946A5EE01FC016CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + D374DC78AAC02504576AA9B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GroupComponentHandler.h"; path = "../../Source/ComponentEditor/components/jucer_GroupComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; + D376B9B54EC944E766AFEC45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3E139185095C486DD3D61F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TranslationTool.h"; path = "../../Source/Utility/jucer_TranslationTool.h"; sourceTree = "SOURCE_ROOT"; }; + D4444EC6342A2A7BC4F7BC46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentTextProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_ComponentTextProperty.h"; sourceTree = "SOURCE_ROOT"; }; + D4643408B22E79278A36EF58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; + D4697A0232AECE5DAC5E332E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D4E56676E2EF83404EDCBA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + D4F2D42C58F4D86E00E76F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + D56C15447F135DAB8B86F46F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; 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"; }; + 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"; }; + 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"; }; + 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"; }; + DE7EE8C5218F3BF83FB6F12A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; 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"; }; + DF78EF6242D82F912534A277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ColourPropertyComponent.h"; path = "../../Source/Utility/jucer_ColourPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + DF7BB5B6B394EDEEF5F5B4B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + DF82CAC3655DB0CA8ECC287A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; 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"; }; + E13A179C3C2E83DDBE84BD1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; + E17383775F88CCC99E636F96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.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"; }; + E3B82C084457B38B70E855A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; }; + E3F6156F7AA90AA7B94340CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; 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"; }; + E3FF95F6D808BA35A041FACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.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"; }; + E456392970AC8841A6591F96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; + E45E6A34962C762B1F7EEAD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; 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"; }; + 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"; }; + 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; }; + E983E6DDE3318B872EBE347F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.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"; }; + EA0A519FD28E440CFD05E199 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; 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"; }; + EA73C136F52502AA11DB7E15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; + EB3F111E9492E30F67702820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; + EB71BA07D6F667E69721E577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GradientPointComponent.h"; path = "../../Source/ComponentEditor/paintelements/jucer_GradientPointComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EBAFF46BB735F0E6F444369C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + EBF7B2DEDAEEB28C1873F580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + EC0AF83CFFFCCDE438BCAF25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + EC192FAABC6A0689436E28EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC4F3034A642D9E037570D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + ED94D4B502DF310763C6CE23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + EDAC762083E327A80CE9D260 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + EE2B934B45132C7D37FBA04D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + EE30BC4699B589A84732F443 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; + EE690110171E1648FF2118B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Application.h"; path = "../../Source/Application/jucer_Application.h"; sourceTree = "SOURCE_ROOT"; }; + EE775C35756DC364728D4675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + EE8504403714A7CE606B5F34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + EE8577F6F43A0E948401A675 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + EE882A084D2F2508ADABA62D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; }; + EF30A74B566A461A171BBF83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentLayoutEditor.cpp"; path = "../../Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF3F887FB8E795AEB15117D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; + EFA8CF715611D845AB284500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerComponentHandler.h"; path = "../../Source/ComponentEditor/components/jucer_JucerComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; + EFBE29E352568ABD7C246724 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + F012F4A1076B71CEE2538948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; + F03E2BDD36E6F4F53AB767A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Headers.h"; path = "../../Source/jucer_Headers.h"; sourceTree = "SOURCE_ROOT"; }; + F07EA5078D6BB60B698F5E12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + F08EB921DB62255A4B6DE85A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; + F100CFF192886B7699632A62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + F1164F66F799CEA74174328A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + F18AE75F1831D13FF53A8CCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementRectangle.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + F1974B6EDBA502BC36671D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + F1BEFCAF20EA392DE762B876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + F2403808C453833EB6F5BA9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + F2499004037A1C1D8FEE1FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F2759373EAAC820F17409939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + F2C7DE572E29A3D62EFB40F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + F32B666A146764587A64AD8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + F33E348B71D7BC88C0A10191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; + F406A0F41B2C7A512FDBC9E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + F40F5C63CA1098C21B96C80F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + F4B63624DBF543082235F821 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_GUI.svg"; path = "../../Source/BinaryData/wizard_GUI.svg"; sourceTree = "SOURCE_ROOT"; }; + F4B6EB1967E9E1D9AAA683B0 = {isa = PBXFileReference; lastKnownFileType = image.png; name = projectIconVisualStudio.png; path = ../../Source/BinaryData/projectIconVisualStudio.png; sourceTree = "SOURCE_ROOT"; }; + F5885B5AAF46864D562D5B83 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_AudioPlugin.svg"; path = "../../Source/BinaryData/wizard_AudioPlugin.svg"; sourceTree = "SOURCE_ROOT"; }; + F59077841FC17DD07060A2A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TextEditorHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TextEditorHandler.h"; sourceTree = "SOURCE_ROOT"; }; + F5C02C740A62090A9E9BD25B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; + F6938A1377A2609D6AEDC120 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + F6B1C18DDF8DFF1B3767F018 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + F6D3F208B6EE2A50CE1F0A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JucerCommandIDs.h"; path = "../../Source/ComponentEditor/ui/jucer_JucerCommandIDs.h"; sourceTree = "SOURCE_ROOT"; }; + F6FF660331F6CBF9FFC85E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F71AF6D2DF3E652F8B51EBAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectExporter.cpp"; path = "../../Source/Project Saving/jucer_ProjectExporter.cpp"; sourceTree = "SOURCE_ROOT"; }; + F797071D88542C813CF7222A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Module.cpp"; path = "../../Source/Project/jucer_Module.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7CAB5BC15EE351949D3F2C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewInlineComponentTemplate.h"; path = "../../Source/BinaryData/jucer_NewInlineComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + F7D7A41EFE97269721C61BF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + F7E829D0B21B9C1B4790A245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7EAAE1A1BD13685BFF6176E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + F843E6E2861E6D1CCAB3F914 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; + F8AC12B589FCB90E66D84729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + F8D0F7C0A19B4ADB58454F16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + F92A6000284C0FDA0A4845CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + FA44581808EE24AB2E0E9AC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; }; + FA70084EC51835082E67D261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_CppHelpers.h"; path = "../../Source/LiveBuildEngine/projucer_CppHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + FAAD92B343B85AD5B3D25419 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; 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"; }; + FC72DD29ED0CAB7D0A7B43D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.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"; }; + FE283C418E7E545626881FF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; + FE90AF2B2BC1106C0D4056BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE9BF20961B39AF37503F1A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; }; + FEDBEEA12A3AD98DEA5017C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; + FF04AE9E4F2AAA29AC549461 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; + FF10E9B389909FB45E229D5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + 48618F36B2E3C15A7B0F63AC = {isa = PBXGroup; children = ( + 441CFEA771BAA50E187342E9, + 223C4209F18A221EB183A056, + 7CA44FF0BA319517C6E39651, + EE690110171E1648FF2118B8, + 0D4D508C638BC74943B9976D, + 4D698BF12BCD6B0896BCDF17, + 23A8DE16C0CDB8EED18B008B, + 0400CB0E056A1D840304D2DE, + 2EEB1C074162F363C6599282, + 6E6140969908E7619F858740, + C7608A3967D9AB9481848F2B, + E65A820D34BF39478B7C5925, + 6AEF2E6130619AE550A5FCA7, + D526C38D581425949BA0E4AC, + 84DE44680C9D37CDDCD127FF, + 1C81C5501BE7F2C912250711, + F03E2BDD36E6F4F53AB767A8, + E80E921407164C1E664A88F4, + 8C52A3DDA62A746AA7A68535, + 9069981E414A631B036CC9AC, + 2CD34A70B4032C0426F7AA10, + 2247EE920DF0610CAF9F4513, + 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 = ""; }; + 6CE6335290CF9C26FBE93D7C = {isa = PBXGroup; children = ( + 0FF1C6905150EAAB1AE081A7, + 008C8B2C2328CFBB9375397D, + B741170E45D74F30B7D5CDDF, + 65C498761CE166072A202AA0, + 5D9E7814B713670624F0028F, + E0F9CA57E44F7F7E7E217E47, + 92F91DC29B64AD85B1F508BD, + D374DC78AAC02504576AA9B3, + 1F9BBDFA52513AD34D906D2A, + 4C2093BCD3528ACEDC7A2B33, + EFA8CF715611D845AB284500, + FF94FF5C4BEC605E56149EFC, + BCCFDFB2C02C4AA436C0ECF8, + 400E4C67ABCDDB1D49EBB85E, + E4BB22E27C5AA4B666F265BD, + F59077841FC17DD07060A2A9, + 084C0070BC67BC893B967EF1, + DAF84A553D264705FA6EB6FF, + A0951828C3BF47FA7E1E52F8, ); name = components; sourceTree = ""; }; + 7CF8A12404899178DC6EBF9C = {isa = PBXGroup; children = ( + 3E03B7C7A19E63A724EB79F4, + 1FA92F8F2B26C6CEC8B1D737, + 662C76394C5D1B56766FAFD9, + 9C803826E5E3FDB1B37660D5, ); name = documents; sourceTree = ""; }; + 105940C80EB9807392E04AB9 = {isa = PBXGroup; children = ( + 93B419190CCE92ACAB1ED25B, + B1963F0D8C0046E54FD9E023, + 5091B14CC87C6238CF044258, + FA04E39EE7E83D445AF9E406, + EB71BA07D6F667E69721E577, + 3F00C034B140193B3754969B, + 1C216FE9B7A5209C5CCF2517, + 786BAF436828865F45314440, + 4E8FE9B1B8C90FC28D56523B, + C094F3B6A65A79A6DF87C9C2, + FF11D6B512FDC5D887E06F66, + 0169ACAA0FAE70CCEEE4F650, + 1D3D6A19A60F0B03DE2F1C14, + F18AE75F1831D13FF53A8CCC, + 41CA95403E264AA7457A61F4, + 9C51394634F102DEBBE6C9EB, + 27A2B025813B7E54E0862642, + 7A3E96D22F1C9EB4C739834F, + D0D8B580D0689FFF4B9B823B, ); name = paintelements; sourceTree = ""; }; + BD7D64D86872DEDFCAF1CC39 = {isa = PBXGroup; children = ( + B00F60201606F195058BB575, + 04C1267B2BD11A6ECCCA654C, + 6A337C69A928E3CE79C55457, + AA8EED79F095953D2B5923B8, + D4444EC6342A2A7BC4F7BC46, + 295A9B126C98FE15F5A8B81E, + 8138A55052E9FC27284B74DD, + D87FC8F6834E9DC9C8E88B94, + 576D62C0C9C1BA4B7A514721, ); name = properties; sourceTree = ""; }; + 976B9E06EE94AA45594FEAF6 = {isa = PBXGroup; children = ( + EF30A74B566A461A171BBF83, + 263D9041F9B7D6A79DC38CD6, + 3514E78B58A08F4C98F54C5A, + 4E191CDCE7565DB726CF7065, + FBBDD70D47163D341B2F0A8D, + 98F42686D9DAC974F2514217, + 97E75A598791645465FEDCE1, + F6D3F208B6EE2A50CE1F0A18, + 9C7FA58D223674C4C2AC6595, + 1125D1B2AE54AEF2EB3D51C0, + B15E33E7342F6EB4F95C9B1D, + 4E60769DE992CA7FC1A4A486, + 16203C6791259C9718A04C3A, + B06C7C053DB0660CDA8B5C2C, + D92A6E9404A30EED32DCE4ED, + DF725A596B7BCD7520CC0A9F, + 641B57E5FAE6BEFDB6462921, + 3A5B5DC92BE6D22CA15B9671, + 921752D9B004A15973DDF56F, + 9F41F3338BF00D0FC74C6390, ); name = ui; sourceTree = ""; }; + 78FDC751FE3D97F79839DBC6 = {isa = PBXGroup; children = ( + 6CE6335290CF9C26FBE93D7C, + 7CF8A12404899178DC6EBF9C, + 105940C80EB9807392E04AB9, + BD7D64D86872DEDFCAF1CC39, + 976B9E06EE94AA45594FEAF6, + 9EF583A6201DBC813C2F63C4, + 6AC88EFC247C225CC5C11A43, + 133F1E428260C5ADDF496DF9, + 3F9D4C7F6E5779D4E4AE655D, + 78D0DBC4798FF040FDB90F6D, + DA345D5B9DABD049F90DC96F, + 269A454F1FF081DA67FFD578, + 8F30A53C7FE4BC65171FB3E2, + 9D7689451732AF8333402B3A, + 50498FF6EA3901CBD58223B3, + C187718F7B9EBA88584B43F3, + 66B49F08C5EC3E4974825FF8, + 5432B7B9B2CF2EAEC8B66D5C, ); name = ComponentEditor; sourceTree = ""; }; + 524339C1BD702C610F2A7DAB = {isa = PBXGroup; children = ( + 8F8BF1A7130D858E0A239F9E, + 7B4E33B1E04139F359FB484B, + 9F75811FE7B5F8D1321BEC69, + DCBB17488227A2CA7D3D3947, + 0C2AD2FC0C196F440C3FF994, + C7B47372A9D5970E3D9A5400, + F797071D88542C813CF7222A, + 7211101FFA28400ADBB1D47A, + AFEBD8423B07599B1DE175A3, + BAC43B20E14A340CCF14119C, + BF3CEF080FA013E2778DCE90, + 86E468DE6556BB2AD76A3D80, + E60E28D1B7491047DEA236AE, + 375AFDF06A908D89DEC5205F, + 47B49049B85EED74D29C9906, + 4F6365A0D2D51337151D85C3, + B8385E9A644BD3CD94876448, + 9EA541503DBADC5FFDEB0282, ); name = Project; sourceTree = ""; }; + 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, + 47DD50A5A9091F9900E0EAD9, + 820291543BF93243B718F0EE, + 0F249640243FBD5717F6ADD9, + 4A41FD3066D0979DB48691E5, + 1AF7EFBE4961C7B6C834BF54, + 87414819D9DE343EA28E0AAD, + BCB819DDDD2AC13632CA502F, + 1F421199C40092BFEE0658C2, + 20FAAE9F3A7B96C2D8C75BB2, + C22791DB75870C4F102AA8A3, + 631983AA62673015F8D7453B, + 9BC8AE609A07657CEF587548, + B0D2198D1261755918CD454D, + D3E139185095C486DD3D61F2, + 7F29F77B1C00A9704E6D0859, + 8090981F07A76E465DAAADF4, ); name = Utility; sourceTree = ""; }; + C5A691BE7288ADA68DC8D39A = {isa = PBXGroup; children = ( + A69024A225F2AC31F17B1314, + 11DC04468BC6023671017EBF, + 087CB3A961CD3C7434D660A4, + 4B083E951ECB62217C46CB01, + C2990A8D054BC230E7C637C3, + 8BD8E9DA627D6EF9BA10FB9E, + 3C95FA2AA91EBA19ADDD5C29, + 8A825FDDC00DD253F44D2C3A, + 4A4EBDAD8D098F72CE053235, + 0F01067432AC314EAC213C1C, + A44A774EFC020D3D046A9249, + 9992E6950C64322A11E39ADF, + 05D67B5A8D64947C067C0945, + A085174413736ACC8D7D42A2, + 471C7B0A8B92320AF0C80839, + 714267352CE5C4357ADBC231, + C09BBB58CA45B66D693E8C31, ); name = Wizards; sourceTree = ""; }; + C76CE0579AC77DF56E755836 = {isa = PBXGroup; children = ( + 468BFFBE4DA7835DD40C5FE8, + E3B56C5718D87CA0EFCB2662, + 0075C5208947159AF2802F3B, + AFF72BA2B130F3F9AC029080, + 65F4749184C84C2FDBB4C305, + 03D3053EDE47FED1919C6674, + DC922C6A65D260C18E888E49, + 963E0740B7B4D59EF2D16740, + 9683B04CA3BD7F73E8236FE2, + 35E6EE1E98DD7050DDFECD9B, + 24C34D0578AE6C7A3EA18781, + 18D9EBA1DAE45EEF81FD5C8F, + AE1BC6DCCFC1A18E2ACE23F1, + E4BD4C43370651B49F75855B, + 86E8A40E5A83781A8478454D, + 61BE37E2B26C25056D9E8FE2, + E2374E15D65425C4101237E2, + CF8011B3C67B609032974DA5, + 53151B683E11F420203E61C2, + F7CAB5BC15EE351949D3F2C3, + 73B9F17FE55A02C2BB87E008, ); name = templates; sourceTree = ""; }; + 63EE1C3AC218E509130AF2BA = {isa = PBXGroup; children = ( + C76CE0579AC77DF56E755836, + BB9C1E6E54A16F795908C469, + 301592EBAC0FFF6F5B268E99, + 41105E536155E394E54BDD35, + 5F6584B675E30761521A9F42, + B483D960309FAFC193F9CDA2, + 1A8E24245E48C7C4DB0164E6, + 353E622BE257074B5589199D, + 8BBD620A595D883BE34D60D6, + F4B6EB1967E9E1D9AAA683B0, + 3F4EEDF4AA7C37DC6A1B14B5, + E63F54CF8D5D922A319C6962, + 4073A12E196BDDADE211E19F, + A973D33C0CE829AD293E035B, + 58139D8D454051C59E77609B, + 7B6E461262D8822132135F56, + E1D8CCD9F4ACBE1EC1D5BEA0, + F5885B5AAF46864D562D5B83, + FB61FEC24C6C031EB0455B0A, + 7256D1C79741E66E2C002EE2, + F4B63624DBF543082235F821, + 1D99EA99F946D665FE583414, + 358DA8CCDC8FA5B0D62D6CA3, + A4D275622A4B115AABE190A4, + 0DB0A9E30EEDDEA720BC5A03, ); name = BinaryData; sourceTree = ""; }; + D3109994DA6AD871BE85C4E2 = {isa = PBXGroup; children = ( + 48618F36B2E3C15A7B0F63AC, + 82B98DB2654A087911E8157F, + 142DEF17A4C953926833D7F8, + 78FDC751FE3D97F79839DBC6, + 524339C1BD702C610F2A7DAB, + EB15E4BA49763AC74CE29FDE, + 6580E53C420AA794542CC8D7, + C5A691BE7288ADA68DC8D39A, + 63EE1C3AC218E509130AF2BA, ); name = Projucer; sourceTree = ""; }; + 8A18C7E36165DF7E3A5CEDD6 = {isa = PBXGroup; children = ( + C90C66C5727759D5CBD5FB07, + 66A67F1C25A59167AA729C9C, + DD00494140C86144306A9356, + 6DFAF945FC3A7D0689C5CEC8, + EE775C35756DC364728D4675, + 55F7CE15FA02A9F599A83A58, + 7E3ACAD10381DA0D81093329, + 24CA69C0CC466CD524021099, + 4F88933C6D2AB8A83EB14E16, + 19BA84DFC81467A0CD6DC44D, + 90BD70D106A80947463BCB1A, + B4AA53EF291A383B3C50048A, + EE2B934B45132C7D37FBA04D, + CDDF5BDC75277F7B83A38885, + 2411094E8B601FD897AD24F9, + 37A0A38C2B5825B9A302879C, + 8C0CDFB36933C81F98328B6D, + C85B4D62B96F4A44890F20E2, + A63DA2EB2FA9E6F88F63A09A, + BDE24BA8FEAE654645079B84, + 7ECD37A096E0B99622585950, ); name = containers; sourceTree = ""; }; + 2812C68F252C2BF450E614B6 = {isa = PBXGroup; children = ( + C5D5D2FFB030BD43160167EB, + B35200B1BC9B12580BAD4D3D, + E2DBA3307837B64AFCCD8F8D, + AF34CB5CB61484442764640E, + 9702D4AFFE2729F3549EE517, + 3E766BE62093D76FB89F900D, + 08D19EE7C17DCED7E7BBEEE7, + C6861DB44A31CE7A3DEFA083, + A5D2E5A77E6A67E35440BF3B, + E570E57CC1FCEF78B54A7084, + 2C7A9B2EDC724657EBF9FA83, + C4FA33B08560AD0D000EB498, + 83056E8F17A0365667EBEA82, + AAB313919EE298E25D2EAD19, + 3A2888667372BA896AACFBDB, + 66069653FDEA4CB7C2B4B02F, + 408C544F9201DFF06544F878, ); name = files; sourceTree = ""; }; + A4DD3BC3A7C14C9949D56D11 = {isa = PBXGroup; children = ( + EBAFF46BB735F0E6F444369C, + E19160CF7208320D128786CF, + EE8577F6F43A0E948401A675, + E62D9BA6E92FE7BB6EF65699, ); name = javascript; sourceTree = ""; }; + 7ECE3EA89184F65B9CDB1734 = {isa = PBXGroup; children = ( + F406A0F41B2C7A512FDBC9E0, + 02DDC84BAB18E091E2CE8CB3, + F1164F66F799CEA74174328A, + EE8504403714A7CE606B5F34, ); name = logging; sourceTree = ""; }; + 59DF4737E9EA83A417422DDE = {isa = PBXGroup; children = ( + 61A072FFE3185BDDC42DA144, + 50DBEAC56E34B9909BA9C7AD, + 225414095942818432AAE07D, + BF171B0762D5550B797869F2, + D7A7F1AA9F313B0CCAAA73A0, + 265CA78BFB9DEF68B34C57D4, + 988186E582883A70582A40E1, + C68355AA4D62939EECAD469E, + B368804F75C1079C9DE731E3, + C1FE4E528BC8E1003DC17AD0, ); name = maths; sourceTree = ""; }; + 305F202C86FB5DF21B580780 = {isa = PBXGroup; children = ( + 168F5F32F673036DDAEF1D8D, + 1B1A4A48AF3898485E7B1618, + 48A2FBB4CB48AC4FCA796F2F, + 53CC682B805DD49B6E434A95, + A8F9DE55079FC7F6440CF678, + 2BC28F37C470E4770E479BCD, + 2416644BBABFD1F95EE12792, + 7E45364D59D84EF762F1A928, + 6AA46ED6C6DDD5A7BC72F686, + 9F7896DA332F9718CAB6B162, + 1A1B5A2E9F1DA2122D21F9DF, + 21B527BEBFFFC536BA0DEE6B, + 990F2A6080B28137CCE2D7B9, + 6E815592344CAA798C9848BF, ); name = memory; sourceTree = ""; }; + 07D010D27EFD8BC7C10E7F16 = {isa = PBXGroup; children = ( + 3A55FEFC24C387D3B29444D5, + 4D7F53313945ED27A7D16B80, + 943FFC4D765C40DEAF9023D4, + 5D31021458D8774CC185F499, + 3AB744A14A560E541723DC9A, + 6BAA8DF455FA84AE62E9DADC, + AF9D42A4C5359EE904DCAF8E, ); name = misc; sourceTree = ""; }; + 2E1C9E643165417EC8F5B28D = {isa = PBXGroup; children = ( + 986707BA1F2C9F7343BD152F, + 81A3ACDD205C8F9E424B51F6, + C4718AEAC94D07FEB9DA0312, + AF71B1EBA9D281491F30F42B, + F32B666A146764587A64AD8E, + F07EA5078D6BB60B698F5E12, + 68351D69C94230D1DCDB8345, + A243C85FC2C37FD73F115E67, + C3447B6A7C639350E98E43AF, + A4422A360A9FB7BCC315BEF4, + D253F74B7F5734984E568CA7, + D926E13AB5AD647A7A00F486, + 240BCAD873E4360E54CA2A81, + 18B0B21258B417DFDEB9D5F0, + EE30BC4699B589A84732F443, + 05EEE241CC0DF57A7BE86C29, + F100CFF192886B7699632A62, + B743DC50150100FFA2DE76AD, + 09697D1C3F7B90DD33A8090E, + 83EB0CAD2379BD53DBEB9D0F, + AAA445B64E54BBA12D5E1358, + 6367309B2092121B86FE3AA0, + FF1F954094B14C1900C9495D, + 2358EB55148891C87833008D, + 1353717582E55D6E4D074BA5, + A1B4DCE00B10BF7C59F0E603, + 2107C02B684C7F5B75662333, + 2E1F83CE00F5855083AFA246, + 514848DA3E69A69AB0099570, ); name = native; sourceTree = ""; }; + 5F34FFAAB6478E82D2ABC11A = {isa = PBXGroup; children = ( + 71A61C2973404BD68E8E7902, + 97C394E9AAB90435B7E5CA95, + 9F26333042DFB93B7DFEC870, + 0473C3BCB7A43F710B8EE36C, + 14337E3F4B92468517BA24AF, + 2BB98D1E325EF7BD90C6BBB4, + 6CD1E57C60BC2917A46BF4AD, + C2ECD077AC4C784A67BC3DDE, + FF04AE9E4F2AAA29AC549461, + EBF7B2DEDAEEB28C1873F580, ); name = network; sourceTree = ""; }; + CE726671300191C325E9A55E = {isa = PBXGroup; children = ( + 3276A099EB6880D55D2D52C0, + B89AC6F01153CC6E222EE72E, + 00376BD04FB81AF9455D45EB, + 2A4B079CDB9C40EB912B6EEB, + C510495DF7602C36F216A50C, + F40F5C63CA1098C21B96C80F, + 5283D6B68A74B09EB6D68711, + 1614411A8699B82D1F7B0346, + 051D4EAC1602802E97B24A12, + 5DBA8C92675235B098946B18, + B9F806910507E82E7BFB15E0, + 939B1B2421964EEF71768BC7, + 2CB90BE5027B202896EBCE9D, + 589A6DAE96E2A7924646873F, + 8575C117887D90BDF84397C3, ); name = streams; sourceTree = ""; }; + 69691F15F0883A8926C369B7 = {isa = PBXGroup; children = ( + 73CEF8ADF016E554F96FD3B0, + 3C48242E40D358BC6FF7FE53, + A071CAC9920625A3707CF949, + CB48495010366C2E371BEFDB, + 865A30767AAA44DAE7683C8B, + EC0AF83CFFFCCDE438BCAF25, ); name = system; sourceTree = ""; }; + 67C4E502B9319EEADB1ED4D1 = {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 = ""; }; + 5CDEC0ED2B979259F5FD35AC = {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 = ""; }; + 6A17D5C8875BB44027272283 = {isa = PBXGroup; children = ( + 129CDB26CC63D4BC2EB1F2CC, + 4904357A3FFA61972A9E9D6F, + DFC6364D81D9C60BD4CA9D12, + F6938A1377A2609D6AEDC120, + DC5E7FF30B01118F6DAEC38F, + 3AB1D4CECEADD4836ACEEAEE, ); name = time; sourceTree = ""; }; + ACD5FE4A6D2E431DDB908322 = {isa = PBXGroup; children = ( + CE1DFE4E3908943656E180AD, + EC4F3034A642D9E037570D4F, ); name = "unit_tests"; sourceTree = ""; }; + C59D7E00BE783577CACC86B4 = {isa = PBXGroup; children = ( + FB1B309BB58E2C3F8C8E78F6, + 99A9C369D8595E72707E866C, + A004A03A932CDECDED29F19C, + 1039ABBDCC86BDC9D2663017, ); name = xml; sourceTree = ""; }; + 832A7630233311711E40F596 = {isa = PBXGroup; children = ( + 49499FF5E55EB98673A6A68E, + B4D0FF68A5C2ED91C313EEB4, + C9F2D061D11F9C7FDE371BFC, + D4643408B22E79278A36EF58, + 42EBEBFF5A646996D8358315, + BB4549DEC50D1F5EEBC6DBC5, + F843E6E2861E6D1CCAB3F914, + 43AF0426B86E66A21FD0A48B, + 0859382DCC804302437ECC4B, + C0FCB15A3768037BA4D037D3, + 6A3C090B725E48550407FDDB, + 80805CC243709AF2F72B4CD1, + C2173FAE6C24F45293A0BC0F, + 0428DB5EA9F911DF9926AB87, + DE7EE8C5218F3BF83FB6F12A, + 931EA229128E860611053509, + 1153D1D54C3F91A7692DAAA6, + C4F19F947EFCE48EEC3A3536, + 41B1F69EE26D31B3FBAEC5D8, + 7EFE25827B648F6677A48CB9, + 4BA3AA2AD711CD953AFCEBEE, + F012F4A1076B71CEE2538948, ); name = zlib; sourceTree = ""; }; + 5F9AE004865D377EBC25E3D0 = {isa = PBXGroup; children = ( + 832A7630233311711E40F596, + B92070A7D5952D560DAD32C4, + 68E1CA6424A84D91BEA46175, + B6C40E843F7E8E7C4768B99E, + 001730671DD492F405B37778, + F7EAAE1A1BD13685BFF6176E, + 1772B02BAF54F29AD99DF42E, ); name = zip; sourceTree = ""; }; + 8BA5B0B5CBCE8D29F02D341A = {isa = PBXGroup; children = ( + 8A18C7E36165DF7E3A5CEDD6, + 2812C68F252C2BF450E614B6, + A4DD3BC3A7C14C9949D56D11, + 7ECE3EA89184F65B9CDB1734, + 59DF4737E9EA83A417422DDE, + 305F202C86FB5DF21B580780, + 07D010D27EFD8BC7C10E7F16, + 2E1C9E643165417EC8F5B28D, + 5F34FFAAB6478E82D2ABC11A, + CE726671300191C325E9A55E, + 69691F15F0883A8926C369B7, + 67C4E502B9319EEADB1ED4D1, + 5CDEC0ED2B979259F5FD35AC, + 6A17D5C8875BB44027272283, + ACD5FE4A6D2E431DDB908322, + C59D7E00BE783577CACC86B4, + 5F9AE004865D377EBC25E3D0, + A1753F748BC37C586970DC39, + 6670AE915E331809563CA152, + 38F29C2049566C47993A6D92, + 6670AE915E331809563CA152, ); name = "juce_core"; sourceTree = ""; }; + E45B4DA7B49FC8D397F1EA56 = {isa = PBXGroup; children = ( + 5708CF7899EA21D0B72CDC2A, + C5307BECDD6325DCE92F50FC, + 5C82ACC4EE09A1DE1CCEC9A0, + 84AADFD13AF2A6F6F4681051, + E82C9EF1A74D867BBFF2090D, + 1814F5A906001DF674D1C6C1, ); name = encryption; sourceTree = ""; }; + F0F7161CD1A9F03691DC6F0E = {isa = PBXGroup; children = ( + EA73C136F52502AA11DB7E15, + 1A1C8AEC3C5AB2E972B0212E, + 848D1FD80E9CA20E4977B516, + DD985A60FB76E976AF91852D, + 6231187E6EE9328EC9EE5D77, + 197312FA79716425243A2941, ); name = hashing; sourceTree = ""; }; + E58F94F6CDB786C1ED488C9C = {isa = PBXGroup; children = ( + E45B4DA7B49FC8D397F1EA56, + F0F7161CD1A9F03691DC6F0E, + 2D31D8E9881A842F9795BA8F, + 8803733D62CD6DE90727BCA0, + D53B54D1786A1FFC024BF064, + 8803733D62CD6DE90727BCA0, ); name = "juce_cryptography"; sourceTree = ""; }; + CB6BD117D401D351CD6D96C3 = {isa = PBXGroup; children = ( + 4AF755C65E352951D80FB93B, + AD3C946C260F68C4AD2B491F, + E7D09B860F4D4A13D4312C38, + 9E36C30D10A1EF9305E8D663, ); name = "app_properties"; sourceTree = ""; }; + E669372794EA6EFF5EEA686B = {isa = PBXGroup; children = ( + 98DC0221D9015F760E4613FE, + F7E829D0B21B9C1B4790A245, + 1B03B2952A4DDA6E6A1C35F9, ); name = undomanager; sourceTree = ""; }; + 3227C7993A753522BD997E07 = {isa = PBXGroup; children = ( + 391D3BD098AC7300A4D3EF73, + C11F98345D2D2FBC11C08962, + 7C02936574E000C436E3AD8E, + 72FED7B10FBF5AD1F504FDFF, + 5D5E0592B7C61D523CC40C50, + A485A4F0363775AE730EA0E9, + 013B24D69F07C2A525E82B58, + 90B324F7579B218ADE1C825B, ); name = values; sourceTree = ""; }; + 6A6672A570C2C2418F926C82 = {isa = PBXGroup; children = ( + CB6BD117D401D351CD6D96C3, + E669372794EA6EFF5EEA686B, + 3227C7993A753522BD997E07, + 6730807341A7C48B03F2C0CB, + 352DA3794CAAE2400AE8F2E0, + D9E59DE07A815AB303A297D9, + 352DA3794CAAE2400AE8F2E0, ); name = "juce_data_structures"; sourceTree = ""; }; + 03AC6E1674731C5F4A47A5D0 = {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 = ""; }; + B2E49AF40AEB24B46CD116CA = {isa = PBXGroup; children = ( + 139C8BAED6DCEE26652651B8, + 38CE1587800D612BA0C394A5, + DF7BB5B6B394EDEEF5F5B4B8, + FAC03FFD051FA5B34EE9BA15, + B7BE4498F5A592AAC43F0C93, + 36981345C70DCC6B95DEC59C, + CB36CD7F57D0F4231DC98686, + 0F382FC6B16658EF02D2C4F0, + 8FF39B6B0D9DEB5BBE388A6F, + C56C7577E65C0BFA449E71FE, + 1116222363E600327FC672A0, + 8DEFBFC3BEDCCF29BA577EE9, + 863A117E6B25D1FF3AEE8F0F, ); name = messages; sourceTree = ""; }; + 9E102EBF3C8575D7CCF2210A = {isa = PBXGroup; children = ( + 54569C1C994F3A0255785EAA, + D95D7B49EC6C6BDCB5A1B988, + D0F1614CC861E8E0B59B7A06, + 600102C053153EE4E1E72C85, + 32070395DAFA5355D390A120, + A5864A527A761F92C237EB7C, + 157290445D39269EA81887A3, + 236FFB34CCADD5FC95DFF04D, ); name = native; sourceTree = ""; }; + 7F2BD8A61B1D18F124EA16D4 = {isa = PBXGroup; children = ( + C9DCA94BF8A4C583E5392755, + 1BF5C3F5DC2285FBEF72B697, + 4F5843D423E67797070115B3, + 9A6FD2E154DA99F96FEA1405, ); name = timers; sourceTree = ""; }; + DE7F542DC0967F8EDCC4DCD0 = {isa = PBXGroup; children = ( + 03AC6E1674731C5F4A47A5D0, + 084F5B9CA3F5822A7D9156AF, + B2E49AF40AEB24B46CD116CA, + 9E102EBF3C8575D7CCF2210A, + 7F2BD8A61B1D18F124EA16D4, + 4F6493955B794D5AF04A7917, + 8D12E5100E73E3B7DAA10261, + 56E24241C02F953589493551, + 8D12E5100E73E3B7DAA10261, ); name = "juce_events"; sourceTree = ""; }; + 2163A917273AFB0BDDA5055C = {isa = PBXGroup; children = ( + AFAF4EF669407663DCB0F452, + 0C956209A61542371A7A5257, + CBE0B96838EE76C9CB8E1230, + 4D6F99ED00A4D8683AF313B2, + 684D88D936EDF46A76EC0538, + 920DA9E20EB14DD7D6139DD5, + 00EFEF8A403F4EC9E4D5B7D5, + F7D7A41EFE97269721C61BF4, + C71A9AF1EC7C5BE8DE2EADBB, ); name = colour; sourceTree = ""; }; + 1A4574F2F0E99904DEE58D55 = {isa = PBXGroup; children = ( + 6CB2CFC7615B804CE7514A24, + 925CC15E1449AED03A1CE4F8, + C061E0D3680889C69B1F0E95, + 04F31392CA58A2A434CFF7FA, + 6EE1847181635ED3C0838A4B, + 6165970F48D70C4EF06D35C4, + 620C2E1340FB7A40C1A2316B, ); name = contexts; sourceTree = ""; }; + 73BA3E62986D1334B1DF458D = {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 = ""; }; + C5F411781EBCD7F3D1F79A22 = {isa = PBXGroup; children = ( + 953ECF85818382C60F49544B, + 56B52F0F6AEDCEC78C38B5F1, + AC49F1C1B969FA4F06C77B06, + B65C16AB5714B1FBD65AD824, + E1C16C872E34BCB144B469F9, + 21B6FE5EEB3E112385D62127, + 78B2E510278C074CC7BEFD75, + 3CD57938B4C273D0AA6E6B8B, + 0FAA46FE4A661AC6F65896CE, + 8A5D40E78966BA8B0F8B542A, + 79F7CC3E9B848AAA3A5C682B, + 82395D0DB15E012EDA1AC1FE, + B79595279502C1A11A4E8C36, + E27F0860F27023BAA9798B46, + F08EB921DB62255A4B6DE85A, ); name = geometry; sourceTree = ""; }; + 80B9CEA91B1133273E5E07C4 = {isa = PBXGroup; children = ( + 96E3AA1226913EF6331C139B, + 33267FA61241D957E4304728, + A9804BDCC9EA93625A979493, + 29E4E641CF94C11326EABDDE, + FE9BF20961B39AF37503F1A9, + 185A05892DB1588ADED15127, + EFBE29E352568ABD7C246724, + BBFA79B00878E27EFDFF2056, + 6CD32A34EE34B5B3BA8726A6, + A523CF2BD5793ABA074169FC, + AA466CF1AF076190B2AB8F2F, + E13A179C3C2E83DDBE84BD1A, + FEDBEEA12A3AD98DEA5017C8, + 4369FF46F0040C55E20B1443, + C062CD5412F0E1632F370D5B, + 274B347BDF11D79DFC41900A, + B67F3F40C568E6A0A85B13D9, + 97F934DC573A3354529D933E, + EE882A084D2F2508ADABA62D, + E3F6156F7AA90AA7B94340CA, + 674589976530D82F36BC09DF, + EF3F887FB8E795AEB15117D0, + 7B8D5448EA4DEAC6D7EAB76E, + E3B82C084457B38B70E855A1, + DF82CAC3655DB0CA8ECC287A, + F33E348B71D7BC88C0A10191, + AF2E4CD49F675DA97DE77676, + 67FDC6EFD616DAAD9B9582A9, + C1CE3850BA3418E1D13DA30E, + 463765AF4ED37D37F1FBC043, + 0A596EE5FCD9A05F6A2333BC, + E45E6A34962C762B1F7EEAD9, + D56C15447F135DAB8B86F46F, + A9248B0E078FAE4C595533CD, + 7519822C13AE752FE0E71999, + CC688973972C361CB486002F, + C447D31F31E9F92DE96EEB20, + 9DBD3904C2E224B3A9E5A989, + C3DF78053A38F20359D1CA3D, + 3C2487A14C3DEF992281AA31, + 93A3B1BF9DC47F86AFC3C432, + 1A008A7010EFB8CF8532A862, + 7DC83D58125860C3C1CF8D0E, + 389B101B43F42E80A54EDAEC, + FAAD92B343B85AD5B3D25419, + 471CE8F45744EC436FCB2A05, + 046F85D56358C6CE4E88882F, + 98BA0562DC640750B22FFA47, + 709413D3F82F0D23BB3B7BAF, + 9880409C7B2926A7A993EC85, + B09012029021539E63B303F5, + 935B8860A024E1DFE861D22C, + 4FDBBB918B6780183AEC3C25, + E17383775F88CCC99E636F96, + A8F7DE14ED3586063403A982, + FA44581808EE24AB2E0E9AC0, + 360997864CB6E221E6C4871D, + EA0A519FD28E440CFD05E199, + 7802A6F32892407DEDDE8B5A, + 54DAB21828DE5EEDABE2F5D4, ); name = jpglib; sourceTree = ""; }; + 0AB769396F89DD9D7B21320E = {isa = PBXGroup; children = ( + C2C4159CC70B52FB5398C3E8, + 77CA70448B5AB9C0EF12D2BD, + 170029276897B54B7FEC88AF, + 1502FA84EC50227A55ECEC7D, + CC95D2A82F9A181F6EA1239A, + 74FB4B3E778EDD3DE2F8C23C, + A3FE229890B4259C6628873B, + 2DCF6AAD0050CCB46951212F, + 458A05C0E1583B06B813596A, + 40EC68DEA4F9C55A8884990E, + EB3F111E9492E30F67702820, + BFD1891DABC7B4BD3C681A2E, + 618EC64934DC5A3ED3AAC412, + E456392970AC8841A6591F96, + 3BE15C22CE27658B1B9C4D56, + FC72DD29ED0CAB7D0A7B43D8, + 11BB370E0CBA3B3548B1DDC7, + 7251C6186D4E8BD089C867C3, + 919C9B2EF8B1F673C3903F75, + 707B2ECDBC929998FDA89466, + B8D1A5B9DEAA27F8A137E9C9, ); name = pnglib; sourceTree = ""; }; + 592FBADBDF663CA6BB89FD31 = {isa = PBXGroup; children = ( + 80B9CEA91B1133273E5E07C4, + 0AB769396F89DD9D7B21320E, + 221C1BAC4138F261F97121AD, + DB876F7873F42DC685A58CA7, + FE90AF2B2BC1106C0D4056BD, ); name = "image_formats"; sourceTree = ""; }; + CEEAC2F1E9E241026204D1BA = {isa = PBXGroup; children = ( + E07C56267CBB46FC44EF2026, + A726B794D536985E1F35525F, + E3FF16862AA1B2F943DC616C, + 31A8DF142F8B653E285C7E01, + 210A4FDD4A56CF817E5E8567, + 68C633ECE610641BB1D21C95, + A60E4D1A58B70887556782F4, + 796AEF1400580E81AAF23CE7, ); name = images; sourceTree = ""; }; + 9D4D2BA0DE5B9B2934185743 = {isa = PBXGroup; children = ( + 70CF9F1991538524A7C4CE39, + 784287AD783AB8DDF512956F, + EC192FAABC6A0689436E28EF, + 44BEFED79E5FE4F558458C14, + 9BFC2FD520814B736535DB8F, + 1F36217CE7A5B1D63D41EA6C, + 045B9C5D21C5C86FED140D81, + 0B96A219A0CFF707E5A13B68, + 2AADCE9D8BADF4DAC05CCA1E, + 21FAFA7F2C5D0E8D99876EA8, + D5057D7B18ABD5E810A6F830, + 2ED5D4ABB34DAA5D6E93A171, + 5843A5060852C6ACC4770EC7, ); name = native; sourceTree = ""; }; + A114AE863022D630909339F8 = {isa = PBXGroup; children = ( + 1F7F2864FE54D79A0C42BE93, + DB20268A566DABEAE3F2CBEE, + 93D165846B65A638F1C25C4C, ); name = placement; sourceTree = ""; }; + E9819C83D0B797FC71811B1B = {isa = PBXGroup; children = ( + 2163A917273AFB0BDDA5055C, + 1A4574F2F0E99904DEE58D55, + 73BA3E62986D1334B1DF458D, + FDDF6067ACA897DF696D784B, + C5F411781EBCD7F3D1F79A22, + 592FBADBDF663CA6BB89FD31, + CEEAC2F1E9E241026204D1BA, + 9D4D2BA0DE5B9B2934185743, + A114AE863022D630909339F8, + C643CEACB4F25A498EEA97C0, + 8DDA82E1200B61D3B6C526E8, + A2A081D9DA35B3D1F183C3FE, + 8DDA82E1200B61D3B6C526E8, ); name = "juce_graphics"; sourceTree = ""; }; + D5845F03CC615296246C25EC = {isa = PBXGroup; children = ( + 6A04C2E34DB0C6515FFF160B, + 2252F2B96709F3C7CE07B5E7, ); name = application; sourceTree = ""; }; + 929D1A676A0773D93FAE7846 = {isa = PBXGroup; children = ( + F6B1C18DDF8DFF1B3767F018, + 0CC9026D5056CA9C1FE64A64, + 6DFDC749FF36D8C27C997B3E, + 5745ECDAA4216EE2AF97E5AF, + 202591AAB1ABCFE458F33F7C, + 215EAB10AE8D19F23AD2BDBC, + 138550CC958D2F029C01B4E7, + 736E99601AB6C492D82DBF3A, + 9F5483F3EEF0A1E0C71B95A5, + CDF8F65F9079B2C14A740F0F, + 9BD2CA4A6C8DA8FF236F3AF1, + 06411E446478986E7E65FE6B, + A207C9202FF3FDE0C6B273D2, + 6D596D17B6A79C2E6C4CFBD1, + A28743047698F6C02194A218, + 3F222D26A164E7AD78A33B3D, + 263F153E8A277E02A3754BBF, + 206D399250A42034706E5434, ); name = buttons; sourceTree = ""; }; + 403C6573DDDCA334FC47137B = {isa = PBXGroup; children = ( + D4F2D42C58F4D86E00E76F31, + B5C4B75E1E71D9445A1AAEE0, + D75EAC16FAECCC51E3669193, + 54747E887C1021F05F172B89, + 7E0C5AFB74461AC174941BDD, + 1B2B08359011B2BD7B07A677, + BA5C7DE347A73A87F687703C, + 9101B27E4D98157EABCE9B8B, + AEE6CA38BE01F8C61920C203, ); name = commands; sourceTree = ""; }; + BF8202E66D3F8B7A3713EEBE = {isa = PBXGroup; children = ( + 3CABAAC1C4BC0D8105183D56, + 4C150A1BF98D747EC218A602, + FDD33A6837774904810208D5, + 0BEDB3FD70AB61D3E7891D74, + 08ADF7FC9BBE70F3C8186215, + A8912DFCDA76B8897A5053CF, + D141433D3FE81F20490DE928, + 96972221C7D4CB0FCD5C3E2B, + 4E259F36C28F1ACDAB4CC73F, ); name = components; sourceTree = ""; }; + B4625DC62073CDE5E7DD8C6F = {isa = PBXGroup; children = ( + DEF579B1433EB8DEE7AB50F8, + E73C7E17116F6085765622E3, + AA2D4949BD61CE8B891731E4, + F5C02C740A62090A9E9BD25B, + C1FDD2DDB01AC8C4DECB2C10, + FBC98F0857AE7FCBD70C7C5C, + 003CA65912AC8048759478F9, + A132B5A63CFEF32407ACA5D7, + 05C936573E73B8AACBDF3191, + 40A83A20ED109AAAE6D63AF4, + 99557681178F79E2A803C65C, + B01CBF496E7C88105DF4B52A, + 51A0763AC785F93591517559, + BCAD13352CE76BA81629A6E7, + 16017456A45F74C692A3AE45, ); name = drawables; 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 = ""; }; + D9ABDF79240EE6C8519928C0 = {isa = PBXGroup; children = ( + 148FC834CE2CAE18477AB708, + D780ED33573AED5AD383A036, + 88EA32274CBB5C3A4ECB9ECA, + E7E1C4F416CFA44BE7DD1A74, + DD2494D5F1C081898D616AF5, + 4E3AE065222C8C87691DF2DE, + 7CBB297E627A7DC7EA12A8B6, + 77B05CF7C9BB9778EC06C396, + F1974B6EDBA502BC36671D7C, + 915ACCF56213FACAB42B427D, + 2FADEBA1901F74204DE253BC, + 1ACDDD42A7050309C8765F75, + 143BB0407046E63639E1D79D, ); name = keyboard; sourceTree = ""; }; + 87187FD8D6587D56F8D49D99 = {isa = PBXGroup; children = ( + 64CCE4A87FEE5C2B8E83BD29, + 467A5E1882A75E01876A8C4A, + 4924392751ACE0C9F2076599, + 490FEE91E483534632094C67, + 9EE5D1C3DFDD31D9D8237541, + C61E82D93918A611FAFD9E9F, + 98A79B670CADD4E020130BAF, + 7D50F21E9F18C152C9C662D5, + 271A1D94B96A8B7C949FD8ED, + AE3E427DBCC8D50E3F356402, + 3DBB6D91397AE61D59C90510, + A9FA71357C5B2A46A75D9230, + 6EE91491434D058606460AFB, + A8DB614600D348C730AC3930, + EA0D43AB5F47506D5CDA81BB, + FE283C418E7E545626881FF0, + 8427B23B886EDC0E1839D7C1, + 240889EAEAC85D85AB61011B, + 442031AD0C8A280B68CE9EF0, + 9A9B6F9A13C9F01309CE0698, + F2499004037A1C1D8FEE1FD6, + 2CD0B485ED8C5E8402671D36, + F8D0F7C0A19B4ADB58454F16, + 0BDFA0E402BA7E6B366E953C, + 4524F465153A8F6BDC236349, + 2E96852D55A9C1DEAF76FF6D, + 4437785A3DFF4AB2D6A78DB3, + 61593EB1738286004B592FD5, + 42B5C970B8DCD08A864F2208, + 5BC5622E615CA3B13C6F9046, + A4740A64F0FC3BD980BE5D9C, + 943FD0D3066412B00830FD86, + 5B8DF06BA7B7CB88C4922682, + 14DCD95D4AFE5101B036A6EC, + 125CD8A5E5B57840F5154ACD, + 189357BBA18F12A3242706A0, ); name = layout; sourceTree = ""; }; + FF782F09D04DC681C61E8A65 = {isa = PBXGroup; children = ( + 9BDE235186FA9648EEECB373, + AE84254C46407F84EB70A370, + E7F098BA306EC789242AB9A8, + 864B6C25114F4416FFAA1838, + E4F9D1E097CC2C1D1291823C, + 203CF0F8F72A516BB1CC5422, + A2FBC2BA5FFB83CFCD61F399, + 845CE323405ACC3A7E84EEAE, ); name = lookandfeel; sourceTree = ""; }; + 641D68E511AF6662A0147EB4 = {isa = PBXGroup; children = ( + 5644F0AFA78E8AC7501978DE, + 628869AB2D553E2A6C68C748, + 7507846FD162469386479CDB, + E654E3A3CD45A888C5F773DF, + D376B9B54EC944E766AFEC45, + F92A6000284C0FDA0A4845CA, ); name = menus; sourceTree = ""; }; + 9A9BF4496F2B68C1CD461F34 = {isa = PBXGroup; children = ( + 5B462BC3C5F8B6D72688ABF3, + 999BC36BBD71BD4117EFDFC4, + 14F096198DE1002BF2CC56EF, + 422524EBD7DA6530970A7872, ); name = misc; sourceTree = ""; }; + 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 = ""; }; + 891FE52CFDA76DB75DC8C1FF = {isa = PBXGroup; children = ( + E99F5A31373E9BDEAC40792F, + A9F6985D38A1C25F0C75215B, + B1C57BEEEFD26639F1ADFC1C, + E9B8C3CA480AE94BEA852EA9, + 2A060BB0D79BEC3CF644F553, + 4B98FC7F079F93BCC4D65C86, + DCCB75165B7C73A589498E87, + 0C747328CDADAE15E86E5E93, + 3058CCA7DE9BB9B37FE73297, + 1EC7A8EEAD8ADF43BF014C2C, + 7D264E60AC701D3736527D8C, + A37D773DEFB69C248D703F40, + 95CAB4F09E05FDBAED45812E, + 1241F3A1FCDF100CD75D5E78, + 84444B1D8FCE50BA88CDE7BF, + 0D100A1B27A72355323CB637, ); name = native; sourceTree = ""; }; + 9CA312FA866ECB18716F8882 = {isa = PBXGroup; children = ( + 0019A20E8A7B6B383B6ADE26, + B40E8B05F3556B148477324B, + F2C7DE572E29A3D62EFB40F8, + 859DCE43FF52E0BF3E9E9540, + 35AF9D5F0603CF6CE2D355A1, + 8B698D4DCFED3BCB6F30D69F, + E7A4604F766ABC8BE26C94A1, + 80131CEDAA488DC654996A55, + 867C3547D1301204924989F9, + 6920079B91BB1A48F82C7B0A, + 7FF7EFDC3CF13673541E332D, + 49A941554FB8B2B20F219182, + 5E674E757BBB4EA2F62B12E9, + B54DB627A7AEB6AD820A0A90, ); name = positioning; sourceTree = ""; }; + AFF96222D3DBF9EC82CE5FF9 = {isa = PBXGroup; children = ( + 52508197A5E3C0040A5651CF, + 6B8E7B90EE615FA508709ADF, + E284B565DBD647DC0830D23B, + D782DA091AD3ECE158FC6A5F, + D4697A0232AECE5DAC5E332E, + 20FC504E8FB8D30E890A9837, + BD7C18F07DE633B97B4478E7, + 6D3FB966CF0EBF70802B3575, + 5382FC7D5D61AE2AD603240B, + A513D5453FF52483D13BA026, + 2DF5213993DF1380E29C848A, + B8B309972EBB7F07305ACCCA, + EDAC762083E327A80CE9D260, + F994D79D564B5F8D06E6766E, ); name = properties; sourceTree = ""; }; + 5AB72EA5CA87BB67F49312A6 = {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 = ""; }; + 47870DBC652955C00327CEAE = {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 = ( + D5845F03CC615296246C25EC, + 929D1A676A0773D93FAE7846, + 403C6573DDDCA334FC47137B, + BF8202E66D3F8B7A3713EEBE, + B4625DC62073CDE5E7DD8C6F, + 00C2E5EAA46FC2E94B735C42, + D9ABDF79240EE6C8519928C0, + 87187FD8D6587D56F8D49D99, + FF782F09D04DC681C61E8A65, + 641D68E511AF6662A0147EB4, + 9A9BF4496F2B68C1CD461F34, + C25A90F4BF5CAED46854797C, + 891FE52CFDA76DB75DC8C1FF, + 9CA312FA866ECB18716F8882, + AFF96222D3DBF9EC82CE5FF9, + 5AB72EA5CA87BB67F49312A6, + 47870DBC652955C00327CEAE, + E3FF95F6D808BA35A041FACF, + 2B8548461E318DCB3354DB43, + 70DC1D288DC6503E628A5A03, + 2B8548461E318DCB3354DB43, ); name = "juce_gui_basics"; sourceTree = ""; }; + DB972D3C648038C2A22B74A6 = {isa = PBXGroup; children = ( + BC17B02633EF1E31024051C2, + 430239E0574C157689D83206, + AD0AB6FA2DE544D6C77E69AC, + CC3F5263B16932FF4E74B9D8, + 318F4AB64A5D4068CC1C4F29, + 09349C0C8300CA414AAE93A0, + 6F8A53EDF09094C83DE4D111, + 4076F14FE0016A4DA9087771, + 67DDFE829CDFDF93E712F9A3, + F2403808C453833EB6F5BA9F, + 1F73C3482D9ABB95A454B1B7, + 6CE8BC3B2D8B5EA0F4C793AF, ); name = "code_editor"; sourceTree = ""; }; + 55C43BFDC0D62854608D249F = {isa = PBXGroup; children = ( + 3419904525A3F1FF0CC50687, + BA95268EEE80F9509EC1F76F, ); name = documents; sourceTree = ""; }; + 4EF62D3D2047811C92E7EB02 = {isa = PBXGroup; children = ( + A1C82396A9A0F9A296AA7E6B, + 99DD90B64BC5CC5FF68FA0C5, + 86DADC3D8463C21DF2751EA6, ); name = embedding; sourceTree = ""; }; + EC8CE06D9D8E52E49905136C = {isa = PBXGroup; children = ( + 96440E5117350998ED0D84A5, + 5012097FCF4A8A50AAFA3437, + 53DB14312FF9B861739F6747, + 51D0841BECA0E4405EDEC794, + 5CB6ACA0F14EDE47A4F7BCC2, + 1B9552C3FEAFF2071C860987, + B6D03F8491E288FD4BC31445, + AD44FFB01387088222D0E98F, + 971FD8FEAE9A521A6983B8C9, + 68B2A7661E219540E9ADB945, + 40BFF5B7BB816333201855F5, + 25E306BB0D875CB0934C405C, + 322A68B4BBEE9CC039B9E024, + 6B8796ED91A82AB5A8EB922F, + DE40B42B57F29C650CB7F2AD, + 56E8C48ADDEBD48A49C885CB, + CA62F9F7C5F0D77D8E33D91F, + F9D77BAA08889D69E0C43F25, + E54D0994D31E20A0A05EBA2B, + 63B74F9D9F43393F6427501C, ); name = misc; sourceTree = ""; }; + 855B02ACB1045E95B826330C = {isa = PBXGroup; children = ( + 53704A9E32438DCEFF6A155B, + 58858190E0EE0AA6955EA236, + 2E540A9137E245EFADCFABB3, + D9342535EA61901A1AD816C6, + D800DE818BEDBF4579D15B1D, + 441A0EA83E44264CB977F21B, + A3DB226F40C387078864E68A, + ADA875897D39CF46E120D887, + ED94D4B502DF310763C6CE23, + 81B74E2B42184AD339E89F0B, + 7435199CD81F307322FE1065, + E7B6A0CBA0D27A095E83F5B7, ); name = native; sourceTree = ""; }; + DFC8A876133A671741A5FCA2 = {isa = PBXGroup; children = ( + DB972D3C648038C2A22B74A6, + 55C43BFDC0D62854608D249F, + 4EF62D3D2047811C92E7EB02, + EC8CE06D9D8E52E49905136C, + 855B02ACB1045E95B826330C, + 26245818D3AA2370DAC04FFD, + 17C645785FB20AA2E91ED84B, + 9539EC08D70D4719A89A4A30, + 17C645785FB20AA2E91ED84B, ); name = "juce_gui_extra"; sourceTree = ""; }; + 8A24D1B6925535A868974986 = {isa = PBXGroup; children = ( + 8BA5B0B5CBCE8D29F02D341A, + E58F94F6CDB786C1ED488C9C, + 6A6672A570C2C2418F926C82, + DE7F542DC0967F8EDCC4DCD0, + E9819C83D0B797FC71811B1B, + 2A27F41171A44038C2A1CB56, + DFC8A876133A671741A5FCA2, ); name = "Juce Modules"; sourceTree = ""; }; + 2C6746F66EF4444F53B3221F = {isa = PBXGroup; children = ( + 8702F43110E4CCA5E5F827F5, + 472F9A90F685220D730EBF6C, + 4F687965FBE86EAFDB3ACFEC, + 25AE732333DA2FD74CC41087, + FB81EC093D67E7A4DE50CD69, + 5926C29A69BD8A8063D316C8, + 5965D919F31AD2CEF9219A9E, + DE675FC14BF239A4CEA42BB3, + 01E989844AA3018F427E0E44, + 7A7158A25E07A54D6AA6EBAB, + 364D1A9B113320407A7E57B9, ); name = "Juce Library Code"; sourceTree = ""; }; + 8180B5894A78501084B8F133 = {isa = PBXGroup; children = ( + E266DE67FF319D56F63193A6, + 6678E9B3EEACAD47F438B264, + 951128CA33CCDEF570436B1C, ); name = Resources; sourceTree = ""; }; + 0FFEF043CA89142B18C79ABE = {isa = PBXGroup; children = ( + 80D62B907248523E6943298B, + 5A75806B34E4EA6598A6024A, + 7B3F7ECF6DBF8C8EE5C2CB86, + 210CD22F25F2C22F9CEEB025, + D00F311BFC3C2625C457CB9B, + D1F9B0E9F5D54FE48BEB46EA, + 728FE25157E9874D50BBECB2, + E983E6DDE3318B872EBE347F, + 8F7BE18698ADCEF51CDE4A5C, + 842427CFE565F3FCE5B99174, + E96597BBC6A98255B51B94DC, + 431D30038CBF67F80E8B3A13, + 9F01BA9942D038EA8B5289A8, + E5D6C36496F5BC84D7213BE8, + CF6C8BD0DA3D8CD4E99EBADA, ); name = Frameworks; sourceTree = ""; }; + 92ABB8016546F41128399E9D = {isa = PBXGroup; children = ( + 09DE066936CF037E9709ADB1, ); name = Products; sourceTree = ""; }; + 3CC531922CC2D398E283A845 = {isa = PBXGroup; children = ( + D3109994DA6AD871BE85C4E2, + 8A24D1B6925535A868974986, + 2C6746F66EF4444F53B3221F, + 8180B5894A78501084B8F133, + 0FFEF043CA89142B18C79ABE, + 92ABB8016546F41128399E9D, ); name = Source; sourceTree = ""; }; + 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)"; + 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=4.2.1", + "JUCE_APP_VERSION_HEX=0x40201", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + 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.juce.theprojucer; + SDKROOT_ppc = macosx10.5; }; name = Debug; }; + 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)"; + 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=4.2.1", + "JUCE_APP_VERSION_HEX=0x40201", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-App.plist; + INSTALL_PATH = "$(HOME)/Applications"; + 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.juce.theprojucer; + SDKROOT_ppc = macosx10.5; }; name = Release; }; + C42924A24AB55E6A940423EA = {isa = XCBuildConfiguration; buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + 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 = "Projucer"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Debug; }; + 70135D15D7E0D8410C42BBA3 = {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 = "Projucer"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Release; }; + 50E3FDD15B8D8C9793DFABF9 = {isa = PBXTargetDependency; target = 0039FE1A254FE518518BF8B8; }; + F90407F24422C589DA251604 = {isa = XCConfigurationList; buildConfigurations = ( + C42924A24AB55E6A940423EA, + 70135D15D7E0D8410C42BBA3, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 0655A4A348F7F91F77583ADC = {isa = XCConfigurationList; buildConfigurations = ( + 0CC6C439D038EDA0D7F10DF0, + 0BC15DC2E5FE5ECFFB398D49, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + C262D0F297DDE25326F5AC81 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 2610F357881240ACBF612F48, + 1321E6C1C6170B6C898AD09D, ); runOnlyForDeploymentPostprocessing = 0; }; + 5CB869A8DA78BE6FA2757034 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 357A6AA6960EF95D92929BEE, + 6DD9DA1677A6CF789CDAB478, + 954A036F5DDB375DB23FFB3E, + 3EB3D569250C4BA4CA9AF578, + 3C3B0ED6C43FDA3AF76DEE2E, + 95B44E6C74B1DED31DBE37EB, + AA9D0B8E23F3D87A23DE9F8A, + 244BA1BDA5FAA465EA3F9C6D, + 85B5E65F8DD80938BFBDCE61, + D805169E01D7F90B01C11769, + FCE6F604C00039A32649CB69, + 9BF773500BA51A8B5C6C7348, + 57B1F32A372143B4D3B1C517, + 3DC282564876B1FC88AAA9B3, + C49E1D32A9DCE3D59BC48B1D, + E1268E019B434F6B5E9317DC, + CE91112DADB97C573C3C674D, + A70F0274076C0D44ED71C980, + BD1E0CBE74DDD2F303978E1F, + 8C1CC0E7A772D66635BA482F, + A69BF71FA90E5A66B6EB2E0F, + D68DE111AFBD82F0D44A3B69, + EC6A34EC9A9D454BF26AAD32, + 8AD28823205783E6F676F254, + 34716A3539FD288C09CBA38A, + 45A53AF13B0D663050632E8C, + C2A85091A28C907A4E1E1687, + 83431B7234A78ECFB3C15F63, + 209FCCC2155A1FCB7E11E20D, + C93569F47B4AC1A8E37992ED, + 1B988E139004D8E2850EB656, + 3D777382FE212D59BAF871FD, + 3FCA61C401007B243E2E9035, + 30B921C38DCEE787B294B746, + 1F37544891EC8DBB5E500C1C, + 0C5F43C262695A3EB7A9E1C0, + 110221CD5578153B528AD2BE, + CD4F7B119CE718BCE78D61F4, + 78CB463DD98A55313A543859, + 1499DF2E85B05AC1BF423773, + 123810DAF8AF758928916ECE, + C9F11BA62D6D092A300363F7, + 9EAF9BE59FFE0BD49410B10E, + 4A1DB797F1356E85110FF871, + F6635694A01FFBF5EF0968DB, + 518DD443B6F17A5AFD707263, + B7EBA1A83575F48CD08140B9, + 3C5267E06A897B0DC0F7EA50, + 9ED1BEFFBBF553678675DEF7, + 4EA7BA3999C577D98568D5B3, + 58836EE272BEE27887D2F665, + 386C3F32B995940D9AF82114, + BDA1FA163E7AEAE532661BFB, + F44E979EBF431CC0122CE29A, + C0534804C9B068A2BA6491F6, ); runOnlyForDeploymentPostprocessing = 0; }; + D150288A32EE596408C2B99F = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + A578EAD4BB55680E8097BE0F, + C1B9334AE849F93FB3C56B34, + 8B4A593B3869815BBAC3EF93, + A14C2C2725DA3CA7995D2815, + 1E76E36772355E2A43CF4961, + 241F29FCBB7A17BB44A0B10C, + 9359F9401D59B4517F75C39C, + 091A57B4B9CE623E75E9A756, + FAB47E69F7D9DCE1F906AA07, + 0E884E47A637D6C65154699A, + 49C22786B54C5DC94E4654B8, + CDEF9FF2D119476D707305DF, + 96EC6315E1B3F1A109F84BAF, + 11D42F7EC6E6539D79A7F4B1, + B980464FA2761CCD64B1FAD6, ); runOnlyForDeploymentPostprocessing = 0; }; + 0039FE1A254FE518518BF8B8 = {isa = PBXNativeTarget; buildConfigurationList = 0655A4A348F7F91F77583ADC; buildPhases = ( + C262D0F297DDE25326F5AC81, + 5CB869A8DA78BE6FA2757034, + D150288A32EE596408C2B99F, ); buildRules = ( ); dependencies = ( ); name = "Projucer (App)"; productName = Projucer; productReference = 09DE066936CF037E9709ADB1; 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/Projucer/Builds/MacOSX/RecentFilesMenuTemplate.nib b/extras/Projucer/Builds/MacOSX/RecentFilesMenuTemplate.nib new file mode 100644 index 0000000000000000000000000000000000000000..cec7f7c72bb7b287e0d493d53b0c487866ed6038 GIT binary patch literal 2842 zcmai03v3kE6}|7xy!Xa&z`M5b4;%lM&tmWg|D6Ew7aQ2M@%n>tur*!}uy{Yt&e%Yj z!V5{9M2(VAB|&M`7EBWqMJYm*Qk147ZPe1JqQtSlrHBH7I0T_IjZ#F@)_t?%Ee=It zN7~t$ckeyto_pVY+c)U<=|*AUI3U0vfeZvFDn(`M9m85!_l1J%9ihIhn%B^~9BSCR z#V203IgHR?JfM+%hit2XfdZM33l3Ne`LGO1p%PYu3*68FouI-XJOW|Z2HRl=JO&&d zhbQ3$coFu%%kV0U!U6axya8{)&*3Qi0*=GG@E)9mKfr1D5GLTya1k!SWw;8Tz^8Bv z#i9%}4`re(l#OywE^?sxXaQP?79l5EjPlSDRDhPXJAy-g|6d>m?t@skA7;U9hyxqg zAs!MS5#~S=Btr_MLK@74bjW~=UYpJB>G0{kKEKxK3-*V$=^NdiW-IkI+77+L?P(2# zjEBWbU%%d=`iC^V!{PO-y1v1BXIcrL+E6ek^b*qPy|%dj#jrejZK-Zgwb!fZ0?Ft1 z89S!ULt$Z^e8-xJWJdjeuiG3r;V~TZa^A$tIOC;!6>sE?VWu%!dWA5EgB)G6@Q+_0~^K?-8y;x)BOkDvSy{=lWhr{ZQ15gGP z;OrD+%}2|n3LfAkKZ6HhIjn${@DNl(4b(y%)I$TTf<|cK_woDrQXa<_@>HJA=kaWw z%k#LC7w~0KMb-)xV!x@vI5dlFT3{Wtf(P25U5Mt=fYA2|)`3%3tXY&QT zh|lV(cB#IgX%)?M5LB%O3Eae3g&<9@V7f2dxg3SVLi^yav z41ga35QI>#&F=Pya@RjH7ukjfz9|JYZG%QTR?|*H}#w^&f>t!FfCQP8jBMcrs6j zn3_={EIo#5XjYir@PtUpTru??h27vh2TuvHM(&X7X(3q6Hza#rv}1K-s|kTTLwx}e zgwGX~pUzw)oz~Xi^J_i2wP+bveH1D9I{3aQ_wzhMR5UGG#l2kF54C*W-6{M)P^c3m zZdYwT&k|jhZYeGBGP|1xwP04O=GB769k93i>@@*=5ccyN0X?5*M#0}S!RvYM-CCt? z2Ivt187Zv*bZn^gYic;l6tLHp)N5AK#I6f@hlC!6ZZ23#AA?^`_tPjG1LxgPW;W!B z88R+vtMB(2XYZ)UOzYpzuwLBJ5DEuW<6a1Vn&Gpgt;45nyO+n=86No^)}a12R)3vg zU)a{D`3Jj&LNm9nIVG=%nNTdYQ$r|dxYVH7W?@UQ3YZ)<2a#2vD)`JCKuO|SK7B<; zkoBA-1~C?h))gH=))S7#_?nj-vc-uQ-!{nby+&CcRH0dsNN6^SLpEeb@hAZ$qB$rD zC8HFSiqggI%~8 zx8N?k2?wx_AHzHGF8mDMi+_w?$A|D?d*2`4pWg6Sed~ARjY?$q3ud*Mq zAF-dX{p<~N5j6 literal 0 HcmV?d00001 diff --git a/extras/Projucer/Builds/VisualStudio2013/Projucer.sln b/extras/Projucer/Builds/VisualStudio2013/Projucer.sln new file mode 100644 index 00000000..f4a3755c --- /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/Projucer/Builds/VisualStudio2013/Projucer.vcxproj b/extras/Projucer/Builds/VisualStudio2013/Projucer.vcxproj new file mode 100644 index 00000000..23d5a012 --- /dev/null +++ b/extras/Projucer/Builds/VisualStudio2013/Projucer.vcxproj @@ -0,0 +1,1904 @@ + + + + + + Debug + x64 + + + Release + x64 + + + + {26ABE2A4-1F2F-8375-088D-D692A4408B5A} + v120 + + + + Application + false + v120 + v120 + + + Application + false + true + v120 + v120 + + + + + + + + v120 + + + <_ProjectFileVersion>10.0.30319.1 + Projucer + true + Projucer + true + v120 + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + ProgramDatabase + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=4.2.1;JUCE_APP_VERSION_HEX=0x40201;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\Projucer.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\Projucer.pdb + Windows + true + + + true + $(IntDir)\Projucer.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Full + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=4.2.1;JUCE_APP_VERSION_HEX=0x40201;%(PreprocessorDefinitions) + MultiThreaded + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\Projucer.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\Projucer.pdb + Windows + true + true + true + + + true + $(IntDir)\Projucer.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 + + + 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/Projucer/Builds/VisualStudio2013/Projucer.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2013/Projucer.vcxproj.filters new file mode 100644 index 00000000..64f35bec --- /dev/null +++ b/extras/Projucer/Builds/VisualStudio2013/Projucer.vcxproj.filters @@ -0,0 +1,3383 @@ + + + + + + {7DBEF27C-2AFE-DA02-1DBF-E80FAAC99EA7} + + + {4F8BCD36-CE20-D951-FB82-2CCEDD0C5898} + + + {0A3B9446-F50B-3D4E-230F-7ED493541A07} + + + {5405FC41-BFE2-A51C-0AE7-96B19E9AFBCF} + + + {5F21E507-E5E8-0A74-F1AE-874BB67C26CC} + + + {0560E4F4-F24D-870A-444C-9BC16D918768} + + + {D2D3D7D7-2F4C-85E4-1C43-9D4F9E558BF4} + + + {AA9D8157-1521-DB4F-B8EB-B7EF407D9FAD} + + + {5208559E-5151-522B-610E-4A7D10D0709F} + + + {ACB81B1C-458D-6018-E92B-663C616374C1} + + + {BBF7BD20-FB7D-59E5-D1DD-3E6F1455CA02} + + + {9F94CAA6-D93A-E34C-3744-8DB22A7D65DD} + + + {F77CA057-8DE4-E076-7EB6-D2646794864B} + + + {4BBA3556-B2A1-3008-8BE1-F82DE6666552} + + + {FE290DF2-C600-4159-D484-7F48DB498EBE} + + + {DD0D745A-044A-A337-0DBA-0816C2E7C767} + + + {422C46B7-0467-2DB0-BF3C-16DFCAFD69AC} + + + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} + + + {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} + + + {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} + + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + + {DA0DC4AC-B511-A2D4-199A-C93454D6F114} + + + {91929C6F-7902-B87D-5260-2F6CBF8ACD93} + + + {4634FFAE-9586-A970-364C-4FDDA635F99F} + + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} + + + {C9F6D785-BF78-5AA1-B479-111C65397864} + + + {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} + + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + + {F03654BC-34D8-F975-BEA3-750CC2783D23} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} + + + {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} + + + {7703D2CE-C32A-936A-0EEF-949FE6E52EB5} + + + {8D283B6C-13BA-9EF6-1B18-B1C393786943} + + + {928D8FCC-5E00-174B-6538-93E8D75AB396} + + + {358AEA11-3F96-36AE-7B32-71373B5C5396} + + + {3DF036EA-3B80-553B-2494-3AAC835CAE75} + + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + + {F2A38F45-6E55-E147-2E52-64A89FDD9D59} + + + {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} + + + {4926B3FF-E797-F586-857A-69D9703FA2D1} + + + {EBC65085-3AD5-280C-1A29-2B1683643AA1} + + + {E37D25CD-4350-4614-055B-7ABC55E67895} + + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} + + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} + + + {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} + + + {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} + + + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\Code Editor + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\documents + + + Projucer\ComponentEditor\documents + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + 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\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + 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 + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\memory + + + 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_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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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_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\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures + + + 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 + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + 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_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + 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 + + + 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\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + 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\placement + + + Juce Modules\juce_graphics + + + 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\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + 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 + + + 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\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\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 + + + 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 + + + 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\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_gui_extra + + + Juce Modules\juce_gui_extra + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\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 + + + Projucer\Code Editor + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\documents + + + Projucer\ComponentEditor\documents + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\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 + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + 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\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + 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 + + + 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\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\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\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 + + + 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\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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_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 + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + 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 + + + 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\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + 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 + + + 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\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + 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 + + + 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\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\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 + + + 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\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 + + + 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 + + + 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_gui_extra + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Library Code + + + + + 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 zcmeFZ2Ur!!);7AyAV`*=L_t770Tn?cqhv{nfQsY{l9S{l5(ET9KynU(A_9^(ISWdV zoO6zwv^RabnZq2%qchHY=lh@g-23F|q zFbNn8#=!8~b0+vc4}8bP^{?l1Fxb6Q;0NFZeUFrc!4COhFgEZR{1kli+j}sBiGbz) zx360zW{mnxo?+30Z$@$^$_}9f-jC`vdxguE8K3<#`FE@B^s)y_5RJK=K!$ArP~cYy zbmi#-tqD@VP{Rx0&2YhvO0Av2kLrNRep=}R-g=e+k@wS%(p!&Gpfl?MQ2m_sD0O70 z0UfLT!1r}XRv9v+4U{7sjhBI{ycr-?FZ(~r*N0yL=6Z^O;l_L*cdTUR+qUR7dxoYb zt^tYyvw*t9-0yW9%ResLTbc-T6~zG411$j5AII&89?Tgsf4F#5{2)>J%{6_7NCqD)>E(wH5== zxcs|(Das~!1u%ZS^n0>NUIs=Mk-+E<3UFE21gz#Zeos%p=Wolu>dzU{2wwmMTxX7w zq|YqyrVRo3lx_nqojbsr`8_~+autvqUpY#8GwTrkkz@I~%^o3fRjYp}`!IC_a4y^i ztlJTQB7Ex)btJ8B0+5a!mzSw9p-&wy-!_e1I+6>Oy_2y1dwGe9&EM;=0o##2UV(u0 z^te2f-+^1}w6F96E=Ai%Wxp>E)nNs;>C?(r0MfN@%O2lDb)=7!Z)bLH0hVvKerx~d z9T4j_kTik-(niY>KP!7&2hW+5x}bcmVu%NwUJkMee=9iT?=>$ufiMGF7HSVFMWeRR6-rGEkq= z4rDtO0Wq4HKyT#`XanB@wJ$CKZOQV$P?ayRG5Z-<-dhJE1~LJ#?1)sEiNHU>0QTdf z2Mtg5y4D7P#jzD2->3X{|8eX`8q+&~(YoN@{m8LD>CAcvY|eKBJ?q23!v^Pli3$^) zzk>nnI}OkepccV??x`3AqBJu8LpFrrXYwH&H6iT4bVuq@zZtZ6AO0!^sZt|8sNIlk z=qh}@Rp4qr9gi?r1(j{^DEt zDpl?T4;r11eg`kv0aBtj|1z~T>>hm&{n%Wb1m^l%|1zyk4IGt$eAc&q^I=IK{;~YR zPYB>;$;Mx%`o4e5Z`s)gUaunlG8J#_{ZKyC7q{USNBuA1GxvMEdK|ZYpBqFk0`nUv zpmpK^XkJ1B^LvMYH5fl0$FV=lZ%_PYQMKrd?XPvsxWcKomf zB)9GY@xyz7SqtKqFc{Bnfcgi<+hF_v$^7;L?NV&TTni9cy75!_-^zyK;A8nv4E!q? zqQNnO;s+>(`BpY`587TuuWoRT%pUwu{`a!Km;Wmm2KJBu6vIGq)c5jLvQ@Ch!B>PA{=z~E2+t&%Mg$uy-m2<|*k)A`k2Fd$AeLMb;+;7vd zKKL$f0fn2p02D_-u^bdn{!IQ6hB9Lw^?IjW$QDCaU?t)|KrsvyM?taN&*s_Rk$?OxWFH_K1=&f+Rzv;* z@>x)Vd^c#*dY~8vilZRR$L0PvbI5P1WV;jmZ_4=JuKQ>V58VL(jsejI07yQ$BVjP% zT^Njh4F)3`gTZj11c$*ezE2(?wE(5>-$T!1|0)O70o4W73DphBIFbd)1TToE-~y8t zn11IeK<@PaUjP5-0nQKwV!7JKbP&IGF;e#b2$%CudRD$p=j5$wGe(Jz#)=Z)}Ed;!S7&9^}x(RHib_#xy=eig$%`A+784m}iOE7n*eZ90O1HjuwQKq7(d zwH;u7XbEV|{Q|rL`K)+@H^3X$5@2h28(c#!038|XK>f>W;NHkXV5}hwSfA+x-!B3v zi>$i9TMKg5(0=WaMOs@lNd0j_5Q1qkB z|KNh=1{Q&>`5vG;nC%Z-TulfE(2=eRwj~1CS{eZB+66w&HUNgLKF}JZ2b?2!euUwl zzLP99xd-a&yvvt}!&z|b_jdPzPx(DSvf108a(EDrG26EQY|eH40sAqRc+BNBMGFDr zjS;}X-qum9S6kS z^!K+M+^^t2Zc9z@d7%59G025Y0o&lXhV-WbpiJcdv<={zMjq6exxlYUM;sS4CmS<5 z{}T6cJN~NwkMSSp5YG%Fs54N%A72CYW5ADe{TTDN z`QO10@xpW6xyNFT#^GPO)bmf~v{a=@ydF4LXLc5W#d#zUAHD&Uyhi|tP2|y>jnT^b z%W?Qs{1DGSS{Di+_qKu6seWJ<m22zyEV5%wdFvG_GGKiGa`TOt1d&V{aD@zW9&#*aY1y4k$k4NQYPn*N=I|KL5L zamY#9I?^R*9Db%te}?~Comm|D{CmHD%a8U|rUAQ~D@Q&K^3zbP@uNOJekWXILIAci z#ro58VE+IGyh+~reZK(e`)|{?x&-;KAL-K1@c&F_zQqpRL;DNR7@$zdqgdl8Uiy=m z4~licc{^GGu9w%qH9d4b;9Jb!-~W{^{Rsb`>I{ha`!+!Q^}#OUC|-hMJ}7QI?(gq& zFs78g-{5p)bB6m5fP0{>e~@A3bN&U}v_n$L*U`6F%uid&)B`+MBS&mfNw z{N!^uu)ej~{xTA80#@TcOw+T0b1){XUm0H>nQ? z_gDA87}(S1k9$?eSbvuPNSBWB|6QH=z75bG7ZiI#>j!8J^gZt5XVBj+rHvII`9K}T z|FkuCr-#A|$yU*)+K9;83{Q@`ntS=`be z_By`b>-yQVu=@<~x?%%Z-#I*L0}>=*H^3ih>pOtl#Bb-hezp(xv-cL@9vXB(@ff5( z5I6HZe&`wGKEU}~bo8xK;QZglFXAx+q}Oc%o8XRL#;09i7~I1f+d=_xAb-6Hw&C5z z?mue7-O05hOc1XjU1_@cBka&SF!rep>(2n~=RRNyo~Qd+AOGmRxaTbJx_sjZ`@8Nv z;9k-?&^w0&2EhGDsme_teRTh*4XNN-Umo1|`B`88=)E1dM|E&`aKz0>mK(SI48LTV zagfuI|Jnr7>b8CvzX+%^F(7tm?=&6kcL+PQmvM|A+Ov@c+YmdrceI}gwc+pR67)U9 z%|QH;M7hz+pW(k*Y$T~(?+DBw7J&h9|3cjBx4pI>_4o0+Z*>O3uAcnwJ)v*$Lv4_& z+B#~(-_a$goqgc`B*Ym(9GS#N1I3@=hwKtK2S%WIz6$EC`CrW8AL-2T9@6*yf4qkW zjlC9i@ z|2w)Q3-&!^xAsB*0r7m$Iuhbre}*4=55~_Aq~T^8jZ2?_$z>#P_xXR?p+D1^U%~&Y zy7X{r4VVD^2E_A0TqPL)YyBB^=y&3I8e~#c#_f;W1CIEftcEQBvgybD{#QEltN4${ z;b*!e4W9kY1p6N1`5>+mjQu}Dobg}bhkk#n#8640#%lllbTxng+wY#e3J8K{jekXF z{to`*HvGsgd4c=e2o&mwtAzMgh%^2b?8o1L^B`KM*#nqHEC7q3U5qZ<0E#<6{tfg^ z-`kmQF@Jmiz5Rjk{wRHGm#Vh+fcP~8umHvk5LXHDtF&@@$1KD7VjsW!?;wmA&72=E`-up*b{^>hNm!SCo z&1uLkLHaqnjso(&>;Z1Y+kkq?zvG7Eap+$_9-W(z{BGXLfw*nJb2u4e`@rNj>WJt2 z0LI1;-wJWYk`+es{}kt+m4oIqWS1b@3i$`f$L)g)EhyF>0oQBqy7mB{vTZ;=YZGuS z+B(v;74Qt4J!rSo>$ZU>ojX7l*w=%gJzE9e?}PRc;`t!165?AS&KTmo{|v)_<9CpM zfP5U}r!ByCK=Be3^R4f19>w0rw(9#F;x!;{2GSFVBZGK8h^vJ7)>|NF{NKR#t93wr z8q}u;kZp!yJ}7R5VsB{u0Ih+bbsV%7h4!@|P5|OHAZ`Zw2I9ydo)0XW0-Zk+DANAd zUxfXt^#9&>P|OF#tx)U@tskH@5VVei)}qjQ8sY??dx)EX_$7!VgLpou48*to_mKQ| zYl7C(5GMd7h@1KE*8YEM`+rLh{AMGd!$Z&ov_W;iqK{?bQ@CSGn2|SGigMr1sg8$0tVKA^bcv=bkJ1Qs#|CZ`FAA_F3Q)R!J z!=dlNzsdSpJ_h~%Z`5~;<2XOY`3L-9JC550K=p$^es4GYU;QxluYLh5poe~c+;7nR zQ9AC|<9_}v_g9pcJbB_YG`~(tOWjn4PHRC47dlDt&^prq%rI@lr0?Q_mkX}mGZ>5k zCVf-%u4C+SoP#4xPY+P#U{GZ0&{L+T9%-&#^sxGruGdKxJSuc5DK@kXQW*wDVg|fs zS@iL9&73~*B1VkeB3#2)@5ouzRyaI(|3uxma6rgrbv2}r0Ij_(Qr*~rCt-HHI%IYw zu3)5O^!m<-O$VCoKfjd8FArhQ8Fd6vUm0vH4L1<(A@IwM?i&phwP!Wds?`N!-JTy#R5A81;f**`#36$tYUjoy}g zV2dWDu-me?=c{t%gvkYiDb+J?YSd)rjcSsD)*ePzw@u@-e3EwzX2paBx;#_1U+R#t zM7j%8gx$;{Pkwa%W?3q+IhGU|tK~^i1tZPbyh@CA(;GXh4?ho}i*zGjFEF3dfGNku zoQ|?K49U$EN^{KaVWh$Fl9tHfdh`zW7L5WQ3pZB_JejI5Mhq6r#2|o{qLt(^M|x1} ze7>IWd|fa7{u|w{6`~ss_A5(E^g6A!IwF)F6s#gL8NvE64}&qSLk=g5k^-}B@#jl3*-)K_KDk-ZW*UZgN9Yl}u@U}B<`jeLY^ z%XY%bAf^j!BkZz$#K0n*s#LOQjE3eIkD)I|u=UhlxkYHMZ`{pr`O5PgTOw`8&sbVi znF2|d4QGg2D6Y4@F+5|A6!TVLOVsAydW^Ibg*_T$c*?BMN&9Gi6~C%<{pHi?GEHMM z+Q(fIr%Pc3Bs^DaXd5-ucQi~Z=MU~>Xfu-Vv7ef^eEpKtQUDD@Oi0yI1x|Lj)9cP# z@gDVDe7V;As}$H`y~`L+uT%<8rh0LIYUSvE+I1bnkUqdk00TppfPkDpGY?57CL#hS zA>>22)0nr4FnV%(c%GdI4oyiI4|cuQ4_2OryYK8pzg3JGzq_?AZc+T$X!{(hfr(rL z76uPW>v?&nQqwNF`U0|3k5WQbdwFz=fFMFzE2tVytqd?G2Mob2QBq3EJea(U$&sTI0 zHd(GQypf(|qS1hnrlzMiTwRW=NxPoboAA2ec~_z1AW`{?0s{F6!{^l>m(FKe2T7Kg z6D&2DoqQutCzMZraYWo`ZK=L;Bp1v?EjqDajRL_p$1n*QH65#}ZtRX_XA}vS0JN%_ zHF3dOwrJ17lkWtWv1;!OW{gioa*XjkIcb>-$WG5oy0sZbo&+zc+7(ty* zECz`H7Rr8kRQoP_!Nx`26WDnXGV3LK7&f~P?=Z4Vx7SP|uV-4xd-)d|nOT`Ie&Hf? zMrb|QIc+w7-`8G~43}|?c+}R@5;N%iBTa{~>ScxE;T(KXvpIC)b9Q!I@&`T0)}{KH z2UrD))f1<83C@Ox8eXdV;I$W}^bVG?G|BUtJ%j1uNNwNH_Vr35fY`iJ!qO+C^$Onw zOhMP&L+5*=1Uoz~BEJ?lrmQ1izB{K<xO zZv+hT?>u>|hUns957RbeNyLXUbjPd2@Xk)GR~4L!d8+{X# zl~}4Dw^i2!*jVZ`J7`mwN#}?7mM7+khn6D5O-4^&#RM)xprC z7OHT%w&-Ep9M_({9=&NaTC1gO8QQ_^A^qaeiRl?PWw|*ypCPSdqoXAvpP?bvr)o3N z{xfl}gNu*D>3B)Ms_QI_V~$>-3Par=at{KE-SVx(l?mjo*rLIjutGY@SS*4j0ocql zgm{GXJ8BxWhfYE>uj2Fe5VZJCjCM;;``({YUc9F0a3zY0kH1rQh$oRWXi~w`X@p0K zhlm$>rWysnbToW)ubw4{MT<=%clo5ZR&oVysDREr)6o0s1S#42tpiEN#kH=v6CWB_ zFlq4023_1A?RAa|UwvbSYhtpj{0iJ2wE&Ux^9 z6svf4B;Y4$QG9%pe|nqVpMAG{+nmF~5j#Hg#==FF8j@$CrPFJr!LlPIc3t;w2T6-d zyn)3YG{vU*PSUuu(liHNTgS$zkDaJjyS%T=clAli=Xh)%qPJqZofkSs(o;NFoBi>} zmTooiA5>e&pQ;qoYPDdre=FO9LOa2A;?qOSN-a8qTchZ+nLSen*v#}JrbymJ$*8-%-D@*#2ySgQ?`pWuE)$7@YT3edncJ(`nVKO&52V+{MgNP&KD1p0h6N-D}Peg=fMaz zv%6l7(lbuSY`AiOQ`#sRhGl036F)ny6<_Nc%IDX!`ifCK4Lw%FeCv^X^*IfxSp_v;Dt_+nGw8F!% zXyv__r>T5BT|Z-0(4vetMcn_&eVB>C4F4xoWBKg+6K$%>{#lhZ=UBAu*RwvB9@Y6aJDq;Sxv#*A)}4Y}JUOAZ#Q+cQ*H1oyOCKKl9w#_g$F(BAJ_@n4lq6{0S~wp=(##-3fJfk@YyV$Hd= z#myDv#C|Ee0eBKA5Gk1NqryeleZKpIB)kZ6u&%$!iTr9TQ)cgW)nb}!ruARU{$o|BU%lKUv3k^JNr7; zpnYZk2To7U(6H1A&NyPwIT&h-nj;2%Ld6P;B9vn9JE2{Qvn1mXyBFl3gG;}QS$PV; zS#NrpqFsERAM9IGG%AJ-3pqh&hHF*S(vKIY=)>EwKRuhr+8pPa(J}1UHxkl$PpKYx zubtCuczxi-^Y#9?nA8nU+AFh%=AXVKA$r z38Ti>9^~>UPhk-WTsRC zPYuUGh2ctIx1-oeK9_36K-5IvG8D`S=cnFZF`-cW9U6#3zK-w zW%xz?<)_=6G*4977yZ0#QE6x}S^8*K^Yzr&gPt#TN-X2fJ;F87J+B(Cj%Em+T&p}N zOR+#*wb{X8n#6)SY@0{S%$2Czm4Hun3r{IKj!a4CjBmR}OP5On><;!bk%7Z6v%*5F zlD>ug?uOZDLIjiwyI5ez;hzO`<`s`0tSM-TDm*{ z+&;K5?mEfhL*!0qNqrSpg5Sq)Y6NSvlwI@yA%V)@cw;hj6(!V1(Bhw**%W%?!s4e* zx;O{@@=jk0YK%EWU}#5|gEV9OIT?a$DkpGI`H+dV$$hn-00|FGWk2lt!PUR2SY#OP%!!ShUeGde?j%XD@M4066<{=tTy zoW^!1Nx7}qr18fo03b)z~D z5#3Q140g0I{Jn{5imby7p+keZhj%^G2!s>%DXI9TX-Iq$Qw@|x&e-9f&=J(SJe67w zdk8w9D&GE+hUaPL)8uN-OOSYt@Z*|<0j?J|`t%;GxcSQQjg+XbO>D+k27_wBF~y+wtxICKdj%_hIlBTWxECo4Y_hrUN&TOMQyX{9%H_X^nX6xuR!T+Mnp z%WBIh^!D`4XPn!wHU&GDX+1f2^nx%x>&v(_ z4s_C8q*amO%%Pr(3)bmyIhhl1r z;mpU)b?Eu0;H7h_`}ee1YT4w-+z3amD-~S2UNh;=G7|7GTnzmJcGR01X-Yv}Ks9Dq zjY)aISa@&tPRogg>-6`s`^2MtS{K~>#R7GtL>{i4+kO{sopT928aIWj=MjE^i`#@rf7lR5MSaT+M_MrIz)`n7VnP z2wPloph!A5*KTX&>kkhi2C^;3KQ1z!&%@yoR|hBNtqk&W8BbkkQrqqvqFCiW4(QD) zyiAbc?$%SNp;i$NDpjDElbnM;!7Ot17&|OX92vQ^ zk^I@Wgco+;n}W^FYNhd56i`Sq-* z7-5A%PKvGS?d}f7k{eUQ4r1^+hKCBnU`N|!yPin9qxCrhWB%3~@2ce|ip^Mi<05c1 z7>c$E{bjd8P-K60e(Jt*{Wh$+Ddd4|ZPWvm8?u*c_wRmS#Co&AG zylHho%bH3-2*@Y<^t_h%HdP*Lbi{3kk=mOqH*|8nXlJ`0rVWtb<9yz%u^{Dd&rrbm z63ci7tY^(0z>>4hDiSC`(nJ`lu=k0-xY4pd8%BNZvp#!Il(thqhqKwIXam1>=8{EH zGONe!D(~>#pTTHcD+jphKGot4l6TmOjM7S>J#|?l8tTP=yU3Zn>{v5dWA&B25j$!x z`_5xJXV)5u`sz^OYLIQ2xvMvv_F+vGTy90*!dE#sK|4aQnoY^mI_7M~Zwb|e|I~O* zk^%RiO5~k;iAn1P$%`|Q9Fc-tbV{y131vZ_{4@~q~*EyFZ*Z?!Ot$i1UBQTdfgYeBXBZc@r;M)FvIY@q1p#eUF9LUUwW98nQ%$Su-aS|V)~uf88RXs$>PuQBOucrV zdp9Je#%rx)<&OC)eane570TvIxR)EW+Icm3W;e2x?hj_xg$fmBAgza9Vh1W-au|kF z=j&~yWuu-g|brk!kbqmsq4?5k_97SHitT@p|>b%@qD{%upX-Oyt_EWV>W`g4ak<< zXK02h04^yRPQ@oG?~9|h{fbY}#1S9jZ8h4b%U`^DS;gT^i_iW^X}Pg#ThQlpk%`G` z(#D%(9zwKK_mu6|=qob1pL-l&_1Jfvm`ORCBT>I* z{TbxIu)5?4;8P;viV)^3-Ok$8pCbtgd_|Qh%-f9ww&YJfcUyk*pl+%N$Z2d2x+yuR+oaxbt)7T zEr|AoUG3F!5DiyoJH35L8J>f+c!gS=OAWn`rQ_8lsd;u4OA%W(cs)BQlOtj)!)BfK z4n6*UEsb0TYn>n_^2PYjz(i!G$|5&@j%vNe| z?X?_&D<>$xWvR-N_mk4G(KQ1ZidE!gGqnUlBQel)3Z4Q7i2EJ2j%9|3-G6XR zL^&QF6J0`>)5TD>Ye@1wI6EFasHS*dxVChao*f*}Aib?I9GF+=4u;BW$r~n0I^je> zvEJ)+dIzUv=Gs3zsiXw|&_xEWRX-9{SRPUvs6cs_ACi`4<;4ED1(qfSV_t zq%!W?iujUT-ep?DMO5MSUq4g|X6KW>=FO!`;Pv7Lr8FOU&fXnf6VEGy6IU;VmBkxg zYM}D7b~0F)m(UtLoqPL?^47cu0h7s^WN6Lv><3=`=`P)Rt^$Q+q3I3JJ6YRYZMPM*H*MQ<;SO@{Z zl^_kZ)Jh9FrWj%K{69Fb%eBSpxgYK$@0{&TsiQu_aa9LL7)I=aOz_T6 z)XCW|S10D1O#Div%SGk1om)Wlc}qGc$NRI(M*3xP8e)p@*UHR9Dv8DP{r-xg*bb$Qv$ya3C1KjLLPw^MpGOH;&}er88p?!qBX zk!z?r5uhYtHjL&9x(9SI6#L!Rw>e|q-j#lqb0cGd{9^l;ExeqlxT>fYOyJqwI&e=Q z+jY0tJ>msA%!S9y(I=L+69;f7Av8nRZIK*couMN-YqR1jLm-heK6rm1b-wGCBS%b5)ccIqE@0jL6C$N{DhUH#^0c za+@uRC)fV{Jr-lc-P;1LTW0aB-gKtPa$>F{96dtlWkStSJ?=b}9O9AMXSvp9Le92! zJv)t*#KY;u2;~gKfst7oiX>ki^gLU;dne#(D@kHMnTqo38=6@Y3eO83t#5L4hFESs z&TW&%zkF%%-3lT{tp1YJxOjkhHZ7T6g}wx}BgU&I=pxjw*&PtVtz$RUdyVQl{7x5p z`bOZh>z$>(;~+wh{4Dxxf#2g+lURPPGNQElLYt3-t|}N+n`ph~3%WC%r>fWE!P-)S z^afE4bn(dV6vo@gq6ZS?GkuQKeRZ2EG^E~STy ze7k_-Bb$R!gQ^N%mH7&uZZ_^&b-(J z&4^4|JYnvao11|kU)Z^TO+fHcCM`6C^l|H(F8BK+iz^-%`_Crg>=|L78mx}mC~|P> zHR`{rO{4IU+eWs5#YD13LAEEz>vS+ZGAl(+%s*EK8ukaZEDw&)0uT*+jn1T|mgOkJ zaJejqHoW|mTmqFiZcu;iR_}?X`d%*oBt0F(8oo&V2c(IFevlr4Z{+3rj=($?S2RUm z?F7QP$5jYobm_bDPhJ~ddisLC+z2;~fW=SLeu4HPp76P+9NKS&C=xw+&vv{KxJ^

(u1;L6(cQ?)GnM#vbq;}_8j8w4Fi2^0KYHDQh@ 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 + +VS_VERSION_INFO VERSIONINFO +FILEVERSION 4,2,1,0 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "FileDescription", "Projucer\0" + VALUE "FileVersion", "4.2.1\0" + VALUE "ProductName", "Projucer\0" + VALUE "ProductVersion", "4.2.1\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/Projucer/Builds/VisualStudio2015/Projucer.sln b/extras/Projucer/Builds/VisualStudio2015/Projucer.sln new file mode 100644 index 00000000..14a224b6 --- /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/Projucer/Builds/VisualStudio2015/Projucer.vcxproj b/extras/Projucer/Builds/VisualStudio2015/Projucer.vcxproj new file mode 100644 index 00000000..106889b3 --- /dev/null +++ b/extras/Projucer/Builds/VisualStudio2015/Projucer.vcxproj @@ -0,0 +1,1904 @@ + + + + + + Debug + x64 + + + Release + x64 + + + + {26ABE2A4-1F2F-8375-088D-D692A4408B5A} + v140 + + + + Application + false + v140 + v140 + + + Application + false + true + v140 + v140 + + + + + + + + v140 + + + <_ProjectFileVersion>10.0.30319.1 + Projucer + true + Projucer + true + v140 + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + ProgramDatabase + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=4.2.1;JUCE_APP_VERSION_HEX=0x40201;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\Projucer.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\Projucer.pdb + Windows + true + + + true + $(IntDir)\Projucer.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Full + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=4.2.1;JUCE_APP_VERSION_HEX=0x40201;%(PreprocessorDefinitions) + MultiThreaded + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\Projucer.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\Projucer.pdb + Windows + true + true + true + + + true + $(IntDir)\Projucer.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 + + + 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/Projucer/Builds/VisualStudio2015/Projucer.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2015/Projucer.vcxproj.filters new file mode 100644 index 00000000..5835d984 --- /dev/null +++ b/extras/Projucer/Builds/VisualStudio2015/Projucer.vcxproj.filters @@ -0,0 +1,3383 @@ + + + + + + {7DBEF27C-2AFE-DA02-1DBF-E80FAAC99EA7} + + + {4F8BCD36-CE20-D951-FB82-2CCEDD0C5898} + + + {0A3B9446-F50B-3D4E-230F-7ED493541A07} + + + {5405FC41-BFE2-A51C-0AE7-96B19E9AFBCF} + + + {5F21E507-E5E8-0A74-F1AE-874BB67C26CC} + + + {0560E4F4-F24D-870A-444C-9BC16D918768} + + + {D2D3D7D7-2F4C-85E4-1C43-9D4F9E558BF4} + + + {AA9D8157-1521-DB4F-B8EB-B7EF407D9FAD} + + + {5208559E-5151-522B-610E-4A7D10D0709F} + + + {ACB81B1C-458D-6018-E92B-663C616374C1} + + + {BBF7BD20-FB7D-59E5-D1DD-3E6F1455CA02} + + + {9F94CAA6-D93A-E34C-3744-8DB22A7D65DD} + + + {F77CA057-8DE4-E076-7EB6-D2646794864B} + + + {4BBA3556-B2A1-3008-8BE1-F82DE6666552} + + + {FE290DF2-C600-4159-D484-7F48DB498EBE} + + + {DD0D745A-044A-A337-0DBA-0816C2E7C767} + + + {422C46B7-0467-2DB0-BF3C-16DFCAFD69AC} + + + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} + + + {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} + + + {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} + + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + + {DA0DC4AC-B511-A2D4-199A-C93454D6F114} + + + {91929C6F-7902-B87D-5260-2F6CBF8ACD93} + + + {4634FFAE-9586-A970-364C-4FDDA635F99F} + + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} + + + {C9F6D785-BF78-5AA1-B479-111C65397864} + + + {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} + + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + + {F03654BC-34D8-F975-BEA3-750CC2783D23} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} + + + {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} + + + {7703D2CE-C32A-936A-0EEF-949FE6E52EB5} + + + {8D283B6C-13BA-9EF6-1B18-B1C393786943} + + + {928D8FCC-5E00-174B-6538-93E8D75AB396} + + + {358AEA11-3F96-36AE-7B32-71373B5C5396} + + + {3DF036EA-3B80-553B-2494-3AAC835CAE75} + + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + + {F2A38F45-6E55-E147-2E52-64A89FDD9D59} + + + {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} + + + {4926B3FF-E797-F586-857A-69D9703FA2D1} + + + {EBC65085-3AD5-280C-1A29-2B1683643AA1} + + + {E37D25CD-4350-4614-055B-7ABC55E67895} + + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} + + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} + + + {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} + + + {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} + + + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\Code Editor + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\documents + + + Projucer\ComponentEditor\documents + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + 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\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + 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 + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\memory + + + 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_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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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_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\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures + + + 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 + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + 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_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + 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 + + + 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\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + 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\placement + + + Juce Modules\juce_graphics + + + 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\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + 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 + + + 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\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\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 + + + 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 + + + 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\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_gui_extra + + + Juce Modules\juce_gui_extra + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\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 + + + Projucer\Code Editor + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\components + + + Projucer\ComponentEditor\documents + + + Projucer\ComponentEditor\documents + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\paintelements + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\properties + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor\ui + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\Project + + + Projucer\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 + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Utility + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\Wizards + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + Projucer\BinaryData\templates + + + 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\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + 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 + + + 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\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\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\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 + + + 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\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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_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 + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures + + + 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 + + + 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\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + 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\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + 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 + + + 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\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + 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 + + + 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\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\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 + + + 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\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 + + + 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 + + + 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_gui_extra + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Library Code + + + + + 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,2,1,0 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "FileDescription", "Projucer\0" + VALUE "FileVersion", "4.2.1\0" + VALUE "ProductName", "Projucer\0" + VALUE "ProductVersion", "4.2.1\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/Projucer/JuceLibraryCode/AppConfig.h b/extras/Projucer/JuceLibraryCode/AppConfig.h new file mode 100644 index 00000000..e7eb6c00 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/AppConfig.h @@ -0,0 +1,113 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + 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 + 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_M70QFTRRK__ +#define __JUCE_APPCONFIG_M70QFTRRK__ + +//============================================================================== +// [BEGIN_USER_CODE_SECTION] + +// (You can add your own code in this section, and the Projucer will not overwrite it) + +// [END_USER_CODE_SECTION] + +//============================================================================== +#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 + +//============================================================================== +#ifndef JUCE_STANDALONE_APPLICATION + #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: + +#ifndef JUCE_FORCE_DEBUG + //#define JUCE_FORCE_DEBUG +#endif + +#ifndef JUCE_LOG_ASSERTIONS + #define JUCE_LOG_ASSERTIONS 1 +#endif + +#ifndef JUCE_CHECK_MEMORY_LEAKS + //#define JUCE_CHECK_MEMORY_LEAKS +#endif + +#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES + //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES +#endif + +#ifndef JUCE_INCLUDE_ZLIB_CODE + //#define JUCE_INCLUDE_ZLIB_CODE +#endif + +#ifndef JUCE_USE_CURL + #define JUCE_USE_CURL 1 +#endif + +//============================================================================== +// juce_graphics flags: + +#ifndef JUCE_USE_COREIMAGE_LOADER + //#define JUCE_USE_COREIMAGE_LOADER +#endif + +#ifndef JUCE_USE_DIRECTWRITE + //#define JUCE_USE_DIRECTWRITE +#endif + +//============================================================================== +// juce_gui_basics flags: + +#ifndef JUCE_ENABLE_REPAINT_DEBUGGING + //#define JUCE_ENABLE_REPAINT_DEBUGGING +#endif + +#ifndef JUCE_USE_XSHM + //#define JUCE_USE_XSHM +#endif + +#ifndef JUCE_USE_XRENDER + //#define JUCE_USE_XRENDER +#endif + +#ifndef JUCE_USE_XCURSOR + //#define JUCE_USE_XCURSOR +#endif + +//============================================================================== +// juce_gui_extra flags: + +#ifndef JUCE_WEB_BROWSER + //#define JUCE_WEB_BROWSER +#endif + +#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR + //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR +#endif + + +#endif // __JUCE_APPCONFIG_M70QFTRRK__ diff --git a/extras/Projucer/JuceLibraryCode/BinaryData.cpp b/extras/Projucer/JuceLibraryCode/BinaryData.cpp new file mode 100644 index 00000000..1f49a5da --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/BinaryData.cpp @@ -0,0 +1,4150 @@ +/* ==================================== 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" +"#ifndef JucePlugin_PreferredChannelConfigurations\r\n" +"bool FILTERCLASSNAME::setPreferredBusArrangement (bool isInput, int bus, const AudioChannelSet& preferredSet)\r\n" +"{\r\n" +" // Reject any bus arrangements that are not compatible with your plugin\r\n" +"\r\n" +" const int numChannels = preferredSet.size();\r\n" +"\r\n" +" #if JucePlugin_IsMidiEffect\r\n" +" if (numChannels != 0)\r\n" +" return false;\r\n" +" #elif JucePlugin_IsSynth\r\n" +" if (isInput || (numChannels != 1 && numChannels != 2))\r\n" +" return false;\r\n" +" #else\r\n" +" if (numChannels != 1 && numChannels != 2)\r\n" +" return false;\r\n" +"\r\n" +" if (! AudioProcessor::setPreferredBusArrangement (! isInput, bus, preferredSet))\r\n" +" return false;\r\n" +" #endif\r\n" +"\r\n" +" return AudioProcessor::setPreferredBusArrangement (isInput, bus, preferredSet);\r\n" +"}\r\n" +"#endif\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" +" #ifndef JucePlugin_PreferredChannelConfigurations\r\n" +" bool setPreferredBusArrangement (bool isInput, int bus, const AudioChannelSet& preferredSet) override;\r\n" +" #endif\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" +"%%includeJUCEHeader%%\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) override\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() override\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) override\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() override\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; + +//================== juce_icon.png ================== +static const unsigned char temp_binary_data_25[] = +{ 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_25; + +//================== projectIconAndroid.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,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_26; + +//================== projectIconCodeblocks.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,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_27; + +//================== projectIconLinuxMakefile.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,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_28; + +//================== projectIconVisualStudio.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,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_29; + +//================== projectIconXcode.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,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_30; + +//================== projectIconXcodeIOS.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,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_31; + +//================== projucer_EULA.txt ================== +static const unsigned char temp_binary_data_32[] = +"\r\n" +"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" +"\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" +"\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" +"\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" +"\r\n" +"The Software may be downloaded from the Licensor website - www.juce.com - (the \"Website\").\r\n" +"\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" +"\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" +"\r\n" +"1.2. You may: \r\n" +" (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" +" (b) provided it is used on only one computer at any one time, transfer the Software from one computer to another;\r\n" +" (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" +" (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" +" (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" +" (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" +" (b) not to rent, lease, sub-license, loan, translate, merge, adapt, vary or modify the Software or Documentation;\r\n" +" (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" +" (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 Pat" +"ents 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" +" (i) is used only for the purpose of achieving inter-operability of the Software with another software program;\r\n" +" (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" +" (iii) is not used to create any software which is substantially similar to the Software;\r\n" +" (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" +" (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 employe" +"es without prior written consent from us;\r\n" +" (g) to comply with all applicable technology control or export laws and regulations.\r\n" +" (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" +" (i) not to charge or otherwise deal in the Software or any part or interest therein except as expressly provided herein;\r\n" +" (j) not to use the Software for any illegal or immoral purposes;\r\n" +" (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" +"3. Fee\r\n" +"\r\n" +"3.1. You may install and use a limited version of the Software (Demo Mode).\r\n" +"\r\n" +"3.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" +"\r\n" +"3.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" +"\r\n" +"3.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" +"\r\n" +"3.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. \r\n" +"\r\n" +"4. Intellectual property rights\r\n" +"\r\n" +"4.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" +"\r\n" +"4.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" +"\r\n" +"4.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" +"5. Limited warranty\r\n" +"\r\n" +"5.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" +"\r\n" +"5.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" +"\r\n" +"5.3. We do not warrant that your use of the Software will be uninterrupted or error free. \r\n" +"\r\n" +"6. Limitation of liability \r\n" +"\r\n" +"6.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 r" +"equirements.\r\n" +"\r\n" +"6.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. \r\n" +"\r\n" +"6.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 connecti" +"on with this Licence for any indirect, consequential or special loss or damage, including but not limited to, for:\r\n" +" (a) loss of profits, sales, business, or revenue;\r\n" +" (b) business interruption;\r\n" +" (c) loss of anticipated savings;\r\n" +" (d) loss or corruption of data or information;\r\n" +" (e) loss of business opportunity, goodwill or reputation; \r\n" +" (f) any indirect or consequential loss or damage; or\r\n" +" (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" +"\r\n" +"6.4. Nothing in this Licence shall limit or exclude our liability for:\r\n" +" (a) death or personal injury resulting from our negligence;\r\n" +" (b) fraud or fraudulent misrepresentation;\r\n" +" (c) any other liability that cannot be excluded or limited by English law.\r\n" +"\r\n" +"6.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, co" +"mmon law or otherwise, is excluded to the fullest extent permitted by law.\r\n" +"\r\n" +"6.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" +"\r\n" +"6.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 fro" +"m your use, handling or operation of the Software otherwise than in accordance with this Agreement.\r\n" +"\r\n" +"6.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" +"7. Termination\r\n" +"\r\n" +"7.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" +"\r\n" +"7.2. Upon termination for any reason:\r\n" +" (a) all rights granted to you under this Licence shall cease;\r\n" +" (b) you must cease all activities authorised by this Licence;\r\n" +" (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 o" +"f destruction, certify to us that you have done so.\r\n" +"\r\n" +"8. Communications between us\r\n" +"\r\n" +"8.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 y" +"ou in writing, normally by e-mail. \r\n" +"\r\n" +"8.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" +"9. Data\r\n" +"\r\n" +"9.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 [INSERT LINK TO PRIVACY POLICY]. \r\n" +"\r\n" +"10. Other important terms\r\n" +"\r\n" +"10.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" +"\r\n" +"10.2. You may only transfer your rights or your obligations under this Licence to another person if we agree in writing.\r\n" +"\r\n" +"10.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" +"\r\n" +"10.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 y" +"ou 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" +"\r\n" +"10.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" +"\r\n" +"10.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_32; + +//================== projucer_login_bg.svg ================== +static const unsigned char temp_binary_data_33[] = +"\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_33; + +//================== RecentFilesMenuTemplate.nib ================== +static const unsigned char temp_binary_data_34[] = +{ 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_34; + +//================== wizard_AnimatedApp.svg ================== +static const unsigned char temp_binary_data_35[] = +"\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_35; + +//================== wizard_AudioApp.svg ================== +static const unsigned char temp_binary_data_36[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\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_36; + +//================== wizard_AudioPlugin.svg ================== +static const unsigned char temp_binary_data_37[] = +"\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_37; + +//================== wizard_ConsoleApp.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\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_38; + +//================== wizard_DLL.svg ================== +static const unsigned char temp_binary_data_39[] = +"\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_39; + +//================== wizard_GUI.svg ================== +static const unsigned char temp_binary_data_40[] = +"\r\n" +"\r\n" +"\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_40; + +//================== wizard_Highlight.svg ================== +static const unsigned char temp_binary_data_41[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_Highlight_svg = (const char*) temp_binary_data_41; + +//================== wizard_Openfile.svg ================== +static const unsigned char temp_binary_data_42[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_Openfile_svg = (const char*) temp_binary_data_42; + +//================== wizard_OpenGL.svg ================== +static const unsigned char temp_binary_data_43[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\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_43; + +//================== wizard_StaticLibrary.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_StaticLibrary_svg = (const char*) temp_binary_data_44; + + +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 = 5047; return jucer_AudioPluginFilterTemplate_cpp; + case 0x488afa0a: numBytes = 2289; return jucer_AudioPluginFilterTemplate_h; + case 0xabad7041: numBytes = 2151; return jucer_ComponentTemplate_cpp; + case 0xfc72fe86: numBytes = 2131; return jucer_ComponentTemplate_h; + case 0x0b66646c: numBytes = 886; return jucer_ContentCompTemplate_cpp; + case 0x6fa10171: numBytes = 924; return jucer_ContentCompTemplate_h; + case 0x28d496ad: numBytes = 1161; 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 = 1644; 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 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 = 14390; 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", + "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/Projucer/JuceLibraryCode/BinaryData.h b/extras/Projucer/JuceLibraryCode/BinaryData.h new file mode 100644 index 00000000..8a014a52 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/BinaryData.h @@ -0,0 +1,158 @@ +/* ========================================================================================= + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#ifndef BINARYDATA_H_62491730_INCLUDED +#define BINARYDATA_H_62491730_INCLUDED + +namespace BinaryData +{ + extern const char* jucer_AnimatedComponentTemplate_cpp; + const int jucer_AnimatedComponentTemplate_cppSize = 1949; + + extern const char* jucer_AudioComponentTemplate_cpp; + const int jucer_AudioComponentTemplate_cppSize = 3203; + + extern const char* jucer_AudioPluginEditorTemplate_cpp; + const int jucer_AudioPluginEditorTemplate_cppSize = 1162; + + extern const char* jucer_AudioPluginEditorTemplate_h; + const int jucer_AudioPluginEditorTemplate_hSize = 994; + + extern const char* jucer_AudioPluginFilterTemplate_cpp; + const int jucer_AudioPluginFilterTemplate_cppSize = 5047; + + extern const char* jucer_AudioPluginFilterTemplate_h; + const int jucer_AudioPluginFilterTemplate_hSize = 2289; + + extern const char* jucer_ComponentTemplate_cpp; + const int jucer_ComponentTemplate_cppSize = 2151; + + extern const char* jucer_ComponentTemplate_h; + const int jucer_ComponentTemplate_hSize = 2131; + + extern const char* jucer_ContentCompTemplate_cpp; + const int jucer_ContentCompTemplate_cppSize = 886; + + extern const char* jucer_ContentCompTemplate_h; + const int jucer_ContentCompTemplate_hSize = 924; + + extern const char* jucer_InlineComponentTemplate_h; + const int jucer_InlineComponentTemplate_hSize = 1161; + + extern const char* jucer_MainConsoleAppTemplate_cpp; + const int jucer_MainConsoleAppTemplate_cppSize = 470; + + extern const char* jucer_MainTemplate_NoWindow_cpp; + const int jucer_MainTemplate_NoWindow_cppSize = 1992; + + extern const char* jucer_MainTemplate_SimpleWindow_cpp; + const int jucer_MainTemplate_SimpleWindow_cppSize = 3848; + + extern const char* jucer_MainTemplate_Window_cpp; + const int jucer_MainTemplate_Window_cppSize = 3760; + + extern const char* jucer_NewComponentTemplate_cpp; + const int jucer_NewComponentTemplate_cppSize = 1389; + + extern const char* jucer_NewComponentTemplate_h; + const int jucer_NewComponentTemplate_hSize = 648; + + extern const char* jucer_NewCppFileTemplate_cpp; + const int jucer_NewCppFileTemplate_cppSize = 262; + + extern const char* jucer_NewCppFileTemplate_h; + const int jucer_NewCppFileTemplate_hSize = 308; + + extern const char* jucer_NewInlineComponentTemplate_h; + const int jucer_NewInlineComponentTemplate_hSize = 1644; + + extern const char* jucer_OpenGLComponentTemplate_cpp; + const int jucer_OpenGLComponentTemplate_cppSize = 1827; + + extern const char* background_logo_svg; + const int background_logo_svgSize = 3117; + + extern const char* background_tile_png; + const int background_tile_pngSize = 151; + + extern const char* colourscheme_dark_xml; + const int colourscheme_dark_xmlSize = 1050; + + extern const char* colourscheme_light_xml; + const int colourscheme_light_xmlSize = 1050; + + extern const char* juce_icon_png; + const int juce_icon_pngSize = 45854; + + extern const char* projectIconAndroid_png; + const int projectIconAndroid_pngSize = 8150; + + extern const char* projectIconCodeblocks_png; + const int projectIconCodeblocks_pngSize = 11917; + + extern const char* projectIconLinuxMakefile_png; + const int projectIconLinuxMakefile_pngSize = 16444; + + extern const char* projectIconVisualStudio_png; + const int projectIconVisualStudio_pngSize = 7194; + + extern const char* projectIconXcode_png; + const int projectIconXcode_pngSize = 18281; + + extern const char* projectIconXcodeIOS_png; + const int projectIconXcodeIOS_pngSize = 18111; + + extern const char* projucer_EULA_txt; + const int projucer_EULA_txtSize = 14390; + + extern const char* projucer_login_bg_svg; + const int projucer_login_bg_svgSize = 5046; + + extern const char* RecentFilesMenuTemplate_nib; + const int RecentFilesMenuTemplate_nibSize = 2842; + + extern const char* wizard_AnimatedApp_svg; + const int wizard_AnimatedApp_svgSize = 2963; + + extern const char* wizard_AudioApp_svg; + const int wizard_AudioApp_svgSize = 9802; + + extern const char* wizard_AudioPlugin_svg; + const int wizard_AudioPlugin_svgSize = 10809; + + extern const char* wizard_ConsoleApp_svg; + const int wizard_ConsoleApp_svgSize = 1204; + + extern const char* wizard_DLL_svg; + const int wizard_DLL_svgSize = 3588; + + extern const char* wizard_GUI_svg; + const int wizard_GUI_svgSize = 3448; + + extern const char* wizard_Highlight_svg; + const int wizard_Highlight_svgSize = 638; + + extern const char* wizard_Openfile_svg; + const int wizard_Openfile_svgSize = 686; + + extern const char* wizard_OpenGL_svg; + const int wizard_OpenGL_svgSize = 2497; + + extern const char* wizard_StaticLibrary_svg; + const int wizard_StaticLibrary_svgSize = 3563; + + // Points to the start of a list of resource names. + extern const char* namedResourceList[]; + + // Number of elements in the namedResourceList array. + const int namedResourceListSize = 45; + + // 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/extras/Projucer/JuceLibraryCode/JuceHeader.h b/extras/Projucer/JuceLibraryCode/JuceHeader.h new file mode 100644 index 00000000..1a71a18d --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/JuceHeader.h @@ -0,0 +1,43 @@ +/* + + 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_M70QFTRRK__ +#define __APPHEADERFILE_M70QFTRRK__ + +#include "AppConfig.h" + +#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 = "Projucer"; + const char* const versionString = "4.2.1"; + const int versionNumber = 0x40201; +} +#endif + +#endif // __APPHEADERFILE_M70QFTRRK__ diff --git a/extras/Projucer/JuceLibraryCode/ReadMe.txt b/extras/Projucer/JuceLibraryCode/ReadMe.txt new file mode 100644 index 00000000..091a5aa6 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/ReadMe.txt @@ -0,0 +1,12 @@ + + Important Note!! + ================ + +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 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 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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..9413a2c3 --- /dev/null +++ b/extras/Projucer/Projucer.jucer @@ -0,0 +1,630 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/Projucer/Source/Application/jucer_AppearanceSettings.cpp b/extras/Projucer/Source/Application/jucer_AppearanceSettings.cpp new file mode 100644 index 00000000..3366b4d3 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_AppearanceSettings.cpp @@ -0,0 +1,288 @@ +/* + ============================================================================== + + 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_AppearanceSettings.h" +#include "jucer_GlobalPreferences.h" + +namespace AppearanceColours +{ + struct ColourInfo + { + const char* name; + int colourID; + bool mustBeOpaque; + bool applyToEditorOnly; + }; + + static const ColourInfo colours[] = + { + { "Main Window Bkgd", mainBackgroundColourId, true, false }, + { "Treeview Highlight", TreeView::selectedItemBackgroundColourId, false, false }, + + { "Code Background", CodeEditorComponent::backgroundColourId, true, false }, + { "Line Number Bkgd", CodeEditorComponent::lineNumberBackgroundId, false, false }, + { "Line Numbers", CodeEditorComponent::lineNumberTextId, false, false }, + { "Plain Text", CodeEditorComponent::defaultTextColourId, false, false }, + { "Selected Text Bkgd", CodeEditorComponent::highlightColourId, false, false }, + { "Caret", CaretComponent::caretColourId, false, true } + }; + + enum + { + numColours = sizeof (AppearanceColours::colours) / sizeof (AppearanceColours::colours[0]) + }; +} + +//============================================================================== +AppearanceSettings::AppearanceSettings (bool updateAppWhenChanged) + : settings ("COLOUR_SCHEME") +{ + if (! ProjucerApplication::getApp().isRunningCommandLine) + { + ProjucerLookAndFeel lf; + + for (int i = 0; i < AppearanceColours::numColours; ++i) + getColourValue (AppearanceColours::colours[i].name) = lf.findColour (AppearanceColours::colours[i].colourID).toString(); + + CodeDocument doc; + CPlusPlusCodeTokeniser tokeniser; + CodeEditorComponent editor (doc, &tokeniser); + + const CodeEditorComponent::ColourScheme cs (editor.getColourScheme()); + + for (int i = cs.types.size(); --i >= 0;) + { + CodeEditorComponent::ColourScheme::TokenType& t = cs.types.getReference(i); + getColourValue (t.name) = t.colour.toString(); + } + + getCodeFontValue() = getDefaultCodeFont().toString(); + + if (updateAppWhenChanged) + settings.addListener (this); + } +} + +File AppearanceSettings::getSchemesFolder() +{ + File f (getGlobalProperties().getFile().getSiblingFile ("Schemes")); + f.createDirectory(); + return f; +} + +void AppearanceSettings::writeDefaultSchemeFile (const String& xmlString, const String& name) +{ + const File file (getSchemesFolder().getChildFile (name).withFileExtension (getSchemeFileSuffix())); + + AppearanceSettings settings (false); + + ScopedPointer xml (XmlDocument::parse (xmlString)); + if (xml != nullptr) + settings.readFromXML (*xml); + + settings.writeToFile (file); +} + +void AppearanceSettings::refreshPresetSchemeList() +{ + writeDefaultSchemeFile (BinaryData::colourscheme_dark_xml, "Default (Dark)"); + writeDefaultSchemeFile (BinaryData::colourscheme_light_xml, "Default (Light)"); + + Array newSchemes; + getSchemesFolder().findChildFiles (newSchemes, File::findFiles, false, String ("*") + getSchemeFileSuffix()); + + if (newSchemes != presetSchemeFiles) + { + presetSchemeFiles.swapWith (newSchemes); + ProjucerApplication::getCommandManager().commandStatusChanged(); + } +} + +StringArray AppearanceSettings::getPresetSchemes() +{ + StringArray s; + for (int i = 0; i < presetSchemeFiles.size(); ++i) + s.add (presetSchemeFiles.getReference(i).getFileNameWithoutExtension()); + + return s; +} + +void AppearanceSettings::selectPresetScheme (int index) +{ + readFromFile (presetSchemeFiles [index]); +} + +bool AppearanceSettings::readFromXML (const XmlElement& xml) +{ + if (xml.hasTagName (settings.getType().toString())) + { + const ValueTree newSettings (ValueTree::fromXml (xml)); + + // we'll manually copy across the new properties to the existing tree so that + // any open editors will be kept up to date.. + settings.copyPropertiesFrom (newSettings, nullptr); + + for (int i = settings.getNumChildren(); --i >= 0;) + { + ValueTree c (settings.getChild (i)); + + const ValueTree newValue (newSettings.getChildWithProperty (Ids::name, c.getProperty (Ids::name))); + + if (newValue.isValid()) + c.copyPropertiesFrom (newValue, nullptr); + } + + return true; + } + + return false; +} + +bool AppearanceSettings::readFromFile (const File& file) +{ + const ScopedPointer xml (XmlDocument::parse (file)); + return xml != nullptr && readFromXML (*xml); +} + +bool AppearanceSettings::writeToFile (const File& file) const +{ + const ScopedPointer xml (settings.createXml()); + return xml != nullptr && xml->writeToFile (file, String::empty); +} + +Font AppearanceSettings::getDefaultCodeFont() +{ + return Font (Font::getDefaultMonospacedFontName(), Font::getDefaultStyle(), 13.0f); +} + +StringArray AppearanceSettings::getColourNames() const +{ + StringArray s; + + for (int i = 0; i < settings.getNumChildren(); ++i) + { + const ValueTree c (settings.getChild(i)); + + if (c.hasType ("COLOUR")) + s.add (c [Ids::name]); + } + + return s; +} + +void AppearanceSettings::updateColourScheme() +{ + applyToLookAndFeel (LookAndFeel::getDefaultLookAndFeel()); + ProjucerApplication::getApp().mainWindowList.sendLookAndFeelChange(); +} + +void AppearanceSettings::applyToLookAndFeel (LookAndFeel& lf) const +{ + for (int i = 0; i < AppearanceColours::numColours; ++i) + { + Colour col; + if (getColour (AppearanceColours::colours[i].name, col)) + { + if (AppearanceColours::colours[i].mustBeOpaque) + col = Colours::white.overlaidWith (col); + + if (! AppearanceColours::colours[i].applyToEditorOnly) + lf.setColour (AppearanceColours::colours[i].colourID, col); + } + } + + lf.setColour (ScrollBar::thumbColourId, lf.findColour (mainBackgroundColourId).contrasting().withAlpha (0.13f)); +} + +void AppearanceSettings::applyToCodeEditor (CodeEditorComponent& editor) const +{ + CodeEditorComponent::ColourScheme cs (editor.getColourScheme()); + + for (int i = cs.types.size(); --i >= 0;) + { + CodeEditorComponent::ColourScheme::TokenType& t = cs.types.getReference(i); + getColour (t.name, t.colour); + } + + editor.setColourScheme (cs); + editor.setFont (getCodeFont()); + + for (int i = 0; i < AppearanceColours::numColours; ++i) + { + if (AppearanceColours::colours[i].applyToEditorOnly) + { + Colour col; + if (getColour (AppearanceColours::colours[i].name, col)) + editor.setColour (AppearanceColours::colours[i].colourID, col); + } + } + + editor.setColour (ScrollBar::thumbColourId, editor.findColour (CodeEditorComponent::backgroundColourId) + .contrasting() + .withAlpha (0.13f)); +} + +Font AppearanceSettings::getCodeFont() const +{ + const String fontString (settings [Ids::font].toString()); + + if (fontString.isEmpty()) + return getDefaultCodeFont(); + + return Font::fromString (fontString); +} + +Value AppearanceSettings::getCodeFontValue() +{ + return settings.getPropertyAsValue (Ids::font, nullptr); +} + +Value AppearanceSettings::getColourValue (const String& colourName) +{ + ValueTree c (settings.getChildWithProperty (Ids::name, colourName)); + + if (! c.isValid()) + { + c = ValueTree ("COLOUR"); + c.setProperty (Ids::name, colourName, nullptr); + settings.addChild (c, -1, nullptr); + } + + return c.getPropertyAsValue (Ids::colour, nullptr); +} + +bool AppearanceSettings::getColour (const String& name, Colour& result) const +{ + const ValueTree colour (settings.getChildWithProperty (Ids::name, name)); + + if (colour.isValid()) + { + result = Colour::fromString (colour [Ids::colour].toString()); + return true; + } + + return false; +} diff --git a/extras/Projucer/Source/Application/jucer_AppearanceSettings.h b/extras/Projucer/Source/Application/jucer_AppearanceSettings.h new file mode 100644 index 00000000..87fff408 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_AppearanceSettings.h @@ -0,0 +1,82 @@ +/* + ============================================================================== + + 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_APPEARANCESETTINGS_H_INCLUDED +#define JUCER_APPEARANCESETTINGS_H_INCLUDED + + +class AppearanceSettings : private ValueTree::Listener +{ +public: + AppearanceSettings (bool updateAppWhenChanged); + + bool readFromFile (const File& file); + bool readFromXML (const XmlElement&); + bool writeToFile (const File& file) const; + + void updateColourScheme(); + void applyToCodeEditor (CodeEditorComponent& editor) const; + + StringArray getColourNames() const; + Value getColourValue (const String& colourName); + bool getColour (const String& name, Colour& resultIfFound) const; + + Font getCodeFont() const; + Value getCodeFontValue(); + + ValueTree settings; + + static File getSchemesFolder(); + StringArray getPresetSchemes(); + void refreshPresetSchemeList(); + void selectPresetScheme (int index); + + static Font getDefaultCodeFont(); + + static void showGlobalPreferences (ScopedPointer& ownerPointer); + + static const char* getSchemeFileSuffix() { return ".scheme"; } + static const char* getSchemeFileWildCard() { return "*.scheme"; } + +private: + + Array presetSchemeFiles; + + static void writeDefaultSchemeFile (const String& xml, const String& name); + + void applyToLookAndFeel (LookAndFeel&) const; + + void valueTreePropertyChanged (ValueTree&, const Identifier&) override { updateColourScheme(); } + void valueTreeChildAdded (ValueTree&, ValueTree&) override { updateColourScheme(); } + void valueTreeChildRemoved (ValueTree&, ValueTree&, int) override { updateColourScheme(); } + void valueTreeChildOrderChanged (ValueTree&, int, int) override { updateColourScheme(); } + void valueTreeParentChanged (ValueTree&) override { updateColourScheme(); } + void valueTreeRedirected (ValueTree&) override { updateColourScheme(); } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AppearanceSettings) +}; + + + +#endif // JUCER_APPEARANCESETTINGS_H_INCLUDED diff --git a/extras/Projucer/Source/Application/jucer_Application.cpp b/extras/Projucer/Source/Application/jucer_Application.cpp new file mode 100644 index 00000000..28412fe4 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_Application.cpp @@ -0,0 +1,831 @@ +/* + ============================================================================== + + 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; + } + + openDocumentManager.registerType (new ProjucerAppClasses::LiveBuildCodeEditorDocument::Type(), 2); + + if (! checkEULA()) + { + quit(); + return; + } + + childProcessCache = new ChildProcessCache(); + + initCommandManager(); + menuModel = new MainMenuModel(); + + settings->appearance.refreshPresetSchemeList(); + + // do further initialisation in a moment when the message loop has started + triggerAsyncUpdate(); + } +} + +void ProjucerApplication::initialiseBasics() +{ + LookAndFeel::setDefaultLookAndFeel (&lookAndFeel); + settings = new StoredSettings(); + ImageCache::setCacheTimeout (30 * 1000); + icons = new Icons(); +} + +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::handleAsyncUpdate() +{ + initialiseWindows (getCommandLineParameters()); + + #if JUCE_MAC + MenuBarModel::setMacMainMenu (menuModel, nullptr, "Open Recent"); + #endif + + versionChecker = new LatestVersionChecker(); + + showLoginFormAsyncIfNotTriedRecently(); +} + +void ProjucerApplication::initialiseWindows (const String& commandLine) +{ + const String commandLineWithoutNSDebug (commandLine.replace ("-NSDocumentRevisionsDebugMode YES", StringRef())); + + 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::updateAllBuildTabs() +{ + for (int i = 0; i < mainWindowList.windows.size(); ++i) + if (ProjectContentComponent* p = mainWindowList.windows.getUnchecked(i)->getProjectContentComponent()) + p->rebuildProjectTabs(); +} + +//============================================================================== +void ProjucerApplication::loginOrLogout() +{ + ProjucerLicences& status = *ProjucerLicences::getInstance(); + + if (status.isLoggedIn()) + status.logout(); + else + showLoginForm(); + + updateAllBuildTabs(); +} + +bool ProjucerApplication::checkEULA() +{ + if (currentEULAHasBeenAcceptedPreviously() + || ! ProjucerLicences::getInstance()->isDLLPresent()) + return true; + + ScopedPointer eulaDialogue (new EULADialogue()); + bool hasBeenAccepted = (eulaDialogue->runModalLoop() == EULADialogue::accepted); + setCurrentEULAAccepted (hasBeenAccepted); + return hasBeenAccepted; +} + +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 00000000..66ca108d --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_Application.h @@ -0,0 +1,144 @@ +/* + ============================================================================== + + 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, + private AsyncUpdater +{ +public: + ProjucerApplication(); + + static ProjucerApplication& getApp(); + static ApplicationCommandManager& getCommandManager(); + + //============================================================================== + void initialise (const String& commandLine) override; + void initialiseBasics(); + 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 updateAllBuildTabs(); + 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 checkEULA(); + bool currentEULAHasBeenAcceptedPreviously() const; + String getEULAChecksumProperty() const; + void setCurrentEULAAccepted (bool hasBeenAccepted) const; + + void showLoginFormAsyncIfNotTriedRecently(); + void timerCallback() override; + void handleAsyncUpdate() override; + void initCommandManager(); +}; + + +#endif // JUCER_APPLICATION_H_INCLUDED diff --git a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp new file mode 100644 index 00000000..455efdfa --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp @@ -0,0 +1,818 @@ +/* + ============================================================================== + + 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_AutoUpdater.h" + +LatestVersionChecker::JuceVersionTriple::JuceVersionTriple() + : major ((ProjectInfo::versionNumber & 0xff0000) >> 16), + minor ((ProjectInfo::versionNumber & 0x00ff00) >> 8), + build ((ProjectInfo::versionNumber & 0x0000ff) >> 0) +{} + +LatestVersionChecker::JuceVersionTriple::JuceVersionTriple (int juceVersionNumber) + : major ((juceVersionNumber & 0xff0000) >> 16), + minor ((juceVersionNumber & 0x00ff00) >> 8), + build ((juceVersionNumber & 0x0000ff) >> 0) +{} + +LatestVersionChecker::JuceVersionTriple::JuceVersionTriple (int majorInt, int minorInt, int buildNumber) + : major (majorInt), + minor (minorInt), + build (buildNumber) +{} + +bool LatestVersionChecker::JuceVersionTriple::fromString (const String& versionString, + LatestVersionChecker::JuceVersionTriple& result) +{ + StringArray tokenizedString = StringArray::fromTokens (versionString, ".", StringRef()); + + if (tokenizedString.size() != 3) + return false; + + result.major = tokenizedString [0].getIntValue(); + result.minor = tokenizedString [1].getIntValue(); + result.build = tokenizedString [2].getIntValue(); + + return true; +} + +String LatestVersionChecker::JuceVersionTriple::toString() const +{ + String retval; + retval << major << '.' << minor << '.' << build; + return retval; +} + +bool LatestVersionChecker::JuceVersionTriple::operator> (const LatestVersionChecker::JuceVersionTriple& b) const noexcept +{ + if (major == b.major) + { + if (minor == b.minor) + return build > b.build; + + return minor > b.minor; + } + + return major > b.major; +} + +//============================================================================== +struct RelaunchTimer : private Timer +{ + RelaunchTimer (const File& f) : parentFolder (f) + { + startTimer (1500); + } + + void timerCallback() override + { + stopTimer(); + + File app = parentFolder.getChildFile ( + #if JUCE_MAC + "Projucer.app"); + #elif JUCE_WINDOWS + "Projucer.exe"); + #elif JUCE_LINUX + "Projucer"); + #endif + + JUCEApplication::quit(); + + if (app.exists()) + { + app.setExecutePermission (true); + + #if JUCE_MAC + app.getChildFile ("Contents") + .getChildFile ("MacOS") + .getChildFile ("Projucer").setExecutePermission (true); + #endif + + app.startAsProcess(); + } + + delete this; + } + + File parentFolder; +}; + +//============================================================================== +class DownloadNewVersionThread : public ThreadWithProgressWindow +{ +public: + DownloadNewVersionThread (LatestVersionChecker& versionChecker,URL u, + const String& extraHeaders, File target) + : ThreadWithProgressWindow ("Downloading New Version", true, true), + owner (versionChecker), + result (Result::ok()), + url (u), headers (extraHeaders), targetFolder (target) + { + } + + static void performDownload (LatestVersionChecker& versionChecker, URL u, + const String& extraHeaders, File targetFolder) + { + DownloadNewVersionThread d (versionChecker, u, extraHeaders, targetFolder); + + if (d.runThread()) + { + if (d.result.failed()) + { + AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, + "Installation Failed", + d.result.getErrorMessage()); + } + else + { + new RelaunchTimer (targetFolder); + } + } + } + + void run() override + { + setProgress (-1.0); + + MemoryBlock zipData; + result = download (zipData); + + if (result.wasOk() && ! threadShouldExit()) + { + setStatusMessage ("Installing..."); + result = owner.performUpdate (zipData, targetFolder); + } + } + + Result download (MemoryBlock& dest) + { + setStatusMessage ("Downloading..."); + + int statusCode = 302; + const int maxRedirects = 5; + + // we need to do the redirecting manually due to inconsistencies on the way headers are handled on redirects + ScopedPointer in; + + for (int redirect = 0; redirect < maxRedirects; ++redirect) + { + StringPairArray responseHeaders; + + in = url.createInputStream (false, nullptr, nullptr, headers, 10000, &responseHeaders, &statusCode, 0); + if (in == nullptr || statusCode != 302) + break; + + String redirectPath = responseHeaders ["Location"]; + if (redirectPath.isEmpty()) + break; + + url = owner.getLatestVersionURL (headers, redirectPath); + } + + if (in != nullptr && statusCode == 200) + { + int64 total = 0; + MemoryOutputStream mo (dest, true); + + for (;;) + { + if (threadShouldExit()) + return Result::fail ("cancel"); + + int64 written = mo.writeFromInputStream (*in, 8192); + + if (written == 0) + break; + + total += written; + + setStatusMessage (String (TRANS ("Downloading... (123)")) + .replace ("123", File::descriptionOfSizeInBytes (total))); + } + + return Result::ok(); + } + + return Result::fail ("Failed to download from: " + url.toString (false)); + } + + LatestVersionChecker& owner; + Result result; + URL url; + String headers; + File targetFolder; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DownloadNewVersionThread) +}; + +//============================================================================== +class UpdateUserDialog : public Component, + public ButtonListener +{ +public: + UpdateUserDialog (const LatestVersionChecker::JuceVersionTriple& version, + const String& productName, + const String& releaseNotes, + const char* overwriteFolderPath) + : hasOverwriteButton (overwriteFolderPath != nullptr) + { + addAndMakeVisible (titleLabel = new Label ("Title Label", + TRANS ("Download \"123\" version 456?").replace ("123", productName) + .replace ("456", version.toString()))); + + titleLabel->setFont (Font (15.00f, Font::bold)); + titleLabel->setJustificationType (Justification::centredLeft); + titleLabel->setEditable (false, false, false); + titleLabel->setColour (TextEditor::textColourId, Colours::black); + titleLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + + addAndMakeVisible (contentLabel = new Label ("Content Label", + TRANS ("A new version of \"123\" is available - would you like to download it?") + .replace ("123", productName))); + contentLabel->setFont (Font (15.00f, Font::plain)); + contentLabel->setJustificationType (Justification::topLeft); + contentLabel->setEditable (false, false, false); + contentLabel->setColour (TextEditor::textColourId, Colours::black); + contentLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + + addAndMakeVisible (okButton = new TextButton ("OK Button")); + okButton->setButtonText (TRANS(hasOverwriteButton ? "Choose Another Folder..." : "OK")); + okButton->addListener (this); + + addAndMakeVisible (cancelButton = new TextButton ("Cancel Button")); + cancelButton->setButtonText (TRANS("Cancel")); + cancelButton->addListener (this); + + addAndMakeVisible (changeLogLabel = new Label ("Change Log Label", + TRANS("Release Notes:"))); + changeLogLabel->setFont (Font (15.00f, Font::plain)); + changeLogLabel->setJustificationType (Justification::topLeft); + changeLogLabel->setEditable (false, false, false); + changeLogLabel->setColour (TextEditor::textColourId, Colours::black); + changeLogLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + + addAndMakeVisible (changeLog = new TextEditor ("Change Log")); + changeLog->setMultiLine (true); + changeLog->setReturnKeyStartsNewLine (true); + changeLog->setReadOnly (true); + changeLog->setScrollbarsShown (true); + changeLog->setCaretVisible (false); + changeLog->setPopupMenuEnabled (false); + changeLog->setText (releaseNotes); + + if (hasOverwriteButton) + { + addAndMakeVisible (overwriteLabel = new Label ("Overwrite Label", + TRANS("Updating will overwrite everything in the following folder:"))); + overwriteLabel->setFont (Font (15.00f, Font::plain)); + overwriteLabel->setJustificationType (Justification::topLeft); + overwriteLabel->setEditable (false, false, false); + overwriteLabel->setColour (TextEditor::textColourId, Colours::black); + overwriteLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + + addAndMakeVisible (overwritePath = new Label ("Overwrite Path", overwriteFolderPath)); + overwritePath->setFont (Font (15.00f, Font::bold)); + overwritePath->setJustificationType (Justification::topLeft); + overwritePath->setEditable (false, false, false); + overwritePath->setColour (TextEditor::textColourId, Colours::black); + overwritePath->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + + addAndMakeVisible (overwriteButton = new TextButton ("Overwrite Button")); + overwriteButton->setButtonText (TRANS("Overwrite")); + overwriteButton->addListener (this); + } + + juceIcon = Drawable::createFromImageData (BinaryData::juce_icon_png, + BinaryData::juce_icon_pngSize); + + setSize (518, overwritePath ? 345 : 269); + } + + ~UpdateUserDialog() + { + titleLabel = nullptr; + contentLabel = nullptr; + okButton = nullptr; + cancelButton = nullptr; + changeLogLabel = nullptr; + changeLog = nullptr; + overwriteLabel = nullptr; + overwritePath = nullptr; + overwriteButton = nullptr; + juceIcon = nullptr; + } + + void paint (Graphics& g) override + { + g.fillAll (Colours::lightgrey); + g.setColour (Colours::black); + + if (juceIcon != nullptr) + juceIcon->drawWithin (g, Rectangle (20, 17, 64, 64), + RectanglePlacement::stretchToFit, 1.000f); + } + + void resized() override + { + titleLabel->setBounds (88, 10, 397, 24); + contentLabel->setBounds (88, 40, 397, 51); + changeLogLabel->setBounds (22, 92, 341, 24); + changeLog->setBounds (24, 112, 476, 102); + + if (hasOverwriteButton) + { + okButton->setBounds (getWidth() - 24 - 174, getHeight() - 37, 174, 28); + overwriteButton->setBounds ((getWidth() - 24 - 174) + -14 - 86, getHeight() - 37, 86, 28); + cancelButton->setBounds (24, getHeight() - 37, 70, 28); + + overwriteLabel->setBounds (24, 238, 472, 16); + overwritePath->setBounds (24, 262, 472, 40); + } + else + { + okButton->setBounds (getWidth() - 24 - 47, getHeight() - 37, 47, 28); + cancelButton->setBounds ((getWidth() - 24 - 47) + -14 - 70, getHeight() - 37, 70, 28); + } + } + + void buttonClicked (Button* clickedButton) override + { + if (DialogWindow* parentDialog = findParentComponentOfClass()) + { + if (clickedButton == overwriteButton) parentDialog->exitModalState (1); + else if (clickedButton == okButton) parentDialog->exitModalState (2); + else if (clickedButton == cancelButton) parentDialog->exitModalState (-1); + } + else + jassertfalse; + } + + static DialogWindow* launch (const LatestVersionChecker::JuceVersionTriple& version, + const String& productName, + const String& releaseNotes, + const char* overwritePath = nullptr) + { + OptionalScopedPointer userDialog (new UpdateUserDialog (version, productName, + releaseNotes, overwritePath), true); + + DialogWindow::LaunchOptions lo; + lo.dialogTitle = TRANS ("Download \"123\" version 456?").replace ("456", version.toString()) + .replace ("123", productName); + lo.dialogBackgroundColour = Colours::lightgrey; + lo.content = userDialog; + lo.componentToCentreAround = nullptr; + lo.escapeKeyTriggersCloseButton = true; + lo.useNativeTitleBar = true; + lo.resizable = false; + lo.useBottomRightCornerResizer = false; + + return lo.launchAsync(); + } + +private: + bool hasOverwriteButton; + ScopedPointer

sections; + String text = originalText; + Random rng; + + while (text.isNotEmpty()) + { + int pos = jmax (0, text.length() - (1 + rng.nextInt (6))); + Section s = { text.substring (pos), pos, 0 }; + sections.insert (0, s); + text = text.substring (0, pos); + } + + for (int i = 0; i < sections.size(); ++i) + sections.getReference(i).index = i; + + for (int i = 0; i < sections.size(); ++i) + sections.swap (i, rng.nextInt (sections.size())); + + MemoryOutputStream out; + + out << "String createString()" << newLine + << "{" << newLine; + + for (int i = 0; i < sections.size(); ++i) + sections.getReference(i).writeGenerator (out); + + out << newLine + << " String result = " << getStringConcatenationExpression (rng, 0, sections.size()) << ";" << newLine + << newLine + << " jassert (result == " << originalText.quoted() << ");" << newLine + << " return result;" << newLine + << "}" << newLine; + + std::cout << out.toString() << std::endl; + } + + //============================================================================== + static void showHelp() + { + hideDockIcon(); + + const String appName (JUCEApplication::getInstance()->getApplicationName()); + + std::cout << appName << std::endl + << std::endl + << "Usage: " << std::endl + << std::endl + << " " << appName << " --resave project_file" << std::endl + << " Resaves all files and resources in a project." << std::endl + << std::endl + << " " << 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 + << " " << appName << " --bump-version project_file" << std::endl + << " Updates the minor version number in a project by 1." << std::endl + << std::endl + << " " << appName << " --git-tag-version project_file" << std::endl + << " Invokes 'git tag' to attach the project's version number to the current git repository." << std::endl + << std::endl + << " " << appName << " --status project_file" << std::endl + << " Displays information about a project." << std::endl + << std::endl + << " " << appName << " --buildmodule target_folder module_folder" << std::endl + << " Zips a module into a downloadable file format." << std::endl + << std::endl + << " " << appName << " --buildallmodules target_folder module_folder" << std::endl + << " Zips all modules in a given folder and creates an index for them." << std::endl + << std::endl + << " " << appName << " --trim-whitespace target_folder" << std::endl + << " Scans the given folder for C/C++ source files (recursively), and trims any trailing whitespace from their lines, as well as normalising their line-endings to CR-LF." << std::endl + << std::endl + << " " << appName << " --remove-tabs target_folder" << std::endl + << " Scans the given folder for C/C++ source files (recursively), and replaces any tab characters with 4 spaces." << std::endl + << std::endl + << " " << appName << " --tidy-divider-comments target_folder" << std::endl + << " Scans the given folder for C/C++ source files (recursively), and normalises any juce-style comment division lines (i.e. any lines that look like //===== or //------- or /////////// will be replaced)." << std::endl + << std::endl + << " " << appName << " --fix-broken-include-paths target_folder" << std::endl + << " Scans the given folder for C/C++ source files (recursively). Where a file contains an #include of one of the other filenames, it changes it to use the optimum relative path. Helpful for auto-fixing includes when re-arranging files and folders in a project." << std::endl + << std::endl + << " " << appName << " --obfuscated-string-code string_to_obfuscate" << std::endl + << " Generates a C++ function which returns the given string, but in an obfuscated way." << std::endl + << std::endl; + } +} + +//============================================================================== +int performCommandLine (const String& commandLine) +{ + StringArray args; + args.addTokens (commandLine, true); + args.trim(); + + String command (args[0]); + + try + { + if (matchArgument (command, "help")) { showHelp(); return 0; } + 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; } + if (matchArgument (command, "buildmodule")) { buildModules (args, false); return 0; } + if (matchArgument (command, "buildallmodules")) { buildModules (args, true); return 0; } + if (matchArgument (command, "status")) { showStatus (args); return 0; } + if (matchArgument (command, "trim-whitespace")) { cleanWhitespace (args, false); return 0; } + if (matchArgument (command, "remove-tabs")) { cleanWhitespace (args, true); return 0; } + if (matchArgument (command, "tidy-divider-comments")) { tidyDividerComments (args); return 0; } + if (matchArgument (command, "fix-broken-include-paths")) { fixRelativeIncludePaths (args); return 0; } + if (matchArgument (command, "obfuscated-string-code")) { generateObfuscatedStringCode (args); return 0; } + } + catch (const CommandLineError& error) + { + std::cout << error.message << std::endl << std::endl; + return 1; + } + + return commandLineNotPerformed; +} 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/Projucer/Source/Application/jucer_CommonHeaders.h b/extras/Projucer/Source/Application/jucer_CommonHeaders.h new file mode 100644 index 00000000..9fd97dc8 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_CommonHeaders.h @@ -0,0 +1,76 @@ +/* + ============================================================================== + + 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_COMMONHEADERS_H_INCLUDED +#define JUCER_COMMONHEADERS_H_INCLUDED + +//============================================================================== +struct TargetOS +{ + enum OS + { + windows = 0, + osx, + linux, + unknown + }; + + static OS getThisOS() noexcept + { + #if JUCE_WINDOWS + return windows; + #elif JUCE_MAC + return osx; + #elif JUCE_LINUX + return linux; + #else + return unknown; + #endif + } +}; + +typedef TargetOS::OS DependencyPathOS; + +//============================================================================== +#include "../Utility/jucer_StoredSettings.h" +#include "../Utility/jucer_Icons.h" +#include "../Utility/jucer_MiscUtilities.h" +#include "../Utility/jucer_CodeHelpers.h" +#include "../Utility/jucer_FileHelpers.h" +#include "../Utility/jucer_RelativePath.h" +#include "../Utility/jucer_ValueSourceHelpers.h" +#include "../Utility/jucer_PresetIDs.h" +#include "jucer_CommandIDs.h" + +//============================================================================== +const char* const projectItemDragType = "Project Items"; +const char* const drawableItemDragType = "Drawable Items"; +const char* const componentItemDragType = "Components"; + +enum ColourIds +{ + mainBackgroundColourId = 0x2340000, +}; + +#endif // JUCER_COMMONHEADERS_H_INCLUDED diff --git a/extras/Projucer/Source/Application/jucer_DocumentEditorComponent.cpp b/extras/Projucer/Source/Application/jucer_DocumentEditorComponent.cpp new file mode 100644 index 00000000..7df54bd1 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_DocumentEditorComponent.cpp @@ -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. + + ============================================================================== +*/ + +#include "../jucer_Headers.h" +#include "jucer_DocumentEditorComponent.h" +#include "../Project/jucer_ProjectContentComponent.h" +#include "../Application/jucer_Application.h" + + +//============================================================================== +DocumentEditorComponent::DocumentEditorComponent (OpenDocumentManager::Document* doc) + : document (doc) +{ + ProjucerApplication::getApp().openDocumentManager.addListener (this); +} + +DocumentEditorComponent::~DocumentEditorComponent() +{ + ProjucerApplication::getApp().openDocumentManager.removeListener (this); +} + +bool DocumentEditorComponent::documentAboutToClose (OpenDocumentManager::Document* closingDoc) +{ + if (document == closingDoc) + { + jassert (document != nullptr); + + if (ProjectContentComponent* pcc = findParentComponentOfClass()) + pcc->hideDocument (document); + } + + return true; +} + +void DocumentEditorComponent::setEditedState (bool /*hasBeenEdited*/) +{ + if (ProjectContentComponent* pcc = findParentComponentOfClass()) + pcc->updateMainWindowTitle(); +} 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 00000000..c3327be6 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_EulaDialogue.h @@ -0,0 +1,80 @@ +/* + ============================================================================== + + 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.setFont (Font (Font::getDefaultMonospacedFontName(), 13.0f, Font::plain)); + editor.setText (String (BinaryData::projucer_EULA_txt)); + + addAndMakeVisible (editor); + } + + TextEditor editor; + }; + + EULADialogueComponent component; + ProjucerDialogLookAndFeel lookAndFeel; +}; + + +#endif // PROJUCER_EULADIALOGUE_H_INCLUDED diff --git a/extras/Projucer/Source/Application/jucer_FilePreviewComponent.h b/extras/Projucer/Source/Application/jucer_FilePreviewComponent.h new file mode 100644 index 00000000..a27ce64f --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_FilePreviewComponent.h @@ -0,0 +1,133 @@ +/* + ============================================================================== + + 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_FILEPREVIEWCOMPONENT_H_INCLUDED +#define JUCER_FILEPREVIEWCOMPONENT_H_INCLUDED + +#include "../Utility/jucer_ProjucerLookAndFeel.h" + + +//============================================================================== +/** +*/ +class ItemPreviewComponent : public Component +{ +public: + ItemPreviewComponent (const File& f) : file (f) + { + setOpaque (true); + tryToLoadImage(); + } + + void paint (Graphics& g) override + { + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); + + if (drawable != nullptr) + { + Rectangle contentBounds (drawable->getDrawableBounds()); + + if (DrawableComposite* dc = dynamic_cast (drawable.get())) + { + Rectangle r (dc->getContentArea().resolve (nullptr)); + + if (! r.isEmpty()) + contentBounds = r; + } + + Rectangle area = RectanglePlacement (RectanglePlacement::centred | RectanglePlacement::onlyReduceInSize) + .appliedTo (contentBounds, Rectangle (4.0f, 22.0f, getWidth() - 8.0f, getHeight() - 26.0f)); + + Path p; + p.addRectangle (area); + DropShadow (Colours::black.withAlpha (0.5f), 6, Point (0, 1)).drawForPath (g, p); + + g.fillCheckerBoard (area.getSmallestIntegerContainer(), 24, 24, + Colour (0xffffffff), Colour (0xffeeeeee)); + + drawable->draw (g, 1.0f, RectanglePlacement (RectanglePlacement::stretchToFit) + .getTransformToFit (contentBounds, area.toFloat())); + } + + g.setFont (Font (14.0f, Font::bold)); + g.setColour (findColour (mainBackgroundColourId).contrasting()); + g.drawMultiLineText (facts.joinIntoString ("\n"), 10, 15, getWidth() - 16); + } + +private: + StringArray facts; + File file; + ScopedPointer drawable; + + void tryToLoadImage() + { + facts.clear(); + facts.add (file.getFullPathName()); + drawable = nullptr; + + { + ScopedPointer input (file.createInputStream()); + + if (input != nullptr) + { + const int64 totalSize = input->getTotalLength(); + + String formatName; + if (ImageFileFormat* format = ImageFileFormat::findImageFormatForStream (*input)) + formatName = " " + format->getFormatName(); + + input = nullptr; + + Image image (ImageCache::getFromFile (file)); + + if (image.isValid()) + { + DrawableImage* d = new DrawableImage(); + d->setImage (image); + drawable = d; + + facts.add (String (image.getWidth()) + " x " + String (image.getHeight()) + formatName); + } + + if (totalSize > 0) + facts.add (File::descriptionOfSizeInBytes (totalSize)); + } + } + + if (drawable == nullptr) + { + ScopedPointer svg (XmlDocument::parse (file)); + + if (svg != nullptr) + drawable = Drawable::createFromSVG (*svg); + } + + facts.removeEmptyStrings (true); + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ItemPreviewComponent) +}; + + +#endif // JUCER_FILEPREVIEWCOMPONENT_H_INCLUDED diff --git a/extras/Projucer/Source/Application/jucer_GlobalPreferences.cpp b/extras/Projucer/Source/Application/jucer_GlobalPreferences.cpp new file mode 100644 index 00000000..ad542277 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_GlobalPreferences.cpp @@ -0,0 +1,376 @@ +/* + ============================================================================== + + 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_GlobalPreferences.h" +#include "../Utility/jucer_FloatingToolWindow.h" +#include "../Utility/jucer_ColourPropertyComponent.h" + +//============================================================================== +PathSettingsTab::PathSettingsTab (DependencyPathOS os) +{ + const int maxChars = 1024; + + StoredSettings& settings = getAppSettings(); + + vst2PathComponent = pathComponents.add (new TextPropertyComponent (settings.getGlobalPath (Ids::vst2Path, os), "VST SDK", maxChars, false)); + vst3PathComponent = pathComponents.add (new TextPropertyComponent (settings.getGlobalPath (Ids::vst3Path, os), "VST3 SDK", maxChars, false)); + + #if ! JUCE_LINUX + rtasPathComponent = pathComponents.add (new TextPropertyComponent (settings.getGlobalPath (Ids::rtasPath, os), "RTAS SDK", maxChars, false)); + aaxPathComponent = pathComponents.add (new TextPropertyComponent (settings.getGlobalPath (Ids::aaxPath, os), "AAX SDK", maxChars, false)); + #endif + + androidSdkPathComponent = pathComponents.add (new TextPropertyComponent (settings.getGlobalPath (Ids::androidSDKPath, os), "Android SDK", maxChars, false)); + androidNdkPathComponent = pathComponents.add (new TextPropertyComponent (settings.getGlobalPath (Ids::androidNDKPath, os), "Android NDK", maxChars, false)); + + for (TextPropertyComponent** component = pathComponents.begin(); component != pathComponents.end(); ++component) + { + addAndMakeVisible (**component); + (*component)->addListener (this); + textPropertyComponentChanged (*component); + } +} + +PathSettingsTab::~PathSettingsTab() +{ +} + +void PathSettingsTab::textPropertyComponentChanged (TextPropertyComponent* textPropertyComponent) +{ + Identifier keyName = getKeyForPropertyComponent (textPropertyComponent); + + Colour textColour = getAppSettings().isGlobalPathValid (keyName, textPropertyComponent->getText()) + ? Colours::black + : Colours::red; + + textPropertyComponent->setColour (TextPropertyComponent::textColourId, textColour); +} + +Identifier PathSettingsTab::getKeyForPropertyComponent (TextPropertyComponent* component) const +{ + if (component == vst2PathComponent) return Ids::vst2Path; + if (component == vst3PathComponent) return Ids::vst3Path; + if (component == rtasPathComponent) return Ids::rtasPath; + if (component == aaxPathComponent) return Ids::aaxPath; + if (component == androidSdkPathComponent) return Ids::androidSDKPath; + if (component == androidNdkPathComponent) return Ids::androidNDKPath; + + // this property component does not have a key associated to it! + jassertfalse; + return String::empty; +} + +Component* PathSettingsTab::getContent() +{ + return this; +} + +String PathSettingsTab::getName() const noexcept +{ + return "Paths"; +} + +void PathSettingsTab::resized() +{ + const int componentHeight = 25; + + for (TextPropertyComponent** component = pathComponents.begin(); component != pathComponents.end(); ++component) + { + const int elementNumber = pathComponents.indexOf (*component); + (*component)->setBounds (0, componentHeight * elementNumber, getWidth(), componentHeight); + } +} + + +//============================================================================== +struct AppearanceEditor +{ + struct FontScanPanel : public Component, + private Timer + { + FontScanPanel() + { + fontsToScan = Font::findAllTypefaceNames(); + startTimer (1); + } + + void paint (Graphics& g) override + { + g.fillAll (Colours::darkgrey); + + g.setFont (14.0f); + g.setColour (Colours::white); + g.drawFittedText ("Scanning for fonts..", getLocalBounds(), Justification::centred, 2); + + const int size = 30; + getLookAndFeel().drawSpinningWaitAnimation (g, Colours::white, (getWidth() - size) / 2, getHeight() / 2 - 50, size, size); + } + + void timerCallback() override + { + repaint(); + + if (fontsToScan.size() == 0) + { + getAppSettings().monospacedFontNames = fontsFound; + + if (AppearanceSettingsTab* tab = findParentComponentOfClass()) + tab->changeContent (new EditorPanel()); + } + else + { + if (isMonospacedTypeface (fontsToScan[0])) + fontsFound.add (fontsToScan[0]); + + fontsToScan.remove (0); + } + } + + // A rather hacky trick to select only the fixed-pitch fonts.. + // This is unfortunately a bit slow, but will work on all platforms. + static bool isMonospacedTypeface (const String& name) + { + const Font font (name, 20.0f, Font::plain); + + const int width = font.getStringWidth ("...."); + + return width == font.getStringWidth ("WWWW") + && width == font.getStringWidth ("0000") + && width == font.getStringWidth ("1111") + && width == font.getStringWidth ("iiii"); + } + + StringArray fontsToScan, fontsFound; + }; + + //============================================================================== + struct EditorPanel : public Component, + private ButtonListener + { + EditorPanel() + : loadButton ("Load Scheme..."), + saveButton ("Save Scheme...") + { + rebuildProperties(); + addAndMakeVisible (panel); + + loadButton.setColour (TextButton::buttonColourId, Colours::lightgrey.withAlpha (0.5f)); + saveButton.setColour (TextButton::buttonColourId, Colours::lightgrey.withAlpha (0.5f)); + loadButton.setColour (TextButton::textColourOffId, Colours::white); + saveButton.setColour (TextButton::textColourOffId, Colours::white); + + addAndMakeVisible (loadButton); + addAndMakeVisible (saveButton); + + loadButton.addListener (this); + saveButton.addListener (this); + } + + void rebuildProperties() + { + AppearanceSettings& scheme = getAppSettings().appearance; + + Array props; + Value fontValue (scheme.getCodeFontValue()); + props.add (FontNameValueSource::createProperty ("Code Editor Font", fontValue)); + props.add (FontSizeValueSource::createProperty ("Font Size", fontValue)); + + const StringArray colourNames (scheme.getColourNames()); + + for (int i = 0; i < colourNames.size(); ++i) + props.add (new ColourPropertyComponent (nullptr, colourNames[i], + scheme.getColourValue (colourNames[i]), + Colours::white, false)); + + panel.clear(); + panel.addProperties (props); + } + + void resized() override + { + Rectangle r (getLocalBounds()); + panel.setBounds (r.removeFromTop (getHeight() - 28).reduced (4, 2)); + loadButton.setBounds (r.removeFromLeft (getWidth() / 2).reduced (10, 4)); + saveButton.setBounds (r.reduced (10, 3)); + } + + private: + PropertyPanel panel; + TextButton loadButton, saveButton; + + void buttonClicked (Button* b) override + { + if (b == &loadButton) + loadScheme(); + else + saveScheme(); + } + + void saveScheme() + { + FileChooser fc ("Select a file in which to save this colour-scheme...", + getAppSettings().appearance.getSchemesFolder() + .getNonexistentChildFile ("Scheme", AppearanceSettings::getSchemeFileSuffix()), + AppearanceSettings::getSchemeFileWildCard()); + + if (fc.browseForFileToSave (true)) + { + File file (fc.getResult().withFileExtension (AppearanceSettings::getSchemeFileSuffix())); + getAppSettings().appearance.writeToFile (file); + getAppSettings().appearance.refreshPresetSchemeList(); + } + } + + void loadScheme() + { + FileChooser fc ("Please select a colour-scheme file to load...", + getAppSettings().appearance.getSchemesFolder(), + AppearanceSettings::getSchemeFileWildCard()); + + if (fc.browseForFileToOpen()) + if (getAppSettings().appearance.readFromFile (fc.getResult())) + rebuildProperties(); + } + + JUCE_DECLARE_NON_COPYABLE (EditorPanel) + }; + + //============================================================================== + struct FontNameValueSource : public ValueSourceFilter + { + FontNameValueSource (const Value& source) : ValueSourceFilter (source) {} + + var getValue() const override + { + return Font::fromString (sourceValue.toString()).getTypefaceName(); + } + + void setValue (const var& newValue) override + { + Font font (Font::fromString (sourceValue.toString())); + font.setTypefaceName (newValue.toString().isEmpty() ? Font::getDefaultMonospacedFontName() + : newValue.toString()); + sourceValue = font.toString(); + } + + static ChoicePropertyComponent* createProperty (const String& title, const Value& value) + { + StringArray fontNames = getAppSettings().monospacedFontNames; + + Array values; + values.add (Font::getDefaultMonospacedFontName()); + values.add (var()); + + for (int i = 0; i < fontNames.size(); ++i) + values.add (fontNames[i]); + + StringArray names; + names.add (""); + names.add (String::empty); + names.addArray (getAppSettings().monospacedFontNames); + + return new ChoicePropertyComponent (Value (new FontNameValueSource (value)), + title, names, values); + } + }; + + //============================================================================== + struct FontSizeValueSource : public ValueSourceFilter + { + FontSizeValueSource (const Value& source) : ValueSourceFilter (source) {} + + var getValue() const override + { + return Font::fromString (sourceValue.toString()).getHeight(); + } + + void setValue (const var& newValue) override + { + sourceValue = Font::fromString (sourceValue.toString()).withHeight (newValue).toString(); + } + + static PropertyComponent* createProperty (const String& title, const Value& value) + { + return new SliderPropertyComponent (Value (new FontSizeValueSource (value)), + title, 5.0, 40.0, 0.1, 0.5); + } + }; +}; + +void AppearanceSettings::showGlobalPreferences (ScopedPointer& ownerPointer) +{ + if (ownerPointer != nullptr) + ownerPointer->toFront (true); + else + new FloatingToolWindow ("Global Preferences", + "globalPreferencesEditorPos", + new GlobalPreferencesComponent, + ownerPointer, + 500, 500, 500, 500, 500, 500); +} + +//============================================================================== +AppearanceSettingsTab::AppearanceSettingsTab() +{ + if (getAppSettings().monospacedFontNames.size() == 0) + content = new AppearanceEditor::FontScanPanel(); + else + content = new AppearanceEditor::EditorPanel(); + + changeContent (content); +} + +Component* AppearanceSettingsTab::getContent() +{ + return this; +} + +void AppearanceSettingsTab::changeContent (Component* newContent) +{ + content = newContent; + addAndMakeVisible (content); + content->setBounds (getLocalBounds()); +} + +String AppearanceSettingsTab::getName() const noexcept +{ + return "Code Editor"; +} + +void AppearanceSettingsTab::resized() +{ + content->setBounds (getLocalBounds()); +} + +//============================================================================== +GlobalPreferencesComponent::GlobalPreferencesComponent() + : TabbedComponent (TabbedButtonBar::TabsAtTop) +{ + preferenceTabs.add (new PathSettingsTab (TargetOS::getThisOS())); + preferenceTabs.add (new AppearanceSettingsTab); + + for (GlobalPreferencesTab** tab = preferenceTabs.begin(); tab != preferenceTabs.end(); ++tab) + addTab ((*tab)->getName(), findColour(mainBackgroundColourId, true), (*tab)->getContent(), true); +} diff --git a/extras/Projucer/Source/Application/jucer_GlobalPreferences.h b/extras/Projucer/Source/Application/jucer_GlobalPreferences.h new file mode 100644 index 00000000..c1720fac --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_GlobalPreferences.h @@ -0,0 +1,114 @@ +/* + ============================================================================== + + 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_GLOBALPREFERENCES_H_INCLUDED +#define JUCER_GLOBALPREFERENCES_H_INCLUDED + +//============================================================================== + +#include "../Project/jucer_DependencyPathPropertyComponent.h" + + +class GlobalPreferencesTab +{ +public: + virtual ~GlobalPreferencesTab() {} + + virtual Component* getContent() = 0; + virtual String getName() const noexcept = 0; +}; + +//============================================================================== +/** This component implements the "Paths" tab in the global preferences window, + which defines the default paths for dependencies like third-party SDKs + for this machine. +*/ +class PathSettingsTab : public GlobalPreferencesTab, + public Component, + private TextPropertyComponent::Listener +{ +public: + PathSettingsTab (DependencyPathOS); + ~PathSettingsTab(); + + Component* getContent() override; + String getName() const noexcept override; + + void resized() override; + +private: + void textPropertyComponentChanged (TextPropertyComponent*) override; + + Identifier getKeyForPropertyComponent (TextPropertyComponent*) const; + + OwnedArray pathComponents; + + TextPropertyComponent* vst2PathComponent; + TextPropertyComponent* vst3PathComponent; + TextPropertyComponent* rtasPathComponent; + TextPropertyComponent* aaxPathComponent; + TextPropertyComponent* androidSdkPathComponent; + TextPropertyComponent* androidNdkPathComponent; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PathSettingsTab) +}; + +//============================================================================== +/** This component implements the "Code Editor" tabl in the global preferences window, + which sets font sizes and colours for the Projucer's code editor. + The content is either an EditorPanel (the actual settings tab) or a FontScanPanel + (shown if the tab is scanning for available fonts before showing the EditorPanel). +*/ +class AppearanceSettingsTab : public GlobalPreferencesTab, + public Component +{ +public: + AppearanceSettingsTab(); + + Component* getContent() override; + void changeContent (Component* newContent); + String getName() const noexcept override; + + void resized() override; + +private: + ScopedPointer content; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AppearanceSettingsTab) +}; + +//============================================================================== +class GlobalPreferencesComponent : public TabbedComponent +{ +public: + GlobalPreferencesComponent(); + +private: + OwnedArray preferenceTabs; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (GlobalPreferencesComponent) +}; + + +#endif // JUCER_GLOBALPREFERENCES_H_INCLUDED diff --git a/extras/Projucer/Source/Application/jucer_LoginForm.h b/extras/Projucer/Source/Application/jucer_LoginForm.h new file mode 100644 index 00000000..29c856ed --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_LoginForm.h @@ -0,0 +1,310 @@ +/* + ============================================================================== + + 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); + + String userName = ProjucerLicences::getInstance()->getLoginName(); + userIDEditor.setText (userName.isEmpty() ? getLastUserName() : userName); + + 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 (ProjucerDialogLookAndFeel::getDialogFont().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 (ProjucerDialogLookAndFeel::getDialogFont().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(); + getGlobalProperties().setValue ("lastUserName", loginName); + + 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(); + } + + String getLastUserName() const + { + return getGlobalProperties().getValue ("lastUserName"); + } + + 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().updateAllBuildTabs(); + } + + void loginSuccess (const String& username, const String& apiKey) override + { + ignoreUnused (username, apiKey); + + spinner.setVisible (false); + if (DialogWindow* parentDialog = findParentComponentOfClass()) + { + parentDialog->exitModalState (0); + ProjucerApplication::getApp().updateAllBuildTabs(); + } + } + + 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 00000000..4be597c0 --- /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/Projucer/Source/Application/jucer_MainWindow.cpp b/extras/Projucer/Source/Application/jucer_MainWindow.cpp new file mode 100644 index 00000000..1fe39637 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_MainWindow.cpp @@ -0,0 +1,609 @@ +/* + ============================================================================== + + 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_MainWindow.h" +#include "jucer_OpenDocumentManager.h" +#include "../Code Editor/jucer_SourceCodeEditor.h" +#include "../Wizards/jucer_NewProjectWizardClasses.h" +#include "../Utility/jucer_JucerTreeViewBase.h" + + +//============================================================================== +MainWindow::MainWindow() + : DocumentWindow (ProjucerApplication::getApp().getApplicationName(), + Colour::greyLevel (0.6f), + DocumentWindow::allButtons, + false) +{ + setUsingNativeTitleBar (true); + + #if ! JUCE_MAC + setMenuBar (ProjucerApplication::getApp().getMenuModel()); + #endif + + createProjectContentCompIfNeeded(); + + setResizable (true, false); + centreWithSize (800, 600); + + ApplicationCommandManager& commandManager = ProjucerApplication::getCommandManager(); + + // Register all the app commands.. + commandManager.registerAllCommandsForTarget (this); + commandManager.registerAllCommandsForTarget (getProjectContentComponent()); + + // update key mappings.. + { + commandManager.getKeyMappings()->resetToDefaultMappings(); + + ScopedPointer keys (getGlobalProperties().getXmlValue ("keyMappings")); + + if (keys != nullptr) + commandManager.getKeyMappings()->restoreFromXml (*keys); + + addKeyListener (commandManager.getKeyMappings()); + } + + // don't want the window to take focus when the title-bar is clicked.. + setWantsKeyboardFocus (false); + + getLookAndFeel().setColour (ColourSelector::backgroundColourId, Colours::transparentBlack); + + setResizeLimits (600, 500, 32000, 32000); +} + +MainWindow::~MainWindow() +{ + #if ! JUCE_MAC + setMenuBar (nullptr); + #endif + + removeKeyListener (ProjucerApplication::getCommandManager().getKeyMappings()); + + // save the current size and position to our settings file.. + getGlobalProperties().setValue ("lastMainWindowPos", getWindowStateAsString()); + + clearContentComponent(); + currentProject = nullptr; +} + +void MainWindow::createProjectContentCompIfNeeded() +{ + if (getProjectContentComponent() == nullptr) + { + clearContentComponent(); + setContentOwned (new ProjectContentComponent(), false); + jassert (getProjectContentComponent() != nullptr); + } +} + +void MainWindow::makeVisible() +{ + restoreWindowPosition(); + setVisible (true); + addToDesktop(); // (must add before restoring size so that fullscreen will work) + restoreWindowPosition(); + + getContentComponent()->grabKeyboardFocus(); +} + +ProjectContentComponent* MainWindow::getProjectContentComponent() const +{ + return dynamic_cast (getContentComponent()); +} + +void MainWindow::closeButtonPressed() +{ + ProjucerApplication::getApp().mainWindowList.closeWindow (this); +} + +bool MainWindow::closeProject (Project* project) +{ + jassert (project == currentProject && project != nullptr); + + if (project == nullptr) + return true; + + project->getStoredProperties().setValue (getProjectWindowPosName(), getWindowStateAsString()); + + if (ProjectContentComponent* const pcc = getProjectContentComponent()) + { + pcc->saveTreeViewState(); + pcc->saveOpenDocumentList(); + pcc->hideEditor(); + } + + if (! ProjucerApplication::getApp().openDocumentManager.closeAllDocumentsUsingProject (*project, true)) + return false; + + FileBasedDocument::SaveResult r = project->saveIfNeededAndUserAgrees(); + + if (r == FileBasedDocument::savedOk) + { + setProject (nullptr); + return true; + } + + return false; +} + +bool MainWindow::closeCurrentProject() +{ + return currentProject == nullptr || closeProject (currentProject); +} + +void MainWindow::setProject (Project* newProject) +{ + createProjectContentCompIfNeeded(); + getProjectContentComponent()->setProject (newProject); + currentProject = newProject; + getProjectContentComponent()->updateMainWindowTitle(); + ProjucerApplication::getCommandManager().commandStatusChanged(); +} + +void MainWindow::restoreWindowPosition() +{ + String windowState; + + if (currentProject != nullptr) + windowState = currentProject->getStoredProperties().getValue (getProjectWindowPosName()); + + if (windowState.isEmpty()) + windowState = getGlobalProperties().getValue ("lastMainWindowPos"); + + restoreWindowStateFromString (windowState); +} + +bool MainWindow::canOpenFile (const File& file) const +{ + return (! file.isDirectory()) + && (file.hasFileExtension (Project::projectFileExtension) + || ProjucerApplication::getApp().openDocumentManager.canOpenFile (file)); +} + +bool MainWindow::openFile (const File& file) +{ + createProjectContentCompIfNeeded(); + + if (file.hasFileExtension (Project::projectFileExtension)) + { + ScopedPointer newDoc (new Project (file)); + + Result result (newDoc->loadFrom (file, true)); + + if (result.wasOk() && closeCurrentProject()) + { + setProject (newDoc); + newDoc.release()->setChangedFlag (false); + + jassert (getProjectContentComponent() != nullptr); + getProjectContentComponent()->reloadLastOpenDocuments(); + + if (Project* p = getProject()) + p->updateDeprecatedProjectSettingsInteractively(); + + return true; + } + } + else if (file.exists()) + { + return getProjectContentComponent()->showEditorForFile (file, true); + } + + return false; +} + +bool MainWindow::isInterestedInFileDrag (const StringArray& filenames) +{ + for (int i = filenames.size(); --i >= 0;) + if (canOpenFile (File (filenames[i]))) + return true; + + return false; +} + +void MainWindow::filesDropped (const StringArray& filenames, int /*mouseX*/, int /*mouseY*/) +{ + for (int i = filenames.size(); --i >= 0;) + { + const File f (filenames[i]); + + if (canOpenFile (f) && openFile (f)) + break; + } +} + +bool MainWindow::shouldDropFilesWhenDraggedExternally (const DragAndDropTarget::SourceDetails& sourceDetails, + StringArray& files, bool& canMoveFiles) +{ + if (TreeView* tv = dynamic_cast (sourceDetails.sourceComponent.get())) + { + Array selected; + + for (int i = tv->getNumSelectedItems(); --i >= 0;) + if (JucerTreeViewBase* b = dynamic_cast (tv->getSelectedItem(i))) + selected.add (b); + + if (selected.size() > 0) + { + for (int i = selected.size(); --i >= 0;) + { + if (JucerTreeViewBase* jtvb = selected.getUnchecked(i)) + { + const File f (jtvb->getDraggableFile()); + + if (f.existsAsFile()) + files.add (f.getFullPathName()); + } + } + + canMoveFiles = false; + return files.size() > 0; + } + } + + return false; +} + +void MainWindow::activeWindowStatusChanged() +{ + DocumentWindow::activeWindowStatusChanged(); + + if (ProjectContentComponent* const pcc = getProjectContentComponent()) + pcc->updateMissingFileStatuses(); + + ProjucerApplication::getApp().openDocumentManager.reloadModifiedFiles(); +} + +void MainWindow::updateTitle (const String& documentName) +{ + String name (ProjucerApplication::getApp().getApplicationName()); + + if (currentProject != nullptr) + { + String projectName (currentProject->getDocumentTitle()); + + if (currentProject->getFile().getFileNameWithoutExtension() != projectName) + projectName = currentProject->getFile().getFileName(); + + name << " - " << projectName; + } + + if (documentName.isNotEmpty()) + name << " - " << documentName; + + setName (name); +} + +void MainWindow::showNewProjectWizard() +{ + jassert (currentProject == nullptr); + setContentOwned (createNewProjectWizardComponent(), true); + centreWithSize (900, 630); + setVisible (true); + addToDesktop(); + getContentComponent()->grabKeyboardFocus(); +} + +//============================================================================== +ApplicationCommandTarget* MainWindow::getNextCommandTarget() +{ + return nullptr; +} + +void MainWindow::getAllCommands (Array & commands) +{ + const CommandID ids[] = { CommandIDs::closeWindow }; + + commands.addArray (ids, numElementsInArray (ids)); +} + +void MainWindow::getCommandInfo (const CommandID commandID, ApplicationCommandInfo& result) +{ + 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; + + default: + break; + } +} + +bool MainWindow::perform (const InvocationInfo& info) +{ + switch (info.commandID) + { + case CommandIDs::closeWindow: + closeButtonPressed(); + break; + + default: + return false; + } + + return true; +} + + +//============================================================================== +MainWindowList::MainWindowList() +{ +} + +void MainWindowList::forceCloseAllWindows() +{ + windows.clear(); +} + +bool MainWindowList::askAllWindowsToClose() +{ + saveCurrentlyOpenProjectList(); + + while (windows.size() > 0) + { + if (! windows[0]->closeCurrentProject()) + return false; + + windows.remove (0); + } + + return true; +} + +void MainWindowList::createWindowIfNoneAreOpen() +{ + if (windows.size() == 0) + createNewMainWindow()->showNewProjectWizard(); +} + +void MainWindowList::closeWindow (MainWindow* w) +{ + jassert (windows.contains (w)); + + #if ! JUCE_MAC + if (windows.size() == 1) + { + JUCEApplicationBase::getInstance()->systemRequestedQuit(); + } + else + #endif + { + if (w->closeCurrentProject()) + { + windows.removeObject (w); + saveCurrentlyOpenProjectList(); + } + } +} + +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); +} + +bool MainWindowList::openFile (const File& file) +{ + for (int i = windows.size(); --i >= 0;) + { + MainWindow* const w = windows.getUnchecked(i); + + if (w->getProject() != nullptr && w->getProject()->getFile() == file) + { + w->toFront (true); + return true; + } + } + + if (file.hasFileExtension (Project::projectFileExtension)) + { + MainWindow* const w = getOrCreateEmptyWindow(); + bool ok = w->openFile (file); + + w->makeVisible(); + avoidSuperimposedWindows (w); + + return ok; + } + + if (file.exists()) + return getOrCreateFrontmostWindow()->openFile (file); + + return false; +} + +MainWindow* MainWindowList::createNewMainWindow() +{ + MainWindow* const w = new MainWindow(); + windows.add (w); + w->restoreWindowPosition(); + avoidSuperimposedWindows (w); + return w; +} + +MainWindow* MainWindowList::getOrCreateFrontmostWindow() +{ + if (windows.size() == 0) + { + MainWindow* w = createNewMainWindow(); + avoidSuperimposedWindows (w); + w->makeVisible(); + return w; + } + + for (int i = Desktop::getInstance().getNumComponents(); --i >= 0;) + { + MainWindow* mw = dynamic_cast (Desktop::getInstance().getComponent (i)); + if (windows.contains (mw)) + return mw; + } + + return windows.getLast(); +} + +MainWindow* MainWindowList::getOrCreateEmptyWindow() +{ + if (windows.size() == 0) + return createNewMainWindow(); + + for (int i = Desktop::getInstance().getNumComponents(); --i >= 0;) + { + MainWindow* mw = dynamic_cast (Desktop::getInstance().getComponent (i)); + if (windows.contains (mw) && mw->getProject() == nullptr) + return mw; + } + + return createNewMainWindow(); +} + +void MainWindowList::updateAllWindowTitles() +{ + for (int i = 0; i < windows.size(); ++i) + if (ProjectContentComponent* pc = windows.getUnchecked(i)->getProjectContentComponent()) + pc->updateMainWindowTitle(); +} + +void MainWindowList::avoidSuperimposedWindows (MainWindow* const mw) +{ + for (int i = windows.size(); --i >= 0;) + { + MainWindow* const other = windows.getUnchecked(i); + + const Rectangle b1 (mw->getBounds()); + const Rectangle b2 (other->getBounds()); + + if (mw != other + && std::abs (b1.getX() - b2.getX()) < 3 + && std::abs (b1.getY() - b2.getY()) < 3 + && std::abs (b1.getRight() - b2.getRight()) < 3 + && std::abs (b1.getBottom() - b2.getBottom()) < 3) + { + int dx = 40, dy = 30; + + if (b1.getCentreX() >= mw->getScreenBounds().getCentreX()) dx = -dx; + if (b1.getCentreY() >= mw->getScreenBounds().getCentreY()) dy = -dy; + + mw->setBounds (b1.translated (dx, dy)); + } + } +} + +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))) + if (Project* p = mw->getProject()) + projects.add (p->getFile()); + } + + getAppSettings().setLastProjects (projects); +} + +void MainWindowList::reopenLastProjects() +{ + Array projects (getAppSettings().getLastProjects()); + + for (int i = 0; i < projects.size(); ++ i) + openFile (projects.getReference(i)); +} + +void MainWindowList::sendLookAndFeelChange() +{ + for (int i = windows.size(); --i >= 0;) + windows.getUnchecked(i)->sendLookAndFeelChange(); +} + +Project* MainWindowList::getFrontmostProject() +{ + Desktop& desktop = Desktop::getInstance(); + + for (int i = desktop.getNumComponents(); --i >= 0;) + if (MainWindow* const mw = dynamic_cast (desktop.getComponent(i))) + if (Project* p = mw->getProject()) + return p; + + return nullptr; +} + +File findDefaultModulesFolder (bool mustContainJuceCoreModule) +{ + const MainWindowList& windows = ProjucerApplication::getApp().mainWindowList; + + for (int i = windows.windows.size(); --i >= 0;) + { + if (Project* p = windows.windows.getUnchecked (i)->getProject()) + { + const File f (EnabledModuleList::findDefaultModulesFolder (*p)); + + if (isJuceModulesFolder (f) || (f.isDirectory() && ! mustContainJuceCoreModule)) + return f; + } + } + + if (mustContainJuceCoreModule) + return findDefaultModulesFolder (false); + + File f (File::getSpecialLocation (File::currentApplicationFile)); + + for (;;) + { + File parent (f.getParentDirectory()); + + if (parent == f || ! parent.isDirectory()) + break; + + if (isJuceFolder (parent)) + return parent.getChildFile ("modules"); + + f = parent; + } + + 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/Projucer/Source/Application/jucer_OpenDocumentManager.cpp b/extras/Projucer/Source/Application/jucer_OpenDocumentManager.cpp new file mode 100644 index 00000000..81b55af4 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_OpenDocumentManager.cpp @@ -0,0 +1,434 @@ +/* + ============================================================================== + + 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_OpenDocumentManager.h" +#include "jucer_FilePreviewComponent.h" +#include "../Code Editor/jucer_SourceCodeEditor.h" +#include "jucer_Application.h" + + +//============================================================================== +class UnknownDocument : public OpenDocumentManager::Document +{ +public: + UnknownDocument (Project* p, const File& f) + : project (p), file (f) + { + reloadFromFile(); + } + + //============================================================================== + struct Type : public OpenDocumentManager::DocumentType + { + bool canOpenFile (const File&) override { return true; } + Document* openFile (Project* p, const File& f) override { return new UnknownDocument (p, f); } + }; + + //============================================================================== + bool loadedOk() const override { return true; } + bool isForFile (const File& f) const override { return file == f; } + bool isForNode (const ValueTree&) const override { return false; } + bool refersToProject (Project& p) const override { return project == &p; } + Project* getProject() const override { return project; } + bool needsSaving() const override { return false; } + bool save() override { return true; } + bool saveAs() override { return false; } + bool hasFileBeenModifiedExternally() override { return fileModificationTime != file.getLastModificationTime(); } + void reloadFromFile() override { fileModificationTime = file.getLastModificationTime(); } + String getName() const override { return file.getFileName(); } + File getFile() const override { return file; } + Component* createEditor() override { return new ItemPreviewComponent (file); } + Component* createViewer() override { return createEditor(); } + void fileHasBeenRenamed (const File& newFile) override { file = newFile; } + String getState() const override { return String::empty; } + void restoreState (const String&) override {} + + String getType() const override + { + if (file.getFileExtension().isNotEmpty()) + return file.getFileExtension() + " file"; + + jassertfalse; + return "Unknown"; + } + +private: + Project* const project; + File file; + Time fileModificationTime; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (UnknownDocument) +}; + + +//============================================================================== +OpenDocumentManager::DocumentType* createGUIDocumentType(); + +OpenDocumentManager::OpenDocumentManager() +{ + registerType (new UnknownDocument::Type()); + registerType (new SourceCodeDocument::Type()); + registerType (createGUIDocumentType()); +} + +OpenDocumentManager::~OpenDocumentManager() +{ +} + +void OpenDocumentManager::clear() +{ + documents.clear(); + types.clear(); +} + +//============================================================================== +void OpenDocumentManager::registerType (DocumentType* type, int index) +{ + types.insert (index, type); +} + +//============================================================================== +void OpenDocumentManager::addListener (DocumentCloseListener* listener) +{ + listeners.addIfNotAlreadyThere (listener); +} + +void OpenDocumentManager::removeListener (DocumentCloseListener* listener) +{ + listeners.removeFirstMatchingValue (listener); +} + +//============================================================================== +bool OpenDocumentManager::canOpenFile (const File& file) +{ + for (int i = types.size(); --i >= 0;) + if (types.getUnchecked(i)->canOpenFile (file)) + return true; + + return false; +} + +OpenDocumentManager::Document* OpenDocumentManager::openFile (Project* project, const File& file) +{ + for (int i = documents.size(); --i >= 0;) + if (documents.getUnchecked(i)->isForFile (file)) + return documents.getUnchecked(i); + + Document* d = nullptr; + + for (int i = types.size(); --i >= 0 && d == nullptr;) + { + if (types.getUnchecked(i)->canOpenFile (file)) + { + d = types.getUnchecked(i)->openFile (project, file); + jassert (d != nullptr); + } + } + + jassert (d != nullptr); // should always at least have been picked up by UnknownDocument + + documents.add (d); + ProjucerApplication::getCommandManager().commandStatusChanged(); + return d; +} + +int OpenDocumentManager::getNumOpenDocuments() const +{ + return documents.size(); +} + +OpenDocumentManager::Document* OpenDocumentManager::getOpenDocument (int index) const +{ + return documents.getUnchecked (index); +} + +FileBasedDocument::SaveResult OpenDocumentManager::saveIfNeededAndUserAgrees (OpenDocumentManager::Document* doc) +{ + if (! doc->needsSaving()) + return FileBasedDocument::savedOk; + + const int r = AlertWindow::showYesNoCancelBox (AlertWindow::QuestionIcon, + TRANS("Closing document..."), + TRANS("Do you want to save the changes to \"") + + doc->getName() + "\"?", + TRANS("Save"), + TRANS("Discard changes"), + TRANS("Cancel")); + + if (r == 1) // save changes + return doc->save() ? FileBasedDocument::savedOk + : FileBasedDocument::failedToWriteToFile; + + if (r == 2) // discard changes + return FileBasedDocument::savedOk; + + return FileBasedDocument::userCancelledSave; +} + + +bool OpenDocumentManager::closeDocument (int index, bool saveIfNeeded) +{ + if (Document* doc = documents [index]) + { + if (saveIfNeeded) + if (saveIfNeededAndUserAgrees (doc) != FileBasedDocument::savedOk) + return false; + + bool canClose = true; + + for (int i = listeners.size(); --i >= 0;) + if (DocumentCloseListener* l = listeners[i]) + if (! l->documentAboutToClose (doc)) + canClose = false; + + if (! canClose) + return false; + + documents.remove (index); + ProjucerApplication::getCommandManager().commandStatusChanged(); + } + + return true; +} + +bool OpenDocumentManager::closeDocument (Document* document, bool saveIfNeeded) +{ + return closeDocument (documents.indexOf (document), saveIfNeeded); +} + +void OpenDocumentManager::closeFile (const File& f, bool saveIfNeeded) +{ + for (int i = documents.size(); --i >= 0;) + if (Document* d = documents[i]) + if (d->isForFile (f)) + closeDocument (i, saveIfNeeded); +} + +bool OpenDocumentManager::closeAll (bool askUserToSave) +{ + for (int i = getNumOpenDocuments(); --i >= 0;) + if (! closeDocument (i, askUserToSave)) + return false; + + return true; +} + +bool OpenDocumentManager::closeAllDocumentsUsingProject (Project& project, bool saveIfNeeded) +{ + for (int i = documents.size(); --i >= 0;) + if (Document* d = documents[i]) + if (d->refersToProject (project)) + if (! closeDocument (i, saveIfNeeded)) + return false; + + return true; +} + +bool OpenDocumentManager::anyFilesNeedSaving() const +{ + for (int i = documents.size(); --i >= 0;) + if (documents.getUnchecked (i)->needsSaving()) + return true; + + return false; +} + +bool OpenDocumentManager::saveAll() +{ + for (int i = documents.size(); --i >= 0;) + { + if (! documents.getUnchecked (i)->save()) + return false; + + ProjucerApplication::getApp().mainWindowList.updateAllWindowTitles(); + ProjucerApplication::getCommandManager().commandStatusChanged(); + } + + return true; +} + +void OpenDocumentManager::reloadModifiedFiles() +{ + for (int i = documents.size(); --i >= 0;) + { + Document* d = documents.getUnchecked (i); + + if (d->hasFileBeenModifiedExternally()) + d->reloadFromFile(); + } +} + +void OpenDocumentManager::fileHasBeenRenamed (const File& oldFile, const File& newFile) +{ + for (int i = documents.size(); --i >= 0;) + { + Document* d = documents.getUnchecked (i); + + if (d->isForFile (oldFile)) + d->fileHasBeenRenamed (newFile); + } +} + + +//============================================================================== +RecentDocumentList::RecentDocumentList() +{ + ProjucerApplication::getApp().openDocumentManager.addListener (this); +} + +RecentDocumentList::~RecentDocumentList() +{ + ProjucerApplication::getApp().openDocumentManager.removeListener (this); +} + +void RecentDocumentList::clear() +{ + previousDocs.clear(); + nextDocs.clear(); +} + +void RecentDocumentList::newDocumentOpened (OpenDocumentManager::Document* document) +{ + if (document != nullptr && document != getCurrentDocument()) + { + nextDocs.clear(); + previousDocs.add (document); + } +} + +bool RecentDocumentList::canGoToPrevious() const +{ + return previousDocs.size() > 1; +} + +bool RecentDocumentList::canGoToNext() const +{ + return nextDocs.size() > 0; +} + +OpenDocumentManager::Document* RecentDocumentList::getPrevious() +{ + if (! canGoToPrevious()) + return nullptr; + + nextDocs.insert (0, previousDocs.remove (previousDocs.size() - 1)); + return previousDocs.getLast(); +} + +OpenDocumentManager::Document* RecentDocumentList::getNext() +{ + if (! canGoToNext()) + return nullptr; + + OpenDocumentManager::Document* d = nextDocs.remove (0); + previousDocs.add (d); + 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;) + if (previousDocs.getUnchecked(i) != oneToAvoid) + return previousDocs.getUnchecked(i); + + return nullptr; +} + +bool RecentDocumentList::documentAboutToClose (OpenDocumentManager::Document* document) +{ + previousDocs.removeAllInstancesOf (document); + nextDocs.removeAllInstancesOf (document); + + jassert (! previousDocs.contains (document)); + jassert (! nextDocs.contains (document)); + + return true; +} + +static void restoreDocList (Project& project, Array & list, const XmlElement* xml) +{ + if (xml != nullptr) + { + OpenDocumentManager& odm = ProjucerApplication::getApp().openDocumentManager; + + forEachXmlChildElementWithTagName (*xml, e, "DOC") + { + const File file (e->getStringAttribute ("file")); + + if (file.exists()) + { + if (OpenDocumentManager::Document* doc = odm.openFile (&project, file)) + { + doc->restoreState (e->getStringAttribute ("state")); + + list.add (doc); + } + } + } + } +} + +void RecentDocumentList::restoreFromXML (Project& project, const XmlElement& xml) +{ + clear(); + + if (xml.hasTagName ("RECENT_DOCUMENTS")) + { + restoreDocList (project, previousDocs, xml.getChildByName ("PREVIOUS")); + restoreDocList (project, nextDocs, xml.getChildByName ("NEXT")); + } +} + +static void saveDocList (const Array & list, XmlElement& xml) +{ + for (int i = 0; i < list.size(); ++i) + { + const OpenDocumentManager::Document& doc = *list.getUnchecked(i); + + XmlElement* e = xml.createNewChildElement ("DOC"); + + e->setAttribute ("file", doc.getFile().getFullPathName()); + e->setAttribute ("state", doc.getState()); + } +} + +XmlElement* RecentDocumentList::createXML() const +{ + XmlElement* xml = new XmlElement ("RECENT_DOCUMENTS"); + + saveDocList (previousDocs, *xml->createNewChildElement ("PREVIOUS")); + saveDocList (nextDocs, *xml->createNewChildElement ("NEXT")); + + return xml; +} diff --git a/extras/Projucer/Source/Application/jucer_OpenDocumentManager.h b/extras/Projucer/Source/Application/jucer_OpenDocumentManager.h new file mode 100644 index 00000000..43a34e98 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_OpenDocumentManager.h @@ -0,0 +1,155 @@ +/* + ============================================================================== + + 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_OPENDOCUMENTMANAGER_H_INCLUDED +#define JUCER_OPENDOCUMENTMANAGER_H_INCLUDED + +#include "../Project/jucer_Project.h" + +//============================================================================== +/** +*/ +class OpenDocumentManager +{ +public: + //============================================================================== + OpenDocumentManager(); + ~OpenDocumentManager(); + + //============================================================================== + class Document + { + public: + Document() {} + virtual ~Document() {} + + virtual bool loadedOk() const = 0; + virtual bool isForFile (const File& file) const = 0; + virtual bool isForNode (const ValueTree& node) const = 0; + virtual bool refersToProject (Project& project) const = 0; + virtual Project* getProject() const = 0; + virtual String getName() const = 0; + virtual String getType() const = 0; + virtual File getFile() const = 0; + virtual bool needsSaving() const = 0; + virtual bool save() = 0; + virtual bool saveAs() = 0; + virtual bool hasFileBeenModifiedExternally() = 0; + virtual void reloadFromFile() = 0; + virtual Component* createEditor() = 0; + virtual Component* createViewer() = 0; + virtual void fileHasBeenRenamed (const File& newFile) = 0; + virtual String getState() const = 0; + virtual void restoreState (const String& state) = 0; + virtual File getCounterpartFile() const { return File::nonexistent; } + }; + + //============================================================================== + int getNumOpenDocuments() const; + Document* getOpenDocument (int index) const; + void clear(); + + bool canOpenFile (const File& file); + Document* openFile (Project* project, const File& file); + bool closeDocument (int index, bool saveIfNeeded); + bool closeDocument (Document* document, bool saveIfNeeded); + bool closeAll (bool askUserToSave); + bool closeAllDocumentsUsingProject (Project& project, bool saveIfNeeded); + void closeFile (const File& f, bool saveIfNeeded); + bool anyFilesNeedSaving() const; + bool saveAll(); + FileBasedDocument::SaveResult saveIfNeededAndUserAgrees (Document* doc); + void reloadModifiedFiles(); + void fileHasBeenRenamed (const File& oldFile, const File& newFile); + + //============================================================================== + class DocumentCloseListener + { + public: + DocumentCloseListener() {} + virtual ~DocumentCloseListener() {} + + // return false to force it to stop. + virtual bool documentAboutToClose (Document* document) = 0; + }; + + void addListener (DocumentCloseListener*); + void removeListener (DocumentCloseListener*); + + //============================================================================== + class DocumentType + { + public: + DocumentType() {} + virtual ~DocumentType() {} + + virtual bool canOpenFile (const File& file) = 0; + virtual Document* openFile (Project* project, const File& file) = 0; + }; + + void registerType (DocumentType* type, int index = -1); + + +private: + OwnedArray types; + OwnedArray documents; + Array listeners; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OpenDocumentManager) +}; + +//============================================================================== +class RecentDocumentList : private OpenDocumentManager::DocumentCloseListener +{ +public: + RecentDocumentList(); + ~RecentDocumentList(); + + void clear(); + + void newDocumentOpened (OpenDocumentManager::Document* document); + + OpenDocumentManager::Document* getCurrentDocument() const { return previousDocs.getLast(); } + + bool canGoToPrevious() const; + bool canGoToNext() const; + + bool contains (const File&) const; + + OpenDocumentManager::Document* getPrevious(); + OpenDocumentManager::Document* getNext(); + + OpenDocumentManager::Document* getClosestPreviousDocOtherThan (OpenDocumentManager::Document* oneToAvoid) const; + + void restoreFromXML (Project& project, const XmlElement& xml); + XmlElement* createXML() const; + +private: + bool documentAboutToClose (OpenDocumentManager::Document*); + + Array previousDocs, nextDocs; +}; + + +#endif // JUCER_OPENDOCUMENTMANAGER_H_INCLUDED diff --git a/extras/Projucer/Source/Application/jucer_ProjucerLicenses.h b/extras/Projucer/Source/Application/jucer_ProjucerLicenses.h new file mode 100644 index 00000000..f06ce4e8 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_ProjucerLicenses.h @@ -0,0 +1,115 @@ +/* + ============================================================================== + Copyright 2015 by Raw Material Software Ltd. + ============================================================================== +*/ + + +#ifndef PROJUCER_PROJUCERLICENSES_H_INCLUDED +#define PROJUCER_PROJUCERLICENSES_H_INCLUDED + + +//============================================================================== +struct ProjucerLicences : private DeletedAtShutdown +{ + ProjucerLicences() + { + dll.initialise (crashCallback, quitCallback, false); + } + + juce_DeclareSingleton (ProjucerLicences, false); + + //============================================================================== + struct LoginCallback + { + virtual ~LoginCallback() {} + + // always called on message thread + virtual void loginError (const String& errorMessage, bool hiliteUserID) = 0; + virtual void loginSuccess (const String& username, const String& apiKey) = 0; + }; + + // Log the user in. This will return immedietely + void login (const String& userLoginName, const String& userPassword, + bool remainLoggedIn, LoginCallback* callback) + { + if (dll.isLoaded()) + { + jassert (callback != nullptr); + jassert (MessageManager::getInstance()->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/RecentFilesMenuTemplate.nib b/extras/Projucer/Source/BinaryData/RecentFilesMenuTemplate.nib new file mode 100644 index 0000000000000000000000000000000000000000..cec7f7c72bb7b287e0d493d53b0c487866ed6038 GIT binary patch literal 2842 zcmai03v3kE6}|7xy!Xa&z`M5b4;%lM&tmWg|D6Ew7aQ2M@%n>tur*!}uy{Yt&e%Yj z!V5{9M2(VAB|&M`7EBWqMJYm*Qk147ZPe1JqQtSlrHBH7I0T_IjZ#F@)_t?%Ee=It zN7~t$ckeyto_pVY+c)U<=|*AUI3U0vfeZvFDn(`M9m85!_l1J%9ihIhn%B^~9BSCR z#V203IgHR?JfM+%hit2XfdZM33l3Ne`LGO1p%PYu3*68FouI-XJOW|Z2HRl=JO&&d zhbQ3$coFu%%kV0U!U6axya8{)&*3Qi0*=GG@E)9mKfr1D5GLTya1k!SWw;8Tz^8Bv z#i9%}4`re(l#OywE^?sxXaQP?79l5EjPlSDRDhPXJAy-g|6d>m?t@skA7;U9hyxqg zAs!MS5#~S=Btr_MLK@74bjW~=UYpJB>G0{kKEKxK3-*V$=^NdiW-IkI+77+L?P(2# zjEBWbU%%d=`iC^V!{PO-y1v1BXIcrL+E6ek^b*qPy|%dj#jrejZK-Zgwb!fZ0?Ft1 z89S!ULt$Z^e8-xJWJdjeuiG3r;V~TZa^A$tIOC;!6>sE?VWu%!dWA5EgB)G6@Q+_0~^K?-8y;x)BOkDvSy{=lWhr{ZQ15gGP z;OrD+%}2|n3LfAkKZ6HhIjn${@DNl(4b(y%)I$TTf<|cK_woDrQXa<_@>HJA=kaWw z%k#LC7w~0KMb-)xV!x@vI5dlFT3{Wtf(P25U5Mt=fYA2|)`3%3tXY&QT zh|lV(cB#IgX%)?M5LB%O3Eae3g&<9@V7f2dxg3SVLi^yav z41ga35QI>#&F=Pya@RjH7ukjfz9|JYZG%QTR?|*H}#w^&f>t!FfCQP8jBMcrs6j zn3_={EIo#5XjYir@PtUpTru??h27vh2TuvHM(&X7X(3q6Hza#rv}1K-s|kTTLwx}e zgwGX~pUzw)oz~Xi^J_i2wP+bveH1D9I{3aQ_wzhMR5UGG#l2kF54C*W-6{M)P^c3m zZdYwT&k|jhZYeGBGP|1xwP04O=GB769k93i>@@*=5ccyN0X?5*M#0}S!RvYM-CCt? z2Ivt187Zv*bZn^gYic;l6tLHp)N5AK#I6f@hlC!6ZZ23#AA?^`_tPjG1LxgPW;W!B z88R+vtMB(2XYZ)UOzYpzuwLBJ5DEuW<6a1Vn&Gpgt;45nyO+n=86No^)}a12R)3vg zU)a{D`3Jj&LNm9nIVG=%nNTdYQ$r|dxYVH7W?@UQ3YZ)<2a#2vD)`JCKuO|SK7B<; zkoBA-1~C?h))gH=))S7#_?nj-vc-uQ-!{nby+&CcRH0dsNN6^SLpEeb@hAZ$qB$rD zC8HFSiqggI%~8 zx8N?k2?wx_AHzHGF8mDMi+_w?$A|D?d*2`4pWg6Sed~ARjY?$q3ud*Mq zAF-dX{p<~N5j6 literal 0 HcmV?d00001 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/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 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 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/Projucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp new file mode 100644 index 00000000..60c86f9c --- /dev/null +++ b/extras/Projucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp @@ -0,0 +1,99 @@ +/* + ============================================================================== + + This file was auto-generated! + + ============================================================================== +*/ + +#ifndef MAINCOMPONENT_H_INCLUDED +#define MAINCOMPONENT_H_INCLUDED + +INCLUDE_JUCE + +//============================================================================== +/* + This component lives inside our window, and this is where you should put all + your controls and content. +*/ +class MainContentComponent : public AudioAppComponent +{ +public: + //============================================================================== + MainContentComponent() + { + setSize (800, 600); + + // specify the number of input and output channels that we want to open + setAudioChannels (2, 2); + } + + ~MainContentComponent() + { + shutdownAudio(); + } + + //============================================================================== + void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override + { + // This function will be called when the audio device is started, or when + // its settings (i.e. sample rate, block size, etc) are changed. + + // You can use this function to initialise any resources you might need, + // but be careful - it will be called on the audio thread, not the GUI thread. + + // For more details, see the help for AudioProcessor::prepareToPlay() + } + + void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override + { + // Your audio-processing code goes here! + + // For more details, see the help for AudioProcessor::getNextAudioBlock() + + // Right now we are not producing any data, in which case we need to clear the buffer + // (to prevent the output of random noise) + bufferToFill.clearActiveBufferRegion(); + } + + void releaseResources() override + { + // This will be called when the audio device stops, or when it is being + // restarted due to a setting change. + + // 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) + g.fillAll (Colours::black); + + + // You can add your drawing code here! + } + + void resized() override + { + // This is called when the MainContentComponent is resized. + // If you add any child components, this is where you should + // update their positions. + } + + +private: + //============================================================================== + + // Your private member variables go here... + + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent) +}; + + +// (This function is called by the app startup code to create our main component) +Component* createMainContentComponent() { return new MainContentComponent(); } + + +#endif // MAINCOMPONENT_H_INCLUDED diff --git a/extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp new file mode 100644 index 00000000..a8a8e298 --- /dev/null +++ b/extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp @@ -0,0 +1,41 @@ +/* + ============================================================================== + + This file was auto-generated! + + It contains the basic framework code for a JUCE plugin editor. + + ============================================================================== +*/ + +EDITORCPPHEADERS + + +//============================================================================== +EDITORCLASSNAME::EDITORCLASSNAME (FILTERCLASSNAME& p) + : AudioProcessorEditor (&p), processor (p) +{ + // Make sure that before the constructor has finished, you've set the + // editor's size to whatever you need it to be. + setSize (400, 300); +} + +EDITORCLASSNAME::~EDITORCLASSNAME() +{ +} + +//============================================================================== +void EDITORCLASSNAME::paint (Graphics& g) +{ + g.fillAll (Colours::white); + + g.setColour (Colours::black); + g.setFont (15.0f); + g.drawFittedText ("Hello World!", getLocalBounds(), Justification::centred, 1); +} + +void EDITORCLASSNAME::resized() +{ + // This is generally where you'll want to lay out the positions of any + // subcomponents in your editor.. +} diff --git a/extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.h b/extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.h new file mode 100644 index 00000000..efc062c3 --- /dev/null +++ b/extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.h @@ -0,0 +1,39 @@ +/* + ============================================================================== + + This file was auto-generated! + + It contains the basic framework code for a JUCE plugin editor. + + ============================================================================== +*/ + +#ifndef HEADERGUARD +#define HEADERGUARD + +EDITORHEADERS + + +//============================================================================== +/** +*/ +class EDITORCLASSNAME : public AudioProcessorEditor +{ +public: + EDITORCLASSNAME (FILTERCLASSNAME&); + ~EDITORCLASSNAME(); + + //============================================================================== + void paint (Graphics&) override; + void resized() override; + +private: + // This reference is provided as a quick way for your editor to + // access the processor object that created it. + FILTERCLASSNAME& processor; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (EDITORCLASSNAME) +}; + + +#endif // HEADERGUARD diff --git a/extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp new file mode 100644 index 00000000..e75add66 --- /dev/null +++ b/extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp @@ -0,0 +1,168 @@ +/* + ============================================================================== + + This file was auto-generated! + + It contains the basic framework code for a JUCE plugin processor. + + ============================================================================== +*/ + +FILTERHEADERS + + +//============================================================================== +FILTERCLASSNAME::FILTERCLASSNAME() +{ +} + +FILTERCLASSNAME::~FILTERCLASSNAME() +{ +} + +//============================================================================== +const String FILTERCLASSNAME::getName() const +{ + return JucePlugin_Name; +} + +bool FILTERCLASSNAME::acceptsMidi() const +{ + #if JucePlugin_WantsMidiInput + return true; + #else + return false; + #endif +} + +bool FILTERCLASSNAME::producesMidi() const +{ + #if JucePlugin_ProducesMidiOutput + return true; + #else + return false; + #endif +} + +double FILTERCLASSNAME::getTailLengthSeconds() const +{ + return 0.0; +} + +int FILTERCLASSNAME::getNumPrograms() +{ + return 1; // NB: some hosts don't cope very well if you tell them there are 0 programs, + // so this should be at least 1, even if you're not really implementing programs. +} + +int FILTERCLASSNAME::getCurrentProgram() +{ + return 0; +} + +void FILTERCLASSNAME::setCurrentProgram (int index) +{ +} + +const String FILTERCLASSNAME::getProgramName (int index) +{ + return String(); +} + +void FILTERCLASSNAME::changeProgramName (int index, const String& newName) +{ +} + +//============================================================================== +void FILTERCLASSNAME::prepareToPlay (double sampleRate, int samplesPerBlock) +{ + // Use this method as the place to do any pre-playback + // initialisation that you need.. +} + +void FILTERCLASSNAME::releaseResources() +{ + // When playback stops, you can use this as an opportunity to free up any + // spare memory, etc. +} + +#ifndef JucePlugin_PreferredChannelConfigurations +bool FILTERCLASSNAME::setPreferredBusArrangement (bool isInput, int bus, const AudioChannelSet& preferredSet) +{ + // Reject any bus arrangements that are not compatible with your plugin + + const int numChannels = preferredSet.size(); + + #if JucePlugin_IsMidiEffect + if (numChannels != 0) + return false; + #elif JucePlugin_IsSynth + if (isInput || (numChannels != 1 && numChannels != 2)) + return false; + #else + if (numChannels != 1 && numChannels != 2) + return false; + + if (! AudioProcessor::setPreferredBusArrangement (! isInput, bus, preferredSet)) + return false; + #endif + + return AudioProcessor::setPreferredBusArrangement (isInput, bus, preferredSet); +} +#endif + +void FILTERCLASSNAME::processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages) +{ + const int totalNumInputChannels = getTotalNumInputChannels(); + const int totalNumOutputChannels = getTotalNumOutputChannels(); + + // In case we have more outputs than inputs, this code clears any output + // channels that didn't contain input data, (because these aren't + // guaranteed to be empty - they may contain garbage). + // This is here to avoid people getting screaming feedback + // when they first compile a plugin, but obviously you don't need to keep + // this code if your algorithm always overwrites all the output channels. + for (int i = totalNumInputChannels; i < totalNumOutputChannels; ++i) + buffer.clear (i, 0, buffer.getNumSamples()); + + // This is the place where you'd normally do the guts of your plugin's + // audio processing... + for (int channel = 0; channel < totalNumInputChannels; ++channel) + { + float* channelData = buffer.getWritePointer (channel); + + // ..do something to the data... + } +} + +//============================================================================== +bool FILTERCLASSNAME::hasEditor() const +{ + return true; // (change this to false if you choose to not supply an editor) +} + +AudioProcessorEditor* FILTERCLASSNAME::createEditor() +{ + return new EDITORCLASSNAME (*this); +} + +//============================================================================== +void FILTERCLASSNAME::getStateInformation (MemoryBlock& destData) +{ + // You should use this method to store your parameters in the memory block. + // You could do that either as raw data, or use the XML or ValueTree classes + // as intermediaries to make it easy to save and load complex data. +} + +void FILTERCLASSNAME::setStateInformation (const void* data, int sizeInBytes) +{ + // You should use this method to restore your parameters from this memory block, + // whose contents will have been created by the getStateInformation() call. +} + +//============================================================================== +// This creates new instances of the plugin.. +AudioProcessor* JUCE_CALLTYPE createPluginFilter() +{ + return new FILTERCLASSNAME(); +} diff --git a/extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h b/extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h new file mode 100644 index 00000000..b112aa36 --- /dev/null +++ b/extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h @@ -0,0 +1,65 @@ +/* + ============================================================================== + + This file was auto-generated! + + It contains the basic framework code for a JUCE plugin processor. + + ============================================================================== +*/ + +#ifndef HEADERGUARD +#define HEADERGUARD + +APPHEADERS + + +//============================================================================== +/** +*/ +class FILTERCLASSNAME : public AudioProcessor +{ +public: + //============================================================================== + FILTERCLASSNAME(); + ~FILTERCLASSNAME(); + + //============================================================================== + void prepareToPlay (double sampleRate, int samplesPerBlock) override; + void releaseResources() override; + + #ifndef JucePlugin_PreferredChannelConfigurations + bool setPreferredBusArrangement (bool isInput, int bus, const AudioChannelSet& preferredSet) override; + #endif + + void processBlock (AudioSampleBuffer&, MidiBuffer&) override; + + //============================================================================== + AudioProcessorEditor* createEditor() override; + bool hasEditor() const override; + + //============================================================================== + const String getName() const override; + + bool acceptsMidi() const override; + bool producesMidi() const override; + double getTailLengthSeconds() const override; + + //============================================================================== + int getNumPrograms() override; + int getCurrentProgram() override; + void setCurrentProgram (int index) override; + const String getProgramName (int index) override; + void changeProgramName (int index, const String& newName) override; + + //============================================================================== + void getStateInformation (MemoryBlock& destData) override; + void setStateInformation (const void* data, int sizeInBytes) override; + +private: + //============================================================================== + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FILTERCLASSNAME) +}; + + +#endif // HEADERGUARD diff --git a/extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.cpp new file mode 100644 index 00000000..d719a780 --- /dev/null +++ b/extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.cpp @@ -0,0 +1,74 @@ +/* + ============================================================================== + + 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 Projucer version: %%version%% + + ------------------------------------------------------------------------------ + + The Projucer is part of the JUCE library - "Jules' Utility Class Extensions" + Copyright (c) 2015 - ROLI Ltd. + + ============================================================================== +*/ + +//[Headers] You can add your own extra header files here... +//[/Headers] + +%%includeFilesCPP%% + +//[MiscUserDefs] You can add your own user definitions and misc code here... +//[/MiscUserDefs] + +//============================================================================== +%%className%%::%%className%% (%%constructorParams%%) +%%initialisers%%{ + //[Constructor_pre] You can add your own custom stuff here.. + //[/Constructor_pre] + + %%constructor%% + + //[Constructor] You can add your own custom stuff here.. + //[/Constructor] +} + +%%className%%::~%%className%%() +{ + //[Destructor_pre]. You can add your own custom destruction code here.. + //[/Destructor_pre] + + %%destructor%% + + //[Destructor]. You can add your own custom destruction code here.. + //[/Destructor] +} + +//============================================================================== +%%methodDefinitions%% + +//[MiscUserCode] You can add your own definitions of your custom methods or any other code here... +//[/MiscUserCode] + + +//============================================================================== +#if 0 +/* -- Projucer information section -- + + This is where the Projucer stores the metadata that describe this GUI layout, so + make changes in here at your peril! + +BEGIN_JUCER_METADATA + +%%metadata%% +END_JUCER_METADATA +*/ +#endif + +%%staticMemberDefinitions%% +//[EndFile] You can add extra defines here... +//[/EndFile] diff --git a/extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.h b/extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.h new file mode 100644 index 00000000..bf1b070b --- /dev/null +++ b/extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.h @@ -0,0 +1,64 @@ +/* + ============================================================================== + + 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 Projucer version: %%version%% + + ------------------------------------------------------------------------------ + + The Projucer is part of the JUCE library - "Jules' Utility Class Extensions" + Copyright (c) 2015 - ROLI Ltd. + + ============================================================================== +*/ + +#ifndef %%headerGuard%% +#define %%headerGuard%% + +//[Headers] -- You can add your own extra header files here -- +%%includeJUCEHeader%% +//[/Headers] + +%%includeFilesH%% + +//============================================================================== +/** + //[Comments] + An auto-generated component, created by the Projucer. + + Describe your class and how it works here! + //[/Comments] +*/ +%%classDeclaration%% +{ +public: + //============================================================================== + %%className%% (%%constructorParams%%); + ~%%className%%(); + + //============================================================================== + //[UserMethods] -- You can add your own custom methods in this section. + //[/UserMethods] + + %%publicMemberDeclarations%% + +private: + //[UserVariables] -- You can add your own custom variables in this section. + //[/UserVariables] + + //============================================================================== + %%privateMemberDeclarations%% + + //============================================================================== + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%className%%) +}; + +//[EndFile] You can add extra defines here... +//[/EndFile] + +#endif // %%headerGuard%% 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/Projucer/Source/BinaryData/jucer_InlineComponentTemplate.h b/extras/Projucer/Source/BinaryData/jucer_InlineComponentTemplate.h new file mode 100644 index 00000000..63454b83 --- /dev/null +++ b/extras/Projucer/Source/BinaryData/jucer_InlineComponentTemplate.h @@ -0,0 +1,40 @@ +//============================================================================== +class COMPONENTCLASS : public Component +{ +public: + COMPONENTCLASS() + { + // In your constructor, you should add any child components, and + // initialise any special settings that your component needs. + + } + + ~COMPONENTCLASS() + { + } + + void paint (Graphics& g) override + { + // You should replace everything in this method with your own drawing code.. + + g.fillAll (Colours::white); // clear the background + + g.setColour (Colours::grey); + g.drawRect (getLocalBounds(), 1); // draw an outline around the component + + g.setColour (Colours::lightblue); + g.setFont (14.0f); + g.drawText ("COMPONENTCLASS", getLocalBounds(), + Justification::centred, true); // draw some placeholder text + } + + void resized() override + { + // This method is where you should set the bounds of any child + // components that your component contains.. + + } + +private: + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS) +}; 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/Projucer/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp b/extras/Projucer/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp new file mode 100644 index 00000000..daa10944 --- /dev/null +++ b/extras/Projucer/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp @@ -0,0 +1,54 @@ +/* + ============================================================================== + + This file was auto-generated! + + It contains the basic startup code for a Juce application. + + ============================================================================== +*/ + +APPHEADERS + + +//============================================================================== +class APPCLASSNAME : public JUCEApplication +{ +public: + //============================================================================== + APPCLASSNAME() {} + + const String getApplicationName() override { return ProjectInfo::projectName; } + const String getApplicationVersion() override { return ProjectInfo::versionString; } + bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; } + + //============================================================================== + void initialise (const String& commandLine) override + { + // Add your application's initialisation code here.. + } + + void shutdown() override + { + // Add your application's shutdown code here.. + } + + //============================================================================== + void systemRequestedQuit() override + { + // This is called when the app is being asked to quit: you can ignore this + // request and let the app carry on running, or call quit() to allow the app to close. + quit(); + } + + void anotherInstanceStarted (const String& commandLine) override + { + // When another instance of the app is launched while this one is running, + // this method is invoked, and the commandLine parameter tells you what + // the other instance's command-line arguments were. + } +}; + +//============================================================================== +// This macro generates the main() routine that launches the app. +START_JUCE_APPLICATION (APPCLASSNAME) diff --git a/extras/Projucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp b/extras/Projucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp new file mode 100644 index 00000000..9f7cdefa --- /dev/null +++ b/extras/Projucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp @@ -0,0 +1,101 @@ +/* + ============================================================================== + + This file was auto-generated! + + It contains the basic startup code for a Juce application. + + ============================================================================== +*/ + +APPHEADERS + +Component* createMainContentComponent(); + +//============================================================================== +class APPCLASSNAME : public JUCEApplication +{ +public: + //============================================================================== + APPCLASSNAME() {} + + const String getApplicationName() override { return ProjectInfo::projectName; } + const String getApplicationVersion() override { return ProjectInfo::versionString; } + bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; } + + //============================================================================== + void initialise (const String& commandLine) override + { + // This method is where you should put your application's initialisation code.. + + mainWindow = new MainWindow (getApplicationName()); + } + + void shutdown() override + { + // Add your application's shutdown code here.. + + mainWindow = nullptr; // (deletes our window) + } + + //============================================================================== + void systemRequestedQuit() override + { + // This is called when the app is being asked to quit: you can ignore this + // request and let the app carry on running, or call quit() to allow the app to close. + quit(); + } + + void anotherInstanceStarted (const String& commandLine) override + { + // When another instance of the app is launched while this one is running, + // this method is invoked, and the commandLine parameter tells you what + // the other instance's command-line arguments were. + } + + //============================================================================== + /* + This class implements the desktop window that contains an instance of + our CONTENTCOMPCLASS class. + */ + class MainWindow : public DocumentWindow + { + public: + MainWindow (String name) : DocumentWindow (name, + Colours::lightgrey, + DocumentWindow::allButtons) + { + setUsingNativeTitleBar (true); + setContentOwned (createMainContentComponent(), true); + setResizable (true, true); + + centreWithSize (getWidth(), getHeight()); + setVisible (true); + } + + void closeButtonPressed() override + { + // This is called when the user tries to close this window. Here, we'll just + // ask the app to quit when this happens, but you can change this to do + // whatever you need. + JUCEApplication::getInstance()->systemRequestedQuit(); + } + + /* Note: Be careful if you override any DocumentWindow methods - the base + class uses a lot of them, so by overriding you might break its functionality. + It's best to do all your work in your content component instead, but if + you really have to override any DocumentWindow methods, make sure your + subclass also calls the superclass's method. + */ + + private: + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow) + }; + +private: + ScopedPointer mainWindow; +}; + +//============================================================================== +// This macro generates the main() routine that launches the app. +START_JUCE_APPLICATION (APPCLASSNAME) diff --git a/extras/Projucer/Source/BinaryData/jucer_MainTemplate_Window.cpp b/extras/Projucer/Source/BinaryData/jucer_MainTemplate_Window.cpp new file mode 100644 index 00000000..a13257c3 --- /dev/null +++ b/extras/Projucer/Source/BinaryData/jucer_MainTemplate_Window.cpp @@ -0,0 +1,99 @@ +/* + ============================================================================== + + This file was auto-generated! + + It contains the basic startup code for a Juce application. + + ============================================================================== +*/ + +APPHEADERS + + +//============================================================================== +class APPCLASSNAME : public JUCEApplication +{ +public: + //============================================================================== + APPCLASSNAME() {} + + const String getApplicationName() override { return ProjectInfo::projectName; } + const String getApplicationVersion() override { return ProjectInfo::versionString; } + bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; } + + //============================================================================== + void initialise (const String& commandLine) override + { + // This method is where you should put your application's initialisation code.. + + mainWindow = new MainWindow (getApplicationName()); + } + + void shutdown() override + { + // Add your application's shutdown code here.. + + mainWindow = nullptr; // (deletes our window) + } + + //============================================================================== + void systemRequestedQuit() override + { + // This is called when the app is being asked to quit: you can ignore this + // request and let the app carry on running, or call quit() to allow the app to close. + quit(); + } + + void anotherInstanceStarted (const String& commandLine) override + { + // When another instance of the app is launched while this one is running, + // this method is invoked, and the commandLine parameter tells you what + // the other instance's command-line arguments were. + } + + //============================================================================== + /* + This class implements the desktop window that contains an instance of + our CONTENTCOMPCLASS class. + */ + class MainWindow : public DocumentWindow + { + public: + MainWindow (String name) : DocumentWindow (name, + Colours::lightgrey, + DocumentWindow::allButtons) + { + setUsingNativeTitleBar (true); + setContentOwned (new CONTENTCOMPCLASS(), true); + + centreWithSize (getWidth(), getHeight()); + setVisible (true); + } + + void closeButtonPressed() override + { + // This is called when the user tries to close this window. Here, we'll just + // ask the app to quit when this happens, but you can change this to do + // whatever you need. + JUCEApplication::getInstance()->systemRequestedQuit(); + } + + /* Note: Be careful if you override any DocumentWindow methods - the base + class uses a lot of them, so by overriding you might break its functionality. + It's best to do all your work in your content component instead, but if + you really have to override any DocumentWindow methods, make sure your + subclass also calls the superclass's method. + */ + + private: + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow) + }; + +private: + ScopedPointer mainWindow; +}; + +//============================================================================== +// This macro generates the main() routine that launches the app. +START_JUCE_APPLICATION (APPCLASSNAME) 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/Projucer/Source/BinaryData/jucer_NewInlineComponentTemplate.h b/extras/Projucer/Source/BinaryData/jucer_NewInlineComponentTemplate.h new file mode 100644 index 00000000..1e609178 --- /dev/null +++ b/extras/Projucer/Source/BinaryData/jucer_NewInlineComponentTemplate.h @@ -0,0 +1,65 @@ +/* + ============================================================================== + + FILENAME + Created: DATE + Author: AUTHOR + + ============================================================================== +*/ + +#ifndef HEADERGUARD +#define HEADERGUARD + +INCLUDE_JUCE + +//============================================================================== +/* +*/ +class COMPONENTCLASS : public Component +{ +public: + COMPONENTCLASS() + { + // In your constructor, you should add any child components, and + // initialise any special settings that your component needs. + + } + + ~COMPONENTCLASS() + { + } + + void paint (Graphics& g) override + { + /* This demo code just fills the component's background and + draws some placeholder text to get you started. + + You should replace everything in this method with your own + drawing code.. + */ + + g.fillAll (Colours::white); // clear the background + + g.setColour (Colours::grey); + g.drawRect (getLocalBounds(), 1); // draw an outline around the component + + g.setColour (Colours::lightblue); + g.setFont (14.0f); + g.drawText ("COMPONENTCLASS", getLocalBounds(), + Justification::centred, true); // draw some placeholder text + } + + void resized() override + { + // This method is where you should set the bounds of any child + // components that your component contains.. + + } + +private: + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS) +}; + + +#endif // HEADERGUARD 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 00000000..f60dbe00 --- /dev/null +++ b/extras/Projucer/Source/BinaryData/projucer_EULA.txt @@ -0,0 +1,142 @@ + +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. + +3. Fee + +3.1. You may install and use a limited version of the Software (Demo Mode). + +3.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. + +3.3. Save as set out above, your right to use the Software shall be subject to payment of the Projucer Software licence fee. + +3.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. + +3.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. + +4. Intellectual property rights + +4.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. + +4.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. + +4.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. + +5. Limited warranty + +5.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. + +5.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. + +5.3. We do not warrant that your use of the Software will be uninterrupted or error free. + +6. Limitation of liability + +6.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. + +6.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. + +6.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. + +6.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. + +6.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. + +6.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. + +6.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. + +6.8. This clause 5 shall survive and shall not be rendered ineffective by the termination or expiry of this agreement for whatever reason. + +7. Termination + +7.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. + +7.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. + +8. Communications between us + +8.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. + +8.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. + +9. Data + +9.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 [INSERT LINK TO PRIVACY POLICY]. + +10. Other important terms + +10.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. + +10.2. You may only transfer your rights or your obligations under this Licence to another person if we agree in writing. + +10.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. + +10.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. + +10.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. + +10.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. 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 00000000..4e58a319 --- /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 00000000..cab267f8 --- /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/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp b/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp new file mode 100644 index 00000000..32367158 --- /dev/null +++ b/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp @@ -0,0 +1,659 @@ +/* + ============================================================================== + + 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_SourceCodeEditor.h" +#include "../Application/jucer_Application.h" +#include "../Application/jucer_OpenDocumentManager.h" + + +//============================================================================== +SourceCodeDocument::SourceCodeDocument (Project* p, const File& f) + : modDetector (f), project (p) +{ +} + +CodeDocument& SourceCodeDocument::getCodeDocument() +{ + if (codeDoc == nullptr) + { + codeDoc = new CodeDocument(); + reloadInternal(); + codeDoc->clearUndoHistory(); + } + + return *codeDoc; +} + +Component* SourceCodeDocument::createEditor() +{ + SourceCodeEditor* e = new SourceCodeEditor (this, getCodeDocument()); + applyLastState (*(e->editor)); + return e; +} + +void SourceCodeDocument::reloadFromFile() +{ + getCodeDocument(); + reloadInternal(); +} + +void SourceCodeDocument::reloadInternal() +{ + jassert (codeDoc != nullptr); + modDetector.updateHash(); + codeDoc->applyChanges (getFile().loadFileAsString()); + codeDoc->setSavePoint(); +} + +static bool writeCodeDocToFile (const File& file, CodeDocument& doc) +{ + TemporaryFile temp (file); + + { + FileOutputStream fo (temp.getFile()); + + if (! (fo.openedOk() && doc.writeToStream (fo))) + return false; + } + + return temp.overwriteTargetFileWithTemporary(); +} + +bool SourceCodeDocument::save() +{ + if (writeCodeDocToFile (getFile(), getCodeDocument())) + { + getCodeDocument().setSavePoint(); + modDetector.updateHash(); + return true; + } + + return false; +} + +bool SourceCodeDocument::saveAs() +{ + FileChooser fc (TRANS("Save As..."), getFile(), "*"); + + if (! fc.browseForFileToSave (true)) + return true; + + return writeCodeDocToFile (fc.getResult(), getCodeDocument()); +} + +void SourceCodeDocument::updateLastState (CodeEditorComponent& editor) +{ + lastState = new CodeEditorComponent::State (editor); +} + +void SourceCodeDocument::applyLastState (CodeEditorComponent& editor) const +{ + if (lastState != nullptr) + lastState->restoreState (editor); +} + +//============================================================================== +SourceCodeEditor::SourceCodeEditor (OpenDocumentManager::Document* doc, CodeDocument& codeDocument) + : DocumentEditorComponent (doc) +{ + GenericCodeEditorComponent* ed = nullptr; + const File file (document->getFile()); + + if (fileNeedsCppSyntaxHighlighting (file)) + { + ed = new CppCodeEditorComponent (file, codeDocument); + } + else + { + CodeTokeniser* tokeniser = nullptr; + + if (file.hasFileExtension ("xml;svg")) + { + static XmlTokeniser xmlTokeniser; + tokeniser = &xmlTokeniser; + } + + if (file.hasFileExtension ("lua")) + { + static LuaTokeniser luaTokeniser; + tokeniser = &luaTokeniser; + } + + ed = new GenericCodeEditorComponent (file, codeDocument, tokeniser); + } + + setEditor (ed); +} + +SourceCodeEditor::SourceCodeEditor (OpenDocumentManager::Document* doc, GenericCodeEditorComponent* ed) + : DocumentEditorComponent (doc) +{ + setEditor (ed); +} + +SourceCodeEditor::~SourceCodeEditor() +{ + if (editor != nullptr) + editor->getDocument().removeListener (this); + + getAppSettings().appearance.settings.removeListener (this); + + if (SourceCodeDocument* doc = dynamic_cast (getDocument())) + doc->updateLastState (*editor); +} + +void SourceCodeEditor::setEditor (GenericCodeEditorComponent* newEditor) +{ + if (editor != nullptr) + editor->getDocument().removeListener (this); + + addAndMakeVisible (editor = newEditor); + + editor->setFont (AppearanceSettings::getDefaultCodeFont()); + editor->setTabSize (4, true); + + updateColourScheme(); + getAppSettings().appearance.settings.addListener (this); + + editor->getDocument().addListener (this); +} + +void SourceCodeEditor::scrollToKeepRangeOnScreen (Range range) +{ + const int space = jmin (10, editor->getNumLinesOnScreen() / 3); + const CodeDocument::Position start (editor->getDocument(), range.getStart()); + const CodeDocument::Position end (editor->getDocument(), range.getEnd()); + + editor->scrollToKeepLinesOnScreen (Range (start.getLineNumber() - space, end.getLineNumber() + space)); +} + +void SourceCodeEditor::highlight (Range range, bool cursorAtStart) +{ + scrollToKeepRangeOnScreen (range); + + if (cursorAtStart) + { + editor->moveCaretTo (CodeDocument::Position (editor->getDocument(), range.getEnd()), false); + editor->moveCaretTo (CodeDocument::Position (editor->getDocument(), range.getStart()), true); + } + else + { + editor->setHighlightedRegion (range); + } +} + +void SourceCodeEditor::resized() +{ + editor->setBounds (getLocalBounds()); +} + +void SourceCodeEditor::updateColourScheme() { getAppSettings().appearance.applyToCodeEditor (*editor); } + +void SourceCodeEditor::checkSaveState() +{ + setEditedState (getDocument()->needsSaving()); +} + +void SourceCodeEditor::valueTreePropertyChanged (ValueTree&, const Identifier&) { updateColourScheme(); } +void SourceCodeEditor::valueTreeChildAdded (ValueTree&, ValueTree&) { updateColourScheme(); } +void SourceCodeEditor::valueTreeChildRemoved (ValueTree&, ValueTree&, int) { updateColourScheme(); } +void SourceCodeEditor::valueTreeChildOrderChanged (ValueTree&, int, int) { updateColourScheme(); } +void SourceCodeEditor::valueTreeParentChanged (ValueTree&) { updateColourScheme(); } +void SourceCodeEditor::valueTreeRedirected (ValueTree&) { updateColourScheme(); } + +void SourceCodeEditor::codeDocumentTextInserted (const String&, int) { checkSaveState(); } +void SourceCodeEditor::codeDocumentTextDeleted (int, int) { checkSaveState(); } + +//============================================================================== +GenericCodeEditorComponent::GenericCodeEditorComponent (const File& f, CodeDocument& codeDocument, + CodeTokeniser* tokeniser) + : CodeEditorComponent (codeDocument, tokeniser), file (f) +{ + setCommandManager (&ProjucerApplication::getCommandManager()); +} + +GenericCodeEditorComponent::~GenericCodeEditorComponent() {} + +enum +{ + showInFinderID = 0x2fe821e3, + insertComponentID = 0x2fe821e4 +}; + +void GenericCodeEditorComponent::addPopupMenuItems (PopupMenu& menu, const MouseEvent* e) +{ + menu.addItem (showInFinderID, + #if JUCE_MAC + "Reveal " + file.getFileName() + " in Finder"); + #else + "Reveal " + file.getFileName() + " in Explorer"); + #endif + menu.addSeparator(); + + CodeEditorComponent::addPopupMenuItems (menu, e); +} + +void GenericCodeEditorComponent::performPopupMenuAction (int menuItemID) +{ + if (menuItemID == showInFinderID) + file.revealToUser(); + else + CodeEditorComponent::performPopupMenuAction (menuItemID); +} + +void GenericCodeEditorComponent::getAllCommands (Array & commands) +{ + CodeEditorComponent::getAllCommands (commands); + + const CommandID ids[] = { CommandIDs::showFindPanel, + CommandIDs::findSelection, + CommandIDs::findNext, + CommandIDs::findPrevious }; + + commands.addArray (ids, numElementsInArray (ids)); +} + +void GenericCodeEditorComponent::getCommandInfo (const CommandID commandID, ApplicationCommandInfo& result) +{ + const bool anythingSelected = isHighlightActive(); + + switch (commandID) + { + case CommandIDs::showFindPanel: + result.setInfo (TRANS ("Find"), TRANS ("Searches for text in the current document."), "Editing", 0); + result.defaultKeypresses.add (KeyPress ('f', ModifierKeys::commandModifier, 0)); + break; + + case CommandIDs::findSelection: + result.setInfo (TRANS ("Find Selection"), TRANS ("Searches for the currently selected text."), "Editing", 0); + result.setActive (anythingSelected); + result.defaultKeypresses.add (KeyPress ('l', ModifierKeys::commandModifier, 0)); + break; + + case CommandIDs::findNext: + result.setInfo (TRANS ("Find Next"), TRANS ("Searches for the next occurrence of the current search-term."), "Editing", 0); + result.defaultKeypresses.add (KeyPress ('g', ModifierKeys::commandModifier, 0)); + break; + + case CommandIDs::findPrevious: + result.setInfo (TRANS ("Find Previous"), TRANS ("Searches for the previous occurrence of the current search-term."), "Editing", 0); + result.defaultKeypresses.add (KeyPress ('g', ModifierKeys::commandModifier | ModifierKeys::shiftModifier, 0)); + result.defaultKeypresses.add (KeyPress ('d', ModifierKeys::commandModifier, 0)); + break; + + default: + CodeEditorComponent::getCommandInfo (commandID, result); + break; + } +} + +bool GenericCodeEditorComponent::perform (const InvocationInfo& info) +{ + switch (info.commandID) + { + case CommandIDs::showFindPanel: showFindPanel(); return true; + case CommandIDs::findSelection: findSelection(); return true; + case CommandIDs::findNext: findNext (true, true); return true; + case CommandIDs::findPrevious: findNext (false, false); return true; + default: break; + } + + return CodeEditorComponent::perform (info); +} + +void GenericCodeEditorComponent::addListener (GenericCodeEditorComponent::Listener* listener) +{ + listeners.add (listener); +} + +void GenericCodeEditorComponent::removeListener (GenericCodeEditorComponent::Listener* listener) +{ + listeners.remove (listener); +} + +//============================================================================== +class GenericCodeEditorComponent::FindPanel : public Component, + private TextEditor::Listener, + private ButtonListener +{ +public: + FindPanel() + : caseButton ("Case-sensitive"), + findPrev ("<"), + findNext (">") + { + editor.setColour (CaretComponent::caretColourId, Colours::black); + + addAndMakeVisible (editor); + label.setText ("Find:", dontSendNotification); + label.setColour (Label::textColourId, Colours::white); + label.attachToComponent (&editor, false); + + addAndMakeVisible (caseButton); + caseButton.setColour (ToggleButton::textColourId, Colours::white); + caseButton.setToggleState (isCaseSensitiveSearch(), dontSendNotification); + caseButton.addListener (this); + + findPrev.setConnectedEdges (Button::ConnectedOnRight); + findNext.setConnectedEdges (Button::ConnectedOnLeft); + addAndMakeVisible (findPrev); + addAndMakeVisible (findNext); + + setWantsKeyboardFocus (false); + setFocusContainer (true); + findPrev.setWantsKeyboardFocus (false); + findNext.setWantsKeyboardFocus (false); + + editor.setText (getSearchString()); + editor.addListener (this); + } + + void setCommandManager (ApplicationCommandManager* cm) + { + findPrev.setCommandToTrigger (cm, CommandIDs::findPrevious, true); + findNext.setCommandToTrigger (cm, CommandIDs::findNext, true); + } + + void paint (Graphics& g) override + { + Path outline; + outline.addRoundedRectangle (1.0f, 1.0f, getWidth() - 2.0f, getHeight() - 2.0f, 8.0f); + + g.setColour (Colours::black.withAlpha (0.6f)); + g.fillPath (outline); + g.setColour (Colours::white.withAlpha (0.8f)); + g.strokePath (outline, PathStrokeType (1.0f)); + } + + void resized() override + { + int y = 30; + editor.setBounds (10, y, getWidth() - 20, 24); + y += 30; + caseButton.setBounds (10, y, getWidth() / 2 - 10, 22); + findNext.setBounds (getWidth() - 40, y, 30, 22); + findPrev.setBounds (getWidth() - 70, y, 30, 22); + } + + void buttonClicked (Button*) override + { + setCaseSensitiveSearch (caseButton.getToggleState()); + } + + void textEditorTextChanged (TextEditor&) override + { + setSearchString (editor.getText()); + + if (GenericCodeEditorComponent* ed = getOwner()) + ed->findNext (true, false); + } + + void textEditorFocusLost (TextEditor&) override {} + + void textEditorReturnKeyPressed (TextEditor&) override + { + ProjucerApplication::getCommandManager().invokeDirectly (CommandIDs::findNext, true); + } + + void textEditorEscapeKeyPressed (TextEditor&) override + { + if (GenericCodeEditorComponent* ed = getOwner()) + ed->hideFindPanel(); + } + + GenericCodeEditorComponent* getOwner() const + { + return findParentComponentOfClass (); + } + + TextEditor editor; + Label label; + ToggleButton caseButton; + TextButton findPrev, findNext; +}; + +void GenericCodeEditorComponent::resized() +{ + CodeEditorComponent::resized(); + + if (findPanel != nullptr) + { + findPanel->setSize (jmin (260, getWidth() - 32), 100); + findPanel->setTopRightPosition (getWidth() - 16, 8); + } +} + +void GenericCodeEditorComponent::showFindPanel() +{ + if (findPanel == nullptr) + { + findPanel = new FindPanel(); + findPanel->setCommandManager (&ProjucerApplication::getCommandManager()); + + addAndMakeVisible (findPanel); + resized(); + } + + if (findPanel != nullptr) + { + findPanel->editor.grabKeyboardFocus(); + findPanel->editor.selectAll(); + } +} + +void GenericCodeEditorComponent::hideFindPanel() +{ + findPanel = nullptr; +} + +void GenericCodeEditorComponent::findSelection() +{ + const String selected (getTextInRange (getHighlightedRegion())); + + if (selected.isNotEmpty()) + { + setSearchString (selected); + findNext (true, true); + } +} + +void GenericCodeEditorComponent::findNext (bool forwards, bool skipCurrentSelection) +{ + const Range highlight (getHighlightedRegion()); + const CodeDocument::Position startPos (getDocument(), skipCurrentSelection ? highlight.getEnd() + : highlight.getStart()); + int lineNum = startPos.getLineNumber(); + int linePos = startPos.getIndexInLine(); + + const int totalLines = getDocument().getNumLines(); + const String searchText (getSearchString()); + const bool caseSensitive = isCaseSensitiveSearch(); + + for (int linesToSearch = totalLines; --linesToSearch >= 0;) + { + String line (getDocument().getLine (lineNum)); + int index; + + if (forwards) + { + index = caseSensitive ? line.indexOf (linePos, searchText) + : line.indexOfIgnoreCase (linePos, searchText); + } + else + { + if (linePos >= 0) + line = line.substring (0, linePos); + + index = caseSensitive ? line.lastIndexOf (searchText) + : line.lastIndexOfIgnoreCase (searchText); + } + + if (index >= 0) + { + const CodeDocument::Position p (getDocument(), lineNum, index); + selectRegion (p, p.movedBy (searchText.length())); + break; + } + + if (forwards) + { + linePos = 0; + lineNum = (lineNum + 1) % totalLines; + } + else + { + if (--lineNum < 0) + lineNum = totalLines - 1; + + linePos = -1; + } + } +} + +void GenericCodeEditorComponent::handleEscapeKey() +{ + CodeEditorComponent::handleEscapeKey(); + hideFindPanel(); +} + +void GenericCodeEditorComponent::editorViewportPositionChanged() +{ + CodeEditorComponent::editorViewportPositionChanged(); + listeners.call (&Listener::codeEditorViewportMoved, *this); +} + +//============================================================================== +static CPlusPlusCodeTokeniser cppTokeniser; + +CppCodeEditorComponent::CppCodeEditorComponent (const File& f, CodeDocument& doc) + : GenericCodeEditorComponent (f, doc, &cppTokeniser) +{ +} + +CppCodeEditorComponent::~CppCodeEditorComponent() {} + +void CppCodeEditorComponent::handleReturnKey() +{ + GenericCodeEditorComponent::handleReturnKey(); + + CodeDocument::Position pos (getCaretPos()); + + String blockIndent, lastLineIndent; + CodeHelpers::getIndentForCurrentBlock (pos, getTabString (getTabSize()), blockIndent, lastLineIndent); + + const String remainderOfBrokenLine (pos.getLineText()); + const int numLeadingWSChars = CodeHelpers::getLeadingWhitespace (remainderOfBrokenLine).length(); + + if (numLeadingWSChars > 0) + getDocument().deleteSection (pos, pos.movedBy (numLeadingWSChars)); + + if (remainderOfBrokenLine.trimStart().startsWithChar ('}')) + insertTextAtCaret (blockIndent); + else + insertTextAtCaret (lastLineIndent); + + const String previousLine (pos.movedByLines (-1).getLineText()); + const String trimmedPreviousLine (previousLine.trim()); + + if ((trimmedPreviousLine.startsWith ("if ") + || trimmedPreviousLine.startsWith ("if(") + || trimmedPreviousLine.startsWith ("for ") + || trimmedPreviousLine.startsWith ("for(") + || trimmedPreviousLine.startsWith ("while(") + || trimmedPreviousLine.startsWith ("while ")) + && trimmedPreviousLine.endsWithChar (')')) + { + insertTabAtCaret(); + } +} + +void CppCodeEditorComponent::insertTextAtCaret (const String& newText) +{ + if (getHighlightedRegion().isEmpty()) + { + const CodeDocument::Position pos (getCaretPos()); + + if ((newText == "{" || newText == "}") + && pos.getLineNumber() > 0 + && pos.getLineText().trim().isEmpty()) + { + moveCaretToStartOfLine (true); + + String blockIndent, lastLineIndent; + if (CodeHelpers::getIndentForCurrentBlock (pos, getTabString (getTabSize()), blockIndent, lastLineIndent)) + { + GenericCodeEditorComponent::insertTextAtCaret (blockIndent); + + if (newText == "{") + insertTabAtCaret(); + } + } + } + + GenericCodeEditorComponent::insertTextAtCaret (newText); +} + +void CppCodeEditorComponent::addPopupMenuItems (PopupMenu& menu, const MouseEvent* e) +{ + GenericCodeEditorComponent::addPopupMenuItems (menu, e); + + menu.addSeparator(); + menu.addItem (insertComponentID, TRANS("Insert code for a new Component class...")); +} + +void CppCodeEditorComponent::performPopupMenuAction (int menuItemID) +{ + if (menuItemID == insertComponentID) + insertComponentClass(); + + GenericCodeEditorComponent::performPopupMenuAction (menuItemID); +} + +void CppCodeEditorComponent::insertComponentClass() +{ + AlertWindow aw (TRANS ("Insert a new Component class"), + TRANS ("Please enter a name for the new class"), + AlertWindow::NoIcon, nullptr); + + const char* classNameField = "Class Name"; + + aw.addTextEditor (classNameField, String::empty, String::empty, false); + aw.addButton (TRANS ("Insert Code"), 1, KeyPress (KeyPress::returnKey)); + aw.addButton (TRANS ("Cancel"), 0, KeyPress (KeyPress::escapeKey)); + + while (aw.runModalLoop() != 0) + { + const String className (aw.getTextEditorContents (classNameField).trim()); + + if (className == CodeHelpers::makeValidIdentifier (className, false, true, false)) + { + String code (BinaryData::jucer_InlineComponentTemplate_h); + code = code.replace ("COMPONENTCLASS", className); + + insertTextAtCaret (code); + break; + } + } +} diff --git a/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.h b/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.h new file mode 100644 index 00000000..5106004b --- /dev/null +++ b/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.h @@ -0,0 +1,243 @@ +/* + ============================================================================== + + 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_SOURCECODEEDITOR_H_INCLUDED +#define JUCER_SOURCECODEEDITOR_H_INCLUDED + +#include "../Project/jucer_Project.h" +#include "../Application/jucer_DocumentEditorComponent.h" + + +//============================================================================== +class SourceCodeDocument : public OpenDocumentManager::Document +{ +public: + SourceCodeDocument (Project*, const File&); + + bool loadedOk() const override { return true; } + bool isForFile (const File& file) const override { return getFile() == file; } + bool isForNode (const ValueTree&) const override { return false; } + bool refersToProject (Project& p) const override { return project == &p; } + Project* getProject() const override { return project; } + String getName() const override { return getFile().getFileName(); } + String getType() const override { return getFile().getFileExtension() + " file"; } + File getFile() const override { return modDetector.getFile(); } + bool needsSaving() const override { return codeDoc != nullptr && codeDoc->hasChangedSinceSavePoint(); } + bool hasFileBeenModifiedExternally() override { return modDetector.hasBeenModified(); } + void fileHasBeenRenamed (const File& newFile) override { modDetector.fileHasBeenRenamed (newFile); } + String getState() const override { return lastState != nullptr ? lastState->toString() : String::empty; } + void restoreState (const String& state) override { lastState = new CodeEditorComponent::State (state); } + + File getCounterpartFile() const override + { + const File file (getFile()); + + if (file.hasFileExtension (sourceFileExtensions)) + { + static const char* extensions[] = { "h", "hpp", "hxx", "hh", nullptr }; + return findCounterpart (file, extensions); + } + + if (file.hasFileExtension (headerFileExtensions)) + { + static const char* extensions[] = { "cpp", "mm", "cc", "cxx", "c", "m", nullptr }; + return findCounterpart (file, extensions); + } + + return File(); + } + + static File findCounterpart (const File& file, const char** extensions) + { + while (*extensions != nullptr) + { + const File f (file.withFileExtension (*extensions++)); + + if (f.existsAsFile()) + return f; + } + + return File(); + } + + void reloadFromFile() override; + bool save() override; + bool saveAs() override; + + Component* createEditor() override; + Component* createViewer() override { return createEditor(); } + + void updateLastState (CodeEditorComponent&); + void applyLastState (CodeEditorComponent&) const; + + CodeDocument& getCodeDocument(); + + //============================================================================== + struct Type : public OpenDocumentManager::DocumentType + { + bool canOpenFile (const File& file) override + { + if (file.hasFileExtension (sourceOrHeaderFileExtensions) + || file.hasFileExtension ("txt;inc;tcc;xml;plist;rtf;html;htm;php;py;rb;cs")) + return true; + + MemoryBlock mb; + if (file.loadFileAsData (mb) + && seemsToBeText (static_cast (mb.getData()), (int) mb.getSize()) + && ! file.hasFileExtension ("svg")) + return true; + + return false; + } + + static bool seemsToBeText (const char* const chars, const int num) noexcept + { + for (int i = 0; i < num; ++i) + { + const char c = chars[i]; + if ((c < 32 && c != '\t' && c != '\r' && c != '\n') || chars[i] > 126) + return false; + } + + return true; + } + + Document* openFile (Project* p, const File& file) override { return new SourceCodeDocument (p, file); } + }; + +protected: + FileModificationDetector modDetector; + ScopedPointer codeDoc; + Project* project; + + ScopedPointer lastState; + + void reloadInternal(); +}; + +class GenericCodeEditorComponent; + +//============================================================================== +class SourceCodeEditor : public DocumentEditorComponent, + private ValueTree::Listener, + private CodeDocument::Listener +{ +public: + SourceCodeEditor (OpenDocumentManager::Document*, CodeDocument&); + SourceCodeEditor (OpenDocumentManager::Document*, GenericCodeEditorComponent*); + ~SourceCodeEditor(); + + void scrollToKeepRangeOnScreen (Range range); + void highlight (Range range, bool cursorAtStart); + + ScopedPointer editor; + +private: + void resized() override; + + void valueTreePropertyChanged (ValueTree&, const Identifier&) override; + void valueTreeChildAdded (ValueTree&, ValueTree&) override; + void valueTreeChildRemoved (ValueTree&, ValueTree&, int) override; + void valueTreeChildOrderChanged (ValueTree&, int, int) override; + void valueTreeParentChanged (ValueTree&) override; + void valueTreeRedirected (ValueTree&) override; + + void codeDocumentTextInserted (const String&, int) override; + void codeDocumentTextDeleted (int, int) override; + + void setEditor (GenericCodeEditorComponent*); + void updateColourScheme(); + void checkSaveState(); + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SourceCodeEditor) +}; + + +//============================================================================== +class GenericCodeEditorComponent : public CodeEditorComponent +{ +public: + GenericCodeEditorComponent (const File&, CodeDocument&, CodeTokeniser*); + ~GenericCodeEditorComponent(); + + void addPopupMenuItems (PopupMenu&, const MouseEvent*) override; + void performPopupMenuAction (int menuItemID) override; + + void getAllCommands (Array&) override; + void getCommandInfo (CommandID, ApplicationCommandInfo&) override; + bool perform (const InvocationInfo&) override; + + void showFindPanel(); + void hideFindPanel(); + void findSelection(); + void findNext (bool forwards, bool skipCurrentSelection); + void handleEscapeKey() override; + void editorViewportPositionChanged() override; + + void resized() override; + + static String getSearchString() { return getAppSettings().getGlobalProperties().getValue ("searchString"); } + static void setSearchString (const String& s) { getAppSettings().getGlobalProperties().setValue ("searchString", s); } + static bool isCaseSensitiveSearch() { return getAppSettings().getGlobalProperties().getBoolValue ("searchCaseSensitive"); } + static void setCaseSensitiveSearch (bool b) { getAppSettings().getGlobalProperties().setValue ("searchCaseSensitive", b); } + + struct Listener + { + virtual ~Listener() {} + virtual void codeEditorViewportMoved (CodeEditorComponent&) = 0; + }; + + void addListener (Listener* listener); + void removeListener (Listener* listener); + +private: + File file; + class FindPanel; + ScopedPointer findPanel; + ListenerList listeners; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (GenericCodeEditorComponent) +}; + +//============================================================================== +class CppCodeEditorComponent : public GenericCodeEditorComponent +{ +public: + CppCodeEditorComponent (const File&, CodeDocument&); + ~CppCodeEditorComponent(); + + void addPopupMenuItems (PopupMenu&, const MouseEvent*) override; + void performPopupMenuAction (int menuItemID) override; + + void handleReturnKey() override; + void insertTextAtCaret (const String& newText) override; + +private: + void insertComponentClass(); + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CppCodeEditorComponent) +}; + + +#endif // JUCER_SOURCECODEEDITOR_H_INCLUDED 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/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp b/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp new file mode 100644 index 00000000..f9687e78 --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp @@ -0,0 +1,577 @@ +/* + ============================================================================== + + 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 "../jucer_ObjectTypes.h" +#include "../jucer_UtilityFunctions.h" +#include "../ui/jucer_JucerCommandIDs.h" +#include "../ui/jucer_ComponentOverlayComponent.h" +#include "jucer_ComponentNameProperty.h" +#include "../properties/jucer_PositionPropertyBase.h" +#include "../properties/jucer_ComponentColourProperty.h" +#include "../ui/jucer_TestComponent.h" + +static String getTypeInfoName (const std::type_info& info) +{ + #if JUCE_MSVC + return info.raw_name(); + #else + return info.name(); + #endif +} + +//============================================================================== +ComponentTypeHandler::ComponentTypeHandler (const String& typeName_, + const String& className_, + const std::type_info& componentClass_, + const int defaultWidth_, + const int defaultHeight_) + : typeName (typeName_), + className (className_), + componentClassRawName (getTypeInfoName (componentClass_)), + defaultWidth (defaultWidth_), + defaultHeight (defaultHeight_) +{ +} + +Component* ComponentTypeHandler::createCopyOf (JucerDocument* document, Component& existing) +{ + jassert (getHandlerFor (existing) == this); + + Component* const newOne = createNewComponent (document); + ScopedPointer xml (createXmlFor (&existing, document->getComponentLayout())); + + if (xml != nullptr) + restoreFromXml (*xml, newOne, document->getComponentLayout()); + + return newOne; +} + +ComponentOverlayComponent* ComponentTypeHandler::createOverlayComponent (Component* child, ComponentLayout& layout) +{ + return new ComponentOverlayComponent (child, layout); +} + +static void dummyMenuCallback (int, int) {} + +void ComponentTypeHandler::showPopupMenu (Component*, ComponentLayout&) +{ + PopupMenu m; + + ApplicationCommandManager* commandManager = &ProjucerApplication::getCommandManager(); + + m.addCommandItem (commandManager, JucerCommandIDs::toFront); + m.addCommandItem (commandManager, JucerCommandIDs::toBack); + m.addSeparator(); + m.addCommandItem (commandManager, StandardApplicationCommandIDs::cut); + m.addCommandItem (commandManager, StandardApplicationCommandIDs::copy); + m.addCommandItem (commandManager, StandardApplicationCommandIDs::paste); + m.addCommandItem (commandManager, StandardApplicationCommandIDs::del); + + m.showMenuAsync (PopupMenu::Options(), + ModalCallbackFunction::create (dummyMenuCallback, 0)); +} + +JucerDocument* ComponentTypeHandler::findParentDocument (Component* component) +{ + Component* p = component->getParentComponent(); + + while (p != nullptr) + { + if (JucerDocumentEditor* const ed = dynamic_cast (p)) + return ed->getDocument(); + + if (TestComponent* const t = dynamic_cast (p)) + return t->getDocument(); + + p = p->getParentComponent(); + } + + return nullptr; +} + +//============================================================================== +bool ComponentTypeHandler::canHandle (Component& component) const +{ + return componentClassRawName == getTypeInfoName (typeid (component)); +} + +ComponentTypeHandler* ComponentTypeHandler::getHandlerFor (Component& component) +{ + for (int i = 0; i < ObjectTypes::numComponentTypes; ++i) + if (ObjectTypes::componentTypeHandlers[i]->canHandle (component)) + return ObjectTypes::componentTypeHandlers[i]; + + jassertfalse; + return nullptr; +} + +ComponentTypeHandler* ComponentTypeHandler::getHandlerForXmlTag (const String& tagName) +{ + for (int i = 0; i < ObjectTypes::numComponentTypes; ++i) + if (ObjectTypes::componentTypeHandlers[i]->getXmlTagName().equalsIgnoreCase (tagName)) + return ObjectTypes::componentTypeHandlers[i]; + + return nullptr; +} + +XmlElement* ComponentTypeHandler::createXmlFor (Component* comp, const ComponentLayout* layout) +{ + XmlElement* e = new XmlElement (getXmlTagName()); + + e->setAttribute ("name", comp->getName()); + e->setAttribute ("id", String::toHexString (getComponentId (comp))); + e->setAttribute ("memberName", comp->getProperties() ["memberName"].toString()); + e->setAttribute ("virtualName", comp->getProperties() ["virtualName"].toString()); + e->setAttribute ("explicitFocusOrder", comp->getExplicitFocusOrder()); + + RelativePositionedRectangle pos (getComponentPosition (comp)); + pos.updateFromComponent (*comp, layout); + pos.applyToXml (*e); + + if (SettableTooltipClient* const ttc = dynamic_cast (comp)) + if (ttc->getTooltip().isNotEmpty()) + e->setAttribute ("tooltip", ttc->getTooltip()); + + for (int i = 0; i < colours.size(); ++i) + { + if (comp->isColourSpecified (colours[i]->colourId)) + { + e->setAttribute (colours[i]->xmlTagName, + comp->findColour (colours[i]->colourId).toString()); + } + } + + return e; +} + +bool ComponentTypeHandler::restoreFromXml (const XmlElement& xml, + Component* comp, + const ComponentLayout* layout) +{ + jassert (xml.hasTagName (getXmlTagName())); + + if (! xml.hasTagName (getXmlTagName())) + return false; + + comp->setName (xml.getStringAttribute ("name", comp->getName())); + setComponentId (comp, xml.getStringAttribute ("id").getHexValue64()); + comp->getProperties().set ("memberName", xml.getStringAttribute ("memberName")); + comp->getProperties().set ("virtualName", xml.getStringAttribute ("virtualName")); + comp->setExplicitFocusOrder (xml.getIntAttribute ("explicitFocusOrder")); + + RelativePositionedRectangle currentPos (getComponentPosition (comp)); + currentPos.updateFromComponent (*comp, layout); + + RelativePositionedRectangle rpr; + rpr.restoreFromXml (xml, currentPos); + + jassert (layout != 0); + setComponentPosition (comp, rpr, layout); + + if (SettableTooltipClient* const ttc = dynamic_cast (comp)) + ttc->setTooltip (xml.getStringAttribute ("tooltip")); + + for (int i = 0; i < colours.size(); ++i) + { + const String col (xml.getStringAttribute (colours[i]->xmlTagName, String::empty)); + + if (col.isNotEmpty()) + comp->setColour (colours[i]->colourId, Colour::fromString (col)); + } + + return true; +} + +//============================================================================== +int64 ComponentTypeHandler::getComponentId (Component* comp) +{ + if (comp == nullptr) + return 0; + + int64 compId = comp->getProperties() ["jucerCompId"].toString().getHexValue64(); + + if (compId == 0) + { + compId = Random::getSystemRandom().nextInt64(); + setComponentId (comp, compId); + } + + return compId; +} + +void ComponentTypeHandler::setComponentId (Component* comp, const int64 newID) +{ + jassert (comp != nullptr); + if (newID != 0) + comp->getProperties().set ("jucerCompId", String::toHexString (newID)); +} + +RelativePositionedRectangle ComponentTypeHandler::getComponentPosition (Component* comp) +{ + RelativePositionedRectangle rp; + rp.rect = PositionedRectangle (comp->getProperties() ["pos"]); + rp.relativeToX = comp->getProperties() ["relativeToX"].toString().getHexValue64(); + rp.relativeToY = comp->getProperties() ["relativeToY"].toString().getHexValue64(); + rp.relativeToW = comp->getProperties() ["relativeToW"].toString().getHexValue64(); + rp.relativeToH = comp->getProperties() ["relativeToH"].toString().getHexValue64(); + + return rp; +} + +void ComponentTypeHandler::setComponentPosition (Component* comp, + const RelativePositionedRectangle& newPos, + const ComponentLayout* layout) +{ + comp->getProperties().set ("pos", newPos.rect.toString()); + comp->getProperties().set ("relativeToX", String::toHexString (newPos.relativeToX)); + comp->getProperties().set ("relativeToY", String::toHexString (newPos.relativeToY)); + comp->getProperties().set ("relativeToW", String::toHexString (newPos.relativeToW)); + comp->getProperties().set ("relativeToH", String::toHexString (newPos.relativeToH)); + + comp->setBounds (newPos.getRectangle (Rectangle (0, 0, comp->getParentWidth(), comp->getParentHeight()), + layout)); +} + +//============================================================================== +class TooltipProperty : public ComponentTextProperty +{ +public: + TooltipProperty (Component* comp, JucerDocument& doc) + : ComponentTextProperty ("tooltip", 1024, true, comp, doc) + { + } + + String getText() const override + { + SettableTooltipClient* ttc = dynamic_cast (component); + return ttc->getTooltip(); + } + + void setText (const String& newText) override + { + document.perform (new SetTooltipAction (component, *document.getComponentLayout(), newText), + "Change tooltip"); + } + +private: + class SetTooltipAction : public ComponentUndoableAction + { + public: + SetTooltipAction (Component* const comp, ComponentLayout& l, const String& newValue_) + : ComponentUndoableAction (comp, l), + newValue (newValue_) + { + SettableTooltipClient* ttc = dynamic_cast (comp); + jassert (ttc != nullptr); + oldValue = ttc->getTooltip(); + } + + bool perform() + { + showCorrectTab(); + + if (SettableTooltipClient* ttc = dynamic_cast (getComponent())) + { + ttc->setTooltip (newValue); + changed(); + return true; + } + + return false; + } + + bool undo() + { + showCorrectTab(); + + if (SettableTooltipClient* ttc = dynamic_cast (getComponent())) + { + ttc->setTooltip (oldValue); + changed(); + return true; + } + + return false; + } + + String newValue, oldValue; + }; +}; + +//============================================================================== +class ComponentPositionProperty : public PositionPropertyBase +{ +public: + ComponentPositionProperty (Component* comp, + JucerDocument& doc, + const String& name, + ComponentPositionDimension dimension_) + : PositionPropertyBase (comp, name, dimension_, + true, true, + doc.getComponentLayout()), + document (doc) + { + document.addChangeListener (this); + } + + ~ComponentPositionProperty() + { + document.removeChangeListener (this); + } + + void setPosition (const RelativePositionedRectangle& newPos) + { + document.getComponentLayout()->setComponentPosition (component, newPos, true); + } + + RelativePositionedRectangle getPosition() const + { + return ComponentTypeHandler::getComponentPosition (component); + } + +private: + JucerDocument& document; +}; + + +//============================================================================== +class FocusOrderProperty : public ComponentTextProperty +{ +public: + FocusOrderProperty (Component* comp, JucerDocument& doc) + : ComponentTextProperty ("focus order", 8, false, comp, doc) + { + } + + String getText() const override + { + return String (component->getExplicitFocusOrder()); + } + + void setText (const String& newText) override + { + document.perform (new SetFocusOrderAction (component, *document.getComponentLayout(), jmax (0, newText.getIntValue())), + "Change focus order"); + } + +private: + class SetFocusOrderAction : public ComponentUndoableAction + { + public: + SetFocusOrderAction (Component* const comp, ComponentLayout& l, const int newOrder_) + : ComponentUndoableAction (comp, l), + newValue (newOrder_) + { + oldValue = comp->getExplicitFocusOrder(); + } + + bool perform() + { + showCorrectTab(); + getComponent()->setExplicitFocusOrder (newValue); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + getComponent()->setExplicitFocusOrder (oldValue); + changed(); + return true; + } + + int newValue, oldValue; + }; +}; + +//============================================================================== +void ComponentTypeHandler::getEditableProperties (Component* component, + JucerDocument& document, + Array& props) +{ + props.add (new ComponentMemberNameProperty (component, document)); + props.add (new ComponentNameProperty (component, document)); + props.add (new ComponentVirtualClassProperty (component, document)); + + props.add (new ComponentPositionProperty (component, document, "x", ComponentPositionProperty::componentX)); + props.add (new ComponentPositionProperty (component, document, "y", ComponentPositionProperty::componentY)); + props.add (new ComponentPositionProperty (component, document, "width", ComponentPositionProperty::componentWidth)); + props.add (new ComponentPositionProperty (component, document, "height", ComponentPositionProperty::componentHeight)); + + if (dynamic_cast (component) != nullptr) + props.add (new TooltipProperty (component, document)); + + props.add (new FocusOrderProperty (component, document)); +} + +void ComponentTypeHandler::addPropertiesToPropertyPanel (Component* comp, JucerDocument& document, PropertyPanel& panel) +{ + Array props; + getEditableProperties (comp, document, props); + + panel.addSection (getClassName (comp), props); +} + +void ComponentTypeHandler::registerEditableColour (int colourId, + const String& colourIdCode, + const String& colourName, const String& xmlTagName) +{ + ComponentColourInfo* const c = new ComponentColourInfo(); + + c->colourId = colourId; + c->colourIdCode = colourIdCode; + c->colourName = colourName; + c->xmlTagName = xmlTagName; + + colours.add (c); +} + +void ComponentTypeHandler::addColourProperties (Component* component, + JucerDocument& document, + Array& props) +{ + for (int i = 0; i < colours.size(); ++i) + props.add (new ComponentColourIdProperty (component, document, + colours[i]->colourId, + colours[i]->colourName, + true)); +} + +String ComponentTypeHandler::getColourIntialisationCode (Component* component, + const String& objectName) +{ + String s; + + for (int i = 0; i < colours.size(); ++i) + { + if (component->isColourSpecified (colours[i]->colourId)) + { + s << objectName << "->setColour (" + << colours[i]->colourIdCode + << ", " + << CodeHelpers::colourToCode (component->findColour (colours[i]->colourId)) + << ");\n"; + } + } + + return s; +} + +//============================================================================== +void ComponentTypeHandler::fillInGeneratedCode (Component* component, GeneratedCode& code) +{ + const String memberVariableName (code.document->getComponentLayout()->getComponentMemberVariableName (component)); + + fillInMemberVariableDeclarations (code, component, memberVariableName); + fillInCreationCode (code, component, memberVariableName); + fillInDeletionCode (code, component, memberVariableName); + fillInResizeCode (code, component, memberVariableName); +} + +void ComponentTypeHandler::fillInMemberVariableDeclarations (GeneratedCode& code, Component* component, const String& memberVariableName) +{ + String clsName (component->getProperties() ["virtualName"].toString()); + + if (clsName.isNotEmpty()) + clsName = CodeHelpers::makeValidIdentifier (clsName, false, false, true); + else + clsName = getClassName (component); + + code.privateMemberDeclarations + << "ScopedPointer<" << clsName << "> " << memberVariableName << ";\n"; +} + +void ComponentTypeHandler::fillInResizeCode (GeneratedCode& code, Component* component, const String& memberVariableName) +{ + const RelativePositionedRectangle pos (getComponentPosition (component)); + + String x, y, w, h, r; + positionToCode (pos, code.document->getComponentLayout(), x, y, w, h); + + r << memberVariableName << "->setBounds (" + << x << ", " << y << ", " << w << ", " << h << ");\n"; + + if (pos.rect.isPositionAbsolute()) + code.constructorCode += r + "\n"; + else + code.getCallbackCode (String::empty, "void", "resized()", false) += r; +} + +String ComponentTypeHandler::getCreationParameters (GeneratedCode&, Component*) +{ + return String::empty; +} + +void ComponentTypeHandler::fillInCreationCode (GeneratedCode& code, Component* component, const String& memberVariableName) +{ + String params (getCreationParameters (code, component)); + const String virtualName (component->getProperties() ["virtualName"].toString()); + + String s; + s << "addAndMakeVisible (" << memberVariableName << " = new "; + + if (virtualName.isNotEmpty()) + s << CodeHelpers::makeValidIdentifier (virtualName, false, false, true); + else + s << getClassName (component); + + if (params.isEmpty()) + s << "());\n"; + else + { + StringArray lines; + lines.addLines (params); + + params = lines.joinIntoString ("\n" + String::repeatedString (" ", s.length() + 2)); + + s << " (" << params << "));\n"; + } + + if (SettableTooltipClient* ttc = dynamic_cast (component)) + { + if (ttc->getTooltip().isNotEmpty()) + { + s << memberVariableName << "->setTooltip (" + << quotedString (ttc->getTooltip(), code.shouldUseTransMacro()) + << ");\n"; + } + } + + if (component->getExplicitFocusOrder() > 0) + s << memberVariableName << "->setExplicitFocusOrder (" + << component->getExplicitFocusOrder() + << ");\n"; + + code.constructorCode += s; +} + +void ComponentTypeHandler::fillInDeletionCode (GeneratedCode& code, Component*, + const String& memberVariableName) +{ + code.destructorCode + << memberVariableName << " = nullptr;\n"; +} 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/Projucer/Source/ComponentEditor/components/jucer_GenericComponentHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_GenericComponentHandler.h new file mode 100644 index 00000000..6d4e9940 --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/components/jucer_GenericComponentHandler.h @@ -0,0 +1,232 @@ +/* + ============================================================================== + + 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 GenericComponent : public Component +{ +public: + GenericComponent() + : Component ("new component"), + actualClassName ("Component") + { + } + + void paint (Graphics& g) override + { + g.fillAll (Colours::white.withAlpha (0.25f)); + + g.setColour (Colours::black.withAlpha (0.5f)); + g.drawRect (getLocalBounds()); + g.drawLine (0.0f, 0.0f, (float) getWidth(), (float) getHeight()); + g.drawLine (0.0f, (float) getHeight(), (float) getWidth(), 0.0f); + + g.setFont (14.0f); + g.drawText (actualClassName, 0, 0, getWidth(), getHeight() / 2, Justification::centred, true); + } + + void setClassName (const String& newName) + { + if (actualClassName != newName) + { + actualClassName = newName; + repaint(); + } + } + + void setParams (const String& newParams) + { + if (constructorParams != newParams) + { + constructorParams = newParams; + repaint(); + } + } + + String actualClassName, constructorParams; +}; + +//============================================================================== +class GenericComponentHandler : public ComponentTypeHandler +{ +public: + GenericComponentHandler() + : ComponentTypeHandler ("Generic Component", "GenericComponent", typeid (GenericComponent), 150, 24) + {} + + Component* createNewComponent (JucerDocument*) + { + return new GenericComponent(); + } + + XmlElement* createXmlFor (Component* comp, const ComponentLayout* layout) + { + XmlElement* e = ComponentTypeHandler::createXmlFor (comp, layout); + e->setAttribute ("class", ((GenericComponent*) comp)->actualClassName); + e->setAttribute ("params", ((GenericComponent*) comp)->constructorParams); + + return e; + } + + bool restoreFromXml (const XmlElement& xml, Component* comp, const ComponentLayout* layout) + { + if (! ComponentTypeHandler::restoreFromXml (xml, comp, layout)) + return false; + + ((GenericComponent*) comp)->actualClassName = xml.getStringAttribute ("class", "Component"); + ((GenericComponent*) comp)->constructorParams = xml.getStringAttribute ("params", String::empty); + return true; + } + + void getEditableProperties (Component* component, JucerDocument& document, Array& props) + { + ComponentTypeHandler::getEditableProperties (component, document, props); + + props.add (new GenericCompClassProperty (dynamic_cast (component), document)); + props.add (new GenericCompParamsProperty (dynamic_cast (component), document)); + } + + String getClassName (Component* comp) const + { + return static_cast (comp)->actualClassName; + } + + String getCreationParameters (GeneratedCode&, Component* comp) + { + return static_cast (comp)->constructorParams; + } + + void fillInCreationCode (GeneratedCode& code, Component* component, const String& memberVariableName) + { + ComponentTypeHandler::fillInCreationCode (code, component, memberVariableName); + + if (component->getName().isNotEmpty()) + code.constructorCode + << memberVariableName << "->setName (" + << quotedString (component->getName(), false) + << ");\n\n"; + else + code.constructorCode << "\n"; + } + +private: + class GenericCompClassProperty : public ComponentTextProperty + { + public: + GenericCompClassProperty (GenericComponent* comp, JucerDocument& doc) + : ComponentTextProperty ("class", 300, false, comp, doc) + { + } + + void setText (const String& newText) override + { + document.perform (new GenericCompClassChangeAction (component, *document.getComponentLayout(), + CodeHelpers::makeValidIdentifier (newText, false, false, true)), + "Change generic component class"); + } + + String getText() const override + { + return component->actualClassName; + } + + private: + class GenericCompClassChangeAction : public ComponentUndoableAction + { + public: + GenericCompClassChangeAction (GenericComponent* const comp, ComponentLayout& l, const String& newState_) + : ComponentUndoableAction (comp, l), + newState (newState_) + { + oldState = comp->actualClassName; + } + + bool perform() + { + showCorrectTab(); + getComponent()->setClassName (newState); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + getComponent()->setClassName (oldState); + changed(); + return true; + } + + String newState, oldState; + }; + }; + + class GenericCompParamsProperty : public ComponentTextProperty + { + public: + GenericCompParamsProperty (GenericComponent* comp, JucerDocument& doc) + : ComponentTextProperty ("constructor params", 1024, true, comp, doc) + { + } + + void setText (const String& newText) override + { + document.perform (new GenericCompParamsChangeAction (component, *document.getComponentLayout(), newText), + "Change generic component class"); + } + + String getText() const override + { + return component->constructorParams; + } + + private: + class GenericCompParamsChangeAction : public ComponentUndoableAction + { + public: + GenericCompParamsChangeAction (GenericComponent* const comp, ComponentLayout& l, const String& newState_) + : ComponentUndoableAction (comp, l), + newState (newState_) + { + oldState = comp->constructorParams; + } + + bool perform() + { + showCorrectTab(); + getComponent()->setParams (newState); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + getComponent()->setParams (oldState); + changed(); + return true; + } + + String newState, oldState; + }; + }; +}; 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/Projucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h new file mode 100644 index 00000000..aa62953c --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h @@ -0,0 +1,272 @@ +/* + ============================================================================== + + 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_JUCERCOMPONENTHANDLER_H_INCLUDED +#define JUCER_JUCERCOMPONENTHANDLER_H_INCLUDED + +#include "../ui/jucer_TestComponent.h" +#include "../properties/jucer_FilePropertyComponent.h" +#include "../properties/jucer_ComponentTextProperty.h" +#include "jucer_ComponentUndoableAction.h" +#include "../../Project/jucer_ProjectContentComponent.h" + + +//============================================================================== +class JucerComponentHandler : public ComponentTypeHandler +{ +public: + JucerComponentHandler() + : ComponentTypeHandler ("Projucer Component", "xxx", + typeid (TestComponent), 300, 200) + {} + + Component* createNewComponent (JucerDocument* doc) + { + return new TestComponent (doc, 0, false); + } + + String getXmlTagName() const noexcept { return "JUCERCOMP"; } + + XmlElement* createXmlFor (Component* comp, const ComponentLayout* layout) + { + TestComponent* const tc = dynamic_cast (comp); + + XmlElement* e = ComponentTypeHandler::createXmlFor (comp, layout); + e->setAttribute ("sourceFile", tc->getFilename()); + e->setAttribute ("constructorParams", tc->getConstructorParams()); + + return e; + } + + bool restoreFromXml (const XmlElement& xml, Component* comp, const ComponentLayout* layout) + { + TestComponent* const tc = dynamic_cast (comp); + + if (! ComponentTypeHandler::restoreFromXml (xml, comp, layout)) + return false; + + tc->setFilename (xml.getStringAttribute ("sourceFile", tc->getFilename())); + tc->setConstructorParams (xml.getStringAttribute ("constructorParams")); + + return true; + } + + String getClassName (Component* comp) const + { + TestComponent* const tc = dynamic_cast (comp); + + String jucerCompClassName; + + if (tc->getDocument() != 0) + jucerCompClassName = tc->getDocument()->getClassName(); + + if (jucerCompClassName.isEmpty()) + jucerCompClassName = "Component"; + + return jucerCompClassName; + } + + void getEditableProperties (Component* component, JucerDocument& document, Array& props) + { + TestComponent* const tc = dynamic_cast (component); + + ComponentTypeHandler::getEditableProperties (component, document, props); + + props.add (new JucerCompFileProperty (tc, document)); + props.add (new ConstructorParamsProperty (tc, document)); + props.add (new JucerCompOpenDocProperty (tc)); + } + + String getCreationParameters (GeneratedCode&, Component* component) + { + return dynamic_cast (component)->getConstructorParams().trim(); + } + + void fillInCreationCode (GeneratedCode& code, Component* component, const String& memberVariableName) + { + ComponentTypeHandler::fillInCreationCode (code, component, memberVariableName); + + if (TestComponent* const tc = dynamic_cast (component)) + code.includeFilesH.add (tc->findFile().withFileExtension (".h")); + else + jassertfalse; + } + + //============================================================================== + class JucerCompFileChangeAction : public ComponentUndoableAction + { + public: + JucerCompFileChangeAction (TestComponent* const comp, ComponentLayout& l, const String& newState_) + : ComponentUndoableAction (comp, l), + newState (newState_) + { + oldState = comp->getFilename(); + } + + bool perform() + { + showCorrectTab(); + getComponent()->setFilename (newState); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + getComponent()->setFilename (oldState); + changed(); + return true; + } + + String newState, oldState; + }; + + static void setJucerComponentFile (JucerDocument& document, TestComponent* comp, const String& newFilename) + { + jassert (comp != nullptr); + + if (comp != nullptr) + document.perform (new JucerCompFileChangeAction (comp, *document.getComponentLayout(), newFilename), + "Change Projucer component file"); + } + +private: + //============================================================================== + class JucerCompFileProperty : public FilePropertyComponent, + public ChangeListener + { + public: + JucerCompFileProperty (TestComponent* const comp, JucerDocument& doc) + : FilePropertyComponent ("Jucer file", false, true), + component (comp), + document (doc) + { + document.addChangeListener (this); + } + + ~JucerCompFileProperty() + { + document.removeChangeListener (this); + } + + void setFile (const File& newFile) + { + setJucerComponentFile (document, component, + newFile.getRelativePathFrom (document.getCppFile().getParentDirectory()) + .replaceCharacter ('\\', '/')); + } + + File getFile() const + { + return component->findFile(); + } + + void changeListenerCallback (ChangeBroadcaster*) + { + refresh(); + } + + private: + TestComponent* const component; + JucerDocument& document; + }; + + //============================================================================== + struct JucerCompOpenDocProperty : public ButtonPropertyComponent + { + JucerCompOpenDocProperty (TestComponent* const c) + : ButtonPropertyComponent ("edit", false), + component (c) + { + } + + void buttonClicked() + { + if (ProjectContentComponent* const pcc = findParentComponentOfClass()) + pcc->showEditorForFile (component->findFile(), true); + } + + String getButtonText() const + { + return "Open file for editing"; + } + + TestComponent* const component; + }; + + //============================================================================== + struct ConstructorParamsProperty : public ComponentTextProperty + { + ConstructorParamsProperty (TestComponent* comp, JucerDocument& doc) + : ComponentTextProperty ("constructor params", 512, false, comp, doc) + { + } + + void setText (const String& newText) override + { + document.perform (new ConstructorParamChangeAction (component, *document.getComponentLayout(), newText), + "Change Viewport content constructor params"); + } + + String getText() const override + { + return component->getConstructorParams(); + } + + private: + struct ConstructorParamChangeAction : public ComponentUndoableAction + { + ConstructorParamChangeAction (TestComponent* const comp, ComponentLayout& l, const String& newValue_) + : ComponentUndoableAction (comp, l), + newValue (newValue_) + { + oldValue = comp->getConstructorParams(); + } + + bool perform() + { + showCorrectTab(); + getComponent()->setConstructorParams (newValue); + changed(); + layout.getDocument()->refreshAllPropertyComps(); + return true; + } + + bool undo() + { + showCorrectTab(); + getComponent()->setConstructorParams (oldValue); + changed(); + layout.getDocument()->refreshAllPropertyComps(); + return true; + } + + String newValue, oldValue; + }; + }; +}; + + +#endif // JUCER_JUCERCOMPONENTHANDLER_H_INCLUDED 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/Projucer/Source/ComponentEditor/components/jucer_SliderHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_SliderHandler.h new file mode 100644 index 00000000..36039850 --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/components/jucer_SliderHandler.h @@ -0,0 +1,700 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +static const Slider::SliderStyle sliderStyleTypes[] = +{ + Slider::LinearHorizontal, + Slider::LinearVertical, + Slider::LinearBar, + Slider::LinearBarVertical, + Slider::Rotary, + Slider::RotaryHorizontalDrag, + Slider::RotaryVerticalDrag, + Slider::RotaryHorizontalVerticalDrag, + Slider::IncDecButtons, + Slider::TwoValueHorizontal, + Slider::TwoValueVertical, + Slider::ThreeValueHorizontal, + Slider::ThreeValueVertical +}; + +static const Slider::TextEntryBoxPosition sliderTextBoxPositions[] = +{ + Slider::NoTextBox, + Slider::TextBoxLeft, + Slider::TextBoxRight, + Slider::TextBoxAbove, + Slider::TextBoxBelow +}; + + +struct SliderHandler : public ComponentTypeHandler +{ + SliderHandler() + : ComponentTypeHandler ("Slider", "Slider", typeid (Slider), 150, 24) + { + registerColour (Slider::backgroundColourId, "background", "bkgcol"); + registerColour (Slider::thumbColourId, "thumb", "thumbcol"); + registerColour (Slider::trackColourId, "track", "trackcol"); + registerColour (Slider::rotarySliderFillColourId, "rotary fill", "rotarysliderfill"); + registerColour (Slider::rotarySliderOutlineColourId, "rotary outln", "rotaryslideroutline"); + registerColour (Slider::textBoxTextColourId, "textbox text", "textboxtext"); + registerColour (Slider::textBoxBackgroundColourId, "textbox bkgd", "textboxbkgd"); + registerColour (Slider::textBoxHighlightColourId, "textbox highlt", "textboxhighlight"); + registerColour (Slider::textBoxOutlineColourId, "textbox outln", "textboxoutline"); + } + + Component* createNewComponent (JucerDocument*) override + { + return new Slider ("new slider"); + } + + XmlElement* createXmlFor (Component* comp, const ComponentLayout* layout) override + { + XmlElement* e = ComponentTypeHandler::createXmlFor (comp, layout); + + Slider* s = dynamic_cast (comp); + e->setAttribute ("min", s->getMinimum()); + e->setAttribute ("max", s->getMaximum()); + e->setAttribute ("int", s->getInterval()); + e->setAttribute ("style", sliderStyleToString (s->getSliderStyle())); + e->setAttribute ("textBoxPos", textBoxPosToString (s->getTextBoxPosition())); + e->setAttribute ("textBoxEditable", s->isTextBoxEditable()); + e->setAttribute ("textBoxWidth", s->getTextBoxWidth()); + e->setAttribute ("textBoxHeight", s->getTextBoxHeight()); + e->setAttribute ("skewFactor", s->getSkewFactor()); + e->setAttribute ("needsCallback", needsSliderListener (s)); + + return e; + } + + bool restoreFromXml (const XmlElement& xml, Component* comp, const ComponentLayout* layout) override + { + if (! ComponentTypeHandler::restoreFromXml (xml, comp, layout)) + return false; + + Slider* const s = dynamic_cast (comp); + + s->setRange (xml.getDoubleAttribute ("min", 0.0), + xml.getDoubleAttribute ("max", 10.0), + xml.getDoubleAttribute ("int", 0.0)); + + s->setSliderStyle (sliderStringToStyle (xml.getStringAttribute ("style", "LinearHorizontal"))); + + s->setTextBoxStyle (stringToTextBoxPos (xml.getStringAttribute ("textBoxPos", "TextBoxLeft")), + ! xml.getBoolAttribute ("textBoxEditable", true), + xml.getIntAttribute ("textBoxWidth", 80), + xml.getIntAttribute ("textBoxHeight", 20)); + + s->setSkewFactor (xml.getDoubleAttribute ("skewFactor", 1.0)); + + setNeedsSliderListener (s, xml.getBoolAttribute ("needsCallback", true)); + + return true; + } + + String getCreationParameters (GeneratedCode&, Component* component) override + { + return quotedString (component->getName(), false); + } + + void fillInCreationCode (GeneratedCode& code, Component* component, const String& memberVariableName) override + { + ComponentTypeHandler::fillInCreationCode (code, component, memberVariableName); + + Slider* const s = dynamic_cast (component); + + String r; + r << memberVariableName << "->setRange (" + << s->getMinimum() << ", " << s->getMaximum() << ", " << s->getInterval() + << ");\n" + << memberVariableName << "->setSliderStyle (Slider::" + << sliderStyleToString (s->getSliderStyle()) << ");\n" + << memberVariableName << "->setTextBoxStyle (Slider::" + << textBoxPosToString (s->getTextBoxPosition()) + << ", " << CodeHelpers::boolLiteral (! s->isTextBoxEditable()) + << ", " << s->getTextBoxWidth() << ", " << s->getTextBoxHeight() << ");\n" + << getColourIntialisationCode (component, memberVariableName); + + if (needsSliderListener (component)) + r << memberVariableName << "->addListener (this);\n"; + + if (s->getSkewFactor() != 1.0) + r << memberVariableName << "->setSkewFactor (" << s->getSkewFactor() << ");\n"; + + r << '\n'; + code.constructorCode += r; + } + + void fillInGeneratedCode (Component* component, GeneratedCode& code) override + { + ComponentTypeHandler::fillInGeneratedCode (component, code); + + if (needsSliderListener (component)) + { + String& callback = code.getCallbackCode ("public SliderListener", + "void", + "sliderValueChanged (Slider* sliderThatWasMoved)", + true); + + if (callback.isNotEmpty()) + callback << "else "; + + const String memberVariableName (code.document->getComponentLayout()->getComponentMemberVariableName (component)); + const String userCodeComment ("UserSliderCode_" + memberVariableName); + + callback + << "if (sliderThatWasMoved == " << memberVariableName + << ")\n{\n //[" << userCodeComment << "] -- add your slider handling code here..\n //[/" << userCodeComment << "]\n}\n"; + } + } + + void getEditableProperties (Component* component, JucerDocument& document, Array& props) override + { + ComponentTypeHandler::getEditableProperties (component, document, props); + + Slider* s = dynamic_cast (component); + jassert (s != 0); + + props.add (new SliderRangeProperty (s, document, "minimum", 0)); + props.add (new SliderRangeProperty (s, document, "maximum", 1)); + props.add (new SliderRangeProperty (s, document, "interval", 2)); + props.add (new SliderTypeProperty (s, document)); + props.add (new SliderTextboxProperty (s, document)); + props.add (new SliderTextboxEditableProperty (s, document)); + props.add (new SliderTextboxSizeProperty (s, document, true)); + props.add (new SliderTextboxSizeProperty (s, document, false)); + props.add (new SliderSkewProperty (s, document)); + props.add (new SliderCallbackProperty (s, document)); + + addColourProperties (component, document, props); + } + + static bool needsSliderListener (Component* slider) + { + return slider->getProperties().getWithDefault ("generateListenerCallback", true); + } + + static void setNeedsSliderListener (Component* slider, bool shouldDoCallback) + { + slider->getProperties().set ("generateListenerCallback", shouldDoCallback); + } + +private: + //============================================================================== + struct SliderTypeProperty : public ComponentChoiceProperty + { + SliderTypeProperty (Slider* slider, JucerDocument& doc) + : ComponentChoiceProperty ("type", slider, doc) + { + choices.add ("Linear Horizontal"); + choices.add ("Linear Vertical"); + choices.add ("Linear Bar Horizontal"); + choices.add ("Linear Bar Vertical"); + choices.add ("Rotary"); + choices.add ("Rotary HorizontalDrag"); + choices.add ("Rotary VerticalDrag"); + choices.add ("Rotary HorizontalVerticalDrag"); + choices.add ("Inc/Dec Buttons"); + choices.add ("Two Value Horizontal"); + choices.add ("Two Value Vertical"); + choices.add ("Three Value Horizontal"); + choices.add ("Three Value Vertical"); + } + + void setIndex (int newIndex) override + { + if (newIndex >= 0 && newIndex < numElementsInArray (sliderStyleTypes)) + document.perform (new SliderTypeChangeAction (component, *document.getComponentLayout(), + sliderStyleTypes[newIndex]), + "Change Slider style"); + } + + int getIndex() const override + { + for (int i = 0; i < numElementsInArray (sliderStyleTypes); ++i) + if (sliderStyleTypes[i] == dynamic_cast (component)->getSliderStyle()) + return i; + + return -1; + } + + private: + struct SliderTypeChangeAction : public ComponentUndoableAction + { + SliderTypeChangeAction (Slider* comp, ComponentLayout& l, Slider::SliderStyle newState_) + : ComponentUndoableAction (comp, l), + newState (newState_) + { + oldState = comp->getSliderStyle(); + } + + bool perform() override + { + showCorrectTab(); + getComponent()->setSliderStyle (newState); + changed(); + return true; + } + + bool undo() override + { + showCorrectTab(); + getComponent()->setSliderStyle (oldState); + changed(); + return true; + } + + Slider::SliderStyle newState, oldState; + }; + }; + + //============================================================================== + struct SliderTextboxProperty : public ComponentChoiceProperty + { + SliderTextboxProperty (Slider* slider, JucerDocument& doc) + : ComponentChoiceProperty ("text position", slider, doc) + { + choices.add ("No text box"); + choices.add ("Text box on left"); + choices.add ("Text box on right"); + choices.add ("Text box above"); + choices.add ("Text box below"); + } + + void setIndex (int newIndex) override + { + if (newIndex >= 0 && newIndex < numElementsInArray (sliderTextBoxPositions)) + document.perform (new SliderTextBoxChangeAction (component, *document.getComponentLayout(), + sliderTextBoxPositions[newIndex]), + "Change Slider textbox"); + } + + int getIndex() const override + { + for (int i = 0; i < numElementsInArray (sliderTextBoxPositions); ++i) + if (sliderTextBoxPositions[i] == component->getTextBoxPosition()) + return i; + + return -1; + } + + private: + struct SliderTextBoxChangeAction : public ComponentUndoableAction + { + SliderTextBoxChangeAction (Slider* comp, ComponentLayout& l, Slider::TextEntryBoxPosition newState_) + : ComponentUndoableAction (comp, l), + newState (newState_) + { + oldState = comp->getTextBoxPosition(); + } + + bool perform() override + { + showCorrectTab(); + getComponent()->setTextBoxStyle (newState, + ! getComponent()->isTextBoxEditable(), + getComponent()->getTextBoxWidth(), + getComponent()->getTextBoxHeight()); + changed(); + return true; + } + + bool undo() override + { + showCorrectTab(); + getComponent()->setTextBoxStyle (oldState, + ! getComponent()->isTextBoxEditable(), + getComponent()->getTextBoxWidth(), + getComponent()->getTextBoxHeight()); + changed(); + return true; + } + + Slider::TextEntryBoxPosition newState, oldState; + }; + }; + + //============================================================================== + struct SliderTextboxEditableProperty : public ComponentBooleanProperty + { + SliderTextboxEditableProperty (Slider* slider, JucerDocument& doc) + : ComponentBooleanProperty ("text box mode", "Editable", "Editable", slider, doc) + { + } + + void setState (bool newState) override + { + document.perform (new SliderEditableChangeAction (component, *document.getComponentLayout(), newState), + "Change Slider editability"); + } + + bool getState() const override + { + return component->isTextBoxEditable(); + } + + private: + struct SliderEditableChangeAction : public ComponentUndoableAction + { + SliderEditableChangeAction (Slider* const comp, ComponentLayout& l, bool newState_) + : ComponentUndoableAction (comp, l), + newState (newState_) + { + oldState = comp->isTextBoxEditable(); + } + + bool perform() override + { + showCorrectTab(); + getComponent()->setTextBoxIsEditable (newState); + changed(); + return true; + } + + bool undo() override + { + showCorrectTab(); + getComponent()->setTextBoxIsEditable (oldState); + changed(); + return true; + } + + bool newState, oldState; + }; + }; + + //============================================================================== + struct SliderCallbackProperty : public ComponentBooleanProperty + { + SliderCallbackProperty (Slider* s, JucerDocument& doc) + : ComponentBooleanProperty ("callback", "Generate SliderListener", + "Generate SliderListener", s, doc) + { + } + + void setState (bool newState) override + { + document.perform (new SliderCallbackChangeAction (component, *document.getComponentLayout(), newState), + "Change button callback"); + } + + bool getState() const override { return needsSliderListener (component); } + + struct SliderCallbackChangeAction : public ComponentUndoableAction + { + SliderCallbackChangeAction (Slider* comp, ComponentLayout& l, bool newState_) + : ComponentUndoableAction (comp, l), + newState (newState_) + { + oldState = needsSliderListener (comp); + } + + bool perform() override + { + showCorrectTab(); + setNeedsSliderListener (getComponent(), newState); + changed(); + return true; + } + + bool undo() override + { + showCorrectTab(); + setNeedsSliderListener (getComponent(), oldState); + changed(); + return true; + } + + bool newState, oldState; + }; + }; + + //============================================================================== + struct SliderTextboxSizeProperty : public ComponentTextProperty + { + SliderTextboxSizeProperty (Slider* slider, JucerDocument& doc, bool isWidth_) + : ComponentTextProperty (isWidth_ ? "text box width" : "text box height", + 12, false, slider, doc), + isWidth (isWidth_) + { + } + + void setText (const String& newText) override + { + document.perform (new SliderBoxSizeChangeAction (component, *document.getComponentLayout(), isWidth, newText.getIntValue()), + "Change Slider textbox size"); + } + + String getText() const override + { + return String (isWidth ? component->getTextBoxWidth() + : component->getTextBoxHeight()); + } + + private: + const bool isWidth; + + struct SliderBoxSizeChangeAction : public ComponentUndoableAction + { + SliderBoxSizeChangeAction (Slider* const comp, ComponentLayout& l, bool isWidth_, int newSize_) + : ComponentUndoableAction (comp, l), + isWidth (isWidth_), + newSize (newSize_) + { + oldSize = isWidth ? comp->getTextBoxWidth() + : comp->getTextBoxHeight(); + } + + bool perform() override + { + showCorrectTab(); + Slider& c = *getComponent(); + + if (isWidth) + c.setTextBoxStyle (c.getTextBoxPosition(), + ! c.isTextBoxEditable(), + newSize, + c.getTextBoxHeight()); + else + c.setTextBoxStyle (c.getTextBoxPosition(), + ! c.isTextBoxEditable(), + c.getTextBoxWidth(), + newSize); + changed(); + return true; + } + + bool undo() override + { + showCorrectTab(); + Slider& c = *getComponent(); + + if (isWidth) + c.setTextBoxStyle (c.getTextBoxPosition(), + ! c.isTextBoxEditable(), + oldSize, + c.getTextBoxHeight()); + else + c.setTextBoxStyle (c.getTextBoxPosition(), + ! c.isTextBoxEditable(), + c.getTextBoxWidth(), + oldSize); + changed(); + return true; + } + + bool isWidth; + int newSize, oldSize; + }; + }; + + //============================================================================== + struct SliderRangeProperty : public ComponentTextProperty + { + SliderRangeProperty (Slider* slider, JucerDocument& doc, + const String& name, int rangeParam_) + : ComponentTextProperty (name, 15, false, slider, doc), + rangeParam (rangeParam_) + { + } + + void setText (const String& newText) override + { + double state [3]; + state [0] = component->getMinimum(); + state [1] = component->getMaximum(); + state [2] = component->getInterval(); + + state [rangeParam] = newText.getDoubleValue(); + + document.perform (new SliderRangeChangeAction (component, *document.getComponentLayout(), state), + "Change Slider range"); + } + + String getText() const override + { + Slider* s = dynamic_cast (component); + jassert (s != nullptr); + + switch (rangeParam) + { + case 0: return String (s->getMinimum()); + case 1: return String (s->getMaximum()); + case 2: return String (s->getInterval()); + default: jassertfalse; break; + } + + return String(); + } + + private: + const int rangeParam; + + struct SliderRangeChangeAction : public ComponentUndoableAction + { + SliderRangeChangeAction (Slider* comp, ComponentLayout& l, const double newState_[3]) + : ComponentUndoableAction (comp, l) + { + newState[0] = newState_ [0]; + newState[1] = newState_ [1]; + newState[2] = newState_ [2]; + + oldState[0] = comp->getMinimum(); + oldState[1] = comp->getMaximum(); + oldState[2] = comp->getInterval(); + } + + bool perform() override + { + showCorrectTab(); + getComponent()->setRange (newState[0], newState[1], newState[2]); + changed(); + return true; + } + + bool undo() override + { + showCorrectTab(); + getComponent()->setRange (oldState[0], oldState[1], oldState[2]); + changed(); + return true; + } + + double newState[3], oldState[3]; + }; + }; + + //============================================================================== + struct SliderSkewProperty : public ComponentTextProperty + { + SliderSkewProperty (Slider* slider, JucerDocument& doc) + : ComponentTextProperty ("skew factor", 12, false, slider, doc) + { + } + + void setText (const String& newText) override + { + const double skew = jlimit (0.001, 1000.0, newText.getDoubleValue()); + + document.perform (new SliderSkewChangeAction (component, *document.getComponentLayout(), skew), + "Change Slider skew"); + } + + String getText() const override + { + Slider* s = dynamic_cast (component); + jassert (s != 0); + + return String (s->getSkewFactor()); + } + + struct SliderSkewChangeAction : public ComponentUndoableAction + { + SliderSkewChangeAction (Slider* comp, ComponentLayout& l, double newValue_) + : ComponentUndoableAction (comp, l) + { + newValue = newValue_; + oldValue = comp->getSkewFactor(); + } + + bool perform() override + { + showCorrectTab(); + getComponent()->setSkewFactor (newValue); + changed(); + return true; + } + + bool undo() override + { + showCorrectTab(); + getComponent()->setSkewFactor (oldValue); + changed(); + return true; + } + + double newValue, oldValue; + }; + }; + + //============================================================================== + static String sliderStyleToString (Slider::SliderStyle style) + { + switch (style) + { + case Slider::LinearHorizontal: return "LinearHorizontal"; + case Slider::LinearVertical: return "LinearVertical"; + case Slider::LinearBar: return "LinearBar"; + case Slider::LinearBarVertical: return "LinearBarVertical"; + case Slider::Rotary: return "Rotary"; + case Slider::RotaryHorizontalDrag: return "RotaryHorizontalDrag"; + case Slider::RotaryVerticalDrag: return "RotaryVerticalDrag"; + case Slider::RotaryHorizontalVerticalDrag: return "RotaryHorizontalVerticalDrag"; + case Slider::IncDecButtons: return "IncDecButtons"; + case Slider::TwoValueHorizontal: return "TwoValueHorizontal"; + case Slider::TwoValueVertical: return "TwoValueVertical"; + case Slider::ThreeValueHorizontal: return "ThreeValueHorizontal"; + case Slider::ThreeValueVertical: return "ThreeValueVertical"; + default: jassertfalse; break; + } + + return String(); + } + + static Slider::SliderStyle sliderStringToStyle (const String& s) + { + for (int i = 0; i < numElementsInArray (sliderStyleTypes); ++i) + if (s == sliderStyleToString (sliderStyleTypes[i])) + return sliderStyleTypes[i]; + + jassertfalse; + return Slider::LinearHorizontal; + } + + static String textBoxPosToString (const Slider::TextEntryBoxPosition pos) + { + switch (pos) + { + case Slider::NoTextBox: return "NoTextBox"; + case Slider::TextBoxLeft: return "TextBoxLeft"; + case Slider::TextBoxRight: return "TextBoxRight"; + case Slider::TextBoxAbove: return "TextBoxAbove"; + case Slider::TextBoxBelow: return "TextBoxBelow"; + default: jassertfalse; break; + } + + return String(); + } + + static Slider::TextEntryBoxPosition stringToTextBoxPos (const String& s) + { + for (int i = 0; i < numElementsInArray (sliderTextBoxPositions); ++i) + if (s == textBoxPosToString (sliderTextBoxPositions[i])) + return sliderTextBoxPositions[i]; + + jassertfalse; + return Slider::TextBoxLeft; + } +}; diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_TabbedComponentHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_TabbedComponentHandler.h new file mode 100644 index 00000000..37933ca7 --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/components/jucer_TabbedComponentHandler.h @@ -0,0 +1,1182 @@ +/* + ============================================================================== + + 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 TabbedComponentHandler : public ComponentTypeHandler +{ +public: + TabbedComponentHandler() + : ComponentTypeHandler ("Tabbed Component", "TabbedComponent", typeid (TabbedComponent), 200, 150) + {} + + Component* createNewComponent (JucerDocument*) + { + TabbedComponent* const t = new TabbedComponent (TabbedButtonBar::TabsAtTop); + t->setName ("new tabbed component"); + + for (int i = 3; --i >= 0;) + addNewTab (t); + + return t; + } + + XmlElement* createXmlFor (Component* comp, const ComponentLayout* layout) + { + TabbedComponent* const t = dynamic_cast (comp); + XmlElement* const e = ComponentTypeHandler::createXmlFor (comp, layout); + + if (t->getOrientation() == TabbedButtonBar::TabsAtTop) e->setAttribute ("orientation", "top"); + else if (t->getOrientation() == TabbedButtonBar::TabsAtBottom) e->setAttribute ("orientation", "bottom"); + else if (t->getOrientation() == TabbedButtonBar::TabsAtLeft) e->setAttribute ("orientation", "left"); + else if (t->getOrientation() == TabbedButtonBar::TabsAtRight) e->setAttribute ("orientation", "right"); + + e->setAttribute ("tabBarDepth", t->getTabBarDepth()); + e->setAttribute ("initialTab", t->getCurrentTabIndex()); + + for (int i = 0; i < t->getNumTabs(); ++i) + e->addChildElement (getTabState (t, i)); + + return e; + } + + bool restoreFromXml (const XmlElement& xml, Component* comp, const ComponentLayout* layout) + { + if (! ComponentTypeHandler::restoreFromXml (xml, comp, layout)) + return false; + + TabbedComponent* const t = dynamic_cast (comp); + + if (xml.getStringAttribute ("orientation") == "top") t->setOrientation (TabbedButtonBar::TabsAtTop); + else if (xml.getStringAttribute ("orientation") == "bottom") t->setOrientation (TabbedButtonBar::TabsAtBottom); + else if (xml.getStringAttribute ("orientation") == "left") t->setOrientation (TabbedButtonBar::TabsAtLeft); + else if (xml.getStringAttribute ("orientation") == "right") t->setOrientation (TabbedButtonBar::TabsAtRight); + + TabbedComponent defaultTabComp (TabbedButtonBar::TabsAtTop); + + t->setTabBarDepth (xml.getIntAttribute ("tabBarDepth", defaultTabComp.getTabBarDepth())); + + t->clearTabs(); + + forEachXmlChildElement (xml, e) + { + addNewTab (t); + restoreTabState (t, t->getNumTabs() - 1, *e); + } + + t->setCurrentTabIndex (xml.getIntAttribute ("initialTab", 0)); + + return true; + } + + void getEditableProperties (Component* component, JucerDocument& doc, Array& props) + { + ComponentTypeHandler::getEditableProperties (component, doc, props); + + TabbedComponent* const t = dynamic_cast (component); + + props.add (new TabOrientationProperty (t, doc)); + props.add (new TabDepthProperty (t, doc)); + + if (t->getNumTabs() > 0) + props.add (new TabInitialTabProperty (t, doc)); + + props.add (new TabAddTabProperty (t, doc)); + + if (t->getNumTabs() > 0) + props.add (new TabRemoveTabProperty (t, doc)); + } + + void addPropertiesToPropertyPanel (Component* comp, JucerDocument& doc, PropertyPanel& panel) + { + ComponentTypeHandler::addPropertiesToPropertyPanel (comp, doc, panel); + + TabbedComponent* const t = dynamic_cast (comp); + + for (int i = 0; i < t->getNumTabs(); ++i) + { + Array properties; + + properties.add (new TabNameProperty (t, doc, i)); + properties.add (new TabColourProperty (t, doc, i)); + + properties.add (new TabContentTypeProperty (t, doc, i)); + + if (isTabUsingJucerComp (t, i)) + properties.add (new TabJucerFileProperty (t, doc, i)); + else + properties.add (new TabContentClassProperty (t, doc, i)); + + properties.add (new TabContentConstructorParamsProperty (t, doc, i)); + + properties.add (new TabMoveProperty (t, doc, i, t->getNumTabs())); + + panel.addSection ("Tab " + String (i), properties); + } + } + + String getCreationParameters (GeneratedCode&, Component* comp) + { + TabbedComponent* const t = dynamic_cast (comp); + + switch (t->getOrientation()) + { + case TabbedButtonBar::TabsAtTop: return "TabbedButtonBar::TabsAtTop"; + case TabbedButtonBar::TabsAtBottom: return "TabbedButtonBar::TabsAtBottom"; + case TabbedButtonBar::TabsAtLeft: return "TabbedButtonBar::TabsAtLeft"; + case TabbedButtonBar::TabsAtRight: return "TabbedButtonBar::TabsAtRight"; + default: jassertfalse; break; + } + + return String::empty; + } + + void fillInCreationCode (GeneratedCode& code, Component* component, const String& memberVariableName) + { + TabbedComponent* const t = dynamic_cast (component); + + ComponentTypeHandler::fillInCreationCode (code, component, memberVariableName); + + code.constructorCode + << memberVariableName << "->setTabBarDepth (" << t->getTabBarDepth() << ");\n"; + + for (int i = 0; i < t->getNumTabs(); ++i) + { + String contentClassName; + + if (isTabUsingJucerComp (t, i)) + { + File jucerCpp = code.document->getCppFile().getSiblingFile (getTabJucerFile (t, i)); + + ScopedPointer doc (JucerDocument::createForCppFile (nullptr, jucerCpp)); + + if (doc != nullptr) + { + code.includeFilesCPP.add (jucerCpp.withFileExtension (".h")); + contentClassName = doc->getClassName(); + } + } + else + { + contentClassName = getTabClassName (t, i); + } + + code.constructorCode + << memberVariableName + << "->addTab (" + << quotedString (t->getTabNames() [i], code.shouldUseTransMacro()) + << ", " + << CodeHelpers::colourToCode (t->getTabBackgroundColour (i)); + + if (contentClassName.isNotEmpty()) + { + code.constructorCode << ", new " << contentClassName; + + if (getTabConstructorParams (t, i).trim().isNotEmpty()) + code.constructorCode << " "; + + code.constructorCode << "(" << getTabConstructorParams (t, i).trim() << "), true);\n"; + } + else + { + code.constructorCode << ", 0, false);\n"; + } + } + + code.constructorCode + << memberVariableName << "->setCurrentTabIndex (" << t->getCurrentTabIndex() << ");\n"; + + code.constructorCode << "\n"; + } + + //============================================================================== + static void addNewTab (TabbedComponent* tc, const int insertIndex = -1) + { + tc->addTab ("Tab " + String (tc->getNumTabs()), Colours::lightgrey, + new TabDemoContentComp(), true, insertIndex); + } + + //============================================================================== + static XmlElement* getTabState (TabbedComponent* tc, int tabIndex) + { + XmlElement* xml = new XmlElement ("TAB"); + xml->setAttribute ("name", tc->getTabNames() [tabIndex]); + xml->setAttribute ("colour", tc->getTabBackgroundColour (tabIndex).toString()); + + if (TabDemoContentComp* const tdc = dynamic_cast (tc->getTabContentComponent (tabIndex))) + { + xml->setAttribute ("useJucerComp", tdc->isUsingJucerComp); + xml->setAttribute ("contentClassName", tdc->contentClassName); + xml->setAttribute ("constructorParams", tdc->constructorParams); + xml->setAttribute ("jucerComponentFile", tdc->jucerComponentFile); + } + + return xml; + } + + static void restoreTabState (TabbedComponent* tc, int tabIndex, const XmlElement& xml) + { + tc->setTabName (tabIndex, xml.getStringAttribute ("name", "Tab")); + tc->setTabBackgroundColour (tabIndex, Colour::fromString (xml.getStringAttribute ("colour", Colours::lightgrey.toString()))); + + if (TabDemoContentComp* const tdc = dynamic_cast (tc->getTabContentComponent (tabIndex))) + { + tdc->isUsingJucerComp = xml.getBoolAttribute ("useJucerComp", false); + tdc->contentClassName = xml.getStringAttribute ("contentClassName"); + tdc->constructorParams = xml.getStringAttribute ("constructorParams"); + tdc->jucerComponentFile = xml.getStringAttribute ("jucerComponentFile"); + + tdc->updateContent(); + } + } + + //============================================================================== + static bool isTabUsingJucerComp (TabbedComponent* tc, int tabIndex) + { + TabDemoContentComp* const tdc = dynamic_cast (tc->getTabContentComponent (tabIndex)); + jassert (tdc != nullptr); + + return tdc != 0 && tdc->isUsingJucerComp; + } + + static void setTabUsingJucerComp (TabbedComponent* tc, int tabIndex, const bool b) + { + TabDemoContentComp* const tdc = dynamic_cast (tc->getTabContentComponent (tabIndex)); + jassert (tdc != nullptr); + + if (tdc != nullptr) + { + tdc->isUsingJucerComp = b; + tdc->updateContent(); + } + } + + static String getTabClassName (TabbedComponent* tc, int tabIndex) + { + TabDemoContentComp* const tdc = dynamic_cast (tc->getTabContentComponent (tabIndex)); + jassert (tdc != nullptr); + + return tdc != 0 ? tdc->contentClassName : String::empty; + } + + static void setTabClassName (TabbedComponent* tc, int tabIndex, const String& newName) + { + TabDemoContentComp* const tdc = dynamic_cast (tc->getTabContentComponent (tabIndex)); + jassert (tdc != nullptr); + + if (tdc != nullptr) + { + tdc->contentClassName = newName; + tdc->updateContent(); + } + } + + static String getTabConstructorParams (TabbedComponent* tc, int tabIndex) + { + TabDemoContentComp* const tdc = dynamic_cast (tc->getTabContentComponent (tabIndex)); + jassert (tdc != nullptr); + + return tdc != 0 ? tdc->constructorParams : String::empty; + } + + static void setTabConstructorParams (TabbedComponent* tc, int tabIndex, const String& newParams) + { + TabDemoContentComp* const tdc = dynamic_cast (tc->getTabContentComponent (tabIndex)); + jassert (tdc != nullptr); + + if (tdc != nullptr) + { + tdc->constructorParams = newParams; + tdc->updateContent(); + } + } + + static String getTabJucerFile (TabbedComponent* tc, int tabIndex) + { + TabDemoContentComp* const tdc = dynamic_cast (tc->getTabContentComponent (tabIndex)); + jassert (tdc != nullptr); + + return tdc != 0 ? tdc->jucerComponentFile : String::empty; + } + + static void setTabJucerFile (TabbedComponent* tc, int tabIndex, const String& newFile) + { + TabDemoContentComp* const tdc = dynamic_cast (tc->getTabContentComponent (tabIndex)); + jassert (tdc != nullptr); + + if (tdc != nullptr) + { + tdc->jucerComponentFile = newFile; + tdc->updateContent(); + } + } + +private: + //============================================================================== + class TabDemoContentComp : public Component + { + public: + TabDemoContentComp() + : isUsingJucerComp (false) + { + setSize (2048, 2048); + } + + void paint (Graphics& g) override + { + if (jucerComp == nullptr) + g.fillCheckerBoard (getLocalBounds(), 50, 50, + Colour::greyLevel (0.9f).withAlpha (0.4f), + Colour::greyLevel (0.8f).withAlpha (0.4f)); + } + + void resized() override + { + if (jucerComp != nullptr) + { + jucerComp->setBounds (getLocalBounds()); + setOpaque (jucerComp->isOpaque()); + } + } + + void updateContent() + { + if (isUsingJucerComp) + { + if (jucerComp == nullptr + || jucerComp->getOwnerDocument() == nullptr + || jucerComp->getFilename() != jucerComponentFile) + { + jucerComp = nullptr; + + jucerComp = new TestComponent (ComponentTypeHandler::findParentDocument (this), 0, false); + jucerComp->setFilename (jucerComponentFile); + jucerComp->setToInitialSize(); + + addAndMakeVisible (jucerComp); + } + } + else + { + jucerComp = nullptr; + } + + resized(); + } + + void parentHierarchyChanged() override + { + updateContent(); + } + + bool isUsingJucerComp; + String contentClassName, constructorParams; + String jucerComponentFile; + ScopedPointer jucerComp; + }; + + //============================================================================== + class TabOrientationProperty : public ComponentChoiceProperty + { + public: + TabOrientationProperty (TabbedComponent* comp, JucerDocument& doc) + : ComponentChoiceProperty ("tab position", comp, doc) + { + choices.add ("Tabs at top"); + choices.add ("Tabs at bottom"); + choices.add ("Tabs at left"); + choices.add ("Tabs at right"); + } + + void setIndex (int newIndex) + { + const TabbedButtonBar::Orientation orientations[] = { TabbedButtonBar::TabsAtTop, + TabbedButtonBar::TabsAtBottom, + TabbedButtonBar::TabsAtLeft, + TabbedButtonBar::TabsAtRight }; + + document.perform (new TabOrienationChangeAction (component, *document.getComponentLayout(), orientations [newIndex]), + "Change TabComponent orientation"); + } + + int getIndex() const + { + switch (component->getOrientation()) + { + case TabbedButtonBar::TabsAtTop: return 0; + case TabbedButtonBar::TabsAtBottom: return 1; + case TabbedButtonBar::TabsAtLeft: return 2; + case TabbedButtonBar::TabsAtRight: return 3; + default: jassertfalse; break; + } + + return 0; + } + + private: + class TabOrienationChangeAction : public ComponentUndoableAction + { + public: + TabOrienationChangeAction (TabbedComponent* const comp, ComponentLayout& l, const TabbedButtonBar::Orientation newState_) + : ComponentUndoableAction (comp, l), + newState (newState_) + { + oldState = comp->getOrientation(); + } + + bool perform() + { + showCorrectTab(); + getComponent()->setOrientation (newState); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + getComponent()->setOrientation (oldState); + changed(); + return true; + } + + TabbedButtonBar::Orientation newState, oldState; + }; + }; + + //============================================================================== + class TabInitialTabProperty : public ComponentChoiceProperty + { + public: + TabInitialTabProperty (TabbedComponent* comp, JucerDocument& doc) + : ComponentChoiceProperty ("initial tab", comp, doc) + { + for (int i = 0; i < comp->getNumTabs(); ++i) + choices.add ("Tab " + String (i) + ": \"" + comp->getTabNames() [i] + "\""); + } + + void setIndex (int newIndex) + { + document.perform (new InitialTabChangeAction (component, *document.getComponentLayout(), newIndex), + "Change initial tab"); + } + + int getIndex() const + { + return component->getCurrentTabIndex(); + } + + private: + class InitialTabChangeAction : public ComponentUndoableAction + { + public: + InitialTabChangeAction (TabbedComponent* const comp, ComponentLayout& l, const int newValue_) + : ComponentUndoableAction (comp, l), + newValue (newValue_) + { + oldValue = comp->getCurrentTabIndex(); + } + + bool perform() + { + showCorrectTab(); + getComponent()->setCurrentTabIndex (newValue); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + getComponent()->setCurrentTabIndex (oldValue); + changed(); + return true; + } + + private: + int newValue, oldValue; + }; + }; + + //============================================================================== + class TabDepthProperty : public SliderPropertyComponent, + public ChangeListener + { + public: + TabDepthProperty (TabbedComponent* comp, JucerDocument& doc) + : SliderPropertyComponent ("tab depth", 10.0, 80.0, 1.0, 1.0), + component (comp), + document (doc) + { + document.addChangeListener (this); + } + + ~TabDepthProperty() + { + document.removeChangeListener (this); + } + + void setValue (double newValue) + { + document.getUndoManager().undoCurrentTransactionOnly(); + + document.perform (new TabDepthChangeAction (component, *document.getComponentLayout(), roundToInt (newValue)), + "Change TabComponent tab depth"); + } + + double getValue() const + { + return component->getTabBarDepth(); + } + + void changeListenerCallback (ChangeBroadcaster*) + { + refresh(); + } + + TabbedComponent* const component; + JucerDocument& document; + + private: + class TabDepthChangeAction : public ComponentUndoableAction + { + public: + TabDepthChangeAction (TabbedComponent* const comp, ComponentLayout& l, const int newState_) + : ComponentUndoableAction (comp, l), + newState (newState_) + { + oldState = comp->getTabBarDepth(); + } + + bool perform() + { + showCorrectTab(); + getComponent()->setTabBarDepth (newState); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + getComponent()->setTabBarDepth (oldState); + changed(); + return true; + } + + int newState, oldState; + }; + }; + + //============================================================================== + class TabAddTabProperty : public ButtonPropertyComponent + { + public: + TabAddTabProperty (TabbedComponent* comp, JucerDocument& doc) + : ButtonPropertyComponent ("add tab", false), + component (comp), + document (doc) + { + } + + void buttonClicked() + { + document.perform (new AddTabAction (component, *document.getComponentLayout()), + "Add a new tab"); + } + + String getButtonText() const + { + return "Create a new tab"; + } + + TabbedComponent* const component; + JucerDocument& document; + + private: + class AddTabAction : public ComponentUndoableAction + { + public: + AddTabAction (TabbedComponent* const comp, ComponentLayout& l) + : ComponentUndoableAction (comp, l) + { + } + + bool perform() + { + showCorrectTab(); + addNewTab (getComponent()); + layout.getDocument()->refreshAllPropertyComps(); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + getComponent()->removeTab (getComponent()->getNumTabs() - 1); + layout.getDocument()->refreshAllPropertyComps(); + changed(); + return true; + } + }; + }; + + //============================================================================== + class TabRemoveTabProperty : public ButtonPropertyComponent + { + public: + TabRemoveTabProperty (TabbedComponent* comp, JucerDocument& doc) + : ButtonPropertyComponent ("remove tab", true), + component (comp), + document (doc) + { + } + + void buttonClicked() + { + const StringArray names (component->getTabNames()); + + PopupMenu m; + for (int i = 0; i < component->getNumTabs(); ++i) + m.addItem (i + 1, "Delete tab " + String (i) + + ": \"" + names[i] + "\""); + + const int r = m.showAt (this); + + if (r > 0) + { + document.perform (new RemoveTabAction (component, *document.getComponentLayout(), r - 1), + "Remove a tab"); + } + } + + String getButtonText() const + { + return "Delete a tab..."; + } + + TabbedComponent* const component; + JucerDocument& document; + + private: + class RemoveTabAction : public ComponentUndoableAction + { + public: + RemoveTabAction (TabbedComponent* const comp, ComponentLayout& l, int indexToRemove_) + : ComponentUndoableAction (comp, l), + indexToRemove (indexToRemove_) + { + previousState = getTabState (comp, indexToRemove); + } + + bool perform() + { + showCorrectTab(); + + getComponent()->removeTab (indexToRemove); + layout.getDocument()->refreshAllPropertyComps(); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + addNewTab (getComponent(), indexToRemove); + restoreTabState (getComponent(), indexToRemove, *previousState); + layout.getDocument()->refreshAllPropertyComps(); + changed(); + return true; + } + + private: + int indexToRemove; + ScopedPointer previousState; + }; + }; + + //============================================================================== + class TabNameProperty : public ComponentTextProperty + { + public: + TabNameProperty (TabbedComponent* comp, JucerDocument& doc, const int tabIndex_) + : ComponentTextProperty ("name", 200, false, comp, doc), + tabIndex (tabIndex_) + { + } + + void setText (const String& newText) override + { + document.perform (new TabNameChangeAction (component, *document.getComponentLayout(), tabIndex, newText), + "Change tab name"); + } + + String getText() const override + { + return component->getTabNames() [tabIndex]; + } + + private: + int tabIndex; + + class TabNameChangeAction : public ComponentUndoableAction + { + public: + TabNameChangeAction (TabbedComponent* const comp, ComponentLayout& l, const int tabIndex_, const String& newValue_) + : ComponentUndoableAction (comp, l), + tabIndex (tabIndex_), + newValue (newValue_) + { + oldValue = comp->getTabNames() [tabIndex]; + } + + bool perform() + { + showCorrectTab(); + getComponent()->setTabName (tabIndex, newValue); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + getComponent()->setTabName (tabIndex, oldValue); + changed(); + return true; + } + + private: + const int tabIndex; + String newValue, oldValue; + }; + }; + + //============================================================================== + class TabColourProperty : public JucerColourPropertyComponent, + private ChangeListener + { + public: + TabColourProperty (TabbedComponent* comp, JucerDocument& doc, const int tabIndex_) + : JucerColourPropertyComponent ("colour", false), + component (comp), + document (doc), + tabIndex (tabIndex_) + { + document.addChangeListener (this); + } + + ~TabColourProperty() + { + document.removeChangeListener (this); + } + + void setColour (Colour newColour) override + { + document.getUndoManager().undoCurrentTransactionOnly(); + + document.perform (new TabColourChangeAction (component, *document.getComponentLayout(), tabIndex, newColour), + "Change tab colour"); + } + + Colour getColour() const override + { + return component->getTabBackgroundColour (tabIndex); + } + + void resetToDefault() override + { + jassertfalse; // shouldn't get called + } + + void changeListenerCallback (ChangeBroadcaster*) override { refresh(); } + + private: + TabbedComponent* component; + JucerDocument& document; + int tabIndex; + + class TabColourChangeAction : public ComponentUndoableAction + { + public: + TabColourChangeAction (TabbedComponent* comp, ComponentLayout& l, + int tabIndex_, Colour newValue_) + : ComponentUndoableAction (comp, l), + tabIndex (tabIndex_), + newValue (newValue_) + { + oldValue = comp->getTabBackgroundColour (tabIndex); + } + + bool perform() + { + showCorrectTab(); + getComponent()->setTabBackgroundColour (tabIndex, newValue); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + getComponent()->setTabBackgroundColour (tabIndex, oldValue); + changed(); + return true; + } + + private: + const int tabIndex; + Colour newValue, oldValue; + }; + }; + + //============================================================================== + class TabContentTypeProperty : public ComponentChoiceProperty + { + public: + TabContentTypeProperty (TabbedComponent* comp, JucerDocument& doc, const int tabIndex_) + : ComponentChoiceProperty ("content type", comp, doc), + tabIndex (tabIndex_) + { + choices.add ("Jucer content component"); + choices.add ("Named content component"); + } + + void setIndex (int newIndex) + { + document.perform (new TabContentTypeChangeAction (component, *document.getComponentLayout(), tabIndex, newIndex == 0), + "Change tab content type"); + } + + int getIndex() const + { + return isTabUsingJucerComp (component, tabIndex) ? 0 : 1; + } + + private: + int tabIndex; + + class TabContentTypeChangeAction : public ComponentUndoableAction + { + public: + TabContentTypeChangeAction (TabbedComponent* const comp, ComponentLayout& l, const int tabIndex_, const bool newValue_) + : ComponentUndoableAction (comp, l), + tabIndex (tabIndex_), + newValue (newValue_) + { + oldValue = isTabUsingJucerComp (comp, tabIndex); + } + + bool perform() + { + showCorrectTab(); + setTabUsingJucerComp (getComponent(), tabIndex, newValue); + layout.getDocument()->refreshAllPropertyComps(); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + setTabUsingJucerComp (getComponent(), tabIndex, oldValue); + layout.getDocument()->refreshAllPropertyComps(); + changed(); + return true; + } + + private: + int tabIndex; + bool newValue, oldValue; + }; + }; + + //============================================================================== + class TabJucerFileProperty : public FilePropertyComponent, + public ChangeListener + { + public: + TabJucerFileProperty (TabbedComponent* const comp, JucerDocument& doc, const int tabIndex_) + : FilePropertyComponent ("jucer file", false, true), + component (comp), + document (doc), + tabIndex (tabIndex_) + { + document.addChangeListener (this); + } + + ~TabJucerFileProperty() + { + document.removeChangeListener (this); + } + + //============================================================================== + void setFile (const File& newFile) + { + document.perform (new JucerCompFileChangeAction (component, *document.getComponentLayout(), tabIndex, + newFile.getRelativePathFrom (document.getCppFile().getParentDirectory()) + .replaceCharacter ('\\', '/')), + "Change tab component file"); + } + + File getFile() const + { + return document.getCppFile().getSiblingFile (getTabJucerFile (component, tabIndex)); + } + + void changeListenerCallback (ChangeBroadcaster*) { refresh(); } + + private: + TabbedComponent* const component; + JucerDocument& document; + int tabIndex; + + class JucerCompFileChangeAction : public ComponentUndoableAction + { + public: + JucerCompFileChangeAction (TabbedComponent* const comp, ComponentLayout& l, const int tabIndex_, const String& newState_) + : ComponentUndoableAction (comp, l), + tabIndex (tabIndex_), + newState (newState_) + { + oldState = getTabJucerFile (comp, tabIndex); + } + + bool perform() + { + showCorrectTab(); + setTabJucerFile (getComponent(), tabIndex, newState); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + setTabJucerFile (getComponent(), tabIndex, oldState); + changed(); + return true; + } + + int tabIndex; + String newState, oldState; + }; + }; + + //============================================================================== + class TabContentClassProperty : public ComponentTextProperty + { + public: + TabContentClassProperty (TabbedComponent* comp, JucerDocument& doc, const int tabIndex_) + : ComponentTextProperty ("content class", 256, false, comp, doc), + tabIndex (tabIndex_) + { + } + + void setText (const String& newText) override + { + document.perform (new TabClassNameChangeAction (component, *document.getComponentLayout(), tabIndex, newText), + "Change TabbedComponent content class"); + } + + String getText() const override + { + return getTabClassName (component, tabIndex); + } + + private: + int tabIndex; + + class TabClassNameChangeAction : public ComponentUndoableAction + { + public: + TabClassNameChangeAction (TabbedComponent* const comp, ComponentLayout& l, const int tabIndex_, const String& newValue_) + : ComponentUndoableAction (comp, l), + tabIndex (tabIndex_), + newValue (newValue_) + { + oldValue = getTabClassName (comp, tabIndex); + } + + bool perform() + { + showCorrectTab(); + setTabClassName (getComponent(), tabIndex, newValue); + changed(); + layout.getDocument()->refreshAllPropertyComps(); + return true; + } + + bool undo() + { + showCorrectTab(); + setTabClassName (getComponent(), tabIndex, oldValue); + changed(); + layout.getDocument()->refreshAllPropertyComps(); + return true; + } + + int tabIndex; + String newValue, oldValue; + }; + }; + + //============================================================================== + class TabContentConstructorParamsProperty : public ComponentTextProperty + { + public: + TabContentConstructorParamsProperty (TabbedComponent* comp, JucerDocument& doc, const int tabIndex_) + : ComponentTextProperty ("constructor params", 512, false, comp, doc), + tabIndex (tabIndex_) + { + } + + void setText (const String& newText) override + { + document.perform (new TabConstructorParamChangeAction (component, *document.getComponentLayout(), tabIndex, newText), + "Change TabbedComponent content constructor param"); + } + + String getText() const override + { + return getTabConstructorParams (component, tabIndex); + } + + private: + int tabIndex; + + class TabConstructorParamChangeAction : public ComponentUndoableAction + { + public: + TabConstructorParamChangeAction (TabbedComponent* const comp, ComponentLayout& l, const int tabIndex_, const String& newValue_) + : ComponentUndoableAction (comp, l), + tabIndex (tabIndex_), + newValue (newValue_) + { + oldValue = getTabConstructorParams (comp, tabIndex); + } + + bool perform() + { + showCorrectTab(); + setTabConstructorParams (getComponent(), tabIndex, newValue); + changed(); + layout.getDocument()->refreshAllPropertyComps(); + return true; + } + + bool undo() + { + showCorrectTab(); + setTabConstructorParams (getComponent(), tabIndex, oldValue); + changed(); + layout.getDocument()->refreshAllPropertyComps(); + return true; + } + + int tabIndex; + String newValue, oldValue; + }; + }; + + //============================================================================== + class TabMoveProperty : public ButtonPropertyComponent + { + public: + TabMoveProperty (TabbedComponent* comp, JucerDocument& doc, + const int tabIndex_, const int totalNumTabs_) + : ButtonPropertyComponent ("move tab", false), + component (comp), + document (doc), + tabIndex (tabIndex_), + totalNumTabs (totalNumTabs_) + { + + } + + void buttonClicked() + { + PopupMenu m; + m.addItem (1, "Move this tab up", tabIndex > 0); + m.addItem (2, "Move this tab down", tabIndex < totalNumTabs - 1); + + const int r = m.showAt (this); + + if (r != 0) + document.perform (new MoveTabAction (component, *document.getComponentLayout(), tabIndex, tabIndex + (r == 2 ? 1 : -1)), + "Move a tab"); + } + + String getButtonText() const + { + return "Move this tab..."; + } + + TabbedComponent* const component; + JucerDocument& document; + const int tabIndex, totalNumTabs; + + private: + class MoveTabAction : public ComponentUndoableAction + { + public: + MoveTabAction (TabbedComponent* const comp, ComponentLayout& l, + const int oldIndex_, const int newIndex_) + : ComponentUndoableAction (comp, l), + oldIndex (oldIndex_), + newIndex (newIndex_) + { + } + + void move (int from, int to) + { + showCorrectTab(); + + ScopedPointer state (getTabState (getComponent(), from)); + + getComponent()->removeTab (from); + addNewTab (getComponent(), to); + + restoreTabState (getComponent(), to, *state); + + layout.getDocument()->refreshAllPropertyComps(); + changed(); + } + + bool perform() + { + move (oldIndex, newIndex); + return true; + } + + bool undo() + { + move (newIndex, oldIndex); + return true; + } + + private: + const int oldIndex, newIndex; + }; + }; +}; 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/Projucer/Source/ComponentEditor/components/jucer_ViewportHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_ViewportHandler.h new file mode 100644 index 00000000..30873433 --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/components/jucer_ViewportHandler.h @@ -0,0 +1,657 @@ +/* + ============================================================================== + + 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 ViewportHandler : public ComponentTypeHandler +{ +public: + ViewportHandler() + : ComponentTypeHandler ("Viewport", "Viewport", typeid (UpdatingViewport), 150, 150) + {} + + Component* createNewComponent (JucerDocument*) + { + Viewport* const v = new UpdatingViewport ("new viewport"); + v->setViewedComponent (new ViewportDemoContentComp()); + + return v; + } + + XmlElement* createXmlFor (Component* comp, const ComponentLayout* layout) + { + Viewport* const v = dynamic_cast (comp); + XmlElement* const e = ComponentTypeHandler::createXmlFor (comp, layout); + + e->setAttribute ("vscroll", v->isVerticalScrollBarShown()); + e->setAttribute ("hscroll", v->isHorizontalScrollBarShown()); + e->setAttribute ("scrollbarThickness", v->getScrollBarThickness()); + + e->setAttribute ("contentType", getViewportContentType (v)); + e->setAttribute ("jucerFile", getViewportJucerComponentFile (v)); + e->setAttribute ("contentClass", getViewportGenericComponentClass (v)); + e->setAttribute ("constructorParams", getViewportConstructorParams (v)); + + return e; + } + + bool restoreFromXml (const XmlElement& xml, Component* comp, const ComponentLayout* layout) + { + if (! ComponentTypeHandler::restoreFromXml (xml, comp, layout)) + return false; + + Viewport defaultViewport; + Viewport* const v = dynamic_cast (comp); + v->setScrollBarsShown (xml.getBoolAttribute ("vscroll", defaultViewport.isVerticalScrollBarShown()), + xml.getBoolAttribute ("hscroll", defaultViewport.isHorizontalScrollBarShown())); + + v->setScrollBarThickness (xml.getIntAttribute ("scrollbarThickness", defaultViewport.getScrollBarThickness())); + + setViewportJucerComponentFile (v, xml.getStringAttribute ("jucerFile", String::empty)); + setViewportGenericComponentClass (v, xml.getStringAttribute ("contentClass")); + setViewportContentType (v, xml.getIntAttribute ("contentType", 0)); + setViewportConstructorParams (v, xml.getStringAttribute ("constructorParams")); + + return true; + } + + void getEditableProperties (Component* component, JucerDocument& document, Array& props) + { + ComponentTypeHandler::getEditableProperties (component, document, props); + + Viewport* const v = dynamic_cast (component); + + props.add (new ViewportScrollbarShownProperty (v, document, true)); + props.add (new ViewportScrollbarShownProperty (v, document, false)); + props.add (new ViewportScrollbarSizeProperty (v, document)); + props.add (new ViewportContentTypeProperty (v, document)); + + if (getViewportContentType (v) == 1) + { + props.add (new ViewportJucerFileProperty (v, document)); + props.add (new ConstructorParamsProperty (v, document)); + } + else if (getViewportContentType (v) == 2) + { + props.add (new ViewportContentClassProperty (v, document)); + props.add (new ConstructorParamsProperty (v, document)); + } + } + + String getCreationParameters (GeneratedCode&, Component* comp) + { + return quotedString (comp->getName(), false); + } + + void fillInCreationCode (GeneratedCode& code, Component* component, const String& memberVariableName) + { + Viewport defaultViewport; + Viewport* const v = dynamic_cast (component); + + ComponentTypeHandler::fillInCreationCode (code, component, memberVariableName); + + if (defaultViewport.isVerticalScrollBarShown() != v->isVerticalScrollBarShown() + || defaultViewport.isHorizontalScrollBarShown() != v->isHorizontalScrollBarShown()) + { + code.constructorCode + << memberVariableName << "->setScrollBarsShown (" + << CodeHelpers::boolLiteral (v->isVerticalScrollBarShown()) << ", " + << CodeHelpers::boolLiteral (v->isHorizontalScrollBarShown()) << ");\n"; + } + + if (defaultViewport.getScrollBarThickness() != v->getScrollBarThickness()) + { + code.constructorCode + << memberVariableName << "->setScrollBarThickness (" + << v->getScrollBarThickness() << ");\n"; + } + + if (getViewportContentType (v) != 0) + { + String classNm (getViewportGenericComponentClass (v)); + + if (getViewportContentType (v) == 1) + { + File file; + + const String filename (getViewportJucerComponentFile (v)); + + if (filename.isNotEmpty()) + file = code.document->getCppFile().getSiblingFile (filename); + + ScopedPointer doc (JucerDocument::createForCppFile (nullptr, file)); + + if (doc != nullptr) + { + code.includeFilesCPP.add (doc->getHeaderFile() + .getRelativePathFrom (code.document->getCppFile().getParentDirectory()) + .replaceCharacter ('\\', '/')); + + classNm = doc->getClassName(); + } + else + { + classNm = String::empty; + } + } + + if (classNm.isNotEmpty()) + { + code.constructorCode + << memberVariableName << "->setViewedComponent (new " + << classNm; + + if (getViewportConstructorParams (v).trim().isNotEmpty()) + { + code.constructorCode << " (" << getViewportConstructorParams (v).trim() << "));\n"; + } + else + { + code.constructorCode << "());\n"; + } + } + } + + code.constructorCode << "\n"; + } + + static void updateViewportContentComp (Viewport* vp) + { + if (getViewportContentType (vp) == 1) + { + JucerDocument* doc = findParentDocument (vp); + TestComponent* tc = new TestComponent (doc, 0, false); + + tc->setFilename (getViewportJucerComponentFile (vp)); + tc->setToInitialSize(); + + vp->setViewedComponent (tc); + } + else + { + vp->setViewedComponent (new ViewportDemoContentComp()); + } + } + + static int getViewportContentType (Viewport* vp) + { + return vp->getProperties() ["contentType"]; + } + + static void setViewportContentType (Viewport* vp, int newValue) + { + if (newValue != getViewportContentType (vp)) + { + vp->getProperties().set ("contentType", newValue); + updateViewportContentComp (vp); + } + } + + static String getViewportJucerComponentFile (Viewport* vp) + { + return vp->getProperties() ["jucerFile"].toString(); + } + + static void setViewportJucerComponentFile (Viewport* vp, const String& file) + { + if (file != getViewportJucerComponentFile (vp)) + { + vp->getProperties().set ("jucerFile", file); + updateViewportContentComp (vp); + } + } + + static String getViewportGenericComponentClass (Viewport* vp) + { + return vp->getProperties() ["contentClass"].toString(); + } + + static void setViewportGenericComponentClass (Viewport* vp, const String& className) + { + if (className != getViewportGenericComponentClass (vp)) + { + vp->getProperties().set ("contentClass", className); + updateViewportContentComp (vp); + } + } + + static String getViewportConstructorParams (Viewport* vp) + { + return vp->getProperties() ["constructorParams"].toString(); + } + + static void setViewportConstructorParams (Viewport* vp, const String& newParams) + { + if (newParams != getViewportConstructorParams (vp)) + { + vp->getProperties().set ("constructorParams", newParams); + updateViewportContentComp (vp); + } + } + +private: + //============================================================================== + class UpdatingViewport : public Viewport + { + public: + UpdatingViewport (const String& name) + : Viewport (name) + { + } + + void parentHierarchyChanged() + { + Viewport::parentHierarchyChanged(); + updateViewportContentComp (this); + } + }; + + //============================================================================== + struct ViewportDemoContentComp : public Component + { + ViewportDemoContentComp() + { + setSize (2048, 2048); + } + + void paint (Graphics& g) override + { + g.fillCheckerBoard (getLocalBounds(), 50, 50, + Colours::lightgrey.withAlpha (0.5f), + Colours::darkgrey.withAlpha (0.5f)); + } + }; + + //============================================================================== + class ViewportScrollbarShownProperty : public ComponentBooleanProperty + { + public: + ViewportScrollbarShownProperty (Viewport* comp, JucerDocument& doc, const bool vertical_) + : ComponentBooleanProperty (vertical_ ? "V scrollbar" : "H scrollbar", + "enabled", "enabled", + comp, doc), + vertical (vertical_) + { + } + + void setState (bool newState) + { + document.perform (new ViewportScrollbarChangeAction (component, *document.getComponentLayout(), vertical, newState), + "Change Viewport scrollbar"); + } + + bool getState() const + { + return vertical ? component->isVerticalScrollBarShown() + : component->isHorizontalScrollBarShown(); + } + + const bool vertical; + + private: + class ViewportScrollbarChangeAction : public ComponentUndoableAction + { + public: + ViewportScrollbarChangeAction (Viewport* const comp, ComponentLayout& l, const bool vertical_, const bool newState_) + : ComponentUndoableAction (comp, l), + vertical (vertical_), + newState (newState_) + { + oldState = vertical ? comp->isVerticalScrollBarShown() + : comp->isHorizontalScrollBarShown(); + } + + bool perform() + { + showCorrectTab(); + if (vertical) + getComponent()->setScrollBarsShown (newState, getComponent()->isHorizontalScrollBarShown()); + else + getComponent()->setScrollBarsShown (getComponent()->isVerticalScrollBarShown(), newState); + + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + if (vertical) + getComponent()->setScrollBarsShown (oldState, getComponent()->isHorizontalScrollBarShown()); + else + getComponent()->setScrollBarsShown (getComponent()->isVerticalScrollBarShown(), oldState); + + changed(); + return true; + } + + bool vertical, newState, oldState; + }; + }; + + //============================================================================== + class ViewportScrollbarSizeProperty : public SliderPropertyComponent, + public ChangeListener + { + public: + ViewportScrollbarSizeProperty (Viewport* comp, JucerDocument& doc) + : SliderPropertyComponent ("scrollbar size", 3.0, 30.0, 1.0, 1.0), + component (comp), + document (doc) + { + document.addChangeListener (this); + } + + ~ViewportScrollbarSizeProperty() + { + document.removeChangeListener (this); + } + + void setValue (double newValue) + { + document.getUndoManager().undoCurrentTransactionOnly(); + + document.perform (new ViewportScrollbarSizeChangeAction (component, *document.getComponentLayout(), roundToInt (newValue)), + "Change Viewport scrollbar size"); + } + + double getValue() const + { + return component->getScrollBarThickness(); + } + + void changeListenerCallback (ChangeBroadcaster*) + { + refresh(); + } + + Viewport* component; + JucerDocument& document; + + private: + class ViewportScrollbarSizeChangeAction : public ComponentUndoableAction + { + public: + ViewportScrollbarSizeChangeAction (Viewport* const comp, ComponentLayout& l, const int newState_) + : ComponentUndoableAction (comp, l), + newState (newState_) + { + oldState = comp->getScrollBarThickness(); + } + + bool perform() + { + showCorrectTab(); + getComponent()->setScrollBarThickness (newState); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + getComponent()->setScrollBarThickness (newState); + changed(); + return true; + } + + int newState, oldState; + }; + }; + + //============================================================================== + class ViewportContentTypeProperty : public ComponentChoiceProperty + { + public: + ViewportContentTypeProperty (Viewport* comp, JucerDocument& doc) + : ComponentChoiceProperty ("content", comp, doc) + { + choices.add ("No content component"); + choices.add ("Jucer content component"); + choices.add ("Named content component"); + } + + void setIndex (int newIndex) + { + document.perform (new ViewportContentTypeChangeAction (component, *document.getComponentLayout(), newIndex), + "Change Viewport content type"); + } + + int getIndex() const + { + return getViewportContentType (component); + } + + private: + class ViewportContentTypeChangeAction : public ComponentUndoableAction + { + public: + ViewportContentTypeChangeAction (Viewport* const comp, ComponentLayout& l, const int newValue_) + : ComponentUndoableAction (comp, l), + newValue (newValue_) + { + oldValue = getViewportContentType (comp); + } + + bool perform() + { + showCorrectTab(); + setViewportContentType (getComponent(), newValue); + changed(); + layout.getDocument()->refreshAllPropertyComps(); + return true; + } + + bool undo() + { + showCorrectTab(); + setViewportContentType (getComponent(), oldValue); + changed(); + layout.getDocument()->refreshAllPropertyComps(); + return true; + } + + int newValue, oldValue; + }; + }; + + //============================================================================== + class ViewportJucerFileProperty : public FilePropertyComponent, + public ChangeListener + { + public: + ViewportJucerFileProperty (Viewport* const comp, JucerDocument& doc) + : FilePropertyComponent ("Jucer file", false, true), + component (comp), + document (doc) + { + document.addChangeListener (this); + } + + ~ViewportJucerFileProperty() + { + document.removeChangeListener (this); + } + + void setFile (const File& newFile) + { + document.perform (new JucerCompFileChangeAction (component, *document.getComponentLayout(), + newFile.getRelativePathFrom (document.getCppFile().getParentDirectory()) + .replaceCharacter ('\\', '/')), + "Change Projucer component file"); + } + + File getFile() const + { + const String filename (getViewportJucerComponentFile (component)); + + if (filename.isEmpty()) + return File::nonexistent; + + return document.getCppFile().getSiblingFile (filename); + } + + void changeListenerCallback (ChangeBroadcaster*) + { + refresh(); + } + + private: + Viewport* const component; + JucerDocument& document; + + class JucerCompFileChangeAction : public ComponentUndoableAction + { + public: + JucerCompFileChangeAction (Viewport* const comp, ComponentLayout& l, const String& newState_) + : ComponentUndoableAction (comp, l), + newState (newState_) + { + oldState = getViewportJucerComponentFile (comp); + } + + bool perform() + { + showCorrectTab(); + setViewportJucerComponentFile (getComponent(), newState); + changed(); + return true; + } + + bool undo() + { + showCorrectTab(); + setViewportJucerComponentFile (getComponent(), oldState); + changed(); + return true; + } + + String newState, oldState; + }; + }; + + //============================================================================== + class ViewportContentClassProperty : public ComponentTextProperty + { + public: + ViewportContentClassProperty (Viewport* comp, JucerDocument& doc) + : ComponentTextProperty ("content class", 256, false, comp, doc) + { + } + + void setText (const String& newText) override + { + document.perform (new ViewportClassNameChangeAction (component, *document.getComponentLayout(), newText), + "Change Viewport content class"); + } + + String getText() const override + { + return getViewportGenericComponentClass (component); + } + + private: + class ViewportClassNameChangeAction : public ComponentUndoableAction + { + public: + ViewportClassNameChangeAction (Viewport* const comp, ComponentLayout& l, const String& newValue_) + : ComponentUndoableAction (comp, l), + newValue (newValue_) + { + oldValue = getViewportGenericComponentClass (comp); + } + + bool perform() + { + showCorrectTab(); + setViewportGenericComponentClass (getComponent(), newValue); + changed(); + layout.getDocument()->refreshAllPropertyComps(); + return true; + } + + bool undo() + { + showCorrectTab(); + setViewportGenericComponentClass (getComponent(), oldValue); + changed(); + layout.getDocument()->refreshAllPropertyComps(); + return true; + } + + String newValue, oldValue; + }; + }; + + //============================================================================== + class ConstructorParamsProperty : public ComponentTextProperty + { + public: + ConstructorParamsProperty (Viewport* comp, JucerDocument& doc) + : ComponentTextProperty ("constructor params", 512, false, comp, doc) + { + } + + void setText (const String& newText) override + { + document.perform (new ConstructorParamChangeAction (component, *document.getComponentLayout(), newText), + "Change Viewport content constructor params"); + } + + String getText() const override + { + return getViewportConstructorParams (component); + } + + private: + class ConstructorParamChangeAction : public ComponentUndoableAction + { + public: + ConstructorParamChangeAction (Viewport* const comp, ComponentLayout& l, const String& newValue_) + : ComponentUndoableAction (comp, l), + newValue (newValue_) + { + oldValue = getViewportConstructorParams (comp); + } + + bool perform() + { + showCorrectTab(); + setViewportConstructorParams (getComponent(), newValue); + changed(); + layout.getDocument()->refreshAllPropertyComps(); + return true; + } + + bool undo() + { + showCorrectTab(); + setViewportConstructorParams (getComponent(), oldValue); + changed(); + layout.getDocument()->refreshAllPropertyComps(); + return true; + } + + String newValue, oldValue; + }; + }; +}; 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/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.cpp b/extras/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.cpp new file mode 100644 index 00000000..2ade1ed8 --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.cpp @@ -0,0 +1,166 @@ +/* + ============================================================================== + + 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_ComponentDocument.h" + + +//============================================================================== +ComponentDocument::ComponentDocument (SourceCodeDocument* c) + : JucerDocument (c) +{ + components = new ComponentLayout(); + components->setDocument (this); + + backgroundGraphics = new PaintRoutine(); + backgroundGraphics->setDocument (this); +} + +ComponentDocument::~ComponentDocument() +{ +} + +//============================================================================== +String ComponentDocument::getTypeName() const +{ + return "Component"; +} + +JucerDocument* ComponentDocument::createCopy() +{ + ComponentDocument* newOne = new ComponentDocument (cpp); + + newOne->resources = resources; + + ScopedPointer xml (createXml()); + newOne->loadFromXml (*xml); + + return newOne; +} + +XmlElement* ComponentDocument::createXml() const +{ + XmlElement* const doc = JucerDocument::createXml(); + + doc->addChildElement (backgroundGraphics->createXml()); + components->addToXml (*doc); + + return doc; +} + +bool ComponentDocument::loadFromXml (const XmlElement& xml) +{ + if (JucerDocument::loadFromXml (xml)) + { + components->clearComponents(); + + forEachXmlChildElement (xml, e) + { + if (e->hasTagName (PaintRoutine::xmlTagName)) + backgroundGraphics->loadFromXml (*e); + else + components->addComponentFromXml (*e, false); + } + + changed(); + getUndoManager().clearUndoHistory(); + return true; + } + + return false; +} + +//============================================================================== +class NormalTestComponent : public Component +{ +public: + NormalTestComponent (ComponentDocument* const doc, const bool fillBackground) + : document (doc), + alwaysFillBackground (fillBackground) + { + ComponentLayout* const layout = document->getComponentLayout(); + + for (int i = 0; i < layout->getNumComponents(); ++i) + addAndMakeVisible (layout->getComponent (i)); + } + + ~NormalTestComponent() + { + for (int i = getNumChildComponents(); --i >= 0;) + removeChildComponent (i); + } + + void paint (Graphics& g) override + { + document->getPaintRoutine (0)->fillWithBackground (g, alwaysFillBackground); + document->getPaintRoutine (0)->drawElements (g, getLocalBounds()); + } + + void resized() override + { + if (! getBounds().isEmpty()) + { + int numTimesToTry = 10; + + while (--numTimesToTry >= 0) + { + bool anyCompsMoved = false; + + for (int i = 0; i < getNumChildComponents(); ++i) + { + Component* comp = getChildComponent (i); + + if (ComponentTypeHandler* const type = ComponentTypeHandler::getHandlerFor (*comp)) + { + const Rectangle newBounds (type->getComponentPosition (comp) + .getRectangle (getLocalBounds(), + document->getComponentLayout())); + + anyCompsMoved = anyCompsMoved || (comp->getBounds() != newBounds); + comp->setBounds (newBounds); + } + } + + // repeat this loop until they've all stopped shuffling (might require a few + // loops for all the relative positioned comps to settle down) + if (! anyCompsMoved) + break; + } + } + } + +private: + ComponentDocument* const document; + const bool alwaysFillBackground; +}; + +Component* ComponentDocument::createTestComponent (const bool alwaysFillBackground) +{ + return new NormalTestComponent (this, alwaysFillBackground); +} + +void ComponentDocument::fillInGeneratedCode (GeneratedCode& code) const +{ + JucerDocument::fillInGeneratedCode (code); +} 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/Projucer/Source/ComponentEditor/jucer_GeneratedCode.cpp b/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.cpp new file mode 100644 index 00000000..7f96314f --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.cpp @@ -0,0 +1,358 @@ +/* + ============================================================================== + + 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_GeneratedCode.h" +#include "jucer_JucerDocument.h" + +//============================================================================== +GeneratedCode::GeneratedCode (const JucerDocument* const doc) + : document (doc), suffix (0) +{ +} + +GeneratedCode::~GeneratedCode() +{ +} + +int GeneratedCode::getUniqueSuffix() +{ + return ++suffix; +} + +//============================================================================== +String& GeneratedCode::getCallbackCode (const String& requiredParentClass, + const String& returnType, + const String& prototype, + const bool hasPrePostUserSections) +{ + String parentClass (requiredParentClass); + if (parentClass.isNotEmpty() + && ! (parentClass.startsWith ("public ") + || parentClass.startsWith ("private ") + || parentClass.startsWith ("protected "))) + { + parentClass = "public " + parentClass; + } + + for (int i = callbacks.size(); --i >= 0;) + { + CallbackMethod* const cm = callbacks.getUnchecked(i); + + if (cm->requiredParentClass == parentClass + && cm->returnType == returnType + && cm->prototype == prototype) + return cm->content; + } + + CallbackMethod* const cm = new CallbackMethod(); + callbacks.add (cm); + + cm->requiredParentClass = parentClass; + cm->returnType = returnType; + cm->prototype = prototype; + cm->hasPrePostUserSections = hasPrePostUserSections; + return cm->content; +} + +void GeneratedCode::removeCallback (const String& returnType, const String& prototype) +{ + for (int i = callbacks.size(); --i >= 0;) + { + CallbackMethod* const cm = callbacks.getUnchecked(i); + + if (cm->returnType == returnType && cm->prototype == prototype) + callbacks.remove (i); + } +} + +void GeneratedCode::addImageResourceLoader (const String& imageMemberName, const String& resourceName) +{ + privateMemberDeclarations + << "Image " << imageMemberName << ";\n"; + + if (resourceName.isNotEmpty()) + constructorCode << imageMemberName << " = ImageCache::getFromMemory (" + << resourceName << ", " << resourceName << "Size);\n"; +} + +StringArray GeneratedCode::getExtraParentClasses() const +{ + StringArray s; + + for (int i = 0; i < callbacks.size(); ++i) + { + CallbackMethod* const cm = callbacks.getUnchecked(i); + s.add (cm->requiredParentClass); + } + + return s; +} + +String GeneratedCode::getCallbackDeclarations() const +{ + String s; + + for (int i = 0; i < callbacks.size(); ++i) + { + CallbackMethod* const cm = callbacks.getUnchecked(i); + + s << cm->returnType << " " << cm->prototype << " override;\n"; + } + + return s; +} + +String GeneratedCode::getCallbackDefinitions() const +{ + String s; + + for (int i = 0; i < callbacks.size(); ++i) + { + CallbackMethod* const cm = callbacks.getUnchecked(i); + + const String userCodeBlockName ("User" + + CodeHelpers::makeValidIdentifier (cm->prototype.upToFirstOccurrenceOf ("(", false, false), + true, true, false).trim()); + + if (userCodeBlockName.isNotEmpty() && cm->hasPrePostUserSections) + { + s << cm->returnType << " " << className << "::" << cm->prototype + << "\n{\n //[" << userCodeBlockName << "_Pre]\n //[/" << userCodeBlockName + << "_Pre]\n\n " + << CodeHelpers::indent (cm->content.trim(), 4, false) + << "\n\n //[" << userCodeBlockName << "_Post]\n //[/" << userCodeBlockName + << "_Post]\n}\n\n"; + } + else + { + s << cm->returnType << " " << className << "::" << cm->prototype + << "\n{\n " + << CodeHelpers::indent (cm->content.trim(), 4, false) + << "\n}\n\n"; + } + } + + return s; +} + +//============================================================================== +String GeneratedCode::getClassDeclaration() const +{ + StringArray parentClassLines; + parentClassLines.addTokens (parentClasses, ",", StringRef()); + parentClassLines.addArray (getExtraParentClasses()); + + parentClassLines = getCleanedStringArray (parentClassLines); + + if (parentClassLines.contains ("public Button", false)) + parentClassLines.removeString ("public Component", false); + + String r ("class "); + r << className << " : "; + + r += parentClassLines.joinIntoString (",\n" + String::repeatedString (" ", r.length())); + + return r; +} + +String GeneratedCode::getInitialiserList() const +{ + StringArray inits (initialisers); + + if (parentClassInitialiser.isNotEmpty()) + inits.insert (0, parentClassInitialiser); + + inits = getCleanedStringArray (inits); + + String s; + + if (inits.size() == 0) + return s; + + s << " : "; + + for (int i = 0; i < inits.size(); ++i) + { + String init (inits[i]); + + while (init.endsWithChar (',')) + init = init.dropLastCharacters (1); + + s << init; + + if (i < inits.size() - 1) + s << ",\n "; + else + s << "\n"; + } + + return s; +} + +static String getIncludeFileCode (const Array& files, const File& targetFile) +{ + String s; + + for (int i = 0; i < files.size(); ++i) + s << CodeHelpers::createIncludeStatement (files.getReference(i), targetFile) << newLine; + + return s; +} + +bool GeneratedCode::shouldUseTransMacro() const noexcept +{ + return document->shouldUseTransMacro(); +} + +//============================================================================== +static void replaceTemplate (String& text, const String& itemName, const String& value) +{ + for (;;) + { + const int index = text.indexOf ("%%" + itemName + "%%"); + + if (index < 0) + break; + + int indentLevel = 0; + + for (int i = index; --i >= 0;) + { + if (text[i] == '\n') + break; + + ++indentLevel; + } + + text = text.replaceSection (index, itemName.length() + 4, + CodeHelpers::indent (value, indentLevel, false)); + } +} + +//============================================================================== +static bool getUserSection (const StringArray& lines, const String& tag, StringArray& resultLines) +{ + const int start = indexOfLineStartingWith (lines, "//[" + tag + "]", 0); + + if (start < 0) + return false; + + const int end = indexOfLineStartingWith (lines, "//[/" + tag + "]", start + 1); + + for (int i = start + 1; i < end; ++i) + resultLines.add (lines [i]); + + return true; +} + +static void copyAcrossUserSections (String& dest, const String& src) +{ + StringArray srcLines, dstLines; + srcLines.addLines (src); + dstLines.addLines (dest); + + for (int i = 0; i < dstLines.size(); ++i) + { + if (dstLines[i].trimStart().startsWith ("//[")) + { + String tag (dstLines[i].trimStart().substring (3)); + tag = tag.upToFirstOccurrenceOf ("]", false, false); + + jassert (! tag.startsWithChar ('/')); + + if (! tag.startsWithChar ('/')) + { + const int endLine = indexOfLineStartingWith (dstLines, + "//[/" + tag + "]", + i + 1); + + if (endLine > i) + { + StringArray sourceLines; + + if (getUserSection (srcLines, tag, sourceLines)) + { + for (int j = endLine - i; --j > 0;) + dstLines.remove (i + 1); + + for (int j = 0; j < sourceLines.size(); ++j) + dstLines.insert (++i, sourceLines [j].trimEnd()); + + ++i; + } + else + { + i = endLine; + } + } + } + } + + dstLines.set (i, dstLines[i].trimEnd()); + } + + dest = dstLines.joinIntoString ("\n") + "\n"; +} + +//============================================================================== +void GeneratedCode::applyToCode (String& code, + const File& targetFile, + const String& oldFileWithUserData, + Project* project) const +{ + // header guard.. + String headerGuard ("__JUCE_HEADER_"); + headerGuard << String::toHexString ((className + "xx" + targetFile.getFileNameWithoutExtension()).hashCode64()).toUpperCase() << "__"; + replaceTemplate (code, "headerGuard", headerGuard); + + replaceTemplate (code, "version", JUCEApplicationBase::getInstance()->getApplicationVersion()); + replaceTemplate (code, "creationTime", Time::getCurrentTime().toString (true, true, true)); + + replaceTemplate (code, "className", className); + replaceTemplate (code, "constructorParams", constructorParams); + replaceTemplate (code, "initialisers", getInitialiserList()); + + replaceTemplate (code, "classDeclaration", getClassDeclaration()); + replaceTemplate (code, "privateMemberDeclarations", privateMemberDeclarations); + replaceTemplate (code, "publicMemberDeclarations", getCallbackDeclarations() + newLine + publicMemberDeclarations); + + replaceTemplate (code, "methodDefinitions", getCallbackDefinitions()); + + File juceHeaderFile = project != nullptr ? project->getAppIncludeFile() + : targetFile.getSiblingFile ("JuceHeader.h"); + + replaceTemplate (code, "includeJUCEHeader", CodeHelpers::createIncludeStatement (juceHeaderFile, targetFile)); + + replaceTemplate (code, "includeFilesH", getIncludeFileCode (includeFilesH, targetFile)); + replaceTemplate (code, "includeFilesCPP", getIncludeFileCode (includeFilesCPP, targetFile)); + + replaceTemplate (code, "constructor", constructorCode); + replaceTemplate (code, "destructor", destructorCode); + + replaceTemplate (code, "metadata", jucerMetadata); + replaceTemplate (code, "staticMemberDefinitions", staticMemberDefinitions); + + copyAcrossUserSections (code, oldFileWithUserData); +} diff --git a/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.h b/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.h new file mode 100644 index 00000000..89d96fed --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.h @@ -0,0 +1,103 @@ +/* + ============================================================================== + + 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_GENERATEDCODE_H_INCLUDED +#define JUCER_GENERATEDCODE_H_INCLUDED + +#include "../Project/jucer_Project.h" +class JucerDocument; + + +//============================================================================== +/** + A class for collecting the various snippets of c++ that will be assembled into + the final cpp and header files. +*/ +class GeneratedCode +{ +public: + GeneratedCode (const JucerDocument*); + ~GeneratedCode(); + + //============================================================================== + void applyToCode (String& code, + const File& targetFile, + const String& oldFileWithUserData, + Project* project) const; + + int getUniqueSuffix(); + + //============================================================================== + const JucerDocument* const document; + + String className; + String componentName; + String parentClassInitialiser; // optional parent class initialiser to go before the items in the initialisers list + StringArray initialisers; // (a list of the member variables that need initalising after the constructor declaration) + String parentClasses; + String constructorParams; + String privateMemberDeclarations; + String publicMemberDeclarations; + Array includeFilesH, includeFilesCPP; + String constructorCode; + String destructorCode; + String staticMemberDefinitions; + String jucerMetadata; + + struct CallbackMethod + { + String requiredParentClass; + String returnType; + String prototype; + String content; + bool hasPrePostUserSections; + }; + + OwnedArray callbacks; + + String& getCallbackCode (const String& requiredParentClass, + const String& returnType, + const String& prototype, + const bool hasPrePostUserSections); + + void removeCallback (const String& returnType, const String& prototype); + + void addImageResourceLoader (const String& imageMemberName, const String& resourceName); + + String getCallbackDeclarations() const; + String getCallbackDefinitions() const; + StringArray getExtraParentClasses() const; + + bool shouldUseTransMacro() const noexcept; + +private: + String getClassDeclaration() const; + String getInitialiserList() const; + int suffix; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (GeneratedCode) +}; + + +#endif // JUCER_GENERATEDCODE_H_INCLUDED diff --git a/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp new file mode 100644 index 00000000..d3f95499 --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp @@ -0,0 +1,769 @@ +/* + ============================================================================== + + 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 "../Wizards/jucer_NewFileWizard.h" +#include "jucer_JucerDocument.h" +#include "jucer_ObjectTypes.h" +#include "ui/jucer_JucerDocumentEditor.h" +#include "ui/jucer_TestComponent.h" +#include "jucer_UtilityFunctions.h" +#include "documents/jucer_ComponentDocument.h" +#include "documents/jucer_ButtonDocument.h" + +const char* const defaultClassName = "NewComponent"; +const char* const defaultParentClasses = "public Component"; + +//============================================================================== +JucerDocument::JucerDocument (SourceCodeDocument* c) + : cpp (c), + className (defaultClassName), + parentClasses (defaultParentClasses), + fixedSize (false), + initialWidth (600), + initialHeight (400), + snapGridPixels (8), + snapActive (true), + snapShown (true), + componentOverlayOpacity (0.33f) +{ + jassert (cpp != nullptr); + resources.setDocument (this); + + ProjucerApplication::getCommandManager().commandStatusChanged(); + cpp->getCodeDocument().addListener (this); + ProjucerApplication::getApp().openDocumentManager.addListener (this); +} + +JucerDocument::~JucerDocument() +{ + ProjucerApplication::getApp().openDocumentManager.removeListener (this); + cpp->getCodeDocument().removeListener (this); + ProjucerApplication::getCommandManager().commandStatusChanged(); +} + +//============================================================================== +void JucerDocument::changed() +{ + sendChangeMessage(); + ProjucerApplication::getCommandManager().commandStatusChanged(); + startTimer (800); +} + +struct UserDocChangeTimer : public Timer +{ + UserDocChangeTimer (JucerDocument& d) : doc (d) {} + void timerCallback() override { doc.reloadFromDocument(); } + + JucerDocument& doc; +}; + +bool JucerDocument::documentAboutToClose (OpenDocumentManager::Document* doc) +{ + return doc != cpp; +} + +void JucerDocument::userEditedCpp() +{ + if (userDocChangeTimer == nullptr) + userDocChangeTimer = new UserDocChangeTimer (*this); + + userDocChangeTimer->startTimer (500); +} + +void JucerDocument::beginTransaction() +{ + getUndoManager().beginNewTransaction(); +} + +void JucerDocument::beginTransaction (const String& name) +{ + getUndoManager().beginNewTransaction (name); +} + +void JucerDocument::timerCallback() +{ + if (! Component::isMouseButtonDownAnywhere()) + { + stopTimer(); + beginTransaction(); + + flushChangesToDocuments (nullptr); + } +} + +void JucerDocument::codeDocumentTextInserted (const String&, int) { userEditedCpp(); } +void JucerDocument::codeDocumentTextDeleted (int, int) { userEditedCpp(); } + +bool JucerDocument::perform (UndoableAction* const action, const String& actionName) +{ + return undoManager.perform (action, actionName); +} + +void JucerDocument::refreshAllPropertyComps() +{ + if (ComponentLayout* l = getComponentLayout()) + l->getSelectedSet().changed(); + + for (int i = getNumPaintRoutines(); --i >= 0;) + { + getPaintRoutine (i)->getSelectedElements().changed(); + getPaintRoutine (i)->getSelectedPoints().changed(); + } +} + +//============================================================================== +void JucerDocument::setClassName (const String& newName) +{ + if (newName != className + && CodeHelpers::makeValidIdentifier (newName, false, false, true).isNotEmpty()) + { + className = CodeHelpers::makeValidIdentifier (newName, false, false, true); + changed(); + } +} + +void JucerDocument::setComponentName (const String& newName) +{ + if (newName != componentName) + { + componentName = newName; + changed(); + } +} + +void JucerDocument::setParentClasses (const String& classes) +{ + if (classes != parentClasses) + { + StringArray parentClassLines (getCleanedStringArray (StringArray::fromTokens (classes, ",", StringRef()))); + + for (int i = parentClassLines.size(); --i >= 0;) + { + String s (parentClassLines[i]); + String type; + + if (s.startsWith ("public ") + || s.startsWith ("protected ") + || s.startsWith ("private ")) + { + type = s.upToFirstOccurrenceOf (" ", true, false); + s = s.fromFirstOccurrenceOf (" ", false, false); + + if (s.trim().isEmpty()) + type = s = String::empty; + } + + s = type + CodeHelpers::makeValidIdentifier (s.trim(), false, false, true); + + parentClassLines.set (i, s); + } + + parentClasses = parentClassLines.joinIntoString (", "); + changed(); + } +} + +void JucerDocument::setConstructorParams (const String& newParams) +{ + if (constructorParams != newParams) + { + constructorParams = newParams; + changed(); + } +} + +void JucerDocument::setVariableInitialisers (const String& newInitlialisers) +{ + if (variableInitialisers != newInitlialisers) + { + variableInitialisers = newInitlialisers; + changed(); + } +} + +void JucerDocument::setFixedSize (const bool isFixed) +{ + if (fixedSize != isFixed) + { + fixedSize = isFixed; + changed(); + } +} + +void JucerDocument::setInitialSize (int w, int h) +{ + w = jmax (1, w); + h = jmax (1, h); + + if (initialWidth != w || initialHeight != h) + { + initialWidth = w; + initialHeight = h; + changed(); + } +} + +//============================================================================== +bool JucerDocument::isSnapActive (const bool disableIfCtrlKeyDown) const noexcept +{ + return snapActive != (disableIfCtrlKeyDown && ModifierKeys::getCurrentModifiers().isCtrlDown()); +} + +int JucerDocument::snapPosition (int pos) const noexcept +{ + if (isSnapActive (true)) + { + jassert (snapGridPixels > 0); + pos = ((pos + snapGridPixels * 1024 + snapGridPixels / 2) / snapGridPixels - 1024) * snapGridPixels; + } + + return pos; +} + +void JucerDocument::setSnappingGrid (const int numPixels, const bool active, const bool shown) +{ + if (numPixels != snapGridPixels + || active != snapActive + || shown != snapShown) + { + snapGridPixels = numPixels; + snapActive = active; + snapShown = shown; + changed(); + } +} + +void JucerDocument::setComponentOverlayOpacity (const float alpha) +{ + if (alpha != componentOverlayOpacity) + { + componentOverlayOpacity = alpha; + changed(); + } +} + +//============================================================================== +void JucerDocument::addMethod (const String& base, const String& returnVal, const String& method, const String& initialContent, + StringArray& baseClasses, StringArray& returnValues, StringArray& methods, StringArray& initialContents) +{ + baseClasses.add (base); + returnValues.add (returnVal); + methods.add (method); + initialContents.add (initialContent); +} + +void JucerDocument::getOptionalMethods (StringArray& baseClasses, + StringArray& returnValues, + StringArray& methods, + StringArray& initialContents) const +{ + addMethod ("Component", "void", "visibilityChanged()", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "moved()", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "parentHierarchyChanged()", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "parentSizeChanged()", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "lookAndFeelChanged()", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "bool", "hitTest (int x, int y)", "return true;", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "broughtToFront()", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "filesDropped (const StringArray& filenames, int mouseX, int mouseY)", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "handleCommandMessage (int commandId)", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "childrenChanged()", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "enablementChanged()", "", baseClasses, returnValues, methods, initialContents); + + addMethod ("Component", "void", "mouseMove (const MouseEvent& e)", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "mouseEnter (const MouseEvent& e)", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "mouseExit (const MouseEvent& e)", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "mouseDown (const MouseEvent& e)", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "mouseDrag (const MouseEvent& e)", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "mouseUp (const MouseEvent& e)", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "mouseDoubleClick (const MouseEvent& e)", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "mouseWheelMove (const MouseEvent& e, const MouseWheelDetails& wheel)", "", baseClasses, returnValues, methods, initialContents); + + addMethod ("Component", "bool", "keyPressed (const KeyPress& key)", "return false; // Return true if your handler uses this key event, or false to allow it to be passed-on.", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "bool", "keyStateChanged (const bool isKeyDown)", "return false; // Return true if your handler uses this key event, or false to allow it to be passed-on.", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "modifierKeysChanged (const ModifierKeys& modifiers)", "", baseClasses, returnValues, methods, initialContents); + + addMethod ("Component", "void", "focusGained (FocusChangeType cause)", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "focusLost (FocusChangeType cause)", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "focusOfChildComponentChanged (FocusChangeType cause)", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "modifierKeysChanged (const ModifierKeys& modifiers)", "", baseClasses, returnValues, methods, initialContents); + addMethod ("Component", "void", "inputAttemptWhenModal()", "", baseClasses, returnValues, methods, initialContents); +} + +void JucerDocument::setOptionalMethodEnabled (const String& methodSignature, const bool enable) +{ + if (enable) + activeExtraMethods.addIfNotAlreadyThere (methodSignature); + else + activeExtraMethods.removeString (methodSignature); + + changed(); +} + +bool JucerDocument::isOptionalMethodEnabled (const String& sig) const noexcept +{ + return activeExtraMethods.contains (sig); +} + +void JucerDocument::addExtraClassProperties (PropertyPanel&) +{ +} + +//============================================================================== +const char* const JucerDocument::jucerCompXmlTag = "JUCER_COMPONENT"; + +XmlElement* JucerDocument::createXml() const +{ + XmlElement* doc = new XmlElement (jucerCompXmlTag); + + doc->setAttribute ("documentType", getTypeName()); + doc->setAttribute ("className", className); + + if (templateFile.trim().isNotEmpty()) + doc->setAttribute ("template", templateFile); + + doc->setAttribute ("componentName", componentName); + doc->setAttribute ("parentClasses", parentClasses); + doc->setAttribute ("constructorParams", constructorParams); + doc->setAttribute ("variableInitialisers", variableInitialisers); + doc->setAttribute ("snapPixels", snapGridPixels); + doc->setAttribute ("snapActive", snapActive); + doc->setAttribute ("snapShown", snapShown); + doc->setAttribute ("overlayOpacity", String (componentOverlayOpacity, 3)); + doc->setAttribute ("fixedSize", fixedSize); + doc->setAttribute ("initialWidth", initialWidth); + doc->setAttribute ("initialHeight", initialHeight); + + if (activeExtraMethods.size() > 0) + { + XmlElement* extraMethods = new XmlElement ("METHODS"); + doc->addChildElement (extraMethods); + + for (int i = 0; i < activeExtraMethods.size(); ++i) + { + XmlElement* e = new XmlElement ("METHOD"); + extraMethods ->addChildElement (e); + e->setAttribute ("name", activeExtraMethods[i]); + } + } + + return doc; +} + +bool JucerDocument::loadFromXml (const XmlElement& xml) +{ + if (xml.hasTagName (jucerCompXmlTag) + && getTypeName().equalsIgnoreCase (xml.getStringAttribute ("documentType"))) + { + className = xml.getStringAttribute ("className", defaultClassName); + templateFile = xml.getStringAttribute ("template", String::empty); + componentName = xml.getStringAttribute ("componentName", String::empty); + parentClasses = xml.getStringAttribute ("parentClasses", defaultParentClasses); + constructorParams = xml.getStringAttribute ("constructorParams", String::empty); + variableInitialisers = xml.getStringAttribute ("variableInitialisers", String::empty); + + fixedSize = xml.getBoolAttribute ("fixedSize", false); + initialWidth = xml.getIntAttribute ("initialWidth", 300); + initialHeight = xml.getIntAttribute ("initialHeight", 200); + + snapGridPixels = xml.getIntAttribute ("snapPixels", snapGridPixels); + snapActive = xml.getBoolAttribute ("snapActive", snapActive); + snapShown = xml.getBoolAttribute ("snapShown", snapShown); + + componentOverlayOpacity = (float) xml.getDoubleAttribute ("overlayOpacity", 0.0); + + activeExtraMethods.clear(); + + if (XmlElement* const methods = xml.getChildByName ("METHODS")) + forEachXmlChildElementWithTagName (*methods, e, "METHOD") + activeExtraMethods.addIfNotAlreadyThere (e->getStringAttribute ("name")); + + activeExtraMethods.trim(); + activeExtraMethods.removeEmptyStrings(); + + changed(); + getUndoManager().clearUndoHistory(); + return true; + } + + return false; +} + + +//============================================================================== +void JucerDocument::fillInGeneratedCode (GeneratedCode& code) const +{ + code.className = className; + code.componentName = componentName; + code.parentClasses = parentClasses; + code.constructorParams = constructorParams; + code.initialisers.addLines (variableInitialisers); + + if (! componentName.isEmpty()) + code.constructorCode << "setName (" + quotedString (componentName, false) + ");\n"; + + // call these now, just to make sure they're the first two methods in the list. + code.getCallbackCode (String::empty, "void", "paint (Graphics& g)", false) + << "//[UserPrePaint] Add your own custom painting code here..\n//[/UserPrePaint]\n\n"; + + code.getCallbackCode (String::empty, "void", "resized()", false) + << "//[UserPreResize] Add your own custom resize code here..\n//[/UserPreResize]\n\n"; + + if (ComponentLayout* l = getComponentLayout()) + l->fillInGeneratedCode (code); + + fillInPaintCode (code); + + ScopedPointer e (createXml()); + jassert (e != nullptr); + code.jucerMetadata = e->createDocument ("", false, false); + + resources.fillInGeneratedCode (code); + + code.constructorCode + << "\n//[UserPreSize]\n" + "//[/UserPreSize]\n"; + + if (initialWidth > 0 || initialHeight > 0) + code.constructorCode << "\nsetSize (" << initialWidth << ", " << initialHeight << ");\n"; + + code.getCallbackCode (String::empty, "void", "paint (Graphics& g)", false) + << "//[UserPaint] Add your own custom painting code here..\n//[/UserPaint]"; + + code.getCallbackCode (String::empty, "void", "resized()", false) + << "//[UserResized] Add your own custom resize handling here..\n//[/UserResized]"; + + // add optional methods + StringArray baseClasses, returnValues, methods, initialContents; + getOptionalMethods (baseClasses, returnValues, methods, initialContents); + + for (int i = 0; i < methods.size(); ++i) + { + if (isOptionalMethodEnabled (methods[i])) + { + String baseClassToAdd (baseClasses[i]); + + if (baseClassToAdd == "Component" || baseClassToAdd == "Button") + baseClassToAdd.clear(); + + String& s = code.getCallbackCode (baseClassToAdd, returnValues[i], methods[i], false); + + if (! s.contains ("//[")) + { + String userCommentTag ("UserCode_"); + userCommentTag += methods[i].upToFirstOccurrenceOf ("(", false, false).trim(); + + s << "\n//[" << userCommentTag << "] -- Add your code here...\n" + << initialContents[i]; + + if (initialContents[i].isNotEmpty() && ! initialContents[i].endsWithChar ('\n')) + s << '\n'; + + s << "//[/" << userCommentTag << "]\n"; + } + } + } +} + +void JucerDocument::fillInPaintCode (GeneratedCode& code) const +{ + for (int i = 0; i < getNumPaintRoutines(); ++i) + getPaintRoutine (i) + ->fillInGeneratedCode (code, code.getCallbackCode (String::empty, "void", "paint (Graphics& g)", false)); +} + +void JucerDocument::setTemplateFile (const String& newFile) +{ + if (templateFile != newFile) + { + templateFile = newFile; + changed(); + } +} + +//============================================================================== +bool JucerDocument::findTemplateFiles (String& headerContent, String& cppContent) const +{ + if (templateFile.isNotEmpty()) + { + const File f (getCppFile().getSiblingFile (templateFile)); + + const File templateCpp (f.withFileExtension (".cpp")); + const File templateH (f.withFileExtension (".h")); + + headerContent = templateH.loadFileAsString(); + cppContent = templateCpp.loadFileAsString(); + + if (headerContent.isNotEmpty() && cppContent.isNotEmpty()) + return true; + } + + headerContent = BinaryData::jucer_ComponentTemplate_h; + cppContent = BinaryData::jucer_ComponentTemplate_cpp; + return true; +} + +static String fixLineEndings (const String& s) +{ + StringArray lines; + lines.addLines (s); + + for (int i = 0; i < lines.size(); ++i) + lines.set (i, lines[i].trimEnd()); + + while (lines.size() > 0 && lines [lines.size() - 1].trim().isEmpty()) + lines.remove (lines.size() - 1); + + lines.add (String()); + + return lines.joinIntoString ("\r\n"); +} + +bool JucerDocument::flushChangesToDocuments (Project* project) +{ + String headerTemplate, cppTemplate; + if (! findTemplateFiles (headerTemplate, cppTemplate)) + return false; + + GeneratedCode generated (this); + fillInGeneratedCode (generated); + + const File headerFile (getHeaderFile()); + generated.includeFilesCPP.insert (0, headerFile); + + OpenDocumentManager& odm = ProjucerApplication::getApp().openDocumentManager; + + if (SourceCodeDocument* header = dynamic_cast (odm.openFile (nullptr, headerFile))) + { + String existingHeader (header->getCodeDocument().getAllContent()); + String existingCpp (cpp->getCodeDocument().getAllContent()); + + generated.applyToCode (headerTemplate, headerFile, + existingHeader, project); + + generated.applyToCode (cppTemplate, headerFile.withFileExtension (".cpp"), + existingCpp, project); + + headerTemplate = fixLineEndings (headerTemplate); + cppTemplate = fixLineEndings (cppTemplate); + + if (header->getCodeDocument().getAllContent() != headerTemplate) + header->getCodeDocument().replaceAllContent (headerTemplate); + + if (cpp->getCodeDocument().getAllContent() != cppTemplate) + cpp->getCodeDocument().replaceAllContent (cppTemplate); + } + + userDocChangeTimer = nullptr; + return true; +} + +bool JucerDocument::reloadFromDocument() +{ + const String cppContent (cpp->getCodeDocument().getAllContent()); + + ScopedPointer newXML (pullMetaDataFromCppFile (cppContent)); + + if (newXML == nullptr || ! newXML->hasTagName (jucerCompXmlTag)) + return false; + + if (currentXML != nullptr && currentXML->isEquivalentTo (newXML, true)) + return true; + + currentXML = newXML; + stopTimer(); + + resources.loadFromCpp (getCppFile(), cppContent); + + return loadFromXml (*currentXML); +} + +XmlElement* JucerDocument::pullMetaDataFromCppFile (const String& cpp) +{ + StringArray lines; + lines.addLines (cpp); + + const int startLine = indexOfLineStartingWith (lines, "BEGIN_JUCER_METADATA", 0); + + if (startLine > 0) + { + const int endLine = indexOfLineStartingWith (lines, "END_JUCER_METADATA", startLine); + + if (endLine > startLine) + return XmlDocument::parse (lines.joinIntoString ("\n", startLine + 1, + endLine - startLine - 1)); + } + + return nullptr; +} + +bool JucerDocument::isValidJucerCppFile (const File& f) +{ + if (f.hasFileExtension (".cpp")) + { + const ScopedPointer xml (pullMetaDataFromCppFile (f.loadFileAsString())); + return xml != nullptr && xml->hasTagName (jucerCompXmlTag); + } + + return false; +} + +static JucerDocument* createDocument (SourceCodeDocument* cpp) +{ + CodeDocument& codeDoc = cpp->getCodeDocument(); + + ScopedPointer xml (JucerDocument::pullMetaDataFromCppFile (codeDoc.getAllContent())); + + if (xml == nullptr || ! xml->hasTagName (JucerDocument::jucerCompXmlTag)) + return nullptr; + + const String docType (xml->getStringAttribute ("documentType")); + + ScopedPointer newDoc; + + if (docType.equalsIgnoreCase ("Button")) + newDoc = new ButtonDocument (cpp); + + if (docType.equalsIgnoreCase ("Component") || docType.isEmpty()) + newDoc = new ComponentDocument (cpp); + + if (newDoc != nullptr && newDoc->reloadFromDocument()) + return newDoc.release(); + + return nullptr; +} + +JucerDocument* JucerDocument::createForCppFile (Project* p, const File& file) +{ + OpenDocumentManager& odm = ProjucerApplication::getApp().openDocumentManager; + + if (SourceCodeDocument* cpp = dynamic_cast (odm.openFile (p, file))) + if (dynamic_cast (odm.openFile (p, file.withFileExtension (".h"))) != nullptr) + return createDocument (cpp); + + return nullptr; +} + +//============================================================================== +class JucerComponentDocument : public SourceCodeDocument +{ +public: + JucerComponentDocument (Project* p, const File& f) + : SourceCodeDocument (p, f) + { + } + + bool save() override + { + return SourceCodeDocument::save() && saveHeader(); + } + + bool saveHeader() + { + OpenDocumentManager& odm = ProjucerApplication::getApp().openDocumentManager; + + if (OpenDocumentManager::Document* header = odm.openFile (nullptr, getFile().withFileExtension (".h"))) + return header->save(); + + return false; + } + + Component* createEditor() override + { + ScopedPointer jucerDoc (JucerDocument::createForCppFile (getProject(), getFile())); + + if (jucerDoc != nullptr) + return new JucerDocumentEditor (jucerDoc.release()); + + return SourceCodeDocument::createEditor(); + } + + struct Type : public OpenDocumentManager::DocumentType + { + Type() {} + + bool canOpenFile (const File& f) override { return JucerDocument::isValidJucerCppFile (f); } + Document* openFile (Project* p, const File& f) override { return new JucerComponentDocument (p, f); } + }; +}; + +OpenDocumentManager::DocumentType* createGUIDocumentType() +{ + return new JucerComponentDocument::Type(); +} + +//============================================================================== +class NewGUIComponentWizard : public NewFileWizard::Type +{ +public: + NewGUIComponentWizard() {} + + String getName() override { return "GUI Component"; } + + void createNewFile (Project& project, Project::Item parent) override + { + const File newFile (askUserToChooseNewFile (String (defaultClassName) + ".h", "*.h;*.cpp", parent)); + + if (newFile != File()) + { + const File headerFile (newFile.withFileExtension (".h")); + const File cppFile (newFile.withFileExtension (".cpp")); + + headerFile.replaceWithText (String()); + cppFile.replaceWithText (String()); + + OpenDocumentManager& odm = ProjucerApplication::getApp().openDocumentManager; + + if (SourceCodeDocument* cpp = dynamic_cast (odm.openFile (nullptr, cppFile))) + { + if (SourceCodeDocument* header = dynamic_cast (odm.openFile (nullptr, headerFile))) + { + ScopedPointer jucerDoc (new ComponentDocument (cpp)); + + if (jucerDoc != nullptr) + { + jucerDoc->setClassName (newFile.getFileNameWithoutExtension()); + + jucerDoc->flushChangesToDocuments (&project); + jucerDoc = nullptr; + + cpp->save(); + header->save(); + odm.closeDocument (cpp, true); + odm.closeDocument (header, true); + + parent.addFileRetainingSortOrder (headerFile, true); + parent.addFileRetainingSortOrder (cppFile, true); + } + } + } + } + } +}; + +NewFileWizard::Type* createGUIComponentWizard() +{ + return new NewGUIComponentWizard(); +} diff --git a/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h new file mode 100644 index 00000000..6131935b --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h @@ -0,0 +1,179 @@ +/* + ============================================================================== + + 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_JUCERDOCUMENT_H_INCLUDED +#define JUCER_JUCERDOCUMENT_H_INCLUDED + +#include "../Application/jucer_OpenDocumentManager.h" +#include "../Code Editor/jucer_SourceCodeEditor.h" +#include "components/jucer_ComponentTypeHandler.h" +#include "jucer_PaintRoutine.h" +#include "jucer_ComponentLayout.h" +#include "jucer_BinaryResources.h" + +//============================================================================== +class JucerDocument : public ChangeBroadcaster, + private Timer, + private CodeDocument::Listener, + private OpenDocumentManager::DocumentCloseListener +{ +public: + JucerDocument (SourceCodeDocument* cpp); + ~JucerDocument(); + + static bool isValidJucerCppFile (const File&); + static XmlElement* pullMetaDataFromCppFile (const String& cpp); + static JucerDocument* createForCppFile (Project*, const File&); + + void changed(); + void beginTransaction(); + void beginTransaction (const String& name); + + virtual JucerDocument* createCopy() = 0; + virtual String getTypeName() const = 0; + + SourceCodeDocument& getCppDocument() const { return *cpp; } + + File getCppFile() const { return cpp->getFile(); } + File getHeaderFile() const { return getCppFile().withFileExtension (".h"); } + + bool flushChangesToDocuments (Project*); + bool reloadFromDocument(); + + //============================================================================== + UndoManager& getUndoManager() noexcept { return undoManager; } + + bool perform (UndoableAction* const action, const String& actionName); + + void refreshAllPropertyComps(); + + //============================================================================== + const String& getClassName() const noexcept { return className; } + void setClassName (const String& newName); + + const String& getComponentName() const noexcept { return componentName; } + void setComponentName (const String& newName); + + String getParentClassString() const { return parentClasses; } + void setParentClasses (const String& classes); + + String getConstructorParams() const { return constructorParams; } + void setConstructorParams (const String& newParams); + + String getVariableInitialisers() const { return variableInitialisers; } + void setVariableInitialisers (const String& newInitlialisers); + + void setFixedSize (const bool isFixed); + bool isFixedSize() const noexcept { return fixedSize; } + + void setInitialSize (int w, int h); + + int getInitialWidth() const noexcept { return initialWidth; } + int getInitialHeight() const noexcept { return initialHeight; } + + //============================================================================== + virtual int getNumPaintRoutines() const = 0; + virtual StringArray getPaintRoutineNames() const = 0; + virtual PaintRoutine* getPaintRoutine (const int index) const = 0; + virtual ComponentLayout* getComponentLayout() const = 0; + virtual Component* createTestComponent (const bool alwaysFillBackground) = 0; + virtual void addExtraClassProperties (PropertyPanel&); + + //============================================================================== + virtual void getOptionalMethods (StringArray& baseClasses, + StringArray& returnValues, + StringArray& methods, + StringArray& initialContents) const; + + void setOptionalMethodEnabled (const String& methodSignature, const bool enable); + bool isOptionalMethodEnabled (const String& methodSignature) const noexcept; + + //============================================================================== + BinaryResources& getResources() noexcept { return resources; } + + //============================================================================== + void setSnappingGrid (const int numPixels, const bool active, const bool shown); + + int getSnappingGridSize() const noexcept { return snapGridPixels; } + bool isSnapActive (const bool disableIfCtrlKeyDown) const noexcept; + bool isSnapShown() const noexcept { return snapShown; } + + int snapPosition (int pos) const noexcept; + + //============================================================================== + void setComponentOverlayOpacity (const float alpha); + float getComponentOverlayOpacity() const noexcept { return componentOverlayOpacity; } + + //============================================================================== + static const char* const jucerCompXmlTag; + + bool findTemplateFiles (String& templateH, String& templateCpp) const; + + String getTemplateFile() const { return templateFile; } + void setTemplateFile (const String&); + + static bool shouldUseTransMacro() noexcept { return true; } + +protected: + SourceCodeDocument* cpp; + + String className, componentName, templateFile; + String parentClasses, constructorParams, variableInitialisers; + + bool fixedSize; + int initialWidth, initialHeight; + + BinaryResources resources; + + virtual XmlElement* createXml() const; + virtual bool loadFromXml (const XmlElement&); + + virtual void fillInGeneratedCode (GeneratedCode&) const; + virtual void fillInPaintCode (GeneratedCode&) const; + + static void addMethod (const String& base, const String& returnVal, + const String& method, const String& initialContent, + StringArray& baseClasses, StringArray& returnValues, + StringArray& methods, StringArray& initialContents); + +private: + UndoManager undoManager; + int snapGridPixels; + bool snapActive, snapShown; + float componentOverlayOpacity; + StringArray activeExtraMethods; + ScopedPointer currentXML; + ScopedPointer userDocChangeTimer; + + void timerCallback() override; + void codeDocumentTextInserted (const String& newText, int insertIndex) override; + void codeDocumentTextDeleted (int startIndex, int endIndex) override; + void userEditedCpp(); + bool documentAboutToClose (OpenDocumentManager::Document*) override; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (JucerDocument) +}; + + +#endif // JUCER_JUCERDOCUMENT_H_INCLUDED 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/Projucer/Source/ComponentEditor/jucer_PaintRoutine.cpp b/extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.cpp new file mode 100644 index 00000000..220f519c --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.cpp @@ -0,0 +1,582 @@ +/* + ============================================================================== + + 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_PaintRoutine.h" +#include "jucer_JucerDocument.h" +#include "jucer_ObjectTypes.h" +#include "paintelements/jucer_PaintElementUndoableAction.h" +#include "paintelements/jucer_PaintElementPath.h" +#include "paintelements/jucer_PaintElementImage.h" +#include "paintelements/jucer_PaintElementGroup.h" +#include "ui/jucer_JucerDocumentEditor.h" + + +//============================================================================== +PaintRoutine::PaintRoutine() + : document (nullptr), + backgroundColour (Colours::white) +{ + clear(); +} + +PaintRoutine::~PaintRoutine() +{ + elements.clear(); // do this explicitly before the scalar destructor because these + // objects will be listeners on this object +} + +//============================================================================== +void PaintRoutine::changed() +{ + if (document != nullptr) + document->changed(); +} + +bool PaintRoutine::perform (UndoableAction* action, const String& actionName) +{ + if (document != nullptr) + return document->getUndoManager().perform (action, actionName); + + ScopedPointer deleter (action); + action->perform(); + return false; +} + +void PaintRoutine::setBackgroundColour (Colour newColour) noexcept +{ + backgroundColour = newColour; + changed(); +} + +void PaintRoutine::clear() +{ + if (elements.size() > 0) + { + elements.clear(); + changed(); + } +} + +//============================================================================== +class AddXmlElementAction : public UndoableAction +{ +public: + AddXmlElementAction (PaintRoutine& routine_, XmlElement* xml_) + : routine (routine_), xml (xml_) + { + } + + bool perform() + { + showCorrectTab(); + PaintElement* newElement = routine.addElementFromXml (*xml, -1, false); + jassert (newElement != nullptr); + + indexAdded = routine.indexOfElement (newElement); + jassert (indexAdded >= 0); + return indexAdded >= 0; + } + + bool undo() + { + showCorrectTab(); + routine.removeElement (routine.getElement (indexAdded), false); + return true; + } + + int getSizeInUnits() { return 10; } + + int indexAdded; + +private: + PaintRoutine& routine; + ScopedPointer xml; + + void showCorrectTab() const + { + if (JucerDocumentEditor* const ed = JucerDocumentEditor::getActiveDocumentHolder()) + ed->showGraphics (&routine); + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AddXmlElementAction) +}; + +PaintElement* PaintRoutine::addElementFromXml (const XmlElement& xml, const int index, const bool undoable) +{ + selectedPoints.deselectAll(); + + if (undoable && document != nullptr) + { + AddXmlElementAction* action = new AddXmlElementAction (*this, new XmlElement (xml)); + document->getUndoManager().perform (action, "Add new element"); + + return elements [action->indexAdded]; + } + + if (PaintElement* const newElement = ObjectTypes::createElementForXml (&xml, this)) + { + elements.insert (index, newElement); + changed(); + + return newElement; + } + + return nullptr; +} + +PaintElement* PaintRoutine::addNewElement (PaintElement* e, const int index, const bool undoable) +{ + if (e != nullptr) + { + ScopedPointer deleter (e); + ScopedPointer xml (e->createXml()); + + e = addElementFromXml (*xml, index, undoable); + } + + return e; +} + +//============================================================================== +class DeleteElementAction : public PaintElementUndoableAction +{ +public: + DeleteElementAction (PaintElement* const element) + : PaintElementUndoableAction (element), + oldIndex (-1) + { + xml = element->createXml(); + oldIndex = routine.indexOfElement (element); + } + + bool perform() + { + showCorrectTab(); + routine.removeElement (getElement(), false); + return true; + } + + bool undo() + { + PaintElement* newElement = routine.addElementFromXml (*xml, oldIndex, false); + showCorrectTab(); + return newElement != nullptr; + } + + int getSizeInUnits() { return 10; } + +private: + ScopedPointer xml; + int oldIndex; +}; + + +void PaintRoutine::removeElement (PaintElement* element, const bool undoable) +{ + if (elements.contains (element)) + { + if (undoable) + { + perform (new DeleteElementAction (element), + "Delete " + element->getTypeName()); + } + else + { + selectedElements.deselect (element); + selectedPoints.deselectAll(); + + selectedPoints.changed (true); + selectedElements.changed (true); + + elements.removeObject (element); + changed(); + } + } +} + +//============================================================================== +class FrontOrBackElementAction : public PaintElementUndoableAction +{ +public: + FrontOrBackElementAction (PaintElement* const element, int newIndex_) + : PaintElementUndoableAction (element), + newIndex (newIndex_) + { + oldIndex = routine.indexOfElement (element); + } + + bool perform() + { + showCorrectTab(); + + PaintElement* e = routine.getElement (oldIndex); + routine.moveElementZOrder (oldIndex, newIndex); + newIndex = routine.indexOfElement (e); + return true; + } + + bool undo() + { + showCorrectTab(); + routine.moveElementZOrder (newIndex, oldIndex); + return true; + } + +private: + int newIndex, oldIndex; +}; + +void PaintRoutine::moveElementZOrder (int oldIndex, int newIndex) +{ + jassert (elements [oldIndex] != nullptr); + + if (oldIndex != newIndex && elements [oldIndex] != nullptr) + { + elements.move (oldIndex, newIndex); + changed(); + } +} + +void PaintRoutine::elementToFront (PaintElement* element, const bool undoable) +{ + if (element != nullptr && elements.contains (element)) + { + if (undoable) + perform (new FrontOrBackElementAction (element, -1), "Move elements to front"); + else + moveElementZOrder (elements.indexOf (element), -1); + } +} + +void PaintRoutine::elementToBack (PaintElement* element, const bool undoable) +{ + if (element != nullptr && elements.contains (element)) + { + if (undoable) + perform (new FrontOrBackElementAction (element, 0), "Move elements to back"); + else + moveElementZOrder (elements.indexOf (element), 0); + } +} + +//============================================================================== +const char* const PaintRoutine::clipboardXmlTag = "PAINTELEMENTS"; + +void PaintRoutine::copySelectedToClipboard() +{ + if (selectedElements.getNumSelected() == 0) + return; + + XmlElement clip (clipboardXmlTag); + + for (int i = 0; i < elements.size(); ++i) + { + PaintElement* const pe = elements.getUnchecked(i); + + if (selectedElements.isSelected (pe)) + { + XmlElement* const e = pe->createXml(); + clip.addChildElement (e); + } + } + + SystemClipboard::copyTextToClipboard (clip.createDocument ("", false, false)); +} + +void PaintRoutine::paste() +{ + XmlDocument clip (SystemClipboard::getTextFromClipboard()); + ScopedPointer doc (clip.getDocumentElement()); + + if (doc != nullptr && doc->hasTagName (clipboardXmlTag)) + { + selectedElements.deselectAll(); + selectedPoints.deselectAll(); + + forEachXmlChildElement (*doc, e) + if (PaintElement* newElement = addElementFromXml (*e, -1, true)) + selectedElements.addToSelection (newElement); + } +} + +void PaintRoutine::deleteSelected() +{ + const SelectedItemSet temp1 (selectedElements); + const SelectedItemSet temp2 (selectedPoints); + + if (temp2.getNumSelected() > 0) + { + selectedPoints.deselectAll(); + selectedPoints.changed (true); // synchronous message to get rid of any property components + + // if any points are selected, just delete them, and not the element, which may + // also be selected.. + for (int i = temp2.getNumSelected(); --i >= 0;) + temp2.getSelectedItem (i)->deleteFromPath(); + + changed(); + } + else if (temp1.getNumSelected() > 0) + { + selectedElements.deselectAll(); + selectedElements.changed (true); + + for (int i = temp1.getNumSelected(); --i >= 0;) + removeElement (temp1.getSelectedItem (i), true); + + changed(); + } +} + +void PaintRoutine::selectAll() +{ + if (selectedPoints.getNumSelected() > 0) + { + if (const PaintElementPath* path = selectedPoints.getSelectedItem (0)->owner) + for (int i = 0; i < path->getNumPoints(); ++i) + selectedPoints.addToSelection (path->getPoint (i)); + } + else + { + for (int i = 0; i < elements.size(); ++i) + selectedElements.addToSelection (elements.getUnchecked (i)); + } +} + +void PaintRoutine::selectedToFront() +{ + const SelectedItemSet temp (selectedElements); + + for (int i = temp.getNumSelected(); --i >= 0;) + elementToFront (temp.getSelectedItem(i), true); +} + +void PaintRoutine::selectedToBack() +{ + const SelectedItemSet temp (selectedElements); + + for (int i = 0; i < temp.getNumSelected(); ++i) + elementToBack (temp.getSelectedItem(i), true); +} + +void PaintRoutine::groupSelected() +{ + PaintElementGroup::groupSelected (this); +} + +void PaintRoutine::ungroupSelected() +{ + const SelectedItemSet temp (selectedElements); + + for (int i = 0; i < temp.getNumSelected(); ++i) + if (PaintElementGroup* const pg = dynamic_cast (temp.getSelectedItem (i))) + pg->ungroup (true); +} + +void PaintRoutine::bringLostItemsBackOnScreen (const Rectangle& parentArea) +{ + for (int i = 0; i < elements.size(); ++i) + { + PaintElement* const c = elements[i]; + + Rectangle r (c->getCurrentBounds (parentArea)); + + if (! r.intersects (parentArea)) + { + r.setPosition (parentArea.getCentreX(), parentArea.getCentreY()); + c->setCurrentBounds (r, parentArea, true); + } + } +} + +void PaintRoutine::startDragging (const Rectangle& parentArea) +{ + for (int i = 0; i < elements.size(); ++i) + { + PaintElement* const c = elements[i]; + + Rectangle r (c->getCurrentBounds (parentArea)); + + c->getProperties().set ("xDragStart", r.getX()); + c->getProperties().set ("yDragStart", r.getY()); + } + + getDocument()->beginTransaction(); +} + +void PaintRoutine::dragSelectedComps (int dx, int dy, const Rectangle& parentArea) +{ + getDocument()->getUndoManager().undoCurrentTransactionOnly(); + + if (document != nullptr && selectedElements.getNumSelected() > 1) + { + dx = document->snapPosition (dx); + dy = document->snapPosition (dy); + } + + for (int i = 0; i < selectedElements.getNumSelected(); ++i) + { + PaintElement* const c = selectedElements.getSelectedItem (i); + + const int startX = c->getProperties() ["xDragStart"]; + const int startY = c->getProperties() ["yDragStart"]; + + Rectangle r (c->getCurrentBounds (parentArea)); + + if (document != nullptr && selectedElements.getNumSelected() == 1) + { + r.setPosition (document->snapPosition (startX + dx), + document->snapPosition (startY + dy)); + } + else + { + r.setPosition (startX + dx, + startY + dy); + } + + c->setCurrentBounds (r, parentArea, true); + } + + changed(); +} + +void PaintRoutine::endDragging() +{ + getDocument()->beginTransaction(); +} + +//============================================================================== +void PaintRoutine::fillWithBackground (Graphics& g, const bool drawOpaqueBackground) +{ + if ((! backgroundColour.isOpaque()) && drawOpaqueBackground) + { + g.fillCheckerBoard (Rectangle (0, 0, g.getClipBounds().getRight(), g.getClipBounds().getBottom()), + 50, 50, + Colour (0xffdddddd).overlaidWith (backgroundColour), + Colour (0xffffffff).overlaidWith (backgroundColour)); + } + else + { + g.fillAll (backgroundColour); + } +} + +void PaintRoutine::drawElements (Graphics& g, const Rectangle& relativeTo) +{ + Component temp; + temp.setBounds (relativeTo); + + for (int i = 0; i < elements.size(); ++i) + elements.getUnchecked (i)->draw (g, getDocument()->getComponentLayout(), relativeTo); +} + +//============================================================================== +void PaintRoutine::dropImageAt (const File& f, int x, int y) +{ + ScopedPointer d (Drawable::createFromImageFile (f)); + + if (d != nullptr) + { + Rectangle bounds (d->getDrawableBounds()); + d = nullptr; + + PaintElement* newElement + = addNewElement (ObjectTypes::createNewImageElement (this), -1, true); + + if (PaintElementImage* pei = dynamic_cast (newElement)) + { + String resourceName (getDocument()->getResources().findUniqueName (f.getFileName())); + + if (const BinaryResources::BinaryResource* existingResource = getDocument()->getResources().getResourceForFile (f)) + { + resourceName = existingResource->name; + } + else + { + MemoryBlock data; + f.loadFileAsData (data); + + getDocument()->getResources().add (resourceName, f.getFullPathName(), data); + } + + pei->setResource (resourceName, true); + + const int imageW = (int) (bounds.getRight() + 0.999f); + const int imageH = (int) (bounds.getBottom() + 0.999f); + + RelativePositionedRectangle pr; + pr.rect.setX (x - imageW / 2); + pr.rect.setY (y - imageH / 2); + pr.rect.setWidth (imageW); + pr.rect.setHeight (imageH); + + pei->setPosition (pr, true); + + getSelectedElements().selectOnly (pei); + } + } +} + +//============================================================================== +const char* PaintRoutine::xmlTagName = "BACKGROUND"; + +XmlElement* PaintRoutine::createXml() const +{ + XmlElement* const xml = new XmlElement (xmlTagName); + + xml->setAttribute ("backgroundColour", backgroundColour.toString()); + + for (int i = 0; i < elements.size(); ++i) + xml->addChildElement (elements.getUnchecked (i)->createXml()); + + return xml; +} + +bool PaintRoutine::loadFromXml (const XmlElement& xml) +{ + if (xml.hasTagName (xmlTagName)) + { + backgroundColour = Colour::fromString (xml.getStringAttribute ("backgroundColour", Colours::white.toString())); + + clear(); + + forEachXmlChildElement (xml, e) + if (PaintElement* const newElement = ObjectTypes::createElementForXml (e, this)) + elements.add (newElement); + + return true; + } + + return false; +} + +void PaintRoutine::fillInGeneratedCode (GeneratedCode& code, String& paintMethodCode) const +{ + if (! backgroundColour.isTransparent()) + paintMethodCode << "g.fillAll (" << CodeHelpers::colourToCode (backgroundColour) << ");\n\n"; + + for (int i = 0; i < elements.size(); ++i) + elements[i]->fillInGeneratedCode (code, paintMethodCode); +} 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/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp new file mode 100644 index 00000000..96cfbe8e --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp @@ -0,0 +1,481 @@ +/* + ============================================================================== + + 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 "../jucer_PaintRoutine.h" +#include "../jucer_UtilityFunctions.h" +#include "../ui/jucer_JucerCommandIDs.h" +#include "../ui/jucer_PaintRoutineEditor.h" +#include "../properties/jucer_PositionPropertyBase.h" +#include "jucer_ElementSiblingComponent.h" +#include "jucer_PaintElementUndoableAction.h" + + +//============================================================================== +PaintElement::PaintElement (PaintRoutine* owner_, + const String& typeName_) + : borderThickness (4), + owner (owner_), + typeName (typeName_), + selected (false), + dragging (false), + originalAspectRatio (1.0) +{ + setRepaintsOnMouseActivity (true); + + position.rect.setWidth (100); + position.rect.setHeight (100); + + setMinimumOnscreenAmounts (0, 0, 0, 0); + setSizeLimits (borderThickness * 2 + 1, borderThickness * 2 + 1, 8192, 8192); + + addChildComponent (border = new ResizableBorderComponent (this, this)); + + border->setBorderThickness (BorderSize (borderThickness)); + + if (owner != nullptr) + owner->getSelectedElements().addChangeListener (this); + + selfChangeListenerList.addChangeListener (this); + siblingComponentsChanged(); +} + +PaintElement::~PaintElement() +{ + siblingComponents.clear(); + + if (owner != nullptr) + { + owner->getSelectedElements().deselect (this); + owner->getSelectedElements().removeChangeListener (this); + } +} + + +//============================================================================== +void PaintElement::setInitialBounds (int parentWidth, int parentHeight) +{ + RelativePositionedRectangle pr (getPosition()); + pr.rect.setX (parentWidth / 4 + Random::getSystemRandom().nextInt (parentWidth / 4) - parentWidth / 8); + pr.rect.setY (parentHeight / 3 + Random::getSystemRandom().nextInt (parentHeight / 4) - parentHeight / 8); + setPosition (pr, false); +} + +//============================================================================== +const RelativePositionedRectangle& PaintElement::getPosition() const +{ + return position; +} + +class PaintElementMoveAction : public PaintElementUndoableAction +{ +public: + PaintElementMoveAction (PaintElement* const element, const RelativePositionedRectangle& newState_) + : PaintElementUndoableAction (element), + newState (newState_), + oldState (element->getPosition()) + { + } + + bool perform() + { + showCorrectTab(); + getElement()->setPosition (newState, false); + return true; + } + + bool undo() + { + showCorrectTab(); + getElement()->setPosition (oldState, false); + return true; + } + +private: + RelativePositionedRectangle newState, oldState; +}; + +void PaintElement::setPosition (const RelativePositionedRectangle& newPosition, const bool undoable) +{ + if (position != newPosition) + { + if (undoable) + { + perform (new PaintElementMoveAction (this, newPosition), + "Move " + getTypeName()); + } + else + { + position = newPosition; + + if (owner != nullptr) + owner->changed(); + } + } +} + +//============================================================================== +Rectangle PaintElement::getCurrentBounds (const Rectangle& parentArea) const +{ + return position.getRectangle (parentArea, getDocument()->getComponentLayout()); +} + +void PaintElement::setCurrentBounds (const Rectangle& newBounds, + const Rectangle& parentArea, + const bool undoable) +{ + RelativePositionedRectangle pr (position); + pr.updateFrom (newBounds.getX() - parentArea.getX(), + newBounds.getY() - parentArea.getY(), + jmax (1, newBounds.getWidth()), + jmax (1, newBounds.getHeight()), + Rectangle (0, 0, parentArea.getWidth(), parentArea.getHeight()), + getDocument()->getComponentLayout()); + + setPosition (pr, undoable); + + updateBounds (parentArea); +} + +void PaintElement::updateBounds (const Rectangle& parentArea) +{ + if (! parentArea.isEmpty()) + { + setBounds (getCurrentBounds (parentArea) + .expanded (borderThickness, + borderThickness)); + + for (int i = siblingComponents.size(); --i >= 0;) + siblingComponents.getUnchecked(i)->updatePosition(); + } +} + +//============================================================================== +class ElementPositionProperty : public PositionPropertyBase +{ +public: + ElementPositionProperty (PaintElement* e, const String& name, + ComponentPositionDimension dimension_) + : PositionPropertyBase (e, name, dimension_, true, false, + e->getDocument()->getComponentLayout()), + listener (e) + { + listener.setPropertyToRefresh (*this); + } + + void setPosition (const RelativePositionedRectangle& newPos) + { + listener.owner->setPosition (newPos, true); + } + + RelativePositionedRectangle getPosition() const + { + return listener.owner->getPosition(); + } + + ElementListener listener; +}; + +//============================================================================== +void PaintElement::getEditableProperties (Array & props) +{ + props.add (new ElementPositionProperty (this, "x", PositionPropertyBase::componentX)); + props.add (new ElementPositionProperty (this, "y", PositionPropertyBase::componentY)); + props.add (new ElementPositionProperty (this, "width", PositionPropertyBase::componentWidth)); + props.add (new ElementPositionProperty (this, "height", PositionPropertyBase::componentHeight)); +} + +//============================================================================== +JucerDocument* PaintElement::getDocument() const +{ + return owner->getDocument(); +} + +void PaintElement::changed() +{ + repaint(); + owner->changed(); +} + +bool PaintElement::perform (UndoableAction* action, const String& actionName) +{ + return owner->perform (action, actionName); +} + +void PaintElement::parentHierarchyChanged() +{ + updateSiblingComps(); +} + +//============================================================================== +void PaintElement::drawExtraEditorGraphics (Graphics&, const Rectangle& /*relativeTo*/) +{ +} + +void PaintElement::paint (Graphics& g) +{ + Rectangle area (((PaintRoutineEditor*) getParentComponent())->getComponentArea()); + + g.saveState(); + g.setOrigin (area.getPosition() - Component::getPosition()); + area.setPosition (0, 0); + + g.saveState(); + g.reduceClipRegion (0, 0, area.getWidth(), area.getHeight()); + + draw (g, getDocument()->getComponentLayout(), area); + + g.restoreState(); + + drawExtraEditorGraphics (g, area); + g.restoreState(); + + if (selected) + { + const BorderSize borderSize (border->getBorderThickness()); + + drawResizableBorder (g, getWidth(), getHeight(), borderSize, + (isMouseOverOrDragging() || border->isMouseOverOrDragging())); + } + else if (isMouseOverOrDragging()) + { + drawMouseOverCorners (g, getWidth(), getHeight()); + } +} + +void PaintElement::resized() +{ + border->setBounds (getLocalBounds()); +} + +void PaintElement::mouseDown (const MouseEvent& e) +{ + dragging = false; + + if (owner != nullptr) + { + owner->getSelectedPoints().deselectAll(); + mouseDownSelectStatus = owner->getSelectedElements().addToSelectionOnMouseDown (this, e.mods); + } + + if (e.mods.isPopupMenu()) + { + showPopupMenu(); + return; // this may be deleted now.. + } +} + +void PaintElement::mouseDrag (const MouseEvent& e) +{ + if (! e.mods.isPopupMenu()) + { + jassert (dynamic_cast (getParentComponent()) != nullptr); + const Rectangle area (((PaintRoutineEditor*) getParentComponent())->getComponentArea()); + + if (selected && ! dragging) + { + dragging = e.mouseWasDraggedSinceMouseDown(); + + if (dragging) + owner->startDragging (area); + } + + if (dragging) + owner->dragSelectedComps (e.getDistanceFromDragStartX(), + e.getDistanceFromDragStartY(), + area); + } +} + +void PaintElement::mouseUp (const MouseEvent& e) +{ + if (dragging) + owner->endDragging(); + + if (owner != nullptr) + owner->getSelectedElements().addToSelectionOnMouseUp (this, e.mods, dragging, mouseDownSelectStatus); +} + +void PaintElement::resizeStart() +{ + if (getHeight() > 0) + originalAspectRatio = getWidth() / (double) getHeight(); + else + originalAspectRatio = 1.0; +} + +void PaintElement::resizeEnd() +{ +} + +void PaintElement::checkBounds (Rectangle& b, + const Rectangle& previousBounds, + const Rectangle& limits, + const bool isStretchingTop, + const bool isStretchingLeft, + const bool isStretchingBottom, + const bool isStretchingRight) +{ + if (ModifierKeys::getCurrentModifiers().isShiftDown()) + setFixedAspectRatio (originalAspectRatio); + else + setFixedAspectRatio (0.0); + + ComponentBoundsConstrainer::checkBounds (b, previousBounds, limits, isStretchingTop, isStretchingLeft, isStretchingBottom, isStretchingRight); + + JucerDocument* document = getDocument(); + + if (document != nullptr && document->isSnapActive (true)) + { + jassert (getParentComponent() != nullptr); + const Rectangle area (((PaintRoutineEditor*) getParentComponent())->getComponentArea()); + + int x = b.getX(); + int y = b.getY(); + int w = b.getWidth(); + int h = b.getHeight(); + + x += borderThickness - area.getX(); + y += borderThickness - area.getY(); + w -= borderThickness * 2; + h -= borderThickness * 2; + + int right = x + w; + int bottom = y + h; + + if (isStretchingRight) + right = document->snapPosition (right); + + if (isStretchingBottom) + bottom = document->snapPosition (bottom); + + if (isStretchingLeft) + x = document->snapPosition (x); + + if (isStretchingTop) + y = document->snapPosition (y); + + w = (right - x) + borderThickness * 2; + h = (bottom - y) + borderThickness * 2; + x -= borderThickness - area.getX(); + y -= borderThickness - area.getY(); + + b = Rectangle (x, y, w, h); + } +} + +void PaintElement::applyBoundsToComponent (Component*, const Rectangle& newBounds) +{ + if (getBounds() != newBounds) + { + getDocument()->getUndoManager().undoCurrentTransactionOnly(); + + jassert (dynamic_cast (getParentComponent()) != nullptr); + + setCurrentBounds (newBounds.expanded (-borderThickness, -borderThickness), + ((PaintRoutineEditor*) getParentComponent())->getComponentArea(), + true); + } +} + +Rectangle PaintElement::getCurrentAbsoluteBounds() const +{ + jassert (dynamic_cast (getParentComponent()) != nullptr); + const Rectangle area (((PaintRoutineEditor*) getParentComponent())->getComponentArea()); + + return position.getRectangle (area, getDocument()->getComponentLayout()); +} + +void PaintElement::getCurrentAbsoluteBoundsDouble (double& x, double& y, double& w, double& h) const +{ + jassert (dynamic_cast (getParentComponent()) != nullptr); + const Rectangle area (((PaintRoutineEditor*) getParentComponent())->getComponentArea()); + + position.getRectangleDouble (x, y, w, h, area, getDocument()->getComponentLayout()); +} + +void PaintElement::changeListenerCallback (ChangeBroadcaster*) +{ + const bool nowSelected = owner != nullptr && owner->getSelectedElements().isSelected (this); + + if (selected != nowSelected) + { + selected = nowSelected; + border->setVisible (nowSelected); + repaint(); + + selectionChanged (nowSelected); + } + + updateSiblingComps(); +} + +void PaintElement::selectionChanged (const bool /*isSelected*/) +{ +} + +void PaintElement::createSiblingComponents() +{ +} + +void PaintElement::siblingComponentsChanged() +{ + siblingComponents.clear(); + selfChangeListenerList.sendChangeMessage(); +} + +void PaintElement::updateSiblingComps() +{ + if (selected && getParentComponent() != nullptr && owner->getSelectedElements().getNumSelected() == 1) + { + if (siblingComponents.size() == 0) + createSiblingComponents(); + + for (int i = siblingComponents.size(); --i >= 0;) + siblingComponents.getUnchecked(i)->updatePosition(); + } + else + { + siblingComponents.clear(); + } +} + + +void PaintElement::showPopupMenu() +{ + ApplicationCommandManager* commandManager = &ProjucerApplication::getCommandManager(); + + PopupMenu m; + + m.addCommandItem (commandManager, JucerCommandIDs::toFront); + m.addCommandItem (commandManager, JucerCommandIDs::toBack); + m.addSeparator(); + m.addCommandItem (commandManager, StandardApplicationCommandIDs::cut); + m.addCommandItem (commandManager, StandardApplicationCommandIDs::copy); + m.addCommandItem (commandManager, StandardApplicationCommandIDs::paste); + m.addCommandItem (commandManager, StandardApplicationCommandIDs::del); + + m.show(); +} 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/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp new file mode 100644 index 00000000..75d08f15 --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp @@ -0,0 +1,1609 @@ +/* + ============================================================================== + + 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_PaintElementPath.h" +#include "../properties/jucer_PositionPropertyBase.h" +#include "jucer_PaintElementUndoableAction.h" +#include "../jucer_UtilityFunctions.h" + +//============================================================================== +class ChangePointAction : public PaintElementUndoableAction +{ +public: + ChangePointAction (PathPoint* const point, + const int pointIndex, + const PathPoint& newValue_) + : PaintElementUndoableAction (point->owner), + index (pointIndex), + newValue (newValue_), + oldValue (*point) + { + } + + ChangePointAction (PathPoint* const point, + const PathPoint& newValue_) + : PaintElementUndoableAction (point->owner), + index (point->owner->indexOfPoint (point)), + newValue (newValue_), + oldValue (*point) + { + } + + bool perform() + { + return changeTo (newValue); + } + + bool undo() + { + return changeTo (oldValue); + } + +private: + const int index; + PathPoint newValue, oldValue; + + PathPoint* getPoint() const + { + PathPoint* p = getElement()->getPoint (index); + jassert (p != nullptr); + return p; + } + + bool changeTo (const PathPoint& value) const + { + showCorrectTab(); + + PaintElementPath* const path = getElement(); + jassert (path != nullptr); + + PathPoint* const p = path->getPoint (index); + jassert (p != nullptr); + + const bool typeChanged = (p->type != value.type); + *p = value; + p->owner = path; + + if (typeChanged) + path->pointListChanged(); + + path->changed(); + return true; + } +}; + + +//============================================================================== +class PathWindingModeProperty : public ChoicePropertyComponent, + public ChangeListener +{ +public: + PathWindingModeProperty (PaintElementPath* const owner_) + : ChoicePropertyComponent ("winding rule"), + owner (owner_) + { + choices.add ("Non-zero winding"); + choices.add ("Even/odd winding"); + + owner->getDocument()->addChangeListener (this); + } + + ~PathWindingModeProperty() + { + owner->getDocument()->removeChangeListener (this); + } + + void setIndex (int newIndex) { owner->setNonZeroWinding (newIndex == 0, true); } + int getIndex() const { return owner->isNonZeroWinding() ? 0 : 1; } + + void changeListenerCallback (ChangeBroadcaster*) { refresh(); } + +private: + PaintElementPath* const owner; +}; + + +//============================================================================== +PaintElementPath::PaintElementPath (PaintRoutine* pr) + : ColouredElement (pr, "Path", true, true), + nonZeroWinding (true) +{ +} + +PaintElementPath::~PaintElementPath() +{ +} + +static int randomPos (int size) +{ + return size / 4 + Random::getSystemRandom().nextInt (size / 4) - size / 8; +} + +void PaintElementPath::setInitialBounds (int w, int h) +{ + String s; + + int x = randomPos (w); + int y = randomPos (h); + + s << "s " + << x << " " << y << " l " + << (x + 30) << " " << (y + 50) << " l " + << (x - 30) << " " << (y + 50) << " x"; + + restorePathFromString (s); +} + +//============================================================================== +int PaintElementPath::getBorderSize() const +{ + return isStrokePresent ? 1 + roundFloatToInt (strokeType.stroke.getStrokeThickness()) + : 0; +} + +Rectangle PaintElementPath::getCurrentBounds (const Rectangle& parentArea) const +{ + updateStoredPath (getDocument()->getComponentLayout(), parentArea); + + Rectangle r (path.getBounds()); + + const int borderSize = getBorderSize(); + + return Rectangle ((int) r.getX() - borderSize, + (int) r.getY() - borderSize, + (int) r.getWidth() + borderSize * 2, + (int) r.getHeight() + borderSize * 2); +} + +void PaintElementPath::setCurrentBounds (const Rectangle& b, + const Rectangle& parentArea, + const bool /*undoable*/) +{ + Rectangle newBounds (b); + newBounds.setSize (jmax (1, newBounds.getWidth()), + jmax (1, newBounds.getHeight())); + + const Rectangle current (getCurrentBounds (parentArea)); + + if (newBounds != current) + { + const int borderSize = getBorderSize(); + + const int dx = newBounds.getX() - current.getX(); + const int dy = newBounds.getY() - current.getY(); + + const double scaleStartX = current.getX() + borderSize; + const double scaleStartY = current.getY() + borderSize; + const double scaleX = (newBounds.getWidth() - borderSize * 2) / (double) (current.getWidth() - borderSize * 2); + const double scaleY = (newBounds.getHeight() - borderSize * 2) / (double) (current.getHeight() - borderSize * 2); + + for (int i = 0; i < points.size(); ++i) + { + PathPoint* const destPoint = points.getUnchecked(i); + PathPoint p (*destPoint); + + for (int j = p.getNumPoints(); --j >= 0;) + rescalePoint (p.pos[j], dx, dy, + scaleX, scaleY, + scaleStartX, scaleStartY, + parentArea); + + perform (new ChangePointAction (destPoint, i, p), "Move path"); + } + } +} + +void PaintElementPath::rescalePoint (RelativePositionedRectangle& pos, int dx, int dy, + double scaleX, double scaleY, + double scaleStartX, double scaleStartY, + const Rectangle& parentArea) const +{ + double x, y, w, h; + pos.getRectangleDouble (x, y, w, h, parentArea, getDocument()->getComponentLayout()); + + x = (x - scaleStartX) * scaleX + scaleStartX + dx; + y = (y - scaleStartY) * scaleY + scaleStartY + dy; + + pos.updateFrom (x, y, w, h, parentArea, getDocument()->getComponentLayout()); +} + +//============================================================================== +static void drawArrow (Graphics& g, const Point p1, const Point p2) +{ + g.drawArrow (Line (p1.x, p1.y, (p1.x + p2.x) * 0.5f, (p1.y + p2.y) * 0.5f), 1.0f, 8.0f, 10.0f); + g.drawLine (p1.x + (p2.x - p1.x) * 0.49f, p1.y + (p2.y - p1.y) * 0.49f, p2.x, p2.y); +} + +void PaintElementPath::draw (Graphics& g, const ComponentLayout* layout, const Rectangle& parentArea) +{ + updateStoredPath (layout, parentArea); + path.setUsingNonZeroWinding (nonZeroWinding); + + fillType.setFillType (g, getDocument(), parentArea); + g.fillPath (path); + + if (isStrokePresent) + { + strokeType.fill.setFillType (g, getDocument(), parentArea); + g.strokePath (path, getStrokeType().stroke); + } +} + +void PaintElementPath::drawExtraEditorGraphics (Graphics& g, const Rectangle& relativeTo) +{ + ComponentLayout* layout = getDocument()->getComponentLayout(); + + for (int i = 0; i < points.size(); ++i) + { + PathPoint* const p = points.getUnchecked (i); + + const int numPoints = p->getNumPoints(); + + if (numPoints > 0) + { + if (owner->getSelectedPoints().isSelected (p)) + { + g.setColour (Colours::red); + Point p1, p2; + + if (numPoints > 2) + { + p1 = p->pos[1].toXY (relativeTo, layout); + p2 = p->pos[2].toXY (relativeTo, layout); + drawArrow (g, p1, p2); + } + + if (numPoints > 1) + { + p1 = p->pos[0].toXY (relativeTo, layout); + p2 = p->pos[1].toXY (relativeTo, layout); + drawArrow (g, p1, p2); + } + + p2 = p->pos[0].toXY (relativeTo, layout); + + if (const PathPoint* const nextPoint = points [i - 1]) + { + p1 = nextPoint->pos [nextPoint->getNumPoints() - 1].toXY (relativeTo, layout); + drawArrow (g, p1, p2); + } + } + } + } +} + +void PaintElementPath::resized() +{ + ColouredElement::resized(); +} + +void PaintElementPath::parentSizeChanged() +{ + repaint(); +} + +//============================================================================== +void PaintElementPath::mouseDown (const MouseEvent& e) +{ + if (e.mods.isPopupMenu() || ! owner->getSelectedElements().isSelected (this)) + mouseDownOnSegment = -1; + else + mouseDownOnSegment = findSegmentAtXY (getX() + e.x, getY() + e.y); + + if (points [mouseDownOnSegment] != nullptr) + mouseDownSelectSegmentStatus = owner->getSelectedPoints().addToSelectionOnMouseDown (points [mouseDownOnSegment], e.mods); + else + ColouredElement::mouseDown (e); +} + +void PaintElementPath::mouseDrag (const MouseEvent& e) +{ + if (mouseDownOnSegment < 0) + ColouredElement::mouseDrag (e); +} + +void PaintElementPath::mouseUp (const MouseEvent& e) +{ + if (points [mouseDownOnSegment] == 0) + ColouredElement::mouseUp (e); + else + owner->getSelectedPoints().addToSelectionOnMouseUp (points [mouseDownOnSegment], + e.mods, false, mouseDownSelectSegmentStatus); +} + +//============================================================================== +void PaintElementPath::changed() +{ + ColouredElement::changed(); + lastPathBounds = Rectangle(); +} + +void PaintElementPath::pointListChanged() +{ + changed(); + siblingComponentsChanged(); +} + +//============================================================================== +void PaintElementPath::getEditableProperties (Array & props) +{ + props.add (new PathWindingModeProperty (this)); + getColourSpecificProperties (props); +} + +//============================================================================== +static String positionToPairOfValues (const RelativePositionedRectangle& position, + const ComponentLayout* layout) +{ + String x, y, w, h; + positionToCode (position, layout, x, y, w, h); + return castToFloat (x) + ", " + castToFloat (y); +} + +void PaintElementPath::fillInGeneratedCode (GeneratedCode& code, String& paintMethodCode) +{ + if (fillType.isInvisible() && (strokeType.isInvisible() || ! isStrokePresent)) + return; + + const String pathVariable ("internalPath" + String (code.getUniqueSuffix())); + + const ComponentLayout* layout = code.document->getComponentLayout(); + + code.privateMemberDeclarations + << "Path " << pathVariable << ";\n"; + + String r; + bool somePointsAreRelative = false; + + if (! nonZeroWinding) + r << pathVariable << ".setUsingNonZeroWinding (false);\n"; + + for (int i = 0; i < points.size(); ++i) + { + const PathPoint* const p = points.getUnchecked(i); + + switch (p->type) + { + case Path::Iterator::startNewSubPath: + r << pathVariable << ".startNewSubPath (" << positionToPairOfValues (p->pos[0], layout) << ");\n"; + somePointsAreRelative = somePointsAreRelative || ! p->pos[0].rect.isPositionAbsolute(); + break; + + case Path::Iterator::lineTo: + r << pathVariable << ".lineTo (" << positionToPairOfValues (p->pos[0], layout) << ");\n"; + somePointsAreRelative = somePointsAreRelative || ! p->pos[0].rect.isPositionAbsolute(); + break; + + case Path::Iterator::quadraticTo: + r << pathVariable << ".quadraticTo (" << positionToPairOfValues (p->pos[0], layout) + << ", " << positionToPairOfValues (p->pos[1], layout) << ");\n"; + somePointsAreRelative = somePointsAreRelative || ! p->pos[0].rect.isPositionAbsolute(); + somePointsAreRelative = somePointsAreRelative || ! p->pos[1].rect.isPositionAbsolute(); + break; + + case Path::Iterator::cubicTo: + r << pathVariable << ".cubicTo (" << positionToPairOfValues (p->pos[0], layout) + << ", " << positionToPairOfValues (p->pos[1], layout) + << ", " << positionToPairOfValues (p->pos[2], layout) << ");\n"; + somePointsAreRelative = somePointsAreRelative || ! p->pos[0].rect.isPositionAbsolute(); + somePointsAreRelative = somePointsAreRelative || ! p->pos[1].rect.isPositionAbsolute(); + somePointsAreRelative = somePointsAreRelative || ! p->pos[2].rect.isPositionAbsolute(); + break; + + case Path::Iterator::closePath: + r << pathVariable << ".closeSubPath();\n"; + break; + + default: + jassertfalse; + break; + } + } + + r << '\n'; + + if (somePointsAreRelative) + code.getCallbackCode (String::empty, "void", "resized()", false) + << pathVariable << ".clear();\n" << r; + else + code.constructorCode << r; + + if (! fillType.isInvisible()) + { + fillType.fillInGeneratedCode (code, paintMethodCode); + + paintMethodCode << "g.fillPath (" << pathVariable << ");\n"; + } + + if (isStrokePresent && ! strokeType.isInvisible()) + { + String s; + + strokeType.fill.fillInGeneratedCode (code, s); + s << "g.strokePath (" << pathVariable << ", " << strokeType.getPathStrokeCode() << ");\n"; + + paintMethodCode += s; + } + + paintMethodCode += "\n"; +} + +//============================================================================== +XmlElement* PaintElementPath::createXml() const +{ + XmlElement* e = new XmlElement (getTagName()); + position.applyToXml (*e); + addColourAttributes (e); + e->setAttribute ("nonZeroWinding", nonZeroWinding); + e->addTextElement (pathToString()); + + return e; +} + +bool PaintElementPath::loadFromXml (const XmlElement& xml) +{ + if (xml.hasTagName (getTagName())) + { + position.restoreFromXml (xml, position); + loadColourAttributes (xml); + nonZeroWinding = xml.getBoolAttribute ("nonZeroWinding", true); + + restorePathFromString (xml.getAllSubText().trim()); + + return true; + } + + jassertfalse; + return false; +} + +//============================================================================== +void PaintElementPath::createSiblingComponents() +{ + ColouredElement::createSiblingComponents(); + + for (int i = 0; i < points.size(); ++i) + { + switch (points.getUnchecked(i)->type) + { + case Path::Iterator::startNewSubPath: + siblingComponents.add (new PathPointComponent (this, i, 0)); + break; + case Path::Iterator::lineTo: + siblingComponents.add (new PathPointComponent (this, i, 0)); + break; + case Path::Iterator::quadraticTo: + siblingComponents.add (new PathPointComponent (this, i, 0)); + siblingComponents.add (new PathPointComponent (this, i, 1)); + break; + case Path::Iterator::cubicTo: + siblingComponents.add (new PathPointComponent (this, i, 0)); + siblingComponents.add (new PathPointComponent (this, i, 1)); + siblingComponents.add (new PathPointComponent (this, i, 2)); + break; + case Path::Iterator::closePath: + break; + + default: + jassertfalse; break; + } + } + + for (int i = 0; i < siblingComponents.size(); ++i) + { + getParentComponent()->addAndMakeVisible (siblingComponents.getUnchecked(i)); + siblingComponents.getUnchecked(i)->updatePosition(); + } +} + + +String PaintElementPath::pathToString() const +{ + String s; + + for (int i = 0; i < points.size(); ++i) + { + const PathPoint* const p = points.getUnchecked(i); + + switch (p->type) + { + case Path::Iterator::startNewSubPath: + s << "s " << p->pos[0].toString() << ' '; + break; + case Path::Iterator::lineTo: + s << "l " << p->pos[0].toString() << ' '; + break; + case Path::Iterator::quadraticTo: + s << "q " << p->pos[0].toString() + << ' ' << p->pos[1].toString() << ' '; + break; + case Path::Iterator::cubicTo: + s << "c " << p->pos[0].toString() + << ' ' << p->pos[1].toString() << ' ' + << ' ' << p->pos[2].toString() << ' '; + break; + case Path::Iterator::closePath: + s << "x "; + break; + + default: + jassertfalse; break; + } + } + + return s.trimEnd(); +} + +void PaintElementPath::restorePathFromString (const String& s) +{ + points.clear(); + + StringArray tokens; + tokens.addTokens (s, false); + tokens.trim(); + tokens.removeEmptyStrings(); + + for (int i = 0; i < tokens.size(); ++i) + { + ScopedPointer p (new PathPoint (this)); + + if (tokens[i] == "s") + { + p->type = Path::Iterator::startNewSubPath; + p->pos [0] = RelativePositionedRectangle(); + p->pos [0].rect = PositionedRectangle (tokens [i + 1] + " " + tokens [i + 2]); + i += 2; + } + else if (tokens[i] == "l") + { + p->type = Path::Iterator::lineTo; + p->pos [0] = RelativePositionedRectangle(); + p->pos [0].rect = PositionedRectangle (tokens [i + 1] + " " + tokens [i + 2]); + i += 2; + } + else if (tokens[i] == "q") + { + p->type = Path::Iterator::quadraticTo; + p->pos [0] = RelativePositionedRectangle(); + p->pos [0].rect = PositionedRectangle (tokens [i + 1] + " " + tokens [i + 2]); + p->pos [1] = RelativePositionedRectangle(); + p->pos [1].rect = PositionedRectangle (tokens [i + 3] + " " + tokens [i + 4]); + i += 4; + } + else if (tokens[i] == "c") + { + p->type = Path::Iterator::cubicTo; + p->pos [0] = RelativePositionedRectangle(); + p->pos [0].rect = PositionedRectangle (tokens [i + 1] + " " + tokens [i + 2]); + p->pos [1] = RelativePositionedRectangle(); + p->pos [1].rect = PositionedRectangle (tokens [i + 3] + " " + tokens [i + 4]); + p->pos [2] = RelativePositionedRectangle(); + p->pos [2].rect = PositionedRectangle (tokens [i + 5] + " " + tokens [i + 6]); + i += 6; + } + else if (tokens[i] == "x") + { + p->type = Path::Iterator::closePath; + } + else + continue; + + points.add (p.release()); + } +} + +void PaintElementPath::setToPath (const Path& newPath) +{ + points.clear(); + + Path::Iterator i (newPath); + + while (i.next()) + { + ScopedPointer p (new PathPoint (this)); + p->type = i.elementType; + + if (i.elementType == Path::Iterator::startNewSubPath) + { + p->pos [0].rect.setX (i.x1); + p->pos [0].rect.setY (i.y1); + } + else if (i.elementType == Path::Iterator::lineTo) + { + p->pos [0].rect.setX (i.x1); + p->pos [0].rect.setY (i.y1); + } + else if (i.elementType == Path::Iterator::quadraticTo) + { + p->pos [0].rect.setX (i.x1); + p->pos [0].rect.setY (i.y1); + p->pos [1].rect.setX (i.x2); + p->pos [1].rect.setY (i.y2); + } + else if (i.elementType == Path::Iterator::cubicTo) + { + p->pos [0].rect.setX (i.x1); + p->pos [0].rect.setY (i.y1); + p->pos [1].rect.setX (i.x2); + p->pos [1].rect.setY (i.y2); + p->pos [2].rect.setX (i.x3); + p->pos [2].rect.setY (i.y3); + } + else if (i.elementType == Path::Iterator::closePath) + { + } + else + { + continue; + } + + points.add (p.release()); + } +} + +void PaintElementPath::updateStoredPath (const ComponentLayout* layout, const Rectangle& relativeTo) const +{ + if (lastPathBounds != relativeTo && ! relativeTo.isEmpty()) + { + lastPathBounds = relativeTo; + path.clear(); + + for (int i = 0; i < points.size(); ++i) + { + const PathPoint* const p = points.getUnchecked(i); + + switch (p->type) + { + case Path::Iterator::startNewSubPath: + path.startNewSubPath (p->pos[0].toXY (relativeTo, layout)); + break; + + case Path::Iterator::lineTo: + path.lineTo (p->pos[0].toXY (relativeTo, layout)); + break; + + case Path::Iterator::quadraticTo: + path.quadraticTo (p->pos[0].toXY (relativeTo, layout), + p->pos[1].toXY (relativeTo, layout)); + break; + + case Path::Iterator::cubicTo: + path.cubicTo (p->pos[0].toXY (relativeTo, layout), + p->pos[1].toXY (relativeTo, layout), + p->pos[2].toXY (relativeTo, layout)); + break; + + case Path::Iterator::closePath: + path.closeSubPath(); + break; + + default: + jassertfalse; break; + } + } + } +} + +//============================================================================== +class ChangeWindingAction : public PaintElementUndoableAction +{ +public: + ChangeWindingAction (PaintElementPath* const path, const bool newValue_) + : PaintElementUndoableAction (path), + newValue (newValue_), + oldValue (path->isNonZeroWinding()) + { + } + + bool perform() + { + showCorrectTab(); + getElement()->setNonZeroWinding (newValue, false); + return true; + } + + bool undo() + { + showCorrectTab(); + getElement()->setNonZeroWinding (oldValue, false); + return true; + } + +private: + bool newValue, oldValue; +}; + +void PaintElementPath::setNonZeroWinding (const bool nonZero, const bool undoable) +{ + if (nonZero != nonZeroWinding) + { + if (undoable) + { + perform (new ChangeWindingAction (this, nonZero), "Change path winding rule"); + } + else + { + nonZeroWinding = nonZero; + changed(); + } + } +} + +bool PaintElementPath::isSubpathClosed (int index) const +{ + for (int i = index + 1; i < points.size(); ++i) + { + if (points.getUnchecked (i)->type == Path::Iterator::closePath) + return true; + + if (points.getUnchecked (i)->type == Path::Iterator::startNewSubPath) + break; + } + + return false; +} + +//============================================================================== +void PaintElementPath::setSubpathClosed (int index, const bool closed, const bool undoable) +{ + if (closed != isSubpathClosed (index)) + { + for (int i = index + 1; i < points.size(); ++i) + { + PathPoint* p = points.getUnchecked (i); + + if (p->type == Path::Iterator::closePath) + { + jassert (! closed); + + deletePoint (i, undoable); + return; + } + + if (p->type == Path::Iterator::startNewSubPath) + { + jassert (closed); + + PathPoint* pp = addPoint (i - 1, undoable); + + PathPoint p2 (*pp); + p2.type = Path::Iterator::closePath; + perform (new ChangePointAction (pp, p2), "Close subpath"); + return; + } + } + + jassert (closed); + + PathPoint* p = addPoint (points.size() - 1, undoable); + PathPoint p2 (*p); + p2.type = Path::Iterator::closePath; + perform (new ChangePointAction (p, p2), "Close subpath"); + } +} + +//============================================================================== +class AddPointAction : public PaintElementUndoableAction +{ +public: + AddPointAction (PaintElementPath* path, int pointIndexToAddItAfter_) + : PaintElementUndoableAction (path), + indexAdded (-1), + pointIndexToAddItAfter (pointIndexToAddItAfter_) + { + } + + bool perform() + { + showCorrectTab(); + + PaintElementPath* const path = getElement(); + jassert (path != nullptr); + + PathPoint* const p = path->addPoint (pointIndexToAddItAfter, false); + jassert (p != nullptr); + + indexAdded = path->indexOfPoint (p); + jassert (indexAdded >= 0); + return true; + } + + bool undo() + { + showCorrectTab(); + + PaintElementPath* const path = getElement(); + jassert (path != nullptr); + + path->deletePoint (indexAdded, false); + return true; + } + + int indexAdded; + +private: + int pointIndexToAddItAfter; +}; + +PathPoint* PaintElementPath::addPoint (int pointIndexToAddItAfter, const bool undoable) +{ + if (undoable) + { + AddPointAction* action = new AddPointAction (this, pointIndexToAddItAfter); + perform (action, "Add path point"); + return points [action->indexAdded]; + } + + double x1 = 20.0, y1 = 20.0, x2, y2; + + ComponentLayout* layout = getDocument()->getComponentLayout(); + const Rectangle area (((PaintRoutineEditor*) getParentComponent())->getComponentArea()); + + if (points [pointIndexToAddItAfter] != nullptr) + points [pointIndexToAddItAfter]->pos [points [pointIndexToAddItAfter]->getNumPoints() - 1].getXY (x1, y1, area, layout); + else if (points[0] != nullptr) + points[0]->pos[0].getXY (x1, y1, area, layout); + + x2 = x1 + 50.0; + y2 = y1 + 50.0; + + if (points [pointIndexToAddItAfter + 1] != nullptr) + { + if (points [pointIndexToAddItAfter + 1]->type == Path::Iterator::closePath + || points [pointIndexToAddItAfter + 1]->type == Path::Iterator::startNewSubPath) + { + int i = pointIndexToAddItAfter; + while (i > 0) + if (points [--i]->type == Path::Iterator::startNewSubPath) + break; + + if (i != pointIndexToAddItAfter) + points [i]->pos[0].getXY (x2, y2, area, layout); + } + else + { + points [pointIndexToAddItAfter + 1]->pos[0].getXY (x2, y2, area, layout); + } + } + else + { + int i = pointIndexToAddItAfter + 1; + while (i > 0) + if (points [--i]->type == Path::Iterator::startNewSubPath) + break; + + points[i]->pos[0].getXY (x2, y2, area, layout); + } + + PathPoint* const p = new PathPoint (this); + + p->type = Path::Iterator::lineTo; + p->pos[0].rect.setX ((x1 + x2) * 0.5f); + p->pos[0].rect.setY ((y1 + y2) * 0.5f); + + points.insert (pointIndexToAddItAfter + 1, p); + + pointListChanged(); + return p; +} + +//============================================================================== +class DeletePointAction : public PaintElementUndoableAction +{ +public: + DeletePointAction (PaintElementPath* const path, const int indexToRemove_) + : PaintElementUndoableAction (path), + indexToRemove (indexToRemove_), + oldValue (*path->getPoint (indexToRemove)) + { + } + + bool perform() + { + showCorrectTab(); + + PaintElementPath* const path = getElement(); + jassert (path != nullptr); + + path->deletePoint (indexToRemove, false); + return path != nullptr; + } + + bool undo() + { + showCorrectTab(); + + PaintElementPath* const path = getElement(); + jassert (path != nullptr); + + PathPoint* p = path->addPoint (indexToRemove - 1, false); + *p = oldValue; + + return path != nullptr; + } + + int indexToRemove; + +private: + PathPoint oldValue; +}; + +void PaintElementPath::deletePoint (int pointIndex, const bool undoable) +{ + if (undoable) + { + perform (new DeletePointAction (this, pointIndex), "Delete path point"); + } + else + { + PathPoint* const p = points [pointIndex]; + + if (p != nullptr && pointIndex > 0) + { + owner->getSelectedPoints().deselect (p); + owner->getSelectedPoints().changed (true); + + points.remove (pointIndex); + pointListChanged(); + } + } +} + +//============================================================================== +bool PaintElementPath::getPoint (int index, int pointNumber, double& x, double& y, const Rectangle& parentArea) const +{ + const PathPoint* const p = points [index]; + + if (p == nullptr) + { + x = y = 0; + return false; + } + + jassert (pointNumber < 3 || p->type == Path::Iterator::cubicTo); + jassert (pointNumber < 2 || p->type == Path::Iterator::cubicTo || p->type == Path::Iterator::quadraticTo); + + p->pos [pointNumber].getXY (x, y, parentArea, getDocument()->getComponentLayout()); + return true; +} + +int PaintElementPath::findSegmentAtXY (int x, int y) const +{ + double x1, y1, x2, y2, x3, y3, lastX = 0.0, lastY = 0.0, subPathStartX = 0.0, subPathStartY = 0.0; + + ComponentLayout* const layout = getDocument()->getComponentLayout(); + const Rectangle area (((PaintRoutineEditor*) getParentComponent())->getComponentArea()); + + int subpathStartIndex = 0; + + float thickness = 10.0f; + if (isStrokePresent) + thickness = jmax (thickness, strokeType.stroke.getStrokeThickness()); + + for (int i = 0; i < points.size(); ++i) + { + Path segmentPath; + PathPoint* const p = points.getUnchecked (i); + + switch (p->type) + { + case Path::Iterator::startNewSubPath: + p->pos[0].getXY (lastX, lastY, area, layout); + subPathStartX = lastX; + subPathStartY = lastY; + subpathStartIndex = i; + break; + + case Path::Iterator::lineTo: + p->pos[0].getXY (x1, y1, area, layout); + + segmentPath.addLineSegment (Line ((float) lastX, (float) lastY, (float) x1, (float) y1), thickness); + if (segmentPath.contains ((float) x, (float) y)) + return i; + + lastX = x1; + lastY = y1; + break; + + case Path::Iterator::quadraticTo: + p->pos[0].getXY (x1, y1, area, layout); + p->pos[1].getXY (x2, y2, area, layout); + + segmentPath.startNewSubPath ((float) lastX, (float) lastY); + segmentPath.quadraticTo ((float) x1, (float) y1, (float) x2, (float) y2); + PathStrokeType (thickness).createStrokedPath (segmentPath, segmentPath); + + if (segmentPath.contains ((float) x, (float) y)) + return i; + + lastX = x2; + lastY = y2; + break; + + case Path::Iterator::cubicTo: + p->pos[0].getXY (x1, y1, area, layout); + p->pos[1].getXY (x2, y2, area, layout); + p->pos[2].getXY (x3, y3, area, layout); + + segmentPath.startNewSubPath ((float) lastX, (float) lastY); + segmentPath.cubicTo ((float) x1, (float) y1, (float) x2, (float) y2, (float) x3, (float) y3); + PathStrokeType (thickness).createStrokedPath (segmentPath, segmentPath); + + if (segmentPath.contains ((float) x, (float) y)) + return i; + + lastX = x3; + lastY = y3; + break; + + case Path::Iterator::closePath: + segmentPath.addLineSegment (Line ((float) lastX, (float) lastY, (float) subPathStartX, (float) subPathStartY), thickness); + if (segmentPath.contains ((float) x, (float) y)) + return subpathStartIndex; + + lastX = subPathStartX; + lastY = subPathStartY; + break; + + default: + jassertfalse; break; + } + } + + return -1; +} + +//============================================================================== +void PaintElementPath::movePoint (int index, int pointNumber, + double newX, double newY, + const Rectangle& parentArea, + const bool undoable) +{ + if (PathPoint* const p = points [index]) + { + PathPoint newPoint (*p); + jassert (pointNumber < 3 || p->type == Path::Iterator::cubicTo); + jassert (pointNumber < 2 || p->type == Path::Iterator::cubicTo || p->type == Path::Iterator::quadraticTo); + + RelativePositionedRectangle& pr = newPoint.pos [pointNumber]; + + double x, y, w, h; + pr.getRectangleDouble (x, y, w, h, parentArea, getDocument()->getComponentLayout()); + pr.updateFrom (newX, newY, w, h, parentArea, getDocument()->getComponentLayout()); + + if (undoable) + { + perform (new ChangePointAction (p, index, newPoint), "Move path point"); + } + else + { + *p = newPoint; + changed(); + } + } +} + +RelativePositionedRectangle PaintElementPath::getPoint (int index, int pointNumber) const +{ + if (PathPoint* const p = points [index]) + { + jassert (pointNumber < 3 || p->type == Path::Iterator::cubicTo); + jassert (pointNumber < 2 || p->type == Path::Iterator::cubicTo || p->type == Path::Iterator::quadraticTo); + + return p->pos [pointNumber]; + } + + jassertfalse; + return RelativePositionedRectangle(); +} + +void PaintElementPath::setPoint (int index, int pointNumber, const RelativePositionedRectangle& newPos, const bool undoable) +{ + if (PathPoint* const p = points [index]) + { + PathPoint newPoint (*p); + + jassert (pointNumber < 3 || p->type == Path::Iterator::cubicTo); + jassert (pointNumber < 2 || p->type == Path::Iterator::cubicTo || p->type == Path::Iterator::quadraticTo); + + if (newPoint.pos [pointNumber] != newPos) + { + newPoint.pos [pointNumber] = newPos; + + if (undoable) + { + perform (new ChangePointAction (p, index, newPoint), "Change path point position"); + } + else + { + *p = newPoint; + changed(); + } + } + } + else + { + jassertfalse; + } +} + +//============================================================================== +class PathPointTypeProperty : public ChoicePropertyComponent, + public ChangeListener +{ +public: + PathPointTypeProperty (PaintElementPath* const owner_, + const int index_) + : ChoicePropertyComponent ("point type"), + owner (owner_), + index (index_) + { + choices.add ("Start of sub-path"); + choices.add ("Line"); + choices.add ("Quadratic"); + choices.add ("Cubic"); + + owner->getDocument()->addChangeListener (this); + } + + ~PathPointTypeProperty() + { + owner->getDocument()->removeChangeListener (this); + } + + void setIndex (int newIndex) + { + Path::Iterator::PathElementType type = Path::Iterator::startNewSubPath; + + switch (newIndex) + { + case 0: type = Path::Iterator::startNewSubPath; break; + case 1: type = Path::Iterator::lineTo; break; + case 2: type = Path::Iterator::quadraticTo; break; + case 3: type = Path::Iterator::cubicTo; break; + default: jassertfalse; break; + } + + const Rectangle area (((PaintRoutineEditor*) owner->getParentComponent())->getComponentArea()); + owner->getPoint (index)->changePointType (type, area, true); + } + + int getIndex() const + { + const PathPoint* const p = owner->getPoint (index); + jassert (p != nullptr); + + switch (p->type) + { + case Path::Iterator::startNewSubPath: return 0; + case Path::Iterator::lineTo: return 1; + case Path::Iterator::quadraticTo: return 2; + case Path::Iterator::cubicTo: return 3; + case Path::Iterator::closePath: break; + default: jassertfalse; break; + } + + return 0; + } + + void changeListenerCallback (ChangeBroadcaster*) + { + refresh(); + } + +private: + PaintElementPath* const owner; + const int index; +}; + +//============================================================================== +class PathPointPositionProperty : public PositionPropertyBase +{ +public: + PathPointPositionProperty (PaintElementPath* const owner_, + const int index_, const int pointNumber_, + const String& name, + ComponentPositionDimension dimension_) + : PositionPropertyBase (owner_, name, dimension_, false, false, + owner_->getDocument()->getComponentLayout()), + owner (owner_), + index (index_), + pointNumber (pointNumber_) + { + owner->getDocument()->addChangeListener (this); + } + + ~PathPointPositionProperty() + { + owner->getDocument()->removeChangeListener (this); + } + + void setPosition (const RelativePositionedRectangle& newPos) + { + owner->setPoint (index, pointNumber, newPos, true); + } + + RelativePositionedRectangle getPosition() const + { + return owner->getPoint (index, pointNumber); + } + +private: + PaintElementPath* const owner; + const int index, pointNumber; +}; + +//============================================================================== +class PathPointClosedProperty : public ChoicePropertyComponent, + private ChangeListener +{ +public: + PathPointClosedProperty (PaintElementPath* const owner_, const int index_) + : ChoicePropertyComponent ("openness"), + owner (owner_), + index (index_) + { + owner->getDocument()->addChangeListener (this); + + choices.add ("Subpath is closed"); + choices.add ("Subpath is open-ended"); + } + + ~PathPointClosedProperty() + { + owner->getDocument()->removeChangeListener (this); + } + + void changeListenerCallback (ChangeBroadcaster*) + { + refresh(); + } + + void setIndex (int newIndex) + { + owner->setSubpathClosed (index, newIndex == 0, true); + } + + int getIndex() const + { + return owner->isSubpathClosed (index) ? 0 : 1; + } + +private: + PaintElementPath* const owner; + const int index; +}; + +//============================================================================== +class AddNewPointProperty : public ButtonPropertyComponent +{ +public: + AddNewPointProperty (PaintElementPath* const owner_, const int index_) + : ButtonPropertyComponent ("new point", false), + owner (owner_), + index (index_) + { + } + + void buttonClicked() + { + owner->addPoint (index, true); + } + + String getButtonText() const { return "Add new point"; } + +private: + PaintElementPath* const owner; + const int index; +}; + + +//============================================================================== +PathPoint::PathPoint (PaintElementPath* const owner_) + : owner (owner_) +{ +} + +PathPoint::PathPoint (const PathPoint& other) + : owner (other.owner), + type (other.type) +{ + pos [0] = other.pos [0]; + pos [1] = other.pos [1]; + pos [2] = other.pos [2]; +} + +PathPoint& PathPoint::operator= (const PathPoint& other) +{ + owner = other.owner; + type = other.type; + pos [0] = other.pos [0]; + pos [1] = other.pos [1]; + pos [2] = other.pos [2]; + return *this; +} + +PathPoint::~PathPoint() +{ +} + +int PathPoint::getNumPoints() const +{ + if (type == Path::Iterator::cubicTo) return 3; + if (type == Path::Iterator::quadraticTo) return 2; + if (type == Path::Iterator::closePath) return 0; + + return 1; +} + +PathPoint PathPoint::withChangedPointType (const Path::Iterator::PathElementType newType, + const Rectangle& parentArea) const +{ + PathPoint p (*this); + + if (newType != p.type) + { + int oldNumPoints = getNumPoints(); + p.type = newType; + int numPoints = p.getNumPoints(); + + if (numPoints != oldNumPoints) + { + double lastX, lastY; + double x, y, w, h; + + p.pos [numPoints - 1] = p.pos [oldNumPoints - 1]; + p.pos [numPoints - 1].getRectangleDouble (x, y, w, h, parentArea, owner->getDocument()->getComponentLayout()); + + const int index = owner->points.indexOf (this); + + if (PathPoint* lastPoint = owner->points [index - 1]) + { + lastPoint->pos [lastPoint->getNumPoints() - 1] + .getRectangleDouble (lastX, lastY, w, h, parentArea, owner->getDocument()->getComponentLayout()); + } + else + { + jassertfalse; + lastX = x; + lastY = y; + } + + for (int i = 0; i < numPoints - 1; ++i) + { + p.pos[i] = p.pos [numPoints - 1]; + + p.pos[i].updateFrom (lastX + (x - lastX) * (i + 1) / numPoints, + lastY + (y - lastY) * (i + 1) / numPoints, + w, h, + parentArea, + owner->getDocument()->getComponentLayout()); + } + } + } + + return p; +} + +void PathPoint::changePointType (const Path::Iterator::PathElementType newType, + const Rectangle& parentArea, const bool undoable) +{ + if (newType != type) + { + if (undoable) + { + owner->perform (new ChangePointAction (this, withChangedPointType (newType, parentArea)), + "Change path point type"); + } + else + { + *this = withChangedPointType (newType, parentArea); + owner->pointListChanged(); + } + } +} + +void PathPoint::getEditableProperties (Array& props) +{ + const int index = owner->points.indexOf (this); + jassert (index >= 0); + + switch (type) + { + case Path::Iterator::startNewSubPath: + props.add (new PathPointPositionProperty (owner, index, 0, "x", PositionPropertyBase::componentX)); + props.add (new PathPointPositionProperty (owner, index, 0, "y", PositionPropertyBase::componentY)); + + props.add (new PathPointClosedProperty (owner, index)); + props.add (new AddNewPointProperty (owner, index)); + break; + + case Path::Iterator::lineTo: + props.add (new PathPointTypeProperty (owner, index)); + props.add (new PathPointPositionProperty (owner, index, 0, "x", PositionPropertyBase::componentX)); + props.add (new PathPointPositionProperty (owner, index, 0, "y", PositionPropertyBase::componentY)); + props.add (new AddNewPointProperty (owner, index)); + break; + + case Path::Iterator::quadraticTo: + props.add (new PathPointTypeProperty (owner, index)); + props.add (new PathPointPositionProperty (owner, index, 0, "control pt x", PositionPropertyBase::componentX)); + props.add (new PathPointPositionProperty (owner, index, 0, "control pt y", PositionPropertyBase::componentY)); + props.add (new PathPointPositionProperty (owner, index, 1, "x", PositionPropertyBase::componentX)); + props.add (new PathPointPositionProperty (owner, index, 1, "y", PositionPropertyBase::componentY)); + props.add (new AddNewPointProperty (owner, index)); + break; + + case Path::Iterator::cubicTo: + props.add (new PathPointTypeProperty (owner, index)); + props.add (new PathPointPositionProperty (owner, index, 0, "control pt1 x", PositionPropertyBase::componentX)); + props.add (new PathPointPositionProperty (owner, index, 0, "control pt1 y", PositionPropertyBase::componentY)); + props.add (new PathPointPositionProperty (owner, index, 1, "control pt2 x", PositionPropertyBase::componentX)); + props.add (new PathPointPositionProperty (owner, index, 1, "control pt2 y", PositionPropertyBase::componentY)); + props.add (new PathPointPositionProperty (owner, index, 2, "x", PositionPropertyBase::componentX)); + props.add (new PathPointPositionProperty (owner, index, 2, "y", PositionPropertyBase::componentY)); + props.add (new AddNewPointProperty (owner, index)); + break; + + case Path::Iterator::closePath: + break; + + default: + jassertfalse; + break; + } +} + +void PathPoint::deleteFromPath() +{ + owner->deletePoint (owner->points.indexOf (this), true); +} + +//============================================================================== +PathPointComponent::PathPointComponent (PaintElementPath* const path_, + const int index_, + const int pointNumber_) + : ElementSiblingComponent (path_), + path (path_), + routine (path_->getOwner()), + index (index_), + pointNumber (pointNumber_), + selected (false) +{ + setSize (11, 11); + setRepaintsOnMouseActivity (true); + + selected = routine->getSelectedPoints().isSelected (path_->points [index]); + routine->getSelectedPoints().addChangeListener (this); +} + +PathPointComponent::~PathPointComponent() +{ + routine->getSelectedPoints().removeChangeListener (this); +} + +void PathPointComponent::updatePosition() +{ + const Rectangle area (((PaintRoutineEditor*) getParentComponent())->getComponentArea()); + jassert (getParentComponent() != nullptr); + + double x, y; + path->getPoint (index, pointNumber, x, y, area); + + setCentrePosition (roundToInt (x), + roundToInt (y)); +} + +void PathPointComponent::showPopupMenu() +{ +} + +void PathPointComponent::paint (Graphics& g) +{ + if (isMouseOverOrDragging()) + g.fillAll (Colours::red); + + if (selected) + { + g.setColour (Colours::red); + g.drawRect (getLocalBounds()); + } + + g.setColour (Colours::white); + g.fillRect (getWidth() / 2 - 3, getHeight() / 2 - 3, 7, 7); + + g.setColour (Colours::black); + + if (pointNumber < path->getPoint (index)->getNumPoints() - 1) + g.drawRect (getWidth() / 2 - 2, getHeight() / 2 - 2, 5, 5); + else + g.fillRect (getWidth() / 2 - 2, getHeight() / 2 - 2, 5, 5); +} + +void PathPointComponent::mouseDown (const MouseEvent& e) +{ + dragging = false; + + if (e.mods.isPopupMenu()) + { + showPopupMenu(); + return; // this may be deleted now.. + } + + dragX = getX() + getWidth() / 2; + dragY = getY() + getHeight() / 2; + + mouseDownSelectStatus = routine->getSelectedPoints().addToSelectionOnMouseDown (path->points [index], e.mods); + + owner->getDocument()->beginTransaction(); +} + +void PathPointComponent::mouseDrag (const MouseEvent& e) +{ + if (! e.mods.isPopupMenu()) + { + if (selected && ! dragging) + dragging = e.mouseWasDraggedSinceMouseDown(); + + if (dragging) + { + const Rectangle area (((PaintRoutineEditor*) getParentComponent())->getComponentArea()); + int x = dragX + e.getDistanceFromDragStartX() - area.getX(); + int y = dragY + e.getDistanceFromDragStartY() - area.getY(); + + if (JucerDocument* const document = owner->getDocument()) + { + x = document->snapPosition (x); + y = document->snapPosition (y); + } + + owner->getDocument()->getUndoManager().undoCurrentTransactionOnly(); + path->movePoint (index, pointNumber, x + area.getX(), y + area.getY(), area, true); + } + } +} + +void PathPointComponent::mouseUp (const MouseEvent& e) +{ + routine->getSelectedPoints().addToSelectionOnMouseUp (path->points [index], + e.mods, dragging, + mouseDownSelectStatus); +} + +void PathPointComponent::changeListenerCallback (ChangeBroadcaster* source) +{ + ElementSiblingComponent::changeListenerCallback (source); + + const bool nowSelected = routine->getSelectedPoints().isSelected (path->points [index]); + + if (nowSelected != selected) + { + selected = nowSelected; + repaint(); + + if (Component* parent = getParentComponent()) + parent->repaint(); + } +} 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/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h b/extras/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h new file mode 100644 index 00000000..a91714ab --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h @@ -0,0 +1,212 @@ +/* + ============================================================================== + + 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_COLOURPROPERTYCOMPONENT_H_INCLUDED +#define JUCER_COLOURPROPERTYCOMPONENT_H_INCLUDED + + +class JucerColourPropertyComponent : public PropertyComponent +{ +public: + JucerColourPropertyComponent (const String& name, + const bool canReset) + : PropertyComponent (name) + { + colourPropEditor = new ColourPropEditorComponent (this, canReset); + addAndMakeVisible (colourPropEditor); + } + + virtual void setColour (Colour newColour) = 0; + virtual Colour getColour() const = 0; + virtual void resetToDefault() = 0; + + void refresh() override + { + ((ColourPropEditorComponent*) getChildComponent (0))->refresh(); + } + + class ColourEditorComponent : public Component, + public ChangeListener + { + public: + ColourEditorComponent (const bool canReset) + : canResetToDefault (canReset) + { + } + + void paint (Graphics& g) override + { + g.fillAll (Colours::grey); + + g.fillCheckerBoard (getLocalBounds().reduced (2, 2), + 10, 10, + Colour (0xffdddddd).overlaidWith (colour), + Colour (0xffffffff).overlaidWith (colour)); + + g.setColour (Colours::white.overlaidWith (colour).contrasting()); + g.setFont (Font (getHeight() * 0.6f, Font::bold)); + g.drawFittedText (colour.toDisplayString (true), + 2, 1, getWidth() - 4, getHeight() - 1, + Justification::centred, 1); + } + + virtual void setColour (Colour newColour) = 0; + virtual void resetToDefault() = 0; + virtual Colour getColour() const = 0; + + void refresh() + { + const Colour col (getColour()); + + if (col != colour) + { + colour = col; + repaint(); + } + } + + void mouseDown (const MouseEvent&) override + { + CallOutBox::launchAsynchronously (new ColourSelectorComp (this, canResetToDefault), + getScreenBounds(), nullptr); + } + + void changeListenerCallback (ChangeBroadcaster* source) override + { + const ColourSelector* const cs = (const ColourSelector*) source; + + if (cs->getCurrentColour() != getColour()) + setColour (cs->getCurrentColour()); + } + + class ColourSelectorComp : public Component, + public ButtonListener + { + public: + ColourSelectorComp (ColourEditorComponent* owner_, + const bool canReset) + : owner (owner_), + defaultButton ("Reset to Default") + { + addAndMakeVisible (selector); + selector.setName ("Colour"); + selector.setCurrentColour (owner->getColour()); + selector.addChangeListener (owner); + + if (canReset) + { + addAndMakeVisible (defaultButton); + defaultButton.addListener (this); + } + + setSize (300, 400); + } + + void resized() override + { + if (defaultButton.isVisible()) + { + selector.setBounds (0, 0, getWidth(), getHeight() - 30); + defaultButton.changeWidthToFitText (22); + defaultButton.setTopLeftPosition (10, getHeight() - 26); + } + else + { + selector.setBounds (getLocalBounds()); + } + } + + void buttonClicked (Button*) override + { + owner->resetToDefault(); + owner->refresh(); + selector.setCurrentColour (owner->getColour()); + } + + private: + class ColourSelectorWithSwatches : public ColourSelector + { + public: + ColourSelectorWithSwatches() + { + } + + int getNumSwatches() const override + { + return getAppSettings().swatchColours.size(); + } + + Colour getSwatchColour (int index) const override + { + return getAppSettings().swatchColours [index]; + } + + void setSwatchColour (int index, const Colour& newColour) const override + { + getAppSettings().swatchColours.set (index, newColour); + } + }; + + ColourEditorComponent* owner; + ColourSelectorWithSwatches selector; + TextButton defaultButton; + }; + + private: + Colour colour; + bool canResetToDefault; + }; + + class ColourPropEditorComponent : public ColourEditorComponent + { + JucerColourPropertyComponent* const owner; + + public: + ColourPropEditorComponent (JucerColourPropertyComponent* const owner_, + const bool canReset) + : ColourEditorComponent (canReset), + owner (owner_) + {} + + void setColour (Colour newColour) override + { + owner->setColour (newColour); + } + + Colour getColour() const override + { + return owner->getColour(); + } + + void resetToDefault() override + { + owner->resetToDefault(); + } + }; + + ScopedPointer colourPropEditor; +}; + + +#endif // JUCER_COLOURPROPERTYCOMPONENT_H_INCLUDED 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/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp new file mode 100644 index 00000000..bcca9cc5 --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp @@ -0,0 +1,426 @@ +/* + ============================================================================== + + 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 "jucer_ComponentLayoutEditor.h" +#include "../ui/jucer_JucerCommandIDs.h" +#include "../jucer_ObjectTypes.h" +#include "../components/jucer_JucerComponentHandler.h" + +//============================================================================== +class SubComponentHolderComp : public Component +{ +public: + SubComponentHolderComp (JucerDocument& doc, + SnapGridPainter& g) + : document (doc), grid (g), + dontFillBackground (false) + { + setInterceptsMouseClicks (false, false); + setWantsKeyboardFocus (false); + setFocusContainer (true); + } + + void paint (Graphics& g) override + { + if (! dontFillBackground) + { + if (PaintRoutine* const background = document.getPaintRoutine (0)) + { + background->fillWithBackground (g, false); + background->drawElements (g, getLocalBounds()); + + grid.draw (g, background); + } + else + grid.draw (g, nullptr); + } + } + + void resized() override + { + if (! getBounds().isEmpty()) + { + int numTimesToTry = 10; + + while (--numTimesToTry >= 0) + { + bool anyCompsMoved = false; + + for (int i = 0; i < getNumChildComponents(); ++i) + { + Component* comp = getChildComponent (i); + + if (ComponentTypeHandler* const type = ComponentTypeHandler::getHandlerFor (*comp)) + { + const Rectangle newBounds (type->getComponentPosition (comp) + .getRectangle (getLocalBounds(), + document.getComponentLayout())); + + anyCompsMoved = anyCompsMoved || (comp->getBounds() != newBounds); + comp->setBounds (newBounds); + } + } + + // repeat this loop until they've all stopped shuffling (might require a few + // loops for all the relative positioned comps to settle down) + if (! anyCompsMoved) + break; + } + } + } + + void moved() override + { + ((ComponentLayoutEditor*) getParentComponent())->updateOverlayPositions(); + } + + JucerDocument& document; + SnapGridPainter& grid; + bool dontFillBackground; +}; + +//============================================================================== +ComponentLayoutEditor::ComponentLayoutEditor (JucerDocument& doc, ComponentLayout& cl) + : document (doc), layout (cl), firstResize (true) +{ + setWantsKeyboardFocus (true); + + addAndMakeVisible (subCompHolder = new SubComponentHolderComp (document, grid)); + + refreshAllComponents(); + + setSize (document.getInitialWidth(), + document.getInitialHeight()); +} + +ComponentLayoutEditor::~ComponentLayoutEditor() +{ + document.removeChangeListener (this); + + removeChildComponent (&lassoComp); + deleteAllChildren(); +} + +//============================================================================== +void ComponentLayoutEditor::visibilityChanged() +{ + document.beginTransaction(); + + if (isVisible()) + { + refreshAllComponents(); + document.addChangeListener (this); + } + else + { + document.removeChangeListener (this); + } +} + +void ComponentLayoutEditor::changeListenerCallback (ChangeBroadcaster*) +{ + refreshAllComponents(); +} + +void ComponentLayoutEditor::paint (Graphics&) +{ +} + +void ComponentLayoutEditor::resized() +{ + if (firstResize && getWidth() > 0 && getHeight() > 0) + { + firstResize = false; + refreshAllComponents(); + } + + subCompHolder->setBounds (getComponentArea()); + updateOverlayPositions(); +} + +Rectangle ComponentLayoutEditor::getComponentArea() const +{ + const int editorEdgeGap = 4; + + if (document.isFixedSize()) + return Rectangle ((getWidth() - document.getInitialWidth()) / 2, + (getHeight() - document.getInitialHeight()) / 2, + document.getInitialWidth(), + document.getInitialHeight()); + + return Rectangle (editorEdgeGap, editorEdgeGap, + getWidth() - editorEdgeGap * 2, + getHeight() - editorEdgeGap * 2); +} + +Image ComponentLayoutEditor::createComponentLayerSnapshot() const +{ + ((SubComponentHolderComp*) subCompHolder)->dontFillBackground = true; + Image im = subCompHolder->createComponentSnapshot (Rectangle (0, 0, subCompHolder->getWidth(), subCompHolder->getHeight())); + ((SubComponentHolderComp*) subCompHolder)->dontFillBackground = false; + + return im; +} + +void ComponentLayoutEditor::updateOverlayPositions() +{ + for (int i = getNumChildComponents(); --i >= 0;) + if (ComponentOverlayComponent* const overlay = dynamic_cast (getChildComponent (i))) + overlay->updateBoundsToMatchTarget(); +} + +void ComponentLayoutEditor::refreshAllComponents() +{ + for (int i = getNumChildComponents(); --i >= 0;) + { + ScopedPointer overlay (dynamic_cast (getChildComponent (i))); + + if (overlay != nullptr && layout.containsComponent (overlay->target)) + overlay.release(); + } + + for (int i = subCompHolder->getNumChildComponents(); --i >= 0;) + { + Component* const comp = subCompHolder->getChildComponent (i); + + if (! layout.containsComponent (comp)) + subCompHolder->removeChildComponent (comp); + } + + Component* lastComp = nullptr; + Component* lastOverlay = nullptr; + + for (int i = layout.getNumComponents(); --i >= 0;) + { + Component* const c = layout.getComponent (i); + jassert (c != nullptr); + + ComponentOverlayComponent* overlay = getOverlayCompFor (c); + + bool isNewOverlay = false; + + if (overlay == 0) + { + ComponentTypeHandler* const handler = ComponentTypeHandler::getHandlerFor (*c); + jassert (handler != nullptr); + + overlay = handler->createOverlayComponent (c, layout); + + addAndMakeVisible (overlay); + isNewOverlay = true; + } + + if (lastOverlay != nullptr) + overlay->toBehind (lastOverlay); + else + overlay->toFront (false); + + lastOverlay = overlay; + + subCompHolder->addAndMakeVisible (c); + + if (lastComp != nullptr) + c->toBehind (lastComp); + else + c->toFront (false); + + lastComp = c; + + c->setWantsKeyboardFocus (false); + c->setFocusContainer (true); + + if (isNewOverlay) + overlay->updateBoundsToMatchTarget(); + } + + if (grid.updateFromDesign (document)) + subCompHolder->repaint(); + + subCompHolder->setBounds (getComponentArea()); + subCompHolder->resized(); +} + +void ComponentLayoutEditor::mouseDown (const MouseEvent& e) +{ + if (e.mods.isPopupMenu()) + { + ApplicationCommandManager* commandManager = &ProjucerApplication::getCommandManager(); + + PopupMenu m; + + m.addCommandItem (commandManager, JucerCommandIDs::editCompLayout); + m.addCommandItem (commandManager, JucerCommandIDs::editCompGraphics); + m.addSeparator(); + + for (int i = 0; i < ObjectTypes::numComponentTypes; ++i) + m.addCommandItem (commandManager, JucerCommandIDs::newComponentBase + i); + + m.show(); + } + else + { + addChildComponent (lassoComp); + lassoComp.beginLasso (e, this); + } +} + +void ComponentLayoutEditor::mouseDrag (const MouseEvent& e) +{ + lassoComp.toFront (false); + lassoComp.dragLasso (e); +} + +void ComponentLayoutEditor::mouseUp (const MouseEvent& e) +{ + lassoComp.endLasso(); + removeChildComponent (&lassoComp); + + if (! (e.mouseWasDraggedSinceMouseDown() || e.mods.isAnyModifierKeyDown())) + layout.getSelectedSet().deselectAll(); +} + +static void moveOrStretch (ComponentLayout& layout, int x, int y, bool snap, bool stretch) +{ + if (stretch) + layout.stretchSelectedComps (x, y, snap); + else + layout.moveSelectedComps (x, y, snap); +} + +bool ComponentLayoutEditor::keyPressed (const KeyPress& key) +{ + const bool snap = key.getModifiers().isAltDown(); + const bool stretch = key.getModifiers().isShiftDown(); + + const int amount = snap ? document.getSnappingGridSize() + 1 + : 1; + + if (key.isKeyCode (KeyPress::rightKey)) + { + moveOrStretch (layout, amount, 0, snap, stretch); + } + else if (key.isKeyCode (KeyPress::downKey)) + { + moveOrStretch (layout, 0,amount, snap, stretch); + } + else if (key.isKeyCode (KeyPress::leftKey)) + { + moveOrStretch (layout, -amount, 0, snap, stretch); + } + else if (key.isKeyCode (KeyPress::upKey)) + { + moveOrStretch (layout, 0, -amount, snap, stretch); + } + else + { + return false; + } + + return true; +} + +bool ComponentLayoutEditor::isInterestedInFileDrag (const StringArray& filenames) +{ + const File f (filenames [0]); + return f.hasFileExtension (".cpp"); +} + +void ComponentLayoutEditor::filesDropped (const StringArray& filenames, int x, int y) +{ + const File f (filenames [0]); + + if (JucerDocument::isValidJucerCppFile (f)) + { + JucerComponentHandler jucerDocHandler; + layout.getDocument()->beginTransaction(); + + if (TestComponent* newOne = dynamic_cast (layout.addNewComponent (&jucerDocHandler, + x - subCompHolder->getX(), + y - subCompHolder->getY()))) + { + JucerComponentHandler::setJucerComponentFile (*layout.getDocument(), newOne, + f.getRelativePathFrom (document.getCppFile().getParentDirectory())); + layout.getSelectedSet().selectOnly (newOne); + } + + layout.getDocument()->beginTransaction(); + } +} + +bool ComponentLayoutEditor::isInterestedInDragSource (const SourceDetails& dragSourceDetails) +{ + if (dragSourceDetails.description != projectItemDragType) + return false; + + OwnedArray selectedNodes; + ProjectContentComponent::getSelectedProjectItemsBeingDragged (dragSourceDetails, selectedNodes); + + return selectedNodes.size() > 0; +} + +void ComponentLayoutEditor::itemDropped (const SourceDetails& dragSourceDetails) +{ + OwnedArray selectedNodes; + ProjectContentComponent::getSelectedProjectItemsBeingDragged (dragSourceDetails, selectedNodes); + + StringArray filenames; + + for (int i = 0; i < selectedNodes.size(); ++i) + if (selectedNodes.getUnchecked(i)->getFile().hasFileExtension (".cpp")) + filenames.add (selectedNodes.getUnchecked(i)->getFile().getFullPathName()); + + filesDropped (filenames, dragSourceDetails.localPosition.x, dragSourceDetails.localPosition.y); +} + +ComponentOverlayComponent* ComponentLayoutEditor::getOverlayCompFor (Component* compToFind) const +{ + for (int i = getNumChildComponents(); --i >= 0;) + { + if (ComponentOverlayComponent* const overlay = dynamic_cast (getChildComponent (i))) + if (overlay->target == compToFind) + return overlay; + } + + return nullptr; +} + +void ComponentLayoutEditor::findLassoItemsInArea (Array & results, const Rectangle& area) +{ + const Rectangle lasso (area - subCompHolder->getPosition()); + + for (int i = 0; i < subCompHolder->getNumChildComponents(); ++i) + { + Component* c = subCompHolder->getChildComponent (i); + + if (c->getBounds().intersects (lasso)) + results.add (c); + } +} + +SelectedItemSet & ComponentLayoutEditor::getLassoSelection() +{ + return layout.getSelectedSet(); +} 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/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp new file mode 100644 index 00000000..423831bc --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp @@ -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. + + ============================================================================== +*/ + +#include "../../jucer_Headers.h" +#include "jucer_ComponentLayoutEditor.h" +#include "../jucer_UtilityFunctions.h" + +//============================================================================== +ComponentOverlayComponent::ComponentOverlayComponent (Component* const target_, + ComponentLayout& layout_) + : target (target_), + borderThickness (4), + layout (layout_), + selected (false), + dragging (false), + originalAspectRatio (1.0) +{ + setMinimumOnscreenAmounts (0, 0, 0, 0); + setSizeLimits (borderThickness * 2 + 2, borderThickness * 2 + 2, 8192, 8192); + + addChildComponent (border = new ResizableBorderComponent (this, this)); + + border->setBorderThickness (BorderSize (borderThickness)); + + target->addComponentListener (this); + + changeListenerCallback (nullptr); + layout.getSelectedSet().addChangeListener (this); + + setRepaintsOnMouseActivity (true); + border->setRepaintsOnMouseActivity (true); +} + +ComponentOverlayComponent::~ComponentOverlayComponent() +{ + layout.getSelectedSet().removeChangeListener (this); + + if (target != nullptr) + target->removeComponentListener (this); +} + +void ComponentOverlayComponent::changeListenerCallback (ChangeBroadcaster*) +{ + const bool nowSelected = layout.getSelectedSet().isSelected (target); + + if (selected != nowSelected) + { + selected = nowSelected; + border->setVisible (nowSelected); + repaint(); + } +} + +void ComponentOverlayComponent::paint (Graphics& g) +{ + jassert (target != nullptr); + + if (selected) + { + const BorderSize borderSize (border->getBorderThickness()); + + drawResizableBorder (g, getWidth(), getHeight(), borderSize, (isMouseOverOrDragging() || border->isMouseOverOrDragging())); + } + else if (isMouseOverOrDragging()) + { + drawMouseOverCorners (g, getWidth(), getHeight()); + } +} + +void ComponentOverlayComponent::resized() +{ + jassert (target != nullptr); + + border->setBounds (getLocalBounds()); +} + +void ComponentOverlayComponent::mouseDown (const MouseEvent& e) +{ + dragging = false; + mouseDownSelectStatus = layout.getSelectedSet().addToSelectionOnMouseDown (target, e.mods); + + if (e.mods.isPopupMenu()) + { + showPopupMenu(); + return; // this may be deleted now.. + } +} + +void ComponentOverlayComponent::mouseDrag (const MouseEvent& e) +{ + if (! e.mods.isPopupMenu()) + { + if (selected && ! dragging) + { + dragging = e.mouseWasDraggedSinceMouseDown(); + + if (dragging) + layout.startDragging(); + } + + if (dragging) + { + layout.dragSelectedComps (e.getDistanceFromDragStartX(), + e.getDistanceFromDragStartY()); + } + } +} + +void ComponentOverlayComponent::mouseUp (const MouseEvent& e) +{ + if (dragging) + layout.endDragging(); + + layout.getSelectedSet().addToSelectionOnMouseUp (target, e.mods, dragging, mouseDownSelectStatus); +} + +void ComponentOverlayComponent::componentMovedOrResized (Component&, bool /*wasMoved*/, bool /*wasResized*/) +{ + updateBoundsToMatchTarget(); +} + +void ComponentOverlayComponent::updateBoundsToMatchTarget() +{ + if (Component* const parent = target->getParentComponent()) + { + const int dx = parent->getX(); + const int dy = parent->getY(); + + setBounds (dx + target->getX() - borderThickness, + dy + target->getY() - borderThickness, + target->getWidth() + borderThickness * 2, + target->getHeight() + borderThickness * 2); + } + + if (border->isMouseButtonDown()) + layout.changed(); +} + +void ComponentOverlayComponent::resizeStart() +{ + if (getHeight() > 0) + originalAspectRatio = getWidth() / (double) getHeight(); + else + originalAspectRatio = 1.0; + + layout.getDocument()->beginTransaction ("Resize components"); +} + +void ComponentOverlayComponent::resizeEnd() +{ + layout.getDocument()->beginTransaction(); +} + +void ComponentOverlayComponent::checkBounds (Rectangle& b, + const Rectangle& previousBounds, + const Rectangle& limits, + const bool isStretchingTop, + const bool isStretchingLeft, + const bool isStretchingBottom, + const bool isStretchingRight) +{ + if (ModifierKeys::getCurrentModifiers().isShiftDown()) + setFixedAspectRatio (originalAspectRatio); + else + setFixedAspectRatio (0.0); + + ComponentBoundsConstrainer::checkBounds (b, previousBounds, limits, isStretchingTop, isStretchingLeft, isStretchingBottom, isStretchingRight); + + if (layout.getDocument()->isSnapActive (true)) + { + if (Component* const parent = target->getParentComponent()) + { + const int dx = parent->getX(); + const int dy = parent->getY(); + + int x = b.getX(); + int y = b.getY(); + int w = b.getWidth(); + int h = b.getHeight(); + + x += borderThickness - dx; + y += borderThickness - dy; + w -= borderThickness * 2; + h -= borderThickness * 2; + + int right = x + w; + int bottom = y + h; + + if (isStretchingRight) + right = layout.getDocument()->snapPosition (right); + + if (isStretchingBottom) + bottom = layout.getDocument()->snapPosition (bottom); + + if (isStretchingLeft) + x = layout.getDocument()->snapPosition (x); + + if (isStretchingTop) + y = layout.getDocument()->snapPosition (y); + + w = (right - x) + borderThickness * 2; + h = (bottom - y) + borderThickness * 2; + x -= borderThickness - dx; + y -= borderThickness - dy; + + b = Rectangle (x, y, w, h); + } + } +} + +void ComponentOverlayComponent::applyBoundsToComponent (Component* component, const Rectangle& b) +{ + if (component->getBounds() != b) + { + layout.getDocument()->getUndoManager().undoCurrentTransactionOnly(); + + component->setBounds (b); + + if (Component* const parent = target->getParentComponent()) + target->setBounds (b.getX() + borderThickness - parent->getX(), + b.getY() + borderThickness - parent->getY(), + b.getWidth() - borderThickness * 2, + b.getHeight() - borderThickness * 2); + + layout.updateStoredComponentPosition (target, true); + } +} + +void ComponentOverlayComponent::showPopupMenu() +{ + ComponentTypeHandler::getHandlerFor (*target)->showPopupMenu (target, layout); +} 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/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp new file mode 100644 index 00000000..c4753bd3 --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp @@ -0,0 +1,1202 @@ +/* + ============================================================================== + + 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_AppearanceSettings.h" +#include "../../Application/jucer_GlobalPreferences.h" +#include "../../Application/jucer_Application.h" +#include "jucer_JucerDocumentEditor.h" +#include "jucer_TestComponent.h" +#include "../jucer_ObjectTypes.h" +#include "jucer_ComponentLayoutPanel.h" +#include "jucer_PaintRoutinePanel.h" +#include "jucer_ResourceEditorPanel.h" +#include "../properties/jucer_ComponentTextProperty.h" +#include "../properties/jucer_ComponentChoiceProperty.h" +#include "../ui/jucer_JucerCommandIDs.h" + + +//============================================================================== +class ExtraMethodsList : public PropertyComponent, + public ListBoxModel, + public ChangeListener +{ +public: + ExtraMethodsList (JucerDocument& doc) + : PropertyComponent ("extra callbacks", 250), + document (doc) + { + addAndMakeVisible (listBox = new ListBox (String::empty, this)); + listBox->setRowHeight (22); + + document.addChangeListener (this); + } + + ~ExtraMethodsList() + { + document.removeChangeListener (this); + } + + int getNumRows() override + { + return methods.size(); + } + + void paintListBoxItem (int row, Graphics& g, int width, int height, bool rowIsSelected) override + { + if (row < 0 || row >= getNumRows()) + return; + + if (rowIsSelected) + g.fillAll (findColour (TextEditor::highlightColourId)); + + g.setColour (Colours::black); + g.setFont (height * 0.6f); + g.drawText (returnValues [row] + " " + baseClasses [row] + "::" + methods [row], + 30, 0, width - 32, height, + Justification::centredLeft, true); + + getLookAndFeel().drawTickBox (g, *this, 6, 2, 18, 18, document.isOptionalMethodEnabled (methods [row]), true, false, false); + } + + void listBoxItemClicked (int row, const MouseEvent& e) override + { + if (row < 0 || row >= getNumRows()) + return; + + if (e.x < 30) + document.setOptionalMethodEnabled (methods [row], + ! document.isOptionalMethodEnabled (methods [row])); + } + + void paint (Graphics& g) override + { + g.fillAll (Colours::white); + } + + void resized() override + { + listBox->setBounds (getLocalBounds()); + } + + void refresh() override + { + baseClasses.clear(); + returnValues.clear(); + methods.clear(); + initialContents.clear(); + + document.getOptionalMethods (baseClasses, returnValues, methods, initialContents); + + listBox->updateContent(); + listBox->repaint(); + } + + void changeListenerCallback (ChangeBroadcaster*) override + { + refresh(); + } + +private: + JucerDocument& document; + ScopedPointer listBox; + + StringArray baseClasses, returnValues, methods, initialContents; +}; + + +//============================================================================== +class ClassPropertiesPanel : public Component, + private ChangeListener +{ +public: + ClassPropertiesPanel (JucerDocument& doc) + : document (doc) + { + addAndMakeVisible (panel1); + addAndMakeVisible (panel2); + + Array props; + props.add (new ComponentClassNameProperty (doc)); + props.add (new TemplateFileProperty (doc)); + props.add (new ComponentCompNameProperty (doc)); + props.add (new ComponentParentClassesProperty (doc)); + props.add (new ComponentConstructorParamsProperty (doc)); + props.add (new ComponentInitialisersProperty (doc)); + props.add (new ComponentInitialSizeProperty (doc, true)); + props.add (new ComponentInitialSizeProperty (doc, false)); + props.add (new FixedSizeProperty (doc)); + + panel1.addSection ("General class settings", props); + + Array props2; + props2.add (new ExtraMethodsList (doc)); + panel2.addSection ("Extra callback methods to generate", props2); + + doc.addExtraClassProperties (panel1); + doc.addChangeListener (this); + } + + ~ClassPropertiesPanel() + { + document.removeChangeListener (this); + } + + void resized() + { + int pw = jmin (getWidth() / 2 - 20, 350); + panel1.setBounds (10, 6, pw, getHeight() - 12); + panel2.setBounds (panel1.getRight() + 20, panel1.getY(), pw, panel1.getHeight()); + } + + void changeListenerCallback (ChangeBroadcaster*) + { + panel1.refreshAll(); + panel2.refreshAll(); + } + +private: + JucerDocument& document; + PropertyPanel panel1, panel2; + + //============================================================================== + class ComponentClassNameProperty : public ComponentTextProperty + { + public: + ComponentClassNameProperty (JucerDocument& doc) + : ComponentTextProperty ("Class name", 128, false, 0, doc) + {} + + void setText (const String& newText) override { document.setClassName (newText); } + String getText() const override { return document.getClassName(); } + }; + + //============================================================================== + class ComponentCompNameProperty : public ComponentTextProperty + { + public: + ComponentCompNameProperty (JucerDocument& doc) + : ComponentTextProperty ("Component name", 200, false, 0, doc) + {} + + void setText (const String& newText) override { document.setComponentName (newText); } + String getText() const override { return document.getComponentName(); } + }; + + //============================================================================== + class ComponentParentClassesProperty : public ComponentTextProperty + { + public: + ComponentParentClassesProperty (JucerDocument& doc) + : ComponentTextProperty ("Parent classes", 512, false, 0, doc) + {} + + void setText (const String& newText) override { document.setParentClasses (newText); } + String getText() const override { return document.getParentClassString(); } + }; + + //============================================================================== + class ComponentConstructorParamsProperty : public ComponentTextProperty + { + public: + ComponentConstructorParamsProperty (JucerDocument& doc) + : ComponentTextProperty ("Constructor params", 2048, false, 0, doc) + {} + + void setText (const String& newText) override { document.setConstructorParams (newText); } + String getText() const override { return document.getConstructorParams(); } + }; + + //============================================================================== + class ComponentInitialisersProperty : public ComponentTextProperty + { + public: + ComponentInitialisersProperty (JucerDocument& doc) + : ComponentTextProperty ("Member intialisers", 2048, true, 0, doc) + { + preferredHeight = 24 * 3; + } + + void setText (const String& newText) override { document.setVariableInitialisers (newText); } + String getText() const override { return document.getVariableInitialisers(); } + }; + + + //============================================================================== + class ComponentInitialSizeProperty : public ComponentTextProperty + { + public: + ComponentInitialSizeProperty (JucerDocument& doc, const bool isWidth_) + : ComponentTextProperty (isWidth_ ? "Initial width" + : "Initial height", + 10, false, 0, doc), + isWidth (isWidth_) + {} + + void setText (const String& newText) override + { + if (isWidth) + document.setInitialSize (newText.getIntValue(), document.getInitialHeight()); + else + document.setInitialSize (document.getInitialWidth(), newText.getIntValue()); + } + + String getText() const override + { + return String (isWidth ? document.getInitialWidth() + : document.getInitialHeight()); + } + + private: + const bool isWidth; + }; + + //============================================================================== + class FixedSizeProperty : public ComponentChoiceProperty + { + public: + FixedSizeProperty (JucerDocument& doc) + : ComponentChoiceProperty ("Fixed size", 0, doc) + { + choices.add ("Resize component to fit workspace"); + choices.add ("Keep component size fixed"); + } + + void setIndex (int newIndex) { document.setFixedSize (newIndex != 0); } + int getIndex() const { return document.isFixedSize() ? 1 : 0; } + }; + + //============================================================================== + class TemplateFileProperty : public ComponentTextProperty + { + public: + TemplateFileProperty (JucerDocument& doc) + : ComponentTextProperty ("Template file", 2048, false, 0, doc) + {} + + void setText (const String& newText) override { document.setTemplateFile (newText); } + String getText() const override { return document.getTemplateFile(); } + }; +}; + +static const Colour tabColour (Colour (0xff888888)); + +static SourceCodeEditor* createCodeEditor (const File& file, SourceCodeDocument& sourceCodeDoc) +{ + return new SourceCodeEditor (&sourceCodeDoc, + new CppCodeEditorComponent (file, sourceCodeDoc.getCodeDocument())); +} + +//============================================================================== +JucerDocumentEditor::JucerDocumentEditor (JucerDocument* const doc) + : document (doc), + tabbedComponent (TabbedButtonBar::TabsAtTop), + compLayoutPanel (0), + lastViewportX (0), + lastViewportY (0), + currentZoomLevel (1.0) +{ + setOpaque (true); + + if (document != nullptr) + { + setSize (document->getInitialWidth(), + document->getInitialHeight()); + + addAndMakeVisible (tabbedComponent); + tabbedComponent.setOutline (0); + + tabbedComponent.addTab ("Class", tabColour, new ClassPropertiesPanel (*document), true); + + if (document->getComponentLayout() != nullptr) + tabbedComponent.addTab ("Subcomponents", tabColour, + compLayoutPanel = new ComponentLayoutPanel (*document, *document->getComponentLayout()), true); + + tabbedComponent.addTab ("Resources", tabColour, new ResourceEditorPanel (*document), true); + + tabbedComponent.addTab ("Code", tabColour, createCodeEditor (document->getCppFile(), + document->getCppDocument()), true); + + updateTabs(); + + tabbedComponent.setCurrentTabIndex (1); + + document->addChangeListener (this); + + resized(); + refreshPropertiesPanel(); + + changeListenerCallback (nullptr); + } +} + +JucerDocumentEditor::~JucerDocumentEditor() +{ + tabbedComponent.clearTabs(); +} + +void JucerDocumentEditor::refreshPropertiesPanel() const +{ + for (int i = tabbedComponent.getNumTabs(); --i >= 0;) + { + if (ComponentLayoutPanel* layoutPanel = dynamic_cast (tabbedComponent.getTabContentComponent (i))) + { + if (layoutPanel->isVisible()) + layoutPanel->updatePropertiesList(); + } + else + { + if (PaintRoutinePanel* pr = dynamic_cast (tabbedComponent.getTabContentComponent (i))) + if (pr->isVisible()) + pr->updatePropertiesList(); + } + } +} + +void JucerDocumentEditor::updateTabs() +{ + const StringArray paintRoutineNames (document->getPaintRoutineNames()); + + for (int i = tabbedComponent.getNumTabs(); --i >= 0;) + { + if (dynamic_cast (tabbedComponent.getTabContentComponent (i)) != 0 + && ! paintRoutineNames.contains (tabbedComponent.getTabNames() [i])) + { + tabbedComponent.removeTab (i); + } + } + + for (int i = 0; i < document->getNumPaintRoutines(); ++i) + { + if (! tabbedComponent.getTabNames().contains (paintRoutineNames [i])) + { + int index, numPaintRoutinesSeen = 0; + for (index = 1; index < tabbedComponent.getNumTabs(); ++index) + { + if (dynamic_cast (tabbedComponent.getTabContentComponent (index)) != nullptr) + { + if (++numPaintRoutinesSeen == i) + { + ++index; + break; + } + } + } + + if (numPaintRoutinesSeen == 0) + index = document->getComponentLayout() != nullptr ? 2 : 1; + + tabbedComponent.addTab (paintRoutineNames[i], tabColour, + new PaintRoutinePanel (*document, + *document->getPaintRoutine (i), + this), true, index); + } + } +} + +//============================================================================== +void JucerDocumentEditor::paint (Graphics& g) +{ + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); +} + +void JucerDocumentEditor::resized() +{ + tabbedComponent.setBounds (getLocalBounds().reduced (4, 2)); +} + +void JucerDocumentEditor::changeListenerCallback (ChangeBroadcaster*) +{ + setName (document->getClassName()); + updateTabs(); +} + +//============================================================================== +ApplicationCommandTarget* JucerDocumentEditor::getNextCommandTarget() +{ + return findFirstTargetParentComponent(); +} + +ComponentLayout* JucerDocumentEditor::getCurrentLayout() const +{ + if (ComponentLayoutPanel* panel = dynamic_cast (tabbedComponent.getCurrentContentComponent())) + return &(panel->layout); + + return nullptr; +} + +PaintRoutine* JucerDocumentEditor::getCurrentPaintRoutine() const +{ + if (PaintRoutinePanel* panel = dynamic_cast (tabbedComponent.getCurrentContentComponent())) + return &(panel->getPaintRoutine()); + + return nullptr; +} + +void JucerDocumentEditor::showLayout() +{ + if (getCurrentLayout() == nullptr) + { + for (int i = 0; i < tabbedComponent.getNumTabs(); ++i) + { + if (dynamic_cast (tabbedComponent.getTabContentComponent (i)) != nullptr) + { + tabbedComponent.setCurrentTabIndex (i); + break; + } + } + } +} + +void JucerDocumentEditor::showGraphics (PaintRoutine* routine) +{ + if (getCurrentPaintRoutine() != routine || routine == 0) + { + for (int i = 0; i < tabbedComponent.getNumTabs(); ++i) + { + if (PaintRoutinePanel* pr = dynamic_cast (tabbedComponent.getTabContentComponent (i))) + { + if (routine == &(pr->getPaintRoutine()) || routine == nullptr) + { + tabbedComponent.setCurrentTabIndex (i); + break; + } + } + } + } +} + +//============================================================================== +void JucerDocumentEditor::setViewportToLastPos (Viewport* vp, EditingPanelBase& editor) +{ + vp->setViewPosition (lastViewportX, lastViewportY); + editor.setZoom (currentZoomLevel); +} + +void JucerDocumentEditor::storeLastViewportPos (Viewport* vp, EditingPanelBase& editor) +{ + lastViewportX = vp->getViewPositionX(); + lastViewportY = vp->getViewPositionY(); + + currentZoomLevel = editor.getZoom(); +} + +void JucerDocumentEditor::setZoom (double scale) +{ + scale = jlimit (1.0 / 4.0, 32.0, scale); + + if (EditingPanelBase* panel = dynamic_cast (tabbedComponent.getCurrentContentComponent())) + panel->setZoom (scale); +} + +double JucerDocumentEditor::getZoom() const +{ + if (EditingPanelBase* panel = dynamic_cast (tabbedComponent.getCurrentContentComponent())) + return panel->getZoom(); + + return 1.0; +} + +static double snapToIntegerZoom (double zoom) +{ + if (zoom >= 1.0) + return (double) (int) (zoom + 0.5); + + return 1.0 / (int) (1.0 / zoom + 0.5); +} + +void JucerDocumentEditor::addElement (const int index) +{ + if (PaintRoutinePanel* const panel = dynamic_cast (tabbedComponent.getCurrentContentComponent())) + { + PaintRoutine* const currentPaintRoutine = & (panel->getPaintRoutine()); + const Rectangle area (panel->getComponentArea()); + + document->beginTransaction(); + + PaintElement* e = ObjectTypes::createNewElement (index, currentPaintRoutine); + + e->setInitialBounds (area.getWidth(), area.getHeight()); + + e = currentPaintRoutine->addNewElement (e, -1, true); + + if (e != nullptr) + { + const int randomness = jmin (80, area.getWidth() / 2, area.getHeight() / 2); + int x = area.getX() + area.getWidth() / 2 + Random::getSystemRandom().nextInt (randomness) - randomness / 2; + int y = area.getY() + area.getHeight() / 2 + Random::getSystemRandom().nextInt (randomness) - randomness / 2; + x = document->snapPosition (x); + y = document->snapPosition (y); + + panel->xyToTargetXY (x, y); + + Rectangle r (e->getCurrentBounds (area)); + r.setPosition (x, y); + e->setCurrentBounds (r, area, true); + + currentPaintRoutine->getSelectedElements().selectOnly (e); + } + + document->beginTransaction(); + } +} + +void JucerDocumentEditor::addComponent (const int index) +{ + showLayout(); + + if (ComponentLayoutPanel* const panel = dynamic_cast (tabbedComponent.getCurrentContentComponent())) + { + const Rectangle area (panel->getComponentArea()); + + document->beginTransaction ("Add new " + ObjectTypes::componentTypeHandlers [index]->getTypeName()); + + const int randomness = jmin (80, area.getWidth() / 2, area.getHeight() / 2); + int x = area.getWidth() / 2 + Random::getSystemRandom().nextInt (randomness) - randomness / 2; + int y = area.getHeight() / 2 + Random::getSystemRandom().nextInt (randomness) - randomness / 2; + x = document->snapPosition (x); + y = document->snapPosition (y); + + panel->xyToTargetXY (x, y); + + if (Component* newOne = panel->layout.addNewComponent (ObjectTypes::componentTypeHandlers [index], x, y)) + panel->layout.getSelectedSet().selectOnly (newOne); + + document->beginTransaction(); + } +} + +//============================================================================== +bool JucerDocumentEditor::isSomethingSelected() const +{ + if (ComponentLayout* layout = getCurrentLayout()) + return layout->getSelectedSet().getNumSelected() > 0; + + if (PaintRoutine* routine = getCurrentPaintRoutine()) + return routine->getSelectedElements().getNumSelected() > 0; + + return false; +} + +//============================================================================== +void JucerDocumentEditor::getAllCommands (Array & commands) +{ + const CommandID ids[] = + { + JucerCommandIDs::test, + JucerCommandIDs::toFront, + JucerCommandIDs::toBack, + JucerCommandIDs::group, + JucerCommandIDs::ungroup, + JucerCommandIDs::bringBackLostItems, + JucerCommandIDs::enableSnapToGrid, + JucerCommandIDs::showGrid, + JucerCommandIDs::editCompLayout, + JucerCommandIDs::editCompGraphics, + JucerCommandIDs::zoomIn, + JucerCommandIDs::zoomOut, + JucerCommandIDs::zoomNormal, + JucerCommandIDs::spaceBarDrag, + JucerCommandIDs::compOverlay0, + JucerCommandIDs::compOverlay33, + JucerCommandIDs::compOverlay66, + JucerCommandIDs::compOverlay100, + StandardApplicationCommandIDs::undo, + StandardApplicationCommandIDs::redo, + StandardApplicationCommandIDs::cut, + StandardApplicationCommandIDs::copy, + StandardApplicationCommandIDs::paste, + StandardApplicationCommandIDs::del, + StandardApplicationCommandIDs::selectAll, + StandardApplicationCommandIDs::deselectAll + }; + + commands.addArray (ids, numElementsInArray (ids)); + + for (int i = 0; i < ObjectTypes::numComponentTypes; ++i) + commands.add (JucerCommandIDs::newComponentBase + i); + + for (int i = 0; i < ObjectTypes::numElementTypes; ++i) + commands.add (JucerCommandIDs::newElementBase + i); +} + +void JucerDocumentEditor::getCommandInfo (const CommandID commandID, ApplicationCommandInfo& result) +{ + ComponentLayout* const currentLayout = getCurrentLayout(); + PaintRoutine* const currentPaintRoutine = getCurrentPaintRoutine(); + + const int cmd = ModifierKeys::commandModifier; + const int shift = ModifierKeys::shiftModifier; + + if (commandID >= JucerCommandIDs::newComponentBase + && commandID < JucerCommandIDs::newComponentBase + ObjectTypes::numComponentTypes) + { + const int index = commandID - JucerCommandIDs::newComponentBase; + + result.setInfo ("New " + ObjectTypes::componentTypeHandlers [index]->getTypeName(), + "Creates a new " + ObjectTypes::componentTypeHandlers [index]->getTypeName(), + CommandCategories::editing, 0); + return; + } + + if (commandID >= JucerCommandIDs::newElementBase + && commandID < JucerCommandIDs::newElementBase + ObjectTypes::numElementTypes) + { + const int index = commandID - JucerCommandIDs::newElementBase; + + result.setInfo (String ("New ") + ObjectTypes::elementTypeNames [index], + String ("Adds a new ") + ObjectTypes::elementTypeNames [index], + CommandCategories::editing, 0); + + result.setActive (currentPaintRoutine != nullptr); + return; + } + + switch (commandID) + { + case JucerCommandIDs::toFront: + result.setInfo (TRANS("Bring to front"), TRANS("Brings the currently selected component to the front."), CommandCategories::editing, 0); + result.setActive (isSomethingSelected()); + result.defaultKeypresses.add (KeyPress ('f', cmd, 0)); + break; + + case JucerCommandIDs::toBack: + result.setInfo (TRANS("Send to back"), TRANS("Sends the currently selected component to the back."), CommandCategories::editing, 0); + result.setActive (isSomethingSelected()); + result.defaultKeypresses.add (KeyPress ('b', cmd, 0)); + break; + + case JucerCommandIDs::group: + result.setInfo (TRANS("Group selected items"), TRANS("Turns the currently selected elements into a single group object."), CommandCategories::editing, 0); + result.setActive (currentPaintRoutine != nullptr && currentPaintRoutine->getSelectedElements().getNumSelected() > 1); + result.defaultKeypresses.add (KeyPress ('k', cmd, 0)); + break; + + case JucerCommandIDs::ungroup: + result.setInfo (TRANS("Ungroup selected items"), TRANS("Turns the currently selected elements into a single group object."), CommandCategories::editing, 0); + result.setActive (currentPaintRoutine != nullptr + && currentPaintRoutine->getSelectedElements().getNumSelected() == 1 + && currentPaintRoutine->getSelectedElements().getSelectedItem (0)->getTypeName() == "Group"); + result.defaultKeypresses.add (KeyPress ('k', cmd | shift, 0)); + break; + + case JucerCommandIDs::test: + result.setInfo (TRANS("Test component..."), TRANS("Runs the current component interactively."), CommandCategories::view, 0); + result.defaultKeypresses.add (KeyPress ('t', cmd, 0)); + break; + + case JucerCommandIDs::enableSnapToGrid: + result.setInfo (TRANS("Enable snap-to-grid"), TRANS("Toggles whether components' positions are aligned to a grid."), CommandCategories::view, 0); + result.setTicked (document != nullptr && document->isSnapActive (false)); + result.defaultKeypresses.add (KeyPress ('g', cmd, 0)); + break; + + case JucerCommandIDs::showGrid: + result.setInfo (TRANS("Show snap-to-grid"), TRANS("Toggles whether the snapping grid is displayed on-screen."), CommandCategories::view, 0); + result.setTicked (document != nullptr && document->isSnapShown()); + result.defaultKeypresses.add (KeyPress ('g', cmd | shift, 0)); + break; + + case JucerCommandIDs::editCompLayout: + result.setInfo (TRANS("Edit sub-component layout"), TRANS("Switches to the sub-component editor view."), CommandCategories::view, 0); + result.setTicked (currentLayout != nullptr); + result.defaultKeypresses.add (KeyPress ('n', cmd, 0)); + break; + + case JucerCommandIDs::editCompGraphics: + result.setInfo (TRANS("Edit background graphics"), TRANS("Switches to the background graphics editor view."), CommandCategories::view, 0); + result.setTicked (currentPaintRoutine != nullptr); + result.defaultKeypresses.add (KeyPress ('m', cmd, 0)); + break; + + case JucerCommandIDs::bringBackLostItems: + result.setInfo (TRANS("Retrieve offscreen items"), TRANS("Moves any items that are lost beyond the edges of the screen back to the centre."), CommandCategories::editing, 0); + result.setActive (currentPaintRoutine != nullptr || currentLayout != nullptr); + result.defaultKeypresses.add (KeyPress ('m', cmd, 0)); + break; + + case JucerCommandIDs::zoomIn: + result.setInfo (TRANS("Zoom in"), TRANS("Zooms in on the current component."), CommandCategories::editing, 0); + result.setActive (currentPaintRoutine != nullptr || currentLayout != nullptr); + result.defaultKeypresses.add (KeyPress (']', cmd, 0)); + break; + + case JucerCommandIDs::zoomOut: + result.setInfo (TRANS("Zoom out"), TRANS("Zooms out on the current component."), CommandCategories::editing, 0); + result.setActive (currentPaintRoutine != nullptr || currentLayout != nullptr); + result.defaultKeypresses.add (KeyPress ('[', cmd, 0)); + break; + + case JucerCommandIDs::zoomNormal: + result.setInfo (TRANS("Zoom to 100%"), TRANS("Restores the zoom level to normal."), CommandCategories::editing, 0); + result.setActive (currentPaintRoutine != nullptr || currentLayout != nullptr); + result.defaultKeypresses.add (KeyPress ('1', cmd, 0)); + break; + + case JucerCommandIDs::spaceBarDrag: + result.setInfo (TRANS("Scroll while dragging mouse"), TRANS("When held down, this key lets you scroll around by dragging with the mouse."), + CommandCategories::view, ApplicationCommandInfo::wantsKeyUpDownCallbacks); + result.setActive (currentPaintRoutine != nullptr || currentLayout != nullptr); + result.defaultKeypresses.add (KeyPress (KeyPress::spaceKey, 0, 0)); + break; + + case JucerCommandIDs::compOverlay0: + case JucerCommandIDs::compOverlay33: + case JucerCommandIDs::compOverlay66: + case JucerCommandIDs::compOverlay100: + { + int amount = 0, num = 0; + + if (commandID == JucerCommandIDs::compOverlay33) + { + amount = 33; + num = 1; + } + else if (commandID == JucerCommandIDs::compOverlay66) + { + amount = 66; + num = 2; + } + else if (commandID == JucerCommandIDs::compOverlay100) + { + amount = 100; + num = 3; + } + + result.defaultKeypresses.add (KeyPress ('2' + num, cmd, 0)); + + int currentAmount = 0; + if (document != nullptr && document->getComponentOverlayOpacity() > 0.9f) + currentAmount = 100; + else if (document != nullptr && document->getComponentOverlayOpacity() > 0.6f) + currentAmount = 66; + else if (document != nullptr && document->getComponentOverlayOpacity() > 0.3f) + currentAmount = 33; + + result.setInfo (commandID == JucerCommandIDs::compOverlay0 + ? TRANS("No component overlay") + : TRANS("Overlay with opacity of 123%").replace ("123", String (amount)), + TRANS("Changes the opacity of the components that are shown over the top of the graphics editor."), + CommandCategories::view, 0); + result.setActive (currentPaintRoutine != nullptr && document->getComponentLayout() != nullptr); + result.setTicked (amount == currentAmount); + } + break; + + case StandardApplicationCommandIDs::undo: + result.setInfo (TRANS ("Undo"), TRANS ("Undo"), "Editing", 0); + result.setActive (document != nullptr && document->getUndoManager().canUndo()); + result.defaultKeypresses.add (KeyPress ('z', cmd, 0)); + break; + + case StandardApplicationCommandIDs::redo: + result.setInfo (TRANS ("Redo"), TRANS ("Redo"), "Editing", 0); + result.setActive (document != nullptr && document->getUndoManager().canRedo()); + result.defaultKeypresses.add (KeyPress ('z', cmd | shift, 0)); + break; + + case StandardApplicationCommandIDs::cut: + result.setInfo (TRANS ("Cut"), String::empty, "Editing", 0); + result.setActive (isSomethingSelected()); + result.defaultKeypresses.add (KeyPress ('x', cmd, 0)); + break; + + case StandardApplicationCommandIDs::copy: + result.setInfo (TRANS ("Copy"), String::empty, "Editing", 0); + result.setActive (isSomethingSelected()); + result.defaultKeypresses.add (KeyPress ('c', cmd, 0)); + break; + + case StandardApplicationCommandIDs::paste: + { + result.setInfo (TRANS ("Paste"), String::empty, "Editing", 0); + result.defaultKeypresses.add (KeyPress ('v', cmd, 0)); + + bool canPaste = false; + + ScopedPointer doc (XmlDocument::parse (SystemClipboard::getTextFromClipboard())); + + if (doc != nullptr) + { + if (doc->hasTagName (ComponentLayout::clipboardXmlTag)) + canPaste = (currentLayout != nullptr); + else if (doc->hasTagName (PaintRoutine::clipboardXmlTag)) + canPaste = (currentPaintRoutine != nullptr); + } + + result.setActive (canPaste); + } + + break; + + case StandardApplicationCommandIDs::del: + result.setInfo (TRANS ("Delete"), String::empty, "Editing", 0); + result.setActive (isSomethingSelected()); + break; + + case StandardApplicationCommandIDs::selectAll: + result.setInfo (TRANS ("Select All"), String::empty, "Editing", 0); + result.setActive (currentPaintRoutine != nullptr || currentLayout != nullptr); + result.defaultKeypresses.add (KeyPress ('a', cmd, 0)); + break; + + case StandardApplicationCommandIDs::deselectAll: + result.setInfo (TRANS ("Deselect All"), String::empty, "Editing", 0); + result.setActive (currentPaintRoutine != nullptr || currentLayout != nullptr); + result.defaultKeypresses.add (KeyPress ('d', cmd, 0)); + break; + + default: + break; + } +} + +bool JucerDocumentEditor::perform (const InvocationInfo& info) +{ + ComponentLayout* const currentLayout = getCurrentLayout(); + PaintRoutine* const currentPaintRoutine = getCurrentPaintRoutine(); + + document->beginTransaction(); + + if (info.commandID >= JucerCommandIDs::newComponentBase + && info.commandID < JucerCommandIDs::newComponentBase + ObjectTypes::numComponentTypes) + { + addComponent (info.commandID - JucerCommandIDs::newComponentBase); + return true; + } + + if (info.commandID >= JucerCommandIDs::newElementBase + && info.commandID < JucerCommandIDs::newElementBase + ObjectTypes::numElementTypes) + { + addElement (info.commandID - JucerCommandIDs::newElementBase); + return true; + } + + switch (info.commandID) + { + case StandardApplicationCommandIDs::undo: + document->getUndoManager().undo(); + document->dispatchPendingMessages(); + break; + + case StandardApplicationCommandIDs::redo: + document->getUndoManager().redo(); + document->dispatchPendingMessages(); + break; + + case JucerCommandIDs::test: + TestComponent::showInDialogBox (*document); + break; + + case JucerCommandIDs::enableSnapToGrid: + document->setSnappingGrid (document->getSnappingGridSize(), + ! document->isSnapActive (false), + document->isSnapShown()); + break; + + case JucerCommandIDs::showGrid: + document->setSnappingGrid (document->getSnappingGridSize(), + document->isSnapActive (false), + ! document->isSnapShown()); + break; + + case JucerCommandIDs::editCompLayout: + showLayout(); + break; + + case JucerCommandIDs::editCompGraphics: + showGraphics (0); + break; + + case JucerCommandIDs::zoomIn: setZoom (snapToIntegerZoom (getZoom() * 2.0)); break; + case JucerCommandIDs::zoomOut: setZoom (snapToIntegerZoom (getZoom() / 2.0)); break; + case JucerCommandIDs::zoomNormal: setZoom (1.0); break; + + case JucerCommandIDs::spaceBarDrag: + if (EditingPanelBase* panel = dynamic_cast (tabbedComponent.getCurrentContentComponent())) + panel->dragKeyHeldDown (info.isKeyDown); + + break; + + case JucerCommandIDs::compOverlay0: + case JucerCommandIDs::compOverlay33: + case JucerCommandIDs::compOverlay66: + case JucerCommandIDs::compOverlay100: + { + int amount = 0; + + if (info.commandID == JucerCommandIDs::compOverlay33) + amount = 33; + else if (info.commandID == JucerCommandIDs::compOverlay66) + amount = 66; + else if (info.commandID == JucerCommandIDs::compOverlay100) + amount = 100; + + document->setComponentOverlayOpacity (amount * 0.01f); + } + break; + + case JucerCommandIDs::bringBackLostItems: + if (EditingPanelBase* panel = dynamic_cast (tabbedComponent.getCurrentContentComponent())) + { + int w = panel->getComponentArea().getWidth(); + int h = panel->getComponentArea().getHeight(); + + if (currentPaintRoutine != nullptr) + currentPaintRoutine->bringLostItemsBackOnScreen (panel->getComponentArea()); + else if (currentLayout != nullptr) + currentLayout->bringLostItemsBackOnScreen (w, h); + } + + break; + + case JucerCommandIDs::toFront: + if (currentLayout != nullptr) + currentLayout->selectedToFront(); + else if (currentPaintRoutine != nullptr) + currentPaintRoutine->selectedToFront(); + + break; + + case JucerCommandIDs::toBack: + if (currentLayout != nullptr) + currentLayout->selectedToBack(); + else if (currentPaintRoutine != nullptr) + currentPaintRoutine->selectedToBack(); + + break; + + case JucerCommandIDs::group: + if (currentPaintRoutine != nullptr) + currentPaintRoutine->groupSelected(); + break; + + case JucerCommandIDs::ungroup: + if (currentPaintRoutine != nullptr) + currentPaintRoutine->ungroupSelected(); + break; + + case StandardApplicationCommandIDs::cut: + if (currentLayout != nullptr) + { + currentLayout->copySelectedToClipboard(); + currentLayout->deleteSelected(); + } + else if (currentPaintRoutine != nullptr) + { + currentPaintRoutine->copySelectedToClipboard(); + currentPaintRoutine->deleteSelected(); + } + + break; + + case StandardApplicationCommandIDs::copy: + if (currentLayout != nullptr) + currentLayout->copySelectedToClipboard(); + else if (currentPaintRoutine != nullptr) + currentPaintRoutine->copySelectedToClipboard(); + + break; + + case StandardApplicationCommandIDs::paste: + { + ScopedPointer doc (XmlDocument::parse (SystemClipboard::getTextFromClipboard())); + + if (doc != nullptr) + { + if (doc->hasTagName (ComponentLayout::clipboardXmlTag)) + { + if (currentLayout != nullptr) + currentLayout->paste(); + } + else if (doc->hasTagName (PaintRoutine::clipboardXmlTag)) + { + if (currentPaintRoutine != nullptr) + currentPaintRoutine->paste(); + } + } + } + break; + + case StandardApplicationCommandIDs::del: + if (currentLayout != nullptr) + currentLayout->deleteSelected(); + else if (currentPaintRoutine != nullptr) + currentPaintRoutine->deleteSelected(); + break; + + case StandardApplicationCommandIDs::selectAll: + if (currentLayout != nullptr) + currentLayout->selectAll(); + else if (currentPaintRoutine != nullptr) + currentPaintRoutine->selectAll(); + break; + + case StandardApplicationCommandIDs::deselectAll: + if (currentLayout != nullptr) + { + currentLayout->getSelectedSet().deselectAll(); + } + else if (currentPaintRoutine != nullptr) + { + currentPaintRoutine->getSelectedElements().deselectAll(); + currentPaintRoutine->getSelectedPoints().deselectAll(); + } + + break; + + default: + return false; + } + + document->beginTransaction(); + return true; +} + +bool JucerDocumentEditor::keyPressed (const KeyPress& key) +{ + if (key.isKeyCode (KeyPress::deleteKey) || key.isKeyCode (KeyPress::backspaceKey)) + { + ProjucerApplication::getCommandManager().invokeDirectly (StandardApplicationCommandIDs::del, true); + return true; + } + + return false; +} + +JucerDocumentEditor* JucerDocumentEditor::getActiveDocumentHolder() +{ + ApplicationCommandInfo info (0); + ApplicationCommandTarget* target = ProjucerApplication::getCommandManager().getTargetForCommand (JucerCommandIDs::editCompLayout, info); + + return dynamic_cast (target); +} + +Image JucerDocumentEditor::createComponentLayerSnapshot() const +{ + if (compLayoutPanel != nullptr) + return compLayoutPanel->createComponentSnapshot(); + + return Image(); +} + +const int gridSnapMenuItemBase = 0x8723620; +const int snapSizes[] = { 2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 24, 32 }; + +void createGUIEditorMenu (PopupMenu& menu) +{ + ApplicationCommandManager* commandManager = &ProjucerApplication::getCommandManager(); + + menu.addCommandItem (commandManager, JucerCommandIDs::editCompLayout); + menu.addCommandItem (commandManager, JucerCommandIDs::editCompGraphics); + menu.addSeparator(); + + PopupMenu newComps; + for (int i = 0; i < ObjectTypes::numComponentTypes; ++i) + newComps.addCommandItem (commandManager, JucerCommandIDs::newComponentBase + i); + + menu.addSubMenu ("Add new component", newComps); + + PopupMenu newElements; + for (int i = 0; i < ObjectTypes::numElementTypes; ++i) + newElements.addCommandItem (commandManager, JucerCommandIDs::newElementBase + i); + + menu.addSubMenu ("Add new graphic element", newElements); + + 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, JucerCommandIDs::toFront); + menu.addCommandItem (commandManager, JucerCommandIDs::toBack); + menu.addSeparator(); + menu.addCommandItem (commandManager, JucerCommandIDs::group); + menu.addCommandItem (commandManager, JucerCommandIDs::ungroup); + menu.addSeparator(); + menu.addCommandItem (commandManager, JucerCommandIDs::bringBackLostItems); + + menu.addSeparator(); + menu.addCommandItem (commandManager, JucerCommandIDs::showGrid); + menu.addCommandItem (commandManager, JucerCommandIDs::enableSnapToGrid); + + JucerDocumentEditor* holder = JucerDocumentEditor::getActiveDocumentHolder(); + + { + const int currentSnapSize = holder != nullptr ? holder->getDocument()->getSnappingGridSize() : -1; + + PopupMenu m; + for (int i = 0; i < numElementsInArray (snapSizes); ++i) + m.addItem (gridSnapMenuItemBase + i, String (snapSizes[i]) + " pixels", + true, snapSizes[i] == currentSnapSize); + + menu.addSubMenu ("Grid size", m, currentSnapSize >= 0); + } + + menu.addSeparator(); + menu.addCommandItem (commandManager, JucerCommandIDs::zoomIn); + menu.addCommandItem (commandManager, JucerCommandIDs::zoomOut); + menu.addCommandItem (commandManager, JucerCommandIDs::zoomNormal); + + menu.addSeparator(); + menu.addCommandItem (commandManager, JucerCommandIDs::test); + + menu.addSeparator(); + + { + PopupMenu overlays; + overlays.addCommandItem (commandManager, JucerCommandIDs::compOverlay0); + overlays.addCommandItem (commandManager, JucerCommandIDs::compOverlay33); + overlays.addCommandItem (commandManager, JucerCommandIDs::compOverlay66); + overlays.addCommandItem (commandManager, JucerCommandIDs::compOverlay100); + + menu.addSubMenu ("Component Overlay", overlays, holder != nullptr); + } +} + +void handleGUIEditorMenuCommand (int menuItemID) +{ + if (JucerDocumentEditor* ed = JucerDocumentEditor::getActiveDocumentHolder()) + { + int gridIndex = menuItemID - gridSnapMenuItemBase; + + if (isPositiveAndBelow (gridIndex, numElementsInArray (snapSizes))) + { + JucerDocument& doc = *ed->getDocument(); + + doc.setSnappingGrid (snapSizes [gridIndex], + doc.isSnapActive (false), + doc.isSnapShown()); + } + } +} + +void registerGUIEditorCommands() +{ + JucerDocumentEditor dh (nullptr); + 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/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp new file mode 100644 index 00000000..47af8ff5 --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp @@ -0,0 +1,281 @@ +/* + ============================================================================== + + 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 "../ui/jucer_JucerCommandIDs.h" +#include "jucer_PaintRoutineEditor.h" +#include "../jucer_ObjectTypes.h" +#include "jucer_JucerDocumentEditor.h" + + +//============================================================================== +PaintRoutineEditor::PaintRoutineEditor (PaintRoutine& pr, JucerDocument& doc, + JucerDocumentEditor* docHolder) + : graphics (pr), + document (doc), + documentHolder (docHolder), + componentOverlay (nullptr), + componentOverlayOpacity (0.0f) +{ + refreshAllElements(); + + setSize (document.getInitialWidth(), + document.getInitialHeight()); +} + +PaintRoutineEditor::~PaintRoutineEditor() +{ + document.removeChangeListener (this); + removeAllElementComps(); + removeChildComponent (&lassoComp); + deleteAllChildren(); +} + +void PaintRoutineEditor::removeAllElementComps() +{ + for (int i = getNumChildComponents(); --i >= 0;) + if (PaintElement* const e = dynamic_cast (getChildComponent (i))) + removeChildComponent (e); +} + +Rectangle PaintRoutineEditor::getComponentArea() const +{ + if (document.isFixedSize()) + return Rectangle ((getWidth() - document.getInitialWidth()) / 2, + (getHeight() - document.getInitialHeight()) / 2, + document.getInitialWidth(), + document.getInitialHeight()); + + return getLocalBounds().reduced (4); +} + +//============================================================================== +void PaintRoutineEditor::paint (Graphics& g) +{ + const Rectangle clip (getComponentArea()); + + g.reduceClipRegion (clip); + g.setOrigin (clip.getPosition()); + + graphics.fillWithBackground (g, true); + grid.draw (g, &graphics); +} + +void PaintRoutineEditor::paintOverChildren (Graphics& g) +{ + if (componentOverlay.isNull() && document.getComponentOverlayOpacity() > 0.0f) + updateComponentOverlay(); + + if (componentOverlay.isValid()) + { + const Rectangle clip (getComponentArea()); + g.drawImageAt (componentOverlay, clip.getX(), clip.getY()); + } +} + +void PaintRoutineEditor::resized() +{ + if (getWidth() > 0 && getHeight() > 0) + { + componentOverlay = Image(); + refreshAllElements(); + } +} + +void PaintRoutineEditor::updateChildBounds() +{ + const Rectangle clip (getComponentArea()); + + for (int i = 0; i < getNumChildComponents(); ++i) + if (PaintElement* const e = dynamic_cast (getChildComponent (i))) + e->updateBounds (clip); +} + +void PaintRoutineEditor::updateComponentOverlay() +{ + if (componentOverlay.isValid()) + repaint(); + + componentOverlay = Image(); + componentOverlayOpacity = document.getComponentOverlayOpacity(); + + if (componentOverlayOpacity > 0.0f) + { + if (documentHolder != nullptr) + componentOverlay = documentHolder->createComponentLayerSnapshot(); + + if (componentOverlay.isValid()) + { + componentOverlay.multiplyAllAlphas (componentOverlayOpacity); + repaint(); + } + } +} + +void PaintRoutineEditor::visibilityChanged() +{ + document.beginTransaction(); + + if (isVisible()) + { + refreshAllElements(); + document.addChangeListener (this); + } + else + { + document.removeChangeListener (this); + componentOverlay = Image(); + } +} + +void PaintRoutineEditor::refreshAllElements() +{ + for (int i = getNumChildComponents(); --i >= 0;) + if (PaintElement* const e = dynamic_cast (getChildComponent (i))) + if (! graphics.containsElement (e)) + removeChildComponent (e); + + Component* last = nullptr; + + for (int i = graphics.getNumElements(); --i >= 0;) + { + PaintElement* const e = graphics.getElement (i); + + addAndMakeVisible (e); + + if (last != nullptr) + e->toBehind (last); + else + e->toFront (false); + + last = e; + } + + updateChildBounds(); + + if (grid.updateFromDesign (document)) + repaint(); + + if (currentBackgroundColour != graphics.getBackgroundColour()) + { + currentBackgroundColour = graphics.getBackgroundColour(); + repaint(); + } + + if (componentOverlayOpacity != document.getComponentOverlayOpacity()) + { + componentOverlay = Image(); + componentOverlayOpacity = document.getComponentOverlayOpacity(); + repaint(); + } +} + +void PaintRoutineEditor::changeListenerCallback (ChangeBroadcaster*) +{ + refreshAllElements(); +} + +void PaintRoutineEditor::mouseDown (const MouseEvent& e) +{ + if (e.mods.isPopupMenu()) + { + ApplicationCommandManager* commandManager = &ProjucerApplication::getCommandManager(); + + PopupMenu m; + + m.addCommandItem (commandManager, JucerCommandIDs::editCompLayout); + m.addCommandItem (commandManager, JucerCommandIDs::editCompGraphics); + m.addSeparator(); + + for (int i = 0; i < ObjectTypes::numElementTypes; ++i) + m.addCommandItem (commandManager, JucerCommandIDs::newElementBase + i); + + m.show(); + } + else + { + addChildComponent (lassoComp); + lassoComp.beginLasso (e, this); + } +} + +void PaintRoutineEditor::mouseDrag (const MouseEvent& e) +{ + lassoComp.toFront (false); + lassoComp.dragLasso (e); +} + +void PaintRoutineEditor::mouseUp (const MouseEvent& e) +{ + lassoComp.endLasso(); + + if (! (e.mouseWasDraggedSinceMouseDown() || e.mods.isAnyModifierKeyDown())) + { + graphics.getSelectedElements().deselectAll(); + graphics.getSelectedPoints().deselectAll(); + } +} + +void PaintRoutineEditor::findLassoItemsInArea (Array & results, const Rectangle& lasso) +{ + for (int i = 0; i < getNumChildComponents(); ++i) + if (PaintElement* const e = dynamic_cast (getChildComponent (i))) + if (e->getBounds().expanded (-e->borderThickness).intersects (lasso)) + results.add (e); +} + +SelectedItemSet & PaintRoutineEditor::getLassoSelection() +{ + return graphics.getSelectedElements(); +} + +bool PaintRoutineEditor::isInterestedInFileDrag (const StringArray& files) +{ + return File::createFileWithoutCheckingPath (files[0]) + .hasFileExtension ("jpg;jpeg;png;gif;svg"); +} + +void PaintRoutineEditor::filesDropped (const StringArray& filenames, int x, int y) +{ + const File f (filenames [0]); + + if (f.existsAsFile()) + { + ScopedPointer d (Drawable::createFromImageFile (f)); + + if (d != nullptr) + { + d = nullptr; + + document.beginTransaction(); + + graphics.dropImageAt (f, + jlimit (10, getWidth() - 10, x), + jlimit (10, getHeight() - 10, y)); + + document.beginTransaction(); + } + } +} 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/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp new file mode 100644 index 00000000..48672b41 --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp @@ -0,0 +1,179 @@ +/* + ============================================================================== + + 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_TestComponent.h" +#include "../jucer_ObjectTypes.h" + + +static Array testComponents; + +//============================================================================== +TestComponent::TestComponent (JucerDocument* const doc, + JucerDocument* const loaded, + const bool alwaysFill) + : ownerDocument (doc), + loadedDocument (loaded), + alwaysFillBackground (alwaysFill) +{ + setToInitialSize(); + updateContents(); + testComponents.add (this); + + setLookAndFeel (&lookAndFeel); +} + +TestComponent::~TestComponent() +{ + testComponents.removeFirstMatchingValue (this); + deleteAllChildren(); +} + +//============================================================================== +void TestComponent::reloadAll() +{ + for (int i = testComponents.size(); --i >= 0;) + testComponents.getUnchecked(i)->reload(); +} + +void TestComponent::reload() +{ + if (findFile().exists() && lastModificationTime != findFile().getLastModificationTime()) + setFilename (filename); +} + +//============================================================================== +static StringArray recursiveFiles; + +File TestComponent::findFile() const +{ + if (filename.isEmpty()) + return File(); + + if (ownerDocument != nullptr) + return ownerDocument->getCppFile().getSiblingFile (filename); + + return File::getCurrentWorkingDirectory().getChildFile (filename); +} + +void TestComponent::setFilename (const String& newName) +{ + File newFile; + + if (newName.isNotEmpty()) + { + if (ownerDocument != nullptr) + newFile = ownerDocument->getCppFile().getSiblingFile (newName); + else + newFile = File::getCurrentWorkingDirectory().getChildFile (newName); + } + + if (! recursiveFiles.contains (newFile.getFullPathName())) + { + recursiveFiles.add (newFile.getFullPathName()); + + loadedDocument = nullptr; + + filename = newName; + lastModificationTime = findFile().getLastModificationTime(); + + loadedDocument = JucerDocument::createForCppFile (nullptr, findFile()); + + updateContents(); + repaint(); + + recursiveFiles.remove (recursiveFiles.size() - 1); + } +} + +void TestComponent::setConstructorParams (const String& newParams) +{ + constructorParams = newParams; +} + +void TestComponent::updateContents() +{ + deleteAllChildren(); + repaint(); + + if (loadedDocument != nullptr) + { + addAndMakeVisible (loadedDocument->createTestComponent (alwaysFillBackground)); + resized(); + } +} + +void TestComponent::setToInitialSize() +{ + if (loadedDocument != nullptr) + setSize (loadedDocument->getInitialWidth(), + loadedDocument->getInitialHeight()); + else + setSize (100, 100); +} + +//============================================================================== +void TestComponent::paint (Graphics& g) +{ + if (loadedDocument == nullptr) + { + g.fillAll (Colours::white.withAlpha (0.25f)); + + g.setColour (Colours::black.withAlpha (0.5f)); + g.drawRect (getLocalBounds()); + g.drawLine (0.0f, 0.0f, (float) getWidth(), (float) getHeight()); + g.drawLine (0.0f, (float) getHeight(), (float) getWidth(), 0.0f); + + g.setFont (14.0f); + g.drawText ("Projucer Component", + 0, 0, getWidth(), getHeight() / 2, + Justification::centred, true); + g.drawText ("(no file loaded)", + 0, getHeight() / 2, getWidth(), getHeight() / 2, + Justification::centred, true); + } +} + +void TestComponent::resized() +{ + if (Component* const c = getChildComponent (0)) + { + setOpaque (c->isOpaque()); + c->setBounds (getLocalBounds()); + } +} + +//============================================================================== +void TestComponent::showInDialogBox (JucerDocument& document) +{ + DialogWindow::LaunchOptions o; + o.content.setOwned (new TestComponent (nullptr, document.createCopy(), true)); + o.dialogTitle = "Testing: " + document.getClassName(); + o.dialogBackgroundColour = Colours::azure; + o.escapeKeyTriggersCloseButton = true; + o.useNativeTitleBar = false; + o.resizable = true; + + o.launchAsync(); +} diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.h new file mode 100644 index 00000000..4334155f --- /dev/null +++ b/extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.h @@ -0,0 +1,80 @@ +/* + ============================================================================== + + 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_TESTCOMPONENT_H_INCLUDED +#define JUCER_TESTCOMPONENT_H_INCLUDED + +#include "../jucer_JucerDocument.h" + + +//============================================================================== +/** +*/ +class TestComponent : public Component +{ +public: + //============================================================================== + TestComponent (JucerDocument* const ownerDocument, + JucerDocument* const loadedDocument, + const bool alwaysFillBackground); + + ~TestComponent(); + + //============================================================================== + void setFilename (const String& fn); + const String& getFilename() const noexcept { return filename; } + + void setConstructorParams (const String& newParams); + const String& getConstructorParams() const noexcept { return constructorParams; } + + File findFile() const; + + JucerDocument* getDocument() const noexcept { return loadedDocument; } + JucerDocument* getOwnerDocument() const noexcept { return ownerDocument; } + + void setToInitialSize(); + + //============================================================================== + void paint (Graphics&) override; + void resized() override; + + static void showInDialogBox (JucerDocument&); + + // reloads any test comps that need to do so + static void reloadAll(); + +private: + JucerDocument* ownerDocument; + ScopedPointer loadedDocument; + String filename, constructorParams; + Time lastModificationTime; + LookAndFeel_V2 lookAndFeel; + const bool alwaysFillBackground; + + void updateContents(); + void reload(); +}; + + +#endif // JUCER_TESTCOMPONENT_H_INCLUDED diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ActivityList.h b/extras/Projucer/Source/LiveBuildEngine/projucer_ActivityList.h new file mode 100644 index 00000000..7f7e26d2 --- /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 00000000..c8f5e1bf --- /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 00000000..dba0ed73 --- /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 00000000..906f69f7 --- /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 00000000..42eb1f27 --- /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 00000000..388b96fe --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.cpp @@ -0,0 +1,920 @@ +/* + ============================================================================== + + 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; + } + + if (areAnyModulesMissing (project)) + { + MessageTypes::sendNewBuild (*server, build); + + owner.errorList.resetToError ("Some of your JUCE modules can't be found! " + "Please check that all the module paths are correct"); + 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); + } + + static bool areAnyModulesMissing (Project& project) + { + OwnedArray modules; + project.getModules().createRequiredModules (modules); + + for (auto* module : modules) + if (! module->getFolder().isDirectory()) + return true; + + return false; + } + + 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 00000000..5b67d2ba --- /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 00000000..2d4b9091 --- /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 00000000..9cfc99a3 --- /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 00000000..c2ce7a34 --- /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 00000000..e18a990f --- /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 00000000..829a7b65 --- /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 00000000..74e746a9 --- /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 preceding 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 00000000..82b05777 --- /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 00000000..61181f92 --- /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 00000000..43312689 --- /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 00000000..d5daa915 --- /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 00000000..699ca549 --- /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 00000000..a6b0b5b9 --- /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/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidAnt.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidAnt.h new file mode 100644 index 00000000..e3b3907e --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidAnt.h @@ -0,0 +1,467 @@ +/* + ============================================================================== + + 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 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 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"; } + + //============================================================================== + Value getNDKToolchainVersionValue() { return getSetting (Ids::toolset); } + String getNDKToolchainVersionString() const { return settings [Ids::toolset]; } + Value getStaticLibrariesValue() { return getSetting (Ids::androidStaticLibraries); } + String getStaticLibrariesString() const { return settings [Ids::androidStaticLibraries]; } + Value getSharedLibrariesValue() { return getSetting (Ids::androidSharedLibraries); } + String getSharedLibrariesString() const { return settings [Ids::androidSharedLibraries]; } + + //============================================================================== + static AndroidAntProjectExporter* createForSettings (Project& project, const ValueTree& settings) + { + if (settings.hasType (getValueTreeTypeName())) + return new AndroidAntProjectExporter (project, settings); + + return nullptr; + } + + //============================================================================== + AndroidAntProjectExporter (Project& p, const ValueTree& t) + : AndroidProjectExporterBase (p, t) + { + name = getName(); + + if (getTargetLocationString().isEmpty()) + getTargetLocationValue() = getDefaultBuildsRootFolder() + "Android"; + } + + //============================================================================== + void createToolchainExporterProperties (PropertyListBuilder& props) override + { + props.add (new TextPropertyComponent (getNDKToolchainVersionValue(), "NDK Toolchain version", 32, false), + "The variable NDK_TOOLCHAIN_VERSION in Application.mk - leave blank for a default value"); + } + + void createLibraryModuleExporterProperties (PropertyListBuilder& props) override + { + props.add (new TextPropertyComponent (getStaticLibrariesValue(), "Import static library modules", 8192, true), + "Comma or whitespace delimited list of static libraries (.a) defined in NDK_MODULE_PATH."); + + props.add (new TextPropertyComponent (getSharedLibrariesValue(), "Import shared library modules", 8192, true), + "Comma or whitespace delimited list of shared libraries (.so) defined in NDK_MODULE_PATH."); + } + + //============================================================================== + void create (const OwnedArray& modules) const override + { + AndroidProjectExporterBase::create (modules); + + const File target (getTargetFolder()); + const File jniFolder (target.getChildFile ("jni")); + + createDirectoryOrThrow (jniFolder); + createDirectoryOrThrow (target.getChildFile ("res").getChildFile ("values")); + createDirectoryOrThrow (target.getChildFile ("libs")); + createDirectoryOrThrow (target.getChildFile ("bin")); + + { + ScopedPointer manifest (createManifestXML()); + writeXmlOrThrow (*manifest, target.getChildFile ("AndroidManifest.xml"), "utf-8", 100, true); + } + + writeApplicationMk (jniFolder.getChildFile ("Application.mk")); + writeAndroidMk (jniFolder.getChildFile ("Android.mk")); + + { + ScopedPointer antBuildXml (createAntBuildXML()); + writeXmlOrThrow (*antBuildXml, target.getChildFile ("build.xml"), "UTF-8", 100); + } + + writeProjectPropertiesFile (target.getChildFile ("project.properties")); + writeLocalPropertiesFile (target.getChildFile ("local.properties")); + writeStringsFile (target.getChildFile ("res/values/strings.xml")); + writeIcons (target.getChildFile ("res")); + } + + //============================================================================== + class AndroidBuildConfiguration : public BuildConfiguration + { + public: + AndroidBuildConfiguration (Project& p, const ValueTree& settings, const ProjectExporter& e) + : BuildConfiguration (p, settings, e) + { + if (getArchitectures().isEmpty()) + { + if (isDebug()) + getArchitecturesValue() = "armeabi x86"; + else + getArchitecturesValue() = "armeabi armeabi-v7a x86"; + } + } + + Value getArchitecturesValue() { return getValue (Ids::androidArchitectures); } + String getArchitectures() const { return config [Ids::androidArchitectures]; } + + var getDefaultOptimisationLevel() const override { return var ((int) (isDebug() ? gccO0 : gccO3)); } + + void createConfigProperties (PropertyListBuilder& props) override + { + addGCCOptimisationProperty (props); + + props.add (new TextPropertyComponent (getArchitecturesValue(), "Architectures", 256, false), + "A list of the ARM architectures to build (for a fat binary)."); + } + }; + + BuildConfiguration::Ptr createBuildConfig (const ValueTree& v) const override + { + return new AndroidBuildConfiguration (project, v, *this); + } + +private: + //============================================================================== + String getToolchainVersion() const + { + String v (getNDKToolchainVersionString()); + return v.isNotEmpty() ? v : "4.9"; + } + + + //============================================================================== + String getCppFlags() const + { + String flags ("-fsigned-char -fexceptions -frtti"); + + if (! getNDKToolchainVersionString().startsWithIgnoreCase ("clang")) + flags << " -Wno-psabi"; + + return flags; + } + + String getAppPlatform() const + { + int ndkVersion = androidMinimumSDK.get().getIntValue(); + if (ndkVersion == 9) + ndkVersion = 10; // (doesn't seem to be a version '9') + + return "android-" + String (ndkVersion); + } + + void writeApplicationMk (const File& file) const + { + MemoryOutputStream mo; + + 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 + << "APP_PLATFORM := " << getAppPlatform() << newLine + << "NDK_TOOLCHAIN_VERSION := " << getToolchainVersion() << newLine + << newLine + << "ifeq ($(NDK_DEBUG),1)" << newLine + << " APP_ABI := " << getABIs (true) << newLine + << "else" << newLine + << " APP_ABI := " << getABIs (false) << newLine + << "endif" << newLine; + + overwriteFileIfDifferentOrThrow (file, mo); + } + + struct ShouldFileBeCompiledPredicate + { + bool operator() (const Project::Item& projectItem) const { return projectItem.shouldBeCompiled(); } + }; + + void writeAndroidMk (const File& file) const + { + Array files; + + for (int i = 0; i < getAllGroups().size(); ++i) + findAllProjectItemsWithPredicate (getAllGroups().getReference(i), files, ShouldFileBeCompiledPredicate()); + + MemoryOutputStream mo; + writeAndroidMk (mo, files); + + overwriteFileIfDifferentOrThrow (file, mo); + } + + void writeAndroidMkVariableList (OutputStream& out, const String& variableName, const String& settingsValue) const + { + const StringArray separatedItems (getCommaOrWhitespaceSeparatedItems (settingsValue)); + + if (separatedItems.size() > 0) + out << newLine << variableName << " := " << separatedItems.joinIntoString (" ") << newLine; + } + + void writeAndroidMk (OutputStream& out, const Array& files) const + { + 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 + << "include $(CLEAR_VARS)" << newLine + << newLine + << "ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)" << newLine + << " LOCAL_ARM_MODE := arm" << newLine + << "endif" << newLine + << newLine + << "LOCAL_MODULE := juce_jni" << newLine + << "LOCAL_SRC_FILES := \\" << newLine; + + for (int i = 0; i < files.size(); ++i) + out << " " << (files.getReference(i).isAbsolute() ? "" : "../") + << escapeSpaces (files.getReference(i).toUnixStyle()) << "\\" << newLine; + + writeAndroidMkVariableList (out, "LOCAL_STATIC_LIBRARIES", getStaticLibrariesString()); + writeAndroidMkVariableList (out, "LOCAL_SHARED_LIBRARIES", getSharedLibrariesString()); + + out << newLine + << "ifeq ($(NDK_DEBUG),1)" << newLine; + writeConfigSettings (out, true); + out << "else" << newLine; + writeConfigSettings (out, false); + out << "endif" << newLine + << newLine + << "include $(BUILD_SHARED_LIBRARY)" << newLine; + + StringArray importModules (getCommaOrWhitespaceSeparatedItems (getStaticLibrariesString())); + importModules.addArray (getCommaOrWhitespaceSeparatedItems (getSharedLibrariesString())); + + for (int i = 0; i < importModules.size(); ++i) + out << "$(call import-module," << importModules[i] << ")" << newLine; + } + + void writeConfigSettings (OutputStream& out, bool forDebug) const + { + for (ConstConfigIterator config (*this); config.next();) + { + if (config->isDebug() == forDebug) + { + const AndroidBuildConfiguration& androidConfig = dynamic_cast (*config); + + String cppFlags; + cppFlags << createCPPFlags (androidConfig) + << (" " + replacePreprocessorTokens (androidConfig, getExtraCompilerFlagsString()).trim()).trimEnd() + << newLine + << getLDLIBS (androidConfig).trimEnd() + << newLine; + + out << " LOCAL_CPPFLAGS += " << cppFlags; + out << " LOCAL_CFLAGS += " << cppFlags; + break; + } + } + } + + String getLDLIBS (const AndroidBuildConfiguration& config) const + { + return " LOCAL_LDLIBS :=" + config.getGCCLibraryPathFlags() + + " -llog -lGLESv2 -landroid -lEGL" + getExternalLibraryFlags (config) + + " " + replacePreprocessorTokens (config, getExtraLinkerFlagsString()); + } + + String createIncludePathFlags (const BuildConfiguration& config) const + { + String flags; + StringArray searchPaths (extraSearchPaths); + searchPaths.addArray (config.getHeaderSearchPaths()); + + searchPaths = getCleanedStringArray (searchPaths); + + for (int i = 0; i < searchPaths.size(); ++i) + flags << " -I " << FileHelpers::unixStylePath (replacePreprocessorTokens (config, searchPaths[i])).quoted(); + + return flags; + } + + String createCPPFlags (const BuildConfiguration& config) const + { + StringPairArray defines; + defines.set ("JUCE_ANDROID", "1"); + defines.set ("JUCE_ANDROID_API_VERSION", androidMinimumSDK.get()); + defines.set ("JUCE_ANDROID_ACTIVITY_CLASSNAME", getJNIActivityClassName().replaceCharacter ('/', '_')); + defines.set ("JUCE_ANDROID_ACTIVITY_CLASSPATH", "\\\"" + getJNIActivityClassName() + "\\\""); + + String flags ("-fsigned-char -fexceptions -frtti"); + + if (config.isDebug()) + { + flags << " -g"; + defines.set ("DEBUG", "1"); + defines.set ("_DEBUG", "1"); + } + else + { + defines.set ("NDEBUG", "1"); + } + + flags << createIncludePathFlags (config) + << " -O" << config.getGCCOptimisationFlag(); + + flags << " -std=gnu++11"; + + defines = mergePreprocessorDefs (defines, getAllPreprocessorDefs (config)); + return flags + createGCCPreprocessorFlags (defines); + } + + //============================================================================== + XmlElement* createAntBuildXML() const + { + XmlElement* proj = new XmlElement ("project"); + proj->setAttribute ("name", projectName); + proj->setAttribute ("default", "debug"); + + proj->createNewChildElement ("loadproperties")->setAttribute ("srcFile", "local.properties"); + proj->createNewChildElement ("loadproperties")->setAttribute ("srcFile", "project.properties"); + + { + XmlElement* target = proj->createNewChildElement ("target"); + target->setAttribute ("name", "clean"); + target->setAttribute ("depends", "android_rules.clean"); + + target->createNewChildElement ("delete")->setAttribute ("dir", "libs"); + target->createNewChildElement ("delete")->setAttribute ("dir", "obj"); + + XmlElement* executable = target->createNewChildElement ("exec"); + executable->setAttribute ("executable", "${ndk.dir}/ndk-build"); + executable->setAttribute ("dir", "${basedir}"); + executable->setAttribute ("failonerror", "true"); + + executable->createNewChildElement ("arg")->setAttribute ("value", "clean"); + } + + { + XmlElement* target = proj->createNewChildElement ("target"); + target->setAttribute ("name", "-pre-build"); + + addDebugConditionClause (target, "makefileConfig", "Debug", "Release"); + addDebugConditionClause (target, "ndkDebugValue", "NDK_DEBUG=1", "NDK_DEBUG=0"); + + String debugABIs, releaseABIs; + + for (ConstConfigIterator config (*this); config.next();) + { + const AndroidBuildConfiguration& androidConfig = dynamic_cast (*config); + + if (config->isDebug()) + debugABIs = androidConfig.getArchitectures(); + else + releaseABIs = androidConfig.getArchitectures(); + } + + addDebugConditionClause (target, "app_abis", debugABIs, releaseABIs); + + XmlElement* executable = target->createNewChildElement ("exec"); + executable->setAttribute ("executable", "${ndk.dir}/ndk-build"); + executable->setAttribute ("dir", "${basedir}"); + executable->setAttribute ("failonerror", "true"); + + executable->createNewChildElement ("arg")->setAttribute ("value", "--jobs=4"); + executable->createNewChildElement ("arg")->setAttribute ("value", "CONFIG=${makefileConfig}"); + executable->createNewChildElement ("arg")->setAttribute ("value", "${ndkDebugValue}"); + executable->createNewChildElement ("arg")->setAttribute ("value", "APP_ABI=${app_abis}"); + + target->createNewChildElement ("delete")->setAttribute ("file", "${out.final.file}"); + target->createNewChildElement ("delete")->setAttribute ("file", "${out.packaged.file}"); + } + + proj->createNewChildElement ("import")->setAttribute ("file", "${sdk.dir}/tools/ant/build.xml"); + + return proj; + } + + void addDebugConditionClause (XmlElement* target, const String& property, + const String& debugValue, const String& releaseValue) const + { + XmlElement* condition = target->createNewChildElement ("condition"); + condition->setAttribute ("property", property); + condition->setAttribute ("value", debugValue); + condition->setAttribute ("else", releaseValue); + + XmlElement* equals = condition->createNewChildElement ("equals"); + equals->setAttribute ("arg1", "${ant.project.invoked-targets}"); + equals->setAttribute ("arg2", "debug"); + } + + void writeProjectPropertiesFile (const File& file) const + { + MemoryOutputStream mo; + mo << "# This file is used to override default values used by the Ant build system." << newLine + << "# It is automatically generated - DO NOT EDIT IT or your changes will be lost!." << newLine + << newLine + << "target=" << getAppPlatform() << newLine + << newLine; + + overwriteFileIfDifferentOrThrow (file, mo); + } + + void writeLocalPropertiesFile (const File& file) const + { + MemoryOutputStream mo; + mo << "# This file is used to override default values used by the Ant build system." << 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(), sdkPath.toString())) << newLine + << "ndk.dir=" << escapeSpaces (replacePreprocessorDefs (getAllPreprocessorDefs(), ndkPath.toString())) << newLine + << "key.store=" << androidKeyStore.get() << newLine + << "key.alias=" << androidKeyAlias.get() << newLine + << "key.store.password=" << androidKeyStorePass.get() << newLine + << "key.alias.password=" << androidKeyAliasPass.get() << newLine + << newLine; + + overwriteFileIfDifferentOrThrow (file, mo); + } + + void writeStringsFile (const File& file) const + { + XmlElement strings ("resources"); + XmlElement* resourceName = strings.createNewChildElement ("string"); + resourceName->setAttribute ("name", "app_name"); + resourceName->addTextElement (projectName); + + writeXmlOrThrow (strings, file, "utf-8", 100); + } + + //============================================================================== + JUCE_DECLARE_NON_COPYABLE (AndroidAntProjectExporter) +}; diff --git a/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidBase.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidBase.h new file mode 100644 index 00000000..d4b7fbf0 --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidBase.h @@ -0,0 +1,476 @@ +/* + ============================================================================== + + 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 AndroidProjectExporterBase : public ProjectExporter +{ +public: + //============================================================================== + AndroidProjectExporterBase (Project& p, const ValueTree& t) + : ProjectExporter (p, t), + androidScreenOrientation (settings, Ids::androidScreenOrientation, nullptr, "unspecified"), + androidActivityClass (settings, Ids::androidActivityClass, nullptr, createDefaultClassName()), + androidActivitySubClassName (settings, Ids::androidActivitySubClassName, nullptr), + androidVersionCode (settings, Ids::androidVersionCode, nullptr, "1"), + androidMinimumSDK (settings, Ids::androidMinimumSDK, nullptr, "23"), + androidTheme (settings, Ids::androidTheme, nullptr), + androidInternetNeeded (settings, Ids::androidInternetNeeded, nullptr, true), + androidMicNeeded (settings, Ids::androidMicNeeded, nullptr, false), + androidBluetoothNeeded (settings, Ids::androidBluetoothNeeded, nullptr, true), + androidOtherPermissions (settings, Ids::androidOtherPermissions, nullptr), + androidKeyStore (settings, Ids::androidKeyStore, nullptr, "${user.home}/.android/debug.keystore"), + androidKeyStorePass (settings, Ids::androidKeyStorePass, nullptr, "android"), + androidKeyAlias (settings, Ids::androidKeyAlias, nullptr, "androiddebugkey"), + androidKeyAliasPass (settings, Ids::androidKeyAliasPass, nullptr, "android") + { + initialiseDependencyPathValues(); + } + + //============================================================================== + 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 create (const OwnedArray& modules) const override + { + const String package (getActivityClassPackage()); + const String path (package.replaceCharacter ('.', File::separator)); + const File target (getTargetFolder().getChildFile ("src").getChildFile (path)); + + copyActivityJavaFiles (modules, target, package); + } + + //============================================================================== + void addPlatformSpecificSettingsForProjectType (const ProjectType&) override + { + // no-op. + } + + //============================================================================== + void createExporterProperties (PropertyListBuilder& props) override + { + createBaseExporterProperties (props); + createToolchainExporterProperties (props); + createManifestExporterProperties (props); + createLibraryModuleExporterProperties (props); + createCodeSigningExporterProperties (props); + createOtherExporterProperties (props); + } + + //============================================================================== + enum ScreenOrientation + { + unspecified = 1, + portrait = 2, + landscape = 3 + }; + + //============================================================================== + CachedValue androidScreenOrientation, androidActivityClass, androidActivitySubClassName, + androidVersionCode, androidMinimumSDK, androidTheme; + + CachedValue androidInternetNeeded, androidMicNeeded, androidBluetoothNeeded; + CachedValue androidOtherPermissions; + + CachedValue androidKeyStore, androidKeyStorePass, androidKeyAlias, androidKeyAliasPass; + + //============================================================================== + void createBaseExporterProperties (PropertyListBuilder& props) + { + static const char* orientations[] = { "Portrait and Landscape", "Portrait", "Landscape", nullptr }; + static const char* orientationValues[] = { "unspecified", "portrait", "landscape", nullptr }; + + props.add (new ChoicePropertyComponent (androidScreenOrientation.getPropertyAsValue(), "Screen orientation", StringArray (orientations), Array (orientationValues)), + "The screen orientations that this app should support"); + + props.add (new TextWithDefaultPropertyComponent (androidActivityClass, "Android Activity class name", 256), + "The full java class name to use for the app's Activity class."); + + props.add (new TextPropertyComponent (androidActivitySubClassName.getPropertyAsValue(), "Android Activity sub-class name", 256, false), + "If not empty, specifies the Android Activity class name stored in the app's manifest. " + "Use this if you would like to use your own Android Activity sub-class."); + + props.add (new TextWithDefaultPropertyComponent (androidVersionCode, "Android Version Code", 32), + "An integer value that represents the version of the application code, relative to other versions."); + + props.add (new DependencyPathPropertyComponent (sdkPath, "Android SDK Path"), + "The path to the Android SDK folder on the target build machine"); + + props.add (new DependencyPathPropertyComponent (ndkPath, "Android NDK Path"), + "The path to the Android NDK folder on the target build machine"); + + props.add (new TextWithDefaultPropertyComponent (androidMinimumSDK, "Minimum SDK version", 32), + "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 (androidInternetNeeded.getPropertyAsValue(), "Internet Access", "Specify internet access permission in the manifest"), + "If enabled, this will set the android.permission.INTERNET flag in the manifest."); + + props.add (new BooleanPropertyComponent (androidMicNeeded.getPropertyAsValue(), "Audio Input Required", "Specify audio record permission in the manifest"), + "If enabled, this will set the android.permission.RECORD_AUDIO flag in the manifest."); + + props.add (new BooleanPropertyComponent (androidBluetoothNeeded.getPropertyAsValue(), "Bluetooth permissions Required", "Specify bluetooth permission (required for Bluetooth MIDI)"), + "If enabled, this will set the android.permission.BLUETOOTH and android.permission.BLUETOOTH_ADMIN flag in the manifest. This is required for Bluetooth MIDI on Android."); + + props.add (new TextPropertyComponent (androidOtherPermissions.getPropertyAsValue(), "Custom permissions", 2048, false), + "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 TextWithDefaultPropertyComponent (androidKeyStore, "Key Signing: key.store", 2048), + "The key.store value, used when signing the package."); + + props.add (new TextWithDefaultPropertyComponent (androidKeyStorePass, "Key Signing: key.store.password", 2048), + "The key.store password, used when signing the package."); + + props.add (new TextWithDefaultPropertyComponent (androidKeyAlias, "Key Signing: key.alias", 2048), + "The key.alias value, used when signing the package."); + + props.add (new TextWithDefaultPropertyComponent (androidKeyAliasPass, "Key Signing: key.alias.password", 2048), + "The key.alias password, used when signing the package."); + } + + //============================================================================== + void createOtherExporterProperties (PropertyListBuilder& props) + { + props.add (new TextPropertyComponent (androidTheme.getPropertyAsValue(), "Android Theme", 256, false), + "E.g. @android:style/Theme.NoTitleBar or leave blank for default"); + } + + //============================================================================== + String createDefaultClassName() const + { + String s (project.getBundleIdentifier().toString().toLowerCase()); + + if (s.length() > 5 + && s.containsChar ('.') + && s.containsOnly ("abcdefghijklmnopqrstuvwxyz_.") + && ! s.startsWithChar ('.')) + { + if (! s.endsWithChar ('.')) + s << "."; + } + else + { + s = "com.yourcompany."; + } + + return s + CodeHelpers::makeValidIdentifier (project.getProjectFilenameRoot(), false, true, false); + } + + void initialiseDependencyPathValues() + { + sdkPath.referTo (Value (new DependencyPathValueSource (getSetting (Ids::androidSDKPath), + Ids::androidSDKPath, TargetOS::getThisOS()))); + + ndkPath.referTo (Value (new DependencyPathValueSource (getSetting (Ids::androidNDKPath), + Ids::androidNDKPath, TargetOS::getThisOS()))); + } + + void copyActivityJavaFiles (const OwnedArray& modules, const File& targetFolder, const String& package) const + { + const String className (getActivityName()); + + if (className.isEmpty()) + throw SaveError ("Invalid Android Activity class name: " + androidActivityClass.get()); + + createDirectoryOrThrow (targetFolder); + + LibraryModule* const coreModule = getCoreModule (modules); + + if (coreModule != nullptr) + { + File javaDestFile (targetFolder.getChildFile (className + ".java")); + + File javaSourceFolder (coreModule->getFolder().getChildFile ("native") + .getChildFile ("java")); + + String juceMidiCode, juceMidiImports, juceRuntimePermissionsCode; + + juceMidiImports << newLine; + + if (androidMinimumSDK.get().getIntValue() >= 23) + { + File javaAndroidMidi (javaSourceFolder.getChildFile ("AndroidMidi.java")); + File javaRuntimePermissions (javaSourceFolder.getChildFile ("AndroidRuntimePermissions.java")); + + juceMidiImports << "import android.media.midi.*;" << newLine + << "import android.bluetooth.*;" << newLine + << "import android.bluetooth.le.*;" << newLine; + + juceMidiCode = javaAndroidMidi.loadFileAsString().replace ("JuceAppActivity", className); + + juceRuntimePermissionsCode = javaRuntimePermissions.loadFileAsString().replace ("JuceAppActivity", className); + } + else + { + juceMidiCode = javaSourceFolder.getChildFile ("AndroidMidiFallback.java") + .loadFileAsString() + .replace ("JuceAppActivity", className); + } + + File javaSourceFile (javaSourceFolder.getChildFile ("JuceAppActivity.java")); + StringArray javaSourceLines (StringArray::fromLines (javaSourceFile.loadFileAsString())); + + { + MemoryOutputStream newFile; + + for (int i = 0; i < javaSourceLines.size(); ++i) + { + const String& line = javaSourceLines[i]; + + if (line.contains ("$$JuceAndroidMidiImports$$")) + newFile << juceMidiImports; + else if (line.contains ("$$JuceAndroidMidiCode$$")) + newFile << juceMidiCode; + else if (line.contains ("$$JuceAndroidRuntimePermissionsCode$$")) + newFile << juceRuntimePermissionsCode; + else + newFile << line.replace ("JuceAppActivity", className) + .replace ("package com.juce;", "package " + package + ";") << newLine; + } + + javaSourceLines = StringArray::fromLines (newFile.toString()); + } + + while (javaSourceLines.size() > 2 + && javaSourceLines[javaSourceLines.size() - 1].trim().isEmpty() + && javaSourceLines[javaSourceLines.size() - 2].trim().isEmpty()) + javaSourceLines.remove (javaSourceLines.size() - 1); + + overwriteFileIfDifferentOrThrow (javaDestFile, javaSourceLines.joinIntoString (newLine)); + } + } + + String getActivityName() const + { + return androidActivityClass.get().fromLastOccurrenceOf (".", false, false); + } + + String getActivitySubClassName() const + { + String activityPath = androidActivitySubClassName.get(); + + return (activityPath.isEmpty()) ? getActivityName() : activityPath.fromLastOccurrenceOf (".", false, false); + } + + String getActivityClassPackage() const + { + return androidActivityClass.get().upToLastOccurrenceOf (".", false, false); + } + + String getJNIActivityClassName() const + { + return androidActivityClass.get().replaceCharacter ('.', '/'); + } + + static LibraryModule* getCoreModule (const OwnedArray& modules) + { + for (int i = modules.size(); --i >= 0;) + if (modules.getUnchecked(i)->getID() == "juce_core") + return modules.getUnchecked(i); + + return nullptr; + } + + StringArray getPermissionsRequired() const + { + StringArray s; + s.addTokens (androidOtherPermissions.get(), ", ", ""); + + if (androidInternetNeeded.get()) + s.add ("android.permission.INTERNET"); + + if (androidMicNeeded.get()) + s.add ("android.permission.RECORD_AUDIO"); + + if (androidBluetoothNeeded.get()) + { + s.add ("android.permission.BLUETOOTH"); + s.add ("android.permission.BLUETOOTH_ADMIN"); + s.add ("android.permission.ACCESS_COARSE_LOCATION"); + } + + return getCleanedStringArray (s); + } + + template + void findAllProjectItemsWithPredicate (const Project::Item& projectItem, Array& results, const PredicateT& predicate) const + { + if (projectItem.isGroup()) + { + for (int i = 0; i < projectItem.getNumChildren(); ++i) + findAllProjectItemsWithPredicate (projectItem.getChild(i), results, predicate); + } + else + { + if (predicate (projectItem)) + results.add (RelativePath (projectItem.getFile(), getTargetFolder(), RelativePath::buildTargetFolder)); + } + } + + void writeIcon (const File& file, const Image& im) const + { + if (im.isValid()) + { + createDirectoryOrThrow (file.getParentDirectory()); + + PNGImageFormat png; + MemoryOutputStream mo; + + if (! png.writeImageToStream (im, mo)) + throw SaveError ("Can't generate Android icon file"); + + overwriteFileIfDifferentOrThrow (file, mo); + } + } + + void writeIcons (const File& folder) const + { + ScopedPointer bigIcon (getBigIcon()); + ScopedPointer smallIcon (getSmallIcon()); + + if (bigIcon != nullptr && smallIcon != nullptr) + { + const int step = jmax (bigIcon->getWidth(), bigIcon->getHeight()) / 8; + writeIcon (folder.getChildFile ("drawable-xhdpi/icon.png"), getBestIconForSize (step * 8, false)); + writeIcon (folder.getChildFile ("drawable-hdpi/icon.png"), getBestIconForSize (step * 6, false)); + writeIcon (folder.getChildFile ("drawable-mdpi/icon.png"), getBestIconForSize (step * 4, false)); + writeIcon (folder.getChildFile ("drawable-ldpi/icon.png"), getBestIconForSize (step * 3, false)); + } + else if (Drawable* icon = bigIcon != nullptr ? bigIcon : smallIcon) + { + writeIcon (folder.getChildFile ("drawable-mdpi/icon.png"), rescaleImageForIcon (*icon, icon->getWidth())); + } + } + + template + String getABIs (bool forDebug) const + { + for (ConstConfigIterator config (*this); config.next();) + { + const BuildConfigType& androidConfig = dynamic_cast (*config); + + if (config->isDebug() == forDebug) + return androidConfig.getArchitectures(); + } + + return String(); + } + + //============================================================================== + XmlElement* createManifestXML() const + { + XmlElement* manifest = new XmlElement ("manifest"); + + manifest->setAttribute ("xmlns:android", "http://schemas.android.com/apk/res/android"); + manifest->setAttribute ("android:versionCode", androidVersionCode.get()); + manifest->setAttribute ("android:versionName", project.getVersionString()); + manifest->setAttribute ("package", getActivityClassPackage()); + + XmlElement* screens = manifest->createNewChildElement ("supports-screens"); + screens->setAttribute ("android:smallScreens", "true"); + screens->setAttribute ("android:normalScreens", "true"); + screens->setAttribute ("android:largeScreens", "true"); + //screens->setAttribute ("android:xlargeScreens", "true"); + screens->setAttribute ("android:anyDensity", "true"); + + XmlElement* sdk = manifest->createNewChildElement ("uses-sdk"); + sdk->setAttribute ("android:minSdkVersion", androidMinimumSDK.get()); + sdk->setAttribute ("android:targetSdkVersion", androidMinimumSDK.get()); + + { + const StringArray permissions (getPermissionsRequired()); + + for (int i = permissions.size(); --i >= 0;) + manifest->createNewChildElement ("uses-permission")->setAttribute ("android:name", permissions[i]); + } + + if (project.getModules().isModuleEnabled ("juce_opengl")) + { + XmlElement* feature = manifest->createNewChildElement ("uses-feature"); + feature->setAttribute ("android:glEsVersion", "0x00020000"); + feature->setAttribute ("android:required", "true"); + } + + XmlElement* app = manifest->createNewChildElement ("application"); + app->setAttribute ("android:label", "@string/app_name"); + + if (androidTheme.get().isNotEmpty()) + app->setAttribute ("android:theme", androidTheme.get()); + + { + ScopedPointer bigIcon (getBigIcon()), smallIcon (getSmallIcon()); + + if (bigIcon != nullptr || smallIcon != nullptr) + app->setAttribute ("android:icon", "@drawable/icon"); + } + + if (androidMinimumSDK.get().getIntValue() >= 11) + app->setAttribute ("android:hardwareAccelerated", "false"); // (using the 2D acceleration slows down openGL) + + XmlElement* act = app->createNewChildElement ("activity"); + act->setAttribute ("android:name", getActivitySubClassName()); + act->setAttribute ("android:label", "@string/app_name"); + act->setAttribute ("android:configChanges", "keyboardHidden|orientation|screenSize"); + act->setAttribute ("android:screenOrientation", androidScreenOrientation.get()); + + XmlElement* intent = act->createNewChildElement ("intent-filter"); + intent->createNewChildElement ("action")->setAttribute ("android:name", "android.intent.action.MAIN"); + intent->createNewChildElement ("category")->setAttribute ("android:name", "android.intent.category.LAUNCHER"); + + return manifest; + } + + //============================================================================== + Value sdkPath, ndkPath; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AndroidProjectExporterBase) +}; diff --git a/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h new file mode 100644 index 00000000..4fe6975f --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h @@ -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. + + ============================================================================== +*/ + +class AndroidStudioProjectExporter : public AndroidProjectExporterBase +{ +public: + //============================================================================== + bool usesMMFiles() const override { return false; } + bool canCopeWithDuplicateFiles() override { return false; } + bool supportsUserDefinedConfigurations() const override { return false; } + + 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) + { + if (settings.hasType (getValueTreeTypeName())) + return new AndroidStudioProjectExporter (project, settings); + + return nullptr; + } + + //============================================================================== + CachedValue gradleVersion, gradleWrapperVersion, gradleToolchain, buildToolsVersion; + + //============================================================================== + AndroidStudioProjectExporter (Project& p, const ValueTree& t) + : AndroidProjectExporterBase (p, t), + gradleVersion (settings, Ids::gradleVersion, nullptr, "2.10"), + gradleWrapperVersion (settings, Ids::gradleWrapperVersion, nullptr, "0.7.0-alpha4"), + gradleToolchain (settings, Ids::gradleToolchain, nullptr, "gcc"), + buildToolsVersion (settings, Ids::buildToolsVersion, nullptr, "23.0.1"), + androidStudioExecutable (findAndroidStudioExecutable()) + { + name = getName(); + + if (getTargetLocationString().isEmpty()) + getTargetLocationValue() = getDefaultBuildsRootFolder() + "AndroidStudio"; + } + + //============================================================================== + void createToolchainExporterProperties (PropertyListBuilder& props) override + { + props.add (new TextWithDefaultPropertyComponent (gradleVersion, "gradle version", 32), + "The version of gradle that Android Studio should use to build this app"); + + props.add (new TextWithDefaultPropertyComponent (gradleWrapperVersion, "gradle-experimental wrapper version", 32), + "The version of the gradle-experimental wrapper that Android Studio should use to build this app"); + + static const char* toolchains[] = { "clang", "gcc", nullptr }; + + props.add (new ChoicePropertyComponent (gradleToolchain.getPropertyAsValue(), "NDK Toolchain", StringArray (toolchains), Array (toolchains)), + "The toolchain that gradle should invoke for NDK compilation (variable model.android.ndk.tooclhain in app/build.gradle)"); + + props.add (new TextWithDefaultPropertyComponent (buildToolsVersion, "Android build tools version", 32), + "The Android build tools version that Android Studio should use to build this app"); + } + + void createLibraryModuleExporterProperties (PropertyListBuilder&) override + { + // gradle cannot do native library modules as far as we know... + } + + //============================================================================== + bool canLaunchProject() override + { + return androidStudioExecutable.exists(); + } + + bool launchProject() override + { + if (! androidStudioExecutable.exists()) + { + jassertfalse; + return false; + } + + const File targetFolder (getTargetFolder()); + + // we have to surround the path with extra quotes, otherwise Android Studio + // will choke if there are any space characters in the path. + return androidStudioExecutable.startAsProcess ("\"" + targetFolder.getFullPathName() + "\""); + } + + //============================================================================== + void create (const OwnedArray& modules) const override + { + const File targetFolder (getTargetFolder()); + + removeOldFiles (targetFolder); + + { + const String package (getActivityClassPackage()); + const String path (package.replaceCharacter ('.', File::separator)); + const File javaTarget (targetFolder.getChildFile ("app/src/main/java").getChildFile (path)); + + copyActivityJavaFiles (modules, javaTarget, package); + } + + writeFile (targetFolder, "settings.gradle", getSettingsGradleFileContent()); + writeFile (targetFolder, "build.gradle", getProjectBuildGradleFileContent()); + writeFile (targetFolder, "app/build.gradle", getAppBuildGradleFileContent()); + writeFile (targetFolder, "local.properties", getLocalPropertiesFileContent()); + writeFile (targetFolder, "gradle/wrapper/gradle-wrapper.properties", getGradleWrapperPropertiesFileContent()); + + writeAndroidManifest (targetFolder); + writeStringsXML (targetFolder); + writeAppIcons (targetFolder); + createSourceSymlinks (targetFolder); + } + + void removeOldFiles (const File& targetFolder) const + { + targetFolder.getChildFile ("app/src").deleteRecursively(); + targetFolder.getChildFile ("app/build").deleteRecursively(); + targetFolder.getChildFile ("app/build.gradle").deleteFile(); + targetFolder.getChildFile ("gradle").deleteRecursively(); + targetFolder.getChildFile ("local.properties").deleteFile(); + targetFolder.getChildFile ("settings.gradle").deleteFile(); + } + + void writeFile (const File& gradleProjectFolder, const String& filePath, const String& fileContent) const + { + MemoryOutputStream outStream; + outStream << fileContent; + overwriteFileIfDifferentOrThrow (gradleProjectFolder.getChildFile (filePath), outStream); + } + + //============================================================================== + static File findAndroidStudioExecutable() + { + #if JUCE_WINDOWS + const File defaultInstallation ("C:\\Program Files\\Android\\Android Studio\\bin"); + + if (defaultInstallation.exists()) + { + { + const File studio64 = defaultInstallation.getChildFile ("studio64.exe"); + + if (studio64.existsAsFile()) + return studio64; + } + + { + const File studio = defaultInstallation.getChildFile ("studio.exe"); + + if (studio.existsAsFile()) + return studio; + } + } + #elif JUCE_MAC + const File defaultInstallation ("/Applications/Android Studio.app"); + + if (defaultInstallation.exists()) + return defaultInstallation; + #endif + + return File::nonexistent; + } + +protected: + //============================================================================== + class AndroidStudioBuildConfiguration : public BuildConfiguration + { + public: + AndroidStudioBuildConfiguration (Project& p, const ValueTree& settings, const ProjectExporter& e) + : BuildConfiguration (p, settings, e) + { + if (getArchitectures().isEmpty()) + { + if (isDebug()) + getArchitecturesValue() = "armeabi x86"; + else + getArchitecturesValue() = "armeabi armeabi-v7a x86"; + } + } + + Value getArchitecturesValue() { return getValue (Ids::androidArchitectures); } + String getArchitectures() const { return config [Ids::androidArchitectures]; } + + var getDefaultOptimisationLevel() const override { return var ((int) (isDebug() ? gccO0 : gccO3)); } + + void createConfigProperties (PropertyListBuilder& props) override + { + addGCCOptimisationProperty (props); + + props.add (new TextPropertyComponent (getArchitecturesValue(), "Architectures", 256, false), + "A list of the ARM architectures to build (for a fat binary)."); + } + }; + + BuildConfiguration::Ptr createBuildConfig (const ValueTree& v) const override + { + return new AndroidStudioBuildConfiguration (project, v, *this); + } + +private: + static void createSymlinkAndParentFolders (const File& originalFile, const File& linkFile) + { + { + const File linkFileParentDirectory (linkFile.getParentDirectory()); + + // this will recursively creative the parent directories for the file. + // without this, the symlink would fail because it doesn't automatically create + // the folders if they don't exist + if (! linkFileParentDirectory.createDirectory()) + throw SaveError (String ("Could not create directory ") + linkFileParentDirectory.getFullPathName()); + } + + if (! originalFile.createSymbolicLink (linkFile, true)) + throw SaveError (String ("Failed to create symlink from ") + + linkFile.getFullPathName() + " to " + + originalFile.getFullPathName() + "!"); + } + + void makeSymlinksForGroup (const Project::Item& group, const File& targetFolder) const + { + if (! group.isGroup()) + { + throw SaveError ("makeSymlinksForGroup was called with something other than a group!"); + } + + for (int i = 0; i < group.getNumChildren(); ++i) + { + const Project::Item& projectItem = group.getChild (i); + + if (projectItem.isGroup()) + { + makeSymlinksForGroup (projectItem, targetFolder.getChildFile (projectItem.getName())); + } + else if (projectItem.shouldBeAddedToTargetProject()) // must be a file then + { + const File originalFile (projectItem.getFile()); + const File targetFile (targetFolder.getChildFile (originalFile.getFileName())); + + createSymlinkAndParentFolders (originalFile, targetFile); + } + } + } + + void createSourceSymlinks (const File& folder) const + { + const File targetFolder (folder.getChildFile ("app/src/main/jni")); + + // here we make symlinks to only to files included in the groups inside the project + // this is because Android Studio does not have a concept of groups and just uses + // the file system layout to determine what's to be compiled + { + const Array& groups = getAllGroups(); + + for (int i = 0; i < groups.size(); ++i) + { + const Project::Item projectItem (groups.getReference (i)); + const String projectItemName (projectItem.getName()); + + if (projectItem.isGroup()) + makeSymlinksForGroup (projectItem, projectItemName == "Juce Modules" ? targetFolder.getChildFile ("JuceModules") : targetFolder); + } + } + } + + void writeAppIcons (const File& folder) const + { + writeIcons (folder.getChildFile ("app/src/main/res/")); + } + + static String sanitisePath (String path) + { + return expandHomeFolderToken (path).replace ("\\", "\\\\"); + } + + static String expandHomeFolderToken (const String& path) + { + String homeFolder = File::getSpecialLocation (File::userHomeDirectory).getFullPathName(); + + return path.replace ("${user.home}", homeFolder) + .replace ("~", homeFolder); + } + + //============================================================================== + struct GradleElement + { + virtual ~GradleElement() {} + String toString() const { return toStringIndented (0); } + virtual String toStringIndented (int indentLevel) const = 0; + + static String indent (int indentLevel) { return String::repeatedString (" ", indentLevel); } + }; + + //============================================================================== + struct GradleStatement : public GradleElement + { + GradleStatement (const String& s) : statement (s) {} + String toStringIndented (int indentLevel) const override { return indent (indentLevel) + statement; } + + String statement; + }; + + //============================================================================== + struct GradleCppFlag : public GradleStatement + { + GradleCppFlag (const String& flag) + : GradleStatement ("cppFlags.add(" + flag.quoted() + ")") {} + }; + + struct GradlePreprocessorDefine : public GradleStatement + { + GradlePreprocessorDefine (const String& define, const String& value) + : GradleStatement ("cppFlags.add(\"-D" + define + "=" + value + "\")") {} + }; + + struct GradleHeaderIncludePath : public GradleStatement + { + GradleHeaderIncludePath (const String& path) + : GradleStatement ("cppFlags.add(\"-I${project.rootDir}/" + sanitisePath (path) + "\".toString())") {} + }; + + struct GradleLibrarySearchPath : public GradleStatement + { + GradleLibrarySearchPath (const String& path) + : GradleStatement ("cppFlags.add(\"-L" + sanitisePath (path) + "\".toString())") {} + }; + + struct GradleLinkerFlag : public GradleStatement + { + GradleLinkerFlag (const String& flag) + : GradleStatement ("ldFlags.add(" + flag.quoted() + "\")") {} + }; + + struct GradleLinkLibrary : public GradleStatement + { + GradleLinkLibrary (const String& lib) + : GradleStatement ("ldLibs.add(" + lib.quoted() + ")") {} + }; + + //============================================================================== + struct GradleValue : public GradleElement + { + template + GradleValue (const String& k, const ValueType& v) + : key (k), value (v) {} + + GradleValue (const String& k, bool boolValue) + : key (k), value (boolValue ? "true" : "false") {} + + String toStringIndented (int indentLevel) const override + { + return indent (indentLevel) + key + " = " + value; + } + + protected: + String key, value; + }; + + struct GradleString : public GradleValue + { + GradleString (const String& k, const String& str) + : GradleValue (k, str.quoted()) + { + if (str.containsAnyOf ("${\"\'")) + value += ".toString()"; + } + }; + + struct GradleFilePath : public GradleValue + { + GradleFilePath (const String& k, const String& path) + : GradleValue (k, "new File(\"" + sanitisePath (path) + "\")") {} + }; + + //============================================================================== + struct GradleObject : public GradleElement + { + GradleObject (const String& nm) : name (nm) {} + + #if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES + template + void add (Args... args) + { + children.add (new GradleType (args...)); + // Note: can't use std::forward because it doesn't compile for OS X 10.8 + } + #else // Remove this workaround once we drop VS2012 support! + template + void add (Arg1 arg1) + { + children.add (new GradleType (arg1)); + } + + template + void add (Arg1 arg1, Arg2 arg2) + { + children.add (new GradleType (arg1, arg2)); + } + #endif + + void addChildObject (GradleObject* objectToAdd) noexcept + { + children.add (objectToAdd); + } + + String toStringIndented (int indentLevel) const override + { + String result; + result << indent (indentLevel) << name << " {" << newLine; + + for (const auto& child : children) + result << child->toStringIndented (indentLevel + 1) << newLine; + + result << indent (indentLevel) << "}"; + + if (indentLevel == 0) + result << newLine; + + return result; + } + + private: + String name; + OwnedArray children; + }; + + //============================================================================== + String getSettingsGradleFileContent() const + { + return "include ':app'"; + } + + String getProjectBuildGradleFileContent() const + { + String projectBuildGradle; + projectBuildGradle << getGradleBuildScript(); + projectBuildGradle << getGradleAllProjects(); + + return projectBuildGradle; + } + + //============================================================================== + String getGradleBuildScript() const + { + GradleObject buildScript ("buildscript"); + + buildScript.addChildObject (getGradleRepositories()); + buildScript.addChildObject (getGradleDependencies()); + + return buildScript.toString(); + } + + GradleObject* getGradleRepositories() const + { + auto repositories = new GradleObject ("repositories"); + repositories->add ("jcenter()"); + return repositories; + } + + GradleObject* getGradleDependencies() const + { + auto dependencies = new GradleObject ("dependencies"); + + dependencies->add ("classpath 'com.android.tools.build:gradle-experimental:" + + gradleWrapperVersion.get() + "'"); + return dependencies; + } + + String getGradleAllProjects() const + { + GradleObject allProjects ("allprojects"); + allProjects.addChildObject (getGradleRepositories()); + return allProjects.toString(); + } + + //============================================================================== + String getAppBuildGradleFileContent() const + { + String appBuildGradle; + + appBuildGradle << "apply plugin: 'com.android.model.application'" << newLine; + appBuildGradle << getAndroidModel(); + appBuildGradle << getAppDependencies(); + + return appBuildGradle; + } + + String getAndroidModel() const + { + GradleObject model ("model"); + + model.addChildObject (getAndroidObject()); + model.addChildObject (getAndroidNdkSettings()); + model.addChildObject (getAndroidSources()); + model.addChildObject (getAndroidBuildConfigs()); + model.addChildObject (getAndroidSigningConfigs()); + model.addChildObject (getAndroidProductFlavours()); + + return model.toString(); + } + + String getAppDependencies() const + { + GradleObject dependencies ("dependencies"); + dependencies.add ("compile \"com.android.support:support-v4:+\""); + return dependencies.toString(); + } + + //============================================================================== + GradleObject* getAndroidObject() const + { + auto android = new GradleObject ("android"); + + android->add ("compileSdkVersion", androidMinimumSDK.get().getIntValue()); + android->add ("buildToolsVersion", buildToolsVersion.get()); + android->addChildObject (getAndroidDefaultConfig()); + + return android; + } + + GradleObject* getAndroidDefaultConfig() const + { + const String bundleIdentifier = project.getBundleIdentifier().toString().toLowerCase(); + const int minSdkVersion = androidMinimumSDK.get().getIntValue(); + + auto defaultConfig = new GradleObject ("defaultConfig.with"); + + defaultConfig->add ("applicationId", bundleIdentifier); + defaultConfig->add ("minSdkVersion.apiLevel", minSdkVersion); + defaultConfig->add ("targetSdkVersion.apiLevel", minSdkVersion); + + return defaultConfig; + } + + GradleObject* getAndroidNdkSettings() const + { + const String toolchain = gradleToolchain.get(); + const bool isClang = (toolchain == "clang"); + + auto ndkSettings = new GradleObject ("android.ndk"); + + ndkSettings->add ("moduleName", "juce_jni"); + ndkSettings->add ("toolchain", toolchain); + ndkSettings->add ("stl", isClang ? "c++_static" : "gnustl_static"); + + addAllNdkCompilerSettings (ndkSettings); + + return ndkSettings; + } + + void addAllNdkCompilerSettings (GradleObject* ndk) const + { + addNdkCppFlags (ndk); + addNdkPreprocessorDefines (ndk); + addNdkHeaderIncludePaths (ndk); + addNdkLinkerFlags (ndk); + addNdkLibraries (ndk); + } + + void addNdkCppFlags (GradleObject* ndk) const + { + const char* alwaysUsedFlags[] = { "-fsigned-char", "-fexceptions", "-frtti", "-std=c++11", nullptr }; + StringArray cppFlags (alwaysUsedFlags); + + cppFlags.mergeArray (StringArray::fromTokens (getExtraCompilerFlagsString(), " ", "")); + + for (int i = 0; i < cppFlags.size(); ++i) + ndk->add (cppFlags[i]); + } + + void addNdkPreprocessorDefines (GradleObject* ndk) const + { + const auto& defines = getAllPreprocessorDefs(); + + for (int i = 0; i < defines.size(); ++i) + ndk->add ( defines.getAllKeys()[i], defines.getAllValues()[i]); + } + + void addNdkHeaderIncludePaths (GradleObject* ndk) const + { + StringArray includePaths; + + for (const auto& cppFile : getAllCppFilesToBeIncludedWithPath()) + includePaths.addIfNotAlreadyThere (cppFile.getParentDirectory().toUnixStyle()); + + for (const auto& path : includePaths) + ndk->add (path); + } + + Array getAllCppFilesToBeIncludedWithPath() const + { + Array cppFiles; + + struct NeedsToBeIncludedWithPathPredicate + { + bool operator() (const Project::Item& projectItem) const + { + return projectItem.shouldBeAddedToTargetProject() && ! projectItem.isModuleCode(); + } + }; + + for (const auto& group : getAllGroups()) + findAllProjectItemsWithPredicate (group, cppFiles, NeedsToBeIncludedWithPathPredicate()); + + return cppFiles; + } + + void addNdkLinkerFlags (GradleObject* ndk) const + { + const auto linkerFlags = StringArray::fromTokens (getExtraLinkerFlagsString(), " ", ""); + + for (const auto& flag : linkerFlags) + ndk->add (flag); + + } + void addNdkLibraries (GradleObject* ndk) const + { + const char* requiredAndroidLibs[] = { "android", "EGL", "GLESv2", "log", nullptr }; + StringArray libs (requiredAndroidLibs); + + libs.addArray (StringArray::fromTokens(getExternalLibrariesString(), ";", "")); + + for (const auto& lib : libs) + ndk->add (lib); + } + + GradleObject* getAndroidSources() const + { + auto source = new GradleObject ("source"); // app source folder + source->add ("exclude \"**/JuceModules/\""); + + auto jni = new GradleObject ("jni"); // all C++ sources for app + jni->addChildObject (source); + + auto main = new GradleObject ("main"); // all sources for app + main->addChildObject (jni); + + auto sources = new GradleObject ("android.sources"); // all sources + sources->addChildObject (main); + return sources; + } + + GradleObject* getAndroidBuildConfigs() const + { + auto buildConfigs = new GradleObject ("android.buildTypes"); + + for (ConstConfigIterator config (*this); config.next();) + buildConfigs->addChildObject (getBuildConfig (*config)); + + return buildConfigs; + } + + GradleObject* getBuildConfig (const BuildConfiguration& config) const + { + 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 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"); + + auto gradleConfig = new GradleObject (configName.toLowerCase()); + + if (! config.isDebug()) + gradleConfig->add ("signingConfig", "$(\"android.signingConfigs.releaseConfig\")"); + + addConfigNdkSettings (gradleConfig, config); + + return gradleConfig; + } + + void addConfigNdkSettings (GradleObject* buildConfig, const BuildConfiguration& config) const + { + auto ndkSettings = new GradleObject ("ndk.with"); + + if (config.isDebug()) + { + ndkSettings->add ("debuggable", true); + ndkSettings->add ("-g"); + ndkSettings->add ("DEBUG", "1"); + ndkSettings->add ("_DEBUG", "1"); + } + else + { + ndkSettings->add ("NDEBUG", "1"); + } + + ndkSettings->add ("-O" + config.getGCCOptimisationFlag()); + + for (const auto& path : getHeaderSearchPaths (config)) + ndkSettings->add (path); + + for (const auto& path : config.getLibrarySearchPaths()) + ndkSettings->add (path); + + ndkSettings->add ("JUCE_ANDROID", "1"); + ndkSettings->add ("JUCE_ANDROID_API_VERSION", androidMinimumSDK.get()); + ndkSettings->add ("JUCE_ANDROID_ACTIVITY_CLASSNAME", getJNIActivityClassName().replaceCharacter ('/', '_')); + ndkSettings->add ("JUCE_ANDROID_ACTIVITY_CLASSPATH","\\\"" + androidActivityClass.get().replaceCharacter('.', '/') + "\\\""); + + const auto defines = config.getAllPreprocessorDefs(); + for (int i = 0; i < defines.size(); ++i) + ndkSettings->add (defines.getAllKeys()[i], defines.getAllValues()[i]); + + buildConfig->addChildObject (ndkSettings); + } + + StringArray getHeaderSearchPaths (const BuildConfiguration& config) const + { + StringArray paths (extraSearchPaths); + paths.addArray (config.getHeaderSearchPaths()); + paths = getCleanedStringArray (paths); + return paths; + } + + GradleObject* getAndroidSigningConfigs() const + { + auto releaseConfig = new GradleObject ("create(\"releaseConfig\")"); + + releaseConfig->add ("storeFile", androidKeyStore.get()); + releaseConfig->add ("storePassword", androidKeyStorePass.get()); + releaseConfig->add ("keyAlias", androidKeyAlias.get()); + releaseConfig->add ("keyPassword", androidKeyAliasPass.get()); + releaseConfig->add ("storeType", "jks"); + + auto signingConfigs = new GradleObject ("android.signingConfigs"); + + signingConfigs->addChildObject (releaseConfig); + // Note: no need to add a debugConfig, Android Studio will use debug.keystore by default + + return signingConfigs; + } + + GradleObject* getAndroidProductFlavours() const + { + auto flavours = new GradleObject ("android.productFlavors"); + + StringArray architectures (StringArray::fromTokens (getABIs (true), " ", "")); + architectures.mergeArray (StringArray::fromTokens (getABIs (false), " ", "")); + + if (architectures.size() == 0) + throw SaveError ("Can't build for no architectures!"); + + for (int i = 0; i < architectures.size(); ++i) + { + String arch (architectures[i].trim()); + + if ((arch).isEmpty()) + continue; + + flavours->addChildObject (getGradleProductFlavourForArch (arch)); + } + + return flavours; + } + + GradleObject* getGradleProductFlavourForArch (const String& arch) const + { + auto flavour = new GradleObject ("create(\"" + arch + "\")"); + flavour->add ("ndk.abiFilters.add(\"" + arch + "\")"); + return flavour; + } + //============================================================================== + String getLocalPropertiesFileContent() const + { + String props; + + props << "ndk.dir=" << sanitisePath (ndkPath.toString()) << newLine + << "sdk.dir=" << sanitisePath (sdkPath.toString()) << newLine; + + return props; + } + + String getGradleWrapperPropertiesFileContent() const + { + String props; + + props << "distributionUrl=https\\://services.gradle.org/distributions/gradle-" + << gradleVersion.get() << "-all.zip"; + + return props; + } + + //============================================================================== + void writeStringsXML (const File& folder) const + { + XmlElement strings ("resources"); + XmlElement* resourceName = strings.createNewChildElement ("string"); + + resourceName->setAttribute ("name", "app_name"); + resourceName->addTextElement (projectName); + + writeXmlOrThrow (strings, folder.getChildFile ("app/src/main/res/values/string.xml"), "utf-8", 100, true); + } + + //============================================================================== + void writeAndroidManifest (const File& folder) const + { + ScopedPointer manifest (createManifestXML()); + + writeXmlOrThrow (*manifest, folder.getChildFile ("app/src/main/AndroidManifest.xml"), "utf-8", 100, true); + } + + //============================================================================== + const File androidStudioExecutable; + + JUCE_DECLARE_NON_COPYABLE (AndroidStudioProjectExporter) +}; diff --git a/extras/Projucer/Source/Project Saving/jucer_ProjectExport_CodeBlocks.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_CodeBlocks.h new file mode 100644 index 00000000..241793d0 --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_CodeBlocks.h @@ -0,0 +1,449 @@ +/* + ============================================================================== + + 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 CodeBlocksProjectExporter : public ProjectExporter +{ +public: + enum CodeBlocksOS + { + windowsTarget, + linuxTarget + }; + + //============================================================================== + static const char* getNameWindows() noexcept { return "Code::Blocks (Windows)"; } + static const char* getNameLinux() noexcept { return "Code::Blocks (Linux)"; } + + static const char* getName (CodeBlocksOS os) noexcept + { + if (os == windowsTarget) return getNameWindows(); + if (os == linuxTarget) return getNameLinux(); + + // currently no other OSes supported by Codeblocks exporter! + jassertfalse; + return "Code::Blocks (Unknown OS)"; + } + + //============================================================================== + static const char* getValueTreeTypeName (CodeBlocksOS os) + { + if (os == windowsTarget) return "CODEBLOCKS_WINDOWS"; + if (os == linuxTarget) return "CODEBLOCKS_LINUX"; + + // currently no other OSes supported by Codeblocks exporter! + jassertfalse; + return "CODEBLOCKS_UNKOWN_OS"; + } + + //============================================================================== + static String getTargetFolderName (CodeBlocksOS os) + { + if (os == windowsTarget) return "CodeBlocksWindows"; + if (os == linuxTarget) return "CodeBlocksLinux"; + + // currently no other OSes supported by Codeblocks exporter! + jassertfalse; + return "CodeBlocksUnknownOS"; + } + + //============================================================================== + static CodeBlocksProjectExporter* createForSettings (Project& project, const ValueTree& settings) + { + // this will also import legacy jucer files where CodeBlocks only worked for Windows, + // had valueTreetTypeName "CODEBLOCKS", and there was no OS distinction + if (settings.hasType (getValueTreeTypeName (windowsTarget)) || settings.hasType ("CODEBLOCKS")) + return new CodeBlocksProjectExporter (project, settings, windowsTarget); + + if (settings.hasType (getValueTreeTypeName (linuxTarget))) + return new CodeBlocksProjectExporter (project, settings, linuxTarget); + + return nullptr; + } + + //============================================================================== + CodeBlocksProjectExporter (Project& p, const ValueTree& t, CodeBlocksOS codeBlocksOs) + : ProjectExporter (p, t), os (codeBlocksOs) + { + name = getName (os); + + if (getTargetLocationString().isEmpty()) + getTargetLocationValue() = getDefaultBuildsRootFolder() + getTargetFolderName (os); + + initialiseDependencyPathValues(); + } + + //============================================================================== + bool canLaunchProject() override { return false; } + bool launchProject() override { return false; } + 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 + { + } + + //============================================================================== + void create (const OwnedArray&) const override + { + const File cbpFile (getTargetFolder().getChildFile (project.getProjectFilenameRoot()) + .withFileExtension (".cbp")); + + XmlElement xml ("CodeBlocks_project_file"); + addVersion (xml); + createProject (*xml.createNewChildElement ("Project")); + writeXmlOrThrow (xml, cbpFile, "UTF-8", 10); + } + + //============================================================================== + void addPlatformSpecificSettingsForProjectType (const ProjectType&) override + { + // no-op. + } + +private: + //============================================================================== + class CodeBlocksBuildConfiguration : public BuildConfiguration + { + public: + CodeBlocksBuildConfiguration (Project& p, const ValueTree& settings, const ProjectExporter& e) + : BuildConfiguration (p, settings, e) + { + } + + void createConfigProperties (PropertyListBuilder& props) override + { + addGCCOptimisationProperty (props); + } + + var getDefaultOptimisationLevel() const override { return var ((int) (isDebug() ? gccO0 : gccO3)); } + }; + + BuildConfiguration::Ptr createBuildConfig (const ValueTree& tree) const override + { + return new CodeBlocksBuildConfiguration (project, tree, *this); + } + + //============================================================================== + void addVersion (XmlElement& xml) const + { + XmlElement* fileVersion = xml.createNewChildElement ("FileVersion"); + fileVersion->setAttribute ("major", 1); + fileVersion->setAttribute ("minor", 6); + } + + void addOptions (XmlElement& xml) const + { + xml.createNewChildElement ("Option")->setAttribute ("title", project.getTitle()); + xml.createNewChildElement ("Option")->setAttribute ("pch_mode", 2); + xml.createNewChildElement ("Option")->setAttribute ("compiler", "gcc"); + } + + StringArray getDefines (const BuildConfiguration& config) const + { + StringPairArray defines; + + if (isCodeBlocks() && isWindows()) + { + defines.set ("__MINGW__", "1"); + defines.set ("__MINGW_EXTENSION", String::empty); + } + else + { + defines.set ("LINUX", "1"); + } + + if (config.isDebug()) + { + defines.set ("DEBUG", "1"); + defines.set ("_DEBUG", "1"); + } + else + { + defines.set ("NDEBUG", "1"); + } + + defines = mergePreprocessorDefs (defines, getAllPreprocessorDefs (config)); + + StringArray defs; + for (int i = 0; i < defines.size(); ++i) + defs.add (defines.getAllKeys()[i] + "=" + defines.getAllValues()[i]); + + return getCleanedStringArray (defs); + } + + StringArray getCompilerFlags (const BuildConfiguration& config) const + { + StringArray flags; + flags.add ("-O" + config.getGCCOptimisationFlag()); + flags.add ("-std=c++11"); + flags.add ("-mstackrealign"); + + if (config.isDebug()) + flags.add ("-g"); + + flags.addTokens (replacePreprocessorTokens (config, getExtraCompilerFlagsString()).trim(), + " \n", "\"'"); + + { + const StringArray defines (getDefines (config)); + + for (int i = 0; i < defines.size(); ++i) + { + String def (defines[i]); + + if (! def.containsChar ('=')) + def << '='; + + flags.add ("-D" + def); + } + } + + return getCleanedStringArray (flags); + } + + StringArray getLinkerFlags (const BuildConfiguration& config) const + { + StringArray flags (makefileExtraLinkerFlags); + + if (! config.isDebug()) + flags.add ("-s"); + + flags.addTokens (replacePreprocessorTokens (config, getExtraLinkerFlagsString()).trim(), + " \n", "\"'"); + + return getCleanedStringArray (flags); + } + + StringArray getIncludePaths (const BuildConfiguration& config) const + { + StringArray paths; + + paths.add ("."); + paths.add (RelativePath (project.getGeneratedCodeFolder(), + getTargetFolder(), RelativePath::buildTargetFolder).toWindowsStyle()); + + paths.addArray (config.getHeaderSearchPaths()); + + if (! (isCodeBlocks() && isWindows())) + paths.add ("/usr/include/freetype2"); + + return getCleanedStringArray (paths); + } + + static int getTypeIndex (const ProjectType& type) + { + if (type.isGUIApplication()) return 0; + if (type.isCommandLineApp()) return 1; + if (type.isStaticLibrary()) return 2; + if (type.isDynamicLibrary()) return 3; + if (type.isAudioPlugin()) return 3; + return 0; + } + + void createBuildTarget (XmlElement& xml, const BuildConfiguration& config) const + { + xml.setAttribute ("title", config.getName()); + + { + XmlElement* output = xml.createNewChildElement ("Option"); + + String outputPath; + if (config.getTargetBinaryRelativePathString().isNotEmpty()) + { + RelativePath binaryPath (config.getTargetBinaryRelativePathString(), RelativePath::projectFolder); + binaryPath = binaryPath.rebased (projectFolder, getTargetFolder(), RelativePath::buildTargetFolder); + outputPath = config.getTargetBinaryRelativePathString(); + } + else + { + outputPath ="bin/" + File::createLegalFileName (config.getName().trim()); + } + + output->setAttribute ("output", outputPath + "/" + replacePreprocessorTokens (config, config.getTargetBinaryNameString())); + + output->setAttribute ("prefix_auto", 1); + output->setAttribute ("extension_auto", 1); + } + + xml.createNewChildElement ("Option") + ->setAttribute ("object_output", "obj/" + File::createLegalFileName (config.getName().trim())); + + xml.createNewChildElement ("Option")->setAttribute ("type", getTypeIndex (project.getProjectType())); + xml.createNewChildElement ("Option")->setAttribute ("compiler", "gcc"); + + { + XmlElement* const compiler = xml.createNewChildElement ("Compiler"); + + { + const StringArray compilerFlags (getCompilerFlags (config)); + + for (int i = 0; i < compilerFlags.size(); ++i) + setAddOption (*compiler, "option", compilerFlags[i]); + } + + { + const StringArray includePaths (getIncludePaths (config)); + + for (int i = 0; i < includePaths.size(); ++i) + setAddOption (*compiler, "directory", includePaths[i]); + } + } + + { + XmlElement* const linker = xml.createNewChildElement ("Linker"); + + const StringArray linkerFlags (getLinkerFlags (config)); + for (int i = 0; i < linkerFlags.size(); ++i) + setAddOption (*linker, "option", linkerFlags[i]); + + const StringArray& libs = isWindows() ? mingwLibs : linuxLibs; + + for (int i = 0; i < libs.size(); ++i) + setAddOption (*linker, "library", libs[i]); + + const StringArray librarySearchPaths (config.getLibrarySearchPaths()); + for (int i = 0; i < librarySearchPaths.size(); ++i) + setAddOption (*linker, "directory", replacePreprocessorDefs (getAllPreprocessorDefs(), librarySearchPaths[i])); + } + } + + void addBuild (XmlElement& xml) const + { + XmlElement* const build = xml.createNewChildElement ("Build"); + + for (ConstConfigIterator config (*this); config.next();) + createBuildTarget (*build->createNewChildElement ("Target"), *config); + } + + void addProjectCompilerOptions (XmlElement& xml) const + { + XmlElement* const compiler = xml.createNewChildElement ("Compiler"); + setAddOption (*compiler, "option", "-Wall"); + setAddOption (*compiler, "option", "-Wno-strict-aliasing"); + setAddOption (*compiler, "option", "-Wno-strict-overflow"); + } + + void addProjectLinkerOptions (XmlElement& xml) const + { + XmlElement* const linker = xml.createNewChildElement ("Linker"); + + StringArray libs; + + if (isWindows()) + { + static const char* defaultLibs[] = { "gdi32", "user32", "kernel32", "comctl32" }; + libs = StringArray (defaultLibs, numElementsInArray (defaultLibs)); + } + + libs.addTokens (getExternalLibrariesString(), ";\n", "\"'"); + + libs = getCleanedStringArray (libs); + + for (int i = 0; i < libs.size(); ++i) + setAddOption (*linker, "library", replacePreprocessorDefs (getAllPreprocessorDefs(), libs[i])); + } + + void addCompileUnits (const Project::Item& projectItem, XmlElement& xml) const + { + if (projectItem.isGroup()) + { + for (int i = 0; i < projectItem.getNumChildren(); ++i) + addCompileUnits (projectItem.getChild(i), xml); + } + else if (projectItem.shouldBeAddedToTargetProject()) + { + const RelativePath file (projectItem.getFile(), getTargetFolder(), RelativePath::buildTargetFolder); + + XmlElement* unit = xml.createNewChildElement ("Unit"); + unit->setAttribute ("filename", file.toUnixStyle()); + + if (! projectItem.shouldBeCompiled()) + { + unit->createNewChildElement("Option")->setAttribute ("compile", 0); + unit->createNewChildElement("Option")->setAttribute ("link", 0); + } + } + } + + void addCompileUnits (XmlElement& xml) const + { + for (int i = 0; i < getAllGroups().size(); ++i) + addCompileUnits (getAllGroups().getReference(i), xml); + } + + void createProject (XmlElement& xml) const + { + addOptions (xml); + addBuild (xml); + addProjectCompilerOptions (xml); + addProjectLinkerOptions (xml); + addCompileUnits (xml); + } + + void setAddOption (XmlElement& xml, const String& nm, const String& value) const + { + xml.createNewChildElement ("Add")->setAttribute (nm, value); + } + + void initialiseDependencyPathValues() + { + DependencyPathOS pathOS = isLinux() ? TargetOS::linux + : TargetOS::windows; + + vst2Path.referTo (Value (new DependencyPathValueSource (getSetting (Ids::vstFolder), Ids::vst2Path, pathOS))); + vst3Path.referTo (Value (new DependencyPathValueSource (getSetting (Ids::vst3Folder), Ids::vst3Path, pathOS))); + + if (! isLinux()) + { + aaxPath.referTo (Value (new DependencyPathValueSource (getSetting (Ids::aaxFolder), Ids::aaxPath, pathOS))); + rtasPath.referTo (Value (new DependencyPathValueSource (getSetting (Ids::rtasFolder), Ids::rtasPath, pathOS))); + } + } + + CodeBlocksOS os; + + JUCE_DECLARE_NON_COPYABLE (CodeBlocksProjectExporter) +}; diff --git a/extras/Projucer/Source/Project Saving/jucer_ProjectExport_MSVC.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_MSVC.h new file mode 100644 index 00000000..5e044277 --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_MSVC.h @@ -0,0 +1,1893 @@ +/* + ============================================================================== + + 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 MSVCProjectExporterBase : public ProjectExporter +{ +public: + MSVCProjectExporterBase (Project& p, const ValueTree& t, const char* const folderName) + : ProjectExporter (p, t) + { + if (getTargetLocationString().isEmpty()) + getTargetLocationValue() = getDefaultBuildsRootFolder() + folderName; + + projectGUID = createGUID (project.getProjectUID()); + updateOldSettings(); + + initialiseDependencyPathValues(); + } + + //============================================================================== + 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 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 + { + #if JUCE_WINDOWS + return getSLNFile().startAsProcess(); + #else + return false; + #endif + } + + bool canLaunchProject() override + { + #if JUCE_WINDOWS + return true; + #else + return false; + #endif + } + + void createExporterProperties (PropertyListBuilder&) override + { + } + + enum OptimisationLevel + { + optimisationOff = 1, + optimiseMinSize = 2, + 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; + + File getProjectFile (const String& extension) const { return getTargetFolder().getChildFile (project.getProjectFilenameRoot()).withFileExtension (extension); } + File getSLNFile() const { return getProjectFile (".sln"); } + + bool isLibraryDLL() const { return msvcIsDLL || projectType.isDynamicLibrary(); } + + static String prependIfNotAbsolute (const String& file, const char* prefix) + { + if (File::isAbsolutePath (file) || file.startsWithChar ('$')) + prefix = ""; + + return prefix + FileHelpers::windowsStylePath (file); + } + + String getIntDirFile (const BuildConfiguration& config, const String& file) const { return prependIfNotAbsolute (replacePreprocessorTokens (config, file), "$(IntDir)\\"); } + String getOutDirFile (const BuildConfiguration& config, const String& file) const { return prependIfNotAbsolute (replacePreprocessorTokens (config, file), "$(OutDir)\\"); } + + void updateOldSettings() + { + { + const String oldStylePrebuildCommand (getSettingString (Ids::prebuildCommand)); + settings.removeProperty (Ids::prebuildCommand, nullptr); + + if (oldStylePrebuildCommand.isNotEmpty()) + for (ConfigIterator config (*this); config.next();) + dynamic_cast (*config).getPrebuildCommand() = oldStylePrebuildCommand; + } + + { + const String oldStyleLibName (getSettingString ("libraryName_Debug")); + settings.removeProperty ("libraryName_Debug", nullptr); + + if (oldStyleLibName.isNotEmpty()) + for (ConfigIterator config (*this); config.next();) + if (config->isDebug()) + config->getTargetBinaryName() = oldStyleLibName; + } + + { + const String oldStyleLibName (getSettingString ("libraryName_Release")); + settings.removeProperty ("libraryName_Release", nullptr); + + if (oldStyleLibName.isNotEmpty()) + for (ConfigIterator config (*this); config.next();) + if (! config->isDebug()) + config->getTargetBinaryName() = oldStyleLibName; + } + } + + //============================================================================== + class MSVCBuildConfiguration : public BuildConfiguration + { + public: + MSVCBuildConfiguration (Project& p, const ValueTree& settings, const ProjectExporter& e) + : BuildConfiguration (p, settings, e) + { + if (getWarningLevel() == 0) + getWarningLevelValue() = 4; + + setValueIfVoid (shouldGenerateManifestValue(), true); + } + + Value getWarningLevelValue() { return getValue (Ids::winWarningLevel); } + int getWarningLevel() const { return config [Ids::winWarningLevel]; } + + Value getWarningsTreatedAsErrors() { return getValue (Ids::warningsAreErrors); } + bool areWarningsTreatedAsErrors() const { return config [Ids::warningsAreErrors]; } + + Value getPrebuildCommand() { return getValue (Ids::prebuildCommand); } + String getPrebuildCommandString() const { return config [Ids::prebuildCommand]; } + Value getPostbuildCommand() { return getValue (Ids::postbuildCommand); } + String getPostbuildCommandString() const { return config [Ids::postbuildCommand]; } + + Value shouldGenerateDebugSymbolsValue() { return getValue (Ids::alwaysGenerateDebugSymbols); } + bool shouldGenerateDebugSymbols() const { return config [Ids::alwaysGenerateDebugSymbols]; } + + Value shouldGenerateManifestValue() { return getValue (Ids::generateManifest); } + bool shouldGenerateManifest() const { return config [Ids::generateManifest]; } + + Value getWholeProgramOptValue() { return getValue (Ids::wholeProgramOptimisation); } + bool shouldDisableWholeProgramOpt() const { return static_cast (config [Ids::wholeProgramOptimisation]) > 0; } + + Value getUsingRuntimeLibDLL() { return getValue (Ids::useRuntimeLibDLL); } + bool isUsingRuntimeLibDLL() const { return config [Ids::useRuntimeLibDLL]; } + + String getIntermediatesPath() const { return config [Ids::intermediatesPath].toString(); } + Value getIntermediatesPathValue() { return getValue (Ids::intermediatesPath); } + + String getCharacterSet() const { return config [Ids::characterSet].toString(); } + Value getCharacterSetValue() { return getValue (Ids::characterSet); } + + String getOutputFilename (const String& suffix, bool forceSuffix) const + { + const String target (File::createLegalFileName (getTargetBinaryNameString().trim())); + + if (forceSuffix || ! target.containsChar ('.')) + return target.upToLastOccurrenceOf (".", false, false) + suffix; + + return target; + } + + var getDefaultOptimisationLevel() const override { return var ((int) (isDebug() ? optimisationOff : optimiseMaxSpeed)); } + + void createConfigProperties (PropertyListBuilder& props) override + { + static const char* optimisationLevels[] = { "No optimisation", "Minimise size", "Maximise speed", 0 }; + const int optimisationLevelValues[] = { optimisationOff, optimiseMinSize, optimiseMaxSpeed, 0 }; + + props.add (new ChoicePropertyComponent (getOptimisationLevel(), "Optimisation", + StringArray (optimisationLevels), + Array (optimisationLevelValues)), + "The optimisation level for this configuration"); + + props.add (new TextPropertyComponent (getIntermediatesPathValue(), "Intermediates path", 2048, false), + "An optional path to a folder to use for the intermediate build files. Note that Visual Studio allows " + "you to use macros in this path, e.g. \"$(TEMP)\\MyAppBuildFiles\\$(Configuration)\", which is a handy way to " + "send them to the user's temp folder."); + + static const char* warningLevelNames[] = { "Low", "Medium", "High", nullptr }; + const int warningLevels[] = { 2, 3, 4 }; + + props.add (new ChoicePropertyComponent (getWarningLevelValue(), "Warning Level", + StringArray (warningLevelNames), Array (warningLevels, numElementsInArray (warningLevels)))); + + props.add (new BooleanPropertyComponent (getWarningsTreatedAsErrors(), "Warnings", "Treat warnings as errors")); + + { + static const char* runtimeNames[] = { "(Default)", "Use static runtime", "Use DLL runtime", nullptr }; + const var runtimeValues[] = { var(), var (false), var (true) }; + + props.add (new ChoicePropertyComponent (getUsingRuntimeLibDLL(), "Runtime Library", + StringArray (runtimeNames), Array (runtimeValues, numElementsInArray (runtimeValues)))); + } + + { + static const char* wpoNames[] = { "Enable link-time code generation when possible", + "Always disable link-time code generation", nullptr }; + const var wpoValues[] = { var(), var (1) }; + + props.add (new ChoicePropertyComponent (getWholeProgramOptValue(), "Whole Program Optimisation", + StringArray (wpoNames), Array (wpoValues, numElementsInArray (wpoValues)))); + } + + if (! isDebug()) + props.add (new BooleanPropertyComponent (shouldGenerateDebugSymbolsValue(), "Debug Symbols", "Force generation of debug symbols")); + + props.add (new TextPropertyComponent (getPrebuildCommand(), "Pre-build Command", 2048, true)); + props.add (new TextPropertyComponent (getPostbuildCommand(), "Post-build Command", 2048, true)); + props.add (new BooleanPropertyComponent (shouldGenerateManifestValue(), "Manifest", "Generate Manifest")); + + { + static const char* characterSetNames[] = { "Default", "MultiByte", "Unicode", nullptr }; + const var charSets[] = { var::null, "MultiByte", "Unicode", }; + + props.add (new ChoicePropertyComponent (getCharacterSetValue(), "Character Set", + StringArray (characterSetNames), Array (charSets, numElementsInArray (charSets)))); + } + } + }; + + BuildConfiguration::Ptr createBuildConfig (const ValueTree& v) const override + { + return new MSVCBuildConfiguration (project, v, *this); + } + + //============================================================================== + String getConfigTargetPath (const BuildConfiguration& config) const + { + const String binaryPath (config.getTargetBinaryRelativePathString().trim()); + if (binaryPath.isEmpty()) + return binaryPath; + + RelativePath binaryRelPath (binaryPath, RelativePath::projectFolder); + + if (binaryRelPath.isAbsolute()) + return binaryRelPath.toWindowsStyle(); + + return prependDot (binaryRelPath.rebased (projectFolder, getTargetFolder(), RelativePath::buildTargetFolder) + .toWindowsStyle()); + } + + String getPreprocessorDefs (const BuildConfiguration& config, const String& joinString) const + { + StringPairArray defines (msvcExtraPreprocessorDefs); + defines.set ("WIN32", ""); + defines.set ("_WINDOWS", ""); + + if (config.isDebug()) + { + defines.set ("DEBUG", ""); + defines.set ("_DEBUG", ""); + } + else + { + defines.set ("NDEBUG", ""); + } + + defines = mergePreprocessorDefs (defines, getAllPreprocessorDefs (config)); + + StringArray result; + + for (int i = 0; i < defines.size(); ++i) + { + String def (defines.getAllKeys()[i]); + const String value (defines.getAllValues()[i]); + if (value.isNotEmpty()) + def << "=" << value; + + result.add (def); + } + + return result.joinIntoString (joinString); + } + + StringArray getHeaderSearchPaths (const BuildConfiguration& config) const + { + StringArray searchPaths (extraSearchPaths); + searchPaths.addArray (config.getHeaderSearchPaths()); + return getCleanedStringArray (searchPaths); + } + + virtual String createConfigName (const BuildConfiguration& config) const + { + return config.getName() + "|Win32"; + } + + //============================================================================== + void writeSolutionFile (OutputStream& out, const String& versionString, String commentString, const File& vcProject) const + { + if (commentString.isNotEmpty()) + commentString += newLine; + + out << "Microsoft Visual Studio Solution File, Format Version " << versionString << newLine + << commentString + << "Project(\"" << createGUID (projectName + "sln_guid") << "\") = \"" << projectName << "\", \"" + << vcProject.getFileName() << "\", \"" << projectGUID << '"' << newLine + << "EndProject" << newLine + << "Global" << newLine + << "\tGlobalSection(SolutionConfigurationPlatforms) = preSolution" << newLine; + + for (ConstConfigIterator i (*this); i.next();) + { + const String configName (createConfigName (*i)); + out << "\t\t" << configName << " = " << configName << newLine; + } + + out << "\tEndGlobalSection" << newLine + << "\tGlobalSection(ProjectConfigurationPlatforms) = postSolution" << newLine; + + for (ConstConfigIterator i (*this); i.next();) + { + const String configName (createConfigName (*i)); + out << "\t\t" << projectGUID << "." << configName << ".ActiveCfg = " << configName << newLine; + out << "\t\t" << projectGUID << "." << configName << ".Build.0 = " << configName << newLine; + } + + out << "\tEndGlobalSection" << newLine + << "\tGlobalSection(SolutionProperties) = preSolution" << newLine + << "\t\tHideSolutionNode = FALSE" << newLine + << "\tEndGlobalSection" << newLine + << "EndGlobal" << newLine; + } + + //============================================================================== + static void writeBMPImage (const Image& image, const int w, const int h, MemoryOutputStream& out) + { + const int maskStride = (w / 8 + 3) & ~3; + + out.writeInt (40); // bitmapinfoheader size + out.writeInt (w); + out.writeInt (h * 2); + out.writeShort (1); // planes + out.writeShort (32); // bits + out.writeInt (0); // compression + out.writeInt ((h * w * 4) + (h * maskStride)); // size image + out.writeInt (0); // x pixels per meter + out.writeInt (0); // y pixels per meter + out.writeInt (0); // clr used + out.writeInt (0); // clr important + + const Image::BitmapData bitmap (image, Image::BitmapData::readOnly); + const int alphaThreshold = 5; + + int y; + for (y = h; --y >= 0;) + { + for (int x = 0; x < w; ++x) + { + const Colour pixel (bitmap.getPixelColour (x, y)); + + if (pixel.getAlpha() <= alphaThreshold) + { + out.writeInt (0); + } + else + { + out.writeByte ((char) pixel.getBlue()); + out.writeByte ((char) pixel.getGreen()); + out.writeByte ((char) pixel.getRed()); + out.writeByte ((char) pixel.getAlpha()); + } + } + } + + for (y = h; --y >= 0;) + { + int mask = 0, count = 0; + + for (int x = 0; x < w; ++x) + { + const Colour pixel (bitmap.getPixelColour (x, y)); + + mask <<= 1; + if (pixel.getAlpha() <= alphaThreshold) + mask |= 1; + + if (++count == 8) + { + out.writeByte ((char) mask); + count = 0; + mask = 0; + } + } + + if (mask != 0) + out.writeByte ((char) mask); + + for (int i = maskStride - w / 8; --i >= 0;) + out.writeByte (0); + } + } + + static void writeIconFile (const Array& images, MemoryOutputStream& out) + { + out.writeShort (0); // reserved + out.writeShort (1); // .ico tag + out.writeShort ((short) images.size()); + + MemoryOutputStream dataBlock; + + const int imageDirEntrySize = 16; + const int dataBlockStart = 6 + images.size() * imageDirEntrySize; + + for (int i = 0; i < images.size(); ++i) + { + const size_t oldDataSize = dataBlock.getDataSize(); + + const Image& image = images.getReference (i); + const int w = image.getWidth(); + const int h = image.getHeight(); + + if (w >= 256 || h >= 256) + { + PNGImageFormat pngFormat; + pngFormat.writeImageToStream (image, dataBlock); + } + else + { + writeBMPImage (image, w, h, dataBlock); + } + + out.writeByte ((char) w); + out.writeByte ((char) h); + out.writeByte (0); + out.writeByte (0); + out.writeShort (1); // colour planes + out.writeShort (32); // bits per pixel + out.writeInt ((int) (dataBlock.getDataSize() - oldDataSize)); + out.writeInt (dataBlockStart + (int) oldDataSize); + } + + jassert (out.getPosition() == dataBlockStart); + out << dataBlock; + } + + bool hasResourceFile() const + { + return ! projectType.isStaticLibrary(); + } + + void createResourcesAndIcon() const + { + if (hasResourceFile()) + { + Array images; + const int sizes[] = { 16, 32, 48, 256 }; + + for (int i = 0; i < numElementsInArray (sizes); ++i) + { + Image im (getBestIconForSize (sizes[i], true)); + if (im.isValid()) + images.add (im); + } + + if (images.size() > 0) + { + iconFile = getTargetFolder().getChildFile ("icon.ico"); + + MemoryOutputStream mo; + writeIconFile (images, mo); + overwriteFileIfDifferentOrThrow (iconFile, mo); + } + + createRCFile(); + } + } + + void createRCFile() const + { + rcFile = getTargetFolder().getChildFile ("resources.rc"); + + const String version (project.getVersionString()); + + MemoryOutputStream mo; + + mo << "#ifdef JUCE_USER_DEFINED_RC_FILE" << newLine + << " #include JUCE_USER_DEFINED_RC_FILE" << newLine + << "#else" << newLine + << newLine + << "#undef WIN32_LEAN_AND_MEAN" << newLine + << "#define WIN32_LEAN_AND_MEAN" << newLine + << "#include " << newLine + << newLine + << "VS_VERSION_INFO VERSIONINFO" << newLine + << "FILEVERSION " << getCommaSeparatedVersionNumber (version) << newLine + << "BEGIN" << newLine + << " BLOCK \"StringFileInfo\"" << newLine + << " BEGIN" << newLine + << " BLOCK \"040904E4\"" << newLine + << " BEGIN" << newLine; + + writeRCValue (mo, "CompanyName", project.getCompanyName().toString()); + writeRCValue (mo, "FileDescription", project.getTitle()); + writeRCValue (mo, "FileVersion", version); + writeRCValue (mo, "ProductName", project.getTitle()); + writeRCValue (mo, "ProductVersion", version); + + mo << " END" << newLine + << " END" << newLine + << newLine + << " BLOCK \"VarFileInfo\"" << newLine + << " BEGIN" << newLine + << " VALUE \"Translation\", 0x409, 1252" << newLine + << " END" << newLine + << "END" << newLine + << newLine + << "#endif" << newLine; + + if (iconFile != File::nonexistent) + mo << newLine + << "IDI_ICON1 ICON DISCARDABLE " << iconFile.getFileName().quoted() + << newLine + << "IDI_ICON2 ICON DISCARDABLE " << iconFile.getFileName().quoted(); + + overwriteFileIfDifferentOrThrow (rcFile, mo); + } + + static void writeRCValue (MemoryOutputStream& mo, const String& name, const String& value) + { + if (value.isNotEmpty()) + mo << " VALUE \"" << name << "\", \"" + << CppTokeniserFunctions::addEscapeChars (value) << "\\0\"" << newLine; + } + + static String getCommaSeparatedVersionNumber (const String& version) + { + StringArray versionParts; + versionParts.addTokens (version, ",.", ""); + versionParts.trim(); + versionParts.removeEmptyStrings(); + while (versionParts.size() < 4) + versionParts.add ("0"); + + return versionParts.joinIntoString (","); + } + + static String prependDot (const String& filename) + { + return FileHelpers::isAbsolutePath (filename) ? filename + : (".\\" + filename); + } + + void initialiseDependencyPathValues() + { + vst2Path.referTo (Value (new DependencyPathValueSource (getSetting (Ids::vstFolder), + Ids::vst2Path, + TargetOS::windows))); + + vst3Path.referTo (Value (new DependencyPathValueSource (getSetting (Ids::vst3Folder), + Ids::vst3Path, + TargetOS::windows))); + + aaxPath.referTo (Value (new DependencyPathValueSource (getSetting (Ids::aaxFolder), + Ids::aaxPath, + TargetOS::windows))); + + rtasPath.referTo (Value (new DependencyPathValueSource (getSetting (Ids::rtasFolder), + Ids::rtasPath, + TargetOS::windows))); + } + + static bool shouldUseStdCall (const RelativePath& path) + { + return path.getFileNameWithoutExtension().startsWithIgnoreCase ("juce_audio_plugin_client_RTAS_"); + } + + JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterBase) +}; + + +//============================================================================== +class MSVCProjectExporterVC2008 : public MSVCProjectExporterBase +{ +public: + //============================================================================== + MSVCProjectExporterVC2008 (Project& p, const ValueTree& s, + const char* folderName = "VisualStudio2008") + : MSVCProjectExporterBase (p, s, folderName) + { + name = getName(); + } + + static const char* getName() { return "Visual Studio 2008"; } + static const char* getValueTreeTypeName() { return "VS2008"; } + int getVisualStudioVersion() const override { return 9; } + + static MSVCProjectExporterVC2008* createForSettings (Project& project, const ValueTree& settings) + { + if (settings.hasType (getValueTreeTypeName())) + return new MSVCProjectExporterVC2008 (project, settings); + + return nullptr; + } + + //============================================================================== + void create (const OwnedArray&) const override + { + createResourcesAndIcon(); + + if (hasResourceFile()) + { + for (int i = 0; i < getAllGroups().size(); ++i) + { + Project::Item& group = getAllGroups().getReference(i); + + if (group.getID() == ProjectSaver::getGeneratedGroupID()) + { + if (iconFile != File::nonexistent) + { + group.addFileAtIndex (iconFile, -1, true); + group.findItemForFile (iconFile).getShouldAddToBinaryResourcesValue() = false; + } + + group.addFileAtIndex (rcFile, -1, true); + group.findItemForFile (rcFile).getShouldAddToBinaryResourcesValue() = false; + + break; + } + } + } + + { + XmlElement projectXml ("VisualStudioProject"); + fillInProjectXml (projectXml); + writeXmlOrThrow (projectXml, getVCProjFile(), "UTF-8", 10); + } + + { + MemoryOutputStream mo; + writeSolutionFile (mo, getSolutionVersionString(), String::empty, getVCProjFile()); + + overwriteFileIfDifferentOrThrow (getSLNFile(), mo); + } + } + +protected: + virtual String getProjectVersionString() const { return "9.00"; } + virtual String getSolutionVersionString() const { return String ("10.00") + newLine + "# Visual C++ Express 2008"; } + + File getVCProjFile() const { return getProjectFile (".vcproj"); } + + //============================================================================== + void fillInProjectXml (XmlElement& projectXml) const + { + projectXml.setAttribute ("ProjectType", "Visual C++"); + projectXml.setAttribute ("Version", getProjectVersionString()); + projectXml.setAttribute ("Name", projectName); + projectXml.setAttribute ("ProjectGUID", projectGUID); + projectXml.setAttribute ("TargetFrameworkVersion", "131072"); + + { + XmlElement* platforms = projectXml.createNewChildElement ("Platforms"); + XmlElement* platform = platforms->createNewChildElement ("Platform"); + platform->setAttribute ("Name", "Win32"); + } + + projectXml.createNewChildElement ("ToolFiles"); + createConfigs (*projectXml.createNewChildElement ("Configurations")); + projectXml.createNewChildElement ("References"); + createFiles (*projectXml.createNewChildElement ("Files")); + projectXml.createNewChildElement ("Globals"); + } + + //============================================================================== + void addFile (const RelativePath& file, XmlElement& parent, const bool excludeFromBuild, const bool useStdcall) const + { + jassert (file.getRoot() == RelativePath::buildTargetFolder); + + XmlElement* fileXml = parent.createNewChildElement ("File"); + fileXml->setAttribute ("RelativePath", file.toWindowsStyle()); + + if (excludeFromBuild || useStdcall) + { + for (ConstConfigIterator i (*this); i.next();) + { + XmlElement* fileConfig = fileXml->createNewChildElement ("FileConfiguration"); + fileConfig->setAttribute ("Name", createConfigName (*i)); + + if (excludeFromBuild) + fileConfig->setAttribute ("ExcludedFromBuild", "true"); + + XmlElement* tool = createToolElement (*fileConfig, "VCCLCompilerTool"); + + if (useStdcall) + tool->setAttribute ("CallingConvention", "2"); + } + } + } + + XmlElement* createGroup (const String& groupName, XmlElement& parent) const + { + XmlElement* filter = parent.createNewChildElement ("Filter"); + filter->setAttribute ("Name", groupName); + return filter; + } + + void addFiles (const Project::Item& projectItem, XmlElement& parent) const + { + if (projectItem.isGroup()) + { + XmlElement* filter = createGroup (projectItem.getName(), parent); + + for (int i = 0; i < projectItem.getNumChildren(); ++i) + addFiles (projectItem.getChild(i), *filter); + } + else if (projectItem.shouldBeAddedToTargetProject()) + { + const RelativePath path (projectItem.getFile(), getTargetFolder(), RelativePath::buildTargetFolder); + + addFile (path, parent, + projectItem.shouldBeAddedToBinaryResources() + || (shouldFileBeCompiledByDefault (path) && ! projectItem.shouldBeCompiled()), + shouldFileBeCompiledByDefault (path) && shouldUseStdCall (path)); + } + } + + void createFiles (XmlElement& files) const + { + for (int i = 0; i < getAllGroups().size(); ++i) + { + const Project::Item& group = getAllGroups().getReference(i); + + if (group.getNumChildren() > 0) + addFiles (group, files); + } + } + + //============================================================================== + XmlElement* createToolElement (XmlElement& parent, const String& toolName) const + { + XmlElement* const e = parent.createNewChildElement ("Tool"); + e->setAttribute ("Name", toolName); + return e; + } + + void createConfig (XmlElement& xml, const MSVCBuildConfiguration& config) const + { + const bool isDebug = config.isDebug(); + + xml.setAttribute ("Name", createConfigName (config)); + + if (getConfigTargetPath (config).isNotEmpty()) + xml.setAttribute ("OutputDirectory", FileHelpers::windowsStylePath (getConfigTargetPath (config))); + + if (config.getIntermediatesPath().isNotEmpty()) + xml.setAttribute ("IntermediateDirectory", FileHelpers::windowsStylePath (config.getIntermediatesPath())); + + xml.setAttribute ("ConfigurationType", isLibraryDLL() ? "2" : (projectType.isStaticLibrary() ? "4" : "1")); + xml.setAttribute ("UseOfMFC", "0"); + xml.setAttribute ("ATLMinimizesCRunTimeLibraryUsage", "false"); + xml.setAttribute ("CharacterSet", "2"); + + if (! (isDebug || config.shouldDisableWholeProgramOpt())) + xml.setAttribute ("WholeProgramOptimization", "1"); + + XmlElement* preBuildEvent = createToolElement (xml, "VCPreBuildEventTool"); + + if (config.getPrebuildCommandString().isNotEmpty()) + { + preBuildEvent->setAttribute ("Description", "Pre-build"); + preBuildEvent->setAttribute ("CommandLine", config.getPrebuildCommandString()); + } + + createToolElement (xml, "VCCustomBuildTool"); + createToolElement (xml, "VCXMLDataGeneratorTool"); + createToolElement (xml, "VCWebServiceProxyGeneratorTool"); + + if (! projectType.isStaticLibrary()) + { + XmlElement* midl = createToolElement (xml, "VCMIDLTool"); + midl->setAttribute ("PreprocessorDefinitions", isDebug ? "_DEBUG" : "NDEBUG"); + midl->setAttribute ("MkTypLibCompatible", "true"); + midl->setAttribute ("SuppressStartupBanner", "true"); + midl->setAttribute ("TargetEnvironment", "1"); + midl->setAttribute ("TypeLibraryName", getIntDirFile (config, config.getOutputFilename (".tlb", true))); + midl->setAttribute ("HeaderFileName", ""); + } + + { + XmlElement* compiler = createToolElement (xml, "VCCLCompilerTool"); + + compiler->setAttribute ("Optimization", getOptimisationLevelString (config.getOptimisationLevelInt())); + + if (isDebug) + { + compiler->setAttribute ("BufferSecurityCheck", ""); + compiler->setAttribute ("DebugInformationFormat", projectType.isStaticLibrary() ? "3" : "4"); + } + else + { + compiler->setAttribute ("InlineFunctionExpansion", "1"); + compiler->setAttribute ("StringPooling", "true"); + } + + compiler->setAttribute ("AdditionalIncludeDirectories", replacePreprocessorTokens (config, getHeaderSearchPaths (config).joinIntoString (";"))); + compiler->setAttribute ("PreprocessorDefinitions", getPreprocessorDefs (config, ";")); + compiler->setAttribute ("RuntimeLibrary", config.isUsingRuntimeLibDLL() ? (isDebug ? 3 : 2) // MT DLL + : (isDebug ? 1 : 0)); // MT static + compiler->setAttribute ("RuntimeTypeInfo", "true"); + compiler->setAttribute ("UsePrecompiledHeader", "0"); + compiler->setAttribute ("PrecompiledHeaderFile", getIntDirFile (config, config.getOutputFilename (".pch", true))); + compiler->setAttribute ("AssemblerListingLocation", "$(IntDir)\\"); + compiler->setAttribute ("ObjectFile", "$(IntDir)\\"); + compiler->setAttribute ("ProgramDataBaseFileName", "$(IntDir)\\"); + compiler->setAttribute ("WarningLevel", String (config.getWarningLevel())); + compiler->setAttribute ("SuppressStartupBanner", "true"); + + const String extraFlags (replacePreprocessorTokens (config, getExtraCompilerFlagsString()).trim()); + if (extraFlags.isNotEmpty()) + compiler->setAttribute ("AdditionalOptions", extraFlags); + } + + createToolElement (xml, "VCManagedResourceCompilerTool"); + + { + XmlElement* resCompiler = createToolElement (xml, "VCResourceCompilerTool"); + resCompiler->setAttribute ("PreprocessorDefinitions", isDebug ? "_DEBUG" : "NDEBUG"); + } + + createToolElement (xml, "VCPreLinkEventTool"); + + if (! projectType.isStaticLibrary()) + { + XmlElement* linker = createToolElement (xml, "VCLinkerTool"); + + linker->setAttribute ("OutputFile", getOutDirFile (config, config.getOutputFilename (msvcTargetSuffix, false))); + linker->setAttribute ("SuppressStartupBanner", "true"); + + linker->setAttribute ("IgnoreDefaultLibraryNames", isDebug ? "libcmt.lib, msvcrt.lib" : ""); + linker->setAttribute ("GenerateDebugInformation", (isDebug || config.shouldGenerateDebugSymbols()) ? "true" : "false"); + linker->setAttribute ("ProgramDatabaseFile", getIntDirFile (config, config.getOutputFilename (".pdb", true))); + linker->setAttribute ("SubSystem", msvcIsWindowsSubsystem ? "2" : "1"); + + const StringArray librarySearchPaths (config.getLibrarySearchPaths()); + if (librarySearchPaths.size() > 0) + linker->setAttribute ("AdditionalLibraryDirectories", librarySearchPaths.joinIntoString (";")); + + linker->setAttribute ("GenerateManifest", config.shouldGenerateManifest() ? "true" : "false"); + + if (! isDebug) + { + linker->setAttribute ("OptimizeReferences", "2"); + linker->setAttribute ("EnableCOMDATFolding", "2"); + } + + linker->setAttribute ("TargetMachine", "1"); // (64-bit build = 5) + + if (msvcDelayLoadedDLLs.isNotEmpty()) + linker->setAttribute ("DelayLoadDLLs", msvcDelayLoadedDLLs); + + if (config.config [Ids::msvcModuleDefinitionFile].toString().isNotEmpty()) + linker->setAttribute ("ModuleDefinitionFile", config.config [Ids::msvcModuleDefinitionFile].toString()); + + String externalLibraries (getExternalLibrariesString()); + if (externalLibraries.isNotEmpty()) + linker->setAttribute ("AdditionalDependencies", replacePreprocessorTokens (config, externalLibraries).trim()); + + String extraLinkerOptions (getExtraLinkerFlagsString()); + if (extraLinkerOptions.isNotEmpty()) + linker->setAttribute ("AdditionalOptions", replacePreprocessorTokens (config, extraLinkerOptions).trim()); + } + else + { + if (isLibraryDLL()) + { + XmlElement* linker = createToolElement (xml, "VCLinkerTool"); + + String extraLinkerOptions (getExtraLinkerFlagsString()); + extraLinkerOptions << " /IMPLIB:" << getOutDirFile (config, config.getOutputFilename (".lib", true)); + linker->setAttribute ("AdditionalOptions", replacePreprocessorTokens (config, extraLinkerOptions).trim()); + + String externalLibraries (getExternalLibrariesString()); + if (externalLibraries.isNotEmpty()) + linker->setAttribute ("AdditionalDependencies", replacePreprocessorTokens (config, externalLibraries).trim()); + + linker->setAttribute ("OutputFile", getOutDirFile (config, config.getOutputFilename (msvcTargetSuffix, false))); + linker->setAttribute ("IgnoreDefaultLibraryNames", isDebug ? "libcmt.lib, msvcrt.lib" : ""); + } + else + { + XmlElement* librarian = createToolElement (xml, "VCLibrarianTool"); + + librarian->setAttribute ("OutputFile", getOutDirFile (config, config.getOutputFilename (msvcTargetSuffix, false))); + librarian->setAttribute ("IgnoreDefaultLibraryNames", isDebug ? "libcmt.lib, msvcrt.lib" : ""); + } + } + + createToolElement (xml, "VCALinkTool"); + createToolElement (xml, "VCManifestTool"); + createToolElement (xml, "VCXDCMakeTool"); + + { + XmlElement* bscMake = createToolElement (xml, "VCBscMakeTool"); + bscMake->setAttribute ("SuppressStartupBanner", "true"); + bscMake->setAttribute ("OutputFile", getIntDirFile (config, config.getOutputFilename (".bsc", true))); + } + + createToolElement (xml, "VCFxCopTool"); + + if (! projectType.isStaticLibrary()) + createToolElement (xml, "VCAppVerifierTool"); + + XmlElement* postBuildEvent = createToolElement (xml, "VCPostBuildEventTool"); + + if (config.getPostbuildCommandString().isNotEmpty()) + { + postBuildEvent->setAttribute ("Description", "Post-build"); + postBuildEvent->setAttribute ("CommandLine", config.getPostbuildCommandString()); + } + } + + void createConfigs (XmlElement& xml) const + { + for (ConstConfigIterator config (*this); config.next();) + createConfig (*xml.createNewChildElement ("Configuration"), + dynamic_cast (*config)); + } + + static const char* getOptimisationLevelString (int level) + { + switch (level) + { + case optimiseMaxSpeed: return "3"; + case optimiseMinSize: return "1"; + default: return "0"; + } + } + + //============================================================================== + JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2008) +}; + + +//============================================================================== +class MSVCProjectExporterVC2005 : public MSVCProjectExporterVC2008 +{ +public: + MSVCProjectExporterVC2005 (Project& p, const ValueTree& t) + : MSVCProjectExporterVC2008 (p, t, "VisualStudio2005") + { + name = getName(); + } + + static const char* getName() { return "Visual Studio 2005"; } + static const char* getValueTreeTypeName() { return "VS2005"; } + int getVisualStudioVersion() const override { return 8; } + + static MSVCProjectExporterVC2005* createForSettings (Project& project, const ValueTree& settings) + { + if (settings.hasType (getValueTreeTypeName())) + return new MSVCProjectExporterVC2005 (project, settings); + + return nullptr; + } + +protected: + String getProjectVersionString() const override { return "8.00"; } + String getSolutionVersionString() const override { return String ("9.00") + newLine + "# Visual C++ Express 2005"; } + + JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2005) +}; + +//============================================================================== +class MSVCProjectExporterVC2010 : public MSVCProjectExporterBase +{ +public: + MSVCProjectExporterVC2010 (Project& p, const ValueTree& t, const char* folderName = "VisualStudio2010") + : MSVCProjectExporterBase (p, t, folderName) + { + name = getName(); + } + + static const char* getName() { return "Visual Studio 2010"; } + static const char* getValueTreeTypeName() { return "VS2010"; } + int getVisualStudioVersion() const override { return 10; } + virtual String getSolutionComment() const { return "# Visual Studio 2010"; } + 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 + { + const String s (settings [Ids::toolset].toString()); + return s.isNotEmpty() ? s : getDefaultToolset(); + } + + static MSVCProjectExporterVC2010* createForSettings (Project& project, const ValueTree& settings) + { + if (settings.hasType (getValueTreeTypeName())) + return new MSVCProjectExporterVC2010 (project, settings); + + 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" }; + const var toolsets[] = { var(), "v100", "v100_xp", "Windows7.1SDK", "CTP_Nov2013" }; + + addToolsetProperty (props, toolsetNames, toolsets, numElementsInArray (toolsets)); + addIPPLibraryProperty (props); + } + + //============================================================================== + void create (const OwnedArray&) const override + { + createResourcesAndIcon(); + + { + XmlElement projectXml ("Project"); + fillInProjectXml (projectXml); + addPlatformToolsetToPropertyGroup (projectXml); + addIPPSettingToPropertyGroup (projectXml); + + writeXmlOrThrow (projectXml, getVCProjFile(), "utf-8", 100); + } + + { + XmlElement filtersXml ("Project"); + fillInFiltersXml (filtersXml); + writeXmlOrThrow (filtersXml, getVCProjFiltersFile(), "utf-8", 100); + } + + { + MemoryOutputStream mo; + writeSolutionFile (mo, "11.00", getSolutionComment(), getVCProjFile()); + + overwriteFileIfDifferentOrThrow (getSLNFile(), mo); + } + } + +protected: + //============================================================================== + class VC2010BuildConfiguration : public MSVCBuildConfiguration + { + public: + VC2010BuildConfiguration (Project& p, const ValueTree& settings, const ProjectExporter& e) + : MSVCBuildConfiguration (p, settings, e) + { + if (getArchitectureType().toString().isEmpty()) + getArchitectureType() = get32BitArchName(); + } + + //============================================================================== + static const char* get32BitArchName() { return "32-bit"; } + static const char* get64BitArchName() { return "x64"; } + + Value getArchitectureType() { return getValue (Ids::winArchitecture); } + bool is64Bit() const { return config [Ids::winArchitecture].toString() == get64BitArchName(); } + + Value getFastMathValue() { return getValue (Ids::fastMath); } + bool isFastMathEnabled() const { return config [Ids::fastMath]; } + + //============================================================================== + void createConfigProperties (PropertyListBuilder& props) override + { + MSVCBuildConfiguration::createConfigProperties (props); + + const char* const archTypes[] = { get32BitArchName(), get64BitArchName() }; + + props.add (new ChoicePropertyComponent (getArchitectureType(), "Architecture", + StringArray (archTypes, numElementsInArray (archTypes)), + Array (archTypes, numElementsInArray (archTypes)))); + + props.add (new BooleanPropertyComponent (getFastMathValue(), "Relax IEEE compliance", "Enabled"), + "Enable this to use FAST_MATH non-IEEE mode. (Warning: this can have unexpected results!)"); + } + }; + + 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); + } + + static bool is64Bit (const BuildConfiguration& config) + { + return dynamic_cast (config).is64Bit(); + } + + //============================================================================== + File getVCProjFile() const { return getProjectFile (".vcxproj"); } + File getVCProjFiltersFile() const { return getProjectFile (".vcxproj.filters"); } + + String createConfigName (const BuildConfiguration& config) const override + { + return config.getName() + (is64Bit (config) ? "|x64" + : "|Win32"); + } + + void setConditionAttribute (XmlElement& xml, const BuildConfiguration& config) const + { + xml.setAttribute ("Condition", "'$(Configuration)|$(Platform)'=='" + createConfigName (config) + "'"); + } + + //============================================================================== + void fillInProjectXml (XmlElement& projectXml) const + { + projectXml.setAttribute ("DefaultTargets", "Build"); + projectXml.setAttribute ("ToolsVersion", getToolsVersion()); + projectXml.setAttribute ("xmlns", "http://schemas.microsoft.com/developer/msbuild/2003"); + + { + XmlElement* configsGroup = projectXml.createNewChildElement ("ItemGroup"); + configsGroup->setAttribute ("Label", "ProjectConfigurations"); + + for (ConstConfigIterator config (*this); config.next();) + { + XmlElement* e = configsGroup->createNewChildElement ("ProjectConfiguration"); + e->setAttribute ("Include", createConfigName (*config)); + e->createNewChildElement ("Configuration")->addTextElement (config->getName()); + e->createNewChildElement ("Platform")->addTextElement (is64Bit (*config) ? "x64" : "Win32"); + } + } + + { + XmlElement* globals = projectXml.createNewChildElement ("PropertyGroup"); + globals->setAttribute ("Label", "Globals"); + globals->createNewChildElement ("ProjectGuid")->addTextElement (projectGUID); + } + + { + XmlElement* imports = projectXml.createNewChildElement ("Import"); + imports->setAttribute ("Project", "$(VCTargetsPath)\\Microsoft.Cpp.Default.props"); + } + + for (ConstConfigIterator i (*this); i.next();) + { + const VC2010BuildConfiguration& config = dynamic_cast (*i); + + XmlElement* e = projectXml.createNewChildElement ("PropertyGroup"); + setConditionAttribute (*e, config); + e->setAttribute ("Label", "Configuration"); + e->createNewChildElement ("ConfigurationType")->addTextElement (getProjectType()); + e->createNewChildElement ("UseOfMfc")->addTextElement ("false"); + + const String charSet (config.getCharacterSet()); + + if (charSet.isNotEmpty()) + e->createNewChildElement ("CharacterSet")->addTextElement (charSet); + + if (! (config.isDebug() || config.shouldDisableWholeProgramOpt())) + e->createNewChildElement ("WholeProgramOptimization")->addTextElement ("true"); + + if (config.is64Bit()) + e->createNewChildElement ("PlatformToolset")->addTextElement (getPlatformToolset()); + } + + { + XmlElement* e = projectXml.createNewChildElement ("Import"); + e->setAttribute ("Project", "$(VCTargetsPath)\\Microsoft.Cpp.props"); + } + + { + XmlElement* e = projectXml.createNewChildElement ("ImportGroup"); + e->setAttribute ("Label", "ExtensionSettings"); + } + + { + XmlElement* e = projectXml.createNewChildElement ("ImportGroup"); + e->setAttribute ("Label", "PropertySheets"); + XmlElement* p = e->createNewChildElement ("Import"); + p->setAttribute ("Project", "$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props"); + p->setAttribute ("Condition", "exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')"); + p->setAttribute ("Label", "LocalAppDataPlatform"); + } + + { + XmlElement* e = projectXml.createNewChildElement ("PropertyGroup"); + e->setAttribute ("Label", "UserMacros"); + } + + { + XmlElement* props = projectXml.createNewChildElement ("PropertyGroup"); + props->createNewChildElement ("_ProjectFileVersion")->addTextElement ("10.0.30319.1"); + + for (ConstConfigIterator i (*this); i.next();) + { + const VC2010BuildConfiguration& config = dynamic_cast (*i); + + if (getConfigTargetPath (config).isNotEmpty()) + { + XmlElement* outdir = props->createNewChildElement ("OutDir"); + setConditionAttribute (*outdir, config); + outdir->addTextElement (FileHelpers::windowsStylePath (getConfigTargetPath (config)) + "\\"); + } + + if (config.getIntermediatesPath().isNotEmpty()) + { + XmlElement* intdir = props->createNewChildElement ("IntDir"); + setConditionAttribute (*intdir, config); + intdir->addTextElement (FileHelpers::windowsStylePath (config.getIntermediatesPath()) + "\\"); + } + + { + XmlElement* targetName = props->createNewChildElement ("TargetName"); + setConditionAttribute (*targetName, config); + targetName->addTextElement (config.getOutputFilename (String::empty, true)); + } + + { + XmlElement* manifest = props->createNewChildElement ("GenerateManifest"); + setConditionAttribute (*manifest, config); + manifest->addTextElement (config.shouldGenerateManifest() ? "true" : "false"); + } + + const StringArray librarySearchPaths (config.getLibrarySearchPaths()); + + if (librarySearchPaths.size() > 0) + { + XmlElement* libPath = props->createNewChildElement ("LibraryPath"); + setConditionAttribute (*libPath, config); + libPath->addTextElement ("$(LibraryPath);" + librarySearchPaths.joinIntoString (";")); + } + } + } + + for (ConstConfigIterator i (*this); i.next();) + { + const VC2010BuildConfiguration& config = dynamic_cast (*i); + + const bool isDebug = config.isDebug(); + + XmlElement* group = projectXml.createNewChildElement ("ItemDefinitionGroup"); + setConditionAttribute (*group, config); + + { + XmlElement* midl = group->createNewChildElement ("Midl"); + midl->createNewChildElement ("PreprocessorDefinitions")->addTextElement (isDebug ? "_DEBUG;%(PreprocessorDefinitions)" + : "NDEBUG;%(PreprocessorDefinitions)"); + midl->createNewChildElement ("MkTypLibCompatible")->addTextElement ("true"); + midl->createNewChildElement ("SuppressStartupBanner")->addTextElement ("true"); + midl->createNewChildElement ("TargetEnvironment")->addTextElement ("Win32"); + midl->createNewChildElement ("HeaderFileName"); + } + + bool isUsingEditAndContinue = false; + + { + XmlElement* cl = group->createNewChildElement ("ClCompile"); + + cl->createNewChildElement ("Optimization")->addTextElement (getOptimisationLevelString (config.getOptimisationLevelInt())); + + if (isDebug && config.getOptimisationLevelInt() <= optimisationOff) + { + isUsingEditAndContinue = ! config.is64Bit(); + + cl->createNewChildElement ("DebugInformationFormat") + ->addTextElement (isUsingEditAndContinue ? "EditAndContinue" + : "ProgramDatabase"); + } + + StringArray includePaths (getHeaderSearchPaths (config)); + includePaths.add ("%(AdditionalIncludeDirectories)"); + cl->createNewChildElement ("AdditionalIncludeDirectories")->addTextElement (includePaths.joinIntoString (";")); + cl->createNewChildElement ("PreprocessorDefinitions")->addTextElement (getPreprocessorDefs (config, ";") + ";%(PreprocessorDefinitions)"); + cl->createNewChildElement ("RuntimeLibrary")->addTextElement (config.isUsingRuntimeLibDLL() ? (isDebug ? "MultiThreadedDebugDLL" : "MultiThreadedDLL") + : (isDebug ? "MultiThreadedDebug" : "MultiThreaded")); + cl->createNewChildElement ("RuntimeTypeInfo")->addTextElement ("true"); + cl->createNewChildElement ("PrecompiledHeader"); + cl->createNewChildElement ("AssemblerListingLocation")->addTextElement ("$(IntDir)\\"); + cl->createNewChildElement ("ObjectFileName")->addTextElement ("$(IntDir)\\"); + cl->createNewChildElement ("ProgramDataBaseFileName")->addTextElement ("$(IntDir)\\"); + cl->createNewChildElement ("WarningLevel")->addTextElement ("Level" + String (config.getWarningLevel())); + cl->createNewChildElement ("SuppressStartupBanner")->addTextElement ("true"); + cl->createNewChildElement ("MultiProcessorCompilation")->addTextElement ("true"); + + if (config.isFastMathEnabled()) + cl->createNewChildElement ("FloatingPointModel")->addTextElement ("Fast"); + + const String extraFlags (replacePreprocessorTokens (config, getExtraCompilerFlagsString()).trim()); + if (extraFlags.isNotEmpty()) + cl->createNewChildElement ("AdditionalOptions")->addTextElement (extraFlags + " %(AdditionalOptions)"); + + if (config.areWarningsTreatedAsErrors()) + cl->createNewChildElement ("TreatWarningAsError")->addTextElement ("true"); + } + + { + XmlElement* res = group->createNewChildElement ("ResourceCompile"); + res->createNewChildElement ("PreprocessorDefinitions")->addTextElement (isDebug ? "_DEBUG;%(PreprocessorDefinitions)" + : "NDEBUG;%(PreprocessorDefinitions)"); + } + + { + XmlElement* link = group->createNewChildElement ("Link"); + link->createNewChildElement ("OutputFile")->addTextElement (getOutDirFile (config, config.getOutputFilename (msvcTargetSuffix, false))); + link->createNewChildElement ("SuppressStartupBanner")->addTextElement ("true"); + link->createNewChildElement ("IgnoreSpecificDefaultLibraries")->addTextElement (isDebug ? "libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries)" + : "%(IgnoreSpecificDefaultLibraries)"); + link->createNewChildElement ("GenerateDebugInformation")->addTextElement ((isDebug || config.shouldGenerateDebugSymbols()) ? "true" : "false"); + link->createNewChildElement ("ProgramDatabaseFile")->addTextElement (getIntDirFile (config, config.getOutputFilename (".pdb", true))); + link->createNewChildElement ("SubSystem")->addTextElement (msvcIsWindowsSubsystem ? "Windows" : "Console"); + + if (! config.is64Bit()) + link->createNewChildElement ("TargetMachine")->addTextElement ("MachineX86"); + + if (isUsingEditAndContinue) + link->createNewChildElement ("ImageHasSafeExceptionHandlers")->addTextElement ("false"); + + if (! isDebug) + { + link->createNewChildElement ("OptimizeReferences")->addTextElement ("true"); + link->createNewChildElement ("EnableCOMDATFolding")->addTextElement ("true"); + } + + const StringArray librarySearchPaths (config.getLibrarySearchPaths()); + if (librarySearchPaths.size() > 0) + link->createNewChildElement ("AdditionalLibraryDirectories")->addTextElement (replacePreprocessorTokens (config, librarySearchPaths.joinIntoString (";")) + + ";%(AdditionalLibraryDirectories)"); + + link->createNewChildElement ("LargeAddressAware")->addTextElement ("true"); + + String externalLibraries (getExternalLibrariesString()); + if (externalLibraries.isNotEmpty()) + link->createNewChildElement ("AdditionalDependencies")->addTextElement (replacePreprocessorTokens (config, externalLibraries).trim() + + ";%(AdditionalDependencies)"); + + String extraLinkerOptions (getExtraLinkerFlagsString()); + if (extraLinkerOptions.isNotEmpty()) + link->createNewChildElement ("AdditionalOptions")->addTextElement (replacePreprocessorTokens (config, extraLinkerOptions).trim() + + " %(AdditionalOptions)"); + + if (msvcDelayLoadedDLLs.isNotEmpty()) + link->createNewChildElement ("DelayLoadDLLs")->addTextElement (msvcDelayLoadedDLLs); + + if (config.config [Ids::msvcModuleDefinitionFile].toString().isNotEmpty()) + link->createNewChildElement ("ModuleDefinitionFile") + ->addTextElement (config.config [Ids::msvcModuleDefinitionFile].toString()); + } + + { + XmlElement* bsc = group->createNewChildElement ("Bscmake"); + bsc->createNewChildElement ("SuppressStartupBanner")->addTextElement ("true"); + bsc->createNewChildElement ("OutputFile")->addTextElement (getIntDirFile (config, config.getOutputFilename (".bsc", true))); + } + + if (config.getPrebuildCommandString().isNotEmpty()) + group->createNewChildElement ("PreBuildEvent") + ->createNewChildElement ("Command") + ->addTextElement (config.getPrebuildCommandString()); + + if (config.getPostbuildCommandString().isNotEmpty()) + group->createNewChildElement ("PostBuildEvent") + ->createNewChildElement ("Command") + ->addTextElement (config.getPostbuildCommandString()); + } + + ScopedPointer otherFilesGroup (new XmlElement ("ItemGroup")); + + { + XmlElement* cppFiles = projectXml.createNewChildElement ("ItemGroup"); + XmlElement* headerFiles = projectXml.createNewChildElement ("ItemGroup"); + + for (int i = 0; i < getAllGroups().size(); ++i) + { + const Project::Item& group = getAllGroups().getReference(i); + + if (group.getNumChildren() > 0) + addFilesToCompile (group, *cppFiles, *headerFiles, *otherFilesGroup); + } + } + + if (iconFile != File::nonexistent) + { + XmlElement* e = otherFilesGroup->createNewChildElement ("None"); + e->setAttribute ("Include", prependDot (iconFile.getFileName())); + } + + if (otherFilesGroup->getFirstChildElement() != nullptr) + projectXml.addChildElement (otherFilesGroup.release()); + + if (hasResourceFile()) + { + XmlElement* rcGroup = projectXml.createNewChildElement ("ItemGroup"); + XmlElement* e = rcGroup->createNewChildElement ("ResourceCompile"); + e->setAttribute ("Include", prependDot (rcFile.getFileName())); + } + + { + XmlElement* e = projectXml.createNewChildElement ("Import"); + e->setAttribute ("Project", "$(VCTargetsPath)\\Microsoft.Cpp.targets"); + } + + { + XmlElement* e = projectXml.createNewChildElement ("ImportGroup"); + e->setAttribute ("Label", "ExtensionTargets"); + } + } + + String getProjectType() const + { + if (projectType.isGUIApplication() || projectType.isCommandLineApp()) return "Application"; + if (isLibraryDLL()) return "DynamicLibrary"; + if (projectType.isStaticLibrary()) return "StaticLibrary"; + + jassertfalse; + return String::empty; + } + + static const char* getOptimisationLevelString (int level) + { + switch (level) + { + case optimiseMaxSpeed: return "Full"; + case optimiseMinSize: return "MinSpace"; + default: return "Disabled"; + } + } + + //============================================================================== + void addFilesToCompile (const Project::Item& projectItem, XmlElement& cpps, XmlElement& headers, XmlElement& otherFiles) const + { + if (projectItem.isGroup()) + { + for (int i = 0; i < projectItem.getNumChildren(); ++i) + addFilesToCompile (projectItem.getChild(i), cpps, headers, otherFiles); + } + else if (projectItem.shouldBeAddedToTargetProject()) + { + const RelativePath path (projectItem.getFile(), getTargetFolder(), RelativePath::buildTargetFolder); + + jassert (path.getRoot() == RelativePath::buildTargetFolder); + + if (path.hasFileExtension (cOrCppFileExtensions)) + { + XmlElement* e = cpps.createNewChildElement ("ClCompile"); + e->setAttribute ("Include", path.toWindowsStyle()); + + if (! projectItem.shouldBeCompiled()) + e->createNewChildElement ("ExcludedFromBuild")->addTextElement ("true"); + + if (shouldUseStdCall (path)) + e->createNewChildElement ("CallingConvention")->addTextElement ("StdCall"); + } + else if (path.hasFileExtension (headerFileExtensions)) + { + headers.createNewChildElement ("ClInclude")->setAttribute ("Include", path.toWindowsStyle()); + } + else if (! path.hasFileExtension (objCFileExtensions)) + { + otherFiles.createNewChildElement ("None")->setAttribute ("Include", path.toWindowsStyle()); + } + } + } + + //============================================================================== + void addFilterGroup (XmlElement& groups, const String& path) const + { + XmlElement* e = groups.createNewChildElement ("Filter"); + e->setAttribute ("Include", path); + e->createNewChildElement ("UniqueIdentifier")->addTextElement (createGUID (path + "_guidpathsaltxhsdf")); + } + + void addFileToFilter (const RelativePath& file, const String& groupPath, + XmlElement& cpps, XmlElement& headers, XmlElement& otherFiles) const + { + XmlElement* e; + + if (file.hasFileExtension (headerFileExtensions)) + e = headers.createNewChildElement ("ClInclude"); + else if (file.hasFileExtension (sourceFileExtensions)) + e = cpps.createNewChildElement ("ClCompile"); + else + e = otherFiles.createNewChildElement ("None"); + + jassert (file.getRoot() == RelativePath::buildTargetFolder); + e->setAttribute ("Include", file.toWindowsStyle()); + e->createNewChildElement ("Filter")->addTextElement (groupPath); + } + + void addFilesToFilter (const Project::Item& projectItem, const String& path, + XmlElement& cpps, XmlElement& headers, XmlElement& otherFiles, XmlElement& groups) const + { + if (projectItem.isGroup()) + { + addFilterGroup (groups, path); + + for (int i = 0; i < projectItem.getNumChildren(); ++i) + addFilesToFilter (projectItem.getChild(i), + (path.isEmpty() ? String::empty : (path + "\\")) + projectItem.getChild(i).getName(), + cpps, headers, otherFiles, groups); + } + else if (projectItem.shouldBeAddedToTargetProject()) + { + addFileToFilter (RelativePath (projectItem.getFile(), getTargetFolder(), RelativePath::buildTargetFolder), + path.upToLastOccurrenceOf ("\\", false, false), cpps, headers, otherFiles); + } + } + + void addFilesToFilter (const Array& files, const String& path, + XmlElement& cpps, XmlElement& headers, XmlElement& otherFiles, XmlElement& groups) + { + if (files.size() > 0) + { + addFilterGroup (groups, path); + + for (int i = 0; i < files.size(); ++i) + addFileToFilter (files.getReference(i), path, cpps, headers, otherFiles); + } + } + + void fillInFiltersXml (XmlElement& filterXml) const + { + filterXml.setAttribute ("ToolsVersion", getToolsVersion()); + filterXml.setAttribute ("xmlns", "http://schemas.microsoft.com/developer/msbuild/2003"); + + XmlElement* groupsXml = filterXml.createNewChildElement ("ItemGroup"); + XmlElement* cpps = filterXml.createNewChildElement ("ItemGroup"); + XmlElement* headers = filterXml.createNewChildElement ("ItemGroup"); + ScopedPointer otherFilesGroup (new XmlElement ("ItemGroup")); + + for (int i = 0; i < getAllGroups().size(); ++i) + { + const Project::Item& group = getAllGroups().getReference(i); + + if (group.getNumChildren() > 0) + addFilesToFilter (group, group.getName(), *cpps, *headers, *otherFilesGroup, *groupsXml); + } + + if (iconFile.exists()) + { + XmlElement* e = otherFilesGroup->createNewChildElement ("None"); + e->setAttribute ("Include", prependDot (iconFile.getFileName())); + e->createNewChildElement ("Filter")->addTextElement (ProjectSaver::getJuceCodeGroupName()); + } + + if (otherFilesGroup->getFirstChildElement() != nullptr) + filterXml.addChildElement (otherFilesGroup.release()); + + if (hasResourceFile()) + { + XmlElement* rcGroup = filterXml.createNewChildElement ("ItemGroup"); + XmlElement* e = rcGroup->createNewChildElement ("ResourceCompile"); + e->setAttribute ("Include", prependDot (rcFile.getFileName())); + e->createNewChildElement ("Filter")->addTextElement (ProjectSaver::getJuceCodeGroupName()); + } + } + + JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2010) +}; + +//============================================================================== +class MSVCProjectExporterVC2012 : public MSVCProjectExporterVC2010 +{ +public: + MSVCProjectExporterVC2012 (Project& p, const ValueTree& t, + const char* folderName = "VisualStudio2012") + : MSVCProjectExporterVC2010 (p, t, folderName) + { + name = getName(); + } + + static const char* getName() { return "Visual Studio 2012"; } + static const char* getValueTreeTypeName() { return "VS2012"; } + int getVisualStudioVersion() const override { return 11; } + String getSolutionComment() const override { return "# Visual Studio 2012"; } + String getDefaultToolset() const override { return "v110"; } + + static MSVCProjectExporterVC2012* createForSettings (Project& project, const ValueTree& settings) + { + if (settings.hasType (getValueTreeTypeName())) + return new MSVCProjectExporterVC2012 (project, settings); + + return nullptr; + } + + void createExporterProperties (PropertyListBuilder& props) override + { + MSVCProjectExporterBase::createExporterProperties (props); + + static const char* toolsetNames[] = { "(default)", "v110", "v110_xp", "Windows7.1SDK", "CTP_Nov2013" }; + const var toolsets[] = { var(), "v110", "v110_xp", "Windows7.1SDK", "CTP_Nov2013" }; + + addToolsetProperty (props, toolsetNames, toolsets, numElementsInArray (toolsets)); + addIPPLibraryProperty (props); + } + +private: + void addPlatformToolsetToPropertyGroup (XmlElement& p) const override + { + forEachXmlChildElementWithTagName (p, e, "PropertyGroup") + e->createNewChildElement ("PlatformToolset")->addTextElement (getPlatformToolset()); + } + + JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2012) +}; + +//============================================================================== +class MSVCProjectExporterVC2013 : public MSVCProjectExporterVC2012 +{ +public: + MSVCProjectExporterVC2013 (Project& p, const ValueTree& t) + : MSVCProjectExporterVC2012 (p, t, "VisualStudio2013") + { + name = getName(); + } + + static const char* getName() { return "Visual Studio 2013"; } + static const char* getValueTreeTypeName() { return "VS2013"; } + int getVisualStudioVersion() const override { return 12; } + String getSolutionComment() const override { return "# Visual Studio 2013"; } + String getToolsVersion() const override { return "12.0"; } + String getDefaultToolset() const override { return "v120"; } + + static MSVCProjectExporterVC2013* createForSettings (Project& project, const ValueTree& settings) + { + if (settings.hasType (getValueTreeTypeName())) + return new MSVCProjectExporterVC2013 (project, settings); + + return nullptr; + } + + void createExporterProperties (PropertyListBuilder& props) override + { + MSVCProjectExporterBase::createExporterProperties (props); + + static const char* toolsetNames[] = { "(default)", "v120", "v120_xp", "Windows7.1SDK", "CTP_Nov2013" }; + const var toolsets[] = { var(), "v120", "v120_xp", "Windows7.1SDK", "CTP_Nov2013" }; + + addToolsetProperty (props, toolsetNames, toolsets, numElementsInArray (toolsets)); + addIPPLibraryProperty (props); + } + + JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2013) +}; + +//============================================================================== +class MSVCProjectExporterVC2015 : public MSVCProjectExporterVC2012 +{ +public: + MSVCProjectExporterVC2015 (Project& p, const ValueTree& t) + : MSVCProjectExporterVC2012 (p, t, "VisualStudio2015") + { + name = getName(); + } + + static const char* getName() { return "Visual Studio 2015"; } + static const char* getValueTreeTypeName() { return "VS2015"; } + int getVisualStudioVersion() const override { return 14; } + String getSolutionComment() const override { return "# Visual Studio 2015"; } + String getToolsVersion() const override { return "14.0"; } + String getDefaultToolset() const override { return "v140"; } + + static MSVCProjectExporterVC2015* createForSettings (Project& project, const ValueTree& settings) + { + if (settings.hasType (getValueTreeTypeName())) + return new MSVCProjectExporterVC2015 (project, settings); + + return nullptr; + } + + void createExporterProperties (PropertyListBuilder& props) override + { + MSVCProjectExporterBase::createExporterProperties (props); + + static const char* toolsetNames[] = { "(default)", "v140", "v140_xp", "CTP_Nov2013" }; + const var toolsets[] = { var(), "v140", "v140_xp", "CTP_Nov2013" }; + + addToolsetProperty (props, toolsetNames, toolsets, numElementsInArray (toolsets)); + addIPPLibraryProperty (props); + } + + JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2015) +}; diff --git a/extras/Projucer/Source/Project Saving/jucer_ProjectExport_Make.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_Make.h new file mode 100644 index 00000000..4a43c790 --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_Make.h @@ -0,0 +1,414 @@ +/* + ============================================================================== + + 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 MakefileProjectExporter : public ProjectExporter +{ +public: + //============================================================================== + static const char* getNameLinux() { return "Linux Makefile"; } + static const char* getValueTreeTypeName() { return "LINUX_MAKE"; } + + static MakefileProjectExporter* createForSettings (Project& project, const ValueTree& settings) + { + if (settings.hasType (getValueTreeTypeName())) + return new MakefileProjectExporter (project, settings); + + return nullptr; + } + + + //============================================================================== + MakefileProjectExporter (Project& p, const ValueTree& t) : ProjectExporter (p, t) + { + name = getNameLinux(); + + if (getTargetLocationString().isEmpty()) + getTargetLocationValue() = getDefaultBuildsRootFolder() + "LinuxMakefile"; + + initialiseDependencyPathValues(); + } + + //============================================================================== + bool canLaunchProject() override { return false; } + bool launchProject() override { return false; } + 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 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]; } + + void createExporterProperties (PropertyListBuilder& properties) override + { + static const char* cppStandardNames[] = { "C++03", "C++11", "C++14", nullptr }; + static const char* cppStandardValues[] = { "-std=c++03", "-std=c++11", "-std=c++14", nullptr }; + + properties.add (new ChoicePropertyComponent (getCppStandardValue(), + "C++ standard to use", + StringArray (cppStandardNames), + Array (cppStandardValues)), + "The C++ standard to specify in the makefile"); + } + + //============================================================================== + void create (const OwnedArray&) const override + { + Array files; + for (int i = 0; i < getAllGroups().size(); ++i) + findAllFilesToCompile (getAllGroups().getReference(i), files); + + MemoryOutputStream mo; + writeMakefile (mo, files); + + 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 + { + public: + MakeBuildConfiguration (Project& p, const ValueTree& settings, const ProjectExporter& e) + : BuildConfiguration (p, settings, e) + { + setValueIfVoid (getLibrarySearchPathValue(), "/usr/X11R6/lib/"); + } + + Value getArchitectureType() { return getValue (Ids::linuxArchitecture); } + var getArchitectureTypeVar() const { return config [Ids::linuxArchitecture]; } + + var getDefaultOptimisationLevel() const override { return var ((int) (isDebug() ? gccO0 : gccO3)); } + + void createConfigProperties (PropertyListBuilder& props) override + { + addGCCOptimisationProperty (props); + + static const char* const archNames[] = { "(Default)", "", "32-bit (-m32)", "64-bit (-m64)", "ARM v6", "ARM v7" }; + const var archFlags[] = { var(), var (String()), "-m32", "-m64", "-march=armv6", "-march=armv7" }; + + props.add (new ChoicePropertyComponent (getArchitectureType(), "Architecture", + StringArray (archNames, numElementsInArray (archNames)), + Array (archFlags, numElementsInArray (archFlags)))); + } + }; + + BuildConfiguration::Ptr createBuildConfig (const ValueTree& tree) const override + { + return new MakeBuildConfiguration (project, tree, *this); + } + +private: + //============================================================================== + void findAllFilesToCompile (const Project::Item& projectItem, Array& results) const + { + if (projectItem.isGroup()) + { + for (int i = 0; i < projectItem.getNumChildren(); ++i) + findAllFilesToCompile (projectItem.getChild(i), results); + } + else + { + if (projectItem.shouldBeCompiled()) + results.add (RelativePath (projectItem.getFile(), getTargetFolder(), RelativePath::buildTargetFolder)); + } + } + + void writeDefineFlags (OutputStream& out, const BuildConfiguration& config) const + { + StringPairArray defines; + defines.set ("LINUX", "1"); + + if (config.isDebug()) + { + defines.set ("DEBUG", "1"); + defines.set ("_DEBUG", "1"); + } + else + { + defines.set ("NDEBUG", "1"); + } + + out << createGCCPreprocessorFlags (mergePreprocessorDefs (defines, getAllPreprocessorDefs (config))); + } + + void writeHeaderPathFlags (OutputStream& out, const BuildConfiguration& config) const + { + StringArray searchPaths (extraSearchPaths); + searchPaths.addArray (config.getHeaderSearchPaths()); + + searchPaths.insert (0, "/usr/include/freetype2"); + searchPaths.insert (0, "/usr/include"); + + searchPaths = getCleanedStringArray (searchPaths); + + for (int i = 0; i < searchPaths.size(); ++i) + out << " -I " << escapeSpaces (FileHelpers::unixStylePath (replacePreprocessorTokens (config, searchPaths[i]))); + } + + void writeCppFlags (OutputStream& out, const BuildConfiguration& config) const + { + out << " CPPFLAGS := $(DEPFLAGS)"; + writeDefineFlags (out, config); + writeHeaderPathFlags (out, config); + out << newLine; + } + + void writeLinkerFlags (OutputStream& out, const BuildConfiguration& config) const + { + out << " LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR)"; + + { + StringArray flags (makefileExtraLinkerFlags); + + if (makefileIsDLL) + flags.add ("-shared"); + + if (! config.isDebug()) + flags.add ("-fvisibility=hidden"); + + if (flags.size() > 0) + out << " " << getCleanedStringArray (flags).joinIntoString (" "); + } + + out << config.getGCCLibraryPathFlags(); + + for (int i = 0; i < linuxLibs.size(); ++i) + out << " -l" << linuxLibs[i]; + + if (getProject().isConfigFlagEnabled ("JUCE_USE_CURL")) + out << " -lcurl"; + + StringArray libraries; + libraries.addTokens (getExternalLibrariesString(), ";", "\"'"); + libraries.removeEmptyStrings(); + + if (libraries.size() != 0) + out << " -l" << replacePreprocessorTokens (config, libraries.joinIntoString (" -l")).trim(); + + out << " " << replacePreprocessorTokens (config, getExtraLinkerFlagsString()).trim() + << newLine; + } + + void writeConfig (OutputStream& out, const BuildConfiguration& config) const + { + const String buildDirName ("build"); + const String intermediatesDirName (buildDirName + "/intermediate/" + config.getName()); + String outputDir (buildDirName); + + if (config.getTargetBinaryRelativePathString().isNotEmpty()) + { + RelativePath binaryPath (config.getTargetBinaryRelativePathString(), RelativePath::projectFolder); + outputDir = binaryPath.rebased (projectFolder, getTargetFolder(), RelativePath::buildTargetFolder).toUnixStyle(); + } + + out << "ifeq ($(CONFIG)," << escapeSpaces (config.getName()) << ")" << newLine; + out << " BINDIR := " << escapeSpaces (buildDirName) << newLine + << " LIBDIR := " << escapeSpaces (buildDirName) << newLine + << " OBJDIR := " << escapeSpaces (intermediatesDirName) << newLine + << " OUTDIR := " << escapeSpaces (outputDir) << newLine + << newLine + << " ifeq ($(TARGET_ARCH),)" << newLine + << " TARGET_ARCH := " << getArchFlags (config) << newLine + << " endif" << newLine + << newLine; + + writeCppFlags (out, config); + + out << " CFLAGS += $(CPPFLAGS) $(TARGET_ARCH)"; + + if (config.isDebug()) + out << " -g -ggdb"; + + if (makefileIsDLL) + out << " -fPIC"; + + out << " -O" << config.getGCCOptimisationFlag() + << (" " + replacePreprocessorTokens (config, getExtraCompilerFlagsString())).trimEnd() + << newLine; + + String cppStandardToUse (getCppStandardString()); + + if (cppStandardToUse.isEmpty()) + cppStandardToUse = "-std=c++11"; + + out << " CXXFLAGS += $(CFLAGS) " + << cppStandardToUse + << newLine; + + writeLinkerFlags (out, config); + + out << newLine; + + String targetName (replacePreprocessorTokens (config, config.getTargetBinaryNameString())); + + if (projectType.isStaticLibrary() || projectType.isDynamicLibrary()) + targetName = getLibbedFilename (targetName); + else + targetName = targetName.upToLastOccurrenceOf (".", false, false) + makefileTargetSuffix; + + out << " TARGET := " << escapeSpaces (targetName) << newLine; + + if (projectType.isStaticLibrary()) + out << " BLDCMD = ar -rcs $(OUTDIR)/$(TARGET) $(OBJECTS)" << newLine; + else + out << " BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)" << newLine; + + out << " CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR)" << newLine + << "endif" << newLine + << newLine; + } + + void writeObjects (OutputStream& out, const Array& files) const + { + out << "OBJECTS := \\" << newLine; + + for (int i = 0; i < files.size(); ++i) + if (shouldFileBeCompiledByDefault (files.getReference(i))) + out << " $(OBJDIR)/" << escapeSpaces (getObjectFileFor (files.getReference(i))) << " \\" << newLine; + + out << newLine; + } + + void writeMakefile (OutputStream& out, const Array& files) const + { + 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 + << "DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)" << newLine + << newLine; + + out << "ifndef CONFIG" << newLine + << " CONFIG=" << escapeSpaces (getConfiguration(0)->getName()) << newLine + << "endif" << newLine + << newLine; + + for (ConstConfigIterator config (*this); config.next();) + writeConfig (out, *config); + + writeObjects (out, files); + + out << ".PHONY: clean" << newLine + << newLine; + + out << "$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES)" << newLine + << "\t@echo Linking " << projectName << newLine + << "\t-@mkdir -p $(BINDIR)" << newLine + << "\t-@mkdir -p $(LIBDIR)" << newLine + << "\t-@mkdir -p $(OUTDIR)" << newLine + << "\t@$(BLDCMD)" << newLine + << newLine; + + out << "clean:" << newLine + << "\t@echo Cleaning " << projectName << newLine + << "\t@$(CLEANCMD)" << newLine + << newLine; + + out << "strip:" << newLine + << "\t@echo Stripping " << projectName << newLine + << "\t-@strip --strip-unneeded $(OUTDIR)/$(TARGET)" << newLine + << newLine; + + for (int i = 0; i < files.size(); ++i) + { + if (shouldFileBeCompiledByDefault (files.getReference(i))) + { + jassert (files.getReference(i).getRoot() == RelativePath::buildTargetFolder); + + out << "$(OBJDIR)/" << escapeSpaces (getObjectFileFor (files.getReference(i))) + << ": " << escapeSpaces (files.getReference(i).toUnixStyle()) << newLine + << "\t-@mkdir -p $(OBJDIR)" << newLine + << "\t@echo \"Compiling " << files.getReference(i).getFileName() << "\"" << newLine + << (files.getReference(i).hasFileExtension ("c;s;S") ? "\t@$(CC) $(CFLAGS) -o \"$@\" -c \"$<\"" + : "\t@$(CXX) $(CXXFLAGS) -o \"$@\" -c \"$<\"") + << newLine << newLine; + } + } + + out << "-include $(OBJECTS:%.o=%.d)" << newLine; + } + + String getArchFlags (const BuildConfiguration& config) const + { + if (const MakeBuildConfiguration* makeConfig = dynamic_cast (&config)) + if (! makeConfig->getArchitectureTypeVar().isVoid()) + return makeConfig->getArchitectureTypeVar(); + + return "-march=native"; + } + + String getObjectFileFor (const RelativePath& file) const + { + return file.getFileNameWithoutExtension() + + "_" + String::toHexString (file.toUnixStyle().hashCode()) + ".o"; + } + + void initialiseDependencyPathValues() + { + vst2Path.referTo (Value (new DependencyPathValueSource (getSetting (Ids::vstFolder), + Ids::vst2Path, + TargetOS::linux))); + + vst3Path.referTo (Value (new DependencyPathValueSource (getSetting (Ids::vst3Folder), + Ids::vst3Path, + TargetOS::linux))); + } + + JUCE_DECLARE_NON_COPYABLE (MakefileProjectExporter) +}; 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 00000000..91468160 --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_XCode.h @@ -0,0 +1,2759 @@ +/* + ============================================================================== + + 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" +#include "jucer_TextWithDefaultPropertyComponent.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); + } + + void updateDeprecatedProjectSettingsInteractively() override + { + if (hasInvalidPostBuildScript()) + { + String alertWindowText = iOS ? "Your Xcode (iOS) Exporter settings use an invalid post-build script. Click 'Update' to remove it." + : "Your Xcode (OSX) Exporter settings use a pre-JUCE 4.2 post-build script to move the plug-in binaries to their plug-in install folders.\n\n" + "Since JUCE 4.2, this is instead done using \"AU/VST/VST2/AAX/RTAS Binary Location\" in the Xcode (OS X) configuration settings.\n\n" + "Click 'Update' to remove the script (otherwise your plug-in may not compile correctly)."; + + if (AlertWindow::showOkCancelBox (AlertWindow::WarningIcon, + "Project settings: " + project.getDocumentTitle(), + alertWindowText, "Update", "Cancel", nullptr, nullptr)) + getPostBuildScriptValue() = var(); + } + } + + bool hasInvalidPostBuildScript() const + { + // check whether the script is identical to the old one that the Introjucer used to auto-generate + return (MD5 (getPostBuildScript().toUTF8()).toHexString() == "265ac212a7e734c5bbd6150e1eae18a1"); + } + +protected: + //============================================================================== + class XcodeBuildConfiguration : public BuildConfiguration + { + public: + XcodeBuildConfiguration (Project& p, const ValueTree& t, const bool isIOS, const ProjectExporter& e) + : BuildConfiguration (p, t, e), + iOS (isIOS), + osxSDKVersion (config, Ids::osxSDK, nullptr, "default"), + osxDeploymentTarget (config, Ids::osxCompatibility, nullptr, "default"), + iosDeploymentTarget (config, Ids::iosCompatibility, nullptr, "default"), + osxArchitecture (config, Ids::osxArchitecture, nullptr, "default"), + customXcodeFlags (config, Ids::customXcodeFlags, nullptr), + cppLanguageStandard (config, Ids::cppLanguageStandard, nullptr), + cppStandardLibrary (config, Ids::cppLibType, nullptr), + codeSignIdentity (config, Ids::codeSigningIdentity, nullptr, iOS ? "iPhone Developer" : "Mac Developer"), + fastMathEnabled (config, Ids::fastMath, nullptr), + linkTimeOptimisationEnabled (config, Ids::linkTimeOptimisation, nullptr), + stripLocalSymbolsEnabled (config, Ids::stripLocalSymbols, nullptr), + vstBinaryLocation (config, Ids::xcodeVstBinaryLocation, nullptr, "$(HOME)/Library/Audio/Plug-Ins/VST/"), + vst3BinaryLocation (config, Ids::xcodeVst3BinaryLocation, nullptr, "$(HOME)/Library/Audio/Plug-Ins/VST3/"), + auBinaryLocation (config, Ids::xcodeAudioUnitBinaryLocation, nullptr, "$(HOME)/Library/Audio/Plug-Ins/Components/"), + rtasBinaryLocation (config, Ids::xcodeRtasBinaryLocation, nullptr, "/Library/Application Support/Digidesign/Plug-Ins/"), + aaxBinaryLocation (config, Ids::xcodeAaxBinaryLocation, nullptr, "/Library/Application Support/Avid/Audio/Plug-Ins/") + { + } + + //========================================================================== + bool iOS; + + CachedValue osxSDKVersion, osxDeploymentTarget, iosDeploymentTarget, osxArchitecture, + customXcodeFlags, cppLanguageStandard, cppStandardLibrary, codeSignIdentity; + CachedValue fastMathEnabled, linkTimeOptimisationEnabled, stripLocalSymbolsEnabled; + CachedValue vstBinaryLocation, vst3BinaryLocation, auBinaryLocation, rtasBinaryLocation, aaxBinaryLocation; + + //========================================================================== + var getDefaultOptimisationLevel() const override { return var ((int) (isDebug() ? gccO0 : gccO3)); } + + void createConfigProperties (PropertyListBuilder& props) override + { + addXcodePluginInstallPathProperties (props); + 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 (iosDeploymentTarget.getPropertyAsValue(), "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 (osxSDKVersion.getPropertyAsValue(), "OSX Base SDK Version", sdkVersionNames, versionValues), + "The version of OSX to link against in the XCode build."); + + props.add (new ChoicePropertyComponent (osxDeploymentTarget.getPropertyAsValue(), "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 (osxArchitecture.getPropertyAsValue(), "OSX Architecture", + StringArray (osxArch), Array (osxArchValues)), + "The type of OSX binary that will be produced."); + } + + props.add (new TextPropertyComponent (customXcodeFlags.getPropertyAsValue(), "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 (cppLanguageStandard.getPropertyAsValue(), "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 (cppStandardLibrary.getPropertyAsValue(), "C++ Library", StringArray (cppLibNames), cppLibValues), + "The type of C++ std lib that will be linked."); + + props.add (new TextWithDefaultPropertyComponent (codeSignIdentity, "Code-signing Identity", 1024), + "The name of a code-signing identity for Xcode to apply."); + + props.add (new BooleanPropertyComponent (fastMathEnabled.getPropertyAsValue(), "Relax IEEE compliance", "Enabled"), + "Enable this to use FAST_MATH non-IEEE mode. (Warning: this can have unexpected results!)"); + + props.add (new BooleanPropertyComponent (linkTimeOptimisationEnabled.getPropertyAsValue(), "Link-Time Optimisation", "Enabled"), + "Enable this to perform link-time code generation. This is recommended for release builds."); + + props.add (new BooleanPropertyComponent (stripLocalSymbolsEnabled.getPropertyAsValue(), "Strip local symbols", "Enabled"), + "Enable this to strip any locally defined symbols resulting in a smaller binary size. Enabling this will also remove any function names from crash logs. Must be disabled for static library projects."); + } + + private: + //========================================================================== + void addXcodePluginInstallPathProperties (PropertyListBuilder& props) + { + if (project.shouldBuildVST().getValue()) + props.add (new TextWithDefaultPropertyComponent (vstBinaryLocation, "VST Binary location", 1024), + "The folder in which the compiled VST binary should be placed."); + + if (project.shouldBuildVST3().getValue()) + props.add (new TextWithDefaultPropertyComponent (vst3BinaryLocation, "VST3 Binary location", 1024), + "The folder in which the compiled VST3 binary should be placed."); + + if (project.shouldBuildAU().getValue()) + props.add (new TextWithDefaultPropertyComponent (auBinaryLocation, "AU Binary location", 1024), + "The folder in which the compiled AU binary should be placed."); + + if (project.shouldBuildRTAS().getValue()) + props.add (new TextWithDefaultPropertyComponent (rtasBinaryLocation, "RTAS Binary location", 1024), + "The folder in which the compiled RTAS binary should be placed."); + + if (project.shouldBuildAAX().getValue()) + props.add (new TextWithDefaultPropertyComponent (aaxBinaryLocation, "AAX Binary location", 1024), + "The folder in which the compiled AAX binary should be placed."); + } + }; + + 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"; + 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"; + xcodeCopyToProductInstallPathAfterBuild = false; + break; + + case StaticLibrary: + xcodeIsBundle = false; + xcodeIsExecutable = false; + xcodeCreatePList = false; + xcodeFileType = "archive.ar"; + xcodeProductType = "com.apple.product-type.library.static"; + 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"; + 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"; + 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"; + 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"; + 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"; + 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"; + 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"; + 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"; + xcodeCopyToProductInstallPathAfterBuild = true; + + addExtraRTASTargetSettings(); + break; + + case SharedCodeTarget: + xcodeIsBundle = false; + xcodeIsExecutable = false; + xcodeCreatePList = false; + xcodeFileType = "archive.ar"; + xcodeProductType = "com.apple.product-type.library.static"; + 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, 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.osxArchitecture.get()); + 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.linkTimeOptimisationEnabled.get()) + s.add ("LLVM_LTO = YES"); + + if (config.fastMathEnabled.get()) + s.add ("GCC_FAST_MATH = YES"); + + const String extraFlags (owner.replacePreprocessorTokens (config, owner.getExtraCompilerFlagsString()).trim()); + if (extraFlags.isNotEmpty()) + s.add ("OTHER_CPLUSPLUSFLAGS = \"" + extraFlags + "\""); + + String installPath = getInstallPathForConfiguration (config); + + if (installPath.isNotEmpty()) + { + s.add ("INSTALL_PATH = \"" + installPath + "\""); + + 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 + "\""); + + String configurationBuildDir = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + + if (config.getTargetBinaryRelativePathString().isNotEmpty()) + { + // a target's position can either be defined via installPath + xcodeCopyToProductInstallPathAfterBuild + // (= for audio plug-ins) or using a custom binary path (for everything else), but not both (= conflict!) + jassert (! xcodeCopyToProductInstallPathAfterBuild); + + RelativePath binaryPath (config.getTargetBinaryRelativePathString(), RelativePath::projectFolder); + configurationBuildDir = sanitisePath (binaryPath.rebased (owner.projectFolder, owner.getTargetFolder(), RelativePath::buildTargetFolder) + .toUnixStyle()); + } + + s.add ("CONFIGURATION_BUILD_DIR = " + addQuotesIfRequired (configurationBuildDir)); + + 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.osxSDKVersion.get()); + const String sdkCompat (config.osxDeploymentTarget.get()); + + 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.codeSignIdentity.isUsingDefault()) + s.add ("CODE_SIGN_IDENTITY = " + config.codeSignIdentity.get().quoted()); + + if (config.cppLanguageStandard.get().isNotEmpty()) + s.add ("CLANG_CXX_LANGUAGE_STANDARD = " + config.cppLanguageStandard.get().quoted()); + + if (config.cppStandardLibrary.get().isNotEmpty()) + s.add ("CLANG_CXX_LIBRARY = " + config.cppStandardLibrary.get().quoted()); + + s.add ("COMBINE_HIDPI_IMAGES = YES"); + + { + StringArray linkerFlags, librarySearchPaths; + getLinkerSettings (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 && type != Target::StaticLibrary && type != Target::DynamicLibrary + && config.stripLocalSymbolsEnabled.get()) + { + s.add ("STRIPFLAGS = \"-x\""); + s.add ("DEPLOYMENT_POSTPROCESSING = YES"); + s.add ("SEPARATE_STRIP = YES"); + } + + if (type == Target::SharedCodeTarget) + defines.set ("JUCE_SHARED_CODE", "1"); + + if (owner.project.getProjectType().isAudioPlugin() && type == Target::AudioUnitv3PlugIn && owner.isOSX()) + s.add (String ("CODE_SIGN_ENTITLEMENTS = \"") + owner.getEntitlementsFileName() + 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.customXcodeFlags.get(), ",", "\"'"); + + return getCleanedStringArray (s); + } + + String getInstallPathForConfiguration (const XcodeBuildConfiguration& config) const + { + switch (type) + { + case GUIApp: return "$(HOME)/Applications"; + case ConsoleApp: return "/usr/bin"; + case VSTPlugIn: return config.vstBinaryLocation.get(); + case VST3PlugIn: return config.vst3BinaryLocation.get(); + case AudioUnitPlugIn: return config.auBinaryLocation.get(); + case RTASPlugIn: return config.rtasBinaryLocation.get(); + case AAXPlugIn: return config.aaxBinaryLocation.get(); + case SharedCodeTarget: return owner.isiOS() ? "@executable_path/Frameworks" : "@executable_path/../Frameworks"; + default: return String(); + } + } + + //============================================================================== + void getLinkerSettings (const BuildConfiguration& config, StringArray& flags, StringArray& librarySearchPaths) const + { + if (xcodeIsBundle) + flags.add ("-bundle"); + + const Array& extraLibs = config.isDebug() ? xcodeExtraLibrariesDebug + : xcodeExtraLibrariesRelease; + + for (auto& lib : extraLibs) + { + flags.add (getLinkerFlagForLib (lib.getFileNameWithoutExtension())); + librarySearchPaths.add (owner.getSearchPathForStaticLibrary (lib)); + } + + if (owner.project.getProjectType().isAudioPlugin() && type != Target::SharedCodeTarget) + { + if (owner.getTargetOfType (Target::SharedCodeTarget) != nullptr) + { + String productName (getLibbedFilename (owner.replacePreprocessorTokens (config, config.getTargetBinaryNameString()))); + + RelativePath sharedCodelib (productName, RelativePath::buildTargetFolder); + flags.add (getLinkerFlagForLib (sharedCodelib.getFileNameWithoutExtension())); + } + } + + flags.add (owner.replacePreprocessorTokens (config, owner.getExtraLinkerFlagsString())); + flags.add (owner.getExternalLibraryFlags (config)); + + StringArray libs (owner.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 addQuotesIfRequired (const String& s) + { + return s.containsAnyOf (" $") ? 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); + + StringArray sourceFiles (target.sourceIDs); + + if (target.type == Target::SharedCodeTarget + || (! project.getProjectType().isAudioPlugin())) + sourceFiles.addArray (sourceIDs); + + target.addBuildPhase ("PBXSourcesBuildPhase", sourceFiles); + + if (! projectType.isStaticLibrary() && target.type != Target::SharedCodeTarget) + 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); + + 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.replace (" ", "\\\\ ").upToLastOccurrenceOf (".", false, false); + } + + String getSearchPathForStaticLibrary (const RelativePath& library) const + { + 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; + } + + return 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.osxArchitecture.get() == osxArch_Default || config.osxArchitecture.get().isEmpty()) + s.add ("ONLY_ACTIVE_ARCH = YES"); + } + + if (iOS) + { + s.add ("\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = " + config.codeSignIdentity.get().quoted()); + s.add ("SDKROOT = iphoneos"); + s.add ("TARGETED_DEVICE_FAMILY = \"1,2\""); + + const String iosVersion (config.iosDeploymentTarget.get()); + if (iosVersion.isNotEmpty() && iosVersion != osxVersionDefault) + s.add ("IPHONEOS_DEPLOYMENT_TARGET = " + iosVersion); + } + else + { + if (! config.codeSignIdentity.isUsingDefault() || getIosDevelopmentTeamIDString().isNotEmpty()) + s.add ("\"CODE_SIGN_IDENTITY\" = " + config.codeSignIdentity.get().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(), ",;", "\"'"); + xcodeFrameworks.trim(); + + 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); + } + } + } + + 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) + { + 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 addRezFile (const RelativePath& path) const + { + const String pathAsString (path.toUnixStyle()); + const String refID (addFileReference (path.toUnixStyle())); + + Target* auTarget = getTargetOfType (Target::AudioUnitPlugIn); + + if (auTarget == nullptr) + return String(); + + String rezFileID = addBuildFile (pathAsString, refID, false, false, auTarget); + auTarget->rezFileIDs.add (rezFileID); + + 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); + + if (path.hasFileExtension (".r") && LibraryModule::CompileUnit::hasSuffix (projectItem.getFile(), "_AU")) + return addRezFile (path); + + 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; + + xcodeTarget = getTargetOfType (targetType); + } + + 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/Projucer/Source/Project Saving/jucer_ProjectExporter.cpp b/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.cpp new file mode 100644 index 00000000..ceb99060 --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.cpp @@ -0,0 +1,849 @@ +/* + ============================================================================== + + 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" + +#include "jucer_ProjectExport_Make.h" +#include "jucer_ProjectExport_MSVC.h" +#include "jucer_ProjectExport_XCode.h" +#include "jucer_ProjectExport_AndroidBase.h" +#include "jucer_ProjectExport_AndroidStudio.h" +#include "jucer_ProjectExport_AndroidAnt.h" +#include "jucer_ProjectExport_CodeBlocks.h" + +//============================================================================== +static void addType (Array& list, + const char* name, const void* iconData, int iconDataSize) +{ + ProjectExporter::ExporterTypeInfo type = { name, iconData, iconDataSize }; + list.add (type); +} + +Array ProjectExporter::getExporterTypes() +{ + Array types; + + addType (types, XCodeProjectExporter::getNameMac(), BinaryData::projectIconXcode_png, BinaryData::projectIconXcode_pngSize); + addType (types, XCodeProjectExporter::getNameiOS(), BinaryData::projectIconXcodeIOS_png, BinaryData::projectIconXcodeIOS_pngSize); + addType (types, MSVCProjectExporterVC2015::getName(), BinaryData::projectIconVisualStudio_png, BinaryData::projectIconVisualStudio_pngSize); + addType (types, MSVCProjectExporterVC2013::getName(), BinaryData::projectIconVisualStudio_png, BinaryData::projectIconVisualStudio_pngSize); + addType (types, MSVCProjectExporterVC2012::getName(), BinaryData::projectIconVisualStudio_png, BinaryData::projectIconVisualStudio_pngSize); + addType (types, MSVCProjectExporterVC2010::getName(), BinaryData::projectIconVisualStudio_png, BinaryData::projectIconVisualStudio_pngSize); + addType (types, MSVCProjectExporterVC2008::getName(), BinaryData::projectIconVisualStudio_png, BinaryData::projectIconVisualStudio_pngSize); + addType (types, MSVCProjectExporterVC2005::getName(), BinaryData::projectIconVisualStudio_png, BinaryData::projectIconVisualStudio_pngSize); + addType (types, MakefileProjectExporter::getNameLinux(), BinaryData::projectIconLinuxMakefile_png, BinaryData::projectIconLinuxMakefile_pngSize); + addType (types, AndroidStudioProjectExporter::getName(), BinaryData::projectIconAndroid_png, BinaryData::projectIconAndroid_pngSize); + addType (types, AndroidAntProjectExporter::getName(), BinaryData::projectIconAndroid_png, BinaryData::projectIconAndroid_pngSize); + addType (types, CodeBlocksProjectExporter::getNameWindows(), BinaryData::projectIconCodeblocks_png, BinaryData::projectIconCodeblocks_pngSize); + addType (types, CodeBlocksProjectExporter::getNameLinux(), BinaryData::projectIconCodeblocks_png, BinaryData::projectIconCodeblocks_pngSize); + + return types; +} + +ProjectExporter* ProjectExporter::createNewExporter (Project& project, const int index) +{ + ProjectExporter* exp = nullptr; + + switch (index) + { + case 0: exp = new XCodeProjectExporter (project, ValueTree (XCodeProjectExporter ::getValueTreeTypeName (false)), false); break; + case 1: exp = new XCodeProjectExporter (project, ValueTree (XCodeProjectExporter ::getValueTreeTypeName (true)), true); break; + case 2: exp = new MSVCProjectExporterVC2015 (project, ValueTree (MSVCProjectExporterVC2015 ::getValueTreeTypeName())); break; + case 3: exp = new MSVCProjectExporterVC2013 (project, ValueTree (MSVCProjectExporterVC2013 ::getValueTreeTypeName())); break; + case 4: exp = new MSVCProjectExporterVC2012 (project, ValueTree (MSVCProjectExporterVC2012 ::getValueTreeTypeName())); break; + case 5: exp = new MSVCProjectExporterVC2010 (project, ValueTree (MSVCProjectExporterVC2010 ::getValueTreeTypeName())); break; + case 6: exp = new MSVCProjectExporterVC2008 (project, ValueTree (MSVCProjectExporterVC2008 ::getValueTreeTypeName())); break; + case 7: exp = new MSVCProjectExporterVC2005 (project, ValueTree (MSVCProjectExporterVC2005 ::getValueTreeTypeName())); break; + case 8: exp = new MakefileProjectExporter (project, ValueTree (MakefileProjectExporter ::getValueTreeTypeName())); break; + case 9: exp = new AndroidStudioProjectExporter (project, ValueTree (AndroidStudioProjectExporter ::getValueTreeTypeName())); break; + case 10: exp = new AndroidAntProjectExporter (project, ValueTree (AndroidAntProjectExporter ::getValueTreeTypeName())); break; + case 11: exp = new CodeBlocksProjectExporter (project, ValueTree (CodeBlocksProjectExporter ::getValueTreeTypeName (CodeBlocksProjectExporter::windowsTarget)), CodeBlocksProjectExporter::windowsTarget); break; + case 12: exp = new CodeBlocksProjectExporter (project, ValueTree (CodeBlocksProjectExporter ::getValueTreeTypeName (CodeBlocksProjectExporter::linuxTarget)), CodeBlocksProjectExporter::linuxTarget); break; + default: jassertfalse; return 0; + } + + exp->createDefaultConfigs(); + exp->createDefaultModulePaths(); + + return exp; +} + +StringArray ProjectExporter::getExporterNames() +{ + StringArray s; + Array types (getExporterTypes()); + + for (int i = 0; i < types.size(); ++i) + s.add (types.getReference(i).name); + + return s; +} + +String ProjectExporter::getCurrentPlatformExporterName() +{ + #if JUCE_MAC + return XCodeProjectExporter::getNameMac(); + #elif JUCE_WINDOWS + return MSVCProjectExporterVC2010::getName(); + #elif JUCE_LINUX + return MakefileProjectExporter::getNameLinux(); + #else + #error // huh? + #endif +} + +ProjectExporter* ProjectExporter::createNewExporter (Project& project, const String& name) +{ + return createNewExporter (project, getExporterNames().indexOf (name)); +} + +ProjectExporter* ProjectExporter::createExporter (Project& project, const ValueTree& settings) +{ + ProjectExporter* exp = MSVCProjectExporterVC2005 ::createForSettings (project, settings); + if (exp == nullptr) exp = MSVCProjectExporterVC2008 ::createForSettings (project, settings); + if (exp == nullptr) exp = MSVCProjectExporterVC2010 ::createForSettings (project, settings); + if (exp == nullptr) exp = MSVCProjectExporterVC2012 ::createForSettings (project, settings); + if (exp == nullptr) exp = MSVCProjectExporterVC2013 ::createForSettings (project, settings); + if (exp == nullptr) exp = MSVCProjectExporterVC2015 ::createForSettings (project, settings); + if (exp == nullptr) exp = XCodeProjectExporter ::createForSettings (project, settings); + if (exp == nullptr) exp = MakefileProjectExporter ::createForSettings (project, settings); + if (exp == nullptr) exp = AndroidStudioProjectExporter ::createForSettings (project, settings); + if (exp == nullptr) exp = AndroidAntProjectExporter ::createForSettings (project, settings); + if (exp == nullptr) exp = CodeBlocksProjectExporter ::createForSettings (project, settings); + + jassert (exp != nullptr); + return exp; +} + +bool ProjectExporter::canProjectBeLaunched (Project* project) +{ + if (project != nullptr) + { + const char* types[] = + { + #if JUCE_MAC + XCodeProjectExporter::getValueTreeTypeName (false), + XCodeProjectExporter::getValueTreeTypeName (true), + #elif JUCE_WINDOWS + MSVCProjectExporterVC2005::getValueTreeTypeName(), + MSVCProjectExporterVC2008::getValueTreeTypeName(), + MSVCProjectExporterVC2010::getValueTreeTypeName(), + MSVCProjectExporterVC2012::getValueTreeTypeName(), + MSVCProjectExporterVC2013::getValueTreeTypeName(), + MSVCProjectExporterVC2015::getValueTreeTypeName(), + #elif JUCE_LINUX + // (this doesn't currently launch.. not really sure what it would do on linux) + //MakefileProjectExporter::getValueTreeTypeName(), + #endif + AndroidStudioProjectExporter::getValueTreeTypeName(), + + nullptr + }; + + for (const char** type = types; *type != nullptr; ++type) + if (project->getExporters().getChildWithName (*type).isValid()) + return true; + } + + return false; +} + +//============================================================================== +ProjectExporter::ProjectExporter (Project& p, const ValueTree& state) + : makefileIsDLL (false), + msvcIsDLL (false), + msvcIsWindowsSubsystem (true), + settings (state), + project (p), + projectType (p.getProjectType()), + projectName (p.getTitle()), + projectFolder (p.getProjectFolder()), + modulesGroup (nullptr) +{ +} + +ProjectExporter::~ProjectExporter() +{ +} + +void ProjectExporter::updateDeprecatedProjectSettingsInteractively() {} + +File ProjectExporter::getTargetFolder() const +{ + return project.resolveFilename (getTargetLocationString()); +} + +RelativePath ProjectExporter::rebaseFromProjectFolderToBuildTarget (const RelativePath& path) const +{ + return path.rebased (project.getProjectFolder(), getTargetFolder(), RelativePath::buildTargetFolder); +} + +bool ProjectExporter::shouldFileBeCompiledByDefault (const RelativePath& file) const +{ + return file.hasFileExtension (cOrCppFileExtensions) + || 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."); + + 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, " + "or new-lines to separate the items - to include a space or comma in a definition, precede it with a backslash."); + + props.add (new TextPropertyComponent (getExtraCompilerFlags(), "Extra compiler flags", 8192, 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 (getExtraLinkerFlags(), "Extra linker flags", 8192, true), + "Extra command-line flags to be passed to the linker. You might want to use this for adding additional libraries. " + "This string can contain references to preprocessor definitions in the form ${NAME_OF_VALUE}, which will be replaced with their values."); + + props.add (new TextPropertyComponent (getExternalLibraries(), "External libraries to link", 8192, true), + "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."); + + createIconProperties (props); + + createExporterProperties (props); + + props.add (new TextPropertyComponent (getUserNotes(), "Notes", 32768, true), + "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 can be an absolute path, or a path relative to the Projucer project file."); + } + + 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 can be an absolute path, or a path relative to the Projucer project file."); + } + + 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 can be an absolute path, or a path relative to the Projucer project file."); + } + + 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 can be an absolute path, or a path relative to the Projucer project file."); + } +} + +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()) + { + if (project.shouldBuildVST().getValue()) + makefileTargetSuffix = ".so"; + + if (project.shouldBuildVST().getValue() || project.isVSTPluginHost()) + addVSTFolderToPath (false); + } + + if (supportsVST3()) + { + if (project.shouldBuildVST3().getValue()) + makefileTargetSuffix = ".so"; + + if (project.shouldBuildVST3().getValue() || project.isVST3PluginHost()) + 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(), + parsePreprocessorDefs (getExporterPreprocessorDefsString()))); + addDefaultPreprocessorDefs (defs); + return defs; +} + +StringPairArray ProjectExporter::getAllPreprocessorDefs() const +{ + StringPairArray defs (mergePreprocessorDefs (project.getPreprocessorDefs(), + parsePreprocessorDefs (getExporterPreprocessorDefsString()))); + addDefaultPreprocessorDefs (defs); + return defs; +} + +void ProjectExporter::addDefaultPreprocessorDefs (StringPairArray& defs) const +{ + defs.set (getExporterIdentifierMacro(), "1"); + defs.set ("JUCE_APP_VERSION", project.getVersionString()); + defs.set ("JUCE_APP_VERSION_HEX", project.getVersionAsHex()); +} + +String ProjectExporter::replacePreprocessorTokens (const ProjectExporter::BuildConfiguration& config, const String& sourceString) const +{ + return replacePreprocessorDefs (getAllPreprocessorDefs (config), sourceString); +} + +void ProjectExporter::copyMainGroupFromProject() +{ + jassert (itemGroups.size() == 0); + itemGroups.add (project.getMainGroup().createCopy()); +} + +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__", true)); + modulesGroup = &(itemGroups.getReference (itemGroups.size() - 1)); + } + + return *modulesGroup; +} + +void ProjectExporter::addToExtraSearchPaths (const RelativePath& pathFromProjectFolder, int index) +{ + RelativePath localPath (rebaseFromProjectFolderToBuildTarget (pathFromProjectFolder)); + + const String path (isVisualStudio() ? localPath.toWindowsStyle() : localPath.toUnixStyle()); + + if (! extraSearchPaths.contains (path)) + extraSearchPaths.insert (index, path); +} + +Value ProjectExporter::getPathForModuleValue (const String& moduleID) +{ + UndoManager* um = project.getUndoManagerFor (settings); + + ValueTree paths (settings.getOrCreateChildWithName (Ids::MODULEPATHS, um)); + ValueTree m (paths.getChildWithProperty (Ids::ID, moduleID)); + + if (! m.isValid()) + { + m = ValueTree (Ids::MODULEPATH); + m.setProperty (Ids::ID, moduleID, um); + paths.addChild (m, -1, um); + } + + return m.getPropertyAsValue (Ids::path, um); +} + +String ProjectExporter::getPathForModuleString (const String& moduleID) const +{ + return settings.getChildWithName (Ids::MODULEPATHS) + .getChildWithProperty (Ids::ID, moduleID) [Ids::path].toString(); +} + +void ProjectExporter::removePathForModule (const String& moduleID) +{ + ValueTree paths (settings.getChildWithName (Ids::MODULEPATHS)); + ValueTree m (paths.getChildWithProperty (Ids::ID, moduleID)); + paths.removeChild (m, project.getUndoManagerFor (settings)); +} + +RelativePath ProjectExporter::getModuleFolderRelativeToProject (const String& moduleID) const +{ + if (project.getModules().shouldCopyModuleFilesLocally (moduleID).getValue()) + return RelativePath (project.getRelativePathForFile (project.getLocalModuleFolder (moduleID)), + RelativePath::projectFolder); + + String path (getPathForModuleString (moduleID)); + + if (path.isEmpty()) + return getLegacyModulePath (moduleID).getChildFile (moduleID); + + return RelativePath (path, RelativePath::projectFolder).getChildFile (moduleID); +} + +String ProjectExporter::getLegacyModulePath() const +{ + return getSettingString ("juceFolder"); +} + +RelativePath ProjectExporter::getLegacyModulePath (const String& moduleID) const +{ + if (project.getModules().state.getChildWithProperty (Ids::ID, moduleID) ["useLocalCopy"]) + return RelativePath (project.getRelativePathForFile (project.getGeneratedCodeFolder() + .getChildFile ("modules") + .getChildFile (moduleID)), RelativePath::projectFolder); + + String oldJucePath (getLegacyModulePath()); + + if (oldJucePath.isEmpty()) + return RelativePath(); + + RelativePath p (oldJucePath, RelativePath::projectFolder); + if (p.getFileName() != "modules") + p = p.getChildFile ("modules"); + + return p.getChildFile (moduleID); +} + +void ProjectExporter::updateOldModulePaths() +{ + String oldPath (getLegacyModulePath()); + + if (oldPath.isNotEmpty()) + { + for (int i = project.getModules().getNumModules(); --i >= 0;) + { + String modID (project.getModules().getModuleID(i)); + getPathForModuleValue (modID) = getLegacyModulePath (modID).getParentDirectory().toUnixStyle(); + } + + settings.removeProperty ("juceFolder", nullptr); + } +} + +static bool areCompatibleExporters (const ProjectExporter& p1, const ProjectExporter& p2) +{ + return (p1.isVisualStudio() && p2.isVisualStudio()) + || (p1.isXcode() && p2.isXcode()) + || (p1.isMakefile() && p2.isMakefile()) + || (p1.isAndroid() && p2.isAndroid()) + || (p1.isCodeBlocks() && p2.isCodeBlocks() && p1.isWindows() != p2.isLinux()); +} + +void ProjectExporter::createDefaultModulePaths() +{ + for (Project::ExporterIterator exporter (project); exporter.next();) + { + if (areCompatibleExporters (*this, *exporter)) + { + for (int i = project.getModules().getNumModules(); --i >= 0;) + { + String modID (project.getModules().getModuleID(i)); + getPathForModuleValue (modID) = exporter->getPathForModuleValue (modID).getValue(); + } + + return; + } + } + + for (Project::ExporterIterator exporter (project); exporter.next();) + { + if (exporter->canLaunchProject()) + { + for (int i = project.getModules().getNumModules(); --i >= 0;) + { + String modID (project.getModules().getModuleID(i)); + getPathForModuleValue (modID) = exporter->getPathForModuleValue (modID).getValue(); + } + + return; + } + } + + for (int i = project.getModules().getNumModules(); --i >= 0;) + { + String modID (project.getModules().getModuleID(i)); + getPathForModuleValue (modID) = "../../juce"; + } +} + +//============================================================================== +ValueTree ProjectExporter::getConfigurations() const +{ + return settings.getChildWithName (Ids::CONFIGURATIONS); +} + +int ProjectExporter::getNumConfigurations() const +{ + return getConfigurations().getNumChildren(); +} + +ProjectExporter::BuildConfiguration::Ptr ProjectExporter::getConfiguration (int index) const +{ + return createBuildConfig (getConfigurations().getChild (index)); +} + +bool ProjectExporter::hasConfigurationNamed (const String& nameToFind) const +{ + const ValueTree configs (getConfigurations()); + for (int i = configs.getNumChildren(); --i >= 0;) + if (configs.getChild(i) [Ids::name].toString() == nameToFind) + return true; + + return false; +} + +String ProjectExporter::getUniqueConfigName (String nm) const +{ + String nameRoot (nm); + while (CharacterFunctions::isDigit (nameRoot.getLastCharacter())) + nameRoot = nameRoot.dropLastCharacters (1); + + nameRoot = nameRoot.trim(); + + int suffix = 2; + while (hasConfigurationNamed (name)) + nm = nameRoot + " " + String (suffix++); + + return nm; +} + +void ProjectExporter::addNewConfiguration (const BuildConfiguration* configToCopy) +{ + const String configName (getUniqueConfigName (configToCopy != nullptr ? configToCopy->config [Ids::name].toString() + : "New Build Configuration")); + + ValueTree configs (getConfigurations()); + + if (! configs.isValid()) + { + settings.addChild (ValueTree (Ids::CONFIGURATIONS), 0, project.getUndoManagerFor (settings)); + configs = getConfigurations(); + } + + ValueTree newConfig (Ids::CONFIGURATION); + if (configToCopy != nullptr) + newConfig = configToCopy->config.createCopy(); + + newConfig.setProperty (Ids::name, configName, 0); + + configs.addChild (newConfig, -1, project.getUndoManagerFor (configs)); +} + +void ProjectExporter::BuildConfiguration::removeFromExporter() +{ + ValueTree configs (config.getParent()); + configs.removeChild (config, project.getUndoManagerFor (configs)); +} + +void ProjectExporter::createDefaultConfigs() +{ + settings.getOrCreateChildWithName (Ids::CONFIGURATIONS, nullptr); + + for (int i = 0; i < 2; ++i) + { + addNewConfiguration (nullptr); + BuildConfiguration::Ptr config (getConfiguration (i)); + + const bool debugConfig = i == 0; + + config->getNameValue() = debugConfig ? "Debug" : "Release"; + config->isDebugValue() = debugConfig; + config->getOptimisationLevel() = config->getDefaultOptimisationLevel(); + config->getTargetBinaryName() = project.getProjectFilenameRoot(); + } +} + +Drawable* ProjectExporter::getBigIcon() const +{ + return project.getMainGroup().findItemWithID (settings [Ids::bigIcon]).loadAsImageFile(); +} + +Drawable* ProjectExporter::getSmallIcon() const +{ + return project.getMainGroup().findItemWithID (settings [Ids::smallIcon]).loadAsImageFile(); +} + +Image ProjectExporter::getBestIconForSize (int size, bool returnNullIfNothingBigEnough) const +{ + Drawable* im = nullptr; + + ScopedPointer im1 (getSmallIcon()); + ScopedPointer im2 (getBigIcon()); + + if (im1 != nullptr && im2 != nullptr) + { + if (im1->getWidth() >= size && im2->getWidth() >= size) + im = im1->getWidth() < im2->getWidth() ? im1 : im2; + else if (im1->getWidth() >= size) + im = im1; + else if (im2->getWidth() >= size) + im = im2; + } + else + { + im = im1 != nullptr ? im1 : im2; + } + + if (im == nullptr) + return Image(); + + if (returnNullIfNothingBigEnough && im->getWidth() < size && im->getHeight() < size) + return Image(); + + return rescaleImageForIcon (*im, size); +} + +Image ProjectExporter::rescaleImageForIcon (Drawable& d, const int size) +{ + if (DrawableImage* drawableImage = dynamic_cast (&d)) + { + Image im = SoftwareImageType().convert (drawableImage->getImage()); + + if (size == im.getWidth() && size == im.getHeight()) + return im; + + // (scale it down in stages for better resampling) + while (im.getWidth() > 2 * size && im.getHeight() > 2 * size) + im = im.rescaled (im.getWidth() / 2, + im.getHeight() / 2); + + Image newIm (Image::ARGB, size, size, true, SoftwareImageType()); + Graphics g (newIm); + g.drawImageWithin (im, 0, 0, size, size, + RectanglePlacement::centred | RectanglePlacement::onlyReduceInSize, false); + return newIm; + } + + Image im (Image::ARGB, size, size, true, SoftwareImageType()); + Graphics g (im); + d.drawWithin (g, im.getBounds().toFloat(), RectanglePlacement::centred, 1.0f); + return im; +} + + +//============================================================================== +ProjectExporter::ConfigIterator::ConfigIterator (ProjectExporter& e) + : index (-1), exporter (e) +{ +} + +bool ProjectExporter::ConfigIterator::next() +{ + if (++index >= exporter.getNumConfigurations()) + return false; + + config = exporter.getConfiguration (index); + return true; +} + +ProjectExporter::ConstConfigIterator::ConstConfigIterator (const ProjectExporter& exporter_) + : index (-1), exporter (exporter_) +{ +} + +bool ProjectExporter::ConstConfigIterator::next() +{ + if (++index >= exporter.getNumConfigurations()) + return false; + + config = exporter.getConfiguration (index); + return true; +} + +//============================================================================== +ProjectExporter::BuildConfiguration::BuildConfiguration (Project& p, const ValueTree& configNode, const ProjectExporter& e) + : config (configNode), project (p), exporter (e) +{ +} + +ProjectExporter::BuildConfiguration::~BuildConfiguration() +{ +} + +String ProjectExporter::BuildConfiguration::getGCCOptimisationFlag() const +{ + switch (getOptimisationLevelInt()) + { + case gccO0: return "0"; + case gccO1: return "1"; + case gccO2: return "2"; + case gccO3: return "3"; + case gccOs: return "s"; + case gccOfast: return "fast"; + default: break; + } + + return "0"; +} + +void ProjectExporter::BuildConfiguration::addGCCOptimisationProperty (PropertyListBuilder& props) +{ + static const char* optimisationLevels[] = { "-O0 (no optimisation)", + "-Os (minimise code size)", + "-O1 (fast)", + "-O2 (faster)", + "-O3 (fastest with safe optimisations)", + "-Ofast (uses aggressive optimisations)", + nullptr }; + + static const int optimisationLevelValues[] = { gccO0, + gccOs, + gccO1, + gccO2, + gccO3, + gccOfast, + 0 }; + + props.add (new ChoicePropertyComponent (getOptimisationLevel(), "Optimisation", + StringArray (optimisationLevels), + Array (optimisationLevelValues)), + "The optimisation level for this configuration"); +} + +void ProjectExporter::BuildConfiguration::createPropertyEditors (PropertyListBuilder& props) +{ + if (exporter.supportsUserDefinedConfigurations()) + props.add (new TextPropertyComponent (getNameValue(), "Name", 96, false), + "The name of this configuration."); + + props.add (new BooleanPropertyComponent (isDebugValue(), "Debug mode", "Debugging enabled"), + "If enabled, this means that the configuration should be built with debug symbols."); + + props.add (new TextPropertyComponent (getTargetBinaryName(), "Binary name", 256, false), + "The filename to use for the destination binary executable file. If you don't add a suffix to this name, " + "a suitable platform-specific suffix will be added automatically."); + + props.add (new TextPropertyComponent (getTargetBinaryRelativePath(), "Binary location", 1024, false), + "The folder in which the finished binary should be placed. Leave this blank to cause the binary to be placed " + "in its default location in the build folder."); + + props.addSearchPathProperty (getHeaderSearchPathValue(), "Header search paths", "Extra header search paths."); + props.addSearchPathProperty (getLibrarySearchPathValue(), "Extra library search paths", "Extra library search paths."); + + props.add (new TextPropertyComponent (getBuildConfigPreprocessorDefs(), "Preprocessor definitions", 32768, true), + "Extra preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace, commas, or " + "new-lines to separate the items - to include a space or comma in a definition, precede it with a backslash."); + + createConfigProperties (props); + + props.add (new TextPropertyComponent (getUserNotes(), "Notes", 32768, true), + "Extra comments: This field is not used for code or project generation, it's just a space where you can express your thoughts."); +} + +StringPairArray ProjectExporter::BuildConfiguration::getAllPreprocessorDefs() const +{ + return mergePreprocessorDefs (project.getPreprocessorDefs(), + parsePreprocessorDefs (getBuildConfigPreprocessorDefsString())); +} + +StringArray ProjectExporter::BuildConfiguration::getHeaderSearchPaths() const +{ + return getSearchPathsFromString (getHeaderSearchPathString()); +} + +StringArray ProjectExporter::BuildConfiguration::getLibrarySearchPaths() const +{ + return getSearchPathsFromString (getLibrarySearchPathString()); +} + +String ProjectExporter::BuildConfiguration::getGCCLibraryPathFlags() const +{ + String s; + const StringArray libraryPaths (getLibrarySearchPaths()); + + for (int i = 0; i < libraryPaths.size(); ++i) + s << " -L" << escapeSpaces (libraryPaths[i]); + + return s; +} + +String ProjectExporter::getExternalLibraryFlags (const BuildConfiguration& config) const +{ + StringArray libraries; + libraries.addTokens (getExternalLibrariesString(), ";\n", "\"'"); + libraries.removeEmptyStrings (true); + + if (libraries.size() != 0) + return replacePreprocessorTokens (config, "-l" + libraries.joinIntoString (" -l")).trim(); + + return String::empty; +} diff --git a/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.h new file mode 100644 index 00000000..b99519de --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.h @@ -0,0 +1,416 @@ +/* + ============================================================================== + + 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_PROJECTEXPORTER_H_INCLUDED +#define JUCER_PROJECTEXPORTER_H_INCLUDED + +#include "../Project/jucer_Project.h" +#include "../Project/jucer_ProjectType.h" +#include "../Application/jucer_GlobalPreferences.h" + +class ProjectSaver; + +//============================================================================== +class ProjectExporter +{ +public: + ProjectExporter (Project&, const ValueTree& settings); + virtual ~ProjectExporter(); + + struct ExporterTypeInfo + { + String name; + const void* iconData; + int iconDataSize; + + Image getIcon() const { return ImageCache::getFromMemory (iconData, iconDataSize); } + }; + + static StringArray getExporterNames(); + static Array getExporterTypes(); + + static ProjectExporter* createNewExporter (Project&, const int index); + static ProjectExporter* createNewExporter (Project&, const String& name); + static ProjectExporter* createExporter (Project&, const ValueTree& settings); + static bool canProjectBeLaunched (Project*); + + static String getCurrentPlatformExporterName(); + + //============================================================================== + // capabilities of exporter + virtual bool usesMMFiles() const = 0; + virtual void createExporterProperties (PropertyListBuilder&) = 0; + virtual bool canLaunchProject() = 0; + virtual bool launchProject() = 0; + 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 = 0; // false if exporter only supports two configs Debug and Release + virtual void updateDeprecatedProjectSettingsInteractively(); + + // 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; + + // 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 + return isOSX() || isAndroid(); + #elif JUCE_WINDOWS + return isWindows() || isAndroid(); + #elif JUCE_LINUX + return isLinux() || isAndroid(); + #else + #error + #endif + } + + //============================================================================== + String getName() const { return name; } + File getTargetFolder() const; + + Project& getProject() noexcept { return project; } + const Project& getProject() const noexcept { return project; } + + Value getSetting (const Identifier& nm) { return settings.getPropertyAsValue (nm, project.getUndoManagerFor (settings)); } + String getSettingString (const Identifier& nm) const { return settings [nm]; } + + Value getTargetLocationValue() { return getSetting (Ids::targetFolder); } + String getTargetLocationString() const { return getSettingString (Ids::targetFolder); } + + Value getExtraCompilerFlags() { return getSetting (Ids::extraCompilerFlags); } + String getExtraCompilerFlagsString() const { return getSettingString (Ids::extraCompilerFlags).replaceCharacters ("\r\n", " "); } + + Value getExtraLinkerFlags() { return getSetting (Ids::extraLinkerFlags); } + String getExtraLinkerFlagsString() const { return getSettingString (Ids::extraLinkerFlags).replaceCharacters ("\r\n", " "); } + + Value getExternalLibraries() { return getSetting (Ids::externalLibraries); } + String getExternalLibrariesString() const { return getSearchPathsFromString (getSettingString (Ids::externalLibraries)).joinIntoString (";"); } + + Value getUserNotes() { return getSetting (Ids::userNotes); } + + Value getVSTPathValue (bool isVST3) const { return isVST3 ? vst3Path : vst2Path; } + Value getRTASPathValue() const { return rtasPath; } + Value getAAXPathValue() const { return aaxPath; } + + // NB: this is the path to the parent "modules" folder that contains the named module, not the + // module folder itself. + Value getPathForModuleValue (const String& moduleID); + String getPathForModuleString (const String& moduleID) const; + void removePathForModule (const String& moduleID); + + RelativePath getLegacyModulePath (const String& moduleID) const; + String getLegacyModulePath() const; + + // Returns a path to the actual module folder itself + RelativePath getModuleFolderRelativeToProject (const String& moduleID) const; + void updateOldModulePaths(); + + RelativePath rebaseFromProjectFolderToBuildTarget (const RelativePath& path) const; + void addToExtraSearchPaths (const RelativePath& pathFromProjectFolder, int index = -1); + + Value getBigIconImageItemID() { return getSetting (Ids::bigIcon); } + Value getSmallIconImageItemID() { return getSetting (Ids::smallIcon); } + Drawable* getBigIcon() const; + Drawable* getSmallIcon() const; + Image getBestIconForSize (int size, bool returnNullIfNothingBigEnough) const; + + String getExporterIdentifierMacro() const + { + return "JUCER_" + settings.getType().toString() + "_" + + String::toHexString (getSettingString (Ids::targetFolder).hashCode()).toUpperCase(); + } + + // An exception that can be thrown by the create() method. + class SaveError + { + public: + SaveError (const String& error) : message (error) + {} + + SaveError (const File& fileThatFailedToWrite) + : message ("Can't write to the file: " + fileThatFailedToWrite.getFullPathName()) + {} + + String message; + }; + + void createPropertyEditors (PropertyListBuilder&); + void addSettingsForProjectType (const ProjectType&); + + //============================================================================== + void copyMainGroupFromProject(); + Array& getAllGroups() noexcept { jassert (itemGroups.size() > 0); return itemGroups; } + const Array& getAllGroups() const noexcept { jassert (itemGroups.size() > 0); return itemGroups; } + Project::Item& getModulesGroup(); + + //============================================================================== + String makefileTargetSuffix; + bool makefileIsDLL; + StringArray linuxLibs, makefileExtraLinkerFlags; + + //============================================================================== + String msvcTargetSuffix; + StringPairArray msvcExtraPreprocessorDefs; + bool msvcIsDLL, msvcIsWindowsSubsystem; + String msvcDelayLoadedDLLs; + StringArray mingwLibs; + + //============================================================================== + StringArray extraSearchPaths; + + //============================================================================== + class BuildConfiguration : public ReferenceCountedObject + { + public: + BuildConfiguration (Project& project, const ValueTree& configNode, const ProjectExporter&); + ~BuildConfiguration(); + + typedef ReferenceCountedObjectPtr Ptr; + + //============================================================================== + virtual void createConfigProperties (PropertyListBuilder&) = 0; + virtual var getDefaultOptimisationLevel() const = 0; + + //============================================================================== + Value getNameValue() { return getValue (Ids::name); } + String getName() const { return config [Ids::name]; } + + Value isDebugValue() { return getValue (Ids::isDebug); } + bool isDebug() const { return config [Ids::isDebug]; } + + Value getTargetBinaryName() { return getValue (Ids::targetName); } + String getTargetBinaryNameString() const { return config [Ids::targetName]; } + + // the path relative to the build folder in which the binary should go + Value getTargetBinaryRelativePath() { return getValue (Ids::binaryPath); } + String getTargetBinaryRelativePathString() const { return config [Ids::binaryPath]; } + + Value getOptimisationLevel() { return getValue (Ids::optimisation); } + int getOptimisationLevelInt() const { return config [Ids::optimisation]; } + String getGCCOptimisationFlag() const; + + Value getBuildConfigPreprocessorDefs() { return getValue (Ids::defines); } + String getBuildConfigPreprocessorDefsString() const { return config [Ids::defines]; } + StringPairArray getAllPreprocessorDefs() const; // includes inherited definitions + + Value getHeaderSearchPathValue() { return getValue (Ids::headerPath); } + String getHeaderSearchPathString() const { return config [Ids::headerPath]; } + StringArray getHeaderSearchPaths() const; + + Value getLibrarySearchPathValue() { return getValue (Ids::libraryPath); } + String getLibrarySearchPathString() const { return config [Ids::libraryPath]; } + StringArray getLibrarySearchPaths() const; + String getGCCLibraryPathFlags() const; + + Value getUserNotes() { return getValue (Ids::userNotes); } + + Value getValue (const Identifier& nm) { return config.getPropertyAsValue (nm, getUndoManager()); } + UndoManager* getUndoManager() const { return project.getUndoManagerFor (config); } + + void createPropertyEditors (PropertyListBuilder&); + void addGCCOptimisationProperty (PropertyListBuilder&); + void removeFromExporter(); + + //============================================================================== + ValueTree config; + Project& project; + const ProjectExporter& exporter; + + private: + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BuildConfiguration) + }; + + void addNewConfiguration (const BuildConfiguration* configToCopy); + bool hasConfigurationNamed (const String& name) const; + String getUniqueConfigName (String name) const; + + String getExternalLibraryFlags (const BuildConfiguration& config) const; + + //============================================================================== + struct ConfigIterator + { + ConfigIterator (ProjectExporter& exporter); + + bool next(); + + BuildConfiguration& operator*() const { return *config; } + BuildConfiguration* operator->() const { return config; } + + BuildConfiguration::Ptr config; + int index; + + private: + ProjectExporter& exporter; + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ConfigIterator) + }; + + struct ConstConfigIterator + { + ConstConfigIterator (const ProjectExporter& exporter); + + bool next(); + + const BuildConfiguration& operator*() const { return *config; } + const BuildConfiguration* operator->() const { return config; } + + BuildConfiguration::Ptr config; + int index; + + private: + const ProjectExporter& exporter; + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ConstConfigIterator) + }; + + int getNumConfigurations() const; + BuildConfiguration::Ptr getConfiguration (int index) const; + + ValueTree getConfigurations() const; + void createDefaultConfigs(); + void createDefaultModulePaths(); + + //============================================================================== + Value getExporterPreprocessorDefs() { return getSetting (Ids::extraDefs); } + String getExporterPreprocessorDefsString() const { return getSettingString (Ids::extraDefs); } + + // includes exporter, project + config defs + StringPairArray getAllPreprocessorDefs (const BuildConfiguration& config) const; + // includes exporter + project defs.. + StringPairArray getAllPreprocessorDefs() const; + + String replacePreprocessorTokens (const BuildConfiguration&, const String& sourceString) const; + + ValueTree settings; + + enum GCCOptimisationLevel + { + gccO0 = 1, + gccO1 = 4, + gccO2 = 5, + gccO3 = 3, + gccOs = 2, + gccOfast = 6 + }; + +protected: + //============================================================================== + String name; + Project& project; + const ProjectType& projectType; + const String projectName; + const File projectFolder; + Value vst2Path, vst3Path, rtasPath, aaxPath; // these must be initialised in the specific exporter c'tors! + + mutable Array itemGroups; + void initItemGroups() const; + Project::Item* modulesGroup; + + virtual BuildConfiguration::Ptr createBuildConfig (const ValueTree&) const = 0; + + void addDefaultPreprocessorDefs (StringPairArray&) const; + + static String getDefaultBuildsRootFolder() { return "Builds/"; } + + static String getLibbedFilename (String name) + { + if (! name.startsWith ("lib")) name = "lib" + name; + if (! name.endsWithIgnoreCase (".a")) name += ".a"; + return name; + } + + virtual void addPlatformSpecificSettingsForProjectType (const ProjectType&) = 0; + + //============================================================================== + static void overwriteFileIfDifferentOrThrow (const File& file, const MemoryOutputStream& newData) + { + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (file, newData)) + throw SaveError (file); + } + + static void overwriteFileIfDifferentOrThrow (const File& file, const String& newData) + { + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (file, newData)) + throw SaveError (file); + } + + static void createDirectoryOrThrow (const File& dirToCreate) + { + if (! dirToCreate.createDirectory()) + throw SaveError ("Can't create folder: " + dirToCreate.getFullPathName()); + } + + static void writeXmlOrThrow (const XmlElement& xml, const File& file, const String& encoding, int maxCharsPerLine, bool useUnixNewLines = false) + { + MemoryOutputStream mo; + xml.writeToStream (mo, String::empty, false, true, encoding, maxCharsPerLine); + + if (useUnixNewLines) + { + MemoryOutputStream mo2; + mo2 << mo.toString().replace ("\r\n", "\n"); + overwriteFileIfDifferentOrThrow (file, mo2); + } + else + { + overwriteFileIfDifferentOrThrow (file, mo); + } + } + + 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) +}; + + +#endif // JUCER_PROJECTEXPORTER_H_INCLUDED 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 00000000..df80d3e1 --- /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/Projucer/Source/Project Saving/jucer_ProjectSaver.h b/extras/Projucer/Source/Project Saving/jucer_ProjectSaver.h new file mode 100644 index 00000000..4d5307eb --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectSaver.h @@ -0,0 +1,693 @@ +/* + ============================================================================== + + 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_PROJECTSAVER_H_INCLUDED +#define JUCER_PROJECTSAVER_H_INCLUDED + +#include "jucer_ResourceFile.h" +#include "../Project/jucer_Module.h" +#include "jucer_ProjectExporter.h" + + +//============================================================================== +class ProjectSaver +{ +public: + ProjectSaver (Project& p, const File& file) + : project (p), + projectFile (file), + generatedCodeFolder (project.getGeneratedCodeFolder()), + generatedFilesGroup (Project::Item::createGroup (project, getJuceCodeGroupName(), "__generatedcode__", true)), + hasBinaryData (false) + { + generatedFilesGroup.setID (getGeneratedGroupID()); + } + + struct SaveThread : public ThreadWithProgressWindow + { + public: + SaveThread (ProjectSaver& ps) + : ThreadWithProgressWindow ("Saving...", true, false), + saver (ps), result (Result::ok()) + {} + + void run() override + { + setProgress (-1); + result = saver.save (false); + } + + ProjectSaver& saver; + Result result; + + JUCE_DECLARE_NON_COPYABLE (SaveThread) + }; + + Result save (bool showProgressBox) + { + if (showProgressBox) + { + SaveThread thread (*this); + thread.runThread(); + return thread.result; + } + + const String appConfigUserContent (loadUserContentFromAppConfig()); + + const File oldFile (project.getFile()); + project.setFile (projectFile); + + writeMainProjectFile(); + + OwnedArray modules; + project.getModules().createRequiredModules (modules); + + checkModuleValidity (modules); + + 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) + + if (errors.size() == 0 && generatedCodeFolder.exists()) + writeReadmeFile(); + + if (generatedCodeFolder.exists()) + deleteUnwantedFilesIn (generatedCodeFolder); + + if (errors.size() > 0) + { + project.setFile (oldFile); + return Result::fail (errors[0]); + } + + return Result::ok(); + } + + Result saveResourcesOnly() + { + writeBinaryDataFiles(); + + if (errors.size() > 0) + return Result::fail (errors[0]); + + return Result::ok(); + } + + Project::Item saveGeneratedFile (const String& filePath, const MemoryOutputStream& newData) + { + if (! generatedCodeFolder.createDirectory()) + { + addError ("Couldn't create folder: " + generatedCodeFolder.getFullPathName()); + return Project::Item (project, ValueTree(), false); + } + + const File file (generatedCodeFolder.getChildFile (filePath)); + + if (replaceFileIfDifferent (file, newData)) + return addFileToGeneratedGroup (file); + + return Project::Item (project, ValueTree(), true); + } + + Project::Item addFileToGeneratedGroup (const File& file) + { + Project::Item item (generatedFilesGroup.findItemForFile (file)); + + if (item.isValid()) + return item; + + generatedFilesGroup.addFileAtIndex (file, -1, true); + return generatedFilesGroup.findItemForFile (file); + } + + void setExtraAppConfigFileContent (const String& content) + { + extraAppConfigContent = content; + } + + static void writeAutoGenWarningComment (OutputStream& out) + { + out << "/*" << newLine << newLine + << " IMPORTANT! This file is auto-generated each time you save your" << newLine + << " project - if you alter its contents, your changes may be overwritten!" << newLine + << newLine; + } + + static const char* getGeneratedGroupID() noexcept { return "__jucelibfiles"; } + Project::Item& getGeneratedCodeGroup() { return generatedFilesGroup; } + + static String getJuceCodeGroupName() { return "Juce Library Code"; } + + File getGeneratedCodeFolder() const { return generatedCodeFolder; } + + bool replaceFileIfDifferent (const File& f, const MemoryOutputStream& newData) + { + filesCreated.add (f); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (f, newData)) + { + addError ("Can't write to file: " + f.getFullPathName()); + return false; + } + + return true; + } + + static bool shouldFolderBeIgnoredWhenCopying (const File& f) + { + return f.getFileName() == ".git" || f.getFileName() == ".svn" || f.getFileName() == ".cvs"; + } + + bool copyFolder (const File& source, const File& dest) + { + if (source.isDirectory() && dest.createDirectory()) + { + Array subFiles; + source.findChildFiles (subFiles, File::findFiles, false); + + for (int i = 0; i < subFiles.size(); ++i) + { + const File f (subFiles.getReference(i)); + const File target (dest.getChildFile (f.getFileName())); + filesCreated.add (target); + + if (! f.copyFileTo (target)) + return false; + } + + Array subFolders; + source.findChildFiles (subFolders, File::findDirectories, false); + + for (int i = 0; i < subFolders.size(); ++i) + { + const File f (subFolders.getReference(i)); + + if (! shouldFolderBeIgnoredWhenCopying (f)) + if (! copyFolder (f, dest.getChildFile (f.getFileName()))) + return false; + } + + return true; + } + + return false; + } + + Project& project; + SortedSet filesCreated; + +private: + const File projectFile, generatedCodeFolder; + Project::Item generatedFilesGroup; + String extraAppConfigContent; + StringArray errors; + CriticalSection errorLock; + + File appConfigFile; + bool hasBinaryData; + + // Recursively clears out any files in a folder that we didn't create, but avoids + // any folders containing hidden files that might be used by version-control systems. + bool deleteUnwantedFilesIn (const File& parent) + { + bool folderIsNowEmpty = true; + DirectoryIterator i (parent, false, "*", File::findFilesAndDirectories); + Array filesToDelete; + + bool isFolder; + while (i.next (&isFolder, nullptr, nullptr, nullptr, nullptr, nullptr)) + { + const File f (i.getFile()); + + if (filesCreated.contains (f) || shouldFileBeKept (f.getFileName())) + { + folderIsNowEmpty = false; + } + else if (isFolder) + { + if (deleteUnwantedFilesIn (f)) + filesToDelete.add (f); + else + folderIsNowEmpty = false; + } + else + { + filesToDelete.add (f); + } + } + + for (int j = filesToDelete.size(); --j >= 0;) + filesToDelete.getReference(j).deleteRecursively(); + + return folderIsNowEmpty; + } + + static bool shouldFileBeKept (const String& filename) + { + static const char* filesToKeep[] = { ".svn", ".cvs", "CMakeLists.txt" }; + + for (int i = 0; i < numElementsInArray (filesToKeep); ++i) + if (filename == filesToKeep[i]) + return true; + + return false; + } + + void writeMainProjectFile() + { + ScopedPointer xml (project.getProjectRoot().createXml()); + jassert (xml != nullptr); + + if (xml != nullptr) + { + MemoryOutputStream mo; + xml->writeToStream (mo, String::empty); + replaceFileIfDifferent (projectFile, mo); + } + } + + static int findLongestModuleName (const OwnedArray& modules) + { + int longest = 0; + + for (int i = modules.size(); --i >= 0;) + longest = jmax (longest, modules.getUnchecked(i)->getID().length()); + + return longest; + } + + File getAppConfigFile() const { return generatedCodeFolder.getChildFile (project.getAppConfigFilename()); } + + String loadUserContentFromAppConfig() const + { + StringArray lines, userContent; + lines.addLines (getAppConfigFile().loadFileAsString()); + bool foundCodeSection = false; + + for (int i = 0; i < lines.size(); ++i) + { + if (lines[i].contains ("[BEGIN_USER_CODE_SECTION]")) + { + for (int j = i + 1; j < lines.size() && ! lines[j].contains ("[END_USER_CODE_SECTION]"); ++j) + userContent.add (lines[j]); + + foundCodeSection = true; + break; + } + } + + if (! foundCodeSection) + { + userContent.add (String::empty); + userContent.add ("// (You can add your own code in this section, and the Projucer will not overwrite it)"); + userContent.add (String::empty); + } + + return userContent.joinIntoString (newLine) + newLine; + } + + void checkModuleValidity (OwnedArray& modules) + { + for (LibraryModule** moduleIter = modules.begin(); moduleIter != modules.end(); ++moduleIter) + { + if (const LibraryModule* const module = *moduleIter) + { + if (! module->isValid()) + { + addError ("At least one of your JUCE module paths is invalid!\n" + "Please go to Config -> Modules and ensure each path points to the correct JUCE modules folder."); + return; + } + } + else + { + // this should never happen! + jassertfalse; + } + } + } + + 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 + << " 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 + << "*/" << newLine + << newLine; + + const String headerGuard ("__JUCE_APPCONFIG_" + project.getProjectUID().toUpperCase() + "__"); + out << "#ifndef " << headerGuard << newLine + << "#define " << headerGuard << newLine + << newLine + << "//==============================================================================" << newLine + << "// [BEGIN_USER_CODE_SECTION]" << newLine + << userContent + << "// [END_USER_CODE_SECTION]" << newLine + << newLine + << "//==============================================================================" << newLine; + + const int longestName = findLongestModuleName (modules); + + for (int k = 0; k < modules.size(); ++k) + { + LibraryModule* const m = modules.getUnchecked(k); + out << "#define JUCE_MODULE_AVAILABLE_" << m->getID() + << String::repeatedString (" ", longestName + 5 - m->getID().length()) << " 1" << newLine; + } + + out << newLine; + + { + int isStandaloneApplication = 1; + const ProjectType& type = project.getProjectType(); + + if (type.isAudioPlugin() || type.isDynamicLibrary()) + isStandaloneApplication = 0; + + // 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; + + for (int j = 0; j < modules.size(); ++j) + { + LibraryModule* const m = modules.getUnchecked(j); + OwnedArray flags; + m->getConfigFlags (project, flags); + + if (flags.size() > 0) + { + out << "//==============================================================================" << newLine + << "// " << m->getID() << " flags:" << newLine + << newLine; + + for (int i = 0; i < flags.size(); ++i) + { + flags.getUnchecked(i)->value.referTo (project.getConfigFlag (flags.getUnchecked(i)->symbol)); + + const Project::ConfigFlag* const f = flags[i]; + const String value (project.getConfigFlag (f->symbol).toString()); + + out << "#ifndef " << f->symbol << newLine; + + if (value == Project::configFlagEnabled) + out << " #define " << f->symbol << " 1"; + else if (value == Project::configFlagDisabled) + out << " #define " << f->symbol << " 0"; + else + out << " //#define " << f->symbol; + + out << newLine + << "#endif" << newLine + << newLine; + } + } + } + + if (extraAppConfigContent.isNotEmpty()) + out << newLine << extraAppConfigContent.trimEnd() << newLine; + + out << newLine + << "#endif // " << headerGuard << newLine; + } + + void writeAppConfigFile (const OwnedArray& modules, const String& userContent) + { + appConfigFile = getAppConfigFile(); + + MemoryOutputStream mem; + writeAppConfig (mem, modules, userContent); + saveGeneratedFile (project.getAppConfigFilename(), mem); + } + + void writeAppHeader (MemoryOutputStream& out, const OwnedArray& modules) + { + writeAutoGenWarningComment (out); + + out << " This is the header file that your files should include in order to get all the" << newLine + << " JUCE library headers. You should avoid including the JUCE headers directly in" << newLine + << " your own source files, because that wouldn't pick up the correct configuration" << newLine + << " options for your app." << newLine + << newLine + << "*/" << newLine << newLine; + + String headerGuard ("__APPHEADERFILE_" + project.getProjectUID().toUpperCase() + "__"); + out << "#ifndef " << headerGuard << newLine + << "#define " << headerGuard << newLine << newLine; + + if (appConfigFile.exists()) + out << CodeHelpers::createIncludeStatement (project.getAppConfigFilename()) << newLine; + + 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; + + out << newLine + << "#if ! DONT_SET_USING_JUCE_NAMESPACE" << newLine + << " // If your code uses a lot of JUCE classes, then this will obviously save you" << newLine + << " // a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE." << newLine + << " using namespace juce;" << newLine + << "#endif" << newLine + << newLine + << "#if ! JUCE_DONT_DECLARE_PROJECTINFO" << newLine + << "namespace ProjectInfo" << newLine + << "{" << newLine + << " const char* const projectName = " << CppTokeniserFunctions::addEscapeChars (project.getTitle()).quoted() << ";" << newLine + << " const char* const versionString = " << CppTokeniserFunctions::addEscapeChars (project.getVersionString()).quoted() << ";" << newLine + << " const int versionNumber = " << project.getVersionAsHex() << ";" << newLine + << "}" << newLine + << "#endif" << newLine + << newLine + << "#endif // " << headerGuard << newLine; + } + + void writeAppHeader (const OwnedArray& modules) + { + MemoryOutputStream mem; + writeAppHeader (mem, modules); + 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()); + + ResourceFile resourceFile (project); + + if (resourceFile.getNumFiles() > 0) + { + resourceFile.setClassName ("BinaryData"); + + Array binaryDataFiles; + + int maxSize = project.getMaxBinaryFileSize().getValue(); + if (maxSize <= 0) + maxSize = 10 * 1024 * 1024; + + Result r (resourceFile.write (binaryDataFiles, maxSize)); + + if (r.wasOk()) + { + hasBinaryData = true; + + for (int i = 0; i < binaryDataFiles.size(); ++i) + { + const File& f = binaryDataFiles.getReference(i); + + filesCreated.add (f); + generatedFilesGroup.addFileRetainingSortOrder (f, ! f.hasFileExtension (".h")); + } + } + else + { + addError (r.getErrorMessage()); + } + } + else + { + for (int i = 20; --i >= 0;) + project.getBinaryDataCppFile (i).deleteFile(); + + binaryDataH.deleteFile(); + } + } + + void writeReadmeFile() + { + MemoryOutputStream out; + out << newLine + << " Important Note!!" << newLine + << " ================" << newLine + << 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 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 Projucer has saved its changes)." << newLine; + + replaceFileIfDifferent (generatedCodeFolder.getChildFile ("ReadMe.txt"), out); + } + + void addError (const String& message) + { + const ScopedLock sl (errorLock); + errors.add (message); + } + + void writePluginCharacteristicsFile(); + + void writeProjects (const OwnedArray& modules) + { + ThreadPool threadPool; + + // keep a copy of the basic generated files group, as each exporter may modify it. + const ValueTree originalGeneratedGroup (generatedFilesGroup.state.createCopy()); + + for (Project::ExporterIterator exporter (project); exporter.next();) + { + if (exporter->getTargetFolder().createDirectory()) + { + exporter->copyMainGroupFromProject(); + exporter->settings = exporter->settings.createCopy(); + + exporter->addToExtraSearchPaths (RelativePath ("JuceLibraryCode", RelativePath::projectFolder)); + + generatedFilesGroup.state = originalGeneratedGroup.createCopy(); + exporter->addSettingsForProjectType (project.getProjectType()); + + for (auto& module: modules) + module->addSettingsForModuleToExporter (*exporter, *this); + + if (project.getProjectType().isAudioPlugin()) + writePluginCharacteristicsFile(); + + generatedFilesGroup.sortAlphabetically (true, true); + exporter->getAllGroups().add (generatedFilesGroup); + + threadPool.addJob (new ExporterJob (*this, exporter.exporter.release(), modules), true); + } + else + { + addError ("Can't create folder: " + exporter->getTargetFolder().getFullPathName()); + } + } + + while (threadPool.getNumJobs() > 0) + Thread::sleep (10); + } + + class ExporterJob : public ThreadPoolJob + { + public: + ExporterJob (ProjectSaver& ps, ProjectExporter* pe, + const OwnedArray& moduleList) + : ThreadPoolJob ("export"), + owner (ps), exporter (pe), modules (moduleList) + { + } + + JobStatus runJob() override + { + try + { + exporter->create (modules); + std::cout << "Finished saving: " << exporter->getName() << std::endl; + } + catch (ProjectExporter::SaveError& error) + { + owner.addError (error.message); + } + + return jobHasFinished; + } + + private: + ProjectSaver& owner; + ScopedPointer exporter; + const OwnedArray& modules; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ExporterJob) + }; + + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProjectSaver) +}; + + +#endif // JUCER_PROJECTSAVER_H_INCLUDED diff --git a/extras/Projucer/Source/Project Saving/jucer_ResourceFile.cpp b/extras/Projucer/Source/Project Saving/jucer_ResourceFile.cpp new file mode 100644 index 00000000..f30b303d --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ResourceFile.cpp @@ -0,0 +1,300 @@ +/* + ============================================================================== + + 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_ResourceFile.h" +#include "../Application/jucer_OpenDocumentManager.h" + +static const char* resourceFileIdentifierString = "JUCER_BINARY_RESOURCE"; + + +//============================================================================== +ResourceFile::ResourceFile (Project& p) + : project (p), + className ("BinaryData") +{ + addResourcesFromProjectItem (project.getMainGroup()); +} + +ResourceFile::~ResourceFile() +{ +} + +//============================================================================== +void ResourceFile::addResourcesFromProjectItem (const Project::Item& projectItem) +{ + if (projectItem.isGroup()) + { + for (int i = 0; i < projectItem.getNumChildren(); ++i) + addResourcesFromProjectItem (projectItem.getChild(i)); + } + else + { + if (projectItem.shouldBeAddedToBinaryResources()) + addFile (projectItem.getFile()); + } +} + +//============================================================================== +void ResourceFile::setClassName (const String& name) +{ + className = name; +} + +void ResourceFile::addFile (const File& file) +{ + files.add (file); + + const String variableNameRoot (CodeHelpers::makeBinaryDataIdentifierName (file)); + String variableName (variableNameRoot); + + int suffix = 2; + while (variableNames.contains (variableName)) + variableName = variableNameRoot + String (suffix++); + + variableNames.add (variableName); +} + +String ResourceFile::getDataVariableFor (const File& file) const +{ + jassert (files.indexOf (file) >= 0); + return variableNames [files.indexOf (file)]; +} + +String ResourceFile::getSizeVariableFor (const File& file) const +{ + jassert (files.indexOf (file) >= 0); + return variableNames [files.indexOf (file)] + "Size"; +} + +int64 ResourceFile::getTotalDataSize() const +{ + int64 total = 0; + + for (int i = 0; i < files.size(); ++i) + total += files.getReference(i).getSize(); + + return total; +} + +static String getComment() +{ + String comment; + comment << newLine << newLine + << " This is an auto-generated file: Any edits you make may be overwritten!" << newLine + << newLine + << "*/" << newLine + << newLine; + + return comment; +} + +Result ResourceFile::writeHeader (MemoryOutputStream& header) +{ + const String headerGuard ("BINARYDATA_H_" + String (project.getProjectUID().hashCode() & 0x7ffffff) + "_INCLUDED"); + + header << "/* =========================================================================================" + << getComment() + << "#ifndef " << headerGuard << newLine + << "#define " << headerGuard << newLine + << newLine + << "namespace " << className << newLine + << "{" << newLine; + + bool containsAnyImages = false; + + for (int i = 0; i < files.size(); ++i) + { + const File& file = files.getReference(i); + + if (! file.existsAsFile()) + return Result::fail ("Can't open resource file: " + file.getFullPathName()); + + const int64 dataSize = file.getSize(); + + const String variableName (variableNames[i]); + + FileInputStream fileStream (file); + + if (fileStream.openedOk()) + { + containsAnyImages = containsAnyImages + || (ImageFileFormat::findImageFormatForStream (fileStream) != nullptr); + + header << " extern const char* " << variableName << ";" << newLine; + header << " const int " << variableName << "Size = " << (int) dataSize << ";" << newLine << newLine; + } + } + + header << " // Points to the start of a list of resource names." << newLine + << " extern const char* namedResourceList[];" << newLine + << newLine + << " // Number of elements in the namedResourceList array." << newLine + << " const int namedResourceListSize = " << files.size() << ";" << newLine + << newLine + << " // If you provide the name of one of the binary resource variables above, this function will" << newLine + << " // return the corresponding data and its size (or a null pointer if the name isn't found)." << newLine + << " const char* getNamedResource (const char* resourceNameUTF8, int& dataSizeInBytes) throw();" << newLine + << "}" << newLine + << newLine + << "#endif" << newLine; + + return Result::ok(); +} + +Result ResourceFile::writeCpp (MemoryOutputStream& cpp, const File& headerFile, int& i, const int maxFileSize) +{ + const bool isFirstFile = (i == 0); + + cpp << "/* ==================================== " << resourceFileIdentifierString << " ====================================" + << getComment() + << "namespace " << className << newLine + << "{" << newLine; + + bool containsAnyImages = false; + + while (i < files.size()) + { + const File& file = files.getReference(i); + const String variableName (variableNames[i]); + + FileInputStream fileStream (file); + + if (fileStream.openedOk()) + { + containsAnyImages = containsAnyImages + || (ImageFileFormat::findImageFormatForStream (fileStream) != nullptr); + + const String tempVariable ("temp_binary_data_" + String (i)); + + cpp << newLine << "//================== " << file.getFileName() << " ==================" << newLine + << "static const unsigned char " << tempVariable << "[] =" << newLine; + + { + MemoryBlock data; + fileStream.readIntoMemoryBlock (data); + CodeHelpers::writeDataAsCppLiteral (data, cpp, true, true); + } + + cpp << newLine << newLine + << "const char* " << variableName << " = (const char*) " << tempVariable << ";" << newLine; + } + + ++i; + + if (cpp.getPosition() > maxFileSize) + break; + } + + if (isFirstFile) + { + if (i < files.size()) + { + cpp << newLine + << "}" << newLine + << newLine + << "#include \"" << headerFile.getFileName() << "\"" << newLine + << newLine + << "namespace " << className << newLine + << "{"; + } + + cpp << newLine + << newLine + << "const char* getNamedResource (const char*, int&) throw();" << newLine + << "const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw()" << newLine + << "{" << newLine; + + StringArray returnCodes; + for (int j = 0; j < files.size(); ++j) + { + const File& file = files.getReference(j); + const int64 dataSize = file.getSize(); + returnCodes.add ("numBytes = " + String (dataSize) + "; return " + variableNames[j] + ";"); + } + + CodeHelpers::createStringMatcher (cpp, "resourceNameUTF8", variableNames, returnCodes, 4); + + cpp << " numBytes = 0;" << newLine + << " return 0;" << newLine + << "}" << newLine + << newLine + << "const char* namedResourceList[] =" << newLine + << "{" << newLine; + + for (int j = 0; j < files.size(); ++j) + cpp << " " << variableNames[j].quoted() << (j < files.size() - 1 ? "," : "") << newLine; + + cpp << "};" << newLine; + } + + cpp << newLine + << "}" << newLine; + + return Result::ok(); +} + +Result ResourceFile::write (Array& filesCreated, const int maxFileSize) +{ + const File headerFile (project.getBinaryDataHeaderFile()); + + { + MemoryOutputStream mo; + Result r (writeHeader (mo)); + + if (r.failed()) + return r; + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (headerFile, mo)) + return Result::fail ("Can't write to file: " + headerFile.getFullPathName()); + + filesCreated.add (headerFile); + } + + int i = 0; + int fileIndex = 0; + + for (;;) + { + File cpp (project.getBinaryDataCppFile (fileIndex)); + + MemoryOutputStream mo; + + Result r (writeCpp (mo, headerFile, i, maxFileSize)); + + if (r.failed()) + return r; + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (cpp, mo)) + return Result::fail ("Can't write to file: " + cpp.getFullPathName()); + + filesCreated.add (cpp); + ++fileIndex; + + if (i >= files.size()) + break; + } + + return Result::ok(); +} diff --git a/extras/Projucer/Source/Project Saving/jucer_ResourceFile.h b/extras/Projucer/Source/Project Saving/jucer_ResourceFile.h new file mode 100644 index 00000000..d8c9038c --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ResourceFile.h @@ -0,0 +1,69 @@ +/* + ============================================================================== + + 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_RESOURCEFILE_H_INCLUDED +#define JUCER_RESOURCEFILE_H_INCLUDED + +#include "../Project/jucer_Project.h" + + +//============================================================================== +class ResourceFile +{ +public: + //============================================================================== + ResourceFile (Project& project); + ~ResourceFile(); + + //============================================================================== + void setClassName (const String& className); + String getClassName() const { return className; } + + void addFile (const File& file); + String getDataVariableFor (const File& file) const; + String getSizeVariableFor (const File& file) const; + + int getNumFiles() const { return files.size(); } + const File& getFile (int index) const { return files.getReference (index); } + + int64 getTotalDataSize() const; + + Result write (Array& filesCreated, int maxFileSize); + + //============================================================================== +private: + Array files; + StringArray variableNames; + Project& project; + String className; + + Result writeHeader (MemoryOutputStream&); + Result writeCpp (MemoryOutputStream&, const File& headerFile, int& index, int maxFileSize); + void addResourcesFromProjectItem (const Project::Item& node); + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ResourceFile) +}; + + +#endif // JUCER_RESOURCEFILE_H_INCLUDED diff --git a/extras/Projucer/Source/Project Saving/jucer_TextWithDefaultPropertyComponent.h b/extras/Projucer/Source/Project Saving/jucer_TextWithDefaultPropertyComponent.h new file mode 100644 index 00000000..e881bdaa --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_TextWithDefaultPropertyComponent.h @@ -0,0 +1,169 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2016 - 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_TEXTWITHDEFAULTPROPERTYCOMPONENT_H_INCLUDED +#define JUCER_TEXTWITHDEFAULTPROPERTYCOMPONENT_H_INCLUDED + +template +class TextWithDefaultPropertyComponent : public PropertyComponent, + private Label::Listener +{ + //========================================================================== + class LabelComp : public Label, + public FileDragAndDropTarget + { + public: + LabelComp (TextWithDefaultPropertyComponent& tpc, const int charLimit) + : Label (String::empty, String::empty), + owner (tpc), + maxChars (charLimit) + { + setEditable (true, true, false); + addListener (&tpc); + + updateColours(); + } + + bool isInterestedInFileDrag (const StringArray&) override + { + return true; + } + + void filesDropped (const StringArray& files, int, int) override + { + setText (getText() + files.joinIntoString (", "), sendNotificationSync); + showEditor(); + } + + TextEditor* createEditorComponent() override + { + TextEditor* const ed = Label::createEditorComponent(); + ed->setInputRestrictions (maxChars); + return ed; + } + + void textWasEdited() override + { + owner.textWasEdited(); + } + + void updateColours() + { + setColour (backgroundColourId, owner.findColour (TextWithDefaultPropertyComponent::backgroundColourId)); + setColour (outlineColourId, owner.findColour (TextWithDefaultPropertyComponent::outlineColourId)); + setColour (textColourId, owner.findColour (TextWithDefaultPropertyComponent::textColourId)); + repaint(); + } + + private: + TextWithDefaultPropertyComponent& owner; + int maxChars; + }; + +protected: + //========================================================================== + TextWithDefaultPropertyComponent (const String& propertyName, int maxNumChars) + : PropertyComponent (propertyName) + { + createEditor (maxNumChars); + } + +public: + //========================================================================== + TextWithDefaultPropertyComponent (CachedValue& valueToControl, const String& propertyName, int maxNumChars) + : PropertyComponent (propertyName), + cachedValue (valueToControl) + { + createEditor (maxNumChars); + refresh(); + } + + virtual String getText() const + { + return cachedValue.get(); + } + + enum ColourIds + { + backgroundColourId = 0x100e401, /**< The colour to fill the background of the text area. */ + textColourId = 0x100e402, /**< The colour to use for the editable text. */ + outlineColourId = 0x100e403, /**< The colour to use to draw an outline around the text area. */ + }; + + void colourChanged() override + { + PropertyComponent::colourChanged(); + textEditor->updateColours(); + } + + //============================================================================== + void refresh() override + { + if (cachedValue.isUsingDefault()) + setColour (textColourId, Colours::grey); + else + setColour (textColourId, Colours::black); + + textEditor->setText (getText(), dontSendNotification); + } + + virtual void textWasEdited() + { + String textDisplayed = textEditor->getText(); + + if (textDisplayed.isEmpty()) + cachedValue.resetToDefault(); + else + cachedValue = textDisplayed; + + refresh(); + } + +private: + //============================================================================== + friend class LabelComp; + CachedValue& cachedValue; + + ScopedPointer textEditor; + + void createEditor (int maxNumChars) + { + addAndMakeVisible (textEditor = new LabelComp (*this, maxNumChars)); + } + + void labelTextChanged (Label*) override {} + + void editorShown (Label*, TextEditor& editor) override + { + if (cachedValue.isUsingDefault()) + editor.setText (String::empty, dontSendNotification); + } + + void editorHidden (Label*, TextEditor&) override {} + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TextWithDefaultPropertyComponent) +}; + +#endif // JUCER_TEXTWITHDEFAULTPROPERTYCOMPONENT_H_INCLUDED diff --git a/extras/Projucer/Source/Project/jucer_ConfigTree_Base.h b/extras/Projucer/Source/Project/jucer_ConfigTree_Base.h new file mode 100644 index 00000000..7e787b29 --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_ConfigTree_Base.h @@ -0,0 +1,349 @@ +/* + ============================================================================== + + 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 PropertyGroupComponent : public Component +{ +public: + PropertyGroupComponent() {} + + void setProperties (const PropertyListBuilder& newProps) + { + properties.clear(); + properties.addArray (newProps.components); + + for (int i = properties.size(); --i >= 0;) + addAndMakeVisible (properties.getUnchecked(i)); + } + + int updateSize (int x, int y, int width) + { + int height = 38; + + for (int i = 0; i < properties.size(); ++i) + { + PropertyComponent* pp = properties.getUnchecked(i); + pp->setBounds (10, height, width - 20, pp->getPreferredHeight()); + height += pp->getHeight(); + } + + height += 16; + setBounds (x, y, width, height); + return height; + } + + void paint (Graphics& g) override + { + const Colour bkg (findColour (mainBackgroundColourId)); + + g.setColour (Colours::white.withAlpha (0.35f)); + g.fillRect (0, 30, getWidth(), getHeight() - 38); + + g.setFont (Font (15.0f, Font::bold)); + g.setColour (bkg.contrasting (0.7f)); + g.drawFittedText (getName(), 12, 0, getWidth() - 16, 25, Justification::bottomLeft, 1); + } + + OwnedArray properties; + +private: + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PropertyGroupComponent) +}; + +//============================================================================== +class RolloverHelpComp : public Component, + private Timer +{ +public: + RolloverHelpComp() : lastComp (nullptr) + { + setInterceptsMouseClicks (false, false); + startTimer (150); + } + + void paint (Graphics& g) override + { + AttributedString s; + s.setJustification (Justification::centredLeft); + s.append (lastTip, Font (14.0f), findColour (mainBackgroundColourId).contrasting (0.7f)); + + TextLayout tl; + tl.createLayoutWithBalancedLineLengths (s, getWidth() - 10.0f); + if (tl.getNumLines() > 3) + tl.createLayout (s, getWidth() - 10.0f); + + tl.draw (g, getLocalBounds().toFloat()); + } + +private: + Component* lastComp; + String lastTip; + + void timerCallback() override + { + Component* newComp = Desktop::getInstance().getMainMouseSource().getComponentUnderMouse(); + + if (newComp != nullptr + && (newComp->getTopLevelComponent() != getTopLevelComponent() + || newComp->isCurrentlyBlockedByAnotherModalComponent())) + newComp = nullptr; + + if (newComp != lastComp) + { + lastComp = newComp; + + String newTip (findTip (newComp)); + + if (newTip != lastTip) + { + lastTip = newTip; + repaint(); + } + } + } + + static String findTip (Component* c) + { + while (c != nullptr) + { + if (TooltipClient* tc = dynamic_cast (c)) + { + const String tip (tc->getTooltip()); + + if (tip.isNotEmpty()) + return tip; + } + + c = c->getParentComponent(); + } + + return String(); + } +}; + + +//============================================================================== +class ConfigTreeItemBase : public JucerTreeViewBase, + public ValueTree::Listener +{ +public: + ConfigTreeItemBase() {} + + void showSettingsPage (Component* content) + { + content->setComponentID (getUniqueName()); + + ScopedPointer comp (content); + + if (ProjectContentComponent* pcc = getProjectContentComponent()) + pcc->setEditorComponent (new PropertyPanelViewport (comp.release()), nullptr); + } + + void closeSettingsPage() + { + if (ProjectContentComponent* pcc = getProjectContentComponent()) + { + if (PropertyPanelViewport* ppv = dynamic_cast (pcc->getEditorComponent())) + if (ppv->viewport.getViewedComponent()->getComponentID() == getUniqueName()) + pcc->hideEditor(); + } + } + + void deleteAllSelectedItems() override + { + TreeView* const tree = getOwnerView(); + jassert (tree->getNumSelectedItems() <= 1); // multi-select should be disabled + + if (ConfigTreeItemBase* s = dynamic_cast (tree->getSelectedItem (0))) + s->deleteItem(); + } + + void itemOpennessChanged (bool isNowOpen) override + { + if (isNowOpen) + refreshSubItems(); + } + + void valueTreePropertyChanged (ValueTree&, const Identifier&) override {} + void valueTreeChildAdded (ValueTree&, ValueTree&) override {} + void valueTreeChildRemoved (ValueTree&, ValueTree&, int) override {} + void valueTreeChildOrderChanged (ValueTree&, int, int) override {} + void valueTreeParentChanged (ValueTree&) override {} + + virtual bool isProjectSettings() const { return false; } + virtual bool isModulesList() const { return false; } + + static void updateSize (Component& comp, PropertyGroupComponent& group) + { + const int width = jmax (550, comp.getParentWidth() - 20); + + int y = 0; + y += group.updateSize (12, y, width - 12); + + comp.setSize (width, y); + } + +private: + //============================================================================== + struct PropertyPanelViewport : public Component + { + PropertyPanelViewport (Component* content) + { + addAndMakeVisible (viewport); + addAndMakeVisible (rolloverHelp); + viewport.setViewedComponent (content, true); + } + + void paint (Graphics& g) override + { + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); + } + + void resized() override + { + Rectangle r (getLocalBounds()); + rolloverHelp.setBounds (r.removeFromBottom (70).reduced (10, 0)); + viewport.setBounds (r); + } + + Viewport viewport; + RolloverHelpComp rolloverHelp; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PropertyPanelViewport) + }; +}; + +//============================================================================== +class RootItem : public ConfigTreeItemBase +{ +public: + RootItem (Project& p) + : project (p), exportersTree (p.getExporters()) + { + exportersTree.addListener (this); + } + + bool isRoot() const override { return true; } + bool isProjectSettings() const override { return true; } + String getRenamingName() const override { return getDisplayName(); } + String getDisplayName() const override { return project.getTitle(); } + void setName (const String&) override {} + bool isMissing() override { return false; } + Icon getIcon() const override { return project.getMainGroup().getIcon().withContrastingColourTo (getBackgroundColour()); } + void showDocument() override { showSettingsPage (new SettingsComp (project)); } + bool canBeSelected() const override { return true; } + bool mightContainSubItems() override { return project.getNumExporters() > 0; } + String getUniqueName() const override { return "config_root"; } + + void addSubItems() override + { + addSubItem (new EnabledModulesItem (project)); + ProjucerApplication::getApp().addLiveBuildConfigItem (project, *this); + + int i = 0; + for (Project::ExporterIterator exporter (project); exporter.next(); ++i) + addSubItem (new ExporterItem (project, exporter.exporter.release(), i)); + } + + void showPopupMenu() override + { + if (ProjectContentComponent* pcc = getProjectContentComponent()) + pcc->showNewExporterMenu(); + } + + bool isInterestedInDragSource (const DragAndDropTarget::SourceDetails& dragSourceDetails) override + { + return dragSourceDetails.description.toString().startsWith (getUniqueName()); + } + + void itemDropped (const DragAndDropTarget::SourceDetails& dragSourceDetails, int insertIndex) override + { + int oldIndex = dragSourceDetails.description.toString().getTrailingIntValue(); + exportersTree.moveChild (oldIndex, jmax (0, insertIndex - 1), project.getUndoManagerFor (exportersTree)); + } + + //============================================================================== + void valueTreeChildAdded (ValueTree& parentTree, ValueTree&) override { refreshIfNeeded (parentTree); } + void valueTreeChildRemoved (ValueTree& parentTree, ValueTree&, int) override { refreshIfNeeded (parentTree); } + void valueTreeChildOrderChanged (ValueTree& parentTree, int, int) override { refreshIfNeeded (parentTree); } + + void refreshIfNeeded (ValueTree& changedTree) + { + if (changedTree == exportersTree) + refreshSubItems(); + } + +private: + Project& project; + ValueTree exportersTree; + + //============================================================================== + class SettingsComp : public Component, + private ChangeListener + { + public: + SettingsComp (Project& p) : project (p) + { + addAndMakeVisible (group); + + updatePropertyList(); + project.addChangeListener (this); + } + + ~SettingsComp() + { + project.removeChangeListener (this); + } + + void parentSizeChanged() override + { + updateSize (*this, group); + } + + void updatePropertyList() + { + PropertyListBuilder props; + project.createPropertyEditors (props); + group.setProperties (props); + group.setName ("Project Settings"); + + lastProjectType = project.getProjectTypeValue().getValue(); + parentSizeChanged(); + } + + void changeListenerCallback (ChangeBroadcaster*) override + { + if (lastProjectType != project.getProjectTypeValue().getValue()) + updatePropertyList(); + } + + private: + Project& project; + var lastProjectType; + PropertyGroupComponent group; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SettingsComp) + }; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (RootItem) +}; 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/Projucer/Source/Project/jucer_ConfigTree_Modules.h b/extras/Projucer/Source/Project/jucer_ConfigTree_Modules.h new file mode 100644 index 00000000..bfadbf1f --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_ConfigTree_Modules.h @@ -0,0 +1,400 @@ +/* + ============================================================================== + + 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 ModuleItem : public ConfigTreeItemBase +{ +public: + ModuleItem (Project& p, const String& modID) + : project (p), moduleID (modID) + { + } + + bool canBeSelected() const override { return true; } + bool mightContainSubItems() override { return false; } + String getUniqueName() const override { return "module_" + moduleID; } + String getDisplayName() const override { return moduleID; } + String getRenamingName() const override { return getDisplayName(); } + void setName (const String&) override {} + bool isMissing() override { return hasMissingDependencies(); } + Icon getIcon() const override { return Icon (getIcons().jigsaw, getContrastingColour (Colours::red, 0.5f)); } + void showDocument() override { showSettingsPage (new ModuleSettingsPanel (project, moduleID)); } + void deleteItem() override { project.getModules().removeModule (moduleID); } + + void showPopupMenu() override + { + PopupMenu menu; + menu.addItem (1, "Remove this module"); + launchPopupMenu (menu); + } + + void handlePopupMenuResult (int resultCode) override + { + if (resultCode == 1) + deleteItem(); + } + + Project& project; + String moduleID; + +private: + bool hasMissingDependencies() const + { + return project.getModules().getExtraDependenciesNeeded (moduleID).size() > 0; + } + + //============================================================================== + class ModuleSettingsPanel : public Component + { + public: + ModuleSettingsPanel (Project& p, const String& modID) + : project (p), moduleID (modID) + { + addAndMakeVisible (group); + group.setName ("Module: " + moduleID); + refresh(); + } + + void refresh() + { + setEnabled (project.getModules().isModuleEnabled (moduleID)); + + PropertyListBuilder props; + + props.add (new ModuleInfoComponent (project, moduleID)); + + if (project.getModules().getExtraDependenciesNeeded (moduleID).size() > 0) + props.add (new MissingDependenciesComponent (project, moduleID)); + + for (Project::ExporterIterator exporter (project); exporter.next();) + props.add (new FilePathPropertyComponent (exporter->getPathForModuleValue (moduleID), + "Path for " + exporter->getName().quoted(), + true, "*", project.getProjectFolder()), + "A path to the folder that contains the " + moduleID + " module when compiling the " + + exporter->getName().quoted() + " target. " + "This can be an absolute path, or relative to the jucer project folder, but it " + "must be valid on the filesystem of the target machine that will be performing this build."); + + props.add (new BooleanPropertyComponent (project.getModules().shouldCopyModuleFilesLocally (moduleID), + "Create local copy", "Copy the module into the project folder"), + "If this is enabled, then a local copy of the entire module will be made inside your project (in the auto-generated JuceLibraryFiles folder), " + "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().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, " + "making it easy to browse/edit the module's classes. If disabled, then only the minimum number of files " + "required to compile it will appear inside your project."); + + StringArray possibleValues; + possibleValues.add ("(Use Default)"); + possibleValues.add ("Enabled"); + possibleValues.add ("Disabled"); + + Array mappings; + mappings.add (Project::configFlagDefault); + mappings.add (Project::configFlagEnabled); + mappings.add (Project::configFlagDisabled); + + ModuleDescription info (project.getModules().getModuleInfo (moduleID)); + + if (info.isValid()) + { + OwnedArray configFlags; + LibraryModule (info).getConfigFlags (project, configFlags); + + for (int i = 0; i < configFlags.size(); ++i) + { + ChoicePropertyComponent* c = new ChoicePropertyComponent (configFlags[i]->value, + configFlags[i]->symbol, + possibleValues, mappings); + c->setTooltip (configFlags[i]->description); + props.add (c); + } + } + + group.setProperties (props); + parentSizeChanged(); + } + + void parentSizeChanged() override { updateSize (*this, group); } + + private: + PropertyGroupComponent group; + Project& project; + String moduleID; + + //============================================================================== + class ModuleInfoComponent : public PropertyComponent, + private Value::Listener + { + public: + ModuleInfoComponent (Project& p, const String& modID) + : PropertyComponent ("Module", 150), project (p), moduleID (modID) + { + for (Project::ExporterIterator exporter (project); exporter.next();) + listeningValues.add (new Value (exporter->getPathForModuleValue (moduleID))) + ->addListener (this); + + refresh(); + } + + private: + void refresh() override + { + info = project.getModules().getModuleInfo (moduleID); + repaint(); + } + + void paint (Graphics& g) override + { + g.setColour (Colours::white.withAlpha (0.4f)); + g.fillRect (getLocalBounds().withTrimmedBottom (1)); + + AttributedString s; + s.setJustification (Justification::topLeft); + + Font f (14.0f); + + if (info.isValid()) + { + s.append (info.getName() + "\n\n", f.boldened()); + s.append ("Version: " + info.getVersion() + + "\nLicense: " + info.getLicense() + "\n", f.italicised()); + s.append ("\n" + info.getDescription(), f); + } + else + { + s.append ("Cannot find this module at the specified path!", f.boldened()); + s.setColour (Colours::darkred); + } + + s.draw (g, getLocalBounds().reduced (6, 5).toFloat()); + } + + void valueChanged (Value&) override + { + refresh(); + } + + Project& project; + String moduleID; + OwnedArray listeningValues; + ModuleDescription info; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ModuleInfoComponent) + }; + + //============================================================================== + class MissingDependenciesComponent : public PropertyComponent, + public ButtonListener + { + public: + MissingDependenciesComponent (Project& p, const String& modID) + : PropertyComponent ("Dependencies", 100), + project (p), moduleID (modID), + missingDependencies (project.getModules().getExtraDependenciesNeeded (modID)), + fixButton ("Add Required Modules") + { + addAndMakeVisible (fixButton); + fixButton.setColour (TextButton::buttonColourId, Colours::red); + fixButton.setColour (TextButton::textColourOffId, Colours::white); + fixButton.addListener (this); + } + + void refresh() override {} + + void paint (Graphics& g) override + { + g.setColour (Colours::white.withAlpha (0.4f)); + g.fillRect (0, 0, getWidth(), getHeight() - 1); + + String text ("This module has missing dependencies!\n\n" + "To build correctly, it requires the following modules to be added:\n"); + text << missingDependencies.joinIntoString (", "); + + AttributedString s; + s.setJustification (Justification::topLeft); + s.append (text, Font (13.0f), Colours::red.darker()); + s.draw (g, getLocalBounds().reduced (4, 16).toFloat()); + } + + void buttonClicked (Button*) override + { + bool anyFailed = false; + + ModuleList list; + list.scanAllKnownFolders (project); + + for (int i = missingDependencies.size(); --i >= 0;) + { + if (const ModuleDescription* info = list.getModuleWithID (missingDependencies[i])) + project.getModules().addModule (info->moduleFolder, project.getModules().areMostModulesCopiedLocally()); + else + anyFailed = true; + } + + if (ModuleSettingsPanel* p = findParentComponentOfClass()) + p->refresh(); + + if (anyFailed) + AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, + "Adding Missing Dependencies", + "Couldn't locate some of these modules - you'll need to find their " + "folders manually and add them to the list."); + } + + void resized() override + { + fixButton.setBounds (getWidth() - 168, getHeight() - 26, 160, 22); + } + + private: + Project& project; + String moduleID; + StringArray missingDependencies; + TextButton fixButton; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MissingDependenciesComponent) + }; + }; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ModuleItem) +}; + +//============================================================================== +class EnabledModulesItem : public ConfigTreeItemBase +{ +public: + EnabledModulesItem (Project& p) + : project (p), + moduleListTree (p.getModules().state) + { + moduleListTree.addListener (this); + } + + int getItemHeight() const override { return 22; } + bool isModulesList() const override { return true; } + bool canBeSelected() const override { return true; } + bool mightContainSubItems() override { return true; } + String getUniqueName() const override { return "modules"; } + String getRenamingName() const override { return getDisplayName(); } + String getDisplayName() const override { return "Modules"; } + void setName (const String&) override {} + bool isMissing() override { return false; } + Icon getIcon() const override { return Icon (getIcons().graph, getContrastingColour (Colours::red, 0.5f)); } + + void showDocument() override + { + if (ProjectContentComponent* pcc = getProjectContentComponent()) + pcc->setEditorComponent (new ModulesPanel (project), nullptr); + } + + static File getModuleFolder (const File& draggedFile) + { + if (draggedFile.hasFileExtension (headerFileExtensions)) + return draggedFile.getParentDirectory(); + + return draggedFile; + } + + bool isInterestedInFileDrag (const StringArray& files) override + { + for (int i = files.size(); --i >= 0;) + if (ModuleDescription (getModuleFolder (files[i])).isValid()) + return true; + + return false; + } + + void filesDropped (const StringArray& files, int /*insertIndex*/) override + { + Array modules; + + for (int i = files.size(); --i >= 0;) + { + 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).moduleFolder, + project.getModules().areMostModulesCopiedLocally()); + } + + void addSubItems() override + { + for (int i = 0; i < project.getModules().getNumModules(); ++i) + addSubItem (new ModuleItem (project, project.getModules().getModuleID (i))); + } + + void showPopupMenu() override + { + PopupMenu menu, knownModules, copyModeMenu; + + const StringArray modules (getAvailableModules()); + for (int i = 0; i < modules.size(); ++i) + knownModules.addItem (1 + i, modules[i], ! project.getModules().isModuleEnabled (modules[i])); + + menu.addSubMenu ("Add a module", knownModules); + menu.addSeparator(); + menu.addItem (1001, "Add a module from a specified folder..."); + + launchPopupMenu (menu); + } + + void handlePopupMenuResult (int resultCode) override + { + if (resultCode == 1001) + project.getModules().addModuleFromUserSelectedFile(); + else if (resultCode > 0) + project.getModules().addModuleInteractive (getAvailableModules() [resultCode - 1]); + } + + StringArray getAvailableModules() + { + ModuleList list; + list.scanAllKnownFolders (project); + return list.getIDs(); + } + + //============================================================================== + void valueTreeChildAdded (ValueTree& parentTree, ValueTree&) override { refreshIfNeeded (parentTree); } + void valueTreeChildRemoved (ValueTree& parentTree, ValueTree&, int) override { refreshIfNeeded (parentTree); } + void valueTreeChildOrderChanged (ValueTree& parentTree, int, int) override { refreshIfNeeded (parentTree); } + + void refreshIfNeeded (ValueTree& changedTree) + { + if (changedTree == moduleListTree) + refreshSubItems(); + } + +private: + Project& project; + ValueTree moduleListTree; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (EnabledModulesItem) +}; diff --git a/extras/Projucer/Source/Project/jucer_DependencyPathPropertyComponent.cpp b/extras/Projucer/Source/Project/jucer_DependencyPathPropertyComponent.cpp new file mode 100644 index 00000000..da5cff05 --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_DependencyPathPropertyComponent.cpp @@ -0,0 +1,122 @@ +/* + ============================================================================== + + 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_DependencyPathPropertyComponent.h" +#include "../Application/jucer_GlobalPreferences.h" + + +//============================================================================== +DependencyPathValueSource::DependencyPathValueSource (const Value& projectSettingsPath, + Identifier globalSettingsKey, + DependencyPathOS osThisSettingAppliesTo) + : projectSettingsValue (projectSettingsPath), + globalKey (globalSettingsKey), + os (osThisSettingAppliesTo), + globalSettingsValue (getAppSettings().getGlobalPath (globalKey, os)), + fallbackValue (getAppSettings().getFallbackPath (globalKey, os)) +{ + globalSettingsValue.addListener (this); +} + +bool DependencyPathValueSource::isValidPath() const +{ + // if we are on another OS than the one which this path setting is for, + // we have no way of knowing whether the path is valid - so just assume it is: + if (! appliesToThisOS()) + return true; + + return getAppSettings().isGlobalPathValid (globalKey, getValue().toString()); +} + +//============================================================================== +DependencyPathPropertyComponent::DependencyPathPropertyComponent (const Value& value, + const String& propertyName) +try : TextPropertyComponent (propertyName, 1024, false), + pathValue (value), + pathValueSource (dynamic_cast (pathValue.getValueSource())) +{ + bool initialValueIsEmpty = ! pathValueSource.isUsingProjectSettings(); + + getValue().referTo (pathValue); + + // the following step is necessary because the above referTo() has internally called setValue(), + // which has set the project value to whatever is displayed in the label (this may be the + // global/fallback value). In this case we have to reset the project value to blank: + if (initialValueIsEmpty) + getValue().setValue (String::empty); + + getValue().addListener (this); + setColour (textColourId, getTextColourToDisplay()); + + if (Label* label = dynamic_cast (getChildComponent (0))) + label->addListener (this); + else + jassertfalse; +} +catch (const std::bad_cast&) +{ + // a DependencyPathPropertyComponent must be initialised with a Value + // that is referring to a DependencyPathValueSource! + jassertfalse; + throw; +} + +void DependencyPathPropertyComponent::valueChanged (Value& value) +{ + // this callback handles the update of this setting in case + // the user changed the global preferences. + if (value.refersToSameSourceAs (pathValue) && pathValueSource.isUsingGlobalSettings()) + textWasEdited(); +} + +void DependencyPathPropertyComponent::textWasEdited() +{ + setColour (textColourId, getTextColourToDisplay()); + TextPropertyComponent::textWasEdited(); +} + +Colour DependencyPathPropertyComponent::getTextColourToDisplay() const +{ + if (! pathValueSource.isUsingProjectSettings()) + return pathValueSource.isValidPath() ? Colours::grey + : Colours::lightpink; + + return pathValueSource.isValidPath() ? Colours::black + : Colours::red; +} + +void DependencyPathPropertyComponent::labelTextChanged (Label*) +{ +} + +void DependencyPathPropertyComponent::editorShown (Label* /*label*/, TextEditor& editor) +{ + if (! pathValueSource.isUsingProjectSettings()) + editor.setText (String::empty, dontSendNotification); +} + +void DependencyPathPropertyComponent::editorHidden (Label*, TextEditor&) +{ +} diff --git a/extras/Projucer/Source/Project/jucer_DependencyPathPropertyComponent.h b/extras/Projucer/Source/Project/jucer_DependencyPathPropertyComponent.h new file mode 100644 index 00000000..64d7225d --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_DependencyPathPropertyComponent.h @@ -0,0 +1,176 @@ +/* + ============================================================================== + + 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_DEPENDENCYPATHPROPERTYCOMPONENT_H_INCLUDED +#define JUCER_DEPENDENCYPATHPROPERTYCOMPONENT_H_INCLUDED + + +//============================================================================== +/** This ValueSource type implements the fallback logic required for dependency + path settings: use the project exporter value; if this is empty, fall back to + the global preference value; if the exporter is supposed to run on another + OS and we don't know what the global preferences on that other machine are, + fall back to a generic OS-specific fallback value. +*/ +class DependencyPathValueSource : public Value::ValueSource, + private Value::Listener +{ +public: + DependencyPathValueSource (const Value& projectSettingsPath, + Identifier globalSettingsKey, + DependencyPathOS osThisSettingAppliesTo); + + /** This gets the currently used value, which may be either + the project setting, the global setting, or the fallback value. */ + var getValue() const override + { + if (isUsingProjectSettings()) + return projectSettingsValue; + + if (isUsingGlobalSettings()) + return globalSettingsValue; + + return fallbackValue; + } + + void setValue (const var& newValue) override + { + projectSettingsValue = newValue; + + if (isUsingProjectSettings()) + sendChangeMessage (false); + } + + bool isUsingProjectSettings() const + { + return projectSettingsValueIsValid(); + } + + bool isUsingGlobalSettings() const + { + return ! projectSettingsValueIsValid() && globalSettingsValueIsValid(); + } + + bool isUsingFallbackValue() const + { + return ! projectSettingsValueIsValid() && !globalSettingsValueIsValid(); + } + + bool appliesToThisOS() const + { + return os == TargetOS::getThisOS(); + } + + bool isValidPath() const; + +private: + void valueChanged (Value& value) override + { + if ((value.refersToSameSourceAs (globalSettingsValue) && isUsingGlobalSettings())) + { + sendChangeMessage (true); + setValue (String::empty); // make sure that the project-specific value is still blank + } + } + + /** This defines when to use the project setting, and when to + consider it invalid and to fall back to the global setting or + the fallback value. */ + bool projectSettingsValueIsValid() const + { + return ! projectSettingsValue.toString().isEmpty(); + } + + /** This defines when to use the global setting - given the project setting + is invalid, and when to fall back to the fallback value instead. */ + bool globalSettingsValueIsValid() const + { + // only use the global settings if they are set on the same OS + // that this setting is for! + DependencyPathOS thisOS = TargetOS::getThisOS(); + + return thisOS == TargetOS::unknown ? false : os == thisOS; + } + + /** 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. + needed for checking whether the path is valid. */ + Identifier globalKey; + + /** on what operating system should this dependency path be used? + note that this is *not* the os that is targeted by the project, + but rather the os on which the project will be compiled + (= on which the path settings need to be set correctly). */ + DependencyPathOS os; + + /** the dependency path global setting on this machine. + used when there value set for this project is invalid. */ + Value globalSettingsValue; + + /** the dependency path fallback setting. used instead of the global setting + whenever the latter doesn't apply, e.g. the setting is for another + OS than the ome this machine is running. */ + String fallbackValue; +}; + + +//============================================================================== +class DependencyPathPropertyComponent : public TextPropertyComponent, + private Value::Listener, + private Label::Listener +{ +public: + DependencyPathPropertyComponent (const Value& value, + const String& propertyName); + + +private: + /** This function defines what colour the label text should assume + depending on the current state of the value the component tracks. */ + Colour getTextColourToDisplay() const; + + /** This function handles path changes because of user input. */ + void textWasEdited() override; + + /** This function handles path changes because the global path changed. */ + void valueChanged (Value& value) override; + + /** the value that represents this dependency path setting. */ + Value pathValue; + + /** a reference to the value source that this value refers to. */ + DependencyPathValueSource& pathValueSource; + + // Label::Listener overrides: + void labelTextChanged (Label* labelThatHasChanged) override; + void editorShown (Label*, TextEditor&) override; + void editorHidden (Label*, TextEditor&) override; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DependencyPathPropertyComponent) +}; + + +#endif // JUCER_DEPENDENCYPATHPROPERTYCOMPONENT_H_INCLUDED diff --git a/extras/Projucer/Source/Project/jucer_GroupInformationComponent.h b/extras/Projucer/Source/Project/jucer_GroupInformationComponent.h new file mode 100644 index 00000000..1c6fec7d --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_GroupInformationComponent.h @@ -0,0 +1,169 @@ +/* + ============================================================================== + + 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_GROUPINFORMATIONCOMPONENT_H_INCLUDED +#define JUCER_GROUPINFORMATIONCOMPONENT_H_INCLUDED + +#include "../Project/jucer_Project.h" + + +//============================================================================== +class GroupInformationComponent : public Component, + private ListBoxModel, + private ValueTree::Listener +{ +public: + GroupInformationComponent (const Project::Item& group) + : item (group) + { + list.setModel (this); + list.setColour (ListBox::backgroundColourId, Colours::transparentBlack); + addAndMakeVisible (list); + list.updateContent(); + list.setRowHeight (20); + item.state.addListener (this); + lookAndFeelChanged(); + } + + ~GroupInformationComponent() + { + item.state.removeListener (this); + } + + //============================================================================== + void paint (Graphics& g) override + { + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); + } + + void resized() override + { + list.setBounds (getLocalBounds().reduced (5, 4)); + } + + int getNumRows() override + { + return item.getNumChildren(); + } + + void paintListBoxItem (int /*rowNumber*/, Graphics& g, int width, int height, bool /*rowIsSelected*/) override + { + g.setColour (Colours::white.withAlpha (0.4f)); + g.fillRect (0, 0, width, height - 1); + } + + Component* refreshComponentForRow (int rowNumber, bool /*isRowSelected*/, Component* existingComponentToUpdate) override + { + ScopedPointer existing (existingComponentToUpdate); + + if (rowNumber < getNumRows()) + { + Project::Item child (item.getChild (rowNumber)); + + if (existingComponentToUpdate == nullptr + || dynamic_cast (existing.get())->item != child) + { + existing = nullptr; + existing = new FileOptionComponent (child); + } + } + + return existing.release(); + } + + //============================================================================== + 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(); } + +private: + Project::Item item; + ListBox list; + + void itemChanged() + { + list.updateContent(); + repaint(); + } + + //============================================================================== + class FileOptionComponent : public Component + { + public: + FileOptionComponent (const Project::Item& fileItem) + : item (fileItem), + compileButton ("Compile"), + binaryResourceButton ("Binary Resource"), + xcodeResourceButton ("Xcode Resource") + { + if (item.isFile()) + { + addAndMakeVisible (compileButton); + compileButton.getToggleStateValue().referTo (item.getShouldCompileValue()); + + addAndMakeVisible (binaryResourceButton); + binaryResourceButton.getToggleStateValue().referTo (item.getShouldAddToBinaryResourcesValue()); + + addAndMakeVisible (xcodeResourceButton); + xcodeResourceButton.getToggleStateValue().referTo (item.getShouldAddToXcodeResourcesValue()); + } + } + + void paint (Graphics& g) override + { + int x = getHeight() + 6; + + item.getIcon().withContrastingColourTo (Colours::grey) + .draw (g, Rectangle (3.0f, 2.0f, x - 6.0f, getHeight() - 4.0f), + item.isIconCrossedOut()); + + g.setColour (Colours::black); + g.setFont (getHeight() * 0.6f); + + const int x2 = compileButton.isVisible() ? compileButton.getX() - 4 + : getWidth() - 4; + + g.drawText (item.getName(), x, 0, x2 - x, getHeight(), Justification::centredLeft, true); + } + + void resized() override + { + binaryResourceButton.setBounds (getWidth() - 110, 1, 110, getHeight() - 2); + xcodeResourceButton.setBounds (binaryResourceButton.getX() - 110, 1, 110, getHeight() - 2); + compileButton.setBounds (xcodeResourceButton.getX() - 70, 1, 70, getHeight() - 2); + } + + Project::Item item; + + private: + ToggleButton compileButton, binaryResourceButton, xcodeResourceButton; + }; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (GroupInformationComponent) +}; + + +#endif // JUCER_GROUPINFORMATIONCOMPONENT_H_INCLUDED diff --git a/extras/Projucer/Source/Project/jucer_Module.cpp b/extras/Projucer/Source/Project/jucer_Module.cpp new file mode 100644 index 00000000..cf5b9789 --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_Module.cpp @@ -0,0 +1,822 @@ +/* + ============================================================================== + + 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_Module.h" +#include "jucer_ProjectType.h" +#include "../Project Saving/jucer_ProjectExporter.h" +#include "../Project Saving/jucer_ProjectSaver.h" +#include "../Project Saving/jucer_ProjectExport_XCode.h" + + +static String trimCommentCharsFromStartOfLine (const String& line) +{ + return line.trimStart().trimCharactersAtStart ("*/").trimStart(); +} + +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) + { + 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(); +} + +//============================================================================== +ModuleList::ModuleList() +{ +} + +ModuleList::ModuleList (const ModuleList& other) +{ + operator= (other); +} + +ModuleList& ModuleList::operator= (const ModuleList& other) +{ + modules.clear(); + modules.addCopiesOf (other.modules); + return *this; +} + +const ModuleDescription* ModuleList::getModuleWithID (const String& moduleID) const +{ + for (int i = 0; i < modules.size(); ++i) + { + ModuleDescription* m = modules.getUnchecked(i); + if (m->getID() == moduleID) + return m; + } + + return nullptr; +} + +struct ModuleSorter +{ + static int compareElements (const ModuleDescription* m1, const ModuleDescription* m2) + { + return m1->getID().compareIgnoreCase (m2->getID()); + } +}; + +void ModuleList::sort() +{ + ModuleSorter sorter; + modules.sort (sorter); +} + +StringArray ModuleList::getIDs() const +{ + StringArray results; + + for (int i = 0; i < modules.size(); ++i) + results.add (modules.getUnchecked(i)->getID()); + + results.sort (true); + return results; +} + +Result ModuleList::addAllModulesInFolder (const File& path) +{ + ModuleDescription m (path); + + if (m.isValid()) + { + modules.add (new ModuleDescription (m)); + } + else + { + for (DirectoryIterator iter (path, false, "*", File::findDirectories); iter.next();) + { + Result r = addAllModulesInFolder (iter.getFile().getLinkedTarget()); + + if (r.failed()) + return r; + } + } + + return Result::ok(); +} + +static Array getAllPossibleModulePaths (Project& project) +{ + StringArray paths; + + for (Project::ExporterIterator exporter (project); exporter.next();) + { + for (int i = 0; i < project.getModules().getNumModules(); ++i) + { + const String path (exporter->getPathForModuleString (project.getModules().getModuleID (i))); + + if (path.isNotEmpty()) + paths.addIfNotAlreadyThere (path); + } + + String oldPath (exporter->getLegacyModulePath()); + + if (oldPath.isNotEmpty()) + paths.addIfNotAlreadyThere (oldPath); + } + + Array files; + + for (int i = 0; i < paths.size(); ++i) + { + const File f (project.resolveFilename (paths[i])); + + if (f.isDirectory()) + { + files.add (f); + + if (f.getChildFile ("modules").isDirectory()) + files.addIfNotAlreadyThere (f.getChildFile ("modules")); + } + } + + return files; +} + +Result ModuleList::scanAllKnownFolders (Project& project) +{ + modules.clear(); + Result result (Result::ok()); + + const Array modulePaths (getAllPossibleModulePaths (project)); + + for (int i = 0; i < modulePaths.size(); ++i) + { + result = addAllModulesInFolder (modulePaths.getReference(i)); + + if (result.failed()) + break; + } + + sort(); + return result; +} + +//============================================================================== +LibraryModule::LibraryModule (const ModuleDescription& d) + : moduleInfo (d) +{ +} + +//============================================================================== +void LibraryModule::writeIncludes (ProjectSaver& projectSaver, OutputStream& out) +{ + Project& project = projectSaver.project; + EnabledModuleList& modules = project.getModules(); + + const String id (getID()); + + if (modules.shouldCopyModuleFilesLocally (id).getValue()) + { + const File juceModuleFolder (moduleInfo.getFolder()); + + const File localModuleFolder (project.getLocalModuleFolder (id)); + localModuleFolder.createDirectory(); + projectSaver.copyFolder (juceModuleFolder, localModuleFolder); + } + + out << "#include <" << moduleInfo.moduleFolder.getFileName() << "/" + << moduleInfo.getHeader().getFileName() + << ">" << newLine; +} + +//============================================================================== +static void parseAndAddLibs (StringArray& libList, const String& libs) +{ + libList.addTokens (libs, ", ", StringRef()); + libList.trim(); + libList.sort (false); + libList.removeDuplicates (false); +} + +void LibraryModule::addSettingsForModuleToExporter (ProjectExporter& exporter, ProjectSaver& projectSaver) const +{ + Project& project = exporter.getProject(); + + RelativePath modulePath = exporter.getModuleFolderRelativeToProject (getID()); + + exporter.addToExtraSearchPaths (modulePath.getParentDirectory()); + + 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; + + const File localModuleFolder = project.getModules().shouldCopyModuleFilesLocally (getID()).getValue() + ? project.getLocalModuleFolder (getID()) + : moduleInfo.getFolder(); + + findAndAddCompiledUnits (exporter, &projectSaver, compiled); + + if (project.getModules().shouldShowAllModuleFilesInProject (getID()).getValue()) + addBrowseableCode (exporter, compiled, localModuleFolder); + } + + if (exporter.isXcode()) + { + XCodeProjectExporter& xcodeExporter = dynamic_cast (exporter); + + if (project.isAUPluginHost()) + xcodeExporter.xcodeFrameworks.addTokens ("AudioUnit CoreAudioKit", false); + + 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()); + } + else if (exporter.isCodeBlocks() && exporter.isWindows()) + { + parseAndAddLibs (exporter.mingwLibs, moduleInfo.moduleInfo ["mingwLibs"].toString()); + } +} + +void LibraryModule::getConfigFlags (Project& project, OwnedArray& flags) const +{ + const File header (moduleInfo.getHeader()); + jassert (header.exists()); + + StringArray lines; + header.readLines (lines); + + for (int i = 0; i < lines.size(); ++i) + { + String line (lines[i].trim()); + + if (line.startsWith ("/**") && line.containsIgnoreCase ("Config:")) + { + ScopedPointer config (new Project::ConfigFlag()); + config->sourceModuleID = getID(); + config->symbol = line.fromFirstOccurrenceOf (":", false, false).trim(); + + if (config->symbol.length() > 2) + { + ++i; + + while (! (lines[i].contains ("*/") || lines[i].contains ("@see"))) + { + if (lines[i].trim().isNotEmpty()) + config->description = config->description.trim() + " " + lines[i].trim(); + + ++i; + } + + config->description = config->description.upToFirstOccurrenceOf ("*/", false, false); + config->value.referTo (project.getConfigFlag (config->symbol)); + flags.add (config.release()); + } + } + } +} + +//============================================================================== +struct FileSorter +{ + static int compareElements (const File& f1, const File& f2) + { + return f1.getFileName().compareNatural (f2.getFileName()); + } +}; + +bool LibraryModule::CompileUnit::hasSuffix (const File& f, const char* suffix) +{ + 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); + + FileSorter sorter; + files.sort (sorter); + + Array units; + + 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)) + { + units.add (cu); + } + } + + for (int i = 0; i < units.size(); ++i) + { + CompileUnit& cu = units.getReference(i); + + cu.isCompiledForObjC = true; + cu.isCompiledForNonObjC = ! cu.file.hasFileExtension ("mm;m"); + + if (cu.isCompiledForNonObjC) + if (files.contains (cu.file.withFileExtension ("mm"))) + cu.isCompiledForObjC = false; + + 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); + } + } +} + +static void addFileWithGroups (Project::Item& group, const RelativePath& file, const String& path) +{ + const int slash = path.indexOfChar (File::separator); + + if (slash >= 0) + { + const String topLevelGroup (path.substring (0, slash)); + const String remainingPath (path.substring (slash + 1)); + + Project::Item newGroup (group.getOrCreateSubGroup (topLevelGroup)); + addFileWithGroups (newGroup, file, remainingPath); + } + else + { + if (! group.containsChildForFile (file)) + group.addRelativeFile (file, -1, false); + } +} + +void LibraryModule::findBrowseableFiles (const File& folder, Array& filesFound) const +{ + Array tempList; + FileSorter sorter; + + DirectoryIterator iter (folder, true, "*", File::findFiles); + bool isHiddenFile; + + while (iter.next (nullptr, &isHiddenFile, nullptr, nullptr, nullptr, nullptr)) + if (! isHiddenFile && iter.getFile().hasFileExtension (browseableFileExtensions)) + tempList.addSorted (sorter, iter.getFile()); + + filesFound.addArray (tempList); +} + +void LibraryModule::addBrowseableCode (ProjectExporter& exporter, const Array& compiled, const File& localModuleFolder) const +{ + if (sourceFiles.size() == 0) + findBrowseableFiles (localModuleFolder, sourceFiles); + + Project::Item sourceGroup (Project::Item::createGroup (exporter.getProject(), getID(), "__mainsourcegroup" + getID(), false)); + + const RelativePath moduleFromProject (exporter.getModuleFolderRelativeToProject (getID())); + + for (int i = 0; i < sourceFiles.size(); ++i) + { + const String pathWithinModule (FileHelpers::getRelativePathFrom (sourceFiles.getReference(i), localModuleFolder)); + + // (Note: in exporters like MSVC we have to avoid adding the same file twice, even if one of those instances + // is flagged as being excluded from the build, because this overrides the other and it fails to compile) + if (exporter.canCopeWithDuplicateFiles() || ! compiled.contains (sourceFiles.getReference(i))) + addFileWithGroups (sourceGroup, + moduleFromProject.getChildFile (pathWithinModule), + pathWithinModule); + } + + sourceGroup.sortAlphabetically (true, true); + sourceGroup.addFileAtIndex (moduleInfo.getHeader(), -1, false); + + exporter.getModulesGroup().state.addChild (sourceGroup.state.createCopy(), -1, nullptr); +} + + +//============================================================================== +EnabledModuleList::EnabledModuleList (Project& p, const ValueTree& s) + : project (p), state (s) +{ +} + +ModuleDescription EnabledModuleList::getModuleInfo (const String& moduleID) +{ + return ModuleDescription (getModuleFolder (moduleID)); +} + +bool EnabledModuleList::isModuleEnabled (const String& moduleID) const +{ + for (int i = 0; i < state.getNumChildren(); ++i) + if (state.getChild(i) [Ids::ID] == moduleID) + return true; + + return false; +} + +bool EnabledModuleList::isAudioPluginModuleMissing() const +{ + return project.getProjectType().isAudioPlugin() + && ! isModuleEnabled ("juce_audio_plugin_client"); +} + +Value EnabledModuleList::shouldShowAllModuleFilesInProject (const String& moduleID) +{ + return state.getChildWithProperty (Ids::ID, moduleID) + .getPropertyAsValue (Ids::showAllCode, getUndoManager()); +} + +File EnabledModuleList::findLocalModuleFolder (const String& moduleID, bool useExportersForOtherOSes) +{ + for (Project::ExporterIterator exporter (project); exporter.next();) + { + if (useExportersForOtherOSes || exporter->mayCompileOnCurrentOS()) + { + const String path (exporter->getPathForModuleString (moduleID)); + + if (path.isNotEmpty()) + { + const File moduleFolder (project.resolveFilename (path)); + + if (moduleFolder.exists()) + { + if (ModuleDescription (moduleFolder).isValid()) + return moduleFolder; + + File f = moduleFolder.getChildFile (moduleID); + + if (ModuleDescription (f).isValid()) + return f; + + f = moduleFolder.getChildFile ("modules") + .getChildFile (moduleID); + + if (ModuleDescription (f).isValid()) + return f; + } + } + } + } + + return File(); +} + +File EnabledModuleList::getModuleFolder (const String& moduleID) +{ + File f = findLocalModuleFolder (moduleID, false); + + if (f == File()) + f = findLocalModuleFolder (moduleID, true); + + return f; +} + +struct ModuleTreeSorter +{ + static int compareElements (const ValueTree& m1, const ValueTree& m2) + { + return m1[Ids::ID].toString().compareIgnoreCase (m2[Ids::ID]); + } +}; + +void EnabledModuleList::sortAlphabetically() +{ + ModuleTreeSorter sorter; + state.sort (sorter, getUndoManager(), false); +} + +Value EnabledModuleList::shouldCopyModuleFilesLocally (const String& moduleID) const +{ + return state.getChildWithProperty (Ids::ID, moduleID) + .getPropertyAsValue (Ids::useLocalCopy, getUndoManager()); +} + +void EnabledModuleList::addModule (const File& moduleFolder, bool copyLocally) +{ + ModuleDescription info (moduleFolder); + + if (info.isValid()) + { + const String moduleID (info.getID()); + + if (! isModuleEnabled (moduleID)) + { + ValueTree module (Ids::MODULE); + module.setProperty (Ids::ID, moduleID, nullptr); + + state.addChild (module, -1, getUndoManager()); + sortAlphabetically(); + + shouldShowAllModuleFilesInProject (moduleID) = true; + shouldCopyModuleFilesLocally (moduleID) = copyLocally; + + RelativePath path (moduleFolder.getParentDirectory(), + project.getProjectFolder(), RelativePath::projectFolder); + + for (Project::ExporterIterator exporter (project); exporter.next();) + exporter->getPathForModuleValue (moduleID) = path.toUnixStyle(); + } + } +} + +void EnabledModuleList::removeModule (String moduleID) // must be pass-by-value, and not a const ref! +{ + for (int i = state.getNumChildren(); --i >= 0;) + if (state.getChild(i) [Ids::ID] == moduleID) + state.removeChild (i, getUndoManager()); + + for (Project::ExporterIterator exporter (project); exporter.next();) + exporter->removePathForModule (moduleID); +} + +void EnabledModuleList::createRequiredModules (OwnedArray& modules) +{ + for (int i = 0; i < getNumModules(); ++i) + modules.add (new LibraryModule (getModuleInfo (getModuleID (i)))); +} + +StringArray EnabledModuleList::getAllModules() const +{ + StringArray moduleIDs; + + for (int i = 0; i < getNumModules(); ++i) + moduleIDs.add (getModuleID(i)); + + return moduleIDs; +} + +static void getDependencies (Project& project, const String& moduleID, StringArray& dependencies) +{ + ModuleDescription info (project.getModules().getModuleInfo (moduleID)); + + if (info.isValid()) + { + const var depsArray (info.moduleInfo ["dependencies"]); + + if (const Array* const deps = depsArray.getArray()) + { + for (int i = 0; i < deps->size(); ++i) + { + const var& d = deps->getReference(i); + + String uid (d [Ids::ID].toString()); + String version (d [Ids::version].toString()); + + if (! dependencies.contains (uid, true)) + { + dependencies.add (uid); + getDependencies (project, uid, dependencies); + } + } + } + } +} + +StringArray EnabledModuleList::getExtraDependenciesNeeded (const String& moduleID) const +{ + StringArray dependencies, extraDepsNeeded; + getDependencies (project, moduleID, dependencies); + + for (int i = 0; i < dependencies.size(); ++i) + if ((! isModuleEnabled (dependencies[i])) && dependencies[i] != moduleID) + extraDepsNeeded.add (dependencies[i]); + + return extraDepsNeeded; +} + +bool EnabledModuleList::areMostModulesCopiedLocally() const +{ + int numYes = 0, numNo = 0; + + for (int i = getNumModules(); --i >= 0;) + { + if (shouldCopyModuleFilesLocally (getModuleID (i)).getValue()) + ++numYes; + else + ++numNo; + } + + return numYes > numNo; +} + +void EnabledModuleList::setLocalCopyModeForAllModules (bool copyLocally) +{ + for (int i = getNumModules(); --i >= 0;) + shouldCopyModuleFilesLocally (project.getModules().getModuleID (i)) = copyLocally; +} + +File EnabledModuleList::findDefaultModulesFolder (Project& project) +{ + ModuleList available; + available.scanAllKnownFolders (project); + + for (int i = available.modules.size(); --i >= 0;) + { + File f (available.modules.getUnchecked(i)->getFolder()); + + if (f.isDirectory()) + return f.getParentDirectory(); + } + + return File::getCurrentWorkingDirectory(); +} + +void EnabledModuleList::addModuleFromUserSelectedFile() +{ + static File lastLocation (findDefaultModulesFolder (project)); + + FileChooser fc ("Select a module to add...", lastLocation, String::empty, false); + + if (fc.browseForDirectory()) + { + lastLocation = fc.getResult(); + addModuleOfferingToCopy (lastLocation); + } +} + +void EnabledModuleList::addModuleInteractive (const String& moduleID) +{ + ModuleList list; + list.scanAllKnownFolders (project); + + if (const ModuleDescription* info = list.getModuleWithID (moduleID)) + addModule (info->moduleFolder, areMostModulesCopiedLocally()); + else + addModuleFromUserSelectedFile(); +} + +void EnabledModuleList::addModuleOfferingToCopy (const File& f) +{ + ModuleDescription m (f); + + if (! m.isValid()) + { + AlertWindow::showMessageBoxAsync (AlertWindow::InfoIcon, + "Add Module", "This wasn't a valid module folder!"); + return; + } + + if (isModuleEnabled (m.getID())) + { + AlertWindow::showMessageBoxAsync (AlertWindow::InfoIcon, + "Add Module", "The project already contains this module!"); + return; + } + + addModule (m.moduleFolder, areMostModulesCopiedLocally()); +} + +bool isJuceFolder (const File& f) +{ + return isJuceModulesFolder (f.getChildFile ("modules")); +} + +bool isJuceModulesFolder (const File& f) +{ + return f.isDirectory() && f.getChildFile ("juce_core").isDirectory(); +} diff --git a/extras/Projucer/Source/Project/jucer_Module.h b/extras/Projucer/Source/Project/jucer_Module.h new file mode 100644 index 00000000..b4f09263 --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_Module.h @@ -0,0 +1,170 @@ +/* + ============================================================================== + + 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_MODULE_H_INCLUDED +#define JUCER_MODULE_H_INCLUDED + +#include "jucer_Project.h" +class ProjectExporter; +class ProjectSaver; + +//============================================================================== +File findDefaultModulesFolder (bool mustContainJuceCoreModule = true); +bool isJuceModulesFolder (const File&); +bool isJuceFolder (const File&); + +//============================================================================== +struct ModuleDescription +{ + ModuleDescription() {} + ModuleDescription (const File& folder); + ModuleDescription (const var& info) : moduleInfo (info) {} + + bool isValid() const { return getID().isNotEmpty(); } + + 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 getPreprocessorDefs() const { return moduleInfo [Ids::defines].toString(); } + String getExtraSearchPaths() const { return moduleInfo [Ids::searchpaths].toString(); } + + File getFolder() const { jassert (moduleFolder != File()); return moduleFolder; } + File getHeader() const; + + bool isPluginClient() const { return getID() == "juce_audio_plugin_client"; } + + File moduleFolder; + var moduleInfo; + URL url; +}; + +//============================================================================== +struct ModuleList +{ + ModuleList(); + ModuleList (const ModuleList&); + ModuleList& operator= (const ModuleList&); + + const ModuleDescription* getModuleWithID (const String& moduleID) const; + StringArray getIDs() const; + void sort(); + + Result addAllModulesInFolder (const File&); + Result scanAllKnownFolders (Project&); + + OwnedArray modules; +}; + +//============================================================================== +class LibraryModule +{ +public: + LibraryModule (const ModuleDescription&); + + 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(); } + String getLicense() const { return moduleInfo.getLicense(); } + + File getFolder() const { return moduleInfo.getFolder(); } + + void writeIncludes (ProjectSaver&, OutputStream&); + void addSettingsForModuleToExporter (ProjectExporter&, ProjectSaver&) const; + void getConfigFlags (Project&, OwnedArray& flags) const; + void findBrowseableFiles (const File& localModuleFolder, Array& files) 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; + + void addBrowseableCode (ProjectExporter&, const Array& compiled, const File& localModuleFolder) const; +}; + +//============================================================================== +class EnabledModuleList +{ +public: + EnabledModuleList (Project&, const ValueTree&); + + bool isModuleEnabled (const String& moduleID) const; + Value shouldShowAllModuleFilesInProject (const String& moduleID); + Value shouldCopyModuleFilesLocally (const String& moduleID) const; + void removeModule (String moduleID); + bool isAudioPluginModuleMissing() const; + + ModuleDescription getModuleInfo (const String& moduleID); + + File getModuleFolder (const String& moduleID); + + void addModule (const File& moduleManifestFile, bool copyLocally); + void addModuleInteractive (const String& moduleID); + void addModuleFromUserSelectedFile(); + void addModuleOfferingToCopy (const File&); + + StringArray getAllModules() const; + StringArray getExtraDependenciesNeeded (const String& moduleID) const; + void createRequiredModules (OwnedArray& modules); + + int getNumModules() const { return state.getNumChildren(); } + String getModuleID (int index) const { return state.getChild (index) [Ids::ID].toString(); } + + bool areMostModulesCopiedLocally() const; + void setLocalCopyModeForAllModules (bool copyLocally); + void sortAlphabetically(); + + static File findDefaultModulesFolder (Project&); + + Project& project; + ValueTree state; + +private: + UndoManager* getUndoManager() const { return project.getUndoManagerFor (state); } + + File findLocalModuleFolder (const String& moduleID, bool useExportersForOtherOSes); + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (EnabledModuleList) +}; + + +#endif // JUCER_MODULE_H_INCLUDED diff --git a/extras/Projucer/Source/Project/jucer_ModulesPanel.h b/extras/Projucer/Source/Project/jucer_ModulesPanel.h new file mode 100644 index 00000000..42036cfd --- /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/Projucer/Source/Project/jucer_Project.cpp b/extras/Projucer/Source/Project/jucer_Project.cpp new file mode 100644 index 00000000..db3248b0 --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_Project.cpp @@ -0,0 +1,1244 @@ +/* + ============================================================================== + + 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_Project.h" +#include "jucer_ProjectType.h" +#include "../Project Saving/jucer_ProjectExporter.h" +#include "../Project Saving/jucer_ProjectSaver.h" +#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, + String ("*") + projectFileExtension, + "Choose a Jucer project to load", + "Save Jucer project"), + projectRoot (Ids::JUCERPROJECT), + isSaving (false) +{ + Logger::writeToLog ("Loading project: " + f.getFullPathName()); + setFile (f); + removeDefunctExporters(); + updateOldModulePaths(); + setMissingDefaultValues(); + + setChangedFlag (false); + + projectRoot.addListener (this); +} + +Project::~Project() +{ + projectRoot.removeListener (this); + ProjucerApplication::getApp().openDocumentManager.closeAllDocumentsUsingProject (*this, false); +} + +const char* Project::projectFileExtension = ".jucer"; + +//============================================================================== +void Project::setTitle (const String& newTitle) +{ + projectRoot.setProperty (Ids::name, newTitle, getUndoManagerFor (projectRoot)); + getMainGroup().getNameValue() = newTitle; +} + +String Project::getTitle() const +{ + return projectRoot.getChildWithName (Ids::MAINGROUP) [Ids::name]; +} + +String Project::getDocumentTitle() +{ + return getTitle(); +} + +void Project::updateProjectSettings() +{ + projectRoot.setProperty (Ids::jucerVersion, ProjectInfo::versionString, nullptr); + projectRoot.setProperty (Ids::name, getDocumentTitle(), nullptr); +} + +void Project::setMissingDefaultValues() +{ + if (! projectRoot.hasProperty (Ids::ID)) + projectRoot.setProperty (Ids::ID, createAlphaNumericUID(), nullptr); + + // Create main file group if missing + if (! projectRoot.getChildWithName (Ids::MAINGROUP).isValid()) + { + Item mainGroup (*this, ValueTree (Ids::MAINGROUP), false); + projectRoot.addChild (mainGroup.state, 0, 0); + } + + getMainGroup().initialiseMissingProperties(); + + if (getDocumentTitle().isEmpty()) + setTitle ("JUCE Project"); + + if (! projectRoot.hasProperty (Ids::projectType)) + getProjectTypeValue() = ProjectType_GUIApp::getTypeName(); + + if (! projectRoot.hasProperty (Ids::version)) + getVersionValue() = "1.0.0"; + + updateOldStyleConfigList(); + moveOldPropertyFromProjectToAllExporters (Ids::bigIcon); + moveOldPropertyFromProjectToAllExporters (Ids::smallIcon); + + if (getProjectType().isAudioPlugin()) + setMissingAudioPluginDefaultValues(); + + getModules().sortAlphabetically(); + + if (getBundleIdentifier().toString().isEmpty()) + getBundleIdentifier() = getDefaultBundleIdentifier(); + + if (shouldIncludeBinaryInAppConfig() == var::null) + shouldIncludeBinaryInAppConfig() = true; + + ProjucerApplication::getApp().updateNewlyOpenedProject (*this); +} + +void Project::updateDeprecatedProjectSettingsInteractively() +{ + jassert (! ProjucerApplication::getApp().isRunningCommandLine); + + for (Project::ExporterIterator exporter (*this); exporter.next();) + exporter->updateDeprecatedProjectSettingsInteractively(); +} + +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(), String()); + setValueIfVoid (getPluginIsSynth(), false); + setValueIfVoid (getPluginWantsMidiInput(), false); + setValueIfVoid (getPluginProducesMidiOut(), false); + setValueIfVoid (getPluginIsMidiEffectPlugin(), false); + setValueIfVoid (getPluginEditorNeedsKeyFocus(), false); + setValueIfVoid (getPluginAUExportPrefix(), sanitisedProjectName + "AU"); + setValueIfVoid (getPluginRTASCategory(), String()); + setValueIfVoid (getBundleIdentifier(), getDefaultBundleIdentifier()); + setValueIfVoid (getAAXIdentifier(), getDefaultAAXIdentifier()); + setValueIfVoid (getPluginAAXCategory(), "AAX_ePlugInCategory_Dynamics"); +} + +void Project::updateOldStyleConfigList() +{ + ValueTree deprecatedConfigsList (projectRoot.getChildWithName (Ids::CONFIGURATIONS)); + + if (deprecatedConfigsList.isValid()) + { + projectRoot.removeChild (deprecatedConfigsList, nullptr); + + for (Project::ExporterIterator exporter (*this); exporter.next();) + { + if (exporter->getNumConfigurations() == 0) + { + ValueTree newConfigs (deprecatedConfigsList.createCopy()); + + if (! exporter->isXcode()) + { + for (int j = newConfigs.getNumChildren(); --j >= 0;) + { + ValueTree config (newConfigs.getChild(j)); + + config.removeProperty (Ids::osxSDK, nullptr); + config.removeProperty (Ids::osxCompatibility, nullptr); + config.removeProperty (Ids::osxArchitecture, nullptr); + } + } + + exporter->settings.addChild (newConfigs, 0, nullptr); + } + } + } +} + +void Project::moveOldPropertyFromProjectToAllExporters (Identifier name) +{ + if (projectRoot.hasProperty (name)) + { + for (Project::ExporterIterator exporter (*this); exporter.next();) + exporter->settings.setProperty (name, projectRoot [name], nullptr); + + projectRoot.removeProperty (name, nullptr); + } +} + +void Project::removeDefunctExporters() +{ + ValueTree exporters (projectRoot.getChildWithName (Ids::EXPORTFORMATS)); + + for (;;) + { + ValueTree oldVC6Exporter (exporters.getChildWithName ("MSVC6")); + + if (oldVC6Exporter.isValid()) + exporters.removeChild (oldVC6Exporter, nullptr); + else + break; + } +} + +void Project::updateOldModulePaths() +{ + for (Project::ExporterIterator exporter (*this); exporter.next();) + exporter->updateOldModulePaths(); +} + +//============================================================================== +static int getVersionElement (StringRef v, int index) +{ + StringArray parts; + parts.addTokens (v, "., ", StringRef()); + + return parts [parts.size() - index - 1].getIntValue(); +} + +static int getJuceVersion (const String& v) +{ + return getVersionElement (v, 2) * 100000 + + getVersionElement (v, 1) * 1000 + + getVersionElement (v, 0); +} + +static int getBuiltJuceVersion() +{ + return JUCE_MAJOR_VERSION * 100000 + + JUCE_MINOR_VERSION * 1000 + + JUCE_BUILDNUMBER; +} + +static bool isAnyModuleNewerThanProjucer (const OwnedArray& modules) +{ + for (int i = modules.size(); --i >= 0;) + { + const ModuleDescription* m = modules.getUnchecked(i); + + if (m->getID().startsWith ("juce_") + && getJuceVersion (m->getVersion()) > getBuiltJuceVersion()) + return true; + } + + return false; +} + +void Project::warnAboutOldProjucerVersion() +{ + ModuleList available; + available.scanAllKnownFolders (*this); + + if (isAnyModuleNewerThanProjucer (available.modules)) + { + if (ProjucerApplication::getApp().isRunningCommandLine) + std::cout << "WARNING! This version of the Projucer is out-of-date!" << std::endl; + else + AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, + "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!"); + } +} + +//============================================================================== +static File lastDocumentOpened; + +File Project::getLastDocumentOpened() { return lastDocumentOpened; } +void Project::setLastDocumentOpened (const File& file) { lastDocumentOpened = file; } + +static void registerRecentFile (const File& file) +{ + RecentlyOpenedFilesList::registerRecentFileNatively (file); + getAppSettings().recentFiles.addFile (file); + getAppSettings().flush(); +} + +//============================================================================== +Result Project::loadDocument (const File& file) +{ + ScopedPointer xml (XmlDocument::parse (file)); + + if (xml == nullptr || ! xml->hasTagName (Ids::JUCERPROJECT.toString())) + return Result::fail ("Not a valid Jucer project!"); + + ValueTree newTree (ValueTree::fromXml (*xml)); + + if (! newTree.hasType (Ids::JUCERPROJECT)) + return Result::fail ("The document contains errors and couldn't be parsed!"); + + registerRecentFile (file); + enabledModulesList = nullptr; + projectRoot = newTree; + + removeDefunctExporters(); + setMissingDefaultValues(); + updateOldModulePaths(); + setChangedFlag (false); + + if (! ProjucerApplication::getApp().isRunningCommandLine) + warnAboutOldProjucerVersion(); + + return Result::ok(); +} + +Result Project::saveDocument (const File& file) +{ + return saveProject (file, false); +} + +Result Project::saveProject (const File& file, bool isCommandLineApp) +{ + if (isSaving) + return Result::ok(); + + updateProjectSettings(); + sanitiseConfigFlags(); + + if (! isCommandLineApp) + registerRecentFile (file); + + const ScopedValueSetter vs (isSaving, true, false); + + ProjectSaver saver (*this, file); + return saver.save (! isCommandLineApp); +} + +Result Project::saveResourcesOnly (const File& file) +{ + ProjectSaver saver (*this, file); + return saver.saveResourcesOnly(); +} + +//============================================================================== +void Project::valueTreePropertyChanged (ValueTree&, const Identifier& property) +{ + if (property == Ids::projectType) + setMissingDefaultValues(); + + changed(); +} + +void Project::valueTreeChildAdded (ValueTree&, ValueTree&) { changed(); } +void Project::valueTreeChildRemoved (ValueTree&, ValueTree&, int) { changed(); } +void Project::valueTreeChildOrderChanged (ValueTree&, int, int) { changed(); } +void Project::valueTreeParentChanged (ValueTree&) {} + +//============================================================================== +File Project::resolveFilename (String filename) const +{ + if (filename.isEmpty()) + return File(); + + filename = replacePreprocessorDefs (getPreprocessorDefs(), filename); + + if (FileHelpers::isAbsolutePath (filename)) + return File::createFileWithoutCheckingPath (FileHelpers::currentOSStylePath (filename)); // (avoid assertions for windows-style paths) + + return getFile().getSiblingFile (FileHelpers::currentOSStylePath (filename)); +} + +String Project::getRelativePathForFile (const File& file) const +{ + String filename (file.getFullPathName()); + + File relativePathBase (getFile().getParentDirectory()); + + String p1 (relativePathBase.getFullPathName()); + String p2 (file.getFullPathName()); + + while (p1.startsWithChar (File::separator)) + p1 = p1.substring (1); + + while (p2.startsWithChar (File::separator)) + p2 = p2.substring (1); + + if (p1.upToFirstOccurrenceOf (File::separatorString, true, false) + .equalsIgnoreCase (p2.upToFirstOccurrenceOf (File::separatorString, true, false))) + { + filename = FileHelpers::getRelativePathFrom (file, relativePathBase); + } + + return filename; +} + +//============================================================================== +const ProjectType& Project::getProjectType() const +{ + if (const ProjectType* type = ProjectType::findType (getProjectTypeString())) + return *type; + + const ProjectType* guiType = ProjectType::findType (ProjectType_GUIApp::getTypeName()); + jassert (guiType != nullptr); + return *guiType; +} + +//============================================================================== +void Project::createPropertyEditors (PropertyListBuilder& props) +{ + props.add (new TextPropertyComponent (getProjectNameValue(), "Project Name", 256, false), + "The name of the project."); + + props.add (new TextPropertyComponent (getVersionValue(), "Project Version", 16, false), + "The project's version number, This should be in the format major.minor.point[.point]"); + + props.add (new TextPropertyComponent (getCompanyName(), "Company Name", 256, false), + "Your company name, which will be added to the properties of the binary where possible"); + + props.add (new TextPropertyComponent (getCompanyWebsite(), "Company Website", 256, false), + "Your company website, which will be added to the properties of the binary where possible"); + + props.add (new TextPropertyComponent (getCompanyEmail(), "Company E-mail", 256, false), + "Your company e-mail, which will be added to the properties of the binary where possible"); + + { + StringArray projectTypeNames; + Array projectTypeCodes; + + const Array& types = ProjectType::getAllTypes(); + + for (int i = 0; i < types.size(); ++i) + { + projectTypeNames.add (types.getUnchecked(i)->getDescription()); + projectTypeCodes.add (types.getUnchecked(i)->getType()); + } + + props.add (new ChoicePropertyComponent (getProjectTypeValue(), "Project Type", projectTypeNames, projectTypeCodes)); + } + + 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'"); + + if (getProjectType().isAudioPlugin()) + createAudioPluginPropertyEditors (props); + + { + const int maxSizes[] = { 20480, 10240, 6144, 2048, 1024, 512, 256, 128, 64 }; + + StringArray maxSizeNames; + Array maxSizeCodes; + + maxSizeNames.add (TRANS("Default")); + maxSizeCodes.add (var::null); + + maxSizeNames.add (String::empty); + maxSizeCodes.add (var::null); + + for (int i = 0; i < numElementsInArray (maxSizes); ++i) + { + const int sizeInBytes = maxSizes[i] * 1024; + maxSizeNames.add (File::descriptionOfSizeInBytes (sizeInBytes)); + maxSizeCodes.add (sizeInBytes); + } + + props.add (new ChoicePropertyComponent (getMaxBinaryFileSize(), "BinaryData.cpp size limit", maxSizeNames, maxSizeCodes), + "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)."); + } + + props.add (new BooleanPropertyComponent (shouldIncludeBinaryInAppConfig(), "Include Binary", + "Include BinaryData.h in the AppConfig.h file")); + + props.add (new TextPropertyComponent (getProjectPreprocessorDefs(), "Preprocessor definitions", 32768, true), + "Global preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace, commas, or " + "new-lines to separate the items - to include a space or comma in a definition, precede it with a backslash."); + + props.add (new TextPropertyComponent (getProjectUserNotes(), "Notes", 32768, true), + "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) +{ + StringArray segments; + segments.addTokens (p.getVersionString(), ",.", ""); + segments.trim(); + segments.removeEmptyStrings(); + return segments; +} + +int Project::getVersionAsHexInteger() const +{ + const StringArray segments (getVersionSegments (*this)); + + int value = (segments[0].getIntValue() << 16) + + (segments[1].getIntValue() << 8) + + segments[2].getIntValue(); + + if (segments.size() >= 4) + value = (value << 8) + segments[3].getIntValue(); + + return value; +} + +String Project::getVersionAsHex() const +{ + return "0x" + String::toHexString (getVersionAsHexInteger()); +} + +StringPairArray Project::getPreprocessorDefs() const +{ + return parsePreprocessorDefs (projectRoot [Ids::defines]); +} + +File Project::getBinaryDataCppFile (int index) const +{ + const File cpp (getGeneratedCodeFolder().getChildFile ("BinaryData.cpp")); + + if (index > 0) + return cpp.getSiblingFile (cpp.getFileNameWithoutExtension() + String (index + 1)) + .withFileExtension (cpp.getFileExtension()); + + return cpp; +} + +Project::Item Project::getMainGroup() +{ + return Item (*this, projectRoot.getChildWithName (Ids::MAINGROUP), false); +} + +PropertiesFile& Project::getStoredProperties() const +{ + return getAppSettings().getProjectProperties (getProjectUID()); +} + +static void findImages (const Project::Item& item, OwnedArray& found) +{ + if (item.isImageFile()) + { + found.add (new Project::Item (item)); + } + else if (item.isGroup()) + { + for (int i = 0; i < item.getNumChildren(); ++i) + findImages (item.getChild (i), found); + } +} + +void Project::findAllImageItems (OwnedArray& items) +{ + findImages (getMainGroup(), items); +} + +//============================================================================== +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), belongsToModule (other.belongsToModule) +{ +} + +Project::Item Project::Item::createCopy() { Item i (*this); i.state = i.state.createCopy(); return i; } + +String Project::Item::getID() const { return state [Ids::ID]; } +void Project::Item::setID (const String& newID) { state.setProperty (Ids::ID, newID, nullptr); } + +Drawable* Project::Item::loadAsImageFile() const +{ + return isValid() ? Drawable::createFromImageFile (getFile()) + : nullptr; +} + +Project::Item Project::Item::createGroup (Project& project, const String& name, const String& uid, bool isModuleCode) +{ + Item group (project, ValueTree (Ids::GROUP), isModuleCode); + group.setID (uid); + group.initialiseMissingProperties(); + group.getNameValue() = name; + return group; +} + +bool Project::Item::isFile() const { return state.hasType (Ids::FILE); } +bool Project::Item::isGroup() const { return state.hasType (Ids::GROUP) || isMainGroup(); } +bool Project::Item::isMainGroup() const { return state.hasType (Ids::MAINGROUP); } + +bool Project::Item::isImageFile() const +{ + return isFile() && (ImageFileFormat::findImageFormatForFileExtension (getFile()) != nullptr + || getFile().hasFileExtension ("svg")); +} + +Project::Item Project::Item::findItemWithID (const String& targetId) const +{ + if (state [Ids::ID] == targetId) + return *this; + + if (isGroup()) + { + for (int i = getNumChildren(); --i >= 0;) + { + Item found (getChild(i).findItemWithID (targetId)); + + if (found.isValid()) + return found; + } + } + + return Item (project, ValueTree(), false); +} + +bool Project::Item::canContain (const Item& child) const +{ + if (isFile()) + return false; + + if (isGroup()) + return child.isFile() || child.isGroup(); + + jassertfalse; + return false; +} + +bool Project::Item::shouldBeAddedToTargetProject() const { return isFile(); } + +Value Project::Item::getShouldCompileValue() { return state.getPropertyAsValue (Ids::compile, getUndoManager()); } +bool Project::Item::shouldBeCompiled() const { return state [Ids::compile]; } + +Value Project::Item::getShouldAddToBinaryResourcesValue() { return state.getPropertyAsValue (Ids::resource, getUndoManager()); } +bool Project::Item::shouldBeAddedToBinaryResources() const { return state [Ids::resource]; } + +Value Project::Item::getShouldAddToXcodeResourcesValue() { return state.getPropertyAsValue (Ids::xcodeResource, getUndoManager()); } +bool Project::Item::shouldBeAddedToXcodeResources() const { return state [Ids::xcodeResource]; } + +Value Project::Item::getShouldInhibitWarningsValue() { return state.getPropertyAsValue (Ids::noWarnings, getUndoManager()); } +bool Project::Item::shouldInhibitWarnings() const { return state [Ids::noWarnings]; } + +bool Project::Item::isModuleCode() const { return belongsToModule; } + +String Project::Item::getFilePath() const +{ + if (isFile()) + return state [Ids::file].toString(); + + return String(); +} + +File Project::Item::getFile() const +{ + if (isFile()) + return project.resolveFilename (state [Ids::file].toString()); + + return File(); +} + +void Project::Item::setFile (const File& file) +{ + setFile (RelativePath (project.getRelativePathForFile (file), RelativePath::projectFolder)); + jassert (getFile() == file); +} + +void Project::Item::setFile (const RelativePath& file) +{ + jassert (isFile()); + state.setProperty (Ids::file, file.toUnixStyle(), getUndoManager()); + state.setProperty (Ids::name, file.getFileName(), getUndoManager()); +} + +bool Project::Item::renameFile (const File& newFile) +{ + const File oldFile (getFile()); + + if (oldFile.moveFileTo (newFile) + || (newFile.exists() && ! oldFile.exists())) + { + setFile (newFile); + ProjucerApplication::getApp().openDocumentManager.fileHasBeenRenamed (oldFile, newFile); + return true; + } + + return false; +} + +bool Project::Item::containsChildForFile (const RelativePath& file) const +{ + return state.getChildWithProperty (Ids::file, file.toUnixStyle()).isValid(); +} + +Project::Item Project::Item::findItemForFile (const File& file) const +{ + if (getFile() == file) + return *this; + + if (isGroup()) + { + for (int i = getNumChildren(); --i >= 0;) + { + Item found (getChild(i).findItemForFile (file)); + + if (found.isValid()) + return found; + } + } + + return Item (project, ValueTree(), false); +} + +File Project::Item::determineGroupFolder() const +{ + jassert (isGroup()); + File f; + + for (int i = 0; i < getNumChildren(); ++i) + { + f = getChild(i).getFile(); + + if (f.exists()) + return f.getParentDirectory(); + } + + Item parent (getParent()); + if (parent != *this) + { + f = parent.determineGroupFolder(); + + if (f.getChildFile (getName()).isDirectory()) + f = f.getChildFile (getName()); + } + else + { + f = project.getProjectFolder(); + + if (f.getChildFile ("Source").isDirectory()) + f = f.getChildFile ("Source"); + } + + return f; +} + +void Project::Item::initialiseMissingProperties() +{ + if (! state.hasProperty (Ids::ID)) + setID (createAlphaNumericUID()); + + if (isFile()) + { + state.setProperty (Ids::name, getFile().getFileName(), nullptr); + } + else if (isGroup()) + { + for (int i = getNumChildren(); --i >= 0;) + getChild(i).initialiseMissingProperties(); + } +} + +Value Project::Item::getNameValue() +{ + return state.getPropertyAsValue (Ids::name, getUndoManager()); +} + +String Project::Item::getName() const +{ + return state [Ids::name]; +} + +void Project::Item::addChild (const Item& newChild, int insertIndex) +{ + state.addChild (newChild.state, insertIndex, getUndoManager()); +} + +void Project::Item::removeItemFromProject() +{ + state.getParent().removeChild (state, getUndoManager()); +} + +Project::Item Project::Item::getParent() const +{ + if (isMainGroup() || ! isGroup()) + return *this; + + return Item (project, state.getParent(), belongsToModule); +} + +struct ItemSorter +{ + static int compareElements (const ValueTree& first, const ValueTree& second) + { + return first [Ids::name].toString().compareNatural (second [Ids::name].toString()); + } +}; + +struct ItemSorterWithGroupsAtStart +{ + static int compareElements (const ValueTree& first, const ValueTree& second) + { + const bool firstIsGroup = first.hasType (Ids::GROUP); + const bool secondIsGroup = second.hasType (Ids::GROUP); + + if (firstIsGroup == secondIsGroup) + return first [Ids::name].toString().compareNatural (second [Ids::name].toString()); + + return firstIsGroup ? -1 : 1; + } +}; + +static void sortGroup (ValueTree& state, bool keepGroupsAtStart, UndoManager* undoManager) +{ + if (keepGroupsAtStart) + { + ItemSorterWithGroupsAtStart sorter; + state.sort (sorter, undoManager, true); + } + else + { + ItemSorter sorter; + state.sort (sorter, undoManager, true); + } +} + +static bool isGroupSorted (const ValueTree& state, bool keepGroupsAtStart) +{ + if (state.getNumChildren() == 0) + return false; + + if (state.getNumChildren() == 1) + return true; + + ValueTree stateCopy (state.createCopy()); + sortGroup (stateCopy, keepGroupsAtStart, nullptr); + return stateCopy.isEquivalentTo (state); +} + +void Project::Item::sortAlphabetically (bool keepGroupsAtStart, bool recursive) +{ + sortGroup (state, keepGroupsAtStart, getUndoManager()); + + if (recursive) + for (int i = getNumChildren(); --i >= 0;) + getChild(i).sortAlphabetically (keepGroupsAtStart, true); +} + +Project::Item Project::Item::getOrCreateSubGroup (const String& name) +{ + for (int i = state.getNumChildren(); --i >= 0;) + { + const ValueTree child (state.getChild (i)); + if (child.getProperty (Ids::name) == name && child.hasType (Ids::GROUP)) + return Item (project, child, belongsToModule); + } + + return addNewSubGroup (name, -1); +} + +Project::Item Project::Item::addNewSubGroup (const String& name, int insertIndex) +{ + String newID (createGUID (getID() + name + String (getNumChildren()))); + + int n = 0; + while (project.getMainGroup().findItemWithID (newID).isValid()) + newID = createGUID (newID + String (++n)); + + Item group (createGroup (project, name, newID, belongsToModule)); + + jassert (canContain (group)); + addChild (group, insertIndex); + return group; +} + +bool Project::Item::addFileAtIndex (const File& file, int insertIndex, const bool shouldCompile) +{ + if (file == File() || file.isHidden() || file.getFileName().startsWithChar ('.')) + return false; + + if (file.isDirectory()) + { + Item group (addNewSubGroup (file.getFileName(), insertIndex)); + + for (DirectoryIterator iter (file, false, "*", File::findFilesAndDirectories); iter.next();) + if (! project.getMainGroup().findItemForFile (iter.getFile()).isValid()) + group.addFileRetainingSortOrder (iter.getFile(), shouldCompile); + } + else if (file.existsAsFile()) + { + if (! project.getMainGroup().findItemForFile (file).isValid()) + addFileUnchecked (file, insertIndex, shouldCompile); + } + else + { + jassertfalse; + } + + return true; +} + +bool Project::Item::addFileRetainingSortOrder (const File& file, bool shouldCompile) +{ + const bool wasSortedGroupsNotFirst = isGroupSorted (state, false); + const bool wasSortedGroupsFirst = isGroupSorted (state, true); + + if (! addFileAtIndex (file, 0, shouldCompile)) + return false; + + if (wasSortedGroupsNotFirst || wasSortedGroupsFirst) + sortAlphabetically (wasSortedGroupsFirst, false); + + return true; +} + +void Project::Item::addFileUnchecked (const File& file, int insertIndex, const bool shouldCompile) +{ + Item item (project, ValueTree (Ids::FILE), belongsToModule); + item.initialiseMissingProperties(); + item.getNameValue() = file.getFileName(); + item.getShouldCompileValue() = shouldCompile && file.hasFileExtension (fileTypesToCompileByDefault); + item.getShouldAddToBinaryResourcesValue() = project.shouldBeAddedToBinaryResourcesByDefault (file); + + if (canContain (item)) + { + item.setFile (file); + addChild (item, insertIndex); + } +} + +bool Project::Item::addRelativeFile (const RelativePath& file, int insertIndex, bool shouldCompile) +{ + Item item (project, ValueTree (Ids::FILE), belongsToModule); + item.initialiseMissingProperties(); + item.getNameValue() = file.getFileName(); + item.getShouldCompileValue() = shouldCompile; + item.getShouldAddToBinaryResourcesValue() = project.shouldBeAddedToBinaryResourcesByDefault (file); + + if (canContain (item)) + { + item.setFile (file); + addChild (item, insertIndex); + return true; + } + + return false; +} + +Icon Project::Item::getIcon() const +{ + const Icons& icons = getIcons(); + + if (isFile()) + { + if (isImageFile()) + return Icon (icons.imageDoc, Colours::blue); + + return Icon (icons.document, Colours::yellow); + } + + if (isMainGroup()) + return Icon (icons.juceLogo, Colours::orange); + + return Icon (icons.folder, Colours::darkgrey); +} + +bool Project::Item::isIconCrossedOut() const +{ + return isFile() + && ! (shouldBeCompiled() + || shouldBeAddedToBinaryResources() + || getFile().hasFileExtension (headerFileExtensions)); +} + +//============================================================================== +ValueTree Project::getConfigNode() +{ + return projectRoot.getOrCreateChildWithName (Ids::JUCEOPTIONS, nullptr); +} + +const char* const Project::configFlagDefault = "default"; +const char* const Project::configFlagEnabled = "enabled"; +const char* const Project::configFlagDisabled = "disabled"; + +Value Project::getConfigFlag (const String& name) +{ + ValueTree configNode (getConfigNode()); + Value v (configNode.getPropertyAsValue (name, getUndoManagerFor (configNode))); + + if (v.getValue().toString().isEmpty()) + v = configFlagDefault; + + return v; +} + +bool Project::isConfigFlagEnabled (const String& name) const +{ + return projectRoot.getChildWithName (Ids::JUCEOPTIONS).getProperty (name) == configFlagEnabled; +} + +void Project::sanitiseConfigFlags() +{ + ValueTree configNode (getConfigNode()); + + for (int i = configNode.getNumProperties(); --i >= 0;) + { + const var value (configNode [configNode.getPropertyName(i)]); + + if (value != configFlagEnabled && value != configFlagDisabled) + configNode.removeProperty (configNode.getPropertyName(i), getUndoManagerFor (configNode)); + } +} + +//============================================================================== +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() +{ + if (enabledModulesList == nullptr) + enabledModulesList = new EnabledModuleList (*this, projectRoot.getOrCreateChildWithName (Ids::MODULES, nullptr)); + + return *enabledModulesList; +} + +//============================================================================== +ValueTree Project::getExporters() +{ + return projectRoot.getOrCreateChildWithName (Ids::EXPORTFORMATS, nullptr); +} + +int Project::getNumExporters() +{ + return getExporters().getNumChildren(); +} + +ProjectExporter* Project::createExporter (int index) +{ + jassert (index >= 0 && index < getNumExporters()); + return ProjectExporter::createExporter (*this, getExporters().getChild (index)); +} + +void Project::addNewExporter (const String& exporterName) +{ + ScopedPointer exp (ProjectExporter::createNewExporter (*this, exporterName)); + + ValueTree exporters (getExporters()); + exporters.addChild (exp->settings, -1, getUndoManagerFor (exporters)); +} + +void Project::createExporterForCurrentPlatform() +{ + addNewExporter (ProjectExporter::getCurrentPlatformExporterName()); +} + +//============================================================================== +String Project::getFileTemplate (const String& templateName) +{ + int dataSize; + const char* data = BinaryData::getNamedResource (templateName.toUTF8(), dataSize); + + if (data == nullptr) + { + jassertfalse; + return String::empty; + } + + return String::fromUTF8 (data, dataSize); +} + +//============================================================================== +Project::ExporterIterator::ExporterIterator (Project& p) : index (-1), project (p) {} +Project::ExporterIterator::~ExporterIterator() {} + +bool Project::ExporterIterator::next() +{ + if (++index >= project.getNumExporters()) + return false; + + exporter = project.createExporter (index); + + if (exporter == nullptr) + { + jassertfalse; // corrupted project file? + return next(); + } + + return true; +} diff --git a/extras/Projucer/Source/Project/jucer_Project.h b/extras/Projucer/Source/Project/jucer_Project.h new file mode 100644 index 00000000..f923408c --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_Project.h @@ -0,0 +1,340 @@ +/* + ============================================================================== + + 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_PROJECT_H_INCLUDED +#define JUCER_PROJECT_H_INCLUDED + +class ProjectExporter; +class ProjectType; +class LibraryModule; +class EnabledModuleList; + +//============================================================================== +class Project : public FileBasedDocument, + public ValueTree::Listener +{ +public: + //============================================================================== + Project (const File&); + ~Project(); + + //============================================================================== + // FileBasedDocument stuff.. + String getDocumentTitle() override; + Result loadDocument (const File& file) override; + Result saveDocument (const File& file) override; + Result saveProject (const File& file, bool isCommandLineApp); + Result saveResourcesOnly (const File& file); + File getLastDocumentOpened() override; + void setLastDocumentOpened (const File& file) override; + + void setTitle (const String& newTitle); + + //============================================================================== + File getProjectFolder() const { return getFile().getParentDirectory(); } + ValueTree getProjectRoot() const { return projectRoot; } + String getTitle() const; + Value getProjectNameValue() { return getMainGroup().getNameValue(); } + String getProjectFilenameRoot() { return File::createLegalFileName (getDocumentTitle()); } + String getProjectUID() const { return projectRoot [Ids::ID]; } + + //============================================================================== + template + bool shouldBeAddedToBinaryResourcesByDefault (const FileType& file) + { + return ! file.hasFileExtension (sourceOrHeaderFileExtensions); + } + + File resolveFilename (String filename) const; + String getRelativePathForFile (const File& file) const; + + //============================================================================== + // Creates editors for the project settings + void createPropertyEditors (PropertyListBuilder&); + + //============================================================================== + // project types + const ProjectType& getProjectType() const; + Value getProjectTypeValue() { return getProjectValue (Ids::projectType); } + String getProjectTypeString() const { return projectRoot [Ids::projectType]; } + + Value getVersionValue() { return getProjectValue (Ids::version); } + String getVersionString() const { return projectRoot [Ids::version]; } + String getVersionAsHex() const; + int getVersionAsHexInteger() const; + + Value getBundleIdentifier() { return getProjectValue (Ids::bundleIdentifier); } + String getDefaultBundleIdentifier() { return "com.yourcompany." + CodeHelpers::makeValidIdentifier (getTitle(), false, true, false); } + + Value getAAXIdentifier() { return getProjectValue (Ids::aaxIdentifier); } + String getDefaultAAXIdentifier() { return getDefaultBundleIdentifier(); } + + Value getCompanyName() { return getProjectValue (Ids::companyName); } + Value getCompanyWebsite() { return getProjectValue (Ids::companyWebsite); } + Value getCompanyEmail() { return getProjectValue (Ids::companyEmail); } + + //============================================================================== + Value getProjectValue (const Identifier& name) { return projectRoot.getPropertyAsValue (name, getUndoManagerFor (projectRoot)); } + + Value getProjectPreprocessorDefs() { return getProjectValue (Ids::defines); } + StringPairArray getPreprocessorDefs() const; + + Value getProjectUserNotes() { return getProjectValue (Ids::userNotes); } + + //============================================================================== + File getGeneratedCodeFolder() const { return getFile().getSiblingFile ("JuceLibraryCode"); } + File getSourceFilesFolder() const { return getProjectFolder().getChildFile ("Source"); } + File getLocalModulesFolder() const { return getGeneratedCodeFolder().getChildFile ("modules"); } + File getLocalModuleFolder (const String& moduleID) const { return getLocalModulesFolder().getChildFile (moduleID); } + File getAppIncludeFile() const { return getGeneratedCodeFolder().getChildFile (getJuceSourceHFilename()); } + + File getBinaryDataCppFile (int index) const; + File getBinaryDataHeaderFile() const { return getBinaryDataCppFile (0).withFileExtension (".h"); } + Value getMaxBinaryFileSize() { return getProjectValue (Ids::maxBinaryFileSize); } + Value shouldIncludeBinaryInAppConfig() { return getProjectValue (Ids::includeBinaryInAppConfig); } + + //============================================================================== + String getAppConfigFilename() const { return "AppConfig.h"; } + 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(); + + void updateDeprecatedProjectSettingsInteractively(); + + //============================================================================== + class Item + { + public: + //============================================================================== + Item (Project& project, const ValueTree& itemNode, bool isModuleCode); + Item (const Item& other); + + static Item createGroup (Project& project, const String& name, const String& uid, bool isModuleCode); + void initialiseMissingProperties(); + + //============================================================================== + bool isValid() const { return state.isValid(); } + bool operator== (const Item& other) const { return state == other.state && &project == &other.project; } + bool operator!= (const Item& other) const { return ! operator== (other); } + + //============================================================================== + bool isFile() const; + bool isGroup() const; + bool isMainGroup() const; + bool isImageFile() const; + + String getID() const; + void setID (const String& newID); + Item findItemWithID (const String& targetId) const; // (recursive search) + + String getImageFileID() const; + Drawable* loadAsImageFile() const; + + //============================================================================== + Value getNameValue(); + String getName() const; + File getFile() const; + String getFilePath() const; + void setFile (const File& file); + void setFile (const RelativePath& file); + File determineGroupFolder() const; + bool renameFile (const File& newFile); + + bool shouldBeAddedToTargetProject() const; + bool shouldBeCompiled() const; + Value getShouldCompileValue(); + + bool shouldBeAddedToBinaryResources() const; + Value getShouldAddToBinaryResourcesValue(); + + bool shouldBeAddedToXcodeResources() const; + Value getShouldAddToXcodeResourcesValue(); + + Value getShouldInhibitWarningsValue(); + bool shouldInhibitWarnings() 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), belongsToModule); } + + Item addNewSubGroup (const String& name, int insertIndex); + Item getOrCreateSubGroup (const String& name); + void addChild (const Item& newChild, int insertIndex); + bool addFileAtIndex (const File& file, int insertIndex, bool shouldCompile); + bool addFileRetainingSortOrder (const File& file, bool shouldCompile); + void addFileUnchecked (const File& file, int insertIndex, bool shouldCompile); + bool addRelativeFile (const RelativePath& file, int insertIndex, bool shouldCompile); + void removeItemFromProject(); + void sortAlphabetically (bool keepGroupsAtStart, bool recursive); + Item findItemForFile (const File& file) const; + bool containsChildForFile (const RelativePath& file) const; + + Item getParent() const; + Item createCopy(); + + UndoManager* getUndoManager() const { return project.getUndoManagerFor (state); } + + Icon getIcon() const; + bool isIconCrossedOut() const; + + Project& project; + ValueTree state; + + private: + Item& operator= (const Item&); + bool belongsToModule; + }; + + Item getMainGroup(); + + void findAllImageItems (OwnedArray& items); + + //============================================================================== + ValueTree getExporters(); + int getNumExporters(); + ProjectExporter* createExporter (int index); + void addNewExporter (const String& exporterName); + void createExporterForCurrentPlatform(); + + struct ExporterIterator + { + ExporterIterator (Project& project); + ~ExporterIterator(); + + bool next(); + + ProjectExporter& operator*() const { return *exporter; } + ProjectExporter* operator->() const { return exporter; } + + ScopedPointer exporter; + int index; + + private: + Project& project; + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ExporterIterator) + }; + + //============================================================================== + struct ConfigFlag + { + String symbol, description, sourceModuleID; + Value value; // 1 = true, 2 = false, anything else = use default + }; + + static const char* const configFlagDefault; + static const char* const configFlagEnabled; + static const char* const configFlagDisabled; + Value getConfigFlag (const String& name); + bool isConfigFlagEnabled (const String& name) const; + + //============================================================================== + EnabledModuleList& getModules(); + + //============================================================================== + String getFileTemplate (const String& templateName); + + //============================================================================== + PropertiesFile& getStoredProperties() const; + + //============================================================================== + void valueTreePropertyChanged (ValueTree&, const Identifier&) override; + void valueTreeChildAdded (ValueTree&, ValueTree&) override; + void valueTreeChildRemoved (ValueTree&, ValueTree&, int) override; + void valueTreeChildOrderChanged (ValueTree&, int, int) override; + void valueTreeParentChanged (ValueTree&) override; + + //============================================================================== + UndoManager* getUndoManagerFor (const ValueTree&) const { return nullptr; } + + //============================================================================== + static const char* projectFileExtension; + +private: + //============================================================================== + void setMissingAudioPluginDefaultValues(); + void createAudioPluginPropertyEditors (PropertyListBuilder& props); + + //============================================================================== + friend class Item; + ValueTree projectRoot; + ScopedPointer enabledModulesList; + bool isSaving; + + void updateProjectSettings(); + void sanitiseConfigFlags(); + void setMissingDefaultValues(); + ValueTree getConfigurations() const; + ValueTree getConfigNode(); + + void updateOldStyleConfigList(); + void moveOldPropertyFromProjectToAllExporters (Identifier name); + void removeDefunctExporters(); + void updateOldModulePaths(); + void warnAboutOldProjucerVersion(); + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Project) +}; + + +#endif // JUCER_PROJECT_H_INCLUDED diff --git a/extras/Projucer/Source/Project/jucer_ProjectContentComponent.cpp b/extras/Projucer/Source/Project/jucer_ProjectContentComponent.cpp new file mode 100644 index 00000000..d51a37a1 --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_ProjectContentComponent.cpp @@ -0,0 +1,1503 @@ +/* + ============================================================================== + + 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_ProjectContentComponent.h" +#include "jucer_Module.h" +#include "../Application/jucer_MainWindow.h" +#include "../Application/jucer_Application.h" +#include "../Code Editor/jucer_SourceCodeEditor.h" +#include "../Utility/jucer_FilePathPropertyComponent.h" +#include "jucer_TreeItemTypes.h" + + +//============================================================================== +class FileTreePanel : public TreePanelBase +{ +public: + FileTreePanel (Project& p) + : TreePanelBase (&p, "fileTreeState") + { + tree.setMultiSelectEnabled (true); + setRoot (new FileTreeItemTypes::GroupItem (p.getMainGroup())); + } + + void updateMissingFileStatuses() + { + if (FileTreeItemTypes::ProjectTreeItemBase* p = dynamic_cast (rootItem.get())) + p->checkFileStatus(); + } +}; + +//============================================================================== +class ConfigTreePanel : public TreePanelBase +{ +public: + ConfigTreePanel (Project& p) + : TreePanelBase (&p, "settingsTreeState") + { + tree.setMultiSelectEnabled (false); + setRoot (new ConfigTreeItemTypes::RootItem (p)); + + if (tree.getNumSelectedItems() == 0) + tree.getRootItem()->setSelected (true, true); + + #if JUCE_MAC || JUCE_WINDOWS + ApplicationCommandManager& commandManager = ProjucerApplication::getCommandManager(); + + addAndMakeVisible (createExporterButton); + createExporterButton.setCommandToTrigger (&commandManager, CommandIDs::createNewExporter, true); + createExporterButton.setButtonText (commandManager.getNameOfCommand (CommandIDs::createNewExporter)); + createExporterButton.setColour (TextButton::buttonColourId, Colours::white.withAlpha (0.5f)); + + addAndMakeVisible (openProjectButton); + openProjectButton.setCommandToTrigger (&commandManager, CommandIDs::openInIDE, true); + openProjectButton.setButtonText (commandManager.getNameOfCommand (CommandIDs::openInIDE)); + openProjectButton.setColour (TextButton::buttonColourId, Colours::white.withAlpha (0.5f)); + + addAndMakeVisible (saveAndOpenButton); + saveAndOpenButton.setCommandToTrigger (&commandManager, CommandIDs::saveAndOpenInIDE, true); + saveAndOpenButton.setButtonText (commandManager.getNameOfCommand (CommandIDs::saveAndOpenInIDE)); + saveAndOpenButton.setColour (TextButton::buttonColourId, Colours::white.withAlpha (0.5f)); + #endif + } + + void resized() override + { + Rectangle r (getAvailableBounds()); + r.removeFromBottom (6); + + if (saveAndOpenButton.isVisible()) + saveAndOpenButton.setBounds (r.removeFromBottom (30).reduced (16, 4)); + + if (openProjectButton.isVisible()) + openProjectButton.setBounds (r.removeFromBottom (30).reduced (16, 4)); + + if (createExporterButton.isVisible()) + { + r.removeFromBottom (10); + createExporterButton.setBounds (r.removeFromBottom (30).reduced (16, 4)); + } + + tree.setBounds (r); + } + + static void reselect (TreeViewItem& item) + { + item.setSelected (false, true); + item.setSelected (true, true); + } + + void showProjectSettings() + { + if (ConfigTreeItemTypes::ConfigTreeItemBase* root = dynamic_cast (rootItem.get())) + if (root->isProjectSettings()) + reselect (*root); + } + + void showModules() + { + if (ConfigTreeItemTypes::ConfigTreeItemBase* mods = getModulesItem()) + reselect (*mods); + } + + void showModule (const String& moduleID) + { + if (ConfigTreeItemTypes::ConfigTreeItemBase* mods = getModulesItem()) + { + mods->setOpen (true); + + for (int i = mods->getNumSubItems(); --i >= 0;) + if (ConfigTreeItemTypes::ModuleItem* m = dynamic_cast (mods->getSubItem (i))) + if (m->moduleID == moduleID) + reselect (*m); + } + } + + TextButton createExporterButton, openProjectButton, saveAndOpenButton; + +private: + ConfigTreeItemTypes::ConfigTreeItemBase* getModulesItem() + { + if (ConfigTreeItemTypes::ConfigTreeItemBase* root = dynamic_cast (rootItem.get())) + if (root->isProjectSettings()) + if (ConfigTreeItemTypes::ConfigTreeItemBase* mods = dynamic_cast (root->getSubItem (0))) + if (mods->isModulesList()) + return mods; + + return nullptr; + } +}; + +//============================================================================== +struct LogoComponent : public Component +{ + LogoComponent() + { + ScopedPointer svg (XmlDocument::parse (BinaryData::background_logo_svg)); + logo = Drawable::createFromSVG (*svg); + } + + void paint (Graphics& g) override + { + g.setColour (findColour (mainBackgroundColourId).contrasting (0.3f)); + + Rectangle r (getLocalBounds()); + + g.setFont (15.0f); + g.drawFittedText (getVersionInfo(), r.removeFromBottom (50), Justification::centredBottom, 3); + + logo->drawWithin (g, r.withTrimmedBottom (r.getHeight() / 4).toFloat(), + RectanglePlacement (RectanglePlacement::centred), 1.0f); + } + + static String getVersionInfo() + { + return SystemStats::getJUCEVersion() + + newLine + + ProjucerApplication::getApp().getVersionDescription(); + } + + ScopedPointer logo; +}; + +//============================================================================== +ProjectContentComponent::ProjectContentComponent() + : project (nullptr), + currentDocument (nullptr), + treeViewTabs (TabbedButtonBar::TabsAtTop) +{ + setOpaque (true); + setWantsKeyboardFocus (true); + + addAndMakeVisible (logo = new LogoComponent()); + + treeSizeConstrainer.setMinimumWidth (200); + treeSizeConstrainer.setMaximumWidth (500); + + treeViewTabs.setOutline (0); + treeViewTabs.getTabbedButtonBar().setMinimumTabScaleFactor (0.3); + + ProjucerApplication::getApp().openDocumentManager.addListener (this); + + Desktop::getInstance().addFocusChangeListener (this); + startTimer (1600); +} + +ProjectContentComponent::~ProjectContentComponent() +{ + Desktop::getInstance().removeFocusChangeListener (this); + killChildProcess(); + + ProjucerApplication::getApp().openDocumentManager.removeListener (this); + + logo = nullptr; + setProject (nullptr); + contentView = nullptr; + removeChildComponent (&bubbleMessage); + jassert (getNumChildComponents() <= 1); +} + +void ProjectContentComponent::paint (Graphics& g) +{ + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); +} + +void ProjectContentComponent::paintOverChildren (Graphics& g) +{ + if (resizerBar != nullptr) + { + const int shadowSize = 15; + const int x = resizerBar->getX(); + + ColourGradient cg (Colours::black.withAlpha (0.25f), (float) x, 0, + Colours::transparentBlack, (float) (x - shadowSize), 0, false); + cg.addColour (0.4, Colours::black.withAlpha (0.07f)); + cg.addColour (0.6, Colours::black.withAlpha (0.02f)); + + g.setGradientFill (cg); + g.fillRect (x - shadowSize, 0, shadowSize, getHeight()); + } +} + +void ProjectContentComponent::resized() +{ + Rectangle r (getLocalBounds()); + + if (treeViewTabs.isVisible()) + treeViewTabs.setBounds (r.removeFromLeft (treeViewTabs.getWidth())); + + if (resizerBar != nullptr) + resizerBar->setBounds (r.withWidth (4)); + + if (contentView != nullptr) + contentView->setBounds (r); + + if (logo != nullptr) + logo->setBounds (r.reduced (r.getWidth() / 4, r.getHeight() / 4)); +} + +void ProjectContentComponent::lookAndFeelChanged() +{ + repaint(); +} + +void ProjectContentComponent::childBoundsChanged (Component* child) +{ + if (child == &treeViewTabs) + resized(); +} + +void ProjectContentComponent::setProject (Project* newProject) +{ + if (project != newProject) + { + lastCrashMessage = String(); + killChildProcess(); + + if (project != nullptr) + project->removeChangeListener (this); + + contentView = nullptr; + resizerBar = nullptr; + + deleteProjectTabs(); + project = newProject; + rebuildProjectTabs(); + } +} + +void ProjectContentComponent::rebuildProjectTabs() +{ + deleteProjectTabs(); + + if (project != nullptr) + { + addAndMakeVisible (treeViewTabs); + + createProjectTabs(); + + PropertiesFile& settings = project->getStoredProperties(); + + const String lastTabName (settings.getValue ("lastTab")); + int lastTabIndex = treeViewTabs.getTabNames().indexOf (lastTabName); + + if (lastTabIndex < 0 || lastTabIndex > treeViewTabs.getNumTabs()) + lastTabIndex = 1; + + treeViewTabs.setCurrentTabIndex (lastTabIndex); + + int lastTreeWidth = settings.getValue ("projectPanelWidth").getIntValue(); + if (lastTreeWidth < 150) + lastTreeWidth = 240; + + treeViewTabs.setBounds (0, 0, lastTreeWidth, getHeight()); + + addAndMakeVisible (resizerBar = new ResizableEdgeComponent (&treeViewTabs, &treeSizeConstrainer, + ResizableEdgeComponent::rightEdge)); + resizerBar->setAlwaysOnTop (true); + + project->addChangeListener (this); + + updateMissingFileStatuses(); + } + else + { + treeViewTabs.setVisible (false); + } + + 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().updateAllBuildTabs(); + } + } + + 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 + ignoreUnused (child); + return new ProjucerDisabledComp ("Windows support is still under development - " + "please check for updates at www.juce.com!", false); + #elif JUCE_LINUX + ignoreUnused (child); + return new ProjucerDisabledComp ("Linux support is still under development - " + "please check for updates at www.juce.com!", false); + #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); + const Colour tabColour (Colours::transparentBlack); + + 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() +{ + if (project != nullptr && treeViewTabs.isShowing()) + { + PropertiesFile& settings = project->getStoredProperties(); + + if (treeViewTabs.getWidth() > 0) + settings.setValue ("projectPanelWidth", treeViewTabs.getWidth()); + + if (treeViewTabs.getNumTabs() > 0) + settings.setValue ("lastTab", treeViewTabs.getCurrentTabName()); + } + + treeViewTabs.clearTabs(); +} + +void ProjectContentComponent::saveTreeViewState() +{ + for (int i = treeViewTabs.getNumTabs(); --i >= 0;) + if (TreePanelBase* t = dynamic_cast (treeViewTabs.getTabContentComponent (i))) + t->saveOpenness(); +} + +void ProjectContentComponent::saveOpenDocumentList() +{ + if (project != nullptr) + { + ScopedPointer xml (recentDocumentList.createXML()); + + if (xml != nullptr) + project->getStoredProperties().setValue ("lastDocs", xml); + } +} + +void ProjectContentComponent::reloadLastOpenDocuments() +{ + if (project != nullptr) + { + ScopedPointer xml (project->getStoredProperties().getXmlValue ("lastDocs")); + + if (xml != nullptr) + { + recentDocumentList.restoreFromXML (*project, *xml); + showDocument (recentDocumentList.getCurrentDocument(), true); + } + } +} + +bool ProjectContentComponent::documentAboutToClose (OpenDocumentManager::Document* document) +{ + hideDocument (document); + return true; +} + +void ProjectContentComponent::changeListenerCallback (ChangeBroadcaster*) +{ + updateMissingFileStatuses(); +} + +void ProjectContentComponent::updateMissingFileStatuses() +{ + if (FileTreePanel* tree = dynamic_cast (treeViewTabs.getTabContentComponent (0))) + tree->updateMissingFileStatuses(); +} + +bool ProjectContentComponent::showEditorForFile (const File& f, bool grabFocus) +{ + return getCurrentFile() == f + || showDocument (ProjucerApplication::getApp().openDocumentManager.openFile (project, f), grabFocus); +} + +bool ProjectContentComponent::hasFileInRecentList (const File& f) const +{ + return recentDocumentList.contains (f); +} + +File ProjectContentComponent::getCurrentFile() const +{ + return currentDocument != nullptr ? currentDocument->getFile() + : File::nonexistent; +} + +bool ProjectContentComponent::showDocument (OpenDocumentManager::Document* doc, bool grabFocus) +{ + if (doc == nullptr) + return false; + + if (doc->hasFileBeenModifiedExternally()) + doc->reloadFromFile(); + + if (doc == getCurrentDocument() && contentView != nullptr) + { + if (grabFocus) + contentView->grabKeyboardFocus(); + + return true; + } + + recentDocumentList.newDocumentOpened (doc); + + bool opened = setEditorComponent (doc->createEditor(), doc); + + if (opened && grabFocus) + contentView->grabKeyboardFocus(); + + return opened; +} + +void ProjectContentComponent::hideEditor() +{ + currentDocument = nullptr; + contentView = nullptr; + updateMainWindowTitle(); + ProjucerApplication::getCommandManager().commandStatusChanged(); + resized(); +} + +void ProjectContentComponent::hideDocument (OpenDocumentManager::Document* doc) +{ + if (doc == currentDocument) + { + if (OpenDocumentManager::Document* replacement = recentDocumentList.getClosestPreviousDocOtherThan (doc)) + showDocument (replacement, true); + else + hideEditor(); + } +} + +bool ProjectContentComponent::setEditorComponent (Component* editor, + OpenDocumentManager::Document* doc) +{ + if (editor != nullptr) + { + contentView = nullptr; + contentView = editor; + currentDocument = doc; + addAndMakeVisible (editor); + resized(); + + updateMainWindowTitle(); + ProjucerApplication::getCommandManager().commandStatusChanged(); + return true; + } + + updateMainWindowTitle(); + return false; +} + +void ProjectContentComponent::closeDocument() +{ + if (currentDocument != nullptr) + ProjucerApplication::getApp().openDocumentManager.closeDocument (currentDocument, true); + else if (contentView != nullptr) + if (! goToPreviousFile()) + hideEditor(); +} + +static void showSaveWarning (OpenDocumentManager::Document* currentDocument) +{ + AlertWindow::showMessageBox (AlertWindow::WarningIcon, + TRANS("Save failed!"), + TRANS("Couldn't save the file:") + + "\n" + currentDocument->getFile().getFullPathName()); +} + +void ProjectContentComponent::saveDocument() +{ + if (currentDocument != nullptr) + { + if (! currentDocument->save()) + showSaveWarning (currentDocument); + } + else + saveProject(); + + updateMainWindowTitle(); +} + +void ProjectContentComponent::saveAs() +{ + if (currentDocument != nullptr && ! currentDocument->saveAs()) + showSaveWarning (currentDocument); +} + +bool ProjectContentComponent::goToPreviousFile() +{ + OpenDocumentManager::Document* doc = recentDocumentList.getCurrentDocument(); + + if (doc == nullptr || doc == getCurrentDocument()) + doc = recentDocumentList.getPrevious(); + + return showDocument (doc, true); +} + +bool ProjectContentComponent::goToNextFile() +{ + return showDocument (recentDocumentList.getNext(), true); +} + +bool ProjectContentComponent::canGoToCounterpart() const +{ + return currentDocument != nullptr + && currentDocument->getCounterpartFile().exists(); +} + +bool ProjectContentComponent::goToCounterpart() +{ + if (currentDocument != nullptr) + { + const File file (currentDocument->getCounterpartFile()); + + if (file.exists()) + return showEditorForFile (file, true); + } + + return false; +} + +bool ProjectContentComponent::saveProject() +{ + return project != nullptr + && project->save (true, true) == FileBasedDocument::savedOk; +} + +void ProjectContentComponent::closeProject() +{ + if (MainWindow* const mw = findParentComponentOfClass()) + mw->closeCurrentProject(); +} + +void ProjectContentComponent::showFilesTab() +{ + treeViewTabs.setCurrentTabIndex (0); +} + +void ProjectContentComponent::showConfigTab() +{ + treeViewTabs.setCurrentTabIndex (1); +} + +void ProjectContentComponent::showProjectSettings() +{ + showConfigTab(); + + if (ConfigTreePanel* const tree = dynamic_cast (treeViewTabs.getCurrentContentComponent())) + tree->showProjectSettings(); +} + +void ProjectContentComponent::showModules() +{ + showConfigTab(); + + if (ConfigTreePanel* const tree = dynamic_cast (treeViewTabs.getCurrentContentComponent())) + tree->showModules(); +} + +void ProjectContentComponent::showModule (const String& moduleID) +{ + showConfigTab(); + + if (ConfigTreePanel* const tree = dynamic_cast (treeViewTabs.getCurrentContentComponent())) + tree->showModule (moduleID); +} + +StringArray ProjectContentComponent::getExportersWhichCanLaunch() const +{ + StringArray s; + + if (project != nullptr) + for (Project::ExporterIterator exporter (*project); exporter.next();) + if (exporter->canLaunchProject()) + s.add (exporter->getName()); + + return s; +} + +void ProjectContentComponent::openInIDE (int exporterIndex, bool saveFirst) +{ + if (saveFirst) + saveProject(); + + int i = 0; + + if (project != nullptr) + for (Project::ExporterIterator exporter (*project); exporter.next();) + if (exporter->canLaunchProject()) + if (i++ == exporterIndex && exporter->launchProject()) + break; +} + +static void openIDEMenuCallback (int result, ProjectContentComponent* comp, bool saveFirst) +{ + if (comp != nullptr && result > 0) + comp->openInIDE (result - 1, saveFirst); +} + +void ProjectContentComponent::openInIDE (bool saveFirst) +{ + if (project != nullptr) + { + StringArray possibleExporters = getExportersWhichCanLaunch(); + + if (possibleExporters.size() > 1) + { + PopupMenu menu; + + for (int i = 0; i < possibleExporters.size(); ++i) + menu.addItem (i + 1, possibleExporters[i]); + + menu.showMenuAsync (PopupMenu::Options(), + ModalCallbackFunction::forComponent (openIDEMenuCallback, this, saveFirst)); + } + else + { + openInIDE (0, saveFirst); + } + } +} + +static void newExporterMenuCallback (int result, ProjectContentComponent* comp) +{ + if (comp != nullptr && result > 0) + { + if (Project* p = comp->getProject()) + { + String exporterName (ProjectExporter::getExporterNames() [result - 1]); + + if (exporterName.isNotEmpty()) + p->addNewExporter (exporterName); + } + } +} + +void ProjectContentComponent::showNewExporterMenu() +{ + if (project != nullptr) + { + PopupMenu menu; + + menu.addSectionHeader ("Create a new export target:"); + + Array exporters (ProjectExporter::getExporterTypes()); + + for (int i = 0; i < exporters.size(); ++i) + { + const ProjectExporter::ExporterTypeInfo& type = exporters.getReference(i); + + menu.addItem (i + 1, type.name, true, false, type.getIcon()); + } + + menu.showMenuAsync (PopupMenu::Options(), + ModalCallbackFunction::forComponent (newExporterMenuCallback, this)); + } +} + +void ProjectContentComponent::deleteSelectedTreeItems() +{ + if (TreePanelBase* const tree = dynamic_cast (treeViewTabs.getCurrentContentComponent())) + tree->deleteSelectedItems(); +} + +void ProjectContentComponent::updateMainWindowTitle() +{ + if (MainWindow* mw = findParentComponentOfClass()) + { + String title; + File file; + bool edited = false; + + if (currentDocument != nullptr) + { + title = currentDocument->getName(); + edited = currentDocument->needsSaving(); + file = currentDocument->getFile(); + } + + if (ComponentPeer* peer = mw->getPeer()) + { + if (! peer->setDocumentEditedStatus (edited)) + if (edited) + title << "*"; + + peer->setRepresentedFile (file); + } + + mw->updateTitle (title); + } +} + +void ProjectContentComponent::showBubbleMessage (Rectangle pos, const String& text) +{ + addChildComponent (bubbleMessage); + bubbleMessage.setColour (BubbleComponent::backgroundColourId, Colours::white.withAlpha (0.7f)); + bubbleMessage.setColour (BubbleComponent::outlineColourId, Colours::black.withAlpha (0.8f)); + bubbleMessage.setAlwaysOnTop (true); + + bubbleMessage.showAt (pos, AttributedString (text), 3000, true, false); +} + +//============================================================================== +void ProjectContentComponent::showTranslationTool() +{ + if (translationTool != nullptr) + { + translationTool->toFront (true); + } + else if (project != nullptr) + { + new FloatingToolWindow ("Translation File Builder", + "transToolWindowPos", + new TranslationToolComponent(), + translationTool, + 600, 700, + 600, 400, 10000, 10000); + } +} + +//============================================================================== +struct AsyncCommandRetrier : public Timer +{ + AsyncCommandRetrier (const ApplicationCommandTarget::InvocationInfo& i) : info (i) + { + info.originatingComponent = nullptr; + startTimer (500); + } + + void timerCallback() override + { + stopTimer(); + ProjucerApplication::getCommandManager().invoke (info, true); + delete this; + } + + ApplicationCommandTarget::InvocationInfo info; + + JUCE_DECLARE_NON_COPYABLE (AsyncCommandRetrier) +}; + +bool reinvokeCommandAfterCancellingModalComps (const ApplicationCommandTarget::InvocationInfo& info) +{ + if (ModalComponentManager::getInstance()->cancelAllModalComponents()) + { + new AsyncCommandRetrier (info); + return true; + } + + return false; +} + +//============================================================================== +ApplicationCommandTarget* ProjectContentComponent::getNextCommandTarget() +{ + return findFirstTargetParentComponent(); +} + +void ProjectContentComponent::getAllCommands (Array & commands) +{ + const CommandID ids[] = { CommandIDs::saveDocument, + CommandIDs::saveDocumentAs, + CommandIDs::closeDocument, + CommandIDs::saveProject, + CommandIDs::closeProject, + CommandIDs::openInIDE, + CommandIDs::saveAndOpenInIDE, + CommandIDs::createNewExporter, + CommandIDs::showFilePanel, + CommandIDs::showConfigPanel, + CommandIDs::showProjectSettings, + CommandIDs::showProjectModules, + CommandIDs::goToPreviousDoc, + CommandIDs::goToNextDoc, + CommandIDs::goToCounterpart, + CommandIDs::deleteSelectedItem, + 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)); +} + +void ProjectContentComponent::getCommandInfo (const CommandID commandID, ApplicationCommandInfo& result) +{ + String documentName; + if (currentDocument != nullptr) + documentName = " '" + currentDocument->getName().substring (0, 32) + "'"; + + #if JUCE_MAC + const ModifierKeys cmdCtrl (ModifierKeys::ctrlModifier | ModifierKeys::commandModifier); + #else + const ModifierKeys cmdCtrl (ModifierKeys::ctrlModifier | ModifierKeys::altModifier); + #endif + + switch (commandID) + { + case CommandIDs::saveProject: + result.setInfo ("Save Project", + "Saves the current project", + CommandCategories::general, 0); + result.setActive (project != nullptr); + break; + + case CommandIDs::closeProject: + result.setInfo ("Close Project", + "Closes the current project", + CommandCategories::general, 0); + result.setActive (project != nullptr); + break; + + case CommandIDs::saveDocument: + result.setInfo ("Save" + documentName, + "Saves the current document", + CommandCategories::general, 0); + result.setActive (currentDocument != nullptr || project != nullptr); + result.defaultKeypresses.add (KeyPress ('s', ModifierKeys::commandModifier, 0)); + break; + + case CommandIDs::saveDocumentAs: + result.setInfo ("Save As...", + "Saves the current document to a new location", + CommandCategories::general, 0); + result.setActive (currentDocument != nullptr); + result.defaultKeypresses.add (KeyPress ('s', ModifierKeys::commandModifier | ModifierKeys::shiftModifier, 0)); + break; + + case CommandIDs::closeDocument: + result.setInfo ("Close" + documentName, + "Closes the current document", + CommandCategories::general, 0); + result.setActive (contentView != nullptr); + result.defaultKeypresses.add (KeyPress ('w', cmdCtrl, 0)); + break; + + case CommandIDs::goToPreviousDoc: + result.setInfo ("Previous Document", "Go to previous document", CommandCategories::general, 0); + result.setActive (recentDocumentList.canGoToPrevious()); + result.defaultKeypresses.add (KeyPress (KeyPress::leftKey, cmdCtrl, 0)); + break; + + case CommandIDs::goToNextDoc: + result.setInfo ("Next Document", "Go to next document", CommandCategories::general, 0); + result.setActive (recentDocumentList.canGoToNext()); + result.defaultKeypresses.add (KeyPress (KeyPress::rightKey, cmdCtrl, 0)); + break; + + case CommandIDs::goToCounterpart: + result.setInfo ("Open corresponding header or cpp file", "Open counterpart file", CommandCategories::general, 0); + result.setActive (canGoToCounterpart()); + result.defaultKeypresses.add (KeyPress (KeyPress::upKey, cmdCtrl, 0)); + break; + + case CommandIDs::openInIDE: + result.setInfo ("Open in IDE...", + + "Launches the project in an external IDE", + CommandCategories::general, 0); + result.setActive (ProjectExporter::canProjectBeLaunched (project)); + break; + + case CommandIDs::saveAndOpenInIDE: + result.setInfo ("Save Project and Open in IDE...", + + "Saves the project and launches it in an external IDE", + CommandCategories::general, 0); + result.setActive (ProjectExporter::canProjectBeLaunched (project)); + result.defaultKeypresses.add (KeyPress ('l', ModifierKeys::commandModifier | ModifierKeys::shiftModifier, 0)); + break; + + case CommandIDs::createNewExporter: + result.setInfo ("Create New Exporter...", + "Creates a new exporter for a compiler type", + CommandCategories::general, 0); + result.setActive (project != nullptr); + break; + + case CommandIDs::showFilePanel: + result.setInfo ("Show File Panel", + "Shows the tree of files for this project", + CommandCategories::general, 0); + result.setActive (project != nullptr); + result.defaultKeypresses.add (KeyPress ('p', ModifierKeys::commandModifier, 0)); + break; + + case CommandIDs::showConfigPanel: + result.setInfo ("Show Config Panel", + "Shows the build options for the project", + CommandCategories::general, 0); + result.setActive (project != nullptr); + result.defaultKeypresses.add (KeyPress ('i', ModifierKeys::commandModifier, 0)); + break; + + case CommandIDs::showProjectSettings: + result.setInfo ("Show Project Settings", + "Shows the main project options page", + CommandCategories::general, 0); + result.setActive (project != nullptr); + result.defaultKeypresses.add (KeyPress ('i', ModifierKeys::commandModifier | ModifierKeys::shiftModifier, 0)); + break; + + case CommandIDs::showProjectModules: + result.setInfo ("Show Project Modules", + "Shows the project's list of modules", + CommandCategories::general, 0); + result.setActive (project != nullptr); + result.defaultKeypresses.add (KeyPress ('m', ModifierKeys::commandModifier | ModifierKeys::shiftModifier, 0)); + break; + + case CommandIDs::deleteSelectedItem: + result.setInfo ("Delete Selected File", String::empty, CommandCategories::general, 0); + result.defaultKeypresses.add (KeyPress (KeyPress::deleteKey, 0, 0)); + result.defaultKeypresses.add (KeyPress (KeyPress::backspaceKey, 0, 0)); + result.setActive (dynamic_cast (treeViewTabs.getCurrentContentComponent()) != nullptr); + break; + + case CommandIDs::showTranslationTool: + 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; + } +} + +bool ProjectContentComponent::perform (const InvocationInfo& info) +{ + switch (info.commandID) + { + case CommandIDs::saveProject: + case CommandIDs::closeProject: + case CommandIDs::saveDocument: + case CommandIDs::saveDocumentAs: + case CommandIDs::closeDocument: + case CommandIDs::goToPreviousDoc: + case CommandIDs::goToNextDoc: + case CommandIDs::goToCounterpart: + case CommandIDs::saveAndOpenInIDE: + if (reinvokeCommandAfterCancellingModalComps (info)) + { + grabKeyboardFocus(); // to force any open labels to close their text editors + return true; + } + + break; + + default: + break; + } + + if (isCurrentlyBlockedByAnotherModalComponent()) + return false; + + switch (info.commandID) + { + case CommandIDs::saveProject: saveProject(); break; + case CommandIDs::closeProject: closeProject(); break; + case CommandIDs::saveDocument: saveDocument(); break; + case CommandIDs::saveDocumentAs: saveAs(); break; + + case CommandIDs::closeDocument: closeDocument(); break; + case CommandIDs::goToPreviousDoc: goToPreviousFile(); break; + case CommandIDs::goToNextDoc: goToNextFile(); break; + case CommandIDs::goToCounterpart: goToCounterpart(); break; + + case CommandIDs::showFilePanel: showFilesTab(); break; + case CommandIDs::showConfigPanel: showConfigTab(); break; + case CommandIDs::showProjectSettings: showProjectSettings(); break; + case CommandIDs::showProjectModules: showModules(); break; + + case CommandIDs::openInIDE: openInIDE (false); break; + case CommandIDs::saveAndOpenInIDE: openInIDE (true); break; + + case CommandIDs::createNewExporter: showNewExporterMenu(); break; + + case CommandIDs::deleteSelectedItem: deleteSelectedTreeItems(); break; + + 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; + } + + return true; +} + +void ProjectContentComponent::getSelectedProjectItemsBeingDragged (const DragAndDropTarget::SourceDetails& dragSourceDetails, + OwnedArray& selectedNodes) +{ + 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() + && ProjucerLicences::getInstance()->isLoggedIn(); +} + +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/Projucer/Source/Project/jucer_ProjectContentComponent.h b/extras/Projucer/Source/Project/jucer_ProjectContentComponent.h new file mode 100644 index 00000000..e5ef0992 --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_ProjectContentComponent.h @@ -0,0 +1,172 @@ +/* + ============================================================================== + + 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_PROJECTCONTENTCOMPONENT_H_INCLUDED +#define JUCER_PROJECTCONTENTCOMPONENT_H_INCLUDED + +#include "jucer_Project.h" +#include "../Application/jucer_OpenDocumentManager.h" + +class CompileEngineChildProcess; + + +//============================================================================== +class ProjectContentComponent : public Component, + public ApplicationCommandTarget, + private ChangeListener, + private OpenDocumentManager::DocumentCloseListener, + private FocusChangeListener, + private Timer +{ +public: + //============================================================================== + ProjectContentComponent(); + ~ProjectContentComponent(); + + Project* getProject() const noexcept { return project; } + virtual void setProject (Project*); + + void saveTreeViewState(); + void saveOpenDocumentList(); + void reloadLastOpenDocuments(); + + bool showEditorForFile (const File&, bool grabFocus); + bool hasFileInRecentList (const File&) const; + File getCurrentFile() const; + + bool showDocument (OpenDocumentManager::Document*, bool grabFocus); + void hideDocument (OpenDocumentManager::Document*); + OpenDocumentManager::Document* getCurrentDocument() const { return currentDocument; } + void closeDocument(); + void saveDocument(); + void saveAs(); + + void hideEditor(); + bool setEditorComponent (Component* editor, OpenDocumentManager::Document* doc); + Component* getEditorComponent() const { return contentView; } + Component& getTabsComponent() { return treeViewTabs; } + + bool goToPreviousFile(); + bool goToNextFile(); + bool canGoToCounterpart() const; + bool goToCounterpart(); + + bool saveProject(); + void closeProject(); + void openInIDE (bool saveFirst); + void openInIDE (int exporterIndex, bool saveFirst); + void showNewExporterMenu(); + + void showFilesTab(); + void showConfigTab(); + void showBuildTab(); + void showProjectSettings(); + void showModules(); + void showModule (const String& moduleID); + + void deleteSelectedTreeItems(); + + void updateMainWindowTitle(); + + void updateMissingFileStatuses(); + void createProjectTabs(); + void deleteProjectTabs(); + void rebuildProjectTabs(); + void refreshTabsIfBuildStatusChanged(); + void toggleWarnings(); + void showNextError(); + void showPreviousError(); + void reinstantiateLivePreviewWindows(); + + void showBubbleMessage (Rectangle, const String&); + + StringArray getExportersWhichCanLaunch() const; + + 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; + void getCommandInfo (CommandID, ApplicationCommandInfo&) override; + bool perform (const InvocationInfo&) override; + + void paint (Graphics&) override; + void paintOverChildren (Graphics&) override; + void resized() override; + void childBoundsChanged (Component*) override; + void lookAndFeelChanged() override; + + String lastCrashMessage; + +private: + //============================================================================== + Project* project; + OpenDocumentManager::Document* currentDocument; + RecentDocumentList recentDocumentList; + ScopedPointer logo, translationTool, contentView; + + TabbedComponent treeViewTabs; + ScopedPointer resizerBar; + + 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) +}; + + +#endif // JUCER_PROJECTCONTENTCOMPONENT_H_INCLUDED diff --git a/extras/Projucer/Source/Project/jucer_ProjectTree_Base.h b/extras/Projucer/Source/Project/jucer_ProjectTree_Base.h new file mode 100644 index 00000000..3bddcb45 --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_ProjectTree_Base.h @@ -0,0 +1,426 @@ +/* + ============================================================================== + + 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 ProjectTreeItemBase : public JucerTreeViewBase, + public ValueTree::Listener +{ +public: + ProjectTreeItemBase (const Project::Item& projectItem) + : item (projectItem), isFileMissing (false) + { + item.state.addListener (this); + } + + ~ProjectTreeItemBase() + { + item.state.removeListener (this); + } + + //============================================================================== + virtual bool acceptsFileDrop (const StringArray& files) const = 0; + virtual bool acceptsDragItems (const OwnedArray& selectedNodes) = 0; + + //============================================================================== + String getDisplayName() const override { return item.getName(); } + String getRenamingName() const override { return getDisplayName(); } + + void setName (const String& newName) override + { + if (item.isMainGroup()) + item.project.setTitle (newName); + else + item.getNameValue() = newName; + } + + bool isMissing() override { return isFileMissing; } + virtual File getFile() const { return item.getFile(); } + + void deleteItem() override { item.removeItemFromProject(); } + + virtual void deleteAllSelectedItems() override + { + TreeView* tree = getOwnerView(); + const int numSelected = tree->getNumSelectedItems(); + OwnedArray filesToTrash; + OwnedArray itemsToRemove; + + for (int i = 0; i < numSelected; ++i) + { + if (const ProjectTreeItemBase* const p = dynamic_cast (tree->getSelectedItem (i))) + { + itemsToRemove.add (new Project::Item (p->item)); + + if (p->getFile().existsAsFile()) + filesToTrash.add (new File (p->getFile())); + } + } + + if (filesToTrash.size() > 0) + { + String fileList; + const int maxFilesToList = 10; + for (int i = jmin (maxFilesToList, filesToTrash.size()); --i >= 0;) + fileList << filesToTrash.getUnchecked(i)->getFullPathName() << "\n"; + + if (filesToTrash.size() > maxFilesToList) + fileList << "\n...plus " << (filesToTrash.size() - maxFilesToList) << " more files..."; + + int r = AlertWindow::showYesNoCancelBox (AlertWindow::NoIcon, "Delete Project Items", + "As well as removing the selected item(s) from the project, do you also want to move their files to the trash:\n\n" + + fileList, + "Just remove references", + "Also move files to Trash", + "Cancel", + tree->getTopLevelComponent()); + + if (r == 0) + return; + + if (r != 2) + filesToTrash.clear(); + } + + if (ProjectTreeItemBase* treeRootItem = dynamic_cast (tree->getRootItem())) + { + OpenDocumentManager& om = ProjucerApplication::getApp().openDocumentManager; + + for (int i = filesToTrash.size(); --i >= 0;) + { + const File f (*filesToTrash.getUnchecked(i)); + + om.closeFile (f, false); + + if (! f.moveToTrash()) + { + // xxx + } + } + + for (int i = itemsToRemove.size(); --i >= 0;) + { + if (ProjectTreeItemBase* itemToRemove = treeRootItem->findTreeViewItem (*itemsToRemove.getUnchecked(i))) + { + om.closeFile (itemToRemove->getFile(), false); + itemToRemove->deleteItem(); + } + } + } + else + { + jassertfalse; + } + } + + virtual void revealInFinder() const + { + getFile().revealToUser(); + } + + virtual void browseToAddExistingFiles() + { + const File location (item.isGroup() ? item.determineGroupFolder() : getFile()); + FileChooser fc ("Add Files to Jucer Project", location, String::empty, false); + + if (fc.browseForMultipleFilesOrDirectories()) + { + StringArray files; + + for (int i = 0; i < fc.getResults().size(); ++i) + files.add (fc.getResults().getReference(i).getFullPathName()); + + addFilesRetainingSortOrder (files); + } + } + + virtual void checkFileStatus() // (recursive) + { + const File file (getFile()); + const bool nowMissing = file != File::nonexistent && ! file.exists(); + + if (nowMissing != isFileMissing) + { + isFileMissing = nowMissing; + repaintItem(); + } + } + + virtual void addFilesAtIndex (const StringArray& files, int insertIndex) + { + if (ProjectTreeItemBase* p = getParentProjectItem()) + p->addFilesAtIndex (files, insertIndex); + } + + virtual void addFilesRetainingSortOrder (const StringArray& files) + { + if (ProjectTreeItemBase* p = getParentProjectItem()) + p->addFilesRetainingSortOrder (files); + } + + virtual void moveSelectedItemsTo (OwnedArray &, int /*insertIndex*/) + { + jassertfalse; + } + + void showMultiSelectionPopupMenu() override + { + PopupMenu m; + m.addItem (1, "Delete"); + + m.showMenuAsync (PopupMenu::Options(), + ModalCallbackFunction::create (treeViewMultiSelectItemChosen, this)); + } + + static void treeViewMultiSelectItemChosen (int resultCode, ProjectTreeItemBase* item) + { + switch (resultCode) + { + case 1: item->deleteAllSelectedItems(); break; + default: break; + } + } + + virtual ProjectTreeItemBase* findTreeViewItem (const Project::Item& itemToFind) + { + if (item == itemToFind) + return this; + + const bool wasOpen = isOpen(); + setOpen (true); + + for (int i = getNumSubItems(); --i >= 0;) + { + if (ProjectTreeItemBase* pg = dynamic_cast (getSubItem(i))) + if (ProjectTreeItemBase* found = pg->findTreeViewItem (itemToFind)) + return found; + } + + setOpen (wasOpen); + return nullptr; + } + + //============================================================================== + void valueTreePropertyChanged (ValueTree& tree, const Identifier&) override + { + if (tree == item.state) + repaintItem(); + } + + void valueTreeChildAdded (ValueTree& parentTree, ValueTree&) override { treeChildrenChanged (parentTree); } + void valueTreeChildRemoved (ValueTree& parentTree, ValueTree&, int) override { treeChildrenChanged (parentTree); } + void valueTreeChildOrderChanged (ValueTree& parentTree, int, int) override { treeChildrenChanged (parentTree); } + void valueTreeParentChanged (ValueTree&) override {} + + //============================================================================== + bool mightContainSubItems() override { return item.getNumChildren() > 0; } + String getUniqueName() const override { jassert (item.getID().isNotEmpty()); return item.getID(); } + bool canBeSelected() const override { return true; } + String getTooltip() override { return String::empty; } + File getDraggableFile() const override { return getFile(); } + + var getDragSourceDescription() override + { + cancelDelayedSelectionTimer(); + return projectItemDragType; + } + + void addSubItems() override + { + for (int i = 0; i < item.getNumChildren(); ++i) + if (ProjectTreeItemBase* p = createSubItem (item.getChild(i))) + addSubItem (p); + } + + void itemOpennessChanged (bool isNowOpen) override + { + if (isNowOpen) + refreshSubItems(); + } + + //============================================================================== + bool isInterestedInFileDrag (const StringArray& files) override + { + return acceptsFileDrop (files); + } + + void filesDropped (const StringArray& files, int insertIndex) override + { + if (files.size() == 1 && File (files[0]).hasFileExtension (Project::projectFileExtension)) + ProjucerApplication::getApp().openFile (files[0]); + else + addFilesAtIndex (files, insertIndex); + } + + bool isInterestedInDragSource (const DragAndDropTarget::SourceDetails& dragSourceDetails) override + { + OwnedArray selectedNodes; + getSelectedProjectItemsBeingDragged (dragSourceDetails, selectedNodes); + + return selectedNodes.size() > 0 && acceptsDragItems (selectedNodes); + } + + void itemDropped (const DragAndDropTarget::SourceDetails& dragSourceDetails, int insertIndex) override + { + OwnedArray selectedNodes; + getSelectedProjectItemsBeingDragged (dragSourceDetails, selectedNodes); + + if (selectedNodes.size() > 0) + { + TreeView* tree = getOwnerView(); + ScopedPointer oldOpenness (tree->getOpennessState (false)); + + moveSelectedItemsTo (selectedNodes, insertIndex); + + if (oldOpenness != nullptr) + tree->restoreOpennessState (*oldOpenness, false); + } + } + + int getMillisecsAllowedForDragGesture() override + { + // for images, give the user longer to start dragging before assuming they're + // clicking to select it for previewing.. + return item.isImageFile() ? 250 : JucerTreeViewBase::getMillisecsAllowedForDragGesture(); + } + + static void getSelectedProjectItemsBeingDragged (const DragAndDropTarget::SourceDetails& dragSourceDetails, + OwnedArray& selectedNodes) + { + if (dragSourceDetails.description == projectItemDragType) + { + TreeView* tree = dynamic_cast (dragSourceDetails.sourceComponent.get()); + + if (tree == nullptr) + tree = dragSourceDetails.sourceComponent->findParentComponentOfClass(); + + if (tree != nullptr) + { + const int numSelected = tree->getNumSelectedItems(); + + for (int i = 0; i < numSelected; ++i) + if (const ProjectTreeItemBase* const p = dynamic_cast (tree->getSelectedItem (i))) + selectedNodes.add (new Project::Item (p->item)); + } + } + } + + ProjectTreeItemBase* getParentProjectItem() const + { + return dynamic_cast (getParentItem()); + } + + //============================================================================== + Project::Item item; + +protected: + bool isFileMissing; + + virtual ProjectTreeItemBase* createSubItem (const Project::Item& node) = 0; + + Icon getIcon() const override { return item.getIcon().withContrastingColourTo (getBackgroundColour()); } + bool isIconCrossedOut() const override { return item.isIconCrossedOut(); } + + void treeChildrenChanged (const ValueTree& parentTree) + { + if (parentTree == item.state) + { + refreshSubItems(); + treeHasChanged(); + setOpen (true); + } + } + + void triggerAsyncRename (const Project::Item& itemToRename) + { + struct RenameMessage : public CallbackMessage + { + RenameMessage (TreeView* const t, const Project::Item& i) + : tree (t), itemToRename (i) {} + + void messageCallback() override + { + if (tree != nullptr) + if (ProjectTreeItemBase* root = dynamic_cast (tree->getRootItem())) + if (ProjectTreeItemBase* found = root->findTreeViewItem (itemToRename)) + found->showRenameBox(); + } + + private: + Component::SafePointer tree; + Project::Item itemToRename; + }; + + (new RenameMessage (getOwnerView(), itemToRename))->post(); + } + + static void moveItems (OwnedArray& selectedNodes, Project::Item destNode, int insertIndex) + { + for (int i = selectedNodes.size(); --i >= 0;) + { + Project::Item* const n = selectedNodes.getUnchecked(i); + + if (destNode == *n || destNode.state.isAChildOf (n->state)) // Check for recursion. + return; + + if (! destNode.canContain (*n)) + selectedNodes.remove (i); + } + + // Don't include any nodes that are children of other selected nodes.. + for (int i = selectedNodes.size(); --i >= 0;) + { + Project::Item* const n = selectedNodes.getUnchecked(i); + + for (int j = selectedNodes.size(); --j >= 0;) + { + if (j != i && n->state.isAChildOf (selectedNodes.getUnchecked(j)->state)) + { + selectedNodes.remove (i); + break; + } + } + } + + // Remove and re-insert them one at a time.. + for (int i = 0; i < selectedNodes.size(); ++i) + { + Project::Item* selectedNode = selectedNodes.getUnchecked(i); + + if (selectedNode->state.getParent() == destNode.state + && indexOfNode (destNode.state, selectedNode->state) < insertIndex) + --insertIndex; + + selectedNode->removeItemFromProject(); + destNode.addChild (*selectedNode, insertIndex++); + } + } + + static int indexOfNode (const ValueTree& parent, const ValueTree& child) + { + for (int i = parent.getNumChildren(); --i >= 0;) + if (parent.getChild (i) == child) + return i; + + return -1; + } +}; 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/Projucer/Source/Project/jucer_ProjectTree_Group.h b/extras/Projucer/Source/Project/jucer_ProjectTree_Group.h new file mode 100644 index 00000000..fefd83d5 --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_ProjectTree_Group.h @@ -0,0 +1,188 @@ +/* + ============================================================================== + + 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 GroupItem : public ProjectTreeItemBase +{ +public: + GroupItem (const Project::Item& projectItem) + : ProjectTreeItemBase (projectItem) + { + } + + bool isRoot() const override { return item.isMainGroup(); } + bool acceptsFileDrop (const StringArray&) const override { return true; } + + void addNewGroup() + { + Project::Item newGroup (item.addNewSubGroup ("New Group", 0)); + triggerAsyncRename (newGroup); + } + + bool acceptsDragItems (const OwnedArray& selectedNodes) override + { + for (int i = selectedNodes.size(); --i >= 0;) + if (item.canContain (*selectedNodes.getUnchecked(i))) + return true; + + return false; + } + + void addFilesAtIndex (const StringArray& files, int insertIndex) override + { + for (int i = 0; i < files.size(); ++i) + { + const File file (files[i]); + + if (item.addFileAtIndex (file, insertIndex, true)) + ++insertIndex; + } + } + + void addFilesRetainingSortOrder (const StringArray& files) override + { + for (int i = files.size(); --i >= 0;) + item.addFileRetainingSortOrder (files[i], true); + } + + void moveSelectedItemsTo (OwnedArray& selectedNodes, int insertIndex) override + { + moveItems (selectedNodes, item, insertIndex); + } + + void checkFileStatus() override + { + for (int i = 0; i < getNumSubItems(); ++i) + if (ProjectTreeItemBase* p = dynamic_cast (getSubItem(i))) + p->checkFileStatus(); + } + + ProjectTreeItemBase* createSubItem (const Project::Item& child) override + { + if (child.isGroup()) return new GroupItem (child); + if (child.isFile()) return new SourceFileItem (child); + + jassertfalse; + return nullptr; + } + + void showDocument() override + { + if (ProjectContentComponent* pcc = getProjectContentComponent()) + pcc->setEditorComponent (new GroupInformationComponent (item), nullptr); + } + + static void openOrCloseAllSubGroups (TreeViewItem& item, bool shouldOpen) + { + item.setOpen (shouldOpen); + + for (int i = item.getNumSubItems(); --i >= 0;) + if (TreeViewItem* sub = item.getSubItem(i)) + openOrCloseAllSubGroups (*sub, shouldOpen); + } + + static void setFilesToCompile (Project::Item item, const bool shouldCompile) + { + if (item.isFile()) + item.getShouldCompileValue() = shouldCompile; + + for (int i = item.getNumChildren(); --i >= 0;) + setFilesToCompile (item.getChild (i), shouldCompile); + } + + void showPopupMenu() override + { + PopupMenu m; + addCreateFileMenuItems (m); + + m.addSeparator(); + + if (isOpen()) + m.addItem (1, "Collapse all Sub-groups"); + else + m.addItem (2, "Expand all Sub-groups"); + + m.addSeparator(); + m.addItem (3, "Enable compiling of all enclosed files"); + m.addItem (4, "Disable compiling of all enclosed files"); + + m.addSeparator(); + m.addItem (5, "Sort Items Alphabetically"); + m.addItem (6, "Sort Items Alphabetically (Groups first)"); + m.addSeparator(); + m.addItem (7, "Rename..."); + + if (! isRoot()) + m.addItem (8, "Delete"); + + launchPopupMenu (m); + } + + void handlePopupMenuResult (int resultCode) override + { + switch (resultCode) + { + case 1: openOrCloseAllSubGroups (*this, false); break; + case 2: openOrCloseAllSubGroups (*this, true); break; + case 3: setFilesToCompile (item, true); break; + case 4: setFilesToCompile (item, false); break; + case 5: item.sortAlphabetically (false, false); break; + case 6: item.sortAlphabetically (true, false); break; + case 7: triggerAsyncRename (item); break; + case 8: deleteAllSelectedItems(); break; + default: processCreateFileMenuItem (resultCode); break; + } + } + + void addCreateFileMenuItems (PopupMenu& m) + { + m.addItem (1001, "Add New Group"); + m.addItem (1002, "Add Existing Files..."); + + m.addSeparator(); + NewFileWizard().addWizardsToMenu (m); + } + + void processCreateFileMenuItem (int menuID) + { + switch (menuID) + { + case 1001: addNewGroup(); break; + case 1002: browseToAddExistingFiles(); break; + + default: + jassert (getProject() != nullptr); + NewFileWizard().runWizardFromMenu (menuID, *getProject(), item); + break; + } + } + + Project* getProject() + { + if (TreeView* tv = getOwnerView()) + if (ProjectContentComponent* pcc = tv->findParentComponentOfClass()) + return pcc->getProject(); + + return nullptr; + } +}; diff --git a/extras/Projucer/Source/Project/jucer_ProjectType.h b/extras/Projucer/Source/Project/jucer_ProjectType.h new file mode 100644 index 00000000..ac620879 --- /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/Projucer/Source/Utility/jucer_ColourPropertyComponent.h b/extras/Projucer/Source/Utility/jucer_ColourPropertyComponent.h new file mode 100644 index 00000000..7940c5f8 --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_ColourPropertyComponent.h @@ -0,0 +1,227 @@ +/* + ============================================================================== + + 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_COLOURPROPERTYCOMPONENT_H_INCLUDED +#define JUCER_COLOURPROPERTYCOMPONENT_H_INCLUDED + + +struct ColourPropertyComponent : public PropertyComponent +{ + ColourPropertyComponent (UndoManager* undoManager, const String& name, const Value& colour, + Colour defaultColour, bool canResetToDefault) + : PropertyComponent (name), + colourEditor (undoManager, colour, defaultColour, canResetToDefault) + { + addAndMakeVisible (colourEditor); + } + + void resized() override + { + colourEditor.setBounds (getLookAndFeel().getPropertyComponentContentPosition (*this)); + } + + void refresh() override {} + +private: + /** + A component that shows a colour swatch with hex ARGB value, and which pops up + a colour selector when you click it. + */ + struct ColourEditorComponent : public Component, + public Value::Listener + { + ColourEditorComponent (UndoManager* um, const Value& colour, + Colour defaultCol, const bool canReset) + : undoManager (um), colourValue (colour), defaultColour (defaultCol), + canResetToDefault (canReset) + { + colourValue.addListener (this); + } + + void paint (Graphics& g) override + { + const Colour colour (getColour()); + + g.fillAll (Colours::grey); + g.fillCheckerBoard (getLocalBounds().reduced (2), + 10, 10, + Colour (0xffdddddd).overlaidWith (colour), + Colour (0xffffffff).overlaidWith (colour)); + + g.setColour (Colours::white.overlaidWith (colour).contrasting()); + g.setFont (Font (getHeight() * 0.6f, Font::bold)); + g.drawFittedText (colour.toDisplayString (true), getLocalBounds().reduced (2, 1), + Justification::centred, 1); + } + + Colour getColour() const + { + if (colourValue.toString().isEmpty()) + return defaultColour; + + return Colour::fromString (colourValue.toString()); + } + + void setColour (Colour newColour) + { + if (getColour() != newColour) + { + if (newColour == defaultColour && canResetToDefault) + colourValue = var::null; + else + colourValue = newColour.toDisplayString (true); + } + } + + void resetToDefault() + { + setColour (defaultColour); + } + + void refresh() + { + const Colour col (getColour()); + + if (col != lastColour) + { + lastColour = col; + repaint(); + } + } + + void mouseDown (const MouseEvent&) override + { + if (undoManager != nullptr) + undoManager->beginNewTransaction(); + + CallOutBox::launchAsynchronously (new PopupColourSelector (colourValue, + defaultColour, + canResetToDefault), + getScreenBounds(), nullptr); + } + + void valueChanged (Value&) override + { + refresh(); + } + + UndoManager* undoManager; + Value colourValue; + Colour lastColour; + const Colour defaultColour; + const bool canResetToDefault; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ColourEditorComponent) + }; + + //============================================================================== + struct PopupColourSelector : public Component, + public ChangeListener, + public Value::Listener, + public ButtonListener + { + PopupColourSelector (const Value& colour, + Colour defaultCol, + const bool canResetToDefault) + : defaultButton ("Reset to Default"), + colourValue (colour), + defaultColour (defaultCol) + { + addAndMakeVisible (selector); + selector.setName ("Colour"); + selector.setCurrentColour (getColour()); + selector.addChangeListener (this); + + if (canResetToDefault) + { + addAndMakeVisible (defaultButton); + defaultButton.addListener (this); + } + + colourValue.addListener (this); + setSize (300, 400); + } + + void resized() override + { + if (defaultButton.isVisible()) + { + selector.setBounds (0, 0, getWidth(), getHeight() - 30); + defaultButton.changeWidthToFitText (22); + defaultButton.setTopLeftPosition (10, getHeight() - 26); + } + else + { + selector.setBounds (getLocalBounds()); + } + } + + Colour getColour() const + { + if (colourValue.toString().isEmpty()) + return defaultColour; + + return Colour::fromString (colourValue.toString()); + } + + void setColour (Colour newColour) + { + if (getColour() != newColour) + { + if (newColour == defaultColour && defaultButton.isVisible()) + colourValue = var(); + else + colourValue = newColour.toDisplayString (true); + } + } + + void buttonClicked (Button*) override + { + setColour (defaultColour); + selector.setCurrentColour (defaultColour); + } + + void changeListenerCallback (ChangeBroadcaster*) override + { + if (selector.getCurrentColour() != getColour()) + setColour (selector.getCurrentColour()); + } + + void valueChanged (Value&) override + { + selector.setCurrentColour (getColour()); + } + + private: + StoredSettings::ColourSelectorWithSwatches selector; + TextButton defaultButton; + Value colourValue; + Colour defaultColour; + }; + + ColourEditorComponent colourEditor; +}; + + +#endif // JUCER_COLOURPROPERTYCOMPONENT_H_INCLUDED 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 00000000..3ee866b9 --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_DialogLookAndFeel.h @@ -0,0 +1,138 @@ +/* + ============================================================================== + + 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 (getDialogFont().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 getDialogFont().withHeight (buttonFontSize); + } + + Font getLabelFont (Label&) override + { + return getDialogFont().withHeight (labelFontSize); + } + + //============================================================================== + int getAlertWindowButtonHeight() override { return 40; } + + static Font getDialogFont() { return Font(); } + + Font getAlertWindowTitleFont() override { return getDialogFont().withHeight (18); } + Font getAlertWindowMessageFont() override { return getDialogFont().withHeight (12); } + Font getAlertWindowFont() override { return getDialogFont().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/Projucer/Source/Utility/jucer_FileHelpers.h b/extras/Projucer/Source/Utility/jucer_FileHelpers.h new file mode 100644 index 00000000..a35876f3 --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_FileHelpers.h @@ -0,0 +1,96 @@ +/* + ============================================================================== + + 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_FILEHELPERS_H_INCLUDED +#define JUCER_FILEHELPERS_H_INCLUDED + + +//============================================================================== +namespace FileHelpers +{ + int64 calculateStreamHashCode (InputStream& stream); + int64 calculateFileHashCode (const File& file); + + bool overwriteFileWithNewDataIfDifferent (const File& file, const void* data, size_t numBytes); + bool overwriteFileWithNewDataIfDifferent (const File& file, const MemoryOutputStream& newData); + bool overwriteFileWithNewDataIfDifferent (const File& file, const String& newData); + + bool containsAnyNonHiddenFiles (const File& folder); + + String unixStylePath (const String& path); + String windowsStylePath (const String& path); + String currentOSStylePath (const String& path); + + bool shouldPathsBeRelative (String path1, String path2); + bool isAbsolutePath (const String& path); + + // A windows-aware version of File::getRelativePath() + String getRelativePathFrom (const File& file, const File& sourceFolder); + + // removes "/../" bits from the middle of the path + String simplifyPath (String::CharPointerType path); + String simplifyPath (const String& path); +} + +//============================================================================== +const char* const sourceFileExtensions = "cpp;mm;m;c;cc;cxx;swift;s;asm"; +const char* const headerFileExtensions = "h;hpp;hxx;hh;inl"; +const char* const cOrCppFileExtensions = "cpp;cc;cxx;c"; +const char* const cppFileExtensions = "cpp;cc;cxx"; +const char* const objCFileExtensions = "mm;m"; +const char* const asmFileExtensions = "s;S;asm"; +const char* const sourceOrHeaderFileExtensions = "cpp;mm;m;c;cc;cxx;swift;s;S;asm;h;hpp;hxx;hh;inl"; +const char* const browseableFileExtensions = "cpp;mm;m;c;cc;cxx;swift;s;S;asm;h;hpp;hxx;hh;inl;txt;md;rtf"; +const char* const fileTypesToCompileByDefault = "cpp;mm;c;m;cc;cxx;swift;s;S;asm;r"; + +//============================================================================== +struct FileModificationDetector +{ + FileModificationDetector (const File& f) : file (f) {} + + const File& getFile() const { return file; } + void fileHasBeenRenamed (const File& newFile) { file = newFile; } + + bool hasBeenModified() const + { + return fileModificationTime != file.getLastModificationTime() + && (fileSize != file.getSize() + || FileHelpers::calculateFileHashCode (file) != fileHashCode); + } + + void updateHash() + { + fileModificationTime = file.getLastModificationTime(); + fileSize = file.getSize(); + fileHashCode = FileHelpers::calculateFileHashCode (file); + } + +private: + File file; + Time fileModificationTime; + int64 fileHashCode, fileSize; +}; + + +#endif // JUCER_FILEHELPERS_H_INCLUDED diff --git a/extras/Projucer/Source/Utility/jucer_FilePathPropertyComponent.h b/extras/Projucer/Source/Utility/jucer_FilePathPropertyComponent.h new file mode 100644 index 00000000..b6e966e1 --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_FilePathPropertyComponent.h @@ -0,0 +1,145 @@ +/* + ============================================================================== + + 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_FILEPATHPROPERTYCOMPONENT_H_INCLUDED +#define JUCER_FILEPATHPROPERTYCOMPONENT_H_INCLUDED + + +class FilePathPropertyComponent : public PropertyComponent +{ +public: + /** A Property Component for selecting files or folders. + + The user may drag files over the property box, enter the path + manually and/or click the '...' button to open a file selection + dialog box + */ + FilePathPropertyComponent (Value valueToControl, + const String& propertyDescription, + bool isDirectory, + const String& wildcards = "*", + const File& rootToUseForRelativePaths = File::nonexistent) + : PropertyComponent (propertyDescription), + innerComp (valueToControl, isDirectory, wildcards, rootToUseForRelativePaths) + { + addAndMakeVisible (innerComp); + } + + void refresh() override {} // N/A + +private: + struct InnerComponent : public Component, + public FileDragAndDropTarget, + private Button::Listener + { + InnerComponent (Value v, bool isDir, const String& wc, const File& rt) + : value (v), + isDirectory (isDir), + highlightForDragAndDrop (false), + wildcards (wc), + root (rt), + button ("...") + { + addAndMakeVisible (textbox); + textbox.getTextValue().referTo (value); + + addAndMakeVisible (button); + button.addListener (this); + } + + void paintOverChildren (Graphics& g) override + { + if (highlightForDragAndDrop) + { + g.setColour (Colours::green.withAlpha (0.1f)); + g.fillRect (getLocalBounds()); + } + } + + void resized() override + { + juce::Rectangle r (getLocalBounds()); + + button.setBounds (r.removeFromRight (24)); + textbox.setBounds (r); + } + + bool isInterestedInFileDrag (const StringArray&) override { return true; } + void fileDragEnter (const StringArray&, int, int) override { highlightForDragAndDrop = true; repaint(); } + void fileDragExit (const StringArray&) override { highlightForDragAndDrop = false; repaint(); } + + void filesDropped (const StringArray& files, int, int) override + { + const File firstFile (files[0]); + + if (isDirectory) + setTo (firstFile.isDirectory() ? firstFile + : firstFile.getParentDirectory()); + else + setTo (firstFile); + } + + void buttonClicked (Button*) override + { + const File currentFile (root.getChildFile (value.toString())); + + if (isDirectory) + { + FileChooser chooser ("Select directory", currentFile); + + if (chooser.browseForDirectory()) + setTo (chooser.getResult()); + } + else + { + FileChooser chooser ("Select file", currentFile, wildcards); + + if (chooser.browseForFileToOpen()) + setTo (chooser.getResult()); + } + } + + void setTo (const File& f) + { + value = (root == File::nonexistent) ? f.getFullPathName() + : f.getRelativePathFrom (root); + } + + Value value; + bool isDirectory, highlightForDragAndDrop; + String wildcards; + File root; + TextEditor textbox; + TextButton button; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (InnerComponent) + }; + + InnerComponent innerComp; // Used so that the PropertyComponent auto first-child positioning works + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FilePathPropertyComponent) +}; + + +#endif // JUCER_FILEPATHPROPERTYCOMPONENT_H_INCLUDED diff --git a/extras/Projucer/Source/Utility/jucer_FloatingToolWindow.h b/extras/Projucer/Source/Utility/jucer_FloatingToolWindow.h new file mode 100644 index 00000000..0d06efdb --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_FloatingToolWindow.h @@ -0,0 +1,83 @@ +/* + ============================================================================== + + 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_FLOATINGTOOLWINDOW_H_INCLUDED +#define JUCER_FLOATINGTOOLWINDOW_H_INCLUDED + + +//============================================================================== +struct FloatingToolWindow : public DialogWindow +{ + FloatingToolWindow (const String& title, + const String& windowPosPropertyName, + Component* content, + ScopedPointer& ownerPointer, + int defaultW, int defaultH, + int minW, int minH, + int maxW, int maxH) + : DialogWindow (title, Colours::darkgrey, true, true), + windowPosProperty (windowPosPropertyName), + owner (ownerPointer) + { + setUsingNativeTitleBar (true); + setResizable (true, true); + setResizeLimits (minW, minH, maxW, maxH); + setContentOwned (content, false); + + const String windowState (getGlobalProperties().getValue (windowPosProperty)); + + if (windowState.isNotEmpty()) + restoreWindowStateFromString (windowState); + else + centreAroundComponent (Component::getCurrentlyFocusedComponent(), defaultW, defaultH); + + setVisible (true); + owner = this; + } + + ~FloatingToolWindow() + { + getGlobalProperties().setValue (windowPosProperty, getWindowStateAsString()); + } + + void closeButtonPressed() override + { + owner = nullptr; + } + + bool escapeKeyPressed() override + { + closeButtonPressed(); + return true; + } + +private: + String windowPosProperty; + ScopedPointer& owner; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FloatingToolWindow) +}; + + +#endif // JUCER_FLOATINGTOOLWINDOW_H_INCLUDED diff --git a/extras/Projucer/Source/Utility/jucer_Icons.cpp b/extras/Projucer/Source/Utility/jucer_Icons.cpp new file mode 100644 index 00000000..337274af --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_Icons.cpp @@ -0,0 +1,1019 @@ +/* + ============================================================================== + + 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 "jucer_Icons.h" + +const Icons& getIcons() +{ + return *ProjucerApplication::getApp().icons; +} + +namespace IconPathData +{ +const uint8 folder[] = { 110,109,16,236,21,65,23,92,1,67,98,109,85,179,66,117,43,194,66,104,113,41,67,158,152,127,66,0,0,122,67,56,148,0,66,98,101,12,142,67,78,113,22,66,219,15,136,67,49,43,156,66,242,228,142,67,119,29,199,66,98,206,123,151,67,20,243,28,67,198,52,149,67,118, +148,38,67,169,139,162,67,232,183,92,67,98,87,120,157,67,4,226,96,67,4,101,152,67,208,234,100,67,177,81,147,67,237,20,105,67,98,150,152,130,67,9,194,36,67,50,13,131,67,14,164,11,67,24,205,113,67,122,11,134,66,98,122,106,53,67,76,99,155,66,121,1,209,66, +82,47,245,66,218,172,15,66,71,113,22,67,98,230,78,120,66,24,205,113,67,123,120,176,66,252,158,167,67,176,95,14,67,153,7,208,67,98,184,39,34,67,16,5,222,67,172,127,74,67,250,47,215,67,164,64,87,67,22,217,201,67,98,88,110,104,67,133,28,191,67,224,255,102, +67,91,84,152,67,66,26,115,67,229,207,140,67,98,44,198,125,67,24,78,134,67,178,73,132,67,104,246,131,67,101,147,139,67,150,31,128,67,98,79,178,172,67,19,112,101,67,59,209,205,67,253,160,74,67,36,240,238,67,147,176,47,67,98,0,0,250,67,178,204,56,67,8,63, +237,67,191,229,131,67,54,104,233,67,202,151,141,67,98,240,119,225,67,175,224,159,67,6,204,214,67,63,36,168,67,196,62,199,67,88,235,179,67,98,67,135,160,67,161,70,195,67,124,96,131,67,54,231,215,67,16,138,56,67,73,89,230,67,98,112,190,23,67,121,237,233, +67,187,15,242,66,165,171,222,67,55,110,213,66,186,134,209,67,98,2,121,124,66,168,147,177,67,186,25,39,66,154,124,140,67,236,193,145,65,200,34,81,67,98,216,18,51,65,206,125,58,67,240,151,141,64,128,183,35,67,0,0,128,55,67,141,12,67,98,0,230,71,63,65,155, +7,67,0,194,145,64,131,46,3,67,32,1,24,65,22,92,1,67,99,101,0,0 }; + +const uint8 document[] = { 110,109,196,122,184,67,17,235,109,66,98,40,174,168,67,94,12,223,65,182,5,151,67,64,235,237,63,5,39,136,67,0,0,0,0,98,25,57,135,67,0,0,0,0,46,75,134,67,0,0,0,0,68,93,133,67,0,0,0,0,108,27,254,157,66,0,0,0,0,98,195,142,150,66,0,0,0,0,23,215,146,66,0,235, +237,63,107,31,143,66,32,235,109,64,98,191,103,139,66,48,235,109,64,18,176,135,66,32,235,237,64,18,176,135,66,240,178,20,65,108,18,176,135,66,126,108,244,67,98,18,176,135,66,84,72,246,67,191,103,139,66,62,54,247,67,107,31,143,66,42,36,248,67,98,23,215, +146,66,20,18,249,67,111,70,154,66,0,0,250,67,27,254,157,66,0,0,250,67,108,122,128,210,67,0,0,250,67,98,80,92,212,67,0,0,250,67,58,74,213,67,20,18,249,67,38,56,214,67,42,36,248,67,98,17,38,215,67,62,54,247,67,252,19,216,67,104,90,245,67,252,19,216,67, +126,108,244,67,108,252,19,216,67,30,37,41,67,98,252,19,216,67,57,212,5,67,75,53,201,67,164,223,185,66,196,122,184,67,17,235,109,66,99,109,108,11,177,67,234,178,148,66,98,196,122,184,67,76,112,178,66,50,252,190,67,90,229,211,66,181,143,196,67,188,162, +241,66,98,30,234,191,67,100,51,234,66,134,68,187,67,184,123,230,66,218,140,183,67,12,196,226,66,98,172,65,174,67,180,84,219,66,125,246,164,67,8,157,215,66,250,98,159,67,92,229,211,66,98,250,98,159,67,176,45,208,66,250,98,159,67,88,190,200,66,250,98,159, +67,172,6,197,66,98,250,98,159,67,156,145,163,66,15,117,158,67,21,235,109,66,78,171,155,67,69,34,28,66,98,78,171,155,67,69,34,28,66,78,171,155,67,69,34,28,66,78,171,155,67,69,34,28,66,98,187,44,162,67,255,78,65,66,19,156,169,67,107,90,117,66,108,11,177, +67,234,178,148,66,99,109,248,236,204,67,252,216,238,67,108,211,3,184,66,252,216,238,67,108,211,3,184,66,158,145,163,65,108,47,75,134,67,158,145,163,65,108,47,75,134,67,158,145,163,65,98,219,2,138,67,158,145,163,65,135,186,141,67,98,12,223,65,73,132,144, +67,75,112,50,66,98,10,78,147,67,105,90,117,66,10,78,147,67,70,73,167,66,10,78,147,67,168,6,197,66,98,10,78,147,67,178,84,219,66,10,78,147,67,98,51,234,66,10,78,147,67,98,51,234,66,108,10,78,147,67,140,28,2,67,108,120,207,153,67,140,28,2,67,98,120,207, +153,67,140,28,2,67,62,192,167,67,140,28,2,67,4,177,181,67,228,139,9,67,98,222,179,194,67,102,31,15,67,248,236,204,67,106,70,26,67,228,218,205,67,70,73,39,67,98,228,218,205,67,29,37,41,67,228,218,205,67,29,37,41,67,228,218,205,67,242,0,43,67,108,228,218, +205,67,252,216,238,67,99,101,0,0 }; + +const uint8 imageDoc[] = { 110,109,255,255,249,67,255,255,249,67,108,0,0,0,0,255,255,249,67,108,0,0,0,0,0,0,0,0,108,255,255,249,67,0,0,0,0,108,255,255,249,67,255,255,249,67,99,109,72,62,243,66,56,152,66,67,98,158,117,31,67,56,152,66,67,82,228,63,67,132,41,34,67,82,228,63,67,12, +166,248,66,98,82,228,63,67,20,249,172,66,158,117,31,67,84,55,88,66,68,62,243,66,84,55,88,66,98,76,145,167,66,84,55,88,66,192,103,77,66,16,249,172,66,192,103,77,66,12,166,248,66,98,200,103,77,66,132,41,34,67,132,41,162,66,56,152,66,67,72,62,243,66,56, +152,66,67,99,109,137,124,236,67,221,96,128,67,108,49,69,170,67,12,166,248,66,108,214,13,26,67,200,103,155,67,108,0,0,200,66,221,96,128,67,108,56,152,194,65,89,55,166,67,108,56,152,194,65,137,124,236,67,108,153,34,235,67,137,124,236,67,108,153,34,235, +67,221,96,128,67,99,101,0,0 }; + +const uint8 config[] = { 110,109,149,118,142,67,134,71,167,67,108,59,28,135,67,149,118,142,67,98,210,242,136,67,254,159,140,67,104,201,138,67,104,201,138,67,255,159,140,67,209,242,136,67,108,240,112,165,67,43,77,144,67,98,210,50,168,67,254,159,140,67,105,9,170,67,134,7,136,67, +74,203,172,67,89,90,132,67,108,104,105,154,67,238,240,99,67,98,180,84,155,67,42,109,94,67,255,63,156,67,102,233,88,67,255,63,156,67,162,101,83,67,108,240,16,181,67,134,135,70,67,98,240,16,181,67,194,3,65,67,240,16,181,67,148,86,61,67,240,16,181,67,208, +210,55,67,98,240,16,181,67,12,79,50,67,240,16,181,67,224,161,46,67,240,16,181,67,28,30,41,67,108,255,63,156,67,254,63,28,67,98,180,84,155,67,58,188,22,67,180,84,155,67,118,56,17,67,104,105,154,67,178,180,11,67,108,74,203,172,67,223,225,205,66,98,179, +244,170,67,253,127,187,66,210,50,168,67,72,203,172,66,240,112,165,67,147,22,158,66,108,255,159,140,67,253,127,187,66,98,104,201,138,67,163,37,180,66,210,242,136,67,72,203,172,66,59,28,135,67,238,112,165,66,108,149,118,142,67,86,90,4,66,98,104,201,138, +67,144,150,220,65,239,48,134,67,40,45,191,65,195,131,130,67,8,15,147,65,108,195,67,96,67,146,150,92,66,98,255,191,90,67,56,60,85,66,59,60,85,67,222,225,77,66,120,184,79,67,222,225,77,66,108,90,218,66,67,0,75,235,63,98,150,86,61,67,0,75,235,63,105,169, +57,67,0,75,235,63,165,37,52,67,0,75,235,63,98,225,161,46,67,0,75,235,63,180,244,42,67,0,75,235,63,240,112,37,67,0,75,235,63,108,211,146,24,67,222,225,77,66,98,15,15,19,67,56,60,85,66,75,139,13,67,56,60,85,66,136,7,8,67,146,150,92,66,108,136,135,198,66, +8,15,147,65,98,254,127,187,66,44,45,191,65,74,203,172,66,152,150,220,65,148,22,158,66,90,90,4,66,108,254,127,187,66,240,112,165,66,98,118,120,176,66,75,203,172,66,28,30,169,66,165,37,180,66,194,195,161,66,45,45,191,66,108,250,255,249,65,195,195,161,66, +98,222,225,205,65,119,120,176,66,116,120,176,65,45,45,191,66,86,90,132,65,15,143,209,66,108,59,60,85,66,74,139,13,67,98,225,225,77,66,14,15,19,67,135,135,70,66,210,146,24,67,135,135,70,66,148,22,30,67,108,0,0,0,0,178,244,42,67,98,0,0,0,0,118,120,48,67, +0,0,0,0,164,37,52,67,0,0,0,0,104,169,57,67,98,0,0,0,0,44,45,63,67,0,0,0,0,88,218,66,67,0,0,0,0,28,94,72,67,108,135,135,70,66,58,60,85,67,98,225,225,77,66,254,191,90,67,225,225,77,66,194,67,96,67,59,60,85,66,134,199,101,67,108,88,90,132,65,164,69,133, +67,98,194,195,161,65,29,222,137,67,224,225,205,65,74,139,141,67,254,255,249,65,119,56,145,67,108,194,195,161,66,29,222,137,67,98,28,30,169,66,180,180,139,67,120,120,176,66,74,139,141,67,210,210,183,66,225,97,143,67,108,104,105,154,66,210,50,168,67,98, +28,30,169,66,179,244,170,67,254,127,187,66,74,203,172,67,178,52,202,66,44,141,175,67,108,29,222,9,67,74,43,157,67,98,225,97,15,67,150,22,158,67,165,229,20,67,225,1,159,67,103,105,26,67,225,1,159,67,108,133,71,39,67,210,210,183,67,98,73,203,44,67,210, +210,183,67,118,120,48,67,210,210,183,67,58,252,53,67,210,210,183,67,98,254,127,59,67,210,210,183,67,43,45,63,67,210,210,183,67,239,176,68,67,210,210,183,67,108,13,143,81,67,225,1,159,67,98,209,18,87,67,150,22,158,67,148,150,92,67,150,22,158,67,87,26, +98,67,74,43,157,67,108,13,111,131,67,44,141,175,67,98,239,48,134,67,255,223,171,67,104,201,138,67,105,9,170,67,149,118,142,67,134,71,167,67,99,109,59,252,53,67,210,82,118,67,98,15,15,19,67,210,82,118,67,118,248,238,66,0,192,90,67,118,248,238,66,210,210, +55,67,98,118,248,238,66,166,229,20,67,13,15,19,67,167,165,242,66,58,252,53,67,167,165,242,66,98,102,233,88,67,167,165,242,66,57,124,116,67,166,229,20,67,57,124,116,67,210,210,55,67,98,57,124,116,67,0,192,90,67,104,233,88,67,210,82,118,67,59,252,53,67, +210,82,118,67,99,109,178,116,233,67,75,107,188,67,98,178,116,233,67,210,210,183,67,103,137,232,67,14,79,178,67,27,158,231,67,74,203,172,67,108,163,165,242,67,0,64,156,67,98,11,207,240,67,211,146,152,67,117,248,238,67,240,208,149,67,223,33,237,67,15,15, +147,67,108,178,212,217,67,60,188,150,67,98,133,39,214,67,15,15,147,67,12,143,209,67,120,56,145,67,148,246,204,67,150,118,142,67,108,208,114,199,67,210,82,118,67,98,163,197,195,67,60,124,116,67,118,24,192,67,60,124,116,67,72,107,188,67,60,124,116,67,108, +87,58,179,67,180,180,139,67,98,118,120,176,67,255,159,140,67,147,182,173,67,255,159,140,67,253,223,171,67,75,139,141,67,98,28,30,169,67,150,118,142,67,133,71,167,67,226,97,143,67,238,112,165,67,120,56,145,67,108,194,35,146,67,180,180,139,67,98,224,97, +143,67,149,118,142,67,254,159,140,67,44,77,144,67,104,201,138,67,89,250,147,67,108,13,15,147,67,59,92,166,67,98,44,77,144,67,179,244,170,67,224,97,143,67,44,141,175,67,149,118,142,67,240,16,181,67,108,255,255,121,67,44,45,191,67,98,255,255,121,67,89, +218,194,67,149,214,123,67,134,135,198,67,43,173,125,67,180,52,202,67,108,194,35,146,67,44,205,206,67,98,89,250,147,67,165,101,211,67,58,188,150,67,29,254,215,67,103,105,154,67,74,171,219,67,108,58,188,150,67,120,248,238,67,98,28,126,153,67,14,207,240, +67,74,43,157,67,164,165,242,67,43,237,159,67,60,124,244,67,108,43,141,175,67,105,137,232,67,98,164,37,180,67,181,116,233,67,104,169,185,67,0,96,234,67,44,45,191,67,0,96,234,67,108,149,246,204,67,182,20,249,67,98,44,205,206,67,106,41,248,67,194,163,208, +67,106,41,248,67,89,122,210,67,30,62,247,67,98,240,80,212,67,210,82,246,67,58,60,213,67,210,82,246,67,209,18,215,67,136,103,245,67,108,209,18,215,67,14,47,225,67,98,74,171,219,67,45,109,222,67,43,109,222,67,255,191,218,67,89,26,226,67,134,39,214,67,108, +211,82,246,67,59,60,213,67,98,105,41,248,67,14,143,209,67,179,20,249,67,43,205,206,67,255,255,249,67,254,31,203,67,108,178,116,233,67,75,107,188,67,99,109,89,218,194,67,44,205,206,67,98,209,210,183,67,165,101,211,67,254,223,171,67,225,225,205,67,134, +71,167,67,90,218,194,67,98,14,175,162,67,211,210,183,67,210,50,168,67,0,224,171,67,88,58,179,67,136,71,167,67,98,224,65,190,67,15,175,162,67,178,52,202,67,211,50,168,67,43,205,206,67,90,58,179,67,98,163,101,211,67,225,65,190,67,223,225,205,67,180,52, +202,67,89,218,194,67,44,205,206,67,99,101,0,0 }; + +const uint8 graph[] = { 110,109,166,158,186,66,184,11,143,67,108,113,151,95,67,98,243,92,67,108,113,151,95,67,228,55,54,67,108,206,129,81,67,228,55,54,67,98,253,118,74,67,228,55,54,67,44,108,67,67,47,117,52,67,91,97,60,67,123,178,50,67,108,91,97,60,67,239,210,71,67,108,245, +100,104,66,127,123,132,67,108,245,100,104,66,181,2,158,67,108,166,158,186,66,181,2,158,67,108,166,158,186,66,184,11,143,67,99,109,97,243,220,67,180,2,158,67,108,97,243,220,67,126,123,132,67,108,83,207,155,67,238,210,71,67,108,83,207,155,67,122,178,50, +67,98,235,73,152,67,227,55,54,67,130,196,148,67,227,55,54,67,25,63,145,67,227,55,54,67,108,72,52,138,67,227,55,54,67,108,72,52,138,67,97,243,92,67,108,87,88,203,67,184,11,143,67,108,87,88,203,67,181,2,158,67,108,97,243,220,67,181,2,158,67,99,109,133, +205,133,67,180,2,158,67,108,133,205,133,67,150,250,55,67,108,247,100,104,67,150,250,55,67,108,247,100,104,67,180,2,158,67,108,133,205,133,67,180,2,158,67,99,109,245,100,232,67,57,208,166,67,108,194,230,191,67,57,208,166,67,98,226,55,182,67,57,208,166, +67,183,75,174,67,100,188,174,67,183,75,174,67,68,107,184,67,108,183,75,174,67,119,233,224,67,98,183,75,174,67,87,152,234,67,226,55,182,67,130,132,242,67,194,230,191,67,130,132,242,67,108,245,100,232,67,130,132,242,67,98,213,19,242,67,130,132,242,67,255, +255,249,67,87,152,234,67,255,255,249,67,119,233,224,67,108,255,255,249,67,68,107,184,67,98,255,255,249,67,100,188,174,67,213,19,242,67,57,208,166,67,245,100,232,67,57,208,166,67,99,109,246,100,232,66,57,208,166,67,108,83,216,12,66,57,208,166,67,98,92, +133,125,65,57,208,166,67,0,0,128,183,100,188,174,67,0,0,128,183,68,107,184,67,108,0,0,128,183,119,233,224,67,98,0,0,128,183,87,152,234,67,92,133,125,65,130,132,242,67,83,216,12,66,130,132,242,67,108,246,100,232,66,130,132,242,67,98,58,144,7,67,130,132, +242,67,144,104,23,67,87,152,234,67,144,104,23,67,119,233,224,67,108,144,104,23,67,68,107,184,67,98,144,104,23,67,100,188,174,67,57,144,7,67,57,208,166,67,246,100,232,66,57,208,166,67,99,109,205,129,81,67,139,95,38,67,108,25,63,145,67,139,95,38,67,98, +249,237,154,67,139,95,38,67,36,218,162,67,53,135,22,67,36,218,162,67,118,41,3,67,108,36,218,162,67,68,180,72,66,98,36,218,162,67,139,122,246,65,249,237,154,67,176,111,111,65,25,63,145,67,176,111,111,65,108,205,129,81,67,176,111,111,65,98,13,36,62,67, +176,111,111,65,183,75,46,67,139,122,246,65,183,75,46,67,68,180,72,66,108,183,75,46,67,118,41,3,67,98,183,75,46,67,53,135,22,67,15,36,62,67,139,95,38,67,205,129,81,67,139,95,38,67,99,109,25,63,145,67,57,208,166,67,108,205,129,81,67,57,208,166,67,98,13, +36,62,67,57,208,166,67,183,75,46,67,100,188,174,67,183,75,46,67,68,107,184,67,108,183,75,46,67,119,233,224,67,98,183,75,46,67,87,152,234,67,13,36,62,67,130,132,242,67,205,129,81,67,130,132,242,67,108,25,63,145,67,130,132,242,67,98,249,237,154,67,130, +132,242,67,36,218,162,67,87,152,234,67,36,218,162,67,119,233,224,67,108,36,218,162,67,68,107,184,67,98,36,218,162,67,100,188,174,67,249,237,154,67,57,208,166,67,25,63,145,67,57,208,166,67,99,101,0,0 }; + +const uint8 exporter[] = { 110,109,253,221,132,67,144,191,123,65,98,211,214,32,67,144,191,123,65,105,218,146,66,8,213,167,66,10,213,39,66,90,82,50,67,108,224,205,195,66,90,82,50,67,98,141,191,251,66,210,69,227,66,55,143,62,67,24,93,136,66,253,221,132,67,24,93,136,66,98,3,145,183, +67,24,93,136,66,183,198,223,67,130,89,22,67,183,198,223,67,0,0,122,67,98,183,198,223,67,5,179,175,67,59,177,182,67,185,232,215,67,253,221,132,67,185,232,215,67,98,55,143,62,67,185,232,215,67,142,191,251,66,138,46,193,67,224,205,195,66,211,214,160,67, +108,9,213,39,66,211,214,160,67,98,77,91,143,66,189,10,208,67,211,214,32,67,2,34,242,67,253,221,132,67,2,34,242,67,98,109,141,197,67,2,34,242,67,0,0,250,67,112,175,189,67,0,0,250,67,254,255,121,67,98,0,0,250,67,60,66,241,66,109,141,197,67,144,191,123, +65,253,221,132,67,144,191,123,65,99,109,196,78,64,67,211,214,160,67,108,69,23,159,67,254,255,121,67,108,195,78,64,67,88,82,50,67,108,195,78,64,67,13,136,90,67,108,0,0,0,0,13,136,90,67,108,0,0,0,0,191,155,141,67,108,196,78,64,67,191,155,141,67,108,196, +78,64,67,211,214,160,67,99,101,0,0 }; + +const uint8 jigsaw[] = { 110,109,244,9,155,65,198,29,87,67,98,244,9,155,65,198,29,87,67,43,107,174,66,227,15,248,66,97,208,255,66,78,89,17,67,98,202,154,40,67,140,186,36,67,99,79,240,66,200,156,71,67,44,234,30,67,230,13,89,67,98,168,172,69,67,2,127,106,67,96,208,127,67,166,45, +85,67,164,47,116,67,76,218,32,67,98,198,158,102,67,229,13,217,66,72,93,79,67,78,89,17,67,42,236,61,67,35,111,236,66,98,12,123,44,67,169,43,182,66,239,136,139,67,232,142,232,65,239,136,139,67,232,142,232,65,98,239,136,139,67,232,142,232,65,10,123,172, +67,44,234,30,67,154,51,181,67,225,15,248,66,98,89,212,192,67,173,170,166,66,151,53,212,67,110,202,34,66,228,142,232,67,103,77,209,66,98,228,142,232,67,103,77,209,66,0,0,250,67,172,41,23,67,4,127,234,67,234,138,42,67,98,6,254,218,67,40,236,61,67,55,101, +206,67,104,75,50,67,216,148,200,67,230,140,73,67,98,120,196,194,67,68,222,94,67,50,103,237,67,255,128,140,67,50,103,237,67,255,128,140,67,98,50,103,237,67,255,128,140,67,86,85,208,67,248,3,187,67,41,236,189,67,42,107,174,67,98,251,130,171,67,92,210,161, +67,104,204,193,67,15,121,141,67,140,186,164,67,175,168,135,67,98,190,33,152,67,143,184,133,67,112,200,131,67,255,128,140,67,96,208,127,67,28,242,157,67,98,64,224,125,67,201,27,184,67,46,105,143,67,90,83,177,67,237,9,155,67,72,220,191,67,98,172,170,166, +67,54,101,206,67,70,222,94,67,18,119,235,67,70,222,94,67,18,119,235,67,98,70,222,94,67,18,119,235,67,72,220,63,67,167,172,197,67,142,57,21,67,39,236,189,67,98,167,45,213,66,184,35,183,67,112,200,3,67,117,69,210,67,235,11,186,66,180,37,214,67,98,234,13, +89,66,244,5,218,67,0,0,128,55,56,228,190,67,240,140,201,65,187,162,167,67,98,106,77,81,66,62,97,144,67,107,75,178,66,187,162,167,67,171,43,182,66,125,65,148,67,98,41,236,189,66,112,200,131,67,244,9,155,65,198,29,87,67,244,9,155,65,198,29,87,67,99,101, +0,0 }; + +const uint8 info[] = { 110,109,0,0,122,67,0,0,0,0,98,79,35,224,66,0,0,0,0,0,0,0,0,79,35,224,66,0,0,0,0,0,0,122,67,98,0,0,0,0,44,247,193,67,79,35,224,66,0,0,250,67,0,0,122,67,0,0,250,67,98,44,247,193,67,0,0,250,67,0,0,250,67,44,247,193,67,0,0,250,67,0,0,122,67,98,0,0,250,67, +79,35,224,66,44,247,193,67,0,0,0,0,0,0,122,67,0,0,0,0,99,109,114,79,101,67,79,35,224,66,108,71,88,135,67,79,35,224,66,108,71,88,135,67,132,229,28,67,108,116,79,101,67,132,229,28,67,108,116,79,101,67,79,35,224,66,99,109,79,35,149,67,106,132,190,67,108, +98,185,123,67,106,132,190,67,98,150,123,106,67,106,132,190,67,176,220,97,67,168,17,187,67,176,220,97,67,18,150,177,67,108,176,220,97,67,248,52,108,67,98,176,220,97,67,212,8,103,67,238,105,94,67,18,150,99,67,204,61,89,67,18,150,99,67,108,98,185,73,67, +18,150,99,67,108,98,185,73,67,88,238,59,67,108,160,70,120,67,88,238,59,67,98,54,194,132,67,88,238,59,67,169,17,137,67,60,141,68,67,169,17,137,67,8,203,85,67,108,169,17,137,67,26,97,166,67,98,169,17,137,67,43,247,168,67,10,203,138,67,141,176,170,67,27, +97,141,67,141,176,170,67,108,80,35,149,67,141,176,170,67,108,80,35,149,67,106,132,190,67,99,101,0,0 }; + +const uint8 warning[] = { 110,109,211,238,239,67,40,5,203,67,108,193,13,208,67,108,125,148,67,98,86,211,198,67,31,182,131,67,204,226,182,67,70,187,81,67,98,168,173,67,172,44,48,67,108,79,199,141,67,106,58,134,66,98,228,140,132,67,104,58,6,66,182,56,105,67,104,58,6,66,225,195, +86,67,106,58,134,66,108,185,1,23,67,171,44,48,67,98,228,140,4,67,69,187,81,67,161,87,201,66,30,182,131,67,247,109,164,66,108,125,148,67,108,170,166,147,65,40,5,203,67,98,0,0,0,0,118,204,219,67,89,156,113,65,180,56,233,67,222,195,86,66,180,56,233,67,108, +133,39,223,67,180,56,233,67,98,90,156,241,67,180,56,233,67,1,0,250,67,178,245,218,67,211,238,239,67,40,5,203,67,99,109,167,99,133,67,206,104,211,67,108,165,221,101,67,206,104,211,67,108,165,221,101,67,248,243,192,67,108,167,99,133,67,248,243,192,67,108, +167,99,133,67,206,104,211,67,99,109,227,140,132,67,186,135,179,67,108,44,139,103,67,186,135,179,67,108,29,48,100,67,174,178,76,67,108,107,58,134,67,174,178,76,67,108,227,140,132,67,186,135,179,67,99,101,0,0 }; + +const uint8 bug[] = { 110,109,169,227,237,67,143,189,46,67,108,94,183,187,67,17,108,74,67,98,25,100,183,67,96,51,50,67,121,120,176,67,126,112,29,67,241,209,167,67,109,35,12,67,108,255,162,194,67,226,217,58,66,98,90,59,197,67,192,63,24,66,115,128,195,67,254,115,221,65,47,45, +191,67,58,238,179,65,98,234,217,186,67,120,104,138,65,50,169,181,67,248,22,166,65,214,16,179,67,62,75,235,65,108,177,250,153,67,24,193,238,66,98,249,201,148,67,215,233,224,66,64,153,143,67,103,136,214,66,21,139,137,67,198,156,207,66,98,69,21,134,67,100, +43,159,66,192,172,117,67,132,34,121,66,14,116,93,67,68,75,107,66,98,14,116,93,67,68,75,107,66,14,116,93,67,68,75,107,66,14,116,93,67,68,75,107,66,98,37,185,91,67,2,116,93,66,37,185,91,67,34,177,72,66,37,185,91,67,225,217,58,66,98,37,185,91,67,160,2,45, +66,37,185,91,67,95,43,31,66,37,185,91,67,191,63,24,66,98,37,185,91,67,31,84,17,66,14,116,93,67,126,104,10,66,14,116,93,67,222,124,3,66,98,246,46,95,67,252,115,221,65,198,164,98,67,186,156,207,65,127,213,103,67,122,197,193,65,98,127,213,103,67,60,75,235, +65,103,144,105,67,222,124,3,66,30,193,110,67,126,104,10,66,98,238,54,114,67,30,84,17,66,216,241,115,67,30,84,17,66,168,103,119,67,30,84,17,66,98,120,221,122,67,30,84,17,66,72,83,126,67,221,124,3,66,24,7,128,67,56,75,235,65,98,140,228,128,67,184,156,207, +65,140,228,128,67,54,238,179,65,140,228,128,67,180,63,152,65,98,24,7,128,67,102,34,121,65,72,83,126,67,100,197,65,65,120,221,122,67,226,22,38,65,98,168,103,119,67,96,104,10,65,192,172,117,67,96,104,10,65,240,54,114,67,96,104,10,65,98,32,193,110,67,96, +104,10,65,56,6,109,67,96,104,10,65,103,144,105,67,226,22,38,65,98,151,26,102,67,100,197,65,65,175,95,100,67,230,115,93,65,199,164,98,67,104,34,121,65,98,223,233,96,67,117,104,138,65,247,46,95,67,246,22,166,65,15,116,93,67,56,238,179,65,98,38,185,91,67, +186,156,207,65,63,254,89,67,122,34,249,65,86,67,88,67,30,84,17,66,98,86,67,88,67,255,22,38,66,86,67,88,67,224,217,58,66,86,67,88,67,32,177,72,66,98,86,67,88,67,98,136,86,66,63,254,89,67,2,116,93,66,63,254,89,67,162,95,100,66,98,159,18,83,67,162,95,100, +66,254,38,76,67,162,95,100,66,70,246,70,67,66,75,107,66,98,189,79,62,67,226,54,114,66,29,100,55,67,226,124,131,66,124,120,48,67,82,222,141,66,98,148,189,46,67,178,242,134,66,148,189,46,67,225,124,131,66,172,2,45,67,130,34,121,66,98,196,71,43,67,66,75, +107,66,244,209,39,67,96,136,86,66,12,23,38,67,30,177,72,66,98,60,161,34,67,222,217,58,66,108,43,31,67,157,2,45,66,155,181,27,67,253,22,38,66,98,200,63,24,67,98,43,31,66,248,201,20,67,194,63,24,66,17,15,19,67,194,63,24,66,98,65,153,15,67,194,63,24,66, +113,35,12,67,35,84,17,66,136,104,10,67,194,63,24,66,98,160,173,8,67,98,43,31,66,208,55,5,67,98,43,31,66,0,194,1,67,3,23,38,66,98,94,152,252,66,3,23,38,66,142,34,249,66,163,2,45,66,190,172,245,66,68,238,51,66,98,240,54,242,66,38,177,72,66,240,54,242,66, +102,136,86,66,240,54,242,66,166,95,100,66,98,192,172,245,66,230,54,114,66,142,34,249,66,20,7,128,66,23,7,0,67,228,124,131,66,98,231,124,3,67,180,242,134,66,183,242,6,67,180,242,134,66,136,104,10,67,180,242,134,66,98,88,222,13,67,228,124,131,66,40,84, +17,67,136,34,121,66,40,84,17,67,232,54,114,66,98,17,15,19,67,168,95,100,66,17,15,19,67,102,136,86,66,40,84,17,67,133,197,65,66,98,248,201,20,67,229,217,58,66,177,250,25,67,133,197,65,66,105,43,31,67,38,177,72,66,98,82,230,32,67,38,177,72,66,57,161,34, +67,198,156,79,66,34,92,36,67,102,136,86,66,98,10,23,38,67,6,116,93,66,242,209,39,67,166,95,100,66,218,140,41,67,232,54,114,66,98,195,71,43,67,20,7,128,66,170,2,45,67,181,242,134,66,147,189,46,67,85,222,141,66,98,147,189,46,67,85,222,141,66,147,189,46, +67,37,84,145,66,147,189,46,67,37,84,145,66,98,106,43,31,67,167,2,173,66,226,132,22,67,56,254,217,66,153,181,27,67,229,124,3,67,98,40,84,17,67,86,222,13,67,160,173,8,67,174,250,25,67,0,194,1,67,7,23,38,67,108,110,43,31,66,120,213,231,66,98,153,34,249, +65,7,116,221,66,21,23,166,65,168,95,228,66,162,34,121,65,184,172,245,66,98,150,197,65,65,229,124,3,67,154,34,121,65,86,222,13,67,81,238,179,65,14,15,19,67,108,126,213,231,66,40,177,72,67,98,14,116,221,66,242,46,95,67,62,254,217,66,140,34,121,67,174,95, +228,66,19,139,137,67,108,26,116,93,65,84,98,151,67,98,40,23,166,64,200,63,152,67,0,0,128,55,128,112,157,67,128,116,221,63,197,195,161,67,98,72,116,93,64,9,23,166,67,26,116,93,65,101,175,168,67,81,238,179,65,241,209,167,67,108,142,34,249,66,176,250,153, +67,98,208,55,5,67,173,126,163,67,248,201,20,67,29,224,173,67,10,23,38,67,26,100,183,67,108,16,116,221,66,124,213,231,67,98,158,18,211,66,193,40,236,67,64,254,217,66,121,89,241,67,80,75,235,66,213,241,243,67,98,242,54,242,66,73,207,244,67,98,152,252,66, +189,172,245,67,232,124,3,67,73,207,244,67,98,184,242,6,67,213,241,243,67,113,35,12,67,97,20,243,67,89,222,13,67,5,124,240,67,108,164,10,64,67,230,93,196,67,98,30,193,110,67,176,219,218,67,41,84,145,67,124,213,231,67,156,49,146,67,227,225,205,67,98,221, +8,160,67,172,95,228,67,121,120,176,67,135,73,203,67,2,31,185,67,193,71,171,67,108,149,26,230,67,230,93,196,67,98,125,213,231,67,91,59,197,67,217,109,234,67,207,24,198,67,52,6,237,67,91,59,197,67,98,29,193,238,67,230,93,196,67,121,89,241,67,114,128,195, +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, +138,6,67,97,39,221,67,228,205,195,66,98,45,58,210,67,252,204,136,66,140,196,195,67,48,189,49,66,24,78,179,67,16,241,224,65,98,13,141,162,67,160,170,38,65,62,147,143,67,0,0,0,0,146,13,121,67,0,108,242,63,98,16,217,117,67,0,116,214,63,140,164,114,67,0, +198,223,63,98,93,111,67,0,198,223,63,99,109,2,204,145,67,176,213,248,65,98,118,216,164,67,128,64,248,65,120,14,183,67,120,246,75,66,107,247,194,67,12,247,159,66,98,142,240,200,67,228,88,194,66,66,203,200,67,28,178,241,66,35,15,196,67,14,15,11,67,98,57, +187,195,67,170,150,12,67,197,228,194,67,226,165,15,67,7,127,196,67,42,142,14,67,98,111,185,202,67,130,62,13,67,56,197,208,67,118,152,5,67,62,46,215,67,222,60,9,67,98,255,191,218,67,94,52,11,67,195,248,220,67,190,138,17,67,30,124,223,67,38,108,22,67,98, +19,118,231,67,86,55,41,67,78,44,233,67,190,0,67,67,250,34,233,67,74,229,90,67,98,145,109,233,67,126,25,116,67,173,253,232,67,79,125,135,67,9,102,226,67,205,143,146,67,98,176,137,222,67,221,220,152,67,227,64,215,67,155,199,157,67,43,164,207,67,239,119, +156,67,98,59,2,210,67,63,112,160,67,161,166,213,67,243,57,164,67,28,97,214,67,9,18,169,67,98,36,219,216,67,187,96,179,67,82,68,212,67,143,124,190,67,92,74,204,67,51,20,197,67,98,133,241,191,67,175,127,209,67,15,212,176,67,213,164,220,67,248,241,158,67, +63,240,222,67,98,3,248,150,67,241,35,224,67,183,183,141,67,243,202,222,67,119,46,136,67,63,107,216,67,98,88,114,131,67,129,128,211,67,94,192,128,67,33,42,205,67,156,196,124,67,103,230,198,67,98,78,115,119,67,171,66,208,67,106,232,109,67,247,130,217,67, +246,113,93,67,145,249,222,67,98,100,90,81,67,17,135,227,67,166,190,64,67,69,89,229,67,86,82,50,67,83,139,226,67,98,234,31,18,67,119,16,222,67,170,130,239,66,83,235,210,67,38,243,195,66,35,165,198,67,98,136,26,167,66,199,156,189,67,167,187,162,66,101, +132,175,67,11,116,192,66,23,68,166,67,98,66,131,195,66,193,253,164,67,102,124,201,66,217,80,163,67,167,22,203,66,23,85,162,67,98,22,218,168,66,255,1,164,67,202,89,128,66,239,163,161,67,13,19,89,66,55,7,154,67,98,52,174,24,66,167,150,140,67,194,109,26, +66,222,189,119,67,230,156,50,66,46,224,89,67,98,91,36,63,66,74,41,75,67,246,181,77,66,26,77,60,67,120,15,103,66,234,173,46,67,98,122,18,136,66,206,36,30,67,254,161,179,66,206,248,24,67,0,14,216,66,218,175,28,67,98,161,173,196,66,62,13,18,67,75,216,175, +66,138,40,5,67,8,45,178,66,236,184,235,66,98,6,28,182,66,36,197,208,66,71,219,205,66,212,222,191,66,101,161,223,66,212,168,173,66,98,248,204,8,67,184,211,127,66,139,26,39,67,56,48,58,66,129,207,71,67,104,89,22,66,98,26,80,90,67,64,113,12,66,112,54,107, +67,216,227,64,66,232,206,115,67,88,169,126,66,98,236,11,117,67,68,142,131,66,0,17,118,67,116,18,136,66,108,3,119,67,156,150,140,66,98,11,183,128,67,168,186,100,66,128,35,132,67,152,87,29,66,20,76,140,67,40,20,1,66,98,161,11,142,67,96,213,248,65,40,231, +143,67,32,64,248,65,91,185,145,67,32,64,248,65,99,109,246,47,151,67,168,173,68,66,98,140,95,142,67,184,56,67,66,40,204,134,67,72,20,126,66,147,40,133,67,60,140,160,66,98,224,94,126,67,188,13,238,66,189,234,129,67,150,121,32,67,211,44,132,67,30,26,72, +67,98,100,147,132,67,158,61,79,67,244,249,132,67,214,59,86,67,126,124,133,67,174,76,93,67,98,224,131,151,67,254,154,68,67,9,107,170,67,74,94,45,67,185,168,184,67,66,164,11,67,98,100,142,188,67,238,38,1,67,210,22,192,67,4,202,231,66,47,171,190,67,60,214, +204,66,98,106,220,185,67,172,65,160,66,234,201,174,67,228,77,133,66,168,20,164,67,136,15,103,66,98,12,247,159,67,248,125,88,66,194,226,155,67,248,88,66,66,246,47,151,67,184,173,68,66,99,109,194,71,81,67,248,79,101,66,98,244,217,51,67,232,23,112,66,190, +165,26,67,172,221,154,66,186,67,3,67,92,170,188,66,98,154,108,242,66,140,251,204,66,184,215,219,66,188,64,226,66,184,215,219,66,252,238,253,66,98,210,86,223,66,178,228,9,67,1,17,246,66,166,72,15,67,49,193,2,67,174,177,21,67,98,178,9,32,67,78,172,42,67, +210,22,64,67,74,165,59,67,84,95,93,67,54,197,80,67,98,46,112,100,67,162,166,85,67,100,110,107,67,74,229,90,67,6,95,115,67,10,119,94,67,98,4,78,119,67,50,99,57,67,174,113,115,67,30,242,19,67,108,232,109,67,84,156,222,66,98,6,68,106,67,92,170,188,66,106, +188,104,67,180,121,149,66,136,66,91,67,40,32,121,66,98,156,88,88,67,56,205,111,66,190,54,85,67,88,5,101,66,102,90,81,67,40,229,101,66,99,109,210,182,207,67,42,91,26,67,98,131,207,199,67,186,87,29,67,160,218,192,67,22,96,38,67,106,220,185,67,46,206,45, +67,98,9,240,176,67,66,238,55,67,55,106,168,67,178,56,67,67,185,237,159,67,202,149,78,67,98,96,123,153,67,110,134,86,67,175,194,145,67,22,2,93,67,11,193,141,67,250,123,106,67,98,123,90,141,67,254,184,107,67,144,6,141,67,22,251,109,67,73,30,142,67,186, +13,110,67,98,215,125,159,67,123,169,129,67,125,198,177,67,199,233,138,67,235,238,196,67,3,204,145,67,98,21,204,202,67,137,167,147,67,136,39,210,67,39,47,149,67,131,111,215,67,143,245,144,67,98,238,80,220,67,97,113,140,67,124,16,222,67,203,161,133,67, +211,86,223,67,30,188,126,67,98,172,59,225,67,174,103,102,67,128,77,223,67,182,144,77,67,112,239,220,67,130,153,53,67,98,220,75,219,67,90,55,41,67,236,36,215,67,246,197,25,67,211,182,207,67,130,72,26,67,99,109,42,189,177,66,206,146,48,67,98,253,19,151, +66,138,231,50,67,23,93,136,66,78,209,64,67,25,110,132,66,134,251,76,67,98,67,171,119,66,250,96,97,67,140,191,123,66,66,110,118,67,30,161,117,66,37,143,133,67,98,30,161,117,66,253,98,139,67,46,149,122,66,153,22,146,67,1,54,143,66,221,70,150,67,98,76,128, +165,66,135,44,154,67,233,88,194,66,195,243,151,67,14,136,218,66,25,164,150,67,98,149,57,254,66,77,135,148,67,44,142,14,67,249,81,143,67,250,241,30,67,79,108,139,67,98,228,0,56,67,163,240,132,67,146,178,80,67,114,47,124,67,140,137,105,67,230,162,110,67, +98,126,183,92,67,22,241,96,67,106,124,73,67,182,215,91,67,204,173,57,67,122,95,82,67,98,86,240,26,67,222,205,67,67,190,101,248,66,170,197,47,67,42,189,177,66,206,146,48,67,99,109,0,27,134,67,154,118,127,67,98,100,147,132,67,209,37,149,67,190,128,132, +67,73,200,170,67,26,4,135,67,211,22,192,67,98,120,46,136,67,69,114,199,67,121,196,138,67,135,145,207,67,30,92,145,67,29,203,211,67,98,65,85,151,67,77,246,214,67,187,148,158,67,141,250,213,67,111,244,164,67,219,198,212,67,98,40,39,175,67,113,123,210,67, +84,154,183,67,219,171,203,67,19,27,191,67,167,173,196,67,98,173,145,196,67,177,73,191,67,16,143,201,67,227,89,185,67,104,107,205,67,61,194,178,67,98,51,136,207,67,215,135,172,67,233,115,203,67,199,58,166,67,119,174,198,67,107,122,162,67,98,204,67,188, +67,197,76,153,67,184,141,175,67,237,120,147,67,31,146,163,67,79,197,140,67,98,233,253,153,67,63,209,135,67,192,49,144,67,191,67,131,67,82,36,134,67,202,206,126,67,108,255,26,134,67,162,118,127,67,99,109,94,59,119,67,154,118,127,67,98,196,132,82,67,95, +69,135,67,174,2,49,67,71,13,146,67,152,128,15,67,61,157,156,67,98,15,244,254,66,41,29,162,67,50,146,220,66,195,236,168,67,64,63,211,66,53,222,178,67,98,94,224,206,66,135,214,182,67,54,180,212,66,125,225,186,67,40,7,222,66,83,31,190,67,98,102,164,253, +66,83,41,203,67,171,160,25,67,9,31,212,67,206,190,53,67,79,140,217,67,98,130,180,62,67,229,47,219,67,121,68,73,67,63,29,219,67,26,53,81,67,167,60,216,67,98,128,227,97,67,7,226,210,67,16,207,104,67,63,231,200,67,0,246,108,67,67,176,191,67,98,158,169,115, +67,159,253,175,67,0,17,118,67,187,237,159,67,156,152,119,67,43,231,143,67,98,128,8,120,67,145,112,138,67,38,27,120,67,247,249,132,67,38,27,120,67,94,25,127,67,108,82,115,119,67,250,99,127,67,108,96,59,119,67,158,118,127,67,99,101,0,0 }; + +const uint8 mainJuceLogo[] = { 110,109,104,98,101,67,226,177,185,67,98,216,179,86,67,250,116,179,67,120,184,74,67,126,86,174,67,24,194,74,67,178,81,174,67,98,152,203,74,67,230,76,174,67,216,11,78,67,202,111,174,67,88,251,81,67,70,159,174,67,98,216,234,85,67,186,206,174,67,136,52,89, +67,170,242,174,67,216,73,89,67,34,239,174,67,98,24,95,89,67,150,235,174,67,40,132,85,67,46,112,173,67,168,184,80,67,2,164,171,67,108,184,0,72,67,90,95,168,67,108,248,166,79,67,214,89,168,67,108,56,77,87,67,86,84,168,67,108,184,54,83,67,182,151,166,67, +98,56,247,80,67,42,163,165,67,152,5,79,67,18,219,164,67,8,229,78,67,18,219,164,67,98,120,196,78,67,18,219,164,67,24,42,78,67,118,233,164,67,8,142,77,67,10,251,164,67,98,248,241,76,67,154,12,165,67,200,163,75,67,102,40,165,67,88,167,74,67,206,56,165,67, +98,232,170,73,67,54,73,165,67,120,215,72,67,210,89,165,67,120,209,72,67,178,93,165,67,98,104,203,72,67,138,97,165,67,168,220,71,67,130,95,167,67,200,190,70,67,214,202,169,67,108,248,182,68,67,238,48,174,67,108,72,122,69,67,130,142,174,67,98,72,50,70, +67,166,230,174,67,152,61,70,67,150,242,174,67,152,61,70,67,30,92,175,67,98,152,61,70,67,134,193,175,67,104,46,70,67,194,211,175,67,56,157,69,67,94,28,176,67,98,24,230,67,67,238,247,176,67,88,241,64,67,150,131,176,67,24,242,64,67,166,100,175,67,98,24, +242,64,67,206,228,174,67,104,3,66,67,54,90,174,67,120,56,67,67,2,61,174,67,98,72,169,67,67,86,50,174,67,24,194,67,67,46,38,174,67,24,194,67,67,154,249,173,67,98,24,194,67,67,174,219,173,67,120,231,67,67,146,132,173,67,24,21,68,67,6,56,173,67,98,200,66, +68,67,118,235,172,67,72,31,69,67,182,23,171,67,40,255,69,67,146,40,169,67,98,248,222,70,67,106,57,167,67,168,159,71,67,162,147,165,67,88,171,71,67,62,127,165,67,98,184,190,71,67,82,93,165,67,104,146,71,67,38,90,165,67,152,161,69,67,254,89,165,67,98,248, +118,68,67,254,89,165,67,24,217,66,67,30,80,165,67,232,9,66,67,62,68,165,67,98,200,58,65,67,98,56,165,67,24,139,64,67,202,49,165,67,120,131,64,67,154,53,165,67,98,184,123,64,67,114,57,165,67,136,174,62,67,22,20,169,67,72,130,60,67,58,198,173,67,98,232, +10,57,67,234,67,181,67,136,151,56,67,74,81,182,67,104,213,56,67,26,91,182,67,98,24,252,56,67,62,97,182,67,136,81,57,67,82,130,182,67,40,147,57,67,154,164,182,67,98,8,61,58,67,58,253,182,67,136,86,58,67,30,146,183,67,56,205,57,67,34,247,183,67,98,184, +182,56,67,246,195,184,67,24,38,54,67,210,204,184,67,168,45,53,67,34,7,184,67,98,168,99,52,67,86,102,183,67,216,50,53,67,214,136,182,67,72,200,54,67,18,80,182,67,98,232,106,55,67,82,57,182,67,216,135,55,67,46,44,182,67,24,171,55,67,74,233,181,67,98,88, +6,56,67,250,59,181,67,152,72,63,67,210,117,165,67,136,83,63,67,22,69,165,67,98,24,93,63,67,150,26,165,67,152,74,63,67,230,14,165,67,120,245,62,67,150,9,165,67,98,56,47,62,67,54,253,164,67,72,49,58,67,102,114,164,67,56,27,57,67,18,62,164,67,98,152,31, +56,67,186,14,164,67,72,4,56,67,54,13,164,67,168,241,55,67,170,45,164,67,98,120,230,55,67,82,65,164,67,200,160,54,67,186,255,166,67,8,30,53,67,142,70,170,67,98,88,155,51,67,102,141,173,67,88,86,50,67,254,73,176,67,216,75,50,67,122,91,176,67,98,104,64, +50,67,162,110,176,67,152,106,50,67,118,137,176,67,72,182,50,67,18,159,176,67,98,40,219,51,67,174,242,176,67,168,44,52,67,222,178,177,67,104,102,51,67,30,62,178,67,98,40,102,50,67,10,242,178,67,200,190,47,67,18,239,178,67,56,208,46,67,6,57,178,67,98,168, +115,46,67,106,242,177,67,200,121,46,67,234,104,177,67,88,221,46,67,194,19,177,67,98,136,51,47,67,250,201,176,67,24,69,48,67,150,113,176,67,232,212,48,67,10,113,176,67,98,184,27,49,67,10,113,176,67,232,56,49,67,62,93,176,67,200,91,49,67,170,22,176,67, +98,8,251,49,67,10,213,174,67,88,6,55,67,170,215,163,67,216,251,54,67,58,213,163,67,98,200,244,54,67,146,211,163,67,72,51,54,67,158,164,163,67,248,77,53,67,214,108,163,67,98,88,86,52,67,158,48,163,67,248,141,51,67,102,12,163,67,120,96,51,67,158,19,163, +67,98,248,249,50,67,226,35,163,67,216,71,49,67,46,1,163,67,88,157,46,67,30,178,162,67,108,88,107,44,67,6,113,162,67,108,184,215,43,67,210,177,162,67,98,152,242,42,67,106,22,163,67,184,219,40,67,86,197,163,67,136,154,39,67,174,20,164,67,98,136,250,38, +67,62,60,164,67,152,119,38,67,94,103,164,67,152,119,38,67,134,116,164,67,98,152,119,38,67,178,129,164,67,152,242,38,67,186,68,165,67,232,136,39,67,242,37,166,67,98,56,31,40,67,38,7,167,67,184,174,40,67,242,247,167,67,200,199,40,67,6,61,168,67,98,184, +17,41,67,218,8,169,67,104,176,40,67,126,153,169,67,120,150,39,67,34,3,170,67,98,24,204,38,67,238,78,170,67,152,253,34,67,246,82,171,67,88,46,33,67,206,184,171,67,108,88,158,31,67,190,16,172,67,108,248,249,30,67,174,235,171,67,98,152,237,29,67,46,175, +171,67,40,80,27,67,34,44,170,67,120,187,24,67,118,79,168,67,98,72,62,24,67,46,245,167,67,152,195,23,67,86,171,167,67,184,170,23,67,86,171,167,67,98,232,145,23,67,90,171,167,67,120,219,22,67,162,185,167,67,104,21,22,67,22,203,167,67,98,104,79,21,67,134, +220,167,67,136,87,20,67,246,234,167,67,184,238,19,67,34,235,167,67,98,216,133,19,67,34,235,167,67,152,27,19,67,134,242,167,67,136,2,19,67,14,251,167,67,98,136,233,18,67,150,3,168,67,24,130,18,67,2,125,168,67,200,28,18,67,210,8,169,67,98,232,177,16,67, +114,253,170,67,136,53,15,67,42,153,172,67,136,108,14,67,222,6,173,67,98,232,39,14,67,86,44,173,67,56,231,13,67,130,54,173,67,40,62,13,67,110,54,173,67,98,24,156,11,67,110,54,173,67,24,218,6,67,250,184,172,67,56,98,3,67,234,50,172,67,108,152,163,2,67, +34,22,172,67,108,72,166,2,67,202,125,171,67,98,88,168,2,67,254,41,171,67,232,161,2,67,110,229,170,67,88,153,2,67,110,229,170,67,98,216,144,2,67,110,229,170,67,72,18,1,67,206,90,171,67,176,142,254,66,66,234,171,67,98,48,105,234,66,78,16,175,67,144,149, +220,66,6,141,176,67,16,174,204,66,170,71,177,67,98,80,89,201,66,194,110,177,67,112,92,199,66,226,118,177,67,176,91,192,66,10,122,177,67,98,16,23,184,66,202,125,177,67,16,255,183,66,78,126,177,67,144,194,182,66,254,177,177,67,98,48,23,180,66,150,33,178, +67,240,81,173,66,206,7,179,67,16,49,169,66,86,127,179,67,98,208,99,156,66,18,242,180,67,112,13,145,66,90,188,181,67,144,182,129,66,182,63,182,67,98,224,152,121,66,202,105,182,67,160,106,89,66,250,98,182,67,192,33,79,66,162,52,182,67,98,160,48,35,66,154, +110,181,67,32,23,1,66,94,84,179,67,192,100,211,65,138,243,175,67,98,128,131,143,65,218,12,171,67,128,22,118,65,142,127,163,67,0,225,163,65,26,108,158,67,98,192,134,192,65,126,220,154,67,64,214,241,65,158,158,152,67,64,184,21,66,122,66,152,67,98,64,121, +35,66,118,22,152,67,32,193,48,66,34,114,152,67,192,112,62,66,130,91,153,67,98,160,132,71,66,78,246,153,67,128,149,76,66,166,109,154,67,192,118,83,66,194,74,155,67,98,32,75,106,66,126,40,158,67,0,12,116,66,146,185,162,67,32,232,107,66,118,188,166,67,98, +64,171,105,66,182,214,167,67,160,96,102,66,74,145,168,67,0,1,96,66,58,95,169,67,98,32,58,84,66,186,219,170,67,160,229,69,66,246,71,171,67,160,43,51,66,234,177,170,67,98,0,68,41,66,134,98,170,67,160,213,34,66,110,229,169,67,192,255,27,66,38,239,168,67, +98,128,5,19,66,174,171,167,67,128,231,15,66,38,45,166,67,224,209,18,66,178,136,164,67,98,224,0,21,66,234,77,163,67,160,189,25,66,226,145,162,67,160,151,33,66,114,62,162,67,98,64,150,39,66,186,254,161,67,96,195,47,66,118,65,162,67,192,253,51,66,154,212, +162,67,108,96,165,53,66,50,14,163,67,108,96,1,50,66,234,210,162,67,98,32,185,45,66,50,141,162,67,0,92,39,66,30,130,162,67,160,89,35,66,106,185,162,67,98,224,214,31,66,206,233,162,67,128,167,27,66,74,107,163,67,128,160,25,66,46,230,163,67,98,128,7,24, +66,18,71,164,67,64,220,23,66,238,102,164,67,32,225,23,66,218,47,165,67,98,32,225,23,66,46,170,165,67,96,78,24,66,238,61,166,67,32,205,24,66,46,120,166,67,98,64,228,28,66,70,89,168,67,160,251,43,66,182,167,169,67,32,154,61,66,182,167,169,67,98,0,233,71, +66,182,167,169,67,96,54,79,66,114,82,169,67,128,27,85,66,70,149,168,67,98,224,182,97,66,174,0,167,67,192,95,101,66,210,206,163,67,64,242,93,66,90,222,160,67,98,128,176,89,66,26,47,159,67,0,26,83,66,14,212,157,67,160,108,73,66,58,165,156,67,98,0,214,64, +66,122,152,155,67,64,61,55,66,174,235,154,67,160,133,43,66,210,138,154,67,98,160,187,37,66,246,90,154,67,0,46,36,66,178,86,154,67,96,212,27,66,186,95,154,67,98,160,222,16,66,150,107,154,67,64,115,12,66,94,143,154,67,224,172,2,66,122,43,155,67,98,128, +125,222,65,186,97,156,67,128,208,191,65,238,186,158,67,0,173,179,65,10,108,161,67,98,192,81,162,65,122,69,165,67,192,153,175,65,46,233,169,67,64,247,214,65,66,192,173,67,98,192,139,227,65,98,250,174,67,128,19,250,65,222,133,176,67,192,214,5,66,122,93, +177,67,98,32,176,22,66,74,250,178,67,32,169,47,66,226,98,180,67,32,217,70,66,50,8,181,67,98,160,162,87,66,226,127,181,67,128,64,95,66,114,153,181,67,0,55,114,66,210,153,181,67,98,192,152,130,66,210,153,181,67,128,95,135,66,162,122,181,67,48,157,143,66, +38,5,181,67,98,80,101,155,66,46,93,180,67,112,247,167,66,142,19,179,67,16,207,177,66,122,132,177,67,108,176,187,179,66,114,54,177,67,108,16,52,177,66,226,18,177,67,98,240,109,173,66,210,221,176,67,176,158,169,66,30,118,176,67,16,234,167,66,10,22,176, +67,98,16,24,167,66,210,231,175,67,208,122,166,66,82,190,175,67,208,140,166,66,218,185,175,67,98,176,158,166,66,98,181,175,67,240,180,167,66,154,204,175,67,208,246,168,66,126,237,175,67,98,240,205,171,66,210,55,176,67,112,196,176,66,2,144,176,67,80,242, +179,66,174,176,176,67,108,176,90,182,66,110,201,176,67,108,240,202,184,66,58,88,176,67,98,16,100,189,66,198,130,175,67,16,195,193,66,94,141,174,67,240,143,198,66,34,83,173,67,98,112,94,205,66,166,149,171,67,80,246,209,66,102,31,170,67,176,42,215,66,86, +10,168,67,98,48,184,217,66,218,4,167,67,16,35,222,66,118,4,165,67,208,138,222,66,222,178,164,67,98,112,180,222,66,34,146,164,67,80,121,222,66,54,103,164,67,48,191,221,66,178,30,164,67,108,48,185,220,66,154,184,163,67,108,144,170,217,66,222,231,163,67, +98,16,237,210,66,18,80,164,67,240,82,207,66,158,101,164,67,16,146,196,66,38,102,164,67,98,144,87,188,66,38,102,164,67,112,205,185,66,126,95,164,67,176,213,182,66,34,64,164,67,98,208,110,159,66,158,72,163,67,240,63,144,66,22,130,160,67,240,100,138,66, +86,32,156,67,98,16,114,134,66,218,43,153,67,240,47,136,66,94,108,149,67,208,228,142,66,2,114,146,67,98,208,182,143,66,206,20,146,67,240,158,144,66,122,182,145,67,208,232,144,66,102,160,145,67,98,176,62,146,66,74,58,145,67,16,121,149,66,42,18,145,67,80, +128,159,66,10,235,144,67,98,144,206,162,66,34,222,144,67,144,114,164,66,162,205,144,67,112,206,165,66,150,171,144,67,98,208,60,168,66,178,110,144,67,240,148,171,66,246,202,143,67,112,76,173,66,202,60,143,67,98,80,165,174,66,58,205,142,67,16,20,177,66, +166,174,141,67,80,140,177,66,70,72,141,67,98,240,190,177,66,54,29,141,67,208,174,177,66,38,23,141,67,16,35,177,66,74,32,141,67,98,112,200,176,66,58,38,141,67,144,1,163,66,98,171,142,67,208,133,146,66,34,129,144,67,108,0,27,105,66,46,215,147,67,108,32, +36,105,66,246,55,148,67,98,160,47,105,66,250,180,148,67,0,154,103,66,234,19,149,67,128,189,100,66,90,63,149,67,98,192,199,97,66,78,108,149,67,160,86,95,66,130,106,149,67,64,235,91,66,206,56,149,67,98,32,177,86,66,222,236,148,67,192,224,83,66,202,21,148, +67,32,254,85,66,218,115,147,67,98,32,202,86,66,206,54,147,67,160,189,87,66,66,26,147,67,160,19,90,66,46,249,146,67,98,32,219,93,66,178,195,146,67,64,55,97,66,78,209,146,67,224,207,100,66,170,36,147,67,108,96,88,103,66,98,95,147,67,108,16,180,144,66,42, +36,144,67,98,176,171,160,66,50,93,142,67,112,159,173,66,202,226,140,67,80,124,173,66,66,219,140,67,98,112,89,173,66,198,211,140,67,208,68,172,66,106,183,140,67,240,21,171,66,94,156,140,67,98,208,59,168,66,38,91,140,67,208,41,164,66,30,217,139,67,208, +100,161,66,210,102,139,67,98,208,40,160,66,218,51,139,67,48,7,159,66,38,10,139,67,80,225,158,66,38,10,139,67,98,48,169,158,66,38,10,139,67,80,210,143,66,170,138,140,67,64,112,59,66,134,162,145,67,98,96,247,58,66,166,168,145,67,64,155,58,66,246,210,145, +67,192,153,58,66,14,5,146,67,98,192,153,58,66,210,117,146,67,128,125,57,66,130,185,146,67,96,178,54,66,194,245,146,67,98,64,227,47,66,150,136,147,67,160,109,37,66,238,203,146,67,160,109,37,66,66,190,145,67,98,160,109,37,66,74,26,145,67,224,200,40,66, +190,191,144,67,64,221,46,66,190,191,144,67,98,32,161,49,66,190,191,144,67,64,17,51,66,26,205,144,67,64,103,53,66,138,252,144,67,108,32,102,56,66,86,57,145,67,108,96,83,59,66,30,21,145,67,98,224,44,66,66,98,192,144,67,144,179,156,66,134,175,138,67,144, +214,156,66,134,167,138,67,98,176,235,156,66,162,162,138,67,240,208,155,66,42,85,138,67,16,98,154,66,78,251,137,67,98,144,43,152,66,122,112,137,67,208,150,148,66,182,88,136,67,240,165,147,66,26,237,135,67,98,176,105,147,66,42,210,135,67,112,189,146,66, +238,212,135,67,112,153,142,66,230,1,136,67,108,112,210,137,66,206,53,136,67,108,192,45,132,66,238,192,134,67,108,224,17,125,66,18,76,133,67,108,128,149,116,66,58,4,137,67,98,192,234,111,66,238,15,139,67,128,5,108,66,46,191,140,67,192,237,107,66,154,194, +140,67,98,160,213,107,66,6,198,140,67,0,108,98,66,126,102,139,67,96,2,87,66,110,181,137,67,108,64,66,66,66,22,162,134,67,108,224,124,60,66,26,75,138,67,98,64,80,57,66,118,78,140,67,32,157,54,66,102,247,141,67,0,125,54,66,106,251,141,67,98,128,92,54,66, +90,255,141,67,192,240,45,66,74,146,140,67,128,197,35,66,2,208,138,67,98,160,142,17,66,134,169,135,67,128,70,17,66,110,158,135,67,160,214,16,66,86,230,135,67,98,96,152,16,66,126,14,136,67,224,127,14,66,98,208,137,67,0,47,12,66,26,206,139,67,98,32,222, +9,66,210,203,141,67,96,198,7,66,118,106,143,67,192,136,7,66,138,103,143,67,98,32,75,7,66,162,100,143,67,64,3,252,65,162,246,141,67,64,203,229,65,58,58,140,67,98,0,147,207,65,214,125,138,67,0,211,188,65,150,12,137,67,128,32,188,65,178,5,137,67,98,0,110, +187,65,214,254,136,67,192,72,186,65,198,28,137,67,0,148,185,65,78,72,137,67,98,192,222,172,65,102,88,140,67,128,239,156,65,114,34,144,67,64,174,156,65,182,39,144,67,98,128,127,156,65,118,43,144,67,192,195,142,65,126,157,143,67,0,85,124,65,46,236,142, +67,108,0,248,63,65,202,169,141,67,108,0,230,193,64,54,56,142,67,98,0,194,50,64,138,134,142,67,0,0,188,61,246,194,142,67,0,0,105,61,118,190,142,67,98,0,0,0,0,50,183,142,67,0,136,65,64,174,45,142,67,128,42,32,65,230,249,140,67,108,128,116,69,65,62,147, +140,67,108,0,211,117,65,242,140,141,67,98,192,54,136,65,74,22,142,67,192,66,147,65,166,131,142,67,0,118,147,65,238,127,142,67,98,128,169,147,65,74,124,142,67,192,203,154,65,206,194,140,67,192,80,163,65,250,170,138,67,98,0,214,171,65,38,147,136,67,0,2, +179,65,138,217,134,67,0,64,179,65,166,213,134,67,98,128,185,179,65,14,206,134,67,192,226,188,65,70,128,135,67,192,57,232,65,118,220,138,67,98,128,132,247,65,246,11,140,67,32,46,2,66,198,4,141,67,64,98,2,66,98,5,141,67,98,192,150,2,66,110,6,141,67,224, +22,5,66,2,111,139,67,160,241,7,66,246,124,137,67,98,128,204,10,66,234,138,135,67,160,85,13,66,122,225,133,67,32,148,13,66,138,203,133,67,98,32,237,13,66,98,172,133,67,96,32,18,66,206,84,134,67,128,209,32,66,214,206,136,67,108,32,157,51,66,250,249,139, +67,108,32,154,56,66,242,71,136,67,98,128,88,59,66,162,63,134,67,64,189,61,66,238,149,132,67,192,235,61,66,246,149,132,67,98,64,26,62,66,250,149,132,67,0,158,71,66,170,246,133,67,64,16,83,66,178,165,135,67,98,96,130,94,66,190,84,137,67,64,12,104,66,102, +181,138,67,128,66,104,66,102,181,138,67,98,128,120,104,66,102,181,138,67,64,151,107,66,110,39,137,67,32,49,111,66,6,65,135,67,98,0,203,114,66,158,90,133,67,32,4,118,66,54,172,131,67,128,90,118,66,142,132,131,67,108,96,247,118,66,122,60,131,67,108,224, +122,131,66,190,59,133,67,108,0,122,139,66,2,59,135,67,108,112,95,142,66,222,24,135,67,98,48,247,143,66,26,6,135,67,176,68,145,66,126,239,134,67,176,68,145,66,166,230,134,67,98,176,68,145,66,210,221,134,67,48,212,144,66,242,153,134,67,112,74,144,66,210, +79,134,67,98,144,11,142,66,46,26,133,67,80,163,140,66,194,96,131,67,208,162,140,66,42,213,129,67,98,144,162,140,66,142,221,128,67,208,162,140,66,242,219,128,67,224,227,139,66,190,230,128,67,98,48,78,138,66,226,253,128,67,240,71,128,66,198,91,129,67,32, +203,126,66,198,91,129,67,98,224,53,125,66,198,91,129,67,64,138,123,66,6,41,129,67,192,207,115,66,38,14,128,67,98,64,204,110,66,76,173,126,67,224,162,106,66,100,123,125,67,32,144,106,66,124,116,125,67,98,0,125,106,66,156,109,125,67,96,50,85,66,252,75, +125,67,32,63,59,66,228,41,125,67,98,192,232,26,66,116,255,124,67,160,200,11,66,36,221,124,67,224,44,11,66,212,188,124,67,98,224,175,10,66,228,162,124,67,192,73,10,66,20,91,124,67,192,73,10,66,60,29,124,67,98,192,73,10,66,100,223,123,67,96,184,16,66,4, +225,119,67,224,148,24,66,76,61,115,67,98,128,113,32,66,148,153,110,67,128,31,39,66,100,165,106,67,64,109,39,66,236,115,106,67,98,192,229,39,66,76,39,106,67,160,170,36,66,148,21,105,67,96,124,17,66,148,48,99,67,98,0,34,254,65,132,135,93,67,0,15,246,65, +28,51,92,67,0,99,246,65,196,216,91,67,98,64,56,247,65,196,243,90,67,192,58,248,65,164,244,90,67,96,194,30,66,52,24,92,67,98,192,99,48,66,148,172,92,67,0,224,62,66,92,33,93,67,32,243,62,66,180,27,93,67,98,32,199,63,66,204,220,92,67,128,8,93,66,204,174, +76,67,128,8,93,66,92,120,76,67,98,128,8,93,66,12,7,76,67,160,231,96,66,116,242,74,67,128,125,98,66,116,242,74,67,98,0,65,99,66,116,242,74,67,128,89,100,66,156,12,75,67,160,236,100,66,140,44,75,67,98,64,16,102,66,220,107,75,67,240,13,130,66,36,206,78, +67,64,54,130,66,196,184,78,67,98,0,68,130,66,124,177,78,67,96,220,130,66,12,237,77,67,16,137,131,66,12,4,77,67,98,0,75,133,66,220,164,74,67,128,59,134,66,140,151,73,67,128,37,139,66,60,126,68,67,98,112,130,143,66,52,247,63,67,80,186,145,66,4,120,61,67, +112,84,146,66,28,104,60,67,98,208,128,146,66,188,25,60,67,144,186,147,66,108,156,58,67,176,13,149,66,204,24,57,67,98,176,96,150,66,44,149,55,67,208,185,151,66,220,216,53,67,80,12,152,66,120,61,53,67,98,176,4,153,66,252,105,51,67,48,50,152,66,108,116, +50,67,16,168,149,66,108,116,50,67,98,240,221,146,66,108,116,50,67,128,162,134,66,92,55,54,67,96,17,122,66,188,6,58,67,98,32,16,109,66,84,155,60,67,160,129,81,66,68,79,66,67,96,59,72,66,244,86,68,67,98,224,50,62,66,52,137,70,67,96,184,56,66,100,141,71, +67,96,169,51,66,244,39,72,67,98,0,155,43,66,12,30,73,67,224,8,37,66,180,151,72,67,0,44,33,66,236,173,70,67,108,224,18,32,66,156,34,70,67,108,224,246,37,66,68,27,67,67,98,96,52,41,66,220,112,65,67,96,213,46,66,244,180,62,67,96,121,50,66,252,7,61,67,98, +32,209,69,66,148,32,52,67,224,101,72,66,228,190,50,67,192,117,80,66,216,251,44,67,98,32,137,86,66,104,164,40,67,0,104,88,66,208,152,38,67,224,99,88,66,8,81,36,67,98,224,99,88,66,192,73,34,67,160,17,86,66,208,54,32,67,0,43,83,66,20,159,31,67,98,64,147, +80,66,112,23,31,67,0,172,76,66,204,196,30,67,64,209,72,66,236,195,30,67,98,192,124,67,66,212,193,30,67,128,15,63,66,92,17,31,67,160,92,52,66,120,47,32,67,108,224,105,43,66,188,30,33,67,108,0,3,38,66,172,180,35,67,98,96,153,26,66,84,43,41,67,128,55,13, +66,88,63,46,67,96,29,1,66,240,180,49,67,98,192,219,242,65,108,231,51,67,0,142,215,65,164,52,55,67,192,219,206,65,60,235,55,67,98,192,103,183,65,180,215,57,67,64,26,156,65,204,122,58,67,64,107,142,65,36,108,57,67,98,0,31,136,65,148,239,56,67,128,63,132, +65,156,244,55,67,64,104,131,65,184,162,54,67,98,64,197,130,65,140,162,53,67,192,47,131,65,128,91,53,67,0,84,135,65,92,3,52,67,98,0,121,148,65,120,191,47,67,192,241,165,65,192,125,44,67,64,130,197,65,16,108,40,67,108,64,57,209,65,108,233,38,67,108,128, +86,194,65,4,209,36,67,98,64,38,186,65,4,170,35,67,128,208,178,65,248,192,34,67,128,9,178,65,32,203,34,67,98,128,66,177,65,76,213,34,67,0,131,161,65,200,168,35,67,192,11,143,65,8,161,36,67,98,0,40,121,65,80,153,37,67,0,136,90,65,232,93,38,67,128,8,90, +65,248,85,38,67,98,128,137,89,65,16,78,38,67,128,193,105,65,236,101,36,67,128,19,126,65,84,25,34,67,98,192,50,137,65,188,204,31,67,192,130,145,65,48,225,29,67,192,130,145,65,8,213,29,67,98,192,130,145,65,196,200,29,67,64,108,134,65,72,18,28,67,0,189, +113,65,100,6,26,67,98,128,161,86,65,128,250,23,67,0,227,64,65,48,72,22,67,128,106,65,65,64,65,22,67,98,0,243,65,65,104,58,22,67,128,234,98,65,208,165,22,67,192,87,133,65,28,48,23,67,98,0,58,153,65,108,186,23,67,0,53,170,65,180,34,24,67,192,18,171,65, +208,23,24,67,98,192,240,171,65,0,13,24,67,64,53,181,65,64,56,22,67,128,171,191,65,72,6,20,67,98,64,33,202,65,80,212,17,67,0,27,211,65,140,8,16,67,64,157,211,65,140,8,16,67,98,192,30,212,65,140,8,16,67,0,161,213,65,44,86,17,67,192,245,214,65,236,237,18, +67,98,128,74,216,65,176,133,20,67,192,123,217,65,76,211,21,67,64,157,217,65,76,211,21,67,98,128,190,217,65,76,211,21,67,64,21,221,65,112,133,21,67,192,9,225,65,64,38,21,67,98,192,199,240,65,72,171,19,67,32,237,6,66,28,61,18,67,224,35,18,66,88,215,17, +67,98,96,94,38,66,176,31,17,67,0,34,50,66,224,206,19,67,192,198,51,66,48,132,25,67,108,32,50,52,66,28,249,26,67,108,160,230,55,66,28,215,26,67,98,32,231,61,66,0,160,26,67,160,97,74,66,180,184,26,67,32,34,79,66,16,5,27,67,98,192,215,85,66,228,112,27,67, +64,229,92,66,240,97,28,67,96,198,96,66,224,95,29,67,98,96,86,103,66,120,13,31,67,128,103,105,66,236,228,32,67,96,189,104,66,4,120,36,67,98,0,155,103,66,16,144,42,67,224,181,97,66,56,2,47,67,0,243,74,66,188,239,58,67,98,160,143,72,66,28,48,60,67,32,198, +70,66,68,54,61,67,96,250,70,66,68,54,61,67,98,192,189,71,66,68,54,61,67,160,169,82,66,212,58,59,67,160,167,99,66,236,1,56,67,98,64,130,121,66,252,220,51,67,160,84,125,66,196,49,51,67,112,238,132,66,108,82,49,67,98,208,83,139,66,16,105,47,67,48,230,141, +66,248,195,46,67,112,178,145,66,220,30,46,67,98,48,27,152,66,40,8,45,67,48,33,157,66,168,158,45,67,80,222,159,66,92,199,47,67,98,144,203,160,66,108,130,48,67,112,211,160,66,52,154,48,67,48,210,160,66,160,156,50,67,98,16,206,160,66,56,114,54,67,16,95, +159,66,156,205,56,67,208,159,152,66,132,6,64,67,98,208,203,150,66,124,251,65,67,176,121,148,66,228,153,68,67,112,119,147,66,84,216,69,67,98,16,117,146,66,196,22,71,67,16,134,144,66,180,82,73,67,80,43,143,66,76,207,74,67,98,16,0,141,66,132,48,77,67,160, +166,138,66,44,47,80,67,160,166,138,66,164,145,80,67,98,160,166,138,66,116,207,80,67,16,217,142,66,60,155,81,67,144,138,143,66,12,127,81,67,98,112,134,145,66,116,46,81,67,112,209,156,66,124,39,77,67,176,200,166,66,12,53,73,67,98,176,224,168,66,204,96, +72,67,48,181,171,66,84,73,71,67,144,18,173,66,244,199,70,67,98,48,112,174,66,156,70,70,67,176,87,177,66,76,25,69,67,208,134,179,66,92,42,68,67,98,144,65,184,66,28,37,66,67,80,99,187,66,20,4,65,67,112,38,190,66,4,86,64,67,108,48,47,192,66,220,213,63,67, +108,80,221,172,66,44,134,49,67,98,16,61,162,66,40,167,41,67,112,139,153,66,132,18,35,67,112,139,153,66,132,230,34,67,98,112,139,153,66,132,186,34,67,112,81,154,66,180,20,34,67,80,67,155,66,12,118,33,67,98,208,52,157,66,168,47,32,67,80,180,165,66,68,167, +26,67,80,54,166,66,248,84,26,67,98,240,115,166,66,4,46,26,67,48,96,165,66,128,39,25,67,80,77,162,66,196,155,22,67,98,240,247,159,66,20,173,20,67,176,163,157,66,164,200,18,67,80,32,157,66,56,103,18,67,98,16,254,155,66,44,144,17,67,16,238,155,66,228,248, +16,67,240,239,156,66,244,157,16,67,98,112,153,157,66,52,98,16,67,144,3,159,66,248,93,16,67,80,161,169,66,196,119,16,67,108,240,147,181,66,204,148,16,67,108,80,151,189,66,116,172,11,67,98,240,129,196,66,8,112,7,67,240,185,197,66,48,196,6,67,176,126,198, +66,192,196,6,67,98,16,252,198,66,192,196,6,67,48,143,199,66,136,211,6,67,176,197,199,66,220,228,6,67,98,16,252,199,66,32,246,6,67,144,66,202,66,152,72,9,67,16,212,204,66,204,13,12,67,98,176,101,207,66,252,210,14,67,48,136,209,66,140,26,17,67,144,146, +209,66,152,30,17,67,98,208,156,209,66,140,34,17,67,80,37,213,66,240,60,17,67,112,108,217,66,16,89,17,67,98,144,155,222,66,32,123,17,67,48,108,225,66,116,158,17,67,48,221,225,66,252,194,17,67,98,112,79,226,66,248,231,17,67,240,10,233,66,152,194,25,67, +80,139,246,66,28,227,41,67,108,248,71,5,67,116,204,65,67,108,40,219,6,67,28,0,66,67,98,184,7,9,67,100,71,66,67,200,47,11,67,228,193,66,67,136,71,13,67,244,108,67,67,98,248,64,14,67,148,188,67,67,136,24,15,67,12,254,67,67,152,38,15,67,124,254,67,67,98, +184,52,15,67,124,254,67,67,24,26,15,67,60,64,67,67,120,235,14,67,180,86,66,67,98,232,188,14,67,52,109,65,67,88,158,14,67,12,168,64,67,136,167,14,67,156,160,64,67,98,200,202,14,67,20,132,64,67,200,245,24,67,20,139,62,67,248,7,25,67,60,157,62,67,98,136, +18,25,67,212,167,62,67,200,81,25,67,44,191,63,67,184,148,25,67,36,10,65,67,98,152,215,25,67,28,85,66,67,152,22,26,67,52,108,67,67,184,32,26,67,76,118,67,67,98,232,42,26,67,116,128,67,67,120,171,26,67,164,106,67,67,168,62,27,67,212,69,67,67,98,216,147, +28,67,140,240,66,67,104,226,34,67,12,16,66,67,168,74,37,67,44,224,65,67,98,216,77,38,67,252,203,65,67,168,41,39,67,196,179,65,67,24,51,39,67,68,170,65,67,98,120,60,39,67,180,160,65,67,56,3,39,67,108,86,64,67,184,179,38,67,52,204,62,67,98,56,100,38,67, +4,66,61,67,232,39,38,67,140,252,59,67,168,45,38,67,244,248,59,67,98,56,74,38,67,76,231,59,67,56,132,49,67,220,171,57,67,168,202,49,67,212,169,57,67,98,200,19,50,67,188,167,57,67,72,53,50,67,12,33,58,67,40,11,51,67,148,50,62,67,108,248,249,51,67,180,189, +66,67,108,8,147,53,67,76,51,67,67,98,248,115,54,67,4,116,67,67,120,211,55,67,188,237,67,67,8,160,56,67,220,65,68,67,98,72,37,59,67,36,75,69,67,136,245,58,67,108,71,69,67,184,231,61,67,20,171,68,67,98,168,89,63,67,100,94,68,67,104,141,64,67,44,27,68,67, +168,147,64,67,180,21,68,67,98,232,153,64,67,76,16,68,67,72,14,64,67,212,69,65,67,88,93,63,67,28,226,61,67,98,104,172,62,67,92,126,58,67,24,35,62,67,252,176,55,67,56,44,62,67,220,167,55,67,98,88,53,62,67,188,158,55,67,168,12,65,67,112,4,55,67,104,124, +68,67,240,80,54,67,98,168,206,72,67,64,111,53,67,232,196,74,67,0,25,53,67,168,216,74,67,60,57,53,67,98,120,232,74,67,236,82,53,67,72,140,75,67,12,81,56,67,200,68,76,67,196,223,59,67,98,200,41,77,67,228,73,64,67,104,165,77,67,156,87,66,67,232,201,77,67, +156,87,66,67,98,136,7,78,67,156,87,66,67,168,152,88,67,124,57,64,67,24,226,88,67,108,30,64,67,98,216,3,89,67,236,17,64,67,152,178,88,67,172,52,62,67,88,217,87,67,188,9,58,67,98,8,45,87,67,112,187,54,67,216,164,86,67,76,235,51,67,200,170,86,67,112,201, +51,67,98,216,178,86,67,200,155,51,67,56,88,88,67,36,56,51,67,200,9,93,67,224,71,50,67,98,232,132,96,67,172,149,49,67,24,94,99,67,144,15,49,67,24,94,99,67,216,29,49,67,98,24,94,99,67,236,89,49,67,232,7,102,67,156,70,62,67,136,23,102,67,52,86,62,67,98, +88,39,102,67,4,102,62,67,72,156,113,67,4,26,60,67,168,177,113,67,220,2,60,67,98,216,182,113,67,60,253,59,67,184,45,113,67,28,66,57,67,200,128,112,67,84,241,53,67,98,216,211,111,67,144,160,50,67,24,85,111,67,232,220,47,67,40,103,111,67,196,204,47,67,98, +120,134,111,67,192,176,47,67,152,20,123,67,84,81,45,67,136,119,123,67,152,82,45,67,98,200,145,123,67,152,82,45,67,152,200,123,67,200,254,45,67,88,241,123,67,124,208,46,67,98,8,26,124,67,44,162,47,67,104,68,124,67,192,77,48,67,88,79,124,67,192,77,48,67, +98,88,90,124,67,192,77,48,67,200,254,124,67,244,230,47,67,200,188,125,67,76,105,47,67,98,140,116,129,67,140,253,43,67,76,106,132,67,180,158,42,67,4,123,135,67,112,108,43,67,98,124,43,136,67,184,154,43,67,68,136,136,67,220,160,43,67,180,201,136,67,168, +130,43,67,98,100,85,137,67,52,66,43,67,188,105,137,67,208,74,43,67,236,119,137,67,28,204,43,67,98,220,130,137,67,212,47,44,67,52,154,137,67,108,80,44,67,44,19,138,67,88,165,44,67,98,228,81,139,67,0,133,45,67,252,213,140,67,156,77,47,67,172,32,142,67, +248,105,49,67,108,220,115,142,67,240,241,49,67,108,236,107,148,67,156,147,27,67,98,100,78,154,67,68,134,5,67,116,99,154,67,8,52,5,67,180,60,154,67,180,222,4,67,98,100,219,153,67,88,8,4,67,132,201,153,67,228,232,2,67,68,15,154,67,36,4,2,67,98,172,70,154, +67,80,78,1,67,36,160,154,67,72,249,0,67,20,40,155,67,72,249,0,67,98,172,237,155,67,72,249,0,67,76,114,156,67,168,204,1,67,52,133,156,67,200,37,3,67,98,44,152,156,67,160,127,4,67,188,2,156,67,68,149,5,67,100,51,155,67,124,153,5,67,98,212,246,154,67,144, +155,5,67,196,206,154,67,188,174,5,67,196,206,154,67,204,203,5,67,98,196,206,154,67,88,230,5,67,172,167,154,67,160,131,6,67,228,119,154,67,80,41,7,67,98,28,72,154,67,0,207,7,67,116,150,151,67,204,222,17,67,84,123,148,67,80,133,29,67,108,156,213,142,67, +12,180,50,67,108,204,93,143,67,204,241,51,67,98,188,168,143,67,140,160,52,67,132,18,144,67,0,181,53,67,244,72,144,67,16,88,54,67,98,220,185,144,67,116,170,55,67,92,138,145,67,36,200,58,67,92,138,145,67,180,37,59,67,98,92,138,145,67,20,72,59,67,140,145, +145,67,228,99,59,67,60,154,145,67,132,99,59,67,98,252,171,145,67,132,99,59,67,180,162,148,67,28,80,48,67,252,150,148,67,124,58,48,67,98,236,146,148,67,0,51,48,67,236,34,148,67,196,90,48,67,52,158,147,67,4,147,48,67,98,132,25,147,67,68,203,48,67,108,170, +146,67,4,244,48,67,116,167,146,67,160,237,48,67,98,76,158,146,67,20,218,48,67,84,9,146,67,160,241,42,67,100,9,146,67,208,168,42,67,98,100,9,146,67,212,114,42,67,116,78,146,67,88,73,42,67,28,87,147,67,56,224,41,67,98,148,14,148,67,88,151,41,67,220,187, +148,67,160,86,41,67,36,216,148,67,112,80,41,67,98,116,9,149,67,160,69,41,67,140,13,149,67,248,88,41,67,148,60,149,67,148,40,43,67,98,148,87,149,67,108,50,44,67,20,112,149,67,180,16,45,67,28,115,149,67,124,22,45,67,98,228,119,149,67,160,31,45,67,148,40, +150,67,48,142,42,67,172,154,152,67,100,90,33,67,108,44,44,153,67,4,55,31,67,108,12,203,152,67,32,84,31,67,98,108,113,152,67,4,111,31,67,20,105,152,67,192,105,31,67,212,94,152,67,140,15,31,67,98,204,53,152,67,16,167,29,67,236,44,152,67,68,45,29,67,244, +57,152,67,76,21,29,67,98,28,72,152,67,68,251,28,67,156,19,153,67,64,156,28,67,44,61,153,67,64,156,28,67,98,28,72,153,67,64,156,28,67,44,87,153,67,136,232,28,67,156,94,153,67,180,69,29,67,98,20,102,153,67,232,162,29,67,20,114,153,67,0,239,29,67,84,121, +153,67,196,238,29,67,98,156,128,153,67,196,238,29,67,244,91,154,67,40,205,26,67,220,96,155,67,236,249,22,67,98,44,248,156,67,248,0,17,67,180,54,157,67,60,254,15,67,124,27,157,67,4,210,15,67,98,140,177,156,67,8,38,15,67,236,150,156,67,100,222,13,67,140, +223,156,67,48,240,12,67,98,28,84,157,67,200,113,11,67,20,166,158,67,124,130,11,67,60,44,159,67,64,13,13,67,98,68,177,159,67,200,148,14,67,228,10,159,67,244,127,16,67,92,254,157,67,84,136,16,67,108,164,169,157,67,4,139,16,67,108,76,166,153,67,220,157, +31,67,98,76,81,150,67,216,33,44,67,20,164,149,67,96,200,46,67,180,169,149,67,84,60,47,67,98,108,175,149,67,88,178,47,67,172,168,149,67,32,202,47,67,28,128,149,67,232,213,47,67,98,116,89,149,67,236,224,47,67,140,42,149,67,248,111,48,67,100,150,148,67, +76,158,50,67,98,116,48,148,67,120,30,52,67,36,206,147,67,156,110,53,67,236,187,147,67,60,137,53,67,98,180,169,147,67,228,163,53,67,100,108,147,67,236,136,54,67,180,51,147,67,44,134,55,67,98,252,250,146,67,108,131,56,67,20,150,146,67,172,32,58,67,108, +83,146,67,116,28,59,67,108,68,218,145,67,52,230,60,67,108,108,253,145,67,196,224,61,67,98,196,16,146,67,148,106,62,67,228,45,146,67,4,128,63,67,44,62,146,67,76,73,64,67,98,124,78,146,67,148,18,65,67,188,94,146,67,196,187,65,67,92,98,146,67,68,193,65, +67,98,252,101,146,67,172,198,65,67,204,32,147,67,52,226,65,67,164,1,148,67,76,254,65,67,98,116,226,148,67,92,26,66,67,68,168,149,67,252,59,66,67,44,185,149,67,252,72,66,67,98,68,210,149,67,84,92,66,67,244,215,149,67,108,42,66,67,244,215,149,67,92,59, +65,67,108,244,215,149,67,36,22,64,67,108,28,140,149,67,204,205,63,67,98,132,25,149,67,132,96,63,67,12,90,147,67,60,6,61,67,108,78,147,67,164,201,60,67,98,68,67,147,67,148,143,60,67,100,188,147,67,116,163,57,67,68,6,148,67,236,89,56,67,108,140,52,148, +67,140,139,55,67,108,92,246,148,67,188,168,55,67,98,244,96,149,67,188,184,55,67,36,246,149,67,68,215,55,67,220,65,150,67,148,236,55,67,98,116,75,151,67,44,55,56,67,180,83,151,67,148,50,56,67,180,198,151,67,4,22,55,67,98,68,255,151,67,4,138,54,67,36,111, +152,67,24,139,53,67,60,191,152,67,132,223,52,67,108,228,80,153,67,148,167,51,67,108,148,27,153,67,44,111,50,67,98,68,228,152,67,0,43,49,67,68,161,152,67,56,47,47,67,164,137,152,67,8,29,46,67,98,52,124,152,67,88,129,45,67,244,125,152,67,68,124,45,67,180, +246,152,67,192,225,44,67,98,44,58,153,67,96,139,44,67,236,192,153,67,20,240,43,67,44,34,154,67,152,136,43,67,108,244,210,154,67,120,204,42,67,108,28,117,155,67,36,15,44,67,98,76,206,155,67,160,192,44,67,236,70,156,67,188,196,45,67,44,129,156,67,44,81, +46,67,98,28,250,156,67,196,116,47,67,212,209,156,67,172,105,47,67,92,104,158,67,96,215,46,67,98,132,232,158,67,68,169,46,67,68,124,159,67,164,119,46,67,180,176,159,67,40,105,46,67,108,4,16,160,67,192,78,46,67,108,196,56,160,67,68,71,45,67,98,44,79,160, +67,88,182,44,67,92,149,160,67,216,114,43,67,196,212,160,67,92,120,42,67,98,76,92,161,67,184,96,40,67,188,52,161,67,244,122,40,67,52,221,162,67,4,31,41,67,108,4,250,163,67,32,141,41,67,108,172,8,164,67,112,80,42,67,98,172,16,164,67,224,187,42,67,148,30, +164,67,152,18,44,67,108,39,164,67,4,74,45,67,98,132,53,164,67,176,56,47,67,44,61,164,67,152,139,47,67,60,100,164,67,176,217,47,67,98,212,124,164,67,224,10,48,67,28,20,165,67,44,207,48,67,108,180,165,67,240,141,49,67,108,228,215,166,67,188,232,50,67,108, +164,214,167,67,156,223,49,67,98,196,98,168,67,212,77,49,67,36,3,169,67,200,180,48,67,20,59,169,67,140,139,48,67,108,180,160,169,67,156,64,48,67,108,100,246,169,67,8,230,48,67,98,20,117,170,67,184,218,49,67,116,91,171,67,244,35,52,67,116,91,171,67,40, +113,52,67,98,116,91,171,67,64,174,52,67,252,168,170,67,88,186,54,67,60,232,169,67,52,179,56,67,98,20,183,169,67,244,51,57,67,60,159,169,67,116,154,57,67,180,165,169,67,44,209,57,67,98,52,171,169,67,12,0,58,67,12,230,169,67,100,80,59,67,108,40,170,67, +148,188,60,67,108,20,161,170,67,172,82,63,67,108,12,66,171,67,156,134,63,67,98,132,33,172,67,180,206,63,67,180,131,173,67,212,154,64,67,172,153,173,67,44,224,64,67,98,196,163,173,67,220,255,64,67,12,172,173,67,164,71,65,67,68,172,173,67,172,127,65,67, +108,68,172,173,67,148,229,65,67,108,28,218,174,67,244,201,65,67,98,36,128,175,67,204,186,65,67,44,65,176,67,68,174,65,67,20,135,176,67,44,174,65,67,108,44,6,177,67,252,173,65,67,108,204,125,176,67,244,44,65,67,98,228,227,174,67,36,169,63,67,12,199,173, +67,52,29,61,67,100,52,173,67,84,167,57,67,98,124,4,173,67,220,133,56,67,252,251,172,67,44,7,56,67,68,250,172,67,216,66,54,67,98,196,247,172,67,112,191,51,67,180,15,173,67,4,234,50,67,108,155,173,67,212,164,48,67,98,212,247,173,67,120,36,47,67,244,29, +174,67,16,186,46,67,244,189,174,67,16,122,45,67,98,244,93,175,67,8,58,44,67,36,147,175,67,200,237,43,67,84,83,176,67,4,53,43,67,98,236,117,177,67,156,29,42,67,164,224,177,67,200,237,41,67,84,34,179,67,184,242,41,67,98,124,4,180,67,64,246,41,67,212,67, +180,67,28,7,42,67,148,212,180,67,4,103,42,67,98,172,166,182,67,160,155,43,67,180,8,184,67,176,40,46,67,220,184,184,67,216,148,49,67,98,76,10,185,67,208,41,51,67,12,52,185,67,48,37,53,67,220,37,185,67,120,192,54,67,98,124,253,184,67,204,81,59,67,92,187, +183,67,156,18,63,67,204,174,181,67,44,22,65,67,108,140,246,180,67,68,203,65,67,108,164,130,182,67,156,229,65,67,108,180,14,184,67,252,255,65,67,108,76,117,184,67,36,56,65,67,98,140,144,187,67,236,42,59,67,4,154,187,67,88,47,49,67,60,138,184,67,184,33, +43,67,98,228,203,183,67,88,169,41,67,156,78,183,67,8,248,40,67,252,99,182,67,200,22,40,67,98,52,41,181,67,136,232,38,67,124,141,180,67,60,165,38,67,52,13,179,67,60,165,38,67,98,220,144,177,67,60,165,38,67,252,234,176,67,28,235,38,67,108,191,175,67,140, +9,40,67,98,84,206,173,67,208,228,41,67,228,126,172,67,92,213,44,67,148,162,171,67,124,67,49,67,98,164,144,171,67,200,159,49,67,132,135,171,67,28,147,49,67,132,247,170,67,164,85,48,67,108,100,95,170,67,80,6,47,67,108,180,155,170,67,48,7,46,67,98,212,7, +171,67,252,61,44,67,212,158,171,67,12,160,42,67,236,119,172,67,224,237,40,67,98,188,160,173,67,48,156,38,67,204,160,174,67,92,88,37,67,156,13,176,67,32,101,36,67,98,100,106,178,67,232,209,34,67,204,223,180,67,192,33,35,67,116,33,183,67,0,75,37,67,98, +180,91,185,67,40,109,39,67,12,32,187,67,244,123,43,67,4,239,187,67,140,82,48,67,98,228,134,188,67,148,223,51,67,116,130,188,67,140,121,56,67,148,227,187,67,212,32,60,67,98,100,167,187,67,92,131,61,67,140,10,187,67,12,221,63,67,68,156,186,67,164,8,65, +67,98,148,105,186,67,92,146,65,67,28,64,186,67,132,12,66,67,28,64,186,67,20,24,66,67,98,28,64,186,67,188,35,66,67,12,143,186,67,36,45,66,67,132,239,186,67,36,45,66,67,108,236,158,187,67,36,45,66,67,108,52,12,188,67,116,186,64,67,98,164,11,189,67,252, +87,61,67,52,125,189,67,116,1,58,67,92,124,189,67,16,232,53,67,98,60,123,189,67,120,57,48,67,76,96,188,67,188,20,43,67,36,76,186,67,56,17,39,67,98,204,195,184,67,168,27,36,67,108,238,182,67,12,55,34,67,172,226,180,67,184,122,33,67,98,164,240,179,67,184, +35,33,67,196,38,178,67,212,36,33,67,148,48,177,67,0,125,33,67,98,148,233,173,67,164,169,34,67,244,3,171,67,164,31,39,67,76,145,169,67,196,57,45,67,98,76,74,169,67,28,101,46,67,196,56,169,67,156,143,46,67,188,235,168,67,32,203,46,67,98,84,188,168,67,184, +239,46,67,28,47,168,67,184,113,47,67,228,177,167,67,252,235,47,67,98,84,189,166,67,192,218,48,67,20,183,166,67,0,217,48,67,84,225,166,67,100,178,47,67,108,116,244,166,67,228,44,47,67,108,124,156,166,67,204,124,47,67,98,20,108,166,67,192,168,47,67,172, +55,166,67,32,205,47,67,4,40,166,67,160,205,47,67,98,124,253,165,67,180,207,47,67,84,37,165,67,100,194,46,67,204,44,165,67,112,149,46,67,98,84,48,165,67,4,128,46,67,236,88,165,67,16,88,46,67,236,134,165,67,156,60,46,67,98,60,131,166,67,12,166,45,67,28, +110,167,67,152,77,44,67,12,197,167,67,156,242,42,67,98,12,227,167,67,228,122,42,67,60,42,168,67,144,125,41,67,60,99,168,67,164,191,40,67,98,76,246,168,67,140,213,38,67,172,18,169,67,92,112,37,67,12,213,168,67,156,37,35,67,98,220,163,168,67,12,81,33,67, +12,50,168,67,8,177,31,67,28,132,167,67,64,86,30,67,98,4,207,166,67,68,237,28,67,140,53,166,67,224,55,28,67,76,90,165,67,184,199,27,67,98,76,163,163,67,44,231,26,67,4,2,162,67,204,201,27,67,76,193,160,67,60,70,30,67,98,140,201,159,67,8,50,32,67,44,86, +159,67,40,89,34,67,44,86,159,67,204,12,37,67,98,44,86,159,67,52,128,38,67,236,117,159,67,44,183,39,67,228,188,159,67,164,250,40,67,108,148,237,159,67,196,216,41,67,108,4,178,159,67,36,223,42,67,108,124,118,159,67,136,229,43,67,108,164,58,159,67,152,41, +43,67,98,52,92,158,67,180,110,40,67,132,33,158,67,252,165,36,67,156,164,158,67,236,125,33,67,98,212,158,159,67,136,119,27,67,244,217,162,67,176,33,24,67,132,221,165,67,48,9,26,67,98,228,4,168,67,140,101,27,67,124,150,169,67,72,51,31,67,204,217,169,67, +244,178,35,67,108,132,232,169,67,16,175,36,67,108,148,60,170,67,96,29,36,67,108,164,144,170,67,176,139,35,67,108,140,110,170,67,228,65,34,67,98,236,65,170,67,48,146,32,67,4,206,169,67,244,163,30,67,4,60,169,67,188,38,29,67,98,140,73,168,67,140,173,26, +67,4,240,166,67,0,1,25,67,12,98,165,67,172,95,24,67,98,212,123,164,67,96,2,24,67,148,28,163,67,140,32,24,67,188,75,162,67,144,163,24,67,98,116,67,160,67,0,234,25,67,100,178,158,67,168,231,28,67,52,7,158,67,112,201,32,67,98,100,100,157,67,120,122,36,67, +180,156,157,67,196,141,40,67,4,160,158,67,164,216,43,67,98,20,196,158,67,232,77,44,67,28,222,158,67,136,179,44,67,220,217,158,67,116,186,44,67,98,44,204,158,67,184,208,44,67,20,217,157,67,184,40,45,67,92,169,157,67,184,40,45,67,98,68,114,157,67,184,40, +45,67,44,37,157,67,8,35,44,67,204,203,156,67,172,56,42,67,108,172,144,156,67,64,244,40,67,108,164,87,156,67,72,213,41,67,108,156,30,156,67,80,182,42,67,108,68,235,155,67,212,85,42,67,108,236,183,155,67,92,245,41,67,108,244,11,156,67,208,189,40,67,108, +244,95,156,67,72,134,39,67,108,172,104,156,67,212,214,36,67,98,196,114,156,67,204,184,33,67,116,148,156,67,208,144,32,67,188,42,157,67,164,46,30,67,98,36,215,157,67,188,114,27,67,244,248,158,67,72,10,25,67,84,80,160,67,68,125,23,67,108,116,206,160,67, +104,235,22,67,108,252,196,162,67,16,144,15,67,108,132,187,164,67,180,52,8,67,108,148,125,164,67,156,167,7,67,98,4,41,164,67,0,231,6,67,124,24,164,67,68,29,6,67,204,76,164,67,188,83,5,67,98,164,125,164,67,112,151,4,67,204,9,165,67,192,243,3,67,36,122, +165,67,192,243,3,67,98,212,38,166,67,192,243,3,67,108,227,166,67,100,52,5,67,108,227,166,67,12,90,6,67,98,108,227,166,67,60,126,7,67,92,71,166,67,200,149,8,67,228,151,165,67,220,171,8,67,98,124,64,165,67,224,182,8,67,68,50,165,67,24,200,8,67,252,6,165, +67,20,91,9,67,98,196,169,164,67,188,151,10,67,228,149,161,67,84,50,22,67,12,156,161,67,220,61,22,67,98,124,159,161,67,76,68,22,67,204,233,161,67,76,36,22,67,44,65,162,67,188,246,21,67,98,148,152,162,67,52,201,21,67,236,72,163,67,44,153,21,67,12,201,163, +67,8,140,21,67,98,212,65,167,67,208,48,21,67,76,112,170,67,140,159,25,67,28,135,171,67,92,85,32,67,98,148,161,171,67,124,248,32,67,60,185,171,67,148,131,33,67,172,187,171,67,132,138,33,67,98,36,190,171,67,92,145,33,67,12,234,171,67,116,94,33,67,92,29, +172,67,52,25,33,67,98,244,176,175,67,92,69,28,67,180,172,180,67,188,157,27,67,228,141,184,67,212,118,31,67,98,116,91,186,67,160,64,33,67,148,7,188,67,52,11,36,67,52,42,189,67,240,40,39,67,98,60,112,189,67,44,233,39,67,148,175,189,67,92,134,40,67,252, +182,189,67,64,134,40,67,98,92,190,189,67,32,134,40,67,244,116,191,67,140,32,41,67,172,133,193,67,96,221,41,67,98,100,149,196,67,84,245,42,67,76,74,197,67,44,42,43,67,28,89,197,67,140,251,42,67,98,20,99,197,67,28,220,42,67,52,149,198,67,96,221,38,67,68, +1,200,67,212,26,34,67,98,20,232,201,67,136,189,27,67,20,155,202,67,100,135,25,67,188,165,202,67,96,191,25,67,98,188,173,202,67,64,233,25,67,92,243,202,67,164,177,29,67,140,64,203,67,100,39,34,67,98,180,141,203,67,32,157,38,67,52,207,203,67,16,84,42,67, +20,210,203,67,140,104,42,67,98,252,212,203,67,32,125,42,67,20,97,204,67,172,170,41,67,132,9,205,67,20,149,40,67,98,180,144,207,67,112,106,36,67,148,39,210,67,184,141,32,67,60,144,212,67,36,91,29,67,98,84,173,216,67,60,229,23,67,196,161,221,67,68,151, +18,67,236,140,224,67,216,133,16,67,108,92,83,225,67,60,249,15,67,108,164,70,225,67,204,34,15,67,98,92,51,225,67,76,221,13,67,76,204,224,67,216,100,12,67,228,62,224,67,120,95,11,67,98,116,83,223,67,76,172,9,67,124,37,222,67,212,232,8,67,60,246,220,67, +80,63,9,67,98,196,213,218,67,152,218,9,67,124,60,217,67,160,226,11,67,116,125,216,67,228,237,14,67,98,44,247,215,67,132,17,17,67,84,5,216,67,172,154,18,67,236,166,216,67,116,110,19,67,98,20,47,217,67,224,32,20,67,84,41,218,67,200,203,19,67,244,197,218, +67,200,181,18,67,98,244,21,219,67,216,39,18,67,12,34,219,67,168,251,17,67,20,35,219,67,96,98,17,67,98,28,36,219,67,124,1,17,67,36,39,219,67,28,178,16,67,140,42,219,67,8,178,16,67,98,140,60,219,67,8,178,16,67,84,110,219,67,236,232,17,67,84,110,219,67, +224,89,18,67,98,84,110,219,67,8,14,19,67,28,43,219,67,4,4,20,67,124,204,218,67,48,170,20,67,98,20,9,218,67,80,1,22,67,148,5,217,67,156,77,22,67,4,57,216,67,8,108,21,67,98,156,100,215,67,208,129,20,67,244,1,215,67,20,129,19,67,12,225,214,67,220,236,17, +67,98,236,143,214,67,12,8,14,67,68,85,216,67,220,189,8,67,68,186,218,67,212,109,6,67,98,244,219,219,67,12,86,5,67,156,137,220,67,64,9,5,67,52,223,221,67,232,9,5,67,98,212,36,223,67,232,9,5,67,148,156,223,67,144,60,5,67,180,131,224,67,152,36,6,67,98,204, +129,225,67,172,35,7,67,60,67,226,67,112,144,8,67,164,198,226,67,68,104,10,67,98,76,4,227,67,184,69,11,67,124,99,227,67,172,67,13,67,220,126,227,67,104,67,14,67,98,60,136,227,67,60,155,14,67,36,149,227,67,96,180,14,67,252,175,227,67,136,163,14,67,98,44, +17,228,67,172,102,14,67,244,228,229,67,4,222,13,67,212,202,230,67,80,187,13,67,98,132,237,231,67,116,143,13,67,180,211,233,67,104,189,13,67,132,224,234,67,144,29,14,67,98,28,24,238,67,244,68,15,67,52,29,241,67,112,154,19,67,28,71,242,67,108,188,24,67, +98,124,92,243,67,220,131,29,67,164,11,243,67,212,80,36,67,188,119,241,67,36,46,42,67,98,164,218,239,67,144,45,48,67,244,16,237,67,184,158,52,67,244,6,234,67,0,9,54,67,98,236,25,233,67,100,119,54,67,132,3,231,67,32,120,54,67,212,79,230,67,24,11,54,67, +98,28,180,229,67,240,171,53,67,252,243,228,67,172,237,52,67,220,109,228,67,196,45,52,67,98,124,54,228,67,144,222,51,67,52,5,228,67,188,157,51,67,92,0,228,67,188,157,51,67,98,116,251,227,67,188,157,51,67,116,231,227,67,112,254,51,67,212,211,227,67,156, +116,52,67,98,52,165,227,67,52,141,53,67,76,246,226,67,84,149,55,67,180,133,226,67,28,86,56,67,98,180,177,225,67,20,193,57,67,244,116,224,67,132,120,58,67,92,120,223,67,148,26,58,67,98,124,186,222,67,236,211,57,67,164,30,222,67,92,42,57,67,124,137,221, +67,12,0,56,67,98,212,155,220,67,180,36,54,67,116,6,220,67,196,111,51,67,52,243,219,67,60,163,48,67,98,108,233,219,67,44,54,47,67,4,2,220,67,248,211,44,67,100,36,220,67,44,225,43,67,98,204,43,220,67,188,172,43,67,156,41,220,67,216,129,43,67,100,31,220, +67,216,129,43,67,98,4,1,220,67,216,129,43,67,12,168,218,67,248,42,45,67,92,221,217,67,68,74,46,67,98,188,106,214,67,16,45,51,67,92,171,209,67,60,12,61,67,44,130,206,67,28,231,69,67,98,44,93,205,67,220,27,73,67,228,117,205,67,76,116,72,67,52,160,205,67, +188,226,75,67,98,60,180,205,67,148,130,77,67,52,197,205,67,60,37,79,67,236,197,205,67,44,133,79,67,108,44,199,205,67,132,51,80,67,108,156,4,205,67,188,166,78,67,98,156,153,204,67,132,204,77,67,76,60,204,67,252,25,77,67,68,53,204,67,252,25,77,67,98,44, +46,204,67,252,25,77,67,172,9,204,67,28,133,77,67,20,228,203,67,252,7,78,67,108,188,159,203,67,252,245,78,67,108,236,193,203,67,124,78,80,67,98,20,213,203,67,60,15,81,67,52,234,203,67,148,8,83,67,236,241,203,67,140,201,84,67,108,188,255,203,67,12,236, +87,67,108,204,131,204,67,60,0,87,67,98,12,127,208,67,12,228,79,67,148,47,216,67,140,181,71,67,36,13,221,67,236,103,69,67,98,76,140,221,67,180,43,69,67,52,93,222,67,156,225,68,67,84,221,222,67,60,195,68,67,98,196,165,223,67,188,147,68,67,116,229,223,67, +172,111,68,67,196,164,224,67,164,193,67,67,98,4,15,229,67,76,189,63,67,4,53,232,67,148,154,62,67,156,242,234,67,28,10,64,67,98,140,38,236,67,108,171,64,67,4,133,237,67,124,41,66,67,44,60,238,67,140,159,67,67,108,236,160,238,67,84,109,68,67,108,228,121, +239,67,108,51,68,67,98,140,214,243,67,108,9,67,67,132,62,248,67,20,15,72,67,92,186,249,67,196,226,79,67,98,44,249,249,67,36,46,81,67,252,255,249,67,4,126,81,67,180,255,249,67,28,15,83,67,98,180,255,249,67,252,45,85,67,36,217,249,67,212,103,86,67,28,87, +249,67,92,121,88,67,98,44,130,248,67,132,220,91,67,44,3,247,67,212,192,94,67,84,160,244,67,188,149,97,67,98,204,100,243,67,60,12,99,67,124,146,242,67,116,159,99,67,92,142,241,67,220,187,99,67,98,244,10,240,67,36,230,99,67,116,60,239,67,212,198,98,67, +220,21,239,67,228,75,96,67,98,140,247,238,67,252,88,94,67,220,178,239,67,172,120,91,67,148,167,240,67,228,32,90,67,98,132,214,240,67,244,222,89,67,124,204,240,67,100,1,90,67,60,129,240,67,132,164,90,67,98,68,127,239,67,244,211,92,67,68,34,239,67,92,78, +96,67,12,194,239,67,60,202,97,67,98,172,10,240,67,212,118,98,67,220,135,240,67,44,242,98,67,124,238,240,67,44,242,98,67,98,172,223,241,67,44,242,98,67,228,39,244,67,244,249,96,67,196,106,245,67,36,19,95,67,98,44,204,246,67,76,254,92,67,20,74,248,67,108, +105,89,67,252,199,248,67,164,255,86,67,98,132,87,249,67,76,63,84,67,100,26,249,67,196,193,80,67,84,42,248,67,188,254,77,67,98,132,181,247,67,180,166,76,67,124,166,246,67,228,131,74,67,124,3,246,67,84,167,73,67,98,124,11,245,67,196,87,72,67,228,242,243, +67,52,102,71,67,132,174,242,67,4,201,70,67,98,60,60,242,67,164,145,70,67,52,112,239,67,156,117,70,67,60,87,239,67,140,167,70,67,98,228,80,239,67,68,180,70,67,188,94,239,67,180,56,71,67,252,117,239,67,12,206,71,67,98,156,169,239,67,212,25,73,67,60,174, +239,67,28,45,75,67,44,128,239,67,228,94,76,67,98,28,20,239,67,148,43,79,67,124,219,237,67,156,113,80,67,60,89,236,67,116,168,79,67,98,44,23,235,67,180,0,79,67,236,61,234,67,84,38,77,67,236,61,234,67,220,14,75,67,98,236,61,234,67,12,219,73,67,140,94,234, +67,12,67,73,67,124,220,234,67,220,43,72,67,98,212,81,235,67,204,39,71,67,156,195,235,67,20,131,70,67,228,136,236,67,220,191,69,67,108,236,21,237,67,76,52,69,67,108,252,183,236,67,164,169,68,67,98,140,111,235,67,228,196,66,67,36,44,233,67,180,202,65,67, +4,86,231,67,164,86,66,67,98,20,4,230,67,60,187,66,67,28,223,227,67,244,223,67,67,180,171,226,67,116,211,68,67,108,36,108,226,67,204,5,69,67,108,236,238,226,67,84,101,69,67,98,92,204,228,67,52,194,70,67,28,15,230,67,20,121,74,67,172,42,230,67,252,235, +78,67,98,244,63,230,67,164,90,82,67,12,182,229,67,44,189,84,67,4,55,228,67,220,143,87,67,98,100,22,227,67,92,176,89,67,196,193,225,67,44,73,91,67,108,69,224,67,124,75,92,67,98,92,18,223,67,12,28,93,67,172,82,222,67,188,92,93,67,252,248,220,67,140,104, +93,67,108,36,190,219,67,92,115,93,67,108,12,66,219,67,4,42,95,67,108,244,197,218,67,172,224,96,67,108,36,24,219,67,148,253,96,67,98,76,37,220,67,52,92,97,67,52,199,220,67,172,128,98,67,236,29,221,67,244,164,100,67,98,52,197,221,67,92,198,104,67,116,239, +221,67,244,13,107,67,172,240,221,67,20,5,112,67,98,180,241,221,67,164,40,114,67,108,234,221,67,84,168,116,67,172,225,221,67,148,146,117,67,108,188,209,221,67,124,60,119,67,108,132,41,224,67,124,111,119,67,98,108,115,225,67,140,139,119,67,244,238,226, +67,140,191,119,67,244,116,227,67,252,226,119,67,98,236,75,229,67,172,95,120,67,116,57,231,67,68,146,121,67,148,48,232,67,180,211,122,67,98,212,90,233,67,156,87,124,67,220,139,233,67,116,83,127,67,4,168,232,67,198,12,129,67,98,60,104,232,67,46,112,129, +67,172,114,231,67,154,78,130,67,172,132,230,67,130,252,130,67,98,44,189,229,67,82,142,131,67,228,123,228,67,230,70,132,67,124,107,226,67,74,87,133,67,108,116,110,224,67,182,93,134,67,108,164,174,224,67,94,193,134,67,98,244,209,224,67,46,248,134,67,60, +16,225,67,38,91,135,67,4,57,225,67,74,157,135,67,98,212,145,225,67,90,45,136,67,148,242,225,67,198,113,136,67,84,129,226,67,114,133,136,67,98,68,41,227,67,150,156,136,67,92,172,227,67,26,223,136,67,244,18,228,67,50,81,137,67,98,172,191,228,67,82,17,138, +67,236,223,228,67,250,9,139,67,228,102,228,67,134,216,139,67,98,156,22,228,67,122,97,140,67,156,13,228,67,230,13,141,67,140,70,228,67,230,67,142,67,98,28,151,228,67,138,250,143,67,212,126,228,67,110,179,144,67,68,223,227,67,198,86,145,67,98,180,91,227, +67,106,221,145,67,140,197,226,67,34,19,146,67,204,209,225,67,186,18,146,67,98,212,247,224,67,186,18,146,67,252,107,224,67,82,244,145,67,148,222,222,67,142,112,145,67,98,140,134,221,67,122,254,144,67,188,94,220,67,34,107,144,67,68,7,218,67,66,7,143,67, +108,28,86,216,67,38,6,142,67,108,148,28,216,67,118,74,142,67,98,244,252,215,67,10,112,142,67,68,168,215,67,86,233,142,67,108,96,215,67,2,88,143,67,98,76,184,213,67,26,229,145,67,44,82,213,67,170,117,146,67,196,135,212,67,46,95,147,67,98,196,124,211,67, +62,147,148,67,196,179,210,67,134,65,149,67,164,222,209,67,178,173,149,67,98,228,183,208,67,74,67,150,67,204,94,207,67,74,39,150,67,244,161,206,67,118,106,149,67,98,140,54,206,67,6,255,148,67,52,158,205,67,6,206,147,67,236,85,205,67,174,209,146,67,98, +148,57,205,67,166,110,146,67,236,30,205,67,230,29,146,67,180,26,205,67,54,30,146,67,98,124,252,204,67,130,32,146,67,4,224,203,67,170,159,146,67,252,223,203,67,230,170,146,67,98,252,223,203,67,174,178,146,67,220,29,204,67,170,205,146,67,148,105,204,67, +222,230,146,67,98,84,181,204,67,18,0,147,67,76,243,204,67,166,23,147,67,76,243,204,67,70,27,147,67,98,76,243,204,67,238,30,147,67,52,0,204,67,34,141,147,67,36,215,202,67,66,16,148,67,98,12,174,201,67,98,147,148,67,244,186,200,67,102,4,149,67,244,186, +200,67,110,11,149,67,98,244,186,200,67,126,18,149,67,212,163,204,67,198,120,150,67,36,107,209,67,174,39,152,67,98,108,50,214,67,154,214,153,67,76,27,218,67,10,61,155,67,76,27,218,67,58,68,155,67,98,76,27,218,67,98,75,155,67,196,161,217,67,194,112,155, +67,60,13,217,67,62,151,155,67,98,180,120,216,67,182,189,155,67,4,248,215,67,86,227,155,67,76,239,215,67,214,234,155,67,98,140,230,215,67,82,242,155,67,28,62,216,67,38,25,156,67,228,177,216,67,30,65,156,67,98,172,37,217,67,18,105,156,67,28,130,217,67, +14,140,156,67,76,127,217,67,218,142,156,67,98,124,124,217,67,170,145,156,67,188,101,215,67,46,35,157,67,252,218,212,67,50,210,157,67,98,68,80,210,67,58,129,158,67,180,56,208,67,138,19,159,67,228,52,208,67,86,23,159,67,98,12,49,208,67,18,27,159,67,148, +190,211,67,154,219,160,67,236,25,216,67,234,251,162,67,98,92,67,223,67,182,122,166,67,44,185,224,67,78,58,167,67,204,83,231,67,222,201,170,67,98,68,88,235,67,106,244,172,67,4,158,238,67,218,189,174,67,108,153,238,67,110,194,174,67,98,220,148,238,67,2, +199,174,67,28,239,236,67,178,64,174,67,60,240,234,67,250,151,173,67,98,84,241,232,67,66,239,172,67,92,77,231,67,50,103,172,67,244,74,231,67,158,105,172,67,98,140,72,231,67,2,108,172,67,164,203,232,67,170,63,173,67,52,167,234,67,226,63,174,67,98,196,130, +236,67,26,64,175,67,28,5,238,67,182,20,176,67,188,1,238,67,86,24,176,67,98,76,254,237,67,250,27,176,67,132,153,234,67,82,1,175,67,12,119,230,67,58,164,173,67,98,148,162,225,67,110,12,172,67,116,59,218,67,86,128,169,67,124,194,209,67,90,132,166,67,98, +172,129,202,67,86,246,163,67,244,141,196,67,186,227,161,67,108,136,196,67,58,233,161,67,98,236,130,196,67,190,238,161,67,228,145,196,67,74,71,162,67,164,169,196,67,2,174,162,67,98,4,241,196,67,62,226,163,67,116,7,197,67,254,252,164,67,60,252,196,67,38, +191,166,67,98,140,234,196,67,162,133,169,67,92,110,196,67,250,127,171,67,244,57,195,67,254,234,173,67,98,108,120,193,67,82,113,177,67,92,163,190,67,162,190,179,67,92,30,187,67,254,129,180,67,98,140,210,186,67,110,146,180,67,148,22,186,67,54,157,180,67, +92,76,185,67,178,156,180,67,98,140,200,183,67,170,155,180,67,244,205,182,67,46,109,180,67,148,83,181,67,206,223,179,67,98,124,165,176,67,34,32,178,67,36,198,171,67,206,139,173,67,52,242,167,67,98,76,167,67,98,100,67,166,67,58,141,164,67,68,148,164,67, +198,236,160,67,132,136,163,67,146,203,157,67,108,108,31,163,67,2,145,156,67,108,52,167,161,67,46,126,155,67,108,4,47,160,67,86,107,154,67,108,196,223,159,67,226,132,154,67,98,52,180,159,67,238,146,154,67,68,137,159,67,150,162,154,67,92,128,159,67,166, +167,154,67,98,140,119,159,67,190,172,154,67,4,182,159,67,170,3,155,67,92,11,160,67,210,104,155,67,98,100,43,161,67,74,190,156,67,188,217,161,67,110,196,157,67,100,149,162,67,114,58,159,67,98,52,130,164,67,134,16,163,67,180,205,164,67,130,226,166,67,100, +123,163,67,190,222,170,67,98,92,245,162,67,242,114,172,67,228,208,161,67,86,131,174,67,252,183,160,67,202,220,175,67,98,172,40,159,67,202,199,177,67,4,139,157,67,6,14,179,67,52,254,154,67,190,96,180,67,98,140,76,154,67,238,188,180,67,44,187,153,67,26, +15,181,67,44,187,153,67,102,23,181,67,98,44,187,153,67,182,31,181,67,180,244,155,67,70,251,182,67,212,172,158,67,74,56,185,67,98,236,100,161,67,78,117,187,67,204,172,163,67,46,88,189,67,60,190,163,67,86,105,189,67,98,236,233,163,67,54,148,189,67,108, +39,164,67,242,179,189,67,220,223,156,67,194,221,185,67,108,252,117,150,67,102,124,182,67,108,180,83,149,67,122,219,182,67,98,44,58,146,67,90,223,183,67,204,230,143,67,94,65,184,67,164,210,140,67,242,65,184,67,98,28,47,138,67,242,65,184,67,148,201,136, +67,146,12,184,67,148,115,134,67,78,76,183,67,98,140,67,133,67,138,234,182,67,68,33,131,67,250,213,181,67,92,111,130,67,190,67,181,67,98,236,36,128,67,170,97,179,67,8,89,125,67,178,165,176,67,72,131,124,67,110,126,173,67,98,8,81,124,67,134,192,172,67, +104,96,124,67,202,111,170,67,152,154,124,67,106,252,169,67,98,200,180,124,67,146,200,169,67,72,67,124,67,246,168,169,67,232,202,108,67,226,148,165,67,108,72,224,92,67,178,98,161,67,108,184,48,92,67,146,169,161,67,98,40,208,91,67,146,208,161,67,232,247, +90,67,190,29,162,67,24,80,90,67,10,85,162,67,108,232,30,89,67,158,185,162,67,108,216,117,99,67,122,219,167,67,98,168,37,105,67,30,174,170,67,104,197,109,67,2,1,173,67,120,188,109,67,122,5,173,67,98,136,179,109,67,242,9,173,67,168,51,107,67,182,249,172, +67,168,46,104,67,102,225,172,67,98,152,41,101,67,18,201,172,67,232,129,98,67,38,184,172,67,56,72,98,67,202,187,172,67,98,8,240,97,67,102,193,172,67,40,68,99,67,14,96,173,67,56,172,106,67,2,166,176,67,98,216,75,112,67,58,34,179,67,168,95,115,67,14,140, +180,67,216,50,115,67,102,144,180,67,98,56,12,115,67,34,148,180,67,40,243,111,67,50,121,180,67,104,80,108,67,126,84,180,67,98,168,173,104,67,202,47,180,67,136,142,101,67,230,20,180,67,136,96,101,67,186,24,180,67,98,136,27,101,67,114,30,180,67,136,106, +101,67,66,89,180,67,56,37,103,67,146,105,181,67,98,40,76,104,67,2,31,182,67,136,92,106,67,146,89,183,67,88,187,107,67,150,36,184,67,98,168,202,110,67,242,233,185,67,216,183,113,67,22,189,187,67,88,186,121,67,174,222,192,67,98,120,178,127,67,166,177,196, +67,252,30,128,67,150,12,197,67,124,16,128,67,162,10,197,67,98,220,12,128,67,162,10,197,67,184,16,116,67,50,239,191,67,24,98,101,67,74,178,185,67,99,109,248,107,111,67,138,247,187,67,98,232,195,109,67,38,239,186,67,136,55,107,67,242,101,185,67,72,194, +105,67,190,141,184,67,98,152,46,103,67,158,15,183,67,168,128,96,67,138,235,178,67,152,152,96,67,142,223,178,67,98,72,159,96,67,58,220,178,67,136,101,99,67,194,245,178,67,56,195,102,67,42,24,179,67,98,216,32,106,67,154,58,179,67,136,10,109,67,58,84,179, +67,40,60,109,67,26,81,179,67,98,216,128,109,67,186,76,179,67,120,125,107,67,238,93,178,67,24,211,100,67,34,107,175,67,98,72,1,96,67,90,73,173,67,88,22,92,67,134,135,171,67,88,30,92,67,134,131,171,67,98,72,38,92,67,122,127,171,67,248,246,94,67,230,146, +171,67,184,95,98,67,162,174,171,67,98,104,200,101,67,90,202,171,67,200,150,104,67,218,222,171,67,24,156,104,67,50,220,171,67,98,56,161,104,67,154,217,171,67,24,189,100,67,94,233,169,67,24,246,95,67,146,141,167,67,108,120,70,87,67,198,67,163,67,108,152, +149,85,67,42,164,163,67,98,136,167,84,67,50,217,163,67,200,89,83,67,58,30,164,67,8,176,82,67,158,61,164,67,98,72,152,81,67,70,113,164,67,40,129,81,67,222,121,164,67,216,185,81,67,246,152,164,67,98,72,220,81,67,214,171,164,67,56,100,84,67,106,193,165, +67,168,89,87,67,202,1,167,67,98,40,79,90,67,46,66,168,67,216,187,92,67,174,78,169,67,24,189,92,67,110,86,169,67,98,40,191,92,67,58,94,169,67,24,106,89,67,254,95,169,67,104,87,85,67,98,90,169,67,98,120,53,79,67,242,81,169,67,24,251,77,67,250,84,169,67, +200,50,78,67,10,108,169,67,98,200,87,78,67,90,123,169,67,88,135,82,67,86,14,171,67,8,128,87,67,134,235,172,67,98,168,120,92,67,186,200,174,67,8,134,96,67,138,80,176,67,56,129,96,67,58,82,176,67,98,120,124,96,67,226,83,176,67,8,21,93,67,210,43,176,67, +216,240,88,67,34,249,175,67,98,152,204,84,67,114,198,175,67,8,75,81,67,82,159,175,67,40,38,81,67,46,162,175,67,98,88,0,81,67,22,165,175,67,232,45,88,67,190,191,178,67,184,154,97,67,202,191,182,67,98,152,204,106,67,210,166,186,67,216,88,114,67,50,216, +189,67,184,96,114,67,50,216,189,67,98,168,104,114,67,50,216,189,67,24,20,113,67,230,255,188,67,8,108,111,67,134,247,187,67,99,109,148,249,142,67,214,197,181,67,98,204,89,144,67,6,154,181,67,140,243,146,67,118,20,181,67,44,67,147,67,166,233,180,67,98, +36,84,147,67,126,224,180,67,116,166,143,67,134,228,178,67,180,215,137,67,202,212,175,67,98,12,154,132,67,142,17,173,67,76,69,128,67,210,204,170,67,212,55,128,67,70,202,170,67,98,236,37,128,67,218,198,170,67,244,31,128,67,90,44,171,67,212,33,128,67,234, +66,172,67,98,228,35,128,67,110,124,173,67,28,44,128,67,26,221,173,67,52,80,128,67,202,98,174,67,98,156,193,128,67,30,7,176,67,84,132,129,67,214,75,177,67,36,202,130,67,218,131,178,67,98,212,253,132,67,178,159,180,67,4,140,135,67,6,172,181,67,148,32,139, +67,82,239,181,67,98,12,214,139,67,166,252,181,67,172,250,141,67,142,229,181,67,148,249,142,67,210,197,181,67,99,109,252,130,149,67,22,247,179,67,98,252,130,149,67,62,219,179,67,20,124,143,67,82,13,175,67,20,156,141,67,142,170,173,67,98,220,51,137,67, +182,104,170,67,28,255,135,67,242,120,169,67,172,130,132,67,150,153,166,67,108,204,113,130,67,202,229,164,67,108,228,255,135,67,126,28,164,67,98,4,14,139,67,198,173,163,67,132,146,141,67,110,78,163,67,28,152,141,67,158,72,163,67,98,188,157,141,67,202, +66,163,67,4,168,137,67,158,11,161,67,148,203,132,67,62,92,158,67,98,232,57,125,67,26,242,154,67,8,255,119,67,2,118,153,67,152,48,120,67,166,107,153,67,98,152,87,120,67,138,99,153,67,248,30,125,67,14,0,153,67,164,103,129,67,166,142,152,67,98,204,63,132, +67,66,29,152,67,164,151,134,67,94,189,151,67,156,156,134,67,138,185,151,67,98,188,174,134,67,166,171,151,67,36,82,134,67,174,115,151,67,220,9,134,67,222,96,151,67,98,20,225,133,67,62,86,151,67,228,72,133,67,222,51,151,67,164,183,132,67,122,20,151,67, +98,20,49,129,67,114,81,150,67,56,187,123,67,202,213,148,67,136,68,118,67,142,206,146,67,98,200,10,116,67,18,251,145,67,72,42,112,67,142,255,143,67,200,158,110,67,126,229,142,67,98,248,239,109,67,226,104,142,67,232,38,109,67,202,218,141,67,216,223,108, +67,198,169,141,67,98,24,141,108,67,174,112,141,67,8,200,107,67,234,32,141,67,168,187,106,67,242,203,140,67,108,152,24,105,67,70,71,140,67,108,88,196,104,67,102,140,140,67,98,152,155,103,67,246,127,141,67,120,217,101,67,186,192,142,67,216,179,100,67,210, +113,143,67,98,200,247,99,67,70,227,143,67,232,93,99,67,162,67,144,67,232,93,99,67,246,71,144,67,98,232,93,99,67,82,76,144,67,216,241,103,67,150,132,145,67,72,138,109,67,242,253,146,67,98,168,34,115,67,82,119,148,67,248,182,119,67,214,176,149,67,120,183, +119,67,170,182,149,67,98,120,183,119,67,126,188,149,67,88,44,114,67,194,89,150,67,184,100,107,67,46,20,151,67,98,40,157,100,67,150,206,151,67,248,16,95,67,62,108,152,67,200,16,95,67,134,114,152,67,98,200,16,95,67,194,120,152,67,40,32,103,67,190,79,154, +67,120,250,112,67,10,137,156,67,98,200,212,122,67,90,194,158,67,140,121,129,67,114,154,160,67,116,130,129,67,38,162,160,67,98,100,139,129,67,214,169,160,67,200,71,125,67,234,13,161,67,136,28,118,67,138,128,161,67,98,56,241,110,67,38,243,161,67,184,231, +104,67,202,86,162,67,8,178,104,67,246,93,162,67,98,232,101,104,67,38,104,162,67,88,162,111,67,70,89,164,67,84,208,132,67,90,52,171,67,98,156,249,141,67,126,9,176,67,212,122,149,67,26,254,179,67,188,125,149,67,154,254,179,67,98,172,128,149,67,154,254, +179,67,12,131,149,67,178,251,179,67,12,131,149,67,30,247,179,67,99,109,28,97,152,67,142,33,179,67,98,44,137,154,67,126,34,178,67,140,225,156,67,86,119,176,67,236,113,158,67,186,208,174,67,98,108,208,161,67,102,66,171,67,196,225,162,67,106,58,167,67,132, +171,161,67,238,163,162,67,98,204,33,161,67,158,154,160,67,108,28,160,67,206,149,158,67,244,176,158,67,30,192,156,67,98,100,17,158,67,242,241,155,67,52,123,157,67,154,73,155,67,212,110,157,67,18,87,155,67,98,28,99,157,67,222,99,155,67,44,72,154,67,126, +249,159,67,140,51,154,67,122,28,160,67,98,140,43,154,67,2,42,160,67,172,155,154,67,218,145,161,67,164,44,155,67,30,60,163,67,98,156,189,155,67,102,230,164,67,116,43,156,67,42,67,166,67,188,32,156,67,42,67,166,67,98,124,10,156,67,42,67,166,67,236,34,153, +67,34,130,165,67,228,78,151,67,218,2,165,67,108,156,21,150,67,170,173,164,67,108,28,168,147,67,34,159,166,67,98,236,64,145,67,138,139,168,67,92,58,145,67,18,144,168,67,140,34,145,67,198,91,168,67,98,12,249,144,67,174,0,168,67,156,225,144,67,254,23,167, +67,52,225,144,67,134,210,165,67,98,52,225,144,67,198,177,164,67,196,221,144,67,130,153,164,67,180,187,144,67,78,163,164,67,98,76,167,144,67,34,169,164,67,148,19,144,67,130,190,164,67,92,115,143,67,182,210,164,67,98,228,176,142,67,66,235,164,67,36,80, +142,67,10,0,165,67,36,80,142,67,62,17,165,67,98,36,80,142,67,106,31,165,67,28,111,142,67,110,108,165,67,244,148,142,67,94,188,165,67,98,28,213,142,67,214,67,166,67,204,217,142,67,230,92,166,67,148,217,142,67,42,44,167,67,98,148,217,142,67,70,236,167, +67,196,209,142,67,178,28,168,67,132,161,142,67,150,143,168,67,98,12,82,142,67,2,77,169,67,76,237,141,67,158,236,169,67,148,103,141,67,190,128,170,67,108,140,243,140,67,74,1,171,67,108,172,48,141,67,150,45,171,67,98,28,100,143,67,194,197,172,67,204,177, +146,67,54,93,175,67,164,65,150,67,94,74,178,67,98,220,1,151,67,78,232,178,67,236,166,151,67,230,105,179,67,116,176,151,67,90,106,179,67,98,236,185,151,67,90,106,179,67,116,9,152,67,10,74,179,67,36,97,152,67,138,33,179,67,99,109,228,70,187,67,10,217,178, +67,98,84,220,188,67,118,109,178,67,244,251,189,67,62,192,177,67,20,88,191,67,10,102,176,67,98,4,164,192,67,242,27,175,67,140,111,193,67,186,235,173,67,252,27,194,67,234,67,172,67,98,92,113,195,67,242,252,168,67,132,153,195,67,206,96,165,67,60,143,194, +67,254,230,161,67,98,180,114,194,67,134,135,161,67,196,78,194,67,250,44,161,67,124,63,194,67,194,29,161,67,98,36,48,194,67,138,14,161,67,92,182,191,67,178,39,160,67,4,191,188,67,202,28,159,67,98,164,199,185,67,226,17,158,67,52,94,183,67,170,51,157,67, +228,98,183,67,254,46,157,67,98,148,103,183,67,78,42,157,67,180,234,183,67,234,9,157,67,76,134,184,67,6,231,156,67,98,124,244,185,67,226,148,156,67,164,241,185,67,38,150,156,67,4,140,185,67,218,114,156,67,98,100,93,185,67,170,98,156,67,140,240,184,67, +2,60,156,67,28,154,184,67,238,28,156,67,108,244,252,183,67,110,228,155,67,108,188,118,186,67,142,83,155,67,98,76,211,187,67,226,3,155,67,204,249,188,67,154,191,154,67,44,5,189,67,218,187,154,67,98,156,34,189,67,18,178,154,67,60,116,188,67,118,79,154, +67,52,173,187,67,54,249,153,67,98,188,92,185,67,114,248,152,67,164,196,182,67,206,228,152,67,116,225,180,67,186,197,153,67,98,84,177,178,67,118,202,154,67,172,24,177,67,250,26,157,67,140,154,176,67,78,249,159,67,98,116,106,176,67,90,17,161,67,12,123, +176,67,38,102,163,67,60,187,176,67,238,144,164,67,98,156,105,177,67,170,188,167,67,156,38,179,67,54,214,170,67,76,43,181,67,210,122,172,67,98,244,230,182,67,250,227,173,67,76,13,184,67,198,89,174,67,76,167,185,67,42,70,174,67,98,140,67,186,67,174,62, +174,67,68,115,186,67,142,51,174,67,164,197,186,67,66,3,174,67,98,84,165,187,67,46,128,173,67,92,96,188,67,114,122,172,67,28,180,188,67,78,79,171,67,98,116,211,188,67,98,223,170,67,116,218,188,67,78,122,170,67,132,217,188,67,38,51,169,67,98,124,216,188, +67,22,196,167,67,100,211,188,67,62,142,167,67,12,160,188,67,14,207,166,67,98,12,129,188,67,194,91,166,67,236,98,188,67,170,248,165,67,20,93,188,67,214,242,165,67,98,68,87,188,67,2,237,165,67,188,38,188,67,150,16,166,67,60,241,187,67,226,65,166,67,98, +196,187,187,67,46,115,166,67,84,80,187,67,174,185,166,67,132,2,187,67,138,222,166,67,98,172,125,186,67,122,29,167,67,188,102,186,67,130,33,167,67,4,140,185,67,138,32,167,67,98,60,203,184,67,130,31,167,67,12,141,184,67,226,22,167,67,228,35,184,67,186, +237,166,67,98,52,15,183,67,86,129,166,67,148,60,182,67,250,202,165,67,196,197,181,67,226,224,164,67,98,140,133,181,67,90,98,164,67,12,126,181,67,98,65,164,67,12,126,181,67,134,165,163,67,98,12,126,181,67,214,5,163,67,92,131,181,67,238,239,162,67,140, +190,181,67,162,155,162,67,98,4,226,181,67,34,105,162,67,124,41,182,67,246,39,162,67,108,93,182,67,214,10,162,67,98,124,179,182,67,138,218,161,67,36,210,182,67,226,213,161,67,252,185,183,67,226,213,161,67,98,108,219,184,67,226,213,161,67,124,96,185,67, +130,248,161,67,212,136,186,67,254,144,162,67,98,92,176,188,67,194,172,163,67,116,14,190,67,222,82,166,67,116,14,190,67,90,99,169,67,98,116,14,190,67,178,21,171,67,60,174,189,67,214,182,172,67,164,11,189,67,210,197,173,67,98,228,7,188,67,146,118,175,67, +36,155,185,67,14,52,176,67,164,114,183,67,66,123,175,67,98,204,78,182,67,166,25,175,67,148,191,180,67,230,26,174,67,244,144,179,67,38,1,173,67,98,156,62,177,67,210,215,170,67,108,153,175,67,38,179,167,67,52,242,174,67,150,45,164,67,98,156,191,174,67, +178,28,163,67,116,179,174,67,198,136,160,67,20,220,174,67,46,122,159,67,98,76,27,175,67,6,213,157,67,244,161,175,67,126,112,156,67,188,124,176,67,226,42,155,67,98,60,242,176,67,18,124,154,67,156,93,178,67,138,17,153,67,20,7,179,67,26,162,152,67,108,180, +138,179,67,138,75,152,67,108,20,7,179,67,34,52,152,67,98,156,6,178,67,130,6,152,67,108,20,177,67,14,243,151,67,132,203,174,67,10,221,151,67,98,212,76,171,67,94,187,151,67,84,160,168,67,170,109,151,67,228,206,166,67,230,244,150,67,108,196,48,166,67,226, +203,150,67,108,164,222,164,67,2,191,151,67,108,124,140,163,67,30,178,152,67,108,108,144,163,67,246,159,153,67,98,244,152,163,67,210,162,155,67,132,169,163,67,170,37,156,67,132,2,164,67,14,41,157,67,98,196,114,165,67,30,90,161,67,4,217,167,67,182,234, +165,67,12,89,170,67,210,55,169,67,98,52,242,171,67,18,84,171,67,228,24,174,67,154,146,173,67,228,242,175,67,194,15,175,67,98,100,48,177,67,18,15,176,67,12,99,179,67,202,132,177,67,132,80,180,67,26,246,177,67,98,244,66,181,67,198,105,178,67,244,130,182, +67,222,208,178,67,212,111,183,67,158,247,178,67,98,244,117,184,67,126,34,179,67,12,109,186,67,210,18,179,67,228,70,187,67,6,217,178,67,99,109,176,35,195,66,146,196,176,67,98,176,52,210,66,142,68,176,67,176,88,225,66,222,175,174,67,16,44,245,66,62,139, +171,67,98,80,45,249,66,182,232,170,67,232,164,2,67,130,202,168,67,88,201,2,67,254,172,168,67,98,232,210,2,67,54,165,168,67,120,231,2,67,170,20,168,67,232,246,2,67,190,107,167,67,108,248,18,3,67,150,56,166,67,108,200,34,1,67,78,164,165,67,98,232,17,0, +67,194,82,165,67,208,57,254,66,90,13,165,67,176,4,254,66,18,10,165,67,98,176,207,253,66,190,6,165,67,144,124,251,66,46,81,165,67,112,218,248,66,90,175,165,67,98,48,131,240,66,170,217,166,67,240,216,236,66,66,71,167,67,144,219,234,66,210,81,167,67,98, +16,169,232,66,126,93,167,67,240,220,231,66,10,66,167,67,80,78,229,66,130,146,166,67,108,112,116,227,66,118,19,166,67,108,208,49,226,66,30,165,166,67,98,16,214,217,66,26,107,170,67,80,103,204,66,206,11,174,67,80,242,188,66,94,180,176,67,98,16,36,188,66, +218,215,176,67,208,40,188,66,90,216,176,67,16,87,190,66,114,217,176,67,98,80,142,191,66,122,218,176,67,48,183,193,66,182,208,176,67,176,35,195,66,142,196,176,67,99,109,152,174,13,67,22,21,171,67,98,232,23,14,67,126,163,170,67,72,227,14,67,66,169,169, +67,120,114,15,67,10,233,168,67,98,40,10,17,67,186,197,166,67,8,9,17,67,86,198,166,67,56,66,19,67,118,170,166,67,98,216,9,20,67,178,160,166,67,136,102,21,67,102,137,166,67,24,73,22,67,186,118,166,67,98,56,5,24,67,30,82,166,67,216,166,24,67,110,89,166, +67,184,73,25,67,126,153,166,67,98,24,131,25,67,14,176,166,67,88,94,26,67,250,59,167,67,248,48,27,67,122,208,167,67,98,152,3,28,67,246,100,168,67,248,92,29,67,146,68,169,67,120,48,30,67,102,193,169,67,98,24,242,31,67,190,202,170,67,56,110,31,67,18,199, +170,67,88,211,34,67,130,226,169,67,98,184,34,38,67,174,3,169,67,248,76,38,67,166,244,168,67,248,76,38,67,86,166,168,67,98,248,76,38,67,242,129,168,67,184,181,37,67,78,126,167,67,216,252,36,67,94,101,166,67,98,248,67,36,67,114,76,165,67,104,144,35,67, +122,53,164,67,232,109,35,67,118,249,163,67,108,24,47,35,67,86,140,163,67,108,120,170,37,67,218,28,162,67,98,232,7,39,67,190,82,161,67,88,52,40,67,210,165,160,67,40,70,40,67,142,156,160,67,98,8,88,40,67,78,147,160,67,184,130,41,67,246,178,160,67,8,222, +42,67,234,226,160,67,98,72,206,45,67,202,74,161,67,200,34,49,67,90,174,161,67,72,87,50,67,98,194,161,67,108,216,53,51,67,210,208,161,67,108,136,230,51,67,186,20,161,67,98,216,127,52,67,138,113,160,67,200,54,54,67,250,55,158,67,72,34,54,67,246,46,158, +67,98,120,172,53,67,98,251,157,67,200,143,47,67,50,44,156,67,120,191,45,67,114,179,155,67,108,120,214,44,67,222,118,155,67,108,216,219,44,67,206,129,153,67,108,56,225,44,67,186,140,151,67,108,24,29,44,67,230,126,151,67,98,56,138,42,67,126,98,151,67,232, +125,38,67,18,242,150,67,248,228,36,67,98,182,150,67,98,8,252,35,67,102,148,150,67,232,53,35,67,106,124,150,67,152,44,35,67,18,129,150,67,98,56,35,35,67,194,133,150,67,248,67,35,67,58,240,150,67,88,117,35,67,186,109,151,67,98,120,39,36,67,154,50,153,67, +152,26,36,67,134,213,153,67,216,36,35,67,238,101,155,67,98,168,200,33,67,86,157,157,67,232,40,31,67,174,102,159,67,8,139,27,67,174,146,160,67,98,232,196,25,67,218,37,161,67,168,39,25,67,54,77,161,67,8,101,23,67,162,156,161,67,98,24,34,21,67,162,2,162, +67,8,4,19,67,254,38,162,67,216,18,16,67,74,26,162,67,98,40,73,13,67,62,14,162,67,136,28,12,67,86,239,161,67,168,52,10,67,218,127,161,67,98,88,170,6,67,190,176,160,67,72,159,3,67,250,124,159,67,216,164,1,67,254,29,158,67,108,24,80,1,67,66,227,157,67,108, +48,72,255,66,90,180,158,67,98,240,0,247,66,18,186,160,67,208,12,238,66,242,49,162,67,240,150,228,66,222,20,163,67,98,208,45,227,66,182,54,163,67,48,6,226,66,186,88,163,67,48,6,226,66,118,96,163,67,98,48,6,226,66,226,120,163,67,80,169,229,66,162,180,164, +67,240,232,231,66,118,95,165,67,98,144,72,233,66,202,199,165,67,48,80,234,66,162,3,166,67,80,188,234,66,162,3,166,67,98,208,114,235,66,162,3,166,67,112,202,242,66,122,18,165,67,240,131,249,66,42,30,164,67,98,80,201,251,66,170,203,163,67,16,204,253,66, +78,136,163,67,208,251,253,66,126,136,163,67,98,176,43,254,66,126,136,163,67,168,136,0,67,194,244,163,67,40,54,2,67,178,120,164,67,98,184,252,5,67,158,161,165,67,136,204,5,67,2,119,165,67,216,140,5,67,190,107,167,67,98,88,116,5,67,250,43,168,67,200,83, +5,67,182,79,169,67,104,68,5,67,10,244,169,67,108,104,40,5,67,206,30,171,67,108,88,118,6,67,210,75,171,67,98,8,98,8,67,22,142,171,67,40,122,11,67,114,219,171,67,24,107,12,67,182,224,171,67,98,136,233,12,67,134,227,171,67,8,246,12,67,162,219,171,67,56, +174,13,67,22,21,171,67,99,109,180,224,226,67,38,28,171,67,98,20,79,226,67,150,210,170,67,188,175,220,67,66,16,168,67,36,98,214,67,138,250,164,67,98,148,20,208,67,206,228,161,67,180,229,202,67,246,88,159,67,148,221,202,67,2,82,159,67,98,124,213,202,67, +10,75,159,67,228,57,205,67,54,159,158,67,140,46,208,67,46,212,157,67,98,52,35,211,67,42,9,157,67,60,142,213,67,146,93,156,67,36,142,213,67,230,86,156,67,98,36,142,213,67,62,80,156,67,244,138,209,67,150,225,154,67,180,163,204,67,46,40,153,67,98,124,188, +199,67,198,110,151,67,68,177,195,67,242,0,150,67,60,167,195,67,58,251,149,67,98,36,157,195,67,130,245,149,67,76,225,196,67,110,94,149,67,116,119,198,67,118,171,148,67,98,148,13,200,67,126,248,147,67,140,117,201,67,118,89,147,67,92,151,201,67,18,74,147, +67,98,132,210,201,67,34,47,147,67,244,189,201,67,70,38,147,67,188,116,199,67,118,94,146,67,98,84,38,198,67,70,236,145,67,60,18,197,67,74,146,145,67,52,15,197,67,130,150,145,67,98,44,12,197,67,198,154,145,67,4,219,196,67,234,224,145,67,244,161,196,67, +122,50,146,67,98,212,247,194,67,82,147,148,67,76,215,191,67,130,97,150,67,212,11,188,67,146,39,151,67,98,252,57,187,67,90,82,151,67,180,72,184,67,190,173,151,67,196,127,183,67,202,180,151,67,98,140,101,183,67,210,181,151,67,4,90,183,67,154,186,151,67, +44,102,183,67,174,191,151,67,98,84,114,183,67,198,196,151,67,196,61,187,67,2,102,152,67,236,212,191,67,6,38,153,67,98,28,108,196,67,14,230,153,67,60,48,200,67,190,133,154,67,100,51,200,67,242,136,154,67,98,164,54,200,67,42,140,154,67,220,91,197,67,94, +53,155,67,132,219,193,67,6,1,156,67,98,52,91,190,67,174,204,156,67,252,125,187,67,18,120,157,67,36,126,187,67,230,125,157,67,98,36,126,187,67,194,137,157,67,4,179,227,67,14,162,171,67,76,212,227,67,250,161,171,67,98,244,223,227,67,250,161,171,67,84,114, +227,67,186,101,171,67,180,224,226,67,42,28,171,67,99,109,76,245,140,67,70,74,170,67,98,140,123,141,67,126,135,169,67,156,153,141,67,134,20,169,67,212,153,141,67,182,213,167,67,98,212,153,141,67,30,217,166,67,44,147,141,67,146,161,166,67,116,95,141,67, +146,249,165,67,98,60,63,141,67,246,144,165,67,212,32,141,67,78,55,165,67,220,27,141,67,82,50,165,67,98,220,22,141,67,86,45,165,67,20,164,139,67,206,92,165,67,228,227,137,67,202,155,165,67,98,196,39,135,67,42,254,165,67,220,195,134,67,134,16,166,67,188, +30,135,67,26,30,166,67,98,92,2,136,67,34,64,166,67,204,169,136,67,162,211,166,67,132,239,136,67,122,183,167,67,98,236,2,137,67,246,246,167,67,108,41,137,67,198,35,168,67,252,145,137,67,150,116,168,67,98,148,126,139,67,70,241,169,67,76,139,140,67,122, +183,170,67,180,156,140,67,246,178,170,67,98,188,167,140,67,14,176,170,67,148,207,140,67,254,128,170,67,76,245,140,67,70,74,170,67,99,109,212,113,186,67,42,185,166,67,98,4,4,187,67,150,154,166,67,100,88,187,67,174,108,166,67,52,240,187,67,50,233,165,67, +108,204,66,188,67,158,161,165,67,108,28,7,188,67,194,59,165,67,98,92,117,187,67,254,66,164,67,4,55,186,67,74,61,163,67,236,39,185,67,74,223,162,67,98,188,127,184,67,250,164,162,67,212,111,183,67,210,144,162,67,212,221,182,67,218,179,162,67,98,60,83,182, +67,26,213,162,67,92,42,182,67,34,24,163,67,4,45,182,67,178,213,163,67,98,132,47,182,67,2,138,164,67,244,125,182,67,14,36,165,67,20,40,183,67,58,195,165,67,98,180,39,184,67,86,178,166,67,228,41,185,67,202,253,166,67,212,113,186,67,42,185,166,67,99,109, +236,245,144,67,50,148,162,67,98,236,245,144,67,42,33,162,67,100,244,144,67,34,30,162,67,44,148,144,67,214,218,161,67,98,84,61,142,67,218,55,160,67,132,29,140,67,26,167,158,67,116,24,140,67,6,141,158,67,98,60,12,140,67,50,78,158,67,116,84,142,67,222,75, +157,67,108,80,145,67,78,62,156,67,98,188,157,145,67,6,35,156,67,84,162,145,67,158,27,156,67,156,222,145,67,6,88,155,67,98,236,0,146,67,218,232,154,67,252,84,146,67,206,216,153,67,124,153,146,67,110,251,152,67,98,244,221,146,67,18,30,152,67,76,19,147, +67,138,101,151,67,244,15,147,67,90,97,151,67,98,164,12,147,67,50,93,151,67,156,148,146,67,134,104,151,67,52,5,146,67,174,122,151,67,98,4,169,144,67,162,166,151,67,220,69,144,67,50,175,151,67,204,123,142,67,186,200,151,67,108,84,245,140,67,126,222,151, +67,108,20,32,140,67,38,173,152,67,98,140,46,139,67,70,151,153,67,180,142,138,67,82,22,154,67,236,157,137,67,170,171,154,67,98,180,83,136,67,118,120,155,67,84,243,134,67,134,18,156,67,44,164,133,67,146,104,156,67,108,204,30,133,67,206,138,156,67,108,116, +250,138,67,54,201,159,67,98,68,51,142,67,242,145,161,67,68,221,144,67,246,7,163,67,252,229,144,67,94,8,163,67,98,188,238,144,67,94,8,163,67,228,245,144,67,122,212,162,67,228,245,144,67,46,148,162,67,99,109,88,86,74,67,78,22,162,67,98,40,8,83,67,34,111, +161,67,200,161,90,67,142,8,159,67,152,142,95,67,86,98,155,67,98,136,7,96,67,186,8,155,67,24,100,96,67,66,188,154,67,72,92,96,67,102,184,154,67,98,56,54,96,67,138,165,154,67,136,171,93,67,106,25,154,67,24,122,93,67,106,25,154,67,98,216,90,93,67,106,25, +154,67,136,42,93,67,218,46,154,67,200,14,93,67,18,73,154,67,98,168,155,92,67,142,181,154,67,8,194,90,67,134,215,155,67,8,110,89,67,174,129,156,67,98,168,48,84,67,230,32,159,67,216,78,77,67,78,141,160,67,216,221,69,67,146,141,160,67,98,104,130,65,67,146, +141,160,67,40,221,61,67,186,36,160,67,104,204,57,67,246,49,159,67,98,88,25,57,67,46,8,159,67,168,126,56,67,6,230,158,67,168,116,56,67,6,230,158,67,98,216,91,56,67,6,230,158,67,24,76,55,67,58,100,160,67,216,94,55,67,182,108,160,67,98,40,103,55,67,114, +112,160,67,72,224,55,67,2,144,160,67,24,108,56,67,230,178,160,67,98,104,188,58,67,178,70,161,67,120,106,62,67,170,215,161,67,72,28,65,67,50,9,162,67,98,24,203,65,67,194,21,162,67,168,137,66,67,130,35,162,67,248,195,66,67,202,39,162,67,98,24,239,67,67, +190,61,162,67,136,225,72,67,86,50,162,67,120,86,74,67,86,22,162,67,99,109,8,215,105,67,110,131,160,67,98,200,174,112,67,246,20,160,67,232,77,118,67,166,183,159,67,24,85,118,67,14,180,159,67,98,88,92,118,67,134,176,159,67,40,158,116,67,222,71,159,67,200, +117,114,67,162,203,158,67,98,104,77,112,67,102,79,158,67,120,169,108,67,214,124,157,67,184,94,106,67,190,247,156,67,108,8,52,102,67,190,5,156,67,108,248,22,101,67,74,220,156,67,98,120,5,99,67,206,106,158,67,88,250,96,67,246,154,159,67,24,86,94,67,146, +201,160,67,98,104,181,93,67,118,17,161,67,184,61,93,67,70,76,161,67,248,75,93,67,70,76,161,67,98,88,90,93,67,70,76,161,67,56,255,98,67,230,241,160,67,248,214,105,67,110,131,160,67,99,109,216,99,18,67,102,213,160,67,98,88,183,18,67,50,202,160,67,232,168, +18,67,66,191,160,67,136,207,17,67,190,100,160,67,98,168,117,14,67,130,255,158,67,72,69,12,67,226,14,157,67,56,166,11,67,194,238,154,67,98,56,97,11,67,242,2,154,67,168,137,11,67,110,90,152,67,104,249,11,67,202,131,151,67,98,152,1,13,67,138,136,149,67, +8,187,15,67,254,143,147,67,72,226,18,67,34,132,146,67,108,136,231,19,67,106,45,146,67,108,216,33,19,67,98,204,145,67,108,8,92,18,67,90,107,145,67,108,56,136,17,67,150,183,145,67,98,200,187,15,67,70,93,146,67,184,214,13,67,206,90,147,67,72,141,12,67,250, +81,148,67,98,232,172,11,67,70,250,148,67,168,26,10,67,22,234,150,67,136,190,9,67,210,199,151,67,98,152,37,9,67,26,56,153,67,168,71,9,67,186,226,154,67,168,27,10,67,54,85,156,67,98,168,241,10,67,10,203,157,67,104,81,13,67,206,202,159,67,40,50,15,67,214, +157,160,67,98,56,193,15,67,166,220,160,67,24,230,15,67,94,226,160,67,200,234,16,67,26,226,160,67,98,72,135,17,67,26,226,160,67,232,48,18,67,70,220,160,67,200,99,18,67,102,213,160,67,99,109,80,100,208,66,182,25,160,67,98,240,160,212,66,46,239,159,67,112, +250,218,66,150,128,159,67,80,16,223,66,42,26,159,67,98,16,0,241,66,122,88,157,67,240,164,253,66,122,214,153,67,136,130,3,67,122,4,148,67,98,168,165,5,67,42,93,145,67,248,39,9,67,226,136,139,67,216,37,13,67,162,1,132,67,98,184,91,16,67,92,231,123,67,184, +138,18,67,172,167,114,67,24,1,20,67,44,248,106,67,98,56,63,20,67,252,177,105,67,248,196,20,67,180,22,103,67,88,42,21,67,100,45,101,67,98,184,14,22,67,36,223,96,67,24,85,22,67,180,99,94,67,8,84,22,67,52,171,90,67,98,8,84,22,67,92,73,87,67,200,15,22,67, +60,2,86,67,136,213,20,67,108,105,83,67,98,56,66,19,67,84,20,80,67,88,161,17,67,68,112,78,67,104,46,14,67,52,181,76,67,98,120,248,11,67,52,153,75,67,40,17,9,67,156,192,74,67,72,200,5,67,156,66,74,67,98,88,102,3,67,60,231,73,67,112,114,251,66,132,252,73, +67,80,57,245,66,124,108,74,67,98,240,200,237,66,100,242,74,67,112,205,230,66,212,149,75,67,112,222,228,66,84,235,75,67,108,144,47,227,66,188,53,76,67,108,208,253,226,66,84,15,84,67,98,208,214,226,66,12,67,90,67,48,175,226,66,244,56,92,67,48,66,226,66, +52,102,93,67,98,48,246,225,66,236,55,94,67,176,66,225,66,236,134,96,67,80,179,224,66,140,135,98,67,98,112,56,222,66,140,99,107,67,240,54,216,66,220,4,120,67,144,14,208,66,230,195,130,67,98,176,103,204,66,22,202,133,67,144,95,197,66,222,106,139,67,176, +60,195,66,134,6,141,67,98,16,121,189,66,118,93,145,67,240,123,184,66,98,46,147,67,208,91,175,66,26,67,148,67,98,112,117,173,66,182,124,148,67,16,12,172,66,18,149,148,67,112,25,169,66,18,175,148,67,98,240,75,161,66,230,243,148,67,208,11,156,66,170,36, +149,67,80,255,155,66,202,40,149,67,98,48,248,155,66,18,43,149,67,208,100,155,66,22,119,149,67,240,183,154,66,158,209,149,67,98,48,148,153,66,118,106,150,67,176,119,153,66,246,138,150,67,48,41,153,66,10,153,151,67,98,176,250,152,66,2,57,152,67,240,237, +152,66,78,7,153,67,112,12,153,66,130,99,153,67,98,176,213,153,66,146,190,155,67,240,94,160,66,74,242,157,67,80,173,169,66,126,253,158,67,98,16,76,174,66,46,130,159,67,80,2,181,66,254,246,159,67,176,121,186,66,226,33,160,67,98,48,29,188,66,190,46,160, +67,176,230,189,66,42,61,160,67,112,114,190,66,242,65,160,67,98,176,182,192,66,198,85,160,67,48,50,205,66,186,57,160,67,80,100,208,66,182,25,160,67,99,109,144,241,190,66,242,193,158,67,98,208,241,179,66,138,151,158,67,240,237,168,66,154,135,157,67,112, +0,164,66,218,40,156,67,98,176,58,162,66,170,170,155,67,16,37,160,66,130,164,154,67,144,77,159,66,218,217,153,67,98,240,113,158,66,94,11,153,67,112,131,158,66,182,238,151,67,112,115,159,66,58,105,151,67,98,240,211,160,66,106,165,150,67,208,78,162,66,174, +109,150,67,240,199,166,66,78,85,150,67,98,16,53,175,66,98,39,150,67,80,144,181,66,6,107,149,67,144,131,187,66,250,238,147,67,98,80,157,190,66,238,40,147,67,16,175,192,66,210,100,146,67,176,255,194,66,170,41,145,67,98,144,46,199,66,26,240,142,67,176,130, +201,66,126,79,141,67,240,211,206,66,22,229,136,67,98,48,255,208,66,246,23,135,67,144,40,211,66,54,87,133,67,112,161,211,66,214,255,132,67,98,208,231,212,66,242,19,132,67,80,112,219,66,44,168,124,67,48,17,222,66,28,161,119,67,98,80,22,226,66,180,240,111, +67,176,41,229,66,220,125,104,67,208,165,230,66,20,218,98,67,98,176,7,231,66,116,102,97,67,144,143,231,66,12,157,95,67,176,211,231,66,156,225,94,67,98,112,167,232,66,76,155,92,67,80,247,232,66,180,200,89,67,176,248,232,66,4,137,84,67,108,176,248,232,66, +52,122,79,67,108,176,225,233,66,52,13,79,67,98,144,212,235,66,228,35,78,67,16,212,238,66,100,176,77,67,112,142,244,66,20,114,77,67,98,40,100,1,67,76,215,76,67,72,243,2,67,100,212,76,67,72,28,6,67,12,92,77,67,98,40,22,8,67,228,176,77,67,120,27,11,67,36, +127,78,67,200,56,12,67,84,253,78,67,98,200,253,14,67,228,54,80,67,104,115,17,67,236,190,82,67,216,148,18,67,244,136,85,67,98,104,206,19,67,148,142,88,67,200,169,19,67,116,40,94,67,216,49,18,67,76,174,100,67,98,40,248,17,67,156,174,101,67,232,151,17,67, +188,148,103,67,248,91,17,67,148,230,104,67,98,8,238,15,67,180,244,112,67,184,252,13,67,76,24,121,67,24,1,9,67,106,243,133,67,98,136,114,7,67,150,227,136,67,216,241,3,67,22,233,142,67,152,203,2,67,250,159,144,67,98,56,255,0,67,138,78,147,67,112,43,253, +66,170,19,150,67,240,149,249,66,142,132,151,67,98,240,161,240,66,250,29,155,67,144,217,226,66,198,166,157,67,144,40,212,66,98,102,158,67,98,144,8,206,66,66,182,158,67,208,122,197,66,42,219,158,67,240,239,190,66,242,193,158,67,99,109,112,168,207,66,154, +223,157,67,98,112,87,216,66,194,121,157,67,144,100,225,66,178,143,156,67,80,72,231,66,170,124,155,67,98,48,61,241,66,194,171,153,67,48,1,249,66,98,229,150,67,176,79,255,66,130,230,146,67,98,56,220,1,67,114,27,144,67,56,79,7,67,34,170,134,67,200,35,11, +67,52,0,126,67,98,24,147,12,67,68,66,120,67,8,193,14,67,84,178,110,67,24,98,15,67,28,98,107,67,98,104,153,15,67,220,62,106,67,8,11,16,67,236,2,104,67,152,94,16,67,36,107,102,67,98,152,139,18,67,140,205,91,67,136,113,18,67,4,96,87,67,120,240,15,67,12, +176,83,67,98,232,133,14,67,20,154,81,67,24,44,11,67,108,208,79,67,120,48,7,67,212,4,79,67,98,56,213,3,67,76,89,78,67,240,199,254,66,164,62,78,67,176,9,248,66,188,193,78,67,98,208,171,245,66,188,239,78,67,48,252,241,66,228,53,79,67,144,216,239,66,156, +93,79,67,108,16,245,235,66,196,165,79,67,108,208,240,235,66,228,29,85,67,98,208,240,235,66,244,31,88,67,80,204,235,66,124,27,91,67,112,164,235,66,148,190,91,67,98,48,18,233,66,60,59,102,67,240,38,231,66,116,127,107,67,176,135,226,66,252,193,116,67,98, +144,2,219,66,78,233,129,67,16,70,203,66,206,161,142,67,112,18,198,66,22,98,145,67,98,112,237,191,66,14,162,148,67,48,180,180,66,226,192,150,67,240,35,168,66,194,9,151,67,98,144,86,164,66,206,31,151,67,144,227,163,66,166,46,151,67,16,177,162,66,178,189, +151,67,98,208,26,162,66,198,3,152,67,240,251,161,66,54,53,152,67,48,255,161,66,170,219,152,67,98,80,3,162,66,182,134,153,67,16,39,162,66,38,187,153,67,80,244,162,66,46,57,154,67,98,80,169,164,66,146,69,155,67,112,209,167,66,126,65,156,67,144,241,170, +66,186,182,156,67,98,80,222,173,66,110,36,157,67,240,207,182,66,242,197,157,67,112,248,188,66,70,252,157,67,98,144,92,192,66,46,26,158,67,112,54,204,66,2,8,158,67,48,168,207,66,154,223,157,67,99,109,168,29,24,67,62,22,160,67,98,72,151,24,67,130,247,159, +67,152,99,25,67,202,188,159,67,184,227,25,67,190,147,159,67,108,184,204,26,67,26,73,159,67,108,40,164,25,67,34,27,159,67,98,88,122,23,67,78,197,158,67,152,220,21,67,146,68,158,67,152,140,20,67,146,133,157,67,98,104,123,19,67,70,234,156,67,216,9,19,67, +202,150,156,67,40,141,18,67,122,13,156,67,98,184,230,15,67,202,34,153,67,200,114,18,67,238,194,149,67,152,71,24,67,178,118,148,67,108,168,63,25,67,126,63,148,67,108,120,203,23,67,90,186,147,67,108,56,87,22,67,58,53,147,67,108,232,124,21,67,98,110,147, +67,98,248,194,18,67,26,37,148,67,24,59,16,67,54,182,149,67,232,32,15,67,86,94,151,67,98,72,233,12,67,118,179,154,67,88,207,15,67,118,93,158,67,120,250,21,67,18,7,160,67,98,88,137,22,67,150,45,160,67,40,13,23,67,78,77,160,67,104,31,23,67,146,77,160,67, +98,168,49,23,67,146,77,160,67,8,164,23,67,234,52,160,67,152,29,24,67,50,22,160,67,99,109,88,200,7,67,218,197,158,67,98,88,25,7,67,66,14,158,67,104,101,6,67,22,22,157,67,104,7,6,67,158,90,156,67,108,72,218,5,67,154,0,156,67,108,168,18,5,67,214,1,156,67, +98,40,86,4,67,250,2,156,67,56,66,4,67,234,8,156,67,216,170,3,67,58,108,156,67,108,152,10,3,67,106,213,156,67,108,88,146,3,67,142,57,157,67,98,56,149,4,67,126,248,157,67,88,112,5,67,130,108,158,67,136,233,6,67,70,254,158,67,98,8,186,7,67,214,78,159,67, +72,106,8,67,242,141,159,67,40,113,8,67,122,138,159,67,98,8,120,8,67,14,135,159,67,40,44,8,67,142,46,159,67,88,200,7,67,234,197,158,67,99,109,120,101,29,67,162,22,158,67,98,120,98,30,67,158,138,157,67,56,3,32,67,126,51,156,67,56,3,32,67,62,239,155,67, +98,56,3,32,67,14,229,155,67,120,159,31,67,98,245,155,67,136,37,31,67,142,19,156,67,98,184,112,28,67,254,190,156,67,136,251,24,67,146,14,156,67,40,234,23,67,110,162,154,67,98,56,109,23,67,18,252,153,67,232,122,23,67,126,21,153,67,104,10,24,67,214,130, +152,67,98,216,145,24,67,90,248,151,67,120,150,25,67,74,121,151,67,248,176,26,67,246,55,151,67,98,184,112,27,67,162,11,151,67,40,224,27,67,158,0,151,67,72,222,28,67,218,0,151,67,98,216,67,30,67,218,0,151,67,168,60,31,67,186,45,151,67,40,98,32,67,250,161, +151,67,98,136,12,33,67,114,229,151,67,184,14,33,67,178,229,151,67,232,246,32,67,78,178,151,67,98,168,233,32,67,162,149,151,67,184,189,32,67,34,45,151,67,88,149,32,67,26,202,150,67,98,232,108,32,67,14,103,150,67,200,54,32,67,10,11,150,67,248,28,32,67, +154,253,149,67,98,120,222,31,67,6,221,149,67,24,61,28,67,50,11,149,67,248,178,27,67,114,254,148,67,98,72,18,27,67,162,239,148,67,72,204,24,67,62,88,149,67,72,158,23,67,54,186,149,67,98,184,249,21,67,162,66,150,67,56,182,20,67,6,16,151,67,8,237,19,67, +114,18,152,67,98,232,152,19,67,114,126,152,67,168,137,19,67,74,185,152,67,88,135,19,67,82,154,153,67,98,8,133,19,67,22,123,154,67,168,147,19,67,194,184,154,67,184,231,19,67,114,50,155,67,98,168,238,20,67,30,175,156,67,200,166,23,67,210,231,157,67,152, +199,26,67,250,72,158,67,98,136,83,28,67,6,121,158,67,232,194,28,67,166,112,158,67,120,101,29,67,166,22,158,67,99,109,136,240,72,67,166,37,158,67,98,184,66,78,67,98,191,157,67,168,7,83,67,6,135,156,67,184,137,86,67,10,171,154,67,98,56,133,87,67,186,37, +154,67,168,40,89,67,82,26,153,67,24,16,89,67,226,14,153,67,98,184,10,89,67,70,12,153,67,184,4,88,67,114,208,152,67,56,202,86,67,210,137,152,67,108,72,142,84,67,114,9,152,67,108,72,37,84,67,126,77,152,67,98,88,121,81,67,218,8,154,67,120,26,77,67,230,81, +155,67,104,174,72,67,150,172,155,67,98,216,173,70,67,162,213,155,67,152,15,67,67,134,188,155,67,216,32,65,67,38,120,155,67,98,24,118,61,67,110,246,154,67,136,71,58,67,190,236,153,67,200,170,55,67,50,98,152,67,108,232,238,54,67,86,243,151,67,108,168,30, +52,67,34,225,151,67,98,152,146,50,67,42,215,151,67,120,71,49,67,186,209,151,67,8,63,49,67,30,213,151,67,98,152,31,49,67,162,225,151,67,8,106,50,67,170,242,152,67,8,103,51,67,74,157,153,67,98,72,241,54,67,110,0,156,67,216,57,60,67,26,154,157,67,104,62, +66,67,6,28,158,67,98,120,215,67,67,134,62,158,67,136,97,71,67,158,67,158,67,152,240,72,67,178,37,158,67,99,109,212,96,154,67,226,185,154,67,98,100,147,155,67,242,169,154,67,228,147,156,67,58,151,154,67,220,154,156,67,66,144,154,67,98,180,200,156,67,106, +98,154,67,196,36,154,67,30,71,152,67,172,67,152,67,166,25,151,67,98,68,198,151,67,18,203,150,67,36,81,151,67,182,138,150,67,108,63,151,67,170,138,150,67,98,180,45,151,67,170,138,150,67,196,151,150,67,14,170,150,67,60,242,149,67,138,208,150,67,108,68, +197,148,67,142,22,151,67,108,68,20,149,67,198,127,151,67,98,180,63,149,67,166,185,151,67,68,218,149,67,250,145,152,67,180,107,150,67,134,96,153,67,108,52,116,151,67,10,216,154,67,108,220,211,151,67,254,214,154,67,98,116,8,152,67,254,214,154,67,68,46, +153,67,90,201,154,67,212,96,154,67,110,185,154,67,99,109,56,238,73,67,86,251,153,67,98,136,23,77,67,198,131,153,67,40,223,79,67,146,149,152,67,168,191,81,67,82,93,151,67,98,8,130,82,67,2,223,150,67,248,205,83,67,154,190,149,67,8,207,83,67,34,147,149, +67,98,8,207,83,67,202,130,149,67,56,123,83,67,58,139,149,67,8,220,82,67,118,171,149,67,98,152,109,80,67,118,41,150,67,152,131,75,67,46,214,150,67,104,4,72,67,134,40,151,67,98,24,146,69,67,30,98,151,67,136,174,64,67,126,174,151,67,56,166,61,67,118,202, +151,67,108,104,196,58,67,14,229,151,67,108,168,148,59,67,74,65,152,67,98,200,166,61,67,22,44,153,67,24,49,64,67,254,211,153,67,248,195,66,67,46,28,154,67,98,152,205,68,67,82,85,154,67,24,238,71,67,254,70,154,67,56,238,73,67,86,251,153,67,99,109,20,74, +157,67,114,29,152,67,108,100,99,157,67,246,179,151,67,108,140,96,156,67,194,84,150,67,98,52,210,155,67,154,147,149,67,252,82,155,67,210,249,148,67,228,69,155,67,6,255,148,67,98,196,56,155,67,58,4,149,67,180,193,154,67,138,54,149,67,68,61,154,67,214,110, +149,67,98,148,100,153,67,250,202,149,67,116,80,153,67,6,216,149,67,4,116,153,67,78,241,149,67,98,188,137,153,67,194,0,150,67,60,28,154,67,90,97,150,67,132,185,154,67,242,199,150,67,98,204,86,155,67,138,46,151,67,156,34,156,67,22,189,151,67,108,126,156, +67,182,4,152,67,98,68,218,156,67,82,76,152,67,244,39,157,67,238,134,152,67,20,43,157,67,238,134,152,67,98,52,46,157,67,238,134,152,67,44,60,157,67,114,87,152,67,20,74,157,67,114,29,152,67,99,109,88,132,88,67,178,83,151,67,98,168,247,89,67,30,43,151,67, +8,55,91,67,238,253,150,67,24,74,91,67,78,239,150,67,98,8,245,91,67,198,107,150,67,152,73,93,67,226,16,147,67,216,210,92,67,226,16,147,67,98,184,192,92,67,226,16,147,67,24,119,92,67,198,38,147,67,8,47,92,67,134,65,147,67,98,24,104,91,67,86,139,147,67, +168,73,89,67,58,47,148,67,120,102,88,67,38,102,148,67,98,216,185,87,67,222,143,148,67,56,150,87,67,106,163,148,67,8,113,87,67,154,236,148,67,98,40,32,87,67,250,139,149,67,8,113,86,67,22,106,150,67,88,201,85,67,254,5,151,67,98,152,109,85,67,86,91,151, +67,120,34,85,67,102,165,151,67,120,34,85,67,142,170,151,67,98,120,34,85,67,166,175,151,67,88,77,85,67,210,174,151,67,200,129,85,67,178,168,151,67,98,56,182,85,67,142,162,151,67,232,16,87,67,70,124,151,67,88,132,88,67,178,83,151,67,99,109,200,222,98,67, +42,54,150,67,108,152,28,100,67,134,19,150,67,108,104,78,100,67,226,175,149,67,98,88,150,100,67,218,31,149,67,248,218,100,67,190,241,147,67,24,219,100,67,2,68,147,67,108,24,219,100,67,230,173,146,67,108,104,51,99,67,30,63,146,67,108,200,139,97,67,90,208, +145,67,108,200,139,97,67,6,186,146,67,98,200,139,97,67,86,221,147,67,88,38,97,67,46,100,149,67,136,157,96,67,6,80,150,67,98,232,133,96,67,190,120,150,67,8,117,96,67,126,121,150,67,168,222,98,67,42,54,150,67,99,109,100,170,208,67,134,139,149,67,98,180, +171,209,67,202,22,149,67,156,236,210,67,206,227,147,67,84,213,211,67,210,131,146,67,98,196,142,212,67,70,107,145,67,36,48,214,67,62,153,142,67,36,96,214,67,226,29,142,67,98,4,209,214,67,202,251,140,67,68,150,214,67,206,76,140,67,252,152,213,67,246,204, +139,67,98,92,106,213,67,114,181,139,67,116,238,212,67,110,88,139,67,156,133,212,67,70,254,138,67,98,196,28,212,67,30,164,138,67,12,163,211,67,146,66,138,67,36,119,211,67,118,37,138,67,108,68,39,211,67,154,240,137,67,108,52,36,210,67,250,9,138,67,98,36, +70,208,67,214,56,138,67,4,230,206,67,138,123,138,67,52,172,206,67,50,178,138,67,98,52,164,206,67,198,185,138,67,132,142,206,67,242,51,139,67,20,124,206,67,170,193,139,67,98,124,252,205,67,182,150,143,67,244,251,205,67,214,166,145,67,52,122,206,67,62, +152,147,67,98,156,243,206,67,202,118,149,67,12,151,207,67,118,8,150,67,116,170,208,67,130,139,149,67,99,109,76,90,159,67,58,236,147,67,108,236,175,159,67,174,116,147,67,108,20,99,159,67,182,29,147,67,98,212,56,159,67,222,237,146,67,204,14,159,67,106, +190,146,67,180,5,159,67,70,180,146,67,98,148,252,158,67,22,170,146,67,180,146,158,67,218,232,146,67,100,26,158,67,174,63,147,67,98,20,162,157,67,130,150,147,67,124,25,157,67,154,244,147,67,228,234,156,67,198,16,148,67,108,36,150,156,67,6,68,148,67,108, +28,180,157,67,138,79,148,67,98,100,81,158,67,230,85,148,67,124,221,158,67,10,93,148,67,100,235,158,67,110,95,148,67,98,76,249,158,67,210,97,148,67,52,43,159,67,254,45,148,67,76,90,159,67,58,236,147,67,99,109,136,35,61,67,18,163,147,67,98,248,30,67,67, +162,106,147,67,72,43,73,67,30,228,146,67,40,70,77,67,50,60,146,67,98,248,141,88,67,194,110,144,67,184,238,95,67,70,15,141,67,200,64,100,67,214,186,135,67,98,40,35,102,67,194,103,133,67,248,161,103,67,62,233,130,67,168,35,105,67,180,40,127,67,98,120,43, +106,67,236,153,122,67,232,71,107,67,4,235,117,67,184,56,108,67,12,43,114,67,98,136,128,110,67,52,19,105,67,200,164,111,67,116,11,99,67,24,53,112,67,116,29,93,67,98,200,118,112,67,12,106,90,67,24,119,112,67,60,10,90,67,56,57,112,67,164,93,88,67,98,88, +108,111,67,108,210,82,67,136,205,108,67,220,19,79,67,40,0,104,67,172,157,76,67,98,104,167,98,67,252,223,73,67,40,185,91,67,60,67,73,67,232,145,82,67,228,184,74,67,98,8,29,81,67,84,244,74,67,136,83,79,67,36,51,75,67,40,153,78,67,108,68,75,67,98,232,191, +77,67,156,88,75,67,168,9,77,67,180,132,75,67,104,157,76,67,116,191,75,67,98,152,64,76,67,204,241,75,67,168,221,75,67,12,27,76,67,168,193,75,67,12,27,76,67,98,232,154,75,67,12,27,76,67,104,144,75,67,84,112,77,67,200,149,75,67,220,176,81,67,98,56,157,75, +67,100,177,87,67,136,138,75,67,108,178,88,67,248,134,74,67,148,75,96,67,98,216,9,73,67,124,115,107,67,40,165,70,67,156,203,117,67,248,46,67,67,206,4,128,67,98,120,156,64,67,246,210,131,67,120,222,62,67,90,139,133,67,56,69,60,67,102,216,134,67,98,72,252, +58,67,14,125,135,67,216,23,58,67,178,185,135,67,216,241,56,67,90,186,135,67,98,8,1,56,67,102,187,135,67,24,101,55,67,122,146,135,67,72,223,54,67,214,48,135,67,98,120,200,53,67,94,101,134,67,56,187,53,67,130,44,133,67,40,176,54,67,14,217,130,67,98,168, +214,55,67,82,13,128,67,8,214,56,67,204,210,123,67,72,6,58,67,132,97,119,67,98,216,139,61,67,212,54,106,67,104,177,62,67,124,141,100,67,232,34,63,67,212,36,94,67,98,88,113,63,67,252,182,89,67,152,253,62,67,212,157,85,67,216,244,61,67,244,114,83,67,98, +184,199,59,67,12,227,78,67,8,114,55,67,20,243,75,67,40,240,48,67,68,160,74,67,98,24,91,46,67,212,25,74,67,88,107,42,67,188,222,73,67,184,223,39,67,44,24,74,67,98,216,111,35,67,84,124,74,67,184,164,30,67,220,3,75,67,56,178,29,67,252,55,75,67,98,248,251, +27,67,36,150,75,67,56,108,26,67,244,57,76,67,24,77,26,67,44,156,76,67,98,184,34,26,67,124,33,77,67,216,46,26,67,212,81,79,67,184,94,26,67,108,204,79,67,98,24,153,26,67,228,97,80,67,232,153,26,67,84,76,82,67,104,97,26,67,28,145,85,67,98,248,200,25,67, +172,97,94,67,232,37,25,67,12,46,98,67,88,114,21,67,220,254,114,67,98,24,21,18,67,190,35,129,67,152,157,17,67,202,137,130,67,152,157,17,67,126,250,132,67,98,152,157,17,67,110,189,139,67,152,123,24,67,66,93,144,67,120,169,37,67,70,122,146,67,98,72,187, +39,67,62,207,146,67,88,199,40,67,234,239,146,67,152,110,43,67,98,46,147,67,98,72,222,49,67,226,197,147,67,248,84,54,67,78,227,147,67,168,35,61,67,22,163,147,67,99,109,88,184,49,67,50,39,146,67,98,184,196,43,67,150,217,145,67,8,171,36,67,202,231,144,67, +216,208,32,67,138,231,143,67,98,184,216,26,67,118,90,142,67,88,146,22,67,234,109,139,67,56,252,20,67,2,208,135,67,98,152,146,20,67,58,223,134,67,248,146,20,67,142,28,132,67,56,252,20,67,130,153,130,67,98,216,192,21,67,244,149,127,67,72,133,22,67,132, +167,123,67,24,208,24,67,188,150,113,67,98,216,66,27,67,116,214,102,67,232,24,28,67,172,123,98,67,168,180,28,67,44,81,93,67,98,184,228,28,67,132,185,91,67,248,32,29,67,196,24,90,67,136,58,29,67,12,179,89,67,98,248,88,29,67,28,58,89,67,8,97,29,67,220,204, +87,67,216,81,29,67,220,147,85,67,98,232,68,29,67,44,181,83,67,200,75,29,67,196,175,81,67,200,96,29,67,20,22,81,67,98,120,138,29,67,148,228,79,67,200,237,29,67,4,181,78,67,104,61,30,67,100,115,78,67,98,88,89,30,67,108,92,78,67,184,170,31,67,252,24,78, +67,40,43,33,67,148,221,77,67,98,40,157,41,67,116,143,76,67,152,178,47,67,52,215,76,67,104,122,52,67,60,193,78,67,98,56,253,54,67,172,194,79,67,24,159,57,67,244,223,81,67,56,188,58,67,244,199,83,67,98,136,222,59,67,212,184,85,67,168,7,60,67,52,120,86, +67,136,27,60,67,172,42,90,67,98,72,47,60,67,108,220,93,67,136,3,60,67,44,77,96,67,40,102,59,67,92,68,100,67,98,24,179,58,67,92,199,104,67,24,251,57,67,132,214,107,67,168,217,54,67,20,161,119,67,98,184,53,54,67,140,10,122,67,8,126,53,67,132,232,124,67, +136,65,53,67,36,0,126,67,98,248,4,53,67,196,23,127,67,152,136,52,67,106,163,128,67,24,45,52,67,70,109,129,67,98,72,244,50,67,82,31,132,67,24,188,50,67,38,157,133,67,24,96,51,67,210,221,134,67,98,168,202,51,67,30,174,135,67,200,52,52,67,166,22,136,67, +8,17,53,67,34,136,136,67,98,184,246,54,67,118,130,137,67,56,42,58,67,62,124,137,67,88,51,61,67,90,120,136,67,98,168,246,62,67,106,225,135,67,40,229,63,67,182,80,135,67,200,85,65,67,46,246,133,67,98,104,35,70,67,82,114,129,67,56,223,73,67,188,116,118, +67,248,151,76,67,20,107,102,67,98,72,53,78,67,196,231,92,67,152,138,78,67,212,208,89,67,8,156,78,67,236,184,83,67,98,200,170,78,67,100,151,78,67,200,138,78,67,60,10,79,67,72,27,80,67,252,84,78,67,98,168,110,81,67,92,187,77,67,120,46,83,67,20,114,77,67, +104,63,87,67,204,41,77,67,98,168,75,94,67,140,172,76,67,152,93,98,67,180,49,77,67,168,66,102,67,252,20,79,67,98,104,228,105,67,172,215,80,67,216,35,108,67,92,136,83,67,72,230,108,67,28,7,87,67,98,8,69,109,67,92,187,88,67,184,81,109,67,188,242,93,67,40, +252,108,67,12,12,96,67,98,40,134,108,67,124,241,98,67,216,59,107,67,244,40,105,67,248,74,106,67,228,4,109,67,98,24,191,105,67,108,66,111,67,104,190,104,67,180,121,115,67,120,16,104,67,84,99,118,67,98,216,22,101,67,122,146,129,67,88,136,98,67,14,219,133, +67,184,104,96,67,18,5,136,67,98,232,131,92,67,10,253,139,67,136,7,86,67,142,14,143,67,8,144,78,67,118,118,144,67,98,216,252,75,67,146,242,144,67,232,135,68,67,42,192,145,67,40,243,63,67,90,9,146,67,98,200,100,61,67,54,50,146,67,184,15,52,67,194,69,146, +67,184,183,49,67,50,39,146,67,99,109,8,159,63,67,50,75,145,67,98,104,163,75,67,98,149,144,67,24,168,82,67,94,67,143,67,168,248,87,67,102,182,140,67,98,248,92,92,67,218,154,138,67,136,154,95,67,34,227,135,67,136,10,98,67,106,68,132,67,98,152,64,99,67, +2,120,130,67,168,101,105,67,108,39,107,67,104,184,106,67,212,29,100,67,98,120,191,107,67,12,167,94,67,40,219,107,67,100,171,93,67,120,196,107,67,52,154,90,67,98,104,179,107,67,100,77,88,67,104,161,107,67,84,193,87,67,248,64,107,67,228,153,86,67,98,24, +232,105,67,76,121,82,67,120,171,102,67,204,16,80,67,120,226,96,67,220,226,78,67,98,184,114,95,67,228,151,78,67,104,139,94,67,188,135,78,67,248,171,91,67,180,133,78,67,98,8,144,86,67,44,130,78,67,56,228,82,67,100,185,78,67,56,11,82,67,180,22,79,67,98, +200,158,80,67,116,179,79,67,56,1,80,67,4,104,81,67,56,1,80,67,212,188,84,67,98,56,1,80,67,20,41,87,67,232,172,79,67,220,31,91,67,40,20,79,67,164,225,95,67,98,40,172,77,67,20,24,107,67,40,58,75,67,100,228,117,67,232,172,71,67,182,73,128,67,98,168,243, +69,67,90,225,130,67,200,89,69,67,74,166,131,67,248,231,67,67,226,28,133,67,98,136,240,64,67,242,29,136,67,24,221,61,67,70,154,137,67,72,212,57,67,182,250,137,67,98,152,94,53,67,78,101,138,67,40,217,49,67,234,162,136,67,200,153,49,67,54,222,133,67,98, +248,110,49,67,30,255,131,67,232,182,50,67,38,193,128,67,56,62,54,67,140,60,116,67,98,104,106,56,67,188,16,108,67,184,49,57,67,244,165,104,67,200,230,57,67,28,47,100,67,98,200,176,58,67,76,52,95,67,72,189,58,67,228,179,94,67,56,187,58,67,76,169,91,67, +98,248,184,58,67,188,87,88,67,248,142,58,67,252,76,87,67,216,179,57,67,4,36,85,67,98,136,148,56,67,252,78,82,67,136,243,52,67,188,246,79,67,104,56,48,67,164,3,79,67,98,40,149,46,67,132,175,78,67,8,98,42,67,252,91,78,67,136,136,41,67,164,126,78,67,98, +168,42,41,67,156,141,78,67,136,96,39,67,212,169,78,67,136,142,37,67,100,189,78,67,98,232,17,33,67,156,237,78,67,120,1,32,67,76,78,79,67,216,67,31,67,228,248,80,67,98,184,237,30,67,212,186,81,67,120,225,30,67,60,42,82,67,184,202,30,67,52,74,85,67,98,152, +146,30,67,124,255,92,67,248,163,29,67,148,204,98,67,216,14,26,67,60,191,114,67,98,168,89,22,67,98,160,129,67,152,124,21,67,226,214,132,67,104,82,22,67,78,70,135,67,98,232,35,23,67,82,169,137,67,248,114,25,67,66,237,139,67,168,170,28,67,10,128,141,67, +98,72,180,32,67,126,121,143,67,88,6,40,67,218,219,144,67,24,36,49,67,38,95,145,67,98,104,210,51,67,198,133,145,67,88,139,60,67,190,121,145,67,24,159,63,67,46,75,145,67,99,109,180,113,182,67,214,154,147,67,98,204,139,185,67,190,90,147,67,204,110,187,67, +102,20,147,67,76,178,188,67,190,177,146,67,98,12,107,190,67,74,43,146,67,180,176,191,67,14,110,145,67,212,181,192,67,150,92,144,67,98,44,167,193,67,202,95,143,67,84,6,194,67,114,156,142,67,204,92,194,67,30,248,140,67,98,228,199,194,67,142,239,138,67, +124,195,194,67,82,152,136,67,84,81,194,67,2,231,134,67,98,172,22,194,67,58,8,134,67,108,124,193,67,146,185,132,67,220,47,193,67,238,114,132,67,108,132,254,192,67,94,69,132,67,108,84,203,191,67,162,119,132,67,98,100,136,188,67,70,0,133,67,180,64,187,67, +246,37,133,67,92,2,185,67,106,63,133,67,98,100,232,182,67,66,87,133,67,44,60,181,67,82,66,133,67,116,233,180,67,26,12,133,67,98,108,203,180,67,106,248,132,67,140,159,180,67,218,201,132,67,4,136,180,67,162,164,132,67,98,132,99,180,67,234,106,132,67,244, +94,180,67,10,74,132,67,44,105,180,67,90,197,131,67,98,116,120,180,67,38,254,130,67,44,174,180,67,218,131,130,67,60,17,181,67,154,70,130,67,98,180,104,181,67,142,16,130,67,124,197,181,67,46,11,130,67,132,46,184,67,134,24,130,67,98,76,111,185,67,126,31, +130,67,36,191,185,67,74,26,130,67,156,127,186,67,234,241,129,67,98,188,151,187,67,50,183,129,67,196,222,188,67,202,74,129,67,244,167,189,67,234,229,128,67,98,204,136,190,67,46,117,128,67,28,119,191,67,12,254,126,67,84,249,191,67,244,1,125,67,98,4,146, +192,67,60,174,122,67,100,190,192,67,212,18,121,67,140,187,192,67,116,249,117,67,98,148,185,192,67,228,200,115,67,36,177,192,67,148,43,115,67,92,130,192,67,156,198,113,67,98,164,69,192,67,124,247,111,67,52,207,191,67,12,241,109,67,36,128,191,67,132,92, +109,67,98,4,79,191,67,60,0,109,67,116,70,191,67,28,254,108,67,124,189,190,67,244,44,109,67,98,116,216,188,67,212,210,109,67,116,42,185,67,188,132,110,67,108,108,184,67,92,94,110,67,98,60,8,184,67,44,74,110,67,36,245,183,67,44,54,110,67,140,200,183,67, +52,179,109,67,98,100,156,183,67,108,49,109,67,84,151,183,67,44,251,108,67,236,159,183,67,196,0,108,67,98,92,166,183,67,172,67,107,67,68,187,183,67,124,158,106,67,116,221,183,67,148,25,106,67,108,36,17,184,67,132,80,105,67,108,156,153,184,67,28,51,105, +67,98,172,228,184,67,228,34,105,67,220,6,186,67,204,246,104,67,124,30,187,67,4,209,104,67,98,180,98,192,67,204,26,104,67,188,253,194,67,180,198,102,67,212,204,196,67,68,225,99,67,98,172,77,198,67,36,121,97,67,204,96,199,67,84,163,93,67,212,168,199,67, +252,172,89,67,98,156,198,199,67,100,9,88,67,124,198,199,67,156,112,83,67,212,168,199,67,4,251,81,67,98,36,110,199,67,180,29,79,67,212,253,198,67,124,143,76,67,52,121,198,67,68,18,75,67,98,204,45,198,67,108,57,74,67,20,28,198,67,28,30,74,67,28,216,197, +67,204,25,74,67,98,68,30,197,67,244,13,74,67,164,106,196,67,204,40,74,67,180,185,195,67,228,106,74,67,98,60,188,194,67,140,201,74,67,60,73,189,67,148,199,74,67,212,173,184,67,236,102,74,67,98,228,105,179,67,100,248,73,67,52,209,177,67,148,235,73,67,148, +126,175,67,12,29,74,67,98,12,227,171,67,236,105,74,67,84,54,168,67,52,38,75,67,124,32,167,67,220,201,75,67,108,244,126,166,67,244,40,76,67,108,108,113,166,67,204,42,77,67,98,244,105,166,67,156,184,77,67,12,106,166,67,244,169,79,67,108,113,166,67,244, +123,81,67,98,220,133,166,67,148,102,86,67,164,68,166,67,124,176,93,67,132,217,165,67,12,118,98,67,98,148,93,165,67,20,251,103,67,148,93,164,67,156,209,112,67,124,216,162,67,4,2,125,67,98,52,29,161,67,166,114,133,67,60,177,160,67,186,254,135,67,124,202, +160,67,102,234,138,67,98,132,225,160,67,130,149,141,67,252,85,161,67,202,4,143,67,100,124,162,67,198,66,144,67,98,228,178,163,67,38,146,145,67,4,122,165,67,22,104,146,67,28,67,168,67,222,249,146,67,98,252,25,170,67,30,90,147,67,244,155,172,67,186,163, +147,67,4,31,175,67,50,195,147,67,98,124,101,176,67,42,211,147,67,28,237,180,67,62,186,147,67,172,113,182,67,218,154,147,67,99,109,196,161,173,67,22,47,146,67,98,60,137,171,67,34,15,146,67,252,200,169,67,234,205,145,67,236,10,168,67,234,94,145,67,98,132, +239,166,67,98,24,145,67,76,128,165,67,174,153,144,67,68,219,164,67,126,69,144,67,98,4,182,163,67,230,175,143,67,228,203,162,67,66,103,142,67,132,116,162,67,194,230,140,67,98,12,86,162,67,146,96,140,67,12,78,162,67,226,226,139,67,44,78,162,67,14,139,138, +67,98,44,78,162,67,82,55,135,67,204,158,162,67,14,135,133,67,236,6,165,67,116,203,119,67,98,156,99,166,67,12,229,108,67,252,220,166,67,236,128,104,67,52,87,167,67,36,93,98,67,98,20,209,167,67,172,61,92,67,108,231,167,67,172,32,90,67,124,238,167,67,140, +12,84,67,108,244,244,167,67,76,129,78,67,108,68,46,169,67,4,39,78,67,98,28,39,173,67,252,1,77,67,20,61,178,67,132,199,76,67,124,76,185,67,204,109,77,67,98,108,88,186,67,124,134,77,67,76,167,188,67,92,172,77,67,132,109,190,67,12,194,77,67,98,196,126,193, +67,140,231,77,67,100,180,193,67,52,229,77,67,108,176,194,67,124,146,77,67,98,132,237,195,67,92,42,77,67,156,185,196,67,20,55,77,67,36,58,197,67,228,186,77,67,98,116,139,197,67,60,14,78,67,100,150,197,67,172,46,78,67,212,199,197,67,164,94,79,67,98,12, +190,198,67,52,72,85,67,236,90,198,67,148,184,91,67,228,204,196,67,100,172,95,67,98,44,169,195,67,204,145,98,67,100,114,193,67,84,120,100,67,4,78,190,67,228,63,101,67,98,220,251,188,67,196,147,101,67,100,34,185,67,124,24,102,67,52,202,184,67,12,254,101, +67,98,36,71,184,67,188,214,101,67,244,158,183,67,12,72,102,67,148,41,183,67,172,22,103,67,98,132,121,182,67,156,76,104,67,164,6,182,67,108,207,106,67,60,10,182,67,116,94,109,67,98,156,12,182,67,220,19,111,67,20,26,182,67,236,87,111,67,92,146,182,67,116, +15,112,67,98,100,147,183,67,164,151,113,67,44,11,185,67,108,207,113,67,244,242,187,67,188,219,112,67,98,140,83,189,67,52,104,112,67,108,169,189,67,124,88,112,67,84,239,189,67,180,126,112,67,98,180,126,190,67,36,205,112,67,36,196,190,67,76,63,113,67,244, +4,191,67,52,71,114,67,98,236,63,191,67,116,55,115,67,148,65,191,67,76,80,115,67,156,63,191,67,228,185,117,67,98,212,61,191,67,204,224,119,67,60,54,191,67,36,103,120,67,220,6,191,67,148,171,121,67,98,156,158,190,67,220,116,124,67,76,220,189,67,76,59,126, +67,84,135,188,67,116,131,127,67,98,244,22,187,67,250,114,128,67,124,238,185,67,102,160,128,67,156,251,182,67,42,155,128,67,98,124,94,181,67,66,152,128,67,140,238,180,67,198,157,128,67,92,167,180,67,94,184,128,67,98,212,223,179,67,226,2,129,67,140,204, +179,67,14,21,129,67,116,107,179,67,10,226,129,67,98,92,118,178,67,98,231,131,67,204,133,178,67,22,109,133,67,164,150,179,67,206,37,134,67,98,76,58,180,67,162,148,134,67,68,145,182,67,150,222,134,67,100,205,184,67,162,202,134,67,98,236,211,186,67,138, +184,134,67,28,66,190,67,102,77,134,67,228,236,190,67,106,11,134,67,98,220,88,191,67,178,225,133,67,60,189,191,67,110,224,133,67,100,9,192,67,222,7,134,67,98,140,211,192,67,106,112,134,67,44,36,193,67,202,143,135,67,204,38,193,67,102,1,138,67,98,220,40, +193,67,110,252,139,67,44,248,192,67,110,249,140,67,108,83,192,67,46,75,142,67,98,228,195,191,67,94,113,143,67,244,224,190,67,174,61,144,67,36,152,189,67,190,192,144,67,98,164,136,187,67,254,146,145,67,76,126,185,67,74,240,145,67,164,189,181,67,210,39, +146,67,98,172,125,180,67,82,58,146,67,76,181,174,67,134,63,146,67,196,161,173,67,26,47,146,67,99,109,164,235,179,67,98,126,145,67,98,76,71,185,67,226,69,145,67,252,17,188,67,226,205,144,67,252,191,189,67,214,215,143,67,98,92,186,190,67,158,72,143,67, +244,91,191,67,202,170,142,67,36,177,191,67,98,242,141,67,98,172,130,192,67,230,44,140,67,228,172,192,67,58,186,137,67,84,33,192,67,130,112,135,67,98,92,12,192,67,90,24,135,67,236,245,191,67,2,203,134,67,140,239,191,67,158,196,134,67,98,52,233,191,67, +70,190,134,67,164,105,191,67,134,204,134,67,44,212,190,67,62,228,134,67,98,172,173,187,67,126,100,135,67,252,153,184,67,146,155,135,67,244,81,182,67,134,124,135,67,98,68,81,180,67,74,97,135,67,228,159,179,67,86,41,135,67,124,185,178,67,46,90,134,67,98, +228,247,177,67,34,172,133,67,76,220,177,67,226,55,133,67,116,27,178,67,130,192,131,67,98,44,94,178,67,234,51,130,67,76,225,178,67,122,2,129,67,132,135,179,67,146,112,128,67,98,108,39,180,67,76,200,127,67,204,65,180,67,12,191,127,67,124,198,182,67,28, +189,127,67,98,100,92,185,67,4,187,127,67,20,106,186,67,204,132,127,67,236,127,187,67,156,201,126,67,98,60,94,188,67,196,51,126,67,52,68,189,67,244,9,125,67,228,160,189,67,196,7,124,67,98,196,118,190,67,36,180,121,67,164,226,190,67,132,174,117,67,252, +122,190,67,28,230,115,67,98,228,79,190,67,84,40,115,67,52,231,189,67,44,99,114,67,148,152,189,67,180,59,114,67,98,116,124,189,67,140,45,114,67,4,150,188,67,140,76,114,67,132,152,187,67,140,128,114,67,98,204,229,184,67,68,14,115,67,4,124,183,67,228,213, +114,67,52,26,182,67,116,165,113,67,98,60,167,181,67,148,66,113,67,204,133,181,67,228,199,112,67,124,92,181,67,76,237,110,67,98,84,23,181,67,4,211,107,67,244,158,181,67,164,53,104,67,84,175,182,67,204,229,101,67,108,204,37,183,67,100,228,100,67,108,4, +216,184,67,4,172,100,67,98,68,158,188,67,156,46,100,67,228,36,191,67,100,161,99,67,108,127,192,67,36,0,99,67,98,172,228,193,67,228,89,98,67,108,6,195,67,220,35,97,67,236,240,195,67,220,80,95,67,98,212,158,196,67,132,246,93,67,252,18,197,67,156,109,92, +67,204,61,197,67,180,234,90,67,98,20,101,197,67,180,135,89,67,44,150,197,67,164,20,86,67,44,150,197,67,220,180,84,67,98,44,150,197,67,140,125,82,67,92,72,197,67,76,98,80,67,244,199,196,67,76,31,79,67,98,180,161,196,67,28,191,78,67,156,161,196,67,20,191, +78,67,84,153,195,67,196,243,78,67,98,60,30,194,67,92,63,79,67,44,252,187,67,84,51,79,67,172,173,184,67,100,222,78,67,98,12,51,183,67,100,184,78,67,252,33,181,67,4,141,78,67,4,22,180,67,20,126,78,67,98,36,28,177,67,124,83,78,67,108,68,172,67,36,202,78, +67,196,159,169,67,116,126,79,67,98,132,26,169,67,252,161,79,67,148,170,168,67,12,191,79,67,252,166,168,67,12,191,79,67,98,116,163,168,67,12,191,79,67,252,166,168,67,212,244,80,67,220,173,168,67,116,111,82,67,98,140,195,168,67,132,208,86,67,124,126,168, +67,228,154,93,67,60,255,167,67,220,154,99,67,98,12,136,167,67,244,57,105,67,172,135,166,67,12,49,114,67,164,71,165,67,140,238,123,67,98,84,185,163,67,226,6,132,67,220,92,163,67,174,221,133,67,148,13,163,67,74,77,137,67,98,124,222,162,67,162,87,139,67, +76,4,163,67,190,158,140,67,68,147,163,67,194,207,141,67,98,20,44,164,67,250,21,143,67,20,228,164,67,174,171,143,67,132,121,166,67,150,43,144,67,98,68,35,170,67,118,83,145,67,116,57,174,67,110,186,145,67,180,235,179,67,94,126,145,67,99,109,156,226,143, +67,178,133,147,67,98,68,19,148,67,98,54,147,67,132,80,151,67,66,88,146,67,236,82,154,67,222,185,144,67,98,4,96,155,67,38,41,144,67,188,17,156,67,150,167,143,67,44,200,156,67,42,239,142,67,98,116,139,158,67,2,39,141,67,108,134,159,67,90,239,138,67,236, +133,159,67,250,187,136,67,98,236,133,159,67,106,106,135,67,68,90,159,67,38,181,134,67,212,173,158,67,194,52,133,67,98,92,56,158,67,234,46,132,67,252,39,158,67,122,24,132,67,124,150,157,67,18,182,131,67,108,204,46,157,67,234,111,131,67,108,228,185,155, +67,62,44,132,67,98,124,21,154,67,138,0,133,67,156,97,153,67,18,75,133,67,196,12,152,67,14,178,133,67,98,236,52,150,67,170,64,134,67,244,126,148,67,46,132,134,67,84,189,146,67,182,131,134,67,98,252,59,143,67,170,130,134,67,100,21,141,67,158,95,133,67, +156,211,139,67,2,220,130,67,98,76,24,139,67,78,101,129,67,20,196,138,67,180,173,127,67,52,178,138,67,92,5,123,67,98,100,151,138,67,196,10,116,67,196,95,139,67,188,8,108,67,92,200,140,67,116,172,101,67,98,204,181,141,67,84,124,97,67,36,99,142,67,172,255, +95,67,188,129,143,67,36,177,95,67,98,236,6,145,67,124,70,95,67,76,159,145,67,68,225,97,67,204,31,145,67,188,196,102,67,98,68,216,144,67,172,130,105,67,196,30,144,67,28,155,109,67,180,109,143,67,100,90,112,67,98,108,1,143,67,100,8,114,67,116,6,143,67, +164,54,114,67,92,180,143,67,212,229,114,67,98,188,243,146,67,44,43,118,67,196,52,152,67,116,129,118,67,84,65,156,67,4,180,115,67,98,84,229,159,67,244,46,113,67,204,120,162,67,28,126,107,67,132,52,163,67,140,89,100,67,98,164,169,163,67,116,228,95,67,76, +87,163,67,60,167,91,67,196,70,162,67,244,28,88,67,98,132,43,161,67,4,111,84,67,140,54,159,67,212,217,80,67,68,55,157,67,4,217,78,67,98,244,84,154,67,116,244,75,67,204,122,150,67,84,85,74,67,4,94,146,67,220,71,74,67,98,4,32,145,67,180,67,74,67,36,220, +141,67,196,139,74,67,100,191,141,67,180,173,74,67,98,148,183,141,67,212,182,74,67,204,62,141,67,4,222,74,67,252,178,140,67,148,4,75,67,98,220,2,137,67,28,9,76,67,204,36,133,67,148,197,78,67,12,39,130,67,220,122,82,67,98,232,110,122,67,76,153,88,67,136, +81,115,67,164,23,99,67,72,246,111,67,220,123,112,67,98,104,153,110,67,196,235,117,67,120,58,110,67,100,101,121,67,168,60,110,67,2,83,128,67,98,184,62,110,67,66,207,130,67,40,69,110,67,162,12,131,67,152,174,110,67,94,59,132,67,98,8,85,111,67,2,25,134, +67,8,223,111,67,50,44,135,67,200,164,112,67,198,36,136,67,98,56,141,114,67,158,138,138,67,184,77,117,67,142,168,140,67,184,175,120,67,158,84,142,67,98,248,52,126,67,46,15,145,67,124,255,130,67,106,190,146,67,244,37,136,67,202,111,147,67,98,84,101,138, +67,50,189,147,67,4,159,140,67,130,195,147,67,140,226,143,67,186,133,147,67,99,109,220,180,139,67,242,46,146,67,98,44,202,136,67,186,24,146,67,28,180,133,67,14,154,145,67,68,67,131,67,94,212,144,67,98,40,240,127,67,154,201,143,67,24,193,121,67,170,80, +141,67,56,249,117,67,82,54,138,67,98,200,32,115,67,110,224,135,67,104,212,113,67,210,147,133,67,8,71,113,67,118,229,129,67,98,248,94,112,67,220,180,119,67,72,177,115,67,236,16,106,67,168,194,121,67,12,245,96,67,98,232,230,123,67,244,189,93,67,248,146, +127,67,164,184,89,67,4,53,129,67,92,123,87,67,98,204,123,130,67,4,120,85,67,28,137,132,67,132,18,83,67,52,52,134,67,108,165,81,67,98,132,86,139,67,244,65,77,67,204,66,146,67,116,15,76,67,20,51,152,67,196,136,78,67,98,180,79,155,67,164,212,79,67,20,162, +157,67,92,58,82,67,156,156,159,67,52,48,86,67,98,124,131,160,67,76,254,87,67,196,179,160,67,196,119,88,67,4,9,161,67,12,197,89,67,98,20,63,161,67,84,152,90,67,52,127,161,67,36,214,91,67,124,151,161,67,76,135,92,67,98,180,239,161,67,100,10,95,67,36,240, +161,67,60,97,98,67,156,152,161,67,252,2,101,67,98,92,97,161,67,36,172,102,67,52,188,160,67,100,86,105,67,236,59,160,67,108,163,106,67,98,220,124,159,67,92,147,108,67,124,19,158,67,20,193,110,67,132,192,156,67,12,3,112,67,98,132,63,154,67,244,99,114,67, +132,12,151,67,20,52,115,67,44,251,147,67,156,61,114,67,98,172,134,147,67,12,25,114,67,60,213,146,67,180,227,113,67,228,112,146,67,4,199,113,67,98,132,4,145,67,244,94,113,67,44,245,144,67,108,221,112,67,68,213,145,67,28,164,108,67,98,244,90,146,67,228, +30,106,67,228,181,146,67,36,1,103,67,100,194,146,67,228,131,100,67,98,212,202,146,67,76,214,98,67,108,197,146,67,140,32,98,67,4,170,146,67,204,73,97,67,98,244,102,146,67,44,60,95,67,20,200,145,67,116,177,93,67,244,224,144,67,4,218,92,67,98,180,131,144, +67,20,131,92,67,20,77,144,67,244,109,92,67,156,205,143,67,108,111,92,67,98,44,18,143,67,132,113,92,67,92,147,142,67,52,200,92,67,236,216,141,67,108,197,93,67,98,196,226,140,67,196,19,95,67,204,63,140,67,28,201,96,67,36,135,139,67,188,254,99,67,98,132, +177,137,67,148,40,108,67,92,227,136,67,60,126,117,67,196,69,137,67,60,35,126,67,98,52,132,137,67,94,207,129,67,4,104,138,67,34,249,131,67,36,242,139,67,26,145,133,67,98,44,60,141,67,178,230,134,67,44,72,142,67,246,108,135,67,148,117,144,67,250,211,135, +67,98,236,181,145,67,46,15,136,67,44,8,148,67,42,19,136,67,148,98,149,67,102,220,135,67,98,84,55,151,67,90,146,135,67,188,92,153,67,82,235,134,67,228,73,155,67,238,16,134,67,98,212,151,156,67,14,125,133,67,244,230,156,67,142,115,133,67,44,71,157,67,198, +211,133,67,98,116,247,157,67,14,132,134,67,220,52,158,67,222,124,136,67,140,208,157,67,194,60,138,67,98,116,19,157,67,202,136,141,67,52,236,153,67,194,254,143,67,156,226,148,67,162,52,145,67,98,52,254,145,67,142,230,145,67,212,139,142,67,134,68,146,67, +236,180,139,67,230,46,146,67,99,109,156,173,143,67,154,83,145,67,98,148,112,147,67,106,3,145,67,212,113,150,67,174,54,144,67,212,83,153,67,38,194,142,67,98,20,186,154,67,74,13,142,67,28,247,155,67,234,194,140,67,44,170,156,67,206,71,139,67,98,20,28,157, +67,162,86,138,67,84,62,157,67,234,186,137,67,204,62,157,67,218,163,136,67,98,204,62,157,67,30,176,135,67,180,51,157,67,130,116,135,67,4,220,156,67,90,164,134,67,108,140,178,156,67,230,65,134,67,108,28,219,155,67,186,166,134,67,98,124,230,152,67,222,8, +136,67,4,235,148,67,118,232,136,67,28,35,146,67,110,200,136,67,98,60,76,143,67,178,167,136,67,204,239,140,67,62,180,135,67,252,83,139,67,74,10,134,67,98,172,174,138,67,82,95,133,67,108,112,138,67,118,4,133,67,28,234,137,67,246,249,131,67,98,148,209,136, +67,138,205,129,67,36,96,136,67,4,247,126,67,100,119,136,67,172,201,120,67,98,4,137,136,67,12,28,116,67,212,186,136,67,100,103,113,67,140,99,137,67,84,246,107,67,98,4,212,137,67,220,85,104,67,156,69,138,67,244,175,101,67,212,210,138,67,60,102,99,67,98, +68,161,139,67,84,14,96,67,116,221,140,67,196,243,92,67,28,201,141,67,236,244,91,67,98,180,252,142,67,52,168,90,67,68,147,144,67,124,177,90,67,236,186,145,67,12,12,92,67,98,212,235,146,67,100,113,93,67,164,155,147,67,108,229,96,67,28,127,147,67,172,237, +100,67,98,92,108,147,67,4,147,103,67,36,34,147,67,236,232,105,67,84,100,146,67,196,210,109,67,98,68,46,146,67,20,240,110,67,4,7,146,67,116,227,111,67,28,13,146,67,148,239,111,67,98,20,39,146,67,148,35,112,67,116,35,148,67,188,217,112,67,228,23,149,67, +156,6,113,67,98,60,154,151,67,156,124,113,67,92,252,153,67,44,192,112,67,84,82,156,67,28,203,110,67,98,220,102,157,67,108,227,109,67,244,0,158,67,36,31,109,67,244,185,158,67,44,187,107,67,98,76,15,160,67,60,42,105,67,76,226,160,67,188,212,101,67,76,25, +161,67,180,34,98,67,98,188,88,161,67,76,223,93,67,4,180,160,67,76,94,90,67,140,18,159,67,228,25,87,67,98,84,179,156,67,84,89,82,67,140,88,153,67,124,195,79,67,60,122,148,67,116,239,78,67,98,4,11,145,67,220,89,78,67,164,252,140,67,148,10,79,67,68,216, +137,67,164,190,80,67,98,172,133,131,67,44,44,84,67,152,85,126,67,244,246,90,67,168,185,120,67,172,197,101,67,98,24,120,117,67,164,11,108,67,88,181,115,67,100,23,114,67,232,229,114,67,220,199,121,67,98,24,160,114,67,52,94,124,67,184,158,114,67,146,45, +130,67,168,227,114,67,202,45,131,67,98,184,182,115,67,218,61,134,67,248,56,117,67,58,89,136,67,120,36,120,67,158,131,138,67,98,88,208,121,67,242,192,139,67,168,253,122,67,182,112,140,67,232,196,124,67,114,54,141,67,98,12,233,128,67,30,104,143,67,172, +135,132,67,126,206,144,67,164,228,136,67,210,70,145,67,98,52,46,138,67,86,106,145,67,148,64,142,67,254,113,145,67,156,173,143,67,154,83,145,67,99,109,172,241,204,67,66,151,144,67,98,28,225,204,67,238,248,143,67,20,222,204,67,166,22,143,67,140,232,204, +67,138,233,141,67,98,188,3,205,67,174,215,138,67,52,4,205,67,22,231,138,67,100,207,204,67,82,178,138,67,98,180,176,204,67,166,147,138,67,236,136,204,67,134,132,138,67,228,90,204,67,14,134,138,67,98,124,52,204,67,74,135,138,67,132,166,203,67,90,139,138, +67,116,31,203,67,254,142,138,67,108,236,41,202,67,166,149,138,67,108,132,227,200,67,70,57,139,67,98,188,1,200,67,126,170,139,67,84,123,199,67,34,225,139,67,100,47,199,67,150,234,139,67,108,172,193,198,67,58,248,139,67,108,36,169,198,67,66,143,140,67, +98,84,146,198,67,138,27,141,67,132,60,198,67,218,168,142,67,156,30,198,67,110,16,143,67,98,68,18,198,67,38,59,143,67,148,67,198,67,110,78,143,67,196,135,201,67,190,101,144,67,98,44,111,203,67,142,8,145,67,204,0,205,67,122,139,145,67,60,4,205,67,174,136, +145,67,98,172,7,205,67,222,133,145,67,84,255,204,67,62,25,145,67,188,241,204,67,66,151,144,67,99,109,188,34,227,67,202,82,145,67,98,132,207,227,67,162,250,144,67,180,248,227,67,134,254,143,67,100,147,227,67,170,160,142,67,98,212,63,227,67,250,127,141, +67,204,23,227,67,194,68,141,67,4,140,226,67,246,26,141,67,98,20,86,225,67,74,190,140,67,156,106,224,67,98,7,140,67,116,49,224,67,226,70,139,67,98,36,14,224,67,254,207,138,67,76,33,224,67,154,43,138,67,20,93,224,67,94,208,137,67,98,212,151,224,67,178, +118,137,67,196,138,224,67,10,29,137,67,52,47,224,67,174,149,136,67,98,60,1,224,67,194,81,136,67,212,199,223,67,6,244,135,67,172,175,223,67,110,197,135,67,98,52,75,223,67,158,3,135,67,228,157,222,67,70,226,134,67,124,92,221,67,234,82,135,67,98,164,245, +220,67,250,118,135,67,44,73,220,67,42,175,135,67,60,221,219,67,198,207,135,67,98,12,2,219,67,14,18,136,67,132,182,218,67,90,59,136,67,68,155,218,67,230,127,136,67,98,28,145,218,67,126,153,136,67,108,45,218,67,234,132,137,67,204,189,217,67,14,139,138, +67,98,44,78,217,67,50,145,139,67,212,242,216,67,238,114,140,67,220,242,216,67,182,128,140,67,98,220,242,216,67,62,151,140,67,28,156,218,67,130,203,141,67,12,68,220,67,82,232,142,67,98,204,69,223,67,118,237,144,67,204,4,226,67,170,228,145,67,196,34,227, +67,198,82,145,67,99,109,116,176,215,67,54,47,139,67,98,100,188,215,67,166,32,139,67,4,209,215,67,30,236,138,67,68,222,215,67,118,186,138,67,98,140,235,215,67,210,136,138,67,36,28,216,67,42,18,138,67,68,74,216,67,202,178,137,67,98,84,168,216,67,74,240, +136,67,12,175,216,67,54,206,136,67,116,119,216,67,54,206,136,67,98,108,38,216,67,54,206,136,67,36,84,214,67,194,62,137,67,204,10,214,67,6,100,137,67,98,108,118,213,67,98,175,137,67,116,141,213,67,214,226,137,67,100,160,214,67,158,178,138,67,98,28,111, +215,67,214,78,139,67,196,139,215,67,246,91,139,67,116,176,215,67,54,47,139,67,99,109,48,133,180,66,198,223,138,67,98,112,117,181,66,146,49,138,67,16,138,181,66,206,63,138,67,144,114,179,66,70,34,138,67,98,176,189,172,66,170,195,137,67,208,188,165,66, +10,197,136,67,144,121,161,66,218,148,135,67,98,176,218,157,66,134,146,134,67,240,170,154,66,26,28,133,67,80,105,153,66,110,225,131,67,98,112,141,151,66,226,15,130,67,144,113,152,66,164,152,127,67,240,174,155,66,164,54,124,67,98,48,33,159,66,132,157,120, +67,176,90,165,66,252,136,117,67,176,91,172,66,76,246,115,67,98,16,163,180,66,76,26,114,67,144,88,190,66,132,240,113,67,48,200,198,66,132,132,115,67,98,80,198,199,66,20,180,115,67,240,159,200,66,84,212,115,67,176,171,200,66,60,204,115,67,98,80,183,200, +66,36,196,115,67,240,238,200,66,12,86,115,67,240,38,201,66,148,215,114,67,98,112,159,201,66,132,199,113,67,112,185,201,66,76,213,113,67,208,46,198,66,52,68,113,67,98,176,85,180,66,252,104,110,67,240,227,160,66,108,132,114,67,176,100,152,66,100,240,122, +67,98,176,17,145,66,82,25,129,67,16,174,147,66,158,109,133,67,16,248,158,66,142,95,136,67,98,208,32,164,66,30,184,137,67,240,207,169,66,98,143,138,67,208,10,177,66,14,12,139,67,98,208,57,178,66,118,32,139,67,16,103,179,66,134,47,139,67,48,168,179,66, +134,45,139,67,98,144,233,179,66,142,43,139,67,240,76,180,66,142,8,139,67,48,133,180,66,198,223,138,67,99,109,196,222,203,67,62,47,137,67,98,36,239,204,67,6,22,137,67,220,20,205,67,190,13,137,67,252,54,205,67,158,227,136,67,98,12,76,205,67,154,201,136, +67,156,93,205,67,106,150,136,67,12,94,205,67,214,113,136,67,98,12,94,205,67,66,77,136,67,180,135,205,67,82,115,135,67,188,185,205,67,138,141,134,67,108,172,20,206,67,198,235,132,67,108,60,10,205,67,18,166,131,67,98,172,119,204,67,238,242,130,67,220,197, +203,67,94,31,130,67,28,127,203,67,242,207,129,67,108,116,254,202,67,130,63,129,67,108,76,66,202,67,178,110,129,67,98,60,60,201,67,106,176,129,67,108,40,200,67,194,26,130,67,172,173,198,67,18,208,130,67,108,140,105,197,67,62,107,131,67,108,140,139,197, +67,242,172,131,67,98,4,240,197,67,54,111,132,67,132,111,198,67,254,12,134,67,60,181,198,67,234,114,135,67,98,12,189,198,67,230,154,135,67,236,200,198,67,110,158,135,67,156,40,199,67,62,149,135,67,98,92,223,199,67,174,131,135,67,124,116,200,67,214,213, +135,67,76,235,200,67,130,141,136,67,98,76,52,201,67,90,254,136,67,164,200,201,67,230,70,137,67,76,109,202,67,62,74,137,67,98,60,144,202,67,74,75,137,67,132,54,203,67,206,62,137,67,196,222,203,67,58,47,137,67,99,109,44,183,208,67,94,162,136,67,98,4,32, +209,67,202,135,136,67,20,122,209,67,162,110,136,67,76,127,209,67,130,106,136,67,98,140,142,209,67,94,94,136,67,180,7,208,67,170,221,134,67,172,194,207,67,234,180,134,67,108,228,131,207,67,206,143,134,67,108,244,108,207,67,74,203,134,67,98,180,56,207, +67,158,82,135,67,100,21,207,67,150,15,136,67,228,34,207,67,130,87,136,67,98,124,51,207,67,238,175,136,67,44,121,207,67,122,233,136,67,148,195,207,67,42,220,136,67,98,180,224,207,67,246,214,136,67,84,78,208,67,238,188,136,67,44,183,208,67,90,162,136,67, +99,109,176,232,183,66,18,49,136,67,98,80,81,184,66,218,218,135,67,80,190,184,66,42,133,135,67,176,218,184,66,158,114,135,67,98,144,2,185,66,162,88,135,67,144,214,184,66,238,80,135,67,144,26,184,66,238,80,135,67,98,16,126,182,66,238,80,135,67,144,84,178, +66,74,253,134,67,144,227,175,66,214,171,134,67,98,16,87,171,66,22,20,134,67,208,210,166,66,46,181,132,67,176,70,165,66,66,115,131,67,98,16,225,163,66,158,80,130,67,240,8,164,66,246,227,128,67,240,172,165,66,20,154,127,67,98,240,32,168,66,228,87,124,67, +48,11,174,66,84,174,121,67,144,3,181,66,172,178,120,67,98,176,134,185,66,196,15,120,67,144,200,191,66,36,90,120,67,80,250,195,66,140,100,121,67,108,176,137,197,66,156,199,121,67,108,144,231,197,66,180,19,121,67,98,48,27,198,66,188,176,120,67,240,123, +198,66,236,1,120,67,80,190,198,66,76,143,119,67,98,208,0,199,66,164,28,119,67,176,43,199,66,28,185,118,67,144,29,199,66,20,178,118,67,98,112,15,199,66,4,171,118,67,240,11,198,66,164,118,118,67,176,220,196,66,148,61,118,67,98,176,193,188,66,20,183,116, +67,48,162,179,66,252,21,117,67,144,58,172,66,220,61,119,67,98,112,178,168,66,20,69,120,67,80,23,164,66,164,146,122,67,240,8,162,66,188,86,124,67,98,16,121,155,66,154,252,128,67,48,109,157,66,234,152,132,67,16,186,166,66,142,215,134,67,98,80,91,170,66, +214,183,135,67,112,71,175,66,14,106,136,67,240,194,179,66,134,175,136,67,98,176,13,183,66,134,226,136,67,176,17,183,66,10,226,136,67,176,232,183,66,18,49,136,67,99,109,132,163,213,67,142,176,135,67,98,36,53,214,67,98,149,135,67,60,234,214,67,138,121, +135,67,252,53,215,67,166,114,135,67,98,180,78,216,67,30,89,135,67,188,89,217,67,18,144,134,67,108,224,217,67,218,112,133,67,98,236,36,218,67,186,222,132,67,212,109,218,67,94,171,131,67,188,126,218,67,102,213,130,67,98,20,146,218,67,66,224,129,67,228, +47,218,67,250,69,129,67,20,172,216,67,36,240,127,67,98,92,54,216,67,116,37,127,67,164,175,215,67,108,44,126,67,188,128,215,67,180,198,125,67,98,116,220,214,67,196,98,124,67,44,95,214,67,20,75,124,67,172,106,212,67,76,49,125,67,98,100,179,211,67,148,133, +125,67,188,214,210,67,220,227,125,67,76,128,210,67,204,2,126,67,98,252,34,210,67,60,36,126,67,60,212,209,67,28,90,126,67,108,190,209,67,132,135,126,67,98,44,170,209,67,140,177,126,67,76,60,209,67,174,138,128,67,44,202,208,67,146,235,129,67,108,180,250, +207,67,42,109,132,67,108,188,44,209,67,190,161,133,67,98,20,213,209,67,118,75,134,67,20,171,210,67,138,24,135,67,68,8,211,67,118,105,135,67,108,188,177,211,67,150,252,135,67,108,60,38,212,67,66,239,135,67,98,84,102,212,67,226,231,135,67,228,17,213,67, +182,203,135,67,132,163,213,67,138,176,135,67,99,109,124,114,212,67,250,10,133,67,98,252,216,211,67,222,203,132,67,36,114,211,67,14,109,132,67,60,48,211,67,218,225,131,67,98,156,217,210,67,234,42,131,67,228,252,210,67,114,105,130,67,76,148,211,67,118, +189,129,67,98,68,124,212,67,234,181,128,67,204,248,213,67,182,165,128,67,164,253,214,67,74,152,129,67,98,36,211,215,67,210,94,130,67,156,203,215,67,254,190,131,67,4,237,214,67,34,163,132,67,98,12,73,214,67,54,75,133,67,52,104,213,67,254,111,133,67,124, +114,212,67,246,10,133,67,99,109,16,104,187,66,58,107,133,67,98,208,19,188,66,66,224,132,67,48,160,188,66,126,107,132,67,16,160,188,66,190,103,132,67,98,240,159,188,66,2,100,132,67,240,157,187,66,66,96,132,67,144,98,186,66,110,95,132,67,98,48,69,177,66, +78,89,132,67,144,187,172,66,242,135,129,67,80,52,179,66,148,211,127,67,98,144,192,182,66,124,13,126,67,144,98,188,66,156,205,125,67,240,157,192,66,132,59,127,67,108,80,22,194,66,172,186,127,67,108,48,160,194,66,100,221,126,67,98,240,235,194,66,180,99, +126,67,80,120,195,66,132,117,125,67,208,215,195,66,36,204,124,67,108,176,133,196,66,44,152,123,67,108,112,229,194,66,188,46,123,67,98,112,78,191,66,212,69,122,67,48,254,185,66,140,2,122,67,144,227,181,66,4,138,122,67,98,176,250,176,66,4,44,123,67,144, +54,172,66,188,30,125,67,144,250,169,66,60,104,127,67,98,208,91,167,66,106,11,129,67,240,111,167,66,14,165,130,67,48,48,170,66,6,247,131,67,98,144,218,172,66,106,62,133,67,16,190,179,66,78,96,134,67,144,1,185,66,134,102,134,67,108,144,47,186,66,222,103, +134,67,108,240,103,187,66,46,107,133,67,99,109,12,60,220,67,246,22,134,67,98,204,115,220,67,186,1,134,67,44,177,220,67,242,243,133,67,108,196,220,67,86,248,133,67,98,180,215,220,67,178,252,133,67,188,9,221,67,254,241,133,67,164,51,221,67,118,224,133, +67,98,52,118,221,67,170,196,133,67,220,127,221,67,98,183,133,67,220,127,221,67,202,119,133,67,98,220,127,221,67,22,18,133,67,164,13,221,67,98,110,132,67,116,154,220,67,6,47,132,67,98,100,103,220,67,238,18,132,67,4,55,220,67,186,4,132,67,84,45,220,67, +246,14,132,67,98,100,20,220,67,102,41,132,67,84,110,219,67,90,218,133,67,84,110,219,67,242,0,134,67,98,84,110,219,67,66,73,134,67,196,167,219,67,106,79,134,67,12,60,220,67,242,22,134,67,99,109,180,130,224,67,70,172,132,67,98,148,178,224,67,166,149,132, +67,36,157,225,67,238,48,132,67,252,139,226,67,118,204,131,67,98,100,93,229,67,14,157,130,67,20,184,230,67,106,208,129,67,180,240,231,67,146,157,128,67,98,36,129,232,67,198,15,128,67,156,173,232,67,140,171,127,67,12,192,232,67,28,30,127,67,98,140,252, +232,67,188,77,125,67,4,85,232,67,188,227,123,67,172,211,230,67,60,246,122,67,98,188,155,229,67,4,54,122,67,212,162,226,67,172,221,121,67,148,166,223,67,252,32,122,67,98,36,137,222,67,36,58,122,67,180,157,221,67,108,82,122,67,84,155,221,67,244,86,122, +67,98,196,150,221,67,172,95,122,67,148,52,221,67,68,75,126,67,204,237,220,67,234,161,128,67,108,140,195,220,67,26,133,129,67,108,28,141,221,67,122,179,130,67,98,100,175,222,67,238,102,132,67,220,36,223,67,234,211,132,67,60,217,223,67,246,212,132,67,98, +140,6,224,67,246,212,132,67,204,82,224,67,234,194,132,67,180,130,224,67,70,172,132,67,99,109,112,88,189,66,18,194,131,67,98,176,129,189,66,154,176,131,67,176,131,190,66,106,232,130,67,176,149,191,66,62,5,130,67,108,208,135,193,66,46,104,128,67,108,240, +184,192,66,86,49,128,67,98,176,162,189,66,180,191,126,67,240,154,183,66,236,201,126,67,112,101,180,66,198,59,128,67,98,176,95,176,66,18,73,129,67,48,107,177,66,166,10,131,67,144,115,182,66,70,176,131,67,98,48,210,184,66,66,254,131,67,176,178,188,66,70, +8,132,67,144,88,189,66,18,194,131,67,99,109,52,185,206,67,114,141,130,67,98,124,203,206,67,38,123,130,67,204,222,206,67,102,87,130,67,28,228,206,67,254,61,130,67,98,68,28,207,67,6,49,129,67,220,52,207,67,30,211,128,67,76,89,207,67,22,126,128,67,98,44, +131,207,67,114,28,128,67,204,144,207,67,156,146,127,67,236,118,207,67,156,146,127,67,98,188,111,207,67,156,146,127,67,156,237,206,67,52,207,127,67,196,85,206,67,162,12,128,67,98,164,37,205,67,198,86,128,67,212,205,204,67,226,135,128,67,172,231,204,67, +78,217,128,67,98,252,7,205,67,42,63,129,67,84,76,206,67,178,174,130,67,228,133,206,67,178,174,130,67,98,196,143,206,67,178,174,130,67,228,166,206,67,186,159,130,67,52,185,206,67,114,141,130,67,99,109,244,239,200,67,134,71,128,67,98,196,123,201,67,22, +11,128,67,252,240,201,67,52,174,127,67,108,244,201,67,12,168,127,67,98,220,247,201,67,212,161,127,67,116,170,201,67,124,167,126,67,108,72,201,67,148,123,125,67,98,76,13,200,67,188,183,121,67,108,72,199,67,132,214,118,67,156,176,198,67,28,198,115,67,98, +228,65,198,67,212,137,113,67,156,213,197,67,20,102,110,67,156,213,197,67,84,108,109,67,108,156,213,197,67,172,141,108,67,108,116,42,197,67,52,51,109,67,98,84,204,196,67,52,142,109,67,148,116,196,67,220,223,109,67,108,103,196,67,156,232,109,67,98,204, +86,196,67,164,243,109,67,68,93,196,67,156,94,110,67,132,124,196,67,140,72,111,67,98,164,205,196,67,172,166,113,67,20,225,196,67,164,252,114,67,140,225,196,67,252,56,118,67,98,140,225,196,67,12,225,120,67,116,218,196,67,212,163,121,67,180,177,196,67,156, +32,123,67,98,76,124,196,67,12,19,125,67,148,37,196,67,60,14,127,67,220,194,195,67,170,74,128,67,108,44,130,195,67,218,202,128,67,108,172,214,195,67,134,38,129,67,98,36,5,196,67,242,88,129,67,100,77,196,67,222,177,129,67,68,119,196,67,34,236,129,67,108, +92,195,196,67,14,86,130,67,108,140,90,198,67,190,133,129,67,98,132,58,199,67,42,19,129,67,28,100,200,67,250,131,128,67,236,239,200,67,134,71,128,67,99,109,80,44,135,66,54,51,128,67,98,48,176,141,66,108,235,127,67,176,44,141,66,94,2,128,67,112,102,141, +66,244,51,127,67,98,48,245,141,66,244,48,125,67,112,187,144,66,60,151,121,67,240,92,147,66,180,118,119,67,98,176,51,150,66,28,43,117,67,144,100,155,66,12,84,114,67,16,13,159,66,140,17,113,67,98,80,14,160,66,244,184,112,67,16,193,160,66,228,107,112,67, +80,154,160,66,52,102,112,67,98,240,11,160,66,100,81,112,67,128,5,122,66,228,171,110,67,64,218,121,66,252,184,110,67,98,160,186,121,66,148,194,110,67,80,224,128,66,62,62,128,67,16,8,129,66,222,109,128,67,98,48,12,129,66,254,112,128,67,144,98,129,66,230, +110,128,67,112,203,129,66,74,105,128,67,98,80,52,130,66,146,99,128,67,240,159,132,66,78,75,128,67,80,44,135,66,62,51,128,67,99,109,132,107,219,67,12,132,127,67,98,132,120,219,67,188,100,127,67,92,140,219,67,132,218,126,67,164,151,219,67,228,80,126,67, +98,236,162,219,67,68,199,125,67,36,184,219,67,116,240,124,67,220,198,219,67,124,115,124,67,98,60,225,219,67,252,146,123,67,220,224,219,67,36,143,123,67,188,166,219,67,44,43,123,67,98,196,98,219,67,52,182,122,67,228,45,219,67,180,174,122,67,84,136,218, +67,132,2,123,67,98,148,70,218,67,212,35,123,67,52,217,217,67,84,76,123,67,76,149,217,67,140,92,123,67,98,92,81,217,67,196,108,123,67,92,21,217,67,52,145,123,67,244,15,217,67,132,173,123,67,98,220,5,217,67,4,226,123,67,84,88,218,67,188,176,126,67,140, +204,218,67,156,93,127,67,98,116,21,219,67,28,202,127,67,68,73,219,67,156,214,127,67,132,107,219,67,4,132,127,67,99,109,108,36,206,67,108,240,124,67,108,20,73,208,67,164,166,123,67,108,28,235,208,67,228,133,120,67,98,60,68,209,67,124,205,118,67,36,158, +209,67,4,37,117,67,228,178,209,67,180,214,116,67,108,164,216,209,67,68,72,116,67,108,84,8,209,67,124,178,114,67,108,4,56,208,67,172,28,113,67,108,196,133,206,67,132,24,113,67,98,92,234,204,67,140,20,113,67,148,201,204,67,28,14,113,67,172,21,204,67,12, +159,112,67,98,212,53,202,67,156,118,111,67,60,2,201,67,92,95,109,67,12,130,200,67,172,101,106,67,98,140,104,200,67,36,206,105,67,148,73,200,67,116,75,105,67,60,61,200,67,60,67,105,67,98,228,48,200,67,236,58,105,67,180,221,199,67,228,169,105,67,100,132, +199,67,148,57,106,67,98,12,43,199,67,76,201,106,67,180,203,198,67,12,92,107,67,124,176,198,67,180,127,107,67,98,36,112,198,67,12,212,107,67,132,110,198,67,148,191,108,67,156,171,198,67,140,77,110,67,98,28,45,199,67,36,153,113,67,252,39,201,67,196,110, +120,67,148,241,202,67,204,13,125,67,98,148,114,203,67,84,91,126,67,148,124,203,67,100,107,126,67,116,188,203,67,108,83,126,67,98,100,225,203,67,124,69,126,67,140,246,204,67,212,165,125,67,84,36,206,67,108,240,124,67,99,109,32,43,112,66,140,16,116,67, +98,32,99,108,66,244,102,110,67,0,12,107,66,236,7,108,67,64,125,107,66,196,201,107,67,98,192,222,107,66,84,148,107,67,160,251,117,66,204,11,106,67,144,213,130,66,180,209,103,67,98,224,220,137,66,212,210,101,67,16,157,143,66,140,38,100,67,16,157,143,66, +20,26,100,67,98,16,157,143,66,148,13,100,67,192,112,137,66,100,159,99,67,64,229,129,66,44,37,99,67,98,128,179,116,66,252,170,98,67,64,229,103,66,180,59,98,67,128,85,103,66,236,45,98,67,98,192,197,102,66,44,32,98,67,96,10,102,66,84,207,97,67,224,180,101, +66,84,122,97,67,98,96,95,101,66,92,37,97,67,96,219,99,66,252,152,93,67,128,86,98,66,196,151,89,67,98,192,209,96,66,140,150,85,67,96,110,95,66,28,51,82,67,224,64,95,66,44,16,82,67,98,32,19,95,66,52,237,81,67,128,230,89,66,76,241,84,67,128,192,83,66,244, +195,88,67,98,96,154,77,66,148,150,92,67,192,16,72,66,60,245,95,67,192,113,71,66,244,64,96,67,98,64,132,70,66,44,178,96,67,192,236,69,66,164,202,96,67,32,30,68,66,164,202,96,67,98,192,232,66,66,164,202,96,67,96,254,54,66,28,88,96,67,160,163,41,66,28,204, +95,67,98,224,72,28,66,28,64,95,67,224,68,17,66,60,211,94,67,64,41,17,66,52,218,94,67,98,32,13,17,66,68,225,94,67,0,116,21,66,164,32,96,67,224,240,26,66,44,160,97,67,98,128,147,50,66,28,20,104,67,96,163,54,66,188,61,105,67,96,163,54,66,164,141,105,67, +98,96,163,54,66,148,187,105,67,160,144,48,66,236,253,108,67,128,36,41,66,188,203,112,67,98,96,184,33,66,132,153,116,67,96,188,27,66,124,188,119,67,0,216,27,66,28,196,119,67,98,96,243,27,66,204,203,119,67,64,166,38,66,132,35,118,67,192,157,51,66,124,21, +116,67,98,32,253,65,66,92,206,113,67,224,212,75,66,4,89,112,67,128,212,76,66,4,89,112,67,98,32,187,77,66,4,89,112,67,96,253,78,66,4,123,112,67,96,160,79,66,140,164,112,67,98,160,67,80,66,28,206,112,67,64,244,88,66,188,114,115,67,128,240,98,66,44,132, +118,67,98,160,236,108,66,164,149,121,67,128,45,117,66,228,18,124,67,0,72,117,66,68,12,124,67,98,128,98,117,66,156,5,124,67,128,21,115,66,4,110,120,67,64,43,112,66,148,16,116,67,99,109,96,222,98,66,172,79,123,67,98,160,95,92,66,204,103,121,67,224,247, +74,66,28,124,116,67,192,184,74,66,28,124,116,67,98,192,61,74,66,28,124,116,67,224,151,28,66,92,243,122,67,96,220,27,66,84,31,123,67,98,160,125,27,66,148,53,123,67,160,227,30,66,140,71,123,67,160,34,36,66,20,75,123,67,98,64,8,41,66,100,78,123,67,96,211, +53,66,196,93,123,67,224,144,64,66,92,109,123,67,98,192,106,101,66,212,162,123,67,224,253,99,66,20,164,123,67,32,222,98,66,172,79,123,67,99,109,20,109,211,67,236,70,122,67,98,92,175,211,67,76,24,122,67,4,2,212,67,44,242,121,67,172,36,212,67,44,242,121, +67,98,100,111,212,67,44,242,121,67,164,206,212,67,220,162,121,67,52,210,212,67,180,97,121,67,98,140,211,212,67,76,72,121,67,60,211,212,67,236,22,121,67,188,208,212,67,244,243,120,67,98,68,204,212,67,100,171,120,67,252,175,211,67,132,120,118,67,204,143, +211,67,132,120,118,67,98,44,46,211,67,132,120,118,67,28,193,210,67,20,143,119,67,220,146,210,67,100,254,120,67,98,36,125,210,67,204,170,121,67,124,126,210,67,156,214,121,67,84,156,210,67,140,49,122,67,98,68,198,210,67,148,177,122,67,100,211,210,67,236, +178,122,67,12,109,211,67,236,70,122,67,99,109,44,29,217,67,140,75,120,67,98,196,69,219,67,36,199,119,67,100,128,219,67,196,175,119,67,228,205,219,67,140,57,119,67,98,76,120,220,67,156,53,118,67,156,151,220,67,108,158,116,67,84,157,220,67,100,176,108, +67,98,68,161,220,67,124,59,103,67,100,159,220,67,220,240,102,67,84,113,220,67,180,159,101,67,98,124,65,220,67,220,65,100,67,156,239,219,67,116,245,98,67,92,144,219,67,100,14,98,67,98,20,107,219,67,236,179,97,67,124,70,219,67,228,143,97,67,220,255,218, +67,244,127,97,67,108,76,161,218,67,164,106,97,67,108,12,36,218,67,220,204,98,67,98,92,174,217,67,204,25,100,67,164,166,217,67,188,62,100,67,116,163,217,67,20,50,101,67,98,68,161,217,67,108,216,101,67,124,144,217,67,20,114,102,67,132,116,217,67,196,223, +102,67,98,108,37,217,67,228,21,104,67,132,75,216,67,204,63,105,67,60,128,215,67,188,139,105,67,98,60,63,215,67,12,164,105,67,36,243,214,67,44,252,105,67,180,120,214,67,228,188,106,67,98,156,229,213,67,140,164,107,67,76,179,213,67,228,24,108,67,172,30, +213,67,124,221,109,67,98,12,45,212,67,116,189,112,67,132,2,212,67,188,203,113,67,244,72,212,67,204,43,115,67,98,196,100,212,67,228,182,115,67,52,182,212,67,132,87,116,67,188,224,213,67,252,79,118,67,98,236,235,214,67,140,19,120,67,188,97,215,67,140,193, +120,67,20,128,215,67,92,181,120,67,98,100,151,215,67,252,171,120,67,68,81,216,67,92,124,120,67,36,29,217,67,132,75,120,67,99,109,76,184,210,67,252,75,112,67,98,204,230,210,67,76,24,112,67,156,88,211,67,92,4,111,67,204,74,211,67,188,232,110,67,98,212, +70,211,67,220,224,110,67,140,240,210,67,228,32,111,67,236,138,210,67,244,118,111,67,98,116,219,209,67,132,11,112,67,164,212,209,67,20,22,112,67,76,3,210,67,220,73,112,67,98,28,65,210,67,116,142,112,67,228,123,210,67,36,143,112,67,76,184,210,67,244,75, +112,67,99,109,156,112,206,67,196,243,110,67,98,156,112,206,67,180,209,110,67,140,149,204,67,108,153,108,67,236,177,203,67,36,171,107,67,98,52,157,202,67,132,137,106,67,20,164,201,67,44,172,105,67,228,148,201,67,132,202,105,67,98,84,133,201,67,172,233, +105,67,76,220,201,67,92,47,107,67,196,29,202,67,4,203,107,67,98,132,140,202,67,92,210,108,67,228,125,203,67,204,234,109,67,164,101,204,67,92,113,110,67,98,116,255,204,67,172,202,110,67,164,112,206,67,188,38,111,67,164,112,206,67,196,243,110,67,99,109, +68,114,209,67,164,216,109,67,98,108,147,210,67,20,18,109,67,228,94,212,67,60,51,107,67,116,119,212,67,220,178,106,67,98,76,123,212,67,124,158,106,67,236,169,212,67,220,23,106,67,244,222,212,67,204,135,105,67,98,164,92,213,67,84,50,104,67,132,103,213, +67,76,219,103,67,244,52,213,67,92,214,102,67,98,84,220,212,67,180,12,101,67,212,28,213,67,196,19,99,67,236,214,213,67,204,226,97,67,98,116,104,214,67,76,244,96,67,76,137,214,67,196,229,96,67,236,24,216,67,172,226,96,67,98,244,65,217,67,100,224,96,67, +132,139,217,67,228,211,96,67,212,165,217,67,76,159,96,67,98,52,212,217,67,156,66,96,67,140,175,218,67,60,30,93,67,84,164,218,67,236,249,92,67,98,36,159,218,67,20,233,92,67,20,119,218,67,44,206,92,67,68,75,218,67,236,189,92,67,98,244,186,217,67,68,136, +92,67,12,229,216,67,100,132,91,67,52,97,216,67,148,106,90,67,98,156,57,215,67,148,242,87,67,172,235,214,67,28,208,84,67,228,147,215,67,84,40,82,67,98,180,176,215,67,228,179,81,67,228,195,215,67,212,75,81,67,140,190,215,67,36,65,81,67,98,60,185,215,67, +132,54,81,67,252,83,215,67,116,86,81,67,172,221,214,67,76,136,81,67,98,188,154,213,67,84,16,82,67,156,70,212,67,228,115,83,67,76,144,211,67,4,252,84,67,98,236,51,210,67,84,233,87,67,100,254,209,67,20,21,90,67,52,231,210,67,36,216,91,67,98,108,94,211, +67,52,191,92,67,108,239,211,67,172,80,93,67,148,57,213,67,156,44,94,67,98,12,44,214,67,36,206,94,67,148,44,214,67,204,206,94,67,20,174,213,67,132,186,94,67,98,36,34,212,67,20,123,94,67,188,151,210,67,124,207,92,67,4,27,210,67,116,218,90,67,98,124,221, +209,67,84,227,89,67,108,231,209,67,28,255,87,67,180,47,210,67,100,233,86,67,98,220,206,210,67,220,133,84,67,60,5,212,67,204,75,82,67,132,106,213,67,220,250,80,67,98,108,45,214,67,12,67,80,67,228,211,214,67,196,236,79,67,108,179,215,67,204,203,79,67,98, +84,95,216,67,108,178,79,67,44,104,216,67,236,171,79,67,220,166,216,67,100,25,79,67,98,76,254,217,67,212,246,75,67,4,223,219,67,156,229,72,67,92,215,221,67,116,159,70,67,98,172,62,222,67,52,40,70,67,52,147,222,67,28,194,69,67,52,147,222,67,148,188,69, +67,98,52,147,222,67,180,170,69,67,212,78,221,67,132,27,70,67,236,187,220,67,140,96,70,67,98,244,102,218,67,20,121,71,67,188,157,214,67,140,207,74,67,228,175,211,67,84,90,78,67,98,180,61,208,67,28,133,82,67,132,113,206,67,140,46,85,67,148,178,204,67,4, +180,88,67,108,4,211,203,67,244,118,90,67,108,156,173,203,67,100,217,91,67,98,196,83,203,67,84,44,95,67,68,147,202,67,60,206,98,67,76,172,201,67,164,136,101,67,98,148,62,201,67,116,212,102,67,164,38,201,67,156,105,103,67,28,76,201,67,188,223,103,67,98, +180,85,201,67,244,253,103,67,68,183,201,67,52,67,104,67,236,36,202,67,172,121,104,67,98,68,182,203,67,4,65,105,67,140,209,205,67,20,30,107,67,188,163,207,67,60,86,109,67,98,60,24,208,67,44,228,109,67,188,132,208,67,84,89,110,67,212,148,208,67,132,90, +110,67,98,236,164,208,67,156,92,110,67,140,8,209,67,76,33,110,67,60,114,209,67,180,216,109,67,99,109,48,97,176,66,20,20,109,67,98,112,144,179,66,100,171,108,67,16,101,180,66,204,161,108,67,16,79,186,66,212,160,108,67,98,16,46,193,66,188,158,108,67,176, +149,195,66,204,201,108,67,240,211,200,66,236,158,109,67,98,144,51,202,66,188,214,109,67,240,93,203,66,44,255,109,67,240,106,203,66,180,248,109,67,98,176,154,203,66,220,224,109,67,48,145,204,66,228,90,107,67,208,112,204,66,172,74,107,67,98,144,94,204, +66,76,65,107,67,208,30,193,66,228,216,105,67,240,113,179,66,132,41,104,67,108,176,148,154,66,36,25,101,67,108,240,137,145,66,164,215,103,67,98,208,144,140,66,4,90,105,67,112,97,135,66,100,238,106,67,80,4,134,66,60,90,107,67,108,96,137,131,66,92,30,108, +67,108,48,187,150,66,36,11,109,67,98,16,7,168,66,132,224,109,67,176,18,170,66,84,242,109,67,48,106,171,66,28,191,109,67,98,240,59,172,66,228,159,109,67,240,119,174,66,228,82,109,67,48,97,176,66,12,20,109,67,99,109,176,235,205,66,172,24,104,67,98,112, +15,206,66,4,212,103,67,112,180,204,66,84,80,99,67,16,114,204,66,116,47,99,67,98,80,100,204,66,156,40,99,67,80,116,203,66,212,102,99,67,144,92,202,66,172,185,99,67,98,240,68,201,66,132,12,100,67,144,161,199,66,236,118,100,67,144,184,198,66,28,166,100, +67,98,144,207,197,66,76,213,100,67,112,148,196,66,140,41,101,67,112,252,195,66,84,97,101,67,98,144,100,195,66,28,153,101,67,80,13,194,66,12,248,101,67,240,1,193,66,92,52,102,67,108,208,27,191,66,244,161,102,67,108,208,228,197,66,196,128,103,67,98,48, +160,201,66,76,251,103,67,16,236,204,66,84,97,104,67,48,56,205,66,132,99,104,67,98,80,132,205,66,148,101,104,67,48,213,205,66,4,68,104,67,208,235,205,66,172,24,104,67,99,109,240,191,175,66,12,26,100,67,98,144,6,173,66,236,96,98,67,240,99,172,66,180,173, +96,67,16,95,173,66,100,188,93,67,98,240,187,173,66,156,165,92,67,80,0,174,66,12,190,91,67,208,246,173,66,196,185,91,67,98,208,163,173,66,44,148,91,67,208,120,148,66,228,8,86,67,16,33,148,66,228,8,86,67,98,112,225,147,66,228,8,86,67,176,147,146,66,92, +73,86,67,80,59,145,66,52,152,86,67,98,0,63,137,66,252,107,88,67,80,87,131,66,68,244,87,67,64,2,129,66,68,79,85,67,98,192,73,128,66,12,126,84,67,48,55,128,66,100,8,84,67,144,125,128,66,228,3,82,67,98,0,141,128,66,244,145,81,67,176,87,128,66,172,129,81, +67,128,65,117,66,220,59,80,67,98,192,188,110,66,12,130,79,67,160,82,105,66,60,239,78,67,0,57,105,66,172,245,78,67,98,224,171,104,66,236,24,79,67,96,198,106,66,148,140,83,67,160,236,109,66,108,233,88,67,98,128,229,111,66,236,68,92,67,0,152,113,66,52,8, +95,67,0,178,113,66,44,13,95,67,98,128,204,113,66,44,18,95,67,112,225,128,66,60,197,95,67,224,149,138,66,44,155,96,67,98,80,74,148,66,12,113,97,67,48,124,156,66,100,52,98,67,208,203,156,66,76,77,98,67,98,48,59,157,66,28,112,98,67,240,156,175,66,44,214, +100,67,240,204,176,66,148,233,100,67,98,16,241,176,66,220,235,100,67,208,119,176,66,116,142,100,67,176,191,175,66,4,26,100,67,99,109,48,219,185,66,108,7,98,67,98,240,127,189,66,36,92,97,67,240,235,193,66,252,102,96,67,240,235,193,66,60,72,96,67,98,240, +235,193,66,12,51,96,67,112,38,185,66,172,40,94,67,144,31,182,66,148,137,93,67,98,144,141,181,66,164,107,93,67,208,66,181,66,52,232,94,67,144,167,181,66,148,236,95,67,98,80,241,181,66,108,171,96,67,176,61,183,66,76,114,98,67,112,127,183,66,76,114,98,67, +98,112,139,183,66,76,114,98,67,48,155,184,66,52,66,98,67,80,219,185,66,108,7,98,67,99,109,208,184,204,66,204,38,93,67,98,208,225,206,66,116,108,92,67,80,230,208,66,20,187,91,67,80,52,209,66,148,156,91,67,98,176,15,210,66,212,70,91,67,208,119,210,66,4, +88,88,67,48,120,210,66,148,126,82,67,108,112,120,210,66,188,97,77,67,108,176,30,206,66,36,35,74,67,98,16,186,203,66,84,90,72,67,80,166,201,66,108,211,70,67,240,128,201,66,124,190,70,67,98,112,91,201,66,148,169,70,67,48,221,200,66,164,4,71,67,80,104,200, +66,212,136,71,67,98,80,243,199,66,4,13,72,67,16,140,198,66,60,98,73,67,208,73,197,66,12,127,74,67,98,48,190,193,66,84,161,77,67,16,205,191,66,132,170,79,67,112,119,190,66,60,166,81,67,98,240,202,189,66,140,166,82,67,80,40,188,66,212,178,84,67,16,213, +186,66,76,51,86,67,98,144,217,183,66,108,148,89,67,48,43,183,66,20,122,90,67,112,120,183,66,124,161,90,67,98,112,200,183,66,116,202,90,67,48,240,199,66,196,112,94,67,48,107,200,66,180,117,94,67,98,240,159,200,66,204,119,94,67,144,143,202,66,28,225,93, +67,176,184,204,66,204,38,93,67,99,109,100,121,222,67,204,64,91,67,98,92,231,224,67,252,133,90,67,252,37,227,67,252,47,88,67,148,99,228,67,4,25,85,67,98,252,134,229,67,68,67,82,67,204,214,229,67,116,200,79,67,228,113,229,67,92,179,76,67,98,4,55,229,67, +204,230,74,67,36,213,228,67,44,144,73,67,12,41,228,67,244,51,72,67,98,196,135,227,67,156,237,70,67,236,218,226,67,228,36,70,67,36,24,226,67,180,205,69,67,108,132,165,225,67,100,154,69,67,108,212,111,224,67,36,200,70,67,98,68,100,222,67,76,198,72,67,244, +143,220,67,12,22,75,67,148,25,219,67,100,134,77,67,98,92,113,218,67,236,158,78,67,36,163,217,67,84,52,80,67,188,178,217,67,188,71,80,67,98,212,183,217,67,44,78,80,67,188,251,217,67,172,146,80,67,140,73,218,67,20,224,80,67,98,252,214,219,67,124,107,82, +67,156,147,220,67,12,199,85,67,44,65,220,67,76,215,89,67,98,36,53,220,67,196,110,90,67,76,38,220,67,12,12,91,67,28,32,220,67,212,52,91,67,98,12,22,220,67,204,119,91,67,116,40,220,67,244,126,91,67,180,223,220,67,244,126,91,67,98,60,79,221,67,244,126,91, +67,156,7,222,67,252,98,91,67,108,121,222,67,204,64,91,67,99,109,236,69,219,67,172,211,89,67,98,164,163,219,67,108,106,87,67,92,89,219,67,212,251,84,67,212,122,218,67,12,46,83,67,98,108,37,218,67,204,124,82,67,212,107,217,67,12,145,81,67,180,53,217,67, +12,145,81,67,98,36,43,217,67,12,145,81,67,100,249,216,67,52,51,82,67,36,199,216,67,100,249,82,67,98,228,72,216,67,116,235,84,67,228,62,216,67,188,244,85,67,20,156,216,67,100,111,87,67,98,4,223,216,67,84,127,88,67,244,74,217,67,4,89,89,67,252,243,217, +67,252,36,90,67,98,172,67,218,67,36,133,90,67,4,209,218,67,172,247,90,67,116,254,218,67,228,252,90,67,98,172,12,219,67,252,254,90,67,212,44,219,67,204,120,90,67,236,69,219,67,172,211,89,67,99,109,176,191,176,66,100,217,86,67,98,48,62,179,66,76,239,82, +67,48,126,182,66,116,43,79,67,112,56,188,66,188,143,73,67,98,16,59,190,66,204,151,71,67,240,206,191,66,124,251,69,67,16,186,191,66,124,251,69,67,98,208,129,191,66,124,251,69,67,208,255,184,66,148,118,72,67,80,14,175,66,76,86,76,67,98,112,59,170,66,108, +55,78,67,240,137,163,66,188,187,80,67,208,46,160,66,20,238,81,67,108,144,20,154,66,20,27,84,67,108,112,13,155,66,220,85,84,67,98,16,126,160,66,180,158,85,67,208,246,174,66,244,206,88,67,208,55,175,66,52,199,88,67,98,208,101,175,66,204,193,88,67,48,22, +176,66,124,227,87,67,176,191,176,66,100,217,86,67,99,109,248,1,123,67,68,234,78,67,108,152,186,123,67,76,67,78,67,108,200,251,122,67,172,186,76,67,98,56,40,122,67,52,7,75,67,136,122,121,67,172,241,72,67,248,55,121,67,108,78,71,67,98,152,255,120,67,132, +235,69,67,216,255,120,67,108,186,66,67,248,55,121,67,68,89,65,67,98,40,79,122,67,84,136,58,67,120,41,127,67,172,212,52,67,60,224,130,67,120,159,50,67,98,220,41,136,67,120,20,47,67,148,213,141,67,244,152,53,67,252,247,142,67,108,133,64,67,108,100,29,143, +67,140,237,65,67,108,220,120,143,67,212,250,65,67,98,44,171,143,67,36,2,66,67,84,235,143,67,236,252,65,67,108,7,144,67,148,238,65,67,98,100,54,144,67,4,215,65,67,92,57,144,67,132,198,65,67,84,44,144,67,140,34,65,67,98,228,120,143,67,148,77,56,67,252, +5,140,67,44,66,49,67,140,166,135,67,40,186,47,67,98,148,176,134,67,12,100,47,67,172,248,132,67,12,100,47,67,180,2,132,67,40,186,47,67,98,236,39,128,67,184,19,49,67,88,204,121,67,4,223,54,67,136,162,119,67,172,77,62,67,98,104,116,118,67,156,91,66,67,104, +116,118,67,244,75,70,67,136,162,119,67,220,89,74,67,98,88,63,120,67,140,116,76,67,104,196,121,67,132,152,79,67,168,41,122,67,220,146,79,67,98,232,58,122,67,220,146,79,67,248,155,122,67,252,69,79,67,120,1,123,67,44,234,78,67,99,109,140,209,237,67,124, +146,76,67,98,228,20,238,67,52,72,76,67,196,52,238,67,196,255,75,67,156,83,238,67,212,106,75,67,108,132,124,238,67,140,165,74,67,108,164,68,238,67,28,68,73,67,98,212,240,237,67,196,49,71,67,228,2,238,67,52,66,71,67,244,24,237,67,124,51,72,67,98,20,170, +236,67,220,165,72,67,68,41,236,67,188,73,73,67,188,250,235,67,172,159,73,67,98,124,176,235,67,196,40,74,67,20,166,235,67,4,83,74,67,20,166,235,67,180,247,74,67,98,20,166,235,67,4,224,75,67,12,209,235,67,84,96,76,67,116,66,236,67,196,202,76,67,98,148, +177,236,67,252,50,77,67,236,84,237,67,252,27,77,67,140,209,237,67,124,146,76,67,99,109,216,190,127,67,140,106,75,67,108,196,141,128,67,172,143,74,67,108,36,69,128,67,76,85,73,67,98,216,206,127,67,164,191,71,67,88,129,127,67,196,72,70,67,88,129,127,67, +220,83,68,67,98,88,129,127,67,220,79,66,67,24,209,127,67,60,222,64,67,124,79,128,67,156,40,63,67,98,252,228,128,67,4,173,60,67,76,232,129,67,52,151,58,67,204,25,131,67,44,106,57,67,98,76,21,132,67,100,114,56,67,228,170,132,67,228,46,56,67,220,212,133, +67,228,46,56,67,98,204,254,134,67,228,46,56,67,92,148,135,67,92,114,56,67,220,143,136,67,44,106,57,67,98,188,34,138,67,28,247,58,67,100,112,139,67,84,71,62,67,188,201,139,67,188,157,65,67,98,204,217,139,67,28,55,66,67,244,233,139,67,44,186,66,67,164, +237,139,67,228,192,66,67,98,4,245,139,67,100,206,66,67,204,128,141,67,116,92,66,67,228,137,141,67,60,74,66,67,98,252,149,141,67,28,50,66,67,204,80,141,67,52,240,63,67,180,38,141,67,188,13,63,67,98,180,64,139,67,132,213,52,67,212,1,133,67,84,131,49,67, +172,205,128,67,236,124,56,67,98,232,25,125,67,204,57,60,67,40,15,123,67,252,231,66,67,88,179,124,67,204,137,72,67,98,216,7,125,67,244,171,73,67,8,38,126,67,100,69,76,67,72,78,126,67,100,69,76,67,98,72,89,126,67,100,69,76,67,24,255,126,67,236,226,75,67, +216,190,127,67,148,106,75,67,99,109,44,84,162,67,220,177,73,67,108,60,86,162,67,212,176,72,67,108,228,195,161,67,28,66,73,67,108,140,49,161,67,108,211,73,67,108,4,180,161,67,116,153,74,67,98,220,74,162,67,100,126,75,67,108,80,162,67,84,118,75,67,36,84, +162,67,228,177,73,67,99,109,40,82,67,67,100,145,74,67,98,120,95,67,67,4,92,74,67,216,126,67,67,12,124,73,67,168,151,67,67,164,159,72,67,98,184,202,67,67,140,219,70,67,72,252,67,67,100,5,70,67,232,74,68,67,100,154,69,67,98,216,127,68,67,60,82,69,67,248, +126,71,67,100,119,68,67,72,18,75,67,92,171,67,67,98,40,52,76,67,188,106,67,67,200,166,76,67,236,63,67,67,40,152,76,67,188,25,67,67,98,88,136,76,67,140,240,66,67,184,41,75,67,244,41,67,67,104,218,70,67,188,10,68,67,98,120,189,67,67,4,173,68,67,248,42, +65,67,148,55,69,67,8,35,65,67,172,62,69,67,98,184,9,65,67,76,85,69,67,56,39,66,67,92,134,74,67,40,81,66,67,124,189,74,67,98,168,150,66,67,164,24,75,67,40,55,67,67,28,253,74,67,56,82,67,67,100,145,74,67,99,109,40,75,115,67,212,135,74,67,98,8,52,115,67, +252,14,74,67,88,1,115,67,20,226,73,67,152,190,114,67,84,11,74,67,98,120,161,114,67,108,29,74,67,104,179,114,67,12,76,74,67,88,240,114,67,236,140,74,67,98,168,101,115,67,196,9,75,67,8,100,115,67,228,9,75,67,40,75,115,67,236,135,74,67,99,109,80,101,211, +66,44,44,71,67,98,112,223,212,66,92,155,70,67,112,64,218,66,188,45,69,67,240,44,221,66,92,147,68,67,98,112,247,222,66,196,52,68,67,48,111,224,66,140,216,67,67,176,111,224,66,100,198,67,67,98,176,111,224,66,188,139,67,67,16,162,182,66,116,176,30,67,240, +253,181,66,200,91,30,67,98,80,97,181,66,24,11,30,67,208,71,181,66,56,15,30,67,176,252,174,66,228,126,31,67,98,144,223,160,66,116,183,34,67,16,130,158,66,252,69,35,67,144,132,158,66,140,95,35,67,98,144,132,158,66,84,110,35,67,48,250,166,66,160,187,41, +67,208,77,177,66,224,96,49,67,108,80,20,196,66,148,71,63,67,108,16,143,198,66,28,124,63,67,98,48,236,199,66,252,152,63,67,48,51,201,66,140,184,63,67,144,101,201,66,52,194,63,67,98,176,22,202,66,28,228,63,67,48,233,202,66,164,164,65,67,48,233,202,66,92, +252,66,67,108,48,233,202,66,172,78,68,67,108,176,155,206,66,4,17,71,67,108,48,78,210,66,100,211,73,67,108,144,145,210,66,116,155,72,67,98,176,191,210,66,28,197,71,67,16,2,211,66,44,82,71,67,112,101,211,66,36,44,71,67,99,109,228,117,130,67,132,134,72, +67,108,236,111,131,67,228,151,71,67,108,76,58,131,67,44,191,70,67,98,68,12,131,67,52,5,70,67,172,4,131,67,76,173,69,67,172,4,131,67,220,83,68,67,98,172,4,131,67,132,234,66,67,4,11,131,67,44,168,66,67,220,66,131,67,220,203,65,67,98,252,142,131,67,100, +159,64,67,172,19,132,67,172,163,63,67,52,179,132,67,60,17,63,67,98,60,21,133,67,60,183,62,67,44,75,133,67,212,162,62,67,116,215,133,67,172,162,62,67,98,172,110,134,67,172,162,62,67,92,148,134,67,20,179,62,67,140,14,135,67,76,43,63,67,98,116,244,135,67, +172,13,64,67,172,175,136,67,60,20,66,67,172,175,136,67,196,174,67,67,98,172,175,136,67,60,21,68,67,44,183,136,67,164,42,68,67,196,212,136,67,244,24,68,67,98,188,0,137,67,164,254,67,67,44,207,138,67,60,43,67,67,196,220,138,67,60,43,67,67,98,244,225,138, +67,60,43,67,67,204,221,138,67,52,209,66,67,124,211,138,67,44,99,66,67,98,124,138,138,67,100,85,63,67,12,122,137,67,212,146,60,67,220,16,136,67,116,58,59,67,98,252,59,135,67,140,111,58,67,172,184,134,67,12,51,58,67,236,212,133,67,12,51,58,67,98,84,238, +132,67,12,51,58,67,228,107,132,67,4,112,58,67,60,150,131,67,180,63,59,67,98,60,37,129,67,44,159,61,67,28,20,128,67,180,130,67,67,92,47,129,67,132,129,72,67,98,12,77,129,67,132,7,73,67,108,106,129,67,36,117,73,67,156,112,129,67,36,117,73,67,98,220,118, +129,67,36,117,73,67,108,236,129,67,196,9,73,67,244,117,130,67,140,134,72,67,99,109,4,23,133,67,76,98,70,67,98,12,174,133,67,188,247,69,67,60,151,134,67,204,94,69,67,52,29,135,67,84,14,69,67,98,52,163,135,67,228,189,68,67,140,27,136,67,124,116,68,67,180, +40,136,67,52,107,68,67,98,20,77,136,67,156,81,68,67,36,34,136,67,204,184,66,67,228,228,135,67,4,230,65,67,98,12,129,135,67,20,142,64,67,68,156,134,67,44,135,63,67,228,212,133,67,44,135,63,67,98,36,11,133,67,44,135,63,67,92,41,132,67,108,141,64,67,76, +193,131,67,148,240,65,67,98,172,132,131,67,124,191,66,67,140,106,131,67,132,37,68,67,164,129,131,67,124,89,69,67,98,140,143,131,67,20,19,70,67,84,211,131,67,252,35,71,67,124,243,131,67,252,35,71,67,98,212,252,131,67,252,35,71,67,12,128,132,67,212,204, +70,67,12,23,133,67,76,98,70,67,99,109,148,242,160,67,252,241,70,67,98,68,158,161,67,28,139,70,67,244,60,162,67,4,119,68,67,140,38,162,67,116,233,66,67,98,252,23,162,67,220,230,65,67,220,186,161,67,180,191,64,67,44,75,161,67,12,50,64,67,98,20,187,159, +67,148,54,62,67,124,202,157,67,44,120,65,67,28,133,158,67,244,217,68,67,98,108,236,158,67,60,185,70,67,172,231,159,67,228,145,71,67,156,242,160,67,252,241,70,67,99,109,220,8,157,67,220,235,68,67,98,132,226,156,67,76,187,67,67,252,248,156,67,20,194,65, +67,28,57,157,67,236,174,64,67,98,4,203,157,67,180,60,62,67,244,216,158,67,220,228,60,67,236,60,160,67,164,215,60,67,98,252,13,161,67,244,207,60,67,180,150,161,67,156,39,61,67,132,65,162,67,4,35,62,67,98,116,36,163,67,52,113,63,67,164,156,163,67,164,101, +65,67,100,144,163,67,140,149,67,67,98,172,138,163,67,124,152,68,67,244,142,163,67,196,207,68,67,244,166,163,67,60,189,68,67,98,52,183,163,67,196,176,68,67,172,5,164,67,252,147,68,67,84,85,164,67,92,125,68,67,98,4,165,164,67,196,102,68,67,12,72,165,67, +92,38,68,67,172,191,165,67,52,238,67,67,98,76,55,166,67,20,182,67,67,228,227,166,67,92,112,67,67,60,63,167,67,68,83,67,67,98,156,163,167,67,76,51,67,67,180,233,167,67,132,7,67,67,100,240,167,67,156,228,66,67,98,244,254,167,67,196,152,66,67,20,211,167, +67,44,53,64,67,244,167,167,67,236,242,62,67,98,188,65,167,67,124,246,59,67,36,249,165,67,108,122,56,67,204,148,164,67,188,153,54,67,98,180,37,161,67,232,247,49,67,52,139,156,67,52,149,51,67,76,6,154,67,148,77,58,67,98,196,55,153,67,132,116,60,67,188, +146,152,67,68,17,64,67,188,146,152,67,124,111,66,67,98,188,146,152,67,252,23,67,67,60,152,152,67,12,44,67,67,252,204,152,67,132,67,67,67,98,140,164,153,67,84,163,67,67,4,84,155,67,164,148,68,67,148,33,156,67,68,32,69,67,98,148,167,156,67,68,123,69,67, +252,23,157,67,28,193,69,67,116,27,157,67,92,187,69,67,98,220,30,157,67,140,181,69,67,140,22,157,67,68,88,69,67,220,8,157,67,220,235,68,67,99,109,60,216,202,67,52,179,62,67,98,132,186,202,67,204,7,60,67,52,162,202,67,220,165,57,67,52,162,202,67,212,103, +57,67,98,52,162,202,67,228,253,56,67,148,201,202,67,180,208,56,67,36,42,205,67,32,128,54,67,98,108,9,207,67,100,173,52,67,236,167,207,67,32,1,52,67,36,139,207,67,20,234,51,67,98,252,80,207,67,144,187,51,67,124,126,202,67,52,160,49,67,28,83,202,67,100, +162,49,67,98,252,39,202,67,120,164,49,67,148,26,201,67,144,139,51,67,236,51,201,67,144,169,51,67,98,44,61,201,67,148,180,51,67,236,206,201,67,8,251,51,67,220,119,202,67,60,70,52,67,98,204,32,203,67,120,145,52,67,28,182,203,67,40,219,52,67,180,195,203, +67,0,234,52,67,98,76,209,203,67,196,248,52,67,148,67,203,67,248,147,53,67,204,136,202,67,184,66,54,67,108,52,53,201,67,124,128,55,67,108,140,65,201,67,148,232,56,67,98,84,72,201,67,164,174,57,67,92,84,201,67,12,10,59,67,76,92,201,67,148,236,59,67,108, +164,106,201,67,116,136,61,67,108,132,89,200,67,12,101,59,67,108,84,72,199,67,148,65,57,67,108,28,242,197,67,44,100,58,67,98,116,160,196,67,228,130,59,67,172,151,196,67,188,141,59,67,12,95,195,67,148,145,61,67,98,84,165,194,67,244,195,62,67,236,19,194, +67,132,213,63,67,196,255,193,67,108,38,64,67,108,100,221,193,67,116,176,64,67,108,244,33,194,67,116,118,64,67,98,172,71,194,67,140,86,64,67,228,115,195,67,4,85,63,67,20,189,196,67,44,58,62,67,98,68,6,198,67,84,31,61,67,228,22,199,67,220,55,60,67,236, +26,199,67,220,55,60,67,98,252,30,199,67,220,55,60,67,76,1,200,67,108,10,62,67,228,17,201,67,172,68,64,67,98,228,175,202,67,156,166,67,67,148,2,203,67,84,65,68,67,236,7,203,67,156,239,67,67,98,108,11,203,67,204,185,67,67,244,245,202,67,164,94,65,67,60, +216,202,67,52,179,62,67,99,109,80,53,229,66,44,53,67,67,98,240,114,229,66,204,32,67,67,176,218,223,66,20,223,61,67,80,13,213,66,200,6,52,67,108,16,135,196,66,140,247,36,67,108,208,221,193,66,156,164,35,67,98,48,103,192,66,56,234,34,67,80,104,191,66,152, +131,34,67,80,167,191,66,156,192,34,67,98,112,12,193,66,64,26,36,67,112,137,228,66,60,85,67,67,176,172,228,66,204,84,67,67,98,240,195,228,66,204,84,67,67,112,1,229,66,60,70,67,67,80,53,229,66,44,53,67,67,99,109,144,177,237,66,76,148,66,67,98,144,189,238, +66,180,132,66,67,208,152,239,66,44,99,66,67,208,152,239,66,180,73,66,67,98,208,152,239,66,244,14,66,67,80,63,200,66,204,198,27,67,144,180,199,66,148,122,27,67,98,80,99,199,66,4,78,27,67,144,64,199,66,192,24,28,67,144,15,199,66,56,58,31,67,108,112,209, +198,66,96,50,35,67,108,176,37,200,66,136,84,36,67,98,208,224,200,66,32,244,36,67,112,53,208,66,128,155,43,67,16,112,216,66,216,29,51,67,98,176,170,224,66,36,160,58,67,112,236,231,66,196,61,65,67,112,144,232,66,100,209,65,67,98,144,171,233,66,92,208,66, +67,208,199,233,66,180,220,66,67,144,194,234,66,60,199,66,67,98,176,83,235,66,188,186,66,67,208,165,236,66,236,163,66,67,176,177,237,66,92,148,66,67,99,109,120,196,101,67,44,119,66,67,98,56,184,101,67,188,66,66,67,104,138,101,67,148,102,65,67,216,94,101, +67,252,141,64,67,98,56,51,101,67,92,181,63,67,136,8,101,67,52,253,62,67,232,255,100,67,188,244,62,67,98,56,243,100,67,68,232,62,67,8,74,91,67,68,201,64,67,136,249,89,67,180,25,65,67,98,24,197,89,67,44,38,65,67,40,154,89,67,76,75,65,67,40,154,89,67,12, +108,65,67,98,40,154,89,67,132,156,65,67,216,18,90,67,68,168,65,67,72,32,92,67,228,170,65,67,98,56,204,94,67,108,174,65,67,136,193,97,67,124,254,65,67,8,242,99,67,188,126,66,67,98,200,200,101,67,108,234,66,67,120,223,101,67,12,234,66,67,120,196,101,67, +60,119,66,67,99,109,68,7,207,67,156,217,61,67,98,60,233,207,67,148,171,59,67,228,60,209,67,132,199,56,67,100,22,210,67,108,47,55,67,98,116,120,210,67,92,119,54,67,44,191,210,67,188,234,53,67,132,179,210,67,220,246,53,67,98,220,167,210,67,236,2,54,67, +116,85,209,67,124,76,55,67,132,195,207,67,20,211,56,67,98,148,49,206,67,172,89,58,67,148,229,204,67,172,158,59,67,188,225,204,67,76,165,59,67,98,228,218,204,67,36,177,59,67,204,18,205,67,148,157,64,67,180,41,205,67,60,249,65,67,108,164,53,205,67,108, +174,66,67,108,116,202,205,67,116,19,65,67,98,84,28,206,67,100,49,64,67,228,170,206,67,196,189,62,67,68,7,207,67,156,217,61,67,99,109,144,39,248,66,36,217,65,67,98,16,10,250,66,100,193,65,67,240,242,253,66,244,173,65,67,200,107,0,67,244,173,65,67,98,40, +222,1,67,244,173,65,67,40,13,3,67,172,161,65,67,40,13,3,67,196,146,65,67,98,40,13,3,67,172,122,65,67,144,14,224,66,104,249,19,67,144,231,223,66,224,226,19,67,98,208,208,223,66,148,213,19,67,48,20,202,66,176,36,25,67,16,193,201,66,0,76,25,67,98,240,153, +201,66,76,94,25,67,208,213,210,66,12,153,34,67,176,69,222,66,84,206,45,67,98,240,88,242,66,188,122,65,67,112,24,243,66,124,46,66,67,176,229,243,66,204,25,66,67,98,112,90,244,66,236,13,66,67,240,68,246,66,228,240,65,67,144,39,248,66,28,217,65,67,99,109, +140,185,191,67,164,104,63,67,98,180,215,191,67,76,34,63,67,236,209,193,67,60,178,55,67,180,224,193,67,132,79,55,67,98,116,231,193,67,156,34,55,67,68,136,191,67,72,153,49,67,76,122,191,67,56,181,49,67,98,60,118,191,67,84,189,49,67,60,125,191,67,96,108, +50,67,220,137,191,67,28,58,51,67,98,84,203,191,67,36,102,55,67,20,116,191,67,244,246,59,67,236,148,190,67,220,10,64,67,98,108,92,190,67,4,19,65,67,108,42,190,67,204,253,65,67,196,37,190,67,132,20,66,67,98,252,27,190,67,28,68,66,67,212,136,191,67,76,218, +63,67,148,185,191,67,164,104,63,67,99,109,68,177,198,67,68,130,65,67,98,212,162,198,67,92,101,65,67,28,138,198,67,108,100,65,67,44,104,198,67,148,127,65,67,98,12,56,198,67,12,166,65,67,84,57,198,67,172,168,65,67,4,126,198,67,60,171,65,67,98,44,176,198, +67,76,173,65,67,68,192,198,67,52,160,65,67,68,177,198,67,60,130,65,67,99,109,24,236,114,67,220,227,63,67,98,24,236,114,67,20,165,63,67,56,18,115,67,100,236,62,67,216,64,115,67,116,73,62,67,98,152,183,115,67,28,170,60,67,200,182,115,67,212,166,60,67,136, +229,114,67,76,200,60,67,98,200,132,114,67,172,215,60,67,104,40,114,67,140,236,60,67,88,24,114,67,124,246,60,67,98,88,8,114,67,116,0,61,67,216,33,114,67,68,208,61,67,104,81,114,67,100,196,62,67,98,184,161,114,67,228,97,64,67,8,236,114,67,4,236,64,67,8, +236,114,67,212,227,63,67,99,109,156,80,180,67,12,238,63,67,98,204,15,182,67,76,6,63,67,204,132,183,67,220,24,60,67,140,249,183,67,124,147,56,67,98,124,33,184,67,84,95,55,67,244,38,184,67,140,16,53,67,172,4,184,67,84,224,51,67,98,212,186,183,67,144,80, +49,67,188,227,182,67,228,240,46,67,60,191,181,67,152,117,45,67,98,212,146,180,67,248,239,43,67,52,227,178,67,112,131,43,67,156,131,177,67,28,101,44,67,98,148,241,175,67,40,103,45,67,140,180,174,67,32,225,47,67,140,51,174,67,48,5,51,67,98,180,6,174,67, +152,28,52,67,172,252,173,67,36,173,52,67,204,252,173,67,72,24,54,67,98,204,252,173,67,60,38,56,67,172,44,174,67,36,143,57,67,36,170,174,67,156,57,59,67,98,236,244,174,67,180,55,60,67,52,179,175,67,52,219,61,67,196,32,176,67,124,115,62,67,98,124,122,176, +67,52,240,62,67,60,50,177,67,164,152,63,67,148,175,177,67,20,225,63,67,98,68,85,178,67,204,64,64,67,100,164,179,67,68,71,64,67,140,80,180,67,244,237,63,67,99,109,60,163,178,67,180,199,59,67,98,140,204,177,67,164,119,59,67,228,28,177,67,164,148,58,67, +244,168,176,67,108,57,57,67,98,244,229,175,67,96,241,54,67,20,12,176,67,84,252,51,67,156,5,177,67,60,9,50,67,98,252,127,178,67,128,20,47,67,60,7,181,67,184,52,48,67,108,192,181,67,112,36,52,67,98,36,234,181,67,108,7,53,67,204,238,181,67,108,244,54,67, +92,201,181,67,28,213,55,67,98,52,131,181,67,12,122,57,67,28,190,180,67,244,8,59,67,44,246,179,67,212,134,59,67,98,180,154,179,67,100,192,59,67,60,234,178,67,52,226,59,67,60,163,178,67,180,199,59,67,99,109,108,18,180,67,196,100,58,67,98,92,136,180,67, +244,238,57,67,156,245,180,67,36,18,57,67,108,55,181,67,172,20,56,67,98,180,124,181,67,148,9,55,67,76,125,181,67,116,45,53,67,164,56,181,67,212,22,52,67,98,52,122,180,67,172,17,49,67,252,135,178,67,92,96,48,67,148,92,177,67,44,183,50,67,98,148,26,176, +67,44,59,53,67,188,160,176,67,148,141,57,67,60,83,178,67,44,169,58,67,98,172,208,178,67,20,251,58,67,236,154,179,67,36,220,58,67,108,18,180,67,204,100,58,67,99,109,156,29,197,67,32,40,54,67,98,52,84,197,67,252,199,53,67,220,128,197,67,156,108,53,67,220, +128,197,67,24,93,53,67,98,220,128,197,67,132,77,53,67,148,43,197,67,76,117,52,67,100,195,196,67,116,124,51,67,98,44,91,196,67,160,131,50,67,196,7,196,67,0,181,49,67,12,10,196,67,88,177,49,67,98,84,12,196,67,156,173,49,67,236,161,196,67,212,224,49,67, +132,86,197,67,4,35,50,67,98,20,11,198,67,56,101,50,67,68,179,198,67,28,156,50,67,52,204,198,67,252,156,50,67,98,36,240,198,67,16,159,50,67,252,34,199,67,124,25,50,67,212,191,199,67,52,33,48,67,108,4,134,200,67,208,163,45,67,108,132,151,200,67,196,89, +46,67,98,52,192,200,67,20,1,48,67,60,172,200,67,20,242,47,67,212,74,201,67,132,224,46,67,98,252,152,201,67,172,89,46,67,116,220,201,67,144,230,45,67,196,224,201,67,172,224,45,67,98,228,236,201,67,12,208,45,67,140,93,201,67,0,53,38,67,84,80,201,67,120, +54,38,67,98,228,73,201,67,120,54,38,67,76,149,200,67,8,96,40,67,252,190,199,67,16,3,43,67,98,172,232,198,67,20,166,45,67,172,48,198,67,100,206,47,67,36,38,198,67,100,206,47,67,98,148,27,198,67,100,206,47,67,220,234,196,67,168,100,47,67,252,128,195,67, +120,227,46,67,98,20,23,194,67,64,98,46,67,228,230,192,67,44,254,45,67,4,221,192,67,12,5,46,67,98,180,205,192,67,168,15,46,67,20,189,193,67,192,65,48,67,252,11,196,67,96,126,53,67,98,172,127,196,67,216,132,54,67,20,135,196,67,204,161,54,67,52,112,196, +67,40,6,55,67,108,132,87,196,67,140,114,55,67,108,244,136,196,67,180,36,55,67,98,28,164,196,67,236,249,54,67,4,231,196,67,68,136,54,67,156,29,197,67,32,40,54,67,99,109,228,124,225,67,148,76,54,67,98,140,248,225,67,40,223,53,67,60,98,226,67,208,7,53,67, +252,189,226,67,16,190,51,67,98,148,51,227,67,188,23,50,67,164,51,227,67,84,251,49,67,172,191,226,67,92,158,48,67,98,172,27,226,67,244,176,46,67,252,162,225,67,240,239,43,67,252,162,225,67,44,31,42,67,98,252,162,225,67,144,113,41,67,180,157,225,67,180, +94,41,67,76,96,225,67,240,51,41,67,98,244,241,224,67,8,231,40,67,20,124,223,67,116,10,41,67,28,208,222,67,36,114,41,67,98,220,164,222,67,52,140,41,67,76,54,222,67,156,225,43,67,204,7,222,67,16,172,45,67,98,108,212,221,67,128,167,47,67,252,228,221,67, +140,149,50,67,236,41,222,67,248,177,51,67,98,204,129,222,67,128,28,53,67,180,45,223,67,208,54,54,67,196,240,223,67,204,156,54,67,98,60,83,224,67,72,208,54,67,52,20,225,67,72,169,54,67,236,124,225,67,148,76,54,67,99,109,0,13,191,65,156,242,51,67,98,64, +34,198,65,104,84,51,67,0,200,210,65,184,174,49,67,128,12,227,65,120,66,47,67,98,64,67,234,65,112,47,46,67,128,130,244,65,156,168,44,67,128,210,249,65,248,221,43,67,98,64,72,6,66,16,19,41,67,64,57,10,66,244,155,39,67,96,69,10,66,92,230,38,67,98,192,77, +10,66,76,141,38,67,0,230,0,66,140,150,40,67,128,249,241,65,64,165,42,67,98,0,47,226,65,236,178,44,67,64,161,207,65,232,130,47,67,128,2,191,65,24,95,50,67,98,128,250,176,65,44,201,52,67,64,110,177,65,156,173,52,67,192,234,181,65,148,137,52,67,98,128,245, +183,65,40,121,52,67,128,17,188,65,68,53,52,67,0,13,191,65,164,242,51,67,99,109,100,33,233,67,92,29,50,67,98,60,166,234,67,160,147,49,67,116,78,236,67,44,220,47,67,28,191,237,67,80,85,45,67,98,212,26,239,67,52,243,42,67,196,78,240,67,24,42,39,67,180,207, +240,67,56,176,35,67,98,228,120,241,67,144,32,31,67,220,53,241,67,80,18,27,67,172,13,240,67,124,242,23,67,98,140,123,238,67,168,180,19,67,132,221,235,67,136,247,16,67,28,162,232,67,216,46,16,67,98,220,174,231,67,212,243,15,67,60,41,229,67,124,21,16,67, +60,62,228,67,112,105,16,67,108,244,169,227,67,108,158,16,67,108,196,164,227,67,248,47,18,67,98,140,148,227,67,156,12,23,67,52,151,226,67,36,97,28,67,156,130,224,67,72,16,35,67,98,116,25,224,67,36,98,36,67,228,159,223,67,0,246,37,67,108,116,223,67,180, +145,38,67,108,116,37,223,67,216,172,39,67,108,44,10,224,67,64,150,39,67,98,252,135,224,67,196,137,39,67,172,22,225,67,72,146,39,67,60,71,225,67,244,168,39,67,108,148,159,225,67,76,210,39,67,108,220,183,225,67,156,185,38,67,98,44,24,226,67,68,97,34,67, +204,83,227,67,96,9,31,67,108,60,229,67,152,47,29,67,98,172,209,230,67,176,166,27,67,20,117,232,67,104,142,27,67,36,207,233,67,200,235,28,67,98,132,89,235,67,236,121,30,67,68,43,236,67,32,166,32,67,68,103,236,67,172,204,35,67,98,252,176,236,67,32,172, +39,67,84,133,235,67,40,44,43,67,252,239,233,67,40,44,43,67,98,84,133,233,67,40,44,43,67,180,155,233,67,140,228,42,67,156,32,234,67,204,144,42,67,98,140,189,234,67,220,45,42,67,84,100,235,67,196,203,40,67,156,155,235,67,48,108,39,67,98,4,22,236,67,16, +98,36,67,180,36,235,67,52,148,32,67,60,131,233,67,152,247,30,67,98,140,239,232,67,160,101,30,67,28,212,232,67,224,88,30,67,124,45,232,67,224,88,30,67,98,36,109,231,67,224,88,30,67,180,240,230,67,228,162,30,67,52,208,229,67,220,192,31,67,98,148,115,228, +67,108,26,33,67,68,109,227,67,236,153,36,67,244,80,227,67,204,70,40,67,98,132,69,227,67,4,196,41,67,132,69,227,67,40,196,41,67,228,153,227,67,120,3,43,67,98,84,200,227,67,32,179,43,67,76,0,228,67,156,206,44,67,68,22,228,67,96,121,45,67,98,68,59,228,67, +248,152,46,67,20,72,228,67,80,194,46,67,172,195,228,67,156,169,47,67,98,164,87,229,67,120,190,48,67,172,49,230,67,184,174,49,67,44,234,230,67,48,8,50,67,98,4,126,231,67,224,79,50,67,124,120,232,67,56,89,50,67,108,33,233,67,104,29,50,67,99,109,12,21,214, +67,132,168,48,67,98,196,221,215,67,172,36,46,67,68,59,217,67,116,141,44,67,156,73,219,67,232,151,42,67,98,204,244,219,67,200,244,41,67,4,129,220,67,100,87,41,67,60,129,220,67,32,58,41,67,98,100,130,220,67,32,174,40,67,204,131,221,67,20,118,36,67,228, +98,222,67,172,85,33,67,98,84,73,224,67,40,132,26,67,44,228,224,67,196,184,23,67,132,45,225,67,144,111,20,67,98,12,89,225,67,76,124,18,67,36,89,225,67,144,158,17,67,132,45,225,67,208,191,17,67,98,172,27,225,67,140,205,17,67,60,200,224,67,40,2,18,67,44, +116,224,67,208,52,18,67,98,180,12,222,67,124,167,19,67,84,253,218,67,188,170,22,67,140,38,216,67,132,97,26,67,98,188,85,213,67,128,16,30,67,68,156,210,67,216,115,34,67,236,50,206,67,164,104,42,67,98,236,135,204,67,192,106,45,67,12,53,204,67,36,18,46, +67,76,86,204,67,116,43,46,67,98,108,108,204,67,76,60,46,67,108,56,205,67,172,143,46,67,156,27,206,67,200,228,46,67,98,204,254,206,67,228,57,47,67,244,228,208,67,180,11,48,67,236,83,210,67,20,183,48,67,98,236,194,211,67,124,98,49,67,44,252,212,67,40,240, +49,67,12,12,213,67,244,241,49,67,98,228,27,213,67,12,244,49,67,12,147,213,67,132,95,49,67,212,20,214,67,144,168,48,67,99,109,160,142,16,66,160,128,31,67,98,32,249,23,66,56,71,30,67,224,159,30,66,20,18,29,67,160,86,31,66,168,209,28,67,98,96,146,34,66, +192,173,27,67,128,53,36,66,4,77,25,67,128,200,34,66,140,208,23,67,98,32,206,33,66,156,203,22,67,192,234,30,66,164,228,21,67,32,37,28,66,172,189,21,67,98,128,32,24,66,44,133,21,67,192,154,15,66,248,34,22,67,96,91,10,66,0,7,23,67,98,96,11,6,66,100,194, +23,67,0,158,243,65,104,47,26,67,0,138,243,65,220,80,26,67,98,64,121,243,65,216,95,26,67,0,24,255,65,40,200,26,67,64,165,6,66,196,56,27,67,98,192,190,13,66,100,169,27,67,192,140,19,66,140,15,28,67,128,139,19,66,212,27,28,67,98,128,139,19,66,24,40,28,67, +160,195,11,66,224,22,29,67,160,67,2,66,128,46,30,67,108,128,252,225,65,224,42,32,67,108,0,211,226,65,40,168,33,67,98,0,73,227,65,220,121,34,67,128,1,228,65,60,136,35,67,128,109,228,65,248,0,36,67,108,0,50,229,65,132,220,36,67,108,64,172,245,65,120,75, +35,67,98,64,188,254,65,228,110,34,67,128,36,9,66,0,186,32,67,192,142,16,66,148,128,31,67,99,109,176,114,208,66,148,3,22,67,108,16,60,220,66,128,25,19,67,108,240,116,212,66,164,254,18,67,98,208,45,208,66,224,239,18,67,112,251,202,66,64,225,18,67,208,232, +200,66,36,222,18,67,108,240,35,197,66,136,216,18,67,108,80,98,197,66,228,64,14,67,108,208,160,197,66,68,169,9,67,108,80,186,190,66,216,62,14,67,98,16,2,184,66,172,181,18,67,16,204,183,66,112,212,18,67,48,171,182,66,56,213,18,67,98,48,8,182,66,56,213, +18,67,112,252,176,66,108,151,18,67,208,116,171,66,236,74,18,67,108,240,102,161,66,208,191,17,67,108,240,177,162,66,200,86,18,67,98,240,103,163,66,204,169,18,67,144,160,166,66,220,1,20,67,80,218,169,66,92,83,21,67,98,48,20,173,66,216,164,22,67,240,183, +175,66,220,195,23,67,240,183,175,66,48,209,23,67,98,240,183,175,66,124,222,23,67,240,76,172,66,120,234,25,67,144,31,168,66,156,93,28,67,98,48,242,163,66,188,208,30,67,240,145,160,66,36,215,32,67,208,158,160,66,164,221,32,67,98,176,171,160,66,20,228,32, +67,144,161,165,66,96,165,31,67,80,164,171,66,76,25,30,67,98,48,167,177,66,60,141,28,67,208,181,182,66,48,73,27,67,112,225,182,66,48,73,27,67,98,176,70,183,66,48,73,27,67,112,136,194,66,24,4,33,67,112,105,195,66,52,170,33,67,108,208,18,196,66,88,39,34, +67,108,48,94,196,66,136,138,29,67,108,112,169,196,66,188,237,24,67,108,208,114,208,66,168,3,22,67,99,109,48,25,169,66,204,102,24,67,98,48,25,169,66,196,76,24,67,112,210,167,66,220,149,23,67,48,67,166,66,84,208,22,67,108,16,109,163,66,40,105,21,67,108, +240,165,165,66,200,70,23,67,98,144,198,167,66,228,15,25,67,176,229,167,66,84,33,25,67,48,124,168,66,64,221,24,67,98,144,210,168,66,36,182,24,67,80,25,169,66,216,128,24,67,80,25,169,66,204,102,24,67,99,109,208,136,204,66,108,82,16,67,98,240,49,204,66, +100,239,15,67,16,62,203,66,64,233,14,67,16,107,202,66,224,11,14,67,108,48,235,200,66,112,121,12,67,108,80,229,200,66,60,167,14,67,98,48,225,200,66,32,64,16,67,208,251,200,66,196,218,16,67,80,73,201,66,112,234,16,67,98,144,131,201,66,20,246,16,67,48,122, +202,66,76,1,17,67,16,109,203,66,32,3,17,67,108,240,38,205,66,116,6,17,67,108,240,136,204,66,108,82,16,67,99,109,252,186,171,67,172,208,61,67,108,140,81,171,67,180,159,61,67,108,84,248,170,67,4,190,59,67,108,28,159,170,67,76,220,57,67,108,100,247,170, +67,124,242,56,67,108,172,79,171,67,180,8,56,67,108,220,106,171,67,116,23,57,67,98,140,144,171,67,36,142,58,67,220,190,171,67,4,157,59,67,132,18,172,67,220,235,60,67,98,156,95,172,67,140,32,62,67,188,96,172,67,180,29,62,67,4,187,171,67,172,208,61,67,99, +109,200,185,3,67,164,4,59,67,98,200,110,3,67,252,137,57,67,88,40,3,67,140,45,56,67,40,29,3,67,84,254,55,67,98,56,10,3,67,140,174,55,67,88,60,3,67,84,158,55,67,184,220,5,67,84,26,55,67,98,216,106,7,67,40,204,54,67,136,183,8,67,124,147,54,67,24,192,8,67, +96,156,54,67,98,232,209,8,67,20,175,54,67,184,207,9,67,92,155,59,67,72,224,9,67,196,51,60,67,98,24,235,9,67,140,150,60,67,184,214,9,67,236,157,60,67,136,69,7,67,124,38,61,67,98,184,208,5,67,244,115,61,67,152,138,4,67,188,179,61,67,200,112,4,67,52,180, +61,67,98,232,85,4,67,52,180,61,67,216,7,4,67,212,143,60,67,168,185,3,67,164,4,59,67,99,109,152,208,26,67,188,108,60,67,98,232,195,26,67,252,67,60,67,104,63,26,67,220,195,57,67,24,170,25,67,80,222,54,67,98,120,240,24,67,100,68,51,67,184,169,24,67,24,149, +49,67,152,202,24,67,124,138,49,67,98,24,48,25,67,184,105,49,67,232,10,35,67,188,120,47,67,40,21,35,67,124,131,47,67,98,120,41,35,67,28,153,47,67,8,85,37,67,28,152,58,67,88,71,37,67,36,165,58,67,98,56,57,37,67,164,178,58,67,72,56,27,67,44,183,60,67,120, +4,27,67,4,183,60,67,98,184,244,26,67,244,182,60,67,56,221,26,67,132,149,60,67,136,208,26,67,196,108,60,67,99,109,216,224,50,67,204,67,57,67,98,216,224,50,67,12,48,57,67,40,84,50,67,76,111,54,67,40,168,49,67,136,37,51,67,98,216,148,48,67,152,225,45,67, +184,119,48,67,168,40,45,67,152,180,48,67,12,23,45,67,98,216,130,49,67,76,219,44,67,24,217,59,67,232,209,42,67,8,233,59,67,216,225,42,67,98,184,254,59,67,132,247,42,67,24,112,62,67,124,22,55,67,200,94,62,67,124,22,55,67,98,136,88,62,67,124,22,55,67,232, +199,59,67,236,155,55,67,152,171,56,67,4,63,56,67,98,88,77,50,67,252,140,57,67,216,224,50,67,4,115,57,67,216,224,50,67,204,67,57,67,99,109,136,52,75,67,12,141,53,67,98,136,52,75,67,100,134,53,67,136,165,74,67,24,196,50,67,200,246,73,67,128,107,47,67,98, +8,72,73,67,236,18,44,67,8,185,72,67,180,61,41,67,8,185,72,67,232,31,41,67,98,8,185,72,67,164,250,40,67,40,144,74,67,12,139,40,67,40,160,78,67,240,185,39,67,98,72,223,81,67,212,18,39,67,104,138,84,67,216,142,38,67,40,142,84,67,160,148,38,67,98,152,159, +84,67,44,175,38,67,184,30,87,67,236,43,51,67,168,20,87,67,0,54,51,67,98,120,6,87,67,36,68,51,67,216,146,75,67,44,153,53,67,248,91,75,67,44,153,53,67,98,72,70,75,67,44,153,53,67,136,52,75,67,196,147,53,67,136,52,75,67,32,141,53,67,99,109,72,222,99,67, +136,24,48,67,98,120,2,99,67,124,31,44,67,152,186,97,67,72,121,37,67,152,206,97,67,36,101,37,67,98,72,220,97,67,108,87,37,67,8,80,100,67,20,206,36,67,152,65,103,67,240,51,36,67,108,184,155,108,67,176,27,35,67,108,136,218,108,67,240,51,36,67,98,40,126, +109,67,172,13,39,67,72,247,110,67,28,176,46,67,40,228,110,67,60,195,46,67,98,232,205,110,67,120,217,46,67,232,151,100,67,0,246,48,67,200,63,100,67,156,246,48,67,98,152,36,100,67,204,246,48,67,184,248,99,67,216,146,48,67,72,222,99,67,128,24,48,67,99,109, +152,37,13,67,244,105,48,67,98,152,37,13,67,68,98,48,67,40,188,12,67,60,92,46,67,88,59,12,67,188,234,43,67,98,24,177,11,67,40,75,41,67,168,97,11,67,68,111,39,67,104,121,11,67,152,96,39,67,98,184,194,11,67,60,51,39,67,24,198,19,67,240,169,37,67,88,224, +19,67,52,196,37,67,98,88,4,20,67,56,232,37,67,120,196,21,67,16,176,46,67,120,172,21,67,32,200,46,67,98,120,150,21,67,20,222,46,67,232,178,13,67,228,119,48,67,168,92,13,67,228,119,48,67,98,88,62,13,67,228,119,48,67,152,37,13,67,164,113,48,67,152,37,13, +67,244,105,48,67,99,109,56,212,35,67,4,127,40,67,98,248,66,35,67,168,168,37,67,8,201,34,67,52,39,35,67,40,197,34,67,140,237,34,67,98,88,190,34,67,104,133,34,67,72,199,34,67,240,130,34,67,72,221,39,67,208,120,33,67,98,88,174,42,67,128,229,32,67,136,5, +45,67,40,118,32,67,200,16,45,67,108,129,32,67,98,168,37,45,67,76,150,32,67,136,103,47,67,28,143,43,67,152,89,47,67,244,155,43,67,98,24,76,47,67,112,168,43,67,120,59,37,67,216,167,45,67,232,10,37,67,184,167,45,67,98,136,239,36,67,172,167,45,67,248,110, +36,67,112,133,43,67,40,212,35,67,252,126,40,67,99,109,248,90,124,67,208,13,45,67,98,248,90,124,67,8,255,44,67,136,211,123,67,120,88,42,67,8,46,123,67,192,41,39,67,98,152,136,122,67,4,251,35,67,88,17,122,67,192,81,33,67,72,37,122,67,220,63,33,67,98,232, +72,122,67,212,31,33,67,52,147,130,67,80,225,30,67,52,154,130,67,28,247,30,67,98,92,163,130,67,104,19,31,67,36,207,131,67,152,226,42,67,156,201,131,67,24,234,42,67,98,52,193,131,67,80,245,42,67,136,160,124,67,144,40,45,67,120,121,124,67,144,40,45,67,98, +152,104,124,67,144,40,45,67,8,91,124,67,128,28,45,67,8,91,124,67,216,13,45,67,99,109,84,17,165,67,36,241,43,67,98,84,17,165,67,60,183,43,67,164,12,165,67,116,110,43,67,236,6,165,67,104,79,43,67,98,44,0,165,67,188,42,43,67,60,38,165,67,228,242,42,67,180, +115,165,67,228,175,42,67,98,196,184,165,67,36,116,42,67,116,23,166,67,152,239,41,67,236,84,166,67,180,116,41,67,98,196,185,167,67,16,171,38,67,172,128,167,67,104,8,34,67,212,222,165,67,184,221,31,67,98,36,70,164,67,44,191,29,67,108,45,162,67,232,224, +30,67,116,77,161,67,248,84,34,67,98,172,18,161,67,20,61,35,67,236,13,161,67,152,113,35,67,236,13,161,67,180,19,37,67,98,236,13,161,67,64,12,38,67,220,9,161,67,100,207,38,67,196,4,161,67,92,197,38,67,98,196,255,160,67,100,187,38,67,44,226,160,67,228,227, +38,67,20,195,160,67,144,31,39,67,108,116,138,160,67,4,140,39,67,108,36,114,160,67,4,154,38,67,98,156,25,160,67,44,40,35,67,84,235,160,67,236,206,31,67,20,121,162,67,208,80,30,67,98,204,251,163,67,72,221,28,67,108,166,165,67,100,112,29,67,180,209,166, +67,120,208,31,67,98,180,141,168,67,152,86,35,67,140,19,168,67,24,116,41,67,20,229,165,67,100,169,43,67,98,60,44,165,67,128,100,44,67,60,17,165,67,160,109,44,67,60,17,165,67,36,241,43,67,99,109,40,205,60,67,212,154,42,67,98,40,205,60,67,188,152,42,67, +136,55,60,67,24,190,39,67,152,130,59,67,32,66,36,67,98,168,66,58,67,140,24,30,67,24,60,58,67,204,235,29,67,168,144,58,67,44,216,29,67,98,248,84,59,67,140,170,29,67,104,92,69,67,0,164,27,67,248,186,69,67,224,150,27,67,98,232,32,70,67,192,136,27,67,168, +34,70,67,48,143,27,67,40,104,71,67,144,210,33,67,98,232,27,72,67,4,72,37,67,216,168,72,67,68,35,40,67,88,161,72,67,152,43,40,67,98,40,150,72,67,20,56,40,67,40,210,60,67,252,163,42,67,40,205,60,67,216,154,42,67,99,109,100,167,164,67,64,7,40,67,98,68,138, +164,67,136,244,39,67,244,128,164,67,112,227,39,67,180,146,164,67,24,225,39,67,98,180,195,164,67,168,218,39,67,116,77,165,67,160,231,38,67,132,115,165,67,108,84,38,67,98,20,134,165,67,152,12,38,67,76,149,165,67,20,121,37,67,76,149,165,67,172,12,37,67, +98,76,149,165,67,64,158,34,67,180,47,164,67,52,53,33,67,236,64,163,67,124,178,34,67,98,52,145,162,67,28,203,35,67,244,117,162,67,72,205,37,67,116,6,163,67,228,1,39,67,108,172,52,163,67,168,100,39,67,108,36,245,162,67,240,70,39,67,98,52,169,162,67,108, +35,39,67,92,135,162,67,68,214,38,67,92,107,162,67,204,12,38,67,98,140,47,162,67,44,94,36,67,228,151,162,67,100,146,34,67,156,96,163,67,212,211,33,67,98,52,188,163,67,236,124,33,67,92,115,164,67,220,119,33,67,20,212,164,67,108,201,33,67,98,68,255,165, +67,52,198,34,67,212,62,166,67,40,248,37,67,204,72,165,67,36,168,39,67,98,252,244,164,67,72,59,40,67,252,246,164,67,28,58,40,67,92,167,164,67,24,7,40,67,99,109,152,41,85,67,172,195,37,67,98,216,188,83,67,188,15,31,67,152,206,82,67,4,18,26,67,216,246,82, +67,44,249,25,67,98,200,58,83,67,44,207,25,67,88,99,94,67,112,147,23,67,248,122,94,67,20,171,23,67,98,120,148,94,67,152,196,23,67,104,22,97,67,8,20,36,67,184,4,97,67,0,33,36,67,98,120,253,96,67,104,38,36,67,72,111,94,67,64,172,36,67,24,87,91,67,148,74, +37,67,98,216,62,88,67,224,232,37,67,184,160,85,67,212,114,38,67,216,133,85,67,32,125,38,67,98,72,104,85,67,88,136,38,67,232,67,85,67,84,63,38,67,152,41,85,67,172,195,37,67,99,109,36,85,139,67,228,236,36,67,98,164,71,139,67,240,102,36,67,172,33,139,67, +236,247,34,67,196,0,139,67,96,189,33,67,98,228,223,138,67,212,130,32,67,52,200,138,67,220,122,31,67,52,204,138,67,208,114,31,67,98,36,208,138,67,184,106,31,67,204,127,139,67,76,28,31,67,132,82,140,67,108,196,30,67,98,148,208,141,67,28,37,30,67,164,209, +141,67,236,36,30,67,44,220,141,67,80,126,30,67,98,196,0,142,67,4,180,31,67,52,121,142,67,52,158,36,67,92,115,142,67,220,169,36,67,98,252,107,142,67,160,184,36,67,52,154,139,67,120,224,37,67,204,125,139,67,120,224,37,67,98,244,116,139,67,120,224,37,67, +164,98,139,67,220,114,37,67,28,85,139,67,220,236,36,67,99,109,152,2,1,67,208,118,33,67,98,24,200,0,67,152,170,32,67,216,140,0,67,12,55,31,67,40,159,0,67,76,7,31,67,98,72,178,0,67,32,213,30,67,136,254,2,67,68,81,30,67,8,36,3,67,180,118,30,67,98,24,54, +3,67,204,136,30,67,184,182,3,67,136,211,32,67,184,182,3,67,172,19,33,67,98,184,182,3,67,220,39,33,67,8,73,3,67,72,78,33,67,24,195,2,67,48,105,33,67,98,40,61,2,67,24,132,33,67,88,166,1,67,168,163,33,67,40,116,1,67,88,175,33,67,98,88,52,1,67,28,190,33, +67,40,18,1,67,12,173,33,67,152,2,1,67,208,118,33,67,99,109,184,117,110,67,124,53,32,67,98,232,245,109,67,124,228,29,67,56,162,108,67,152,64,23,67,56,162,108,67,60,18,23,67,98,56,162,108,67,88,239,22,67,120,23,110,67,8,147,22,67,248,246,112,67,8,0,22, +67,98,200,88,115,67,32,134,21,67,40,123,117,67,64,31,21,67,40,181,117,67,100,27,21,67,98,248,29,118,67,136,20,21,67,24,32,118,67,144,27,21,67,184,38,119,67,8,25,26,67,98,120,220,119,67,216,140,29,67,184,31,120,67,116,34,31,67,104,254,119,67,32,45,31, +67,98,136,205,119,67,180,60,31,67,232,207,110,67,224,19,33,67,120,180,110,67,224,19,33,67,98,88,172,110,67,224,19,33,67,24,144,110,67,204,175,32,67,200,117,110,67,120,53,32,67,99,109,40,126,23,67,152,180,32,67,98,232,88,23,67,96,69,32,67,56,229,21,67, +44,197,24,67,72,242,21,67,12,184,24,67,98,104,9,22,67,236,160,24,67,120,140,29,67,120,28,23,67,24,153,29,67,92,44,23,67,98,200,181,29,67,76,80,23,67,104,57,31,67,220,69,31,67,24,39,31,67,56,88,31,67,98,24,23,31,67,60,104,31,67,40,219,23,67,140,233,32, +67,104,158,23,67,140,233,32,67,98,72,150,23,67,140,233,32,67,232,135,23,67,180,209,32,67,40,126,23,67,148,180,32,67,99,109,232,120,47,67,72,138,29,67,98,72,60,47,67,52,232,28,67,232,154,45,67,228,63,20,67,200,180,45,67,236,41,20,67,98,24,235,45,67,216, +251,19,67,56,95,54,67,32,80,18,67,184,124,54,67,160,109,18,67,98,248,156,54,67,224,141,18,67,104,135,56,67,24,208,27,67,56,114,56,67,72,229,27,67,98,120,106,56,67,248,236,27,67,88,102,54,67,176,89,28,67,88,247,51,67,168,214,28,67,98,88,239,48,67,84,114, +29,67,8,133,47,67,228,170,29,67,216,120,47,67,80,138,29,67,99,109,76,248,131,67,116,129,27,67,98,76,248,131,67,32,110,27,67,116,204,131,67,236,180,25,67,204,150,131,67,248,172,23,67,98,36,97,131,67,8,165,21,67,76,57,131,67,140,243,19,67,68,62,131,67, +172,233,19,67,98,68,79,131,67,172,199,19,67,28,203,134,67,24,106,18,67,172,210,134,67,124,130,18,67,98,140,226,134,67,232,181,18,67,172,156,135,67,148,3,26,67,172,147,135,67,148,21,26,67,98,124,142,135,67,252,31,26,67,204,214,134,67,244,114,26,67,132, +251,133,67,240,205,26,67,98,52,32,133,67,244,40,27,67,148,82,132,67,120,126,27,67,132,50,132,67,0,140,27,67,98,124,18,132,67,128,153,27,67,76,248,131,67,184,148,27,67,84,248,131,67,100,129,27,67,99,109,104,185,71,67,204,22,26,67,98,104,185,71,67,140, +16,26,67,248,63,71,67,188,192,23,67,40,173,70,67,176,243,20,67,98,72,167,69,67,208,244,15,67,232,163,69,67,156,219,15,67,120,250,69,67,156,199,15,67,98,40,6,71,67,200,137,15,67,104,63,79,67,40,230,13,67,248,67,79,67,192,237,13,67,98,248,89,79,67,76,18, +14,67,120,74,81,67,108,17,24,67,8,62,81,67,232,29,24,67,98,72,53,81,67,164,38,24,67,152,56,79,67,140,148,24,67,184,211,76,67,244,17,25,67,98,232,110,74,67,92,143,25,67,136,78,72,67,236,255,25,67,24,26,72,67,20,12,26,67,98,168,229,71,67,88,24,26,67,40, +186,71,67,36,29,26,67,104,185,71,67,228,22,26,67,99,109,12,218,144,67,148,94,21,67,98,172,200,144,67,80,34,21,67,164,109,144,67,120,95,17,67,132,119,144,67,96,76,17,67,98,172,137,144,67,44,41,17,67,124,91,146,67,64,116,16,67,68,103,146,67,208,139,16, +67,98,252,115,146,67,60,165,16,67,164,224,146,67,104,179,20,67,236,215,146,67,12,192,20,67,98,212,208,146,67,56,202,20,67,228,4,145,67,108,126,21,67,220,241,144,67,96,126,21,67,98,196,233,144,67,92,126,21,67,28,223,144,67,8,112,21,67,12,218,144,67,148, +94,21,67,99,109,8,188,95,67,228,251,16,67,98,232,65,95,67,68,152,14,67,24,219,94,67,196,146,12,67,88,215,94,67,236,125,12,67,98,200,204,94,67,204,65,12,67,200,46,103,67,168,145,10,67,216,67,103,67,176,203,10,67,98,248,97,103,67,140,30,11,67,136,25,105, +67,84,172,19,67,8,12,105,67,84,172,19,67,98,248,4,105,67,84,172,19,67,216,41,103,67,168,11,20,67,248,235,100,67,40,128,20,67,98,40,174,98,67,168,244,20,67,152,202,96,67,252,83,21,67,72,185,96,67,252,83,21,67,98,8,168,96,67,252,83,21,67,8,54,96,67,140, +95,19,67,248,187,95,67,228,251,16,67,99,109,72,68,11,67,64,15,18,67,98,216,56,11,67,124,230,17,67,8,35,11,67,100,130,17,67,232,19,11,67,216,48,17,67,98,184,4,11,67,72,223,16,67,216,239,10,67,200,125,16,67,72,229,10,67,36,88,16,67,98,88,214,10,67,4,34, +16,67,152,8,11,67,4,9,16,67,152,213,11,67,176,224,15,67,98,72,100,12,67,160,196,15,67,200,226,12,67,128,183,15,67,200,238,12,67,128,195,15,67,98,216,250,12,67,144,207,15,67,248,28,13,67,36,78,16,67,200,58,13,67,236,220,16,67,98,168,118,13,67,28,252,17, +67,72,132,13,67,148,232,17,67,168,81,12,67,224,44,18,67,98,168,87,11,67,136,100,18,67,120,92,11,67,12,101,18,67,72,68,11,67,64,15,18,67,99,109,232,137,121,67,16,63,15,67,98,216,110,121,67,20,185,14,67,200,25,121,67,200,29,13,67,248,204,120,67,24,173, +11,67,98,104,107,120,67,44,217,9,67,200,79,120,67,232,9,9,67,120,113,120,67,208,254,8,67,98,24,206,120,67,92,224,8,67,104,151,126,67,180,193,7,67,88,215,126,67,224,193,7,67,98,104,9,127,67,0,194,7,67,200,63,127,67,244,138,8,67,120,202,127,67,172,68,11, +67,98,92,22,128,67,236,50,13,67,132,55,128,67,148,211,14,67,236,46,128,67,140,226,14,67,98,180,31,128,67,24,253,14,67,152,80,122,67,184,50,16,67,24,237,121,67,172,50,16,67,98,152,209,121,67,164,50,16,67,248,164,121,67,8,197,15,67,248,137,121,67,8,63, +15,67,99,109,120,231,34,67,108,121,15,67,98,120,189,34,67,144,248,14,67,232,13,34,67,104,59,11,67,120,29,34,67,224,43,11,67,98,8,62,34,67,68,11,11,67,24,32,38,67,48,87,10,67,168,54,38,67,196,109,10,67,98,232,82,38,67,0,138,10,67,136,44,39,67,4,184,14, +67,184,25,39,67,204,201,14,67,98,8,18,39,67,24,209,14,67,168,32,38,67,88,6,15,67,88,1,37,67,32,64,15,67,98,24,147,35,67,208,137,15,67,120,242,34,67,240,154,15,67,120,231,34,67,112,121,15,67,99,109,232,226,57,67,32,149,9,67,98,88,73,57,67,108,166,6,67, +136,61,57,67,176,68,6,67,104,122,57,67,44,51,6,67,98,248,11,58,67,68,9,6,67,24,129,63,67,88,240,4,67,24,137,63,67,92,251,4,67,98,216,141,63,67,208,1,5,67,136,221,63,67,108,134,6,67,72,58,64,67,0,91,8,67,108,232,226,64,67,4,175,11,67,108,104,250,61,67, +120,73,12,67,98,232,96,60,67,100,158,12,67,184,244,58,67,192,227,12,67,248,208,58,67,160,227,12,67,98,152,158,58,67,160,227,12,67,24,105,58,67,44,37,12,67,232,226,57,67,32,149,9,67,99,109,104,18,83,67,72,139,8,67,98,168,226,82,67,176,245,7,67,232,207, +81,67,104,107,2,67,168,223,81,67,168,91,2,67,98,8,1,82,67,72,58,2,67,232,198,87,67,244,19,1,67,56,221,87,67,68,42,1,67,98,88,240,87,67,104,61,1,67,248,66,89,67,164,151,7,67,200,51,89,67,164,151,7,67,98,184,48,89,67,164,151,7,67,248,238,87,67,96,218,7, +67,24,105,86,67,236,43,8,67,98,200,80,83,67,164,209,8,67,56,42,83,67,244,213,8,67,104,18,83,67,64,139,8,67,99,109,72,17,20,67,196,107,2,67,98,248,199,19,67,176,246,0,67,168,177,19,67,52,49,0,67,216,206,19,67,244,30,0,67,98,40,8,20,67,56,246,255,66,152, +187,23,67,216,129,254,66,40,204,23,67,120,172,254,66,98,232,227,23,67,200,233,254,66,184,188,24,67,108,171,3,67,8,174,24,67,16,186,3,67,98,56,163,24,67,224,196,3,67,136,173,20,67,32,157,4,67,232,133,20,67,32,157,4,67,98,88,130,20,67,32,157,4,67,232,77, +20,67,136,160,3,67,72,17,20,67,196,107,2,67,99,109,56,162,108,67,76,10,3,67,98,56,162,108,67,76,5,3,67,120,122,108,67,100,62,2,67,232,73,108,67,52,80,1,67,98,88,25,108,67,16,98,0,67,216,251,107,67,216,41,255,66,104,8,108,67,200,16,255,66,98,232,37,108, +67,168,213,254,66,120,38,111,67,248,153,253,66,8,58,111,67,240,192,253,66,98,72,79,111,67,136,235,253,66,136,239,111,67,204,212,1,67,168,240,111,67,52,38,2,67,98,168,240,111,67,208,90,2,67,8,145,111,67,164,125,2,67,232,73,110,67,220,190,2,67,98,232,96, +109,67,88,237,2,67,56,162,108,67,68,15,3,67,56,162,108,67,68,10,3,67,99,109,104,93,44,67,4,46,1,67,98,120,252,43,67,240,169,255,66,56,62,43,67,8,70,247,66,24,93,43,67,192,14,247,66,98,216,129,43,67,0,205,246,66,184,190,48,67,120,160,244,66,88,210,48, +67,200,202,244,66,98,232,243,48,67,248,18,245,66,232,0,50,67,144,63,0,67,232,233,49,67,248,84,0,67,98,8,209,49,67,20,108,0,67,232,219,44,67,60,122,1,67,40,143,44,67,184,120,1,67,98,88,127,44,67,184,120,1,67,232,104,44,67,208,86,1,67,104,93,44,67,4,46, +1,67,99,109,216,149,68,67,216,211,251,66,98,216,149,68,67,200,204,251,66,168,73,68,67,240,209,248,66,136,236,67,67,240,52,245,66,98,88,143,67,67,0,152,241,66,136,77,67,67,96,142,238,66,72,90,67,67,232,116,238,66,98,152,117,67,67,40,62,238,66,88,113,73, +67,176,198,235,66,72,131,73,67,176,234,235,66,98,24,156,73,67,96,28,236,66,232,231,74,67,88,14,249,66,88,215,74,67,96,47,249,66,98,184,198,74,67,160,80,249,66,200,149,68,67,8,238,251,66,200,149,68,67,216,211,251,66,99,109,88,123,93,67,240,150,241,66, +98,120,16,93,67,160,49,238,66,88,117,92,67,120,151,231,66,168,140,92,67,48,110,231,66,98,72,188,92,67,16,26,231,66,104,97,97,67,232,94,229,66,88,125,97,67,232,150,229,66,98,24,155,97,67,88,210,229,66,120,133,98,67,56,152,238,66,40,136,98,67,152,147,239, +66,98,56,138,98,67,120,42,240,66,24,68,98,67,184,89,240,66,136,13,96,67,56,66,241,66,98,120,146,93,67,184,70,242,66,8,145,93,67,240,70,242,66,104,123,93,67,240,150,241,66,99,109,200,164,118,67,184,174,231,66,98,56,137,118,67,184,5,231,66,168,241,117, +67,32,217,224,66,248,252,117,67,32,217,224,66,98,216,2,118,67,32,217,224,66,8,194,118,67,128,140,224,66,152,165,119,67,216,46,224,66,98,40,137,120,67,48,209,223,66,136,70,121,67,104,142,223,66,88,74,121,67,144,154,223,66,98,56,91,121,67,72,207,223,66, +200,9,122,67,88,149,230,66,200,255,121,67,16,164,230,66,98,184,249,121,67,48,173,230,66,104,57,121,67,144,2,231,66,168,84,120,67,56,98,231,66,98,88,41,119,67,72,223,231,66,40,176,118,67,208,244,231,66,200,164,118,67,184,174,231,66,99,109,200,187,55,67, +0,10,222,66,98,72,141,55,67,184,8,220,66,8,132,55,67,72,31,220,66,72,176,56,67,32,181,219,66,98,168,92,57,67,40,120,219,66,168,103,57,67,224,147,219,66,24,149,57,67,184,241,221,66,108,152,177,57,67,136,109,223,66,108,216,14,57,67,72,163,223,66,98,184, +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) +{ + XmlElement svg ("svg"); + XmlElement* path = svg.createNewChildElement ("path"); + path->setAttribute ("d", pathString); + + ScopedPointer d (Drawable::createFromSVG (svg)); + DrawablePath* dp = dynamic_cast (d->getChildComponent(0)); + jassert (dp != nullptr); + Path p (dp->getPath()); + + p.applyTransform (RectanglePlacement (RectanglePlacement::centred).getTransformToFit (p.getBounds(), + Rectangle (500.0f, 500.0f))); + + MemoryOutputStream data; + p.writePathToStream (data); + + MemoryOutputStream out; + CodeHelpers::writeDataAsCppLiteral (data.getMemoryBlock(), out, false, true); + + DBG (out.toString() << newLine); +}*/ + +Icons::Icons() +{ + #define JUCE_LOAD_PATH_DATA(name) \ + name.loadPathFromData (IconPathData::name, sizeof (IconPathData::name)); + + /* Some of the icon images used here are based on icons from this project: + 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 (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/Projucer/Source/Utility/jucer_Icons.h b/extras/Projucer/Source/Utility/jucer_Icons.h new file mode 100644 index 00000000..c2bbddcf --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_Icons.h @@ -0,0 +1,82 @@ +/* + ============================================================================== + + 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_ICONS_H_INCLUDED +#define JUCER_ICONS_H_INCLUDED + + +//============================================================================== +struct Icon +{ + Icon() : path (nullptr) {} + Icon (const Path& p, Colour c) : path (&p), colour (c) {} + Icon (const Path* p, Colour c) : path (p), colour (c) {} + + void draw (Graphics& g, const juce::Rectangle& area, bool isCrossedOut) const + { + if (path != nullptr) + { + g.setColour (colour); + + const RectanglePlacement placement (RectanglePlacement::centred | RectanglePlacement::onlyReduceInSize); + g.fillPath (*path, placement.getTransformToFit (path->getBounds(), area)); + + if (isCrossedOut) + { + g.setColour (Colours::red.withAlpha (0.8f)); + g.drawLine ((float) area.getX(), area.getY() + area.getHeight() * 0.2f, + (float) area.getRight(), area.getY() + area.getHeight() * 0.8f, 3.0f); + } + } + } + + Icon withContrastingColourTo (Colour background) const + { + return Icon (path, background.contrasting (colour, 0.6f)); + } + + const Path* path; + Colour colour; +}; + +//============================================================================== +class Icons +{ +public: + Icons(); + + Path folder, document, imageDoc, + config, exporter, juceLogo, + graph, jigsaw, info, warning, + bug, play, code, box, + mainJuceLogo; + +private: + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Icons) +}; + +const Icons& getIcons(); + + +#endif // JUCER_ICONS_H_INCLUDED diff --git a/extras/Projucer/Source/Utility/jucer_JucerTreeViewBase.cpp b/extras/Projucer/Source/Utility/jucer_JucerTreeViewBase.cpp new file mode 100644 index 00000000..7299ab6c --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_JucerTreeViewBase.cpp @@ -0,0 +1,265 @@ +/* + ============================================================================== + + 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_JucerTreeViewBase.h" +#include "../Project/jucer_ProjectContentComponent.h" + + +//============================================================================== +void TreePanelBase::setRoot (JucerTreeViewBase* root) +{ + rootItem = root; + tree.setRootItem (root); + tree.getRootItem()->setOpen (true); + + if (project != nullptr) + { + const ScopedPointer treeOpenness (project->getStoredProperties() + .getXmlValue (opennessStateKey)); + if (treeOpenness != nullptr) + { + tree.restoreOpennessState (*treeOpenness, true); + + for (int i = tree.getNumSelectedItems(); --i >= 0;) + if (JucerTreeViewBase* item = dynamic_cast (tree.getSelectedItem (i))) + item->cancelDelayedSelectionTimer(); + } + } +} + +void TreePanelBase::saveOpenness() +{ + if (project != nullptr) + { + const ScopedPointer opennessState (tree.getOpennessState (true)); + + if (opennessState != nullptr) + project->getStoredProperties().setValue (opennessStateKey, opennessState); + else + project->getStoredProperties().removeValue (opennessStateKey); + } +} + +//============================================================================== +JucerTreeViewBase::JucerTreeViewBase() : textX (0) +{ + setLinesDrawnForSubItems (false); +} + +JucerTreeViewBase::~JucerTreeViewBase() +{ + masterReference.clear(); +} + +void JucerTreeViewBase::refreshSubItems() +{ + WholeTreeOpennessRestorer wtor (*this); + clearSubItems(); + addSubItems(); +} + +Font JucerTreeViewBase::getFont() const +{ + return Font (getItemHeight() * 0.6f); +} + +void JucerTreeViewBase::paintOpenCloseButton (Graphics& g, const Rectangle& area, Colour /*backgroundColour*/, bool isMouseOver) +{ + TreeViewItem::paintOpenCloseButton (g, area, getOwnerView()->findColour (mainBackgroundColourId), isMouseOver); +} + +Colour JucerTreeViewBase::getBackgroundColour() const +{ + Colour background (getOwnerView()->findColour (mainBackgroundColourId)); + + if (isSelected()) + background = background.overlaidWith (getOwnerView()->findColour (TreeView::selectedItemBackgroundColourId)); + + return background; +} + +Colour JucerTreeViewBase::getContrastingColour (float contrast) const +{ + return getBackgroundColour().contrasting (contrast); +} + +Colour JucerTreeViewBase::getContrastingColour (Colour target, float minContrast) const +{ + return getBackgroundColour().contrasting (target, minContrast); +} + +void JucerTreeViewBase::paintContent (Graphics& g, const Rectangle& area) +{ + g.setFont (getFont()); + g.setColour (isMissing() ? getContrastingColour (Colours::red, 0.8f) + : getContrastingColour (0.8f)); + + g.drawFittedText (getDisplayName(), area, Justification::centredLeft, 1, 0.8f); +} + +Component* JucerTreeViewBase::createItemComponent() +{ + return new TreeItemComponent (*this); +} + +//============================================================================== +class RenameTreeItemCallback : public ModalComponentManager::Callback, + public TextEditorListener +{ +public: + RenameTreeItemCallback (JucerTreeViewBase& ti, Component& parent, const Rectangle& bounds) + : item (ti) + { + ed.setMultiLine (false, false); + ed.setPopupMenuEnabled (false); + ed.setSelectAllWhenFocused (true); + ed.setFont (item.getFont()); + ed.addListener (this); + ed.setText (item.getRenamingName()); + ed.setBounds (bounds); + + parent.addAndMakeVisible (ed); + ed.enterModalState (true, this); + } + + void modalStateFinished (int resultCode) override + { + if (resultCode != 0) + item.setName (ed.getText()); + } + + void textEditorTextChanged (TextEditor&) override {} + void textEditorReturnKeyPressed (TextEditor& editor) override { editor.exitModalState (1); } + void textEditorEscapeKeyPressed (TextEditor& editor) override { editor.exitModalState (0); } + void textEditorFocusLost (TextEditor& editor) override { editor.exitModalState (0); } + +private: + struct RenameEditor : public TextEditor + { + void inputAttemptWhenModal() override { exitModalState (0); } + }; + + RenameEditor ed; + JucerTreeViewBase& item; + + JUCE_DECLARE_NON_COPYABLE (RenameTreeItemCallback) +}; + +void JucerTreeViewBase::showRenameBox() +{ + Rectangle r (getItemPosition (true)); + r.setLeft (r.getX() + textX); + r.setHeight (getItemHeight()); + + new RenameTreeItemCallback (*this, *getOwnerView(), r); +} + +void JucerTreeViewBase::itemClicked (const MouseEvent& e) +{ + if (e.mods.isPopupMenu()) + { + if (getOwnerView()->getNumSelectedItems() > 1) + showMultiSelectionPopupMenu(); + else + showPopupMenu(); + } + else if (isSelected()) + { + itemSelectionChanged (true); + } +} + +void JucerTreeViewBase::deleteItem() {} +void JucerTreeViewBase::deleteAllSelectedItems() {} +void JucerTreeViewBase::showDocument() {} +void JucerTreeViewBase::showPopupMenu() {} +void JucerTreeViewBase::showMultiSelectionPopupMenu() {} + +static void treeViewMenuItemChosen (int resultCode, WeakReference item) +{ + if (item != nullptr) + item->handlePopupMenuResult (resultCode); +} + +void JucerTreeViewBase::launchPopupMenu (PopupMenu& m) +{ + m.showMenuAsync (PopupMenu::Options(), + ModalCallbackFunction::create (treeViewMenuItemChosen, WeakReference (this))); +} + +void JucerTreeViewBase::handlePopupMenuResult (int) +{ +} + +ProjectContentComponent* JucerTreeViewBase::getProjectContentComponent() const +{ + for (Component* c = getOwnerView(); c != nullptr; c = c->getParentComponent()) + if (ProjectContentComponent* pcc = dynamic_cast (c)) + return pcc; + + return nullptr; +} + +//============================================================================== +class JucerTreeViewBase::ItemSelectionTimer : public Timer +{ +public: + ItemSelectionTimer (JucerTreeViewBase& tvb) : owner (tvb) {} + + void timerCallback() override { owner.invokeShowDocument(); } + +private: + JucerTreeViewBase& owner; + JUCE_DECLARE_NON_COPYABLE (ItemSelectionTimer) +}; + +void JucerTreeViewBase::itemSelectionChanged (bool isNowSelected) +{ + if (isNowSelected) + { + delayedSelectionTimer = new ItemSelectionTimer (*this); + delayedSelectionTimer->startTimer (getMillisecsAllowedForDragGesture()); + } + else + { + cancelDelayedSelectionTimer(); + } +} + +void JucerTreeViewBase::invokeShowDocument() +{ + cancelDelayedSelectionTimer(); + showDocument(); +} + +void JucerTreeViewBase::itemDoubleClicked (const MouseEvent&) +{ + invokeShowDocument(); +} + +void JucerTreeViewBase::cancelDelayedSelectionTimer() +{ + delayedSelectionTimer = nullptr; +} diff --git a/extras/Projucer/Source/Utility/jucer_JucerTreeViewBase.h b/extras/Projucer/Source/Utility/jucer_JucerTreeViewBase.h new file mode 100644 index 00000000..a703ce0a --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_JucerTreeViewBase.h @@ -0,0 +1,234 @@ +/* + ============================================================================== + + 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_JUCERTREEVIEWBASE_H_INCLUDED +#define JUCER_JUCERTREEVIEWBASE_H_INCLUDED + +class ProjectContentComponent; +class Project; + +//============================================================================== +class JucerTreeViewBase : public TreeViewItem +{ +public: + JucerTreeViewBase(); + ~JucerTreeViewBase(); + + int getItemWidth() const override { return -1; } + int getItemHeight() const override { return isRoot() ? 23 : 20; } + + void paintOpenCloseButton (Graphics&, const Rectangle& area, Colour backgroundColour, bool isMouseOver) override; + Component* createItemComponent() override; + void itemClicked (const MouseEvent& e) override; + void itemSelectionChanged (bool isNowSelected) override; + void itemDoubleClicked (const MouseEvent&) override; + + void cancelDelayedSelectionTimer(); + + //============================================================================== + virtual bool isRoot() const { return false; } + virtual Font getFont() const; + virtual String getRenamingName() const = 0; + virtual String getDisplayName() const = 0; + virtual void setName (const String& newName) = 0; + virtual bool isMissing() = 0; + virtual Icon getIcon() const = 0; + virtual bool isIconCrossedOut() const { return false; } + virtual void paintIcon (Graphics& g, Rectangle area) { getIcon().draw (g, area.reduced (2).toFloat(), isIconCrossedOut()); } + virtual void paintContent (Graphics& g, const Rectangle& area); + virtual int getMillisecsAllowedForDragGesture() { return 120; }; + virtual File getDraggableFile() const { return File(); } + + void refreshSubItems(); + virtual void deleteItem(); + virtual void deleteAllSelectedItems(); + virtual void showDocument(); + virtual void showMultiSelectionPopupMenu(); + virtual void showRenameBox(); + + void launchPopupMenu (PopupMenu&); // runs asynchronously, and produces a callback to handlePopupMenuResult(). + virtual void showPopupMenu(); + virtual void handlePopupMenuResult (int resultCode); + + //============================================================================== + // To handle situations where an item gets deleted before openness is + // restored for it, this OpennessRestorer keeps only a pointer to the + // topmost tree item. + struct WholeTreeOpennessRestorer : public OpennessRestorer + { + WholeTreeOpennessRestorer (TreeViewItem& item) : OpennessRestorer (getTopLevelItem (item)) + {} + + private: + static TreeViewItem& getTopLevelItem (TreeViewItem& item) + { + if (TreeViewItem* const p = item.getParentItem()) + return getTopLevelItem (*p); + + return item; + } + }; + + int textX; + + Colour getBackgroundColour() const; + Colour getContrastingColour (float contrast) const; + Colour getContrastingColour (Colour targetColour, float minContrast) const; + +protected: + ProjectContentComponent* getProjectContentComponent() const; + virtual void addSubItems() {} + +private: + class ItemSelectionTimer; + friend class ItemSelectionTimer; + ScopedPointer delayedSelectionTimer; + + WeakReference::Master masterReference; + friend class WeakReference; + + void invokeShowDocument(); +}; + +//============================================================================== +class TreePanelBase : public Component +{ +public: + TreePanelBase (const Project* p, const String& treeviewID) + : project (p), opennessStateKey (treeviewID) + { + addAndMakeVisible (tree); + tree.setRootItemVisible (true); + tree.setDefaultOpenness (true); + tree.setColour (TreeView::backgroundColourId, Colours::transparentBlack); + tree.setIndentSize (14); + tree.getViewport()->setScrollBarThickness (14); + } + + ~TreePanelBase() + { + tree.setRootItem (nullptr); + } + + void setRoot (JucerTreeViewBase*); + void saveOpenness(); + + void deleteSelectedItems() + { + if (rootItem != nullptr) + rootItem->deleteAllSelectedItems(); + } + + void setEmptyTreeMessage (const String& newMessage) + { + if (emptyTreeMessage != newMessage) + { + emptyTreeMessage = newMessage; + repaint(); + } + } + + static void drawEmptyPanelMessage (Component& comp, Graphics& g, const String& message) + { + const int fontHeight = 13; + const Rectangle area (comp.getLocalBounds()); + g.setColour (comp.findColour (mainBackgroundColourId).contrasting (0.7f)); + g.setFont ((float) fontHeight); + g.drawFittedText (message, area.reduced (4, 2), Justification::centred, area.getHeight() / fontHeight); + } + + void paint (Graphics& g) override + { + if (emptyTreeMessage.isNotEmpty() && (rootItem == nullptr || rootItem->getNumSubItems() == 0)) + drawEmptyPanelMessage (*this, g, emptyTreeMessage); + } + + void resized() override + { + tree.setBounds (getAvailableBounds()); + } + + Rectangle getAvailableBounds() const + { + return Rectangle (0, 2, getWidth() - 2, getHeight() - 2); + } + + const Project* project; + TreeView tree; + ScopedPointer rootItem; + +private: + String opennessStateKey, emptyTreeMessage; +}; + +//============================================================================== +class TreeItemComponent : public Component +{ +public: + TreeItemComponent (JucerTreeViewBase& i) : item (i) + { + setInterceptsMouseClicks (false, true); + } + + void paint (Graphics& g) override + { + g.setColour (Colours::black); + + Rectangle localBounds (getLocalBounds()); + + const int border = 5; + localBounds.removeFromLeft (border); + + item.paintIcon (g, localBounds.removeFromLeft (15)); + + localBounds.removeFromLeft (border); + localBounds.removeFromRight (border); + + item.paintContent (g, localBounds); + } + + void resized() override + { + item.textX = getHeight() + 4; + + Rectangle r (getLocalBounds()); + + for (int i = buttons.size(); --i >= 0;) + buttons.getUnchecked(i)->setBounds (r.removeFromRight (r.getHeight())); + } + + void addRightHandButton (Component* button) + { + buttons.add (button); + addAndMakeVisible (button); + } + + JucerTreeViewBase& item; + OwnedArray buttons; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TreeItemComponent) +}; + + +#endif // JUCER_JUCERTREEVIEWBASE_H_INCLUDED diff --git a/extras/Projucer/Source/Utility/jucer_MiscUtilities.cpp b/extras/Projucer/Source/Utility/jucer_MiscUtilities.cpp new file mode 100644 index 00000000..f722a20b --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_MiscUtilities.cpp @@ -0,0 +1,277 @@ +/* + ============================================================================== + + 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" + +//============================================================================== +String createAlphaNumericUID() +{ + String uid; + const char chars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + Random r; + + uid << chars [r.nextInt (52)]; // make sure the first character is always a letter + + for (int i = 5; --i >= 0;) + { + r.setSeedRandomly(); + uid << chars [r.nextInt (62)]; + } + + return uid; +} + +String hexString8Digits (int value) +{ + return String::toHexString (value).paddedLeft ('0', 8); +} + +String createGUID (const String& seed) +{ + const String hex (MD5 ((seed + "_guidsalt").toUTF8()).toHexString().toUpperCase()); + + return "{" + hex.substring (0, 8) + + "-" + hex.substring (8, 12) + + "-" + hex.substring (12, 16) + + "-" + hex.substring (16, 20) + + "-" + hex.substring (20, 32) + + "}"; +} + +String escapeSpaces (const String& s) +{ + return s.replace (" ", "\\ "); +} + +String addQuotesIfContainsSpaces (const String& text) +{ + return (text.containsChar (' ') && ! text.isQuotedString()) ? text.quoted() : text; +} + +void setValueIfVoid (Value value, const var& defaultValue) +{ + if (value.getValue().isVoid()) + value = defaultValue; +} + +//============================================================================== +StringPairArray parsePreprocessorDefs (const String& text) +{ + StringPairArray result; + String::CharPointerType s (text.getCharPointer()); + + while (! s.isEmpty()) + { + String token, value; + s = s.findEndOfWhitespace(); + + while ((! s.isEmpty()) && *s != '=' && ! s.isWhitespace()) + token << s.getAndAdvance(); + + s = s.findEndOfWhitespace(); + + if (*s == '=') + { + ++s; + + s = s.findEndOfWhitespace(); + + while ((! s.isEmpty()) && ! s.isWhitespace()) + { + if (*s == ',') + { + ++s; + break; + } + + if (*s == '\\' && (s[1] == ' ' || s[1] == ',')) + ++s; + + value << s.getAndAdvance(); + } + } + + if (token.isNotEmpty()) + result.set (token, value); + } + + return result; +} + +StringPairArray mergePreprocessorDefs (StringPairArray inheritedDefs, const StringPairArray& overridingDefs) +{ + for (int i = 0; i < overridingDefs.size(); ++i) + inheritedDefs.set (overridingDefs.getAllKeys()[i], overridingDefs.getAllValues()[i]); + + return inheritedDefs; +} + +String createGCCPreprocessorFlags (const StringPairArray& defs) +{ + String s; + + for (int i = 0; i < defs.size(); ++i) + { + String def (defs.getAllKeys()[i]); + const String value (defs.getAllValues()[i]); + if (value.isNotEmpty()) + def << "=" << value; + + if (! def.endsWithChar ('"')) + def = def.quoted(); + + s += " -D " + def; + } + + return s; +} + +String replacePreprocessorDefs (const StringPairArray& definitions, String sourceString) +{ + for (int i = 0; i < definitions.size(); ++i) + { + const String key (definitions.getAllKeys()[i]); + const String value (definitions.getAllValues()[i]); + + sourceString = sourceString.replace ("${" + key + "}", value); + } + + return sourceString; +} + +StringArray getSearchPathsFromString (const String& searchPath) +{ + StringArray s; + s.addTokens (searchPath, ";\r\n", StringRef()); + return getCleanedStringArray (s); +} + +StringArray getCommaOrWhitespaceSeparatedItems (const String& sourceString) +{ + StringArray s; + s.addTokens (sourceString, ", \t\r\n", StringRef()); + return getCleanedStringArray (s); +} + +StringArray getCleanedStringArray (StringArray s) +{ + s.trim(); + s.removeEmptyStrings(); + s.removeDuplicates (false); + return s; +} + +//============================================================================== +static bool keyFoundAndNotSequentialDuplicate (XmlElement* xml, const String& key) +{ + forEachXmlChildElementWithTagName (*xml, element, "key") + { + if (element->getAllSubText().trim().equalsIgnoreCase (key)) + { + if (element->getNextElement() != nullptr && element->getNextElement()->hasTagName ("key")) + { + // found broken plist format (sequential duplicate), fix by removing + xml->removeChildElement (element, true); + return false; + } + + // key found (not sequential duplicate) + return true; + } + } + + // key not found + return false; +} + +static bool addKeyIfNotFound (XmlElement* xml, const String& key) +{ + if (! keyFoundAndNotSequentialDuplicate (xml, key)) + { + xml->createNewChildElement ("key")->addTextElement (key); + return true; + } + + return false; +} + +void addPlistDictionaryKey (XmlElement* xml, const String& key, const String& value) +{ + if (addKeyIfNotFound (xml, key)) + xml->createNewChildElement ("string")->addTextElement (value); +} + +void addPlistDictionaryKeyBool (XmlElement* xml, const String& key, const bool value) +{ + if (addKeyIfNotFound (xml, key)) + xml->createNewChildElement (value ? "true" : "false"); +} + +void addPlistDictionaryKeyInt (XmlElement* xml, const String& key, int value) +{ + if (addKeyIfNotFound (xml, key)) + xml->createNewChildElement ("integer")->addTextElement (String (value)); +} + +//============================================================================== +void autoScrollForMouseEvent (const MouseEvent& e, bool scrollX, bool scrollY) +{ + if (Viewport* const viewport = e.eventComponent->findParentComponentOfClass()) + { + const MouseEvent e2 (e.getEventRelativeTo (viewport)); + viewport->autoScroll (scrollX ? e2.x : 20, scrollY ? e2.y : 20, 8, 16); + } +} + +//============================================================================== +int indexOfLineStartingWith (const StringArray& lines, const String& text, int index) +{ + const int len = text.length(); + + for (const String* i = lines.begin() + index, * const e = lines.end(); i < e; ++i) + { + if (CharacterFunctions::compareUpTo (i->getCharPointer().findEndOfWhitespace(), + text.getCharPointer(), len) == 0) + return index; + + ++index; + } + + return -1; +} + +//============================================================================== +bool fileNeedsCppSyntaxHighlighting (const File& file) +{ + if (file.hasFileExtension (sourceOrHeaderFileExtensions)) + return true; + + // This is a bit of a bodge to deal with libc++ headers with no extension.. + char fileStart[128] = { 0 }; + FileInputStream fin (file); + fin.read (fileStart, sizeof (fileStart) - 4); + + return CharPointer_UTF8::isValidString (fileStart, sizeof (fileStart)) + && String (fileStart).trimStart().startsWith ("// -*- C++ -*-"); +} diff --git a/extras/Projucer/Source/Utility/jucer_MiscUtilities.h b/extras/Projucer/Source/Utility/jucer_MiscUtilities.h new file mode 100644 index 00000000..22ce43f2 --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_MiscUtilities.h @@ -0,0 +1,109 @@ +/* + ============================================================================== + + 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_MISCUTILITIES_H_INCLUDED +#define JUCER_MISCUTILITIES_H_INCLUDED + + +String hexString8Digits (int value); + +String createAlphaNumericUID(); +String createGUID (const String& seed); // Turns a seed into a windows GUID + +String escapeSpaces (const String& text); // replaces spaces with blackslash-space +String addQuotesIfContainsSpaces (const String& text); + +StringPairArray parsePreprocessorDefs (const String& defs); +StringPairArray mergePreprocessorDefs (StringPairArray inheritedDefs, const StringPairArray& overridingDefs); +String createGCCPreprocessorFlags (const StringPairArray& defs); +String replacePreprocessorDefs (const StringPairArray& definitions, String sourceString); + +StringArray getCleanedStringArray (StringArray); +StringArray getSearchPathsFromString (const String& searchPath); +StringArray getCommaOrWhitespaceSeparatedItems (const String&); + +void setValueIfVoid (Value value, const var& defaultValue); + +void addPlistDictionaryKey (XmlElement* xml, const String& key, const String& value); +void addPlistDictionaryKeyBool (XmlElement* xml, const String& key, bool value); +void addPlistDictionaryKeyInt (XmlElement* xml, const String& key, int value); + +bool fileNeedsCppSyntaxHighlighting (const File& file); + +//============================================================================== +int indexOfLineStartingWith (const StringArray& lines, const String& text, int startIndex); + +void autoScrollForMouseEvent (const MouseEvent& e, bool scrollX = true, bool scrollY = true); + +//============================================================================== +struct PropertyListBuilder +{ + void add (PropertyComponent* propertyComp) + { + components.add (propertyComp); + } + + void add (PropertyComponent* propertyComp, const String& tooltip) + { + propertyComp->setTooltip (tooltip); + add (propertyComp); + } + + void addSearchPathProperty (const Value& value, const String& name, const String& mainHelpText) + { + add (new TextPropertyComponent (value, name, 16384, true), + mainHelpText + " Use semi-colons or new-lines to separate multiple paths."); + } + + void setPreferredHeight (int height) + { + for (int j = components.size(); --j >= 0;) + components.getUnchecked(j)->setPreferredHeight (height); + } + + Array components; +}; + +//============================================================================== +// A ValueSource which takes an input source, and forwards any changes in it. +// This class is a handy way to create sources which re-map a value. +class ValueSourceFilter : public Value::ValueSource, + public Value::Listener +{ +public: + ValueSourceFilter (const Value& source) : sourceValue (source) + { + sourceValue.addListener (this); + } + + void valueChanged (Value&) override { sendChangeMessage (true); } + +protected: + Value sourceValue; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ValueSourceFilter) +}; + + +#endif // JUCER_MISCUTILITIES_H_INCLUDED diff --git a/extras/Projucer/Source/Utility/jucer_PresetIDs.h b/extras/Projucer/Source/Utility/jucer_PresetIDs.h new file mode 100644 index 00000000..3bbb26e2 --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_PresetIDs.h @@ -0,0 +1,236 @@ +/* + ============================================================================== + + 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_PRESETIDS_H_INCLUDED +#define JUCER_PRESETIDS_H_INCLUDED + + +// Handy list of static Identifiers.. +namespace Ids +{ + #define DECLARE_ID(name) const Identifier name (#name) + + DECLARE_ID (name); + DECLARE_ID (file); + DECLARE_ID (path); + DECLARE_ID (text); + DECLARE_ID (vendor); + DECLARE_ID (version); + DECLARE_ID (license); + DECLARE_ID (include); + DECLARE_ID (info); + DECLARE_ID (description); + DECLARE_ID (companyName); + DECLARE_ID (companyWebsite); + DECLARE_ID (companyEmail); + DECLARE_ID (position); + DECLARE_ID (source); + DECLARE_ID (width); + DECLARE_ID (height); + DECLARE_ID (bounds); + DECLARE_ID (background); + DECLARE_ID (initialState); + DECLARE_ID (targetFolder); + DECLARE_ID (intermediatesPath); + DECLARE_ID (modulePaths); + DECLARE_ID (searchpaths); + DECLARE_ID (vstFolder); + DECLARE_ID (vst3Folder); + DECLARE_ID (rtasFolder); + DECLARE_ID (auFolder); + DECLARE_ID (vst2Path); + DECLARE_ID (vst3Path); + DECLARE_ID (rtasPath); + DECLARE_ID (aaxPath); + DECLARE_ID (flags); + DECLARE_ID (line); + DECLARE_ID (index); + DECLARE_ID (type); + DECLARE_ID (time); + DECLARE_ID (extraCompilerFlags); + DECLARE_ID (extraLinkerFlags); + DECLARE_ID (externalLibraries); + DECLARE_ID (extraDefs); + DECLARE_ID (projectType); + DECLARE_ID (isDebug); + DECLARE_ID (alwaysGenerateDebugSymbols); + DECLARE_ID (targetName); + DECLARE_ID (binaryPath); + DECLARE_ID (optimisation); + DECLARE_ID (defines); + DECLARE_ID (headerPath); + DECLARE_ID (systemHeaderPath); + DECLARE_ID (libraryPath); + DECLARE_ID (customXcodeFlags); + DECLARE_ID (customXcassetsFolder); + DECLARE_ID (customXcodeResourceFolders); + DECLARE_ID (cppLanguageStandard); + DECLARE_ID (cppLibType); + DECLARE_ID (codeSigningIdentity); + DECLARE_ID (fastMath); + DECLARE_ID (linkTimeOptimisation); + DECLARE_ID (stripLocalSymbols); + DECLARE_ID (xcodeVstBinaryLocation); + DECLARE_ID (xcodeVst3BinaryLocation); + DECLARE_ID (xcodeAudioUnitBinaryLocation); + DECLARE_ID (xcodeRtasBinaryLocation); + DECLARE_ID (xcodeAaxBinaryLocation); + DECLARE_ID (osxSDK); + DECLARE_ID (osxCompatibility); + DECLARE_ID (osxArchitecture); + DECLARE_ID (iosCompatibility); + DECLARE_ID (extraFrameworks); + DECLARE_ID (extraDLLs); + DECLARE_ID (winArchitecture); + DECLARE_ID (winWarningLevel); + DECLARE_ID (warningsAreErrors); + DECLARE_ID (linuxArchitecture); + DECLARE_ID (toolset); + DECLARE_ID (IPPLibrary); + DECLARE_ID (msvcModuleDefinitionFile); + DECLARE_ID (bigIcon); + DECLARE_ID (smallIcon); + DECLARE_ID (jucerVersion); + DECLARE_ID (prebuildCommand); + DECLARE_ID (postbuildCommand); + DECLARE_ID (generateManifest); + DECLARE_ID (useRuntimeLibDLL); + DECLARE_ID (wholeProgramOptimisation); + DECLARE_ID (buildVST); + DECLARE_ID (bundleIdentifier); + DECLARE_ID (aaxIdentifier); + DECLARE_ID (aaxCategory); + DECLARE_ID (aaxFolder); + DECLARE_ID (compile); + DECLARE_ID (noWarnings); + DECLARE_ID (resource); + DECLARE_ID (xcodeResource); + DECLARE_ID (className); + DECLARE_ID (classDesc); + DECLARE_ID (controlPoint); + DECLARE_ID (createCallback); + DECLARE_ID (parentClasses); + DECLARE_ID (constructorParams); + DECLARE_ID (objectConstructionArgs); + DECLARE_ID (memberInitialisers); + DECLARE_ID (canBeAggregated); + DECLARE_ID (rootItemVisible); + DECLARE_ID (openByDefault); + DECLARE_ID (locked); + DECLARE_ID (tooltip); + DECLARE_ID (memberName); + DECLARE_ID (markerName); + DECLARE_ID (focusOrder); + DECLARE_ID (hidden); + DECLARE_ID (useStdCall); + DECLARE_ID (showAllCode); + DECLARE_ID (useLocalCopy); + DECLARE_ID (overwriteOnSave); + DECLARE_ID (androidActivityClass); + DECLARE_ID (androidActivitySubClassName); + DECLARE_ID (androidVersionCode); + DECLARE_ID (androidSDKPath); + DECLARE_ID (androidNDKPath); + DECLARE_ID (androidInternetNeeded); + DECLARE_ID (androidArchitectures); + DECLARE_ID (androidMicNeeded); + DECLARE_ID (androidBluetoothNeeded); + DECLARE_ID (androidMinimumSDK); + DECLARE_ID (androidOtherPermissions); + DECLARE_ID (androidKeyStore); + DECLARE_ID (androidKeyStorePass); + DECLARE_ID (androidKeyAlias); + DECLARE_ID (androidKeyAliasPass); + DECLARE_ID (androidTheme); + DECLARE_ID (androidStaticLibraries); + DECLARE_ID (androidSharedLibraries); + DECLARE_ID (androidScreenOrientation); + DECLARE_ID (iosScreenOrientation); + DECLARE_ID (iosInAppPurchases); + DECLARE_ID (iosBackgroundAudio); + DECLARE_ID (iosBackgroundBle); + DECLARE_ID (iosDevelopmentTeamID); + DECLARE_ID (buildToolsVersion); + DECLARE_ID (gradleVersion); + DECLARE_ID (gradleWrapperVersion); + DECLARE_ID (gradleToolchain); + DECLARE_ID (gradleToolchainVersion); + DECLARE_ID (font); + DECLARE_ID (colour); + DECLARE_ID (userNotes); + DECLARE_ID (maxBinaryFileSize); + DECLARE_ID (includeBinaryInAppConfig); + DECLARE_ID (characterSet); + DECLARE_ID (JUCERPROJECT); + DECLARE_ID (MAINGROUP); + DECLARE_ID (EXPORTFORMATS); + DECLARE_ID (GROUP); + DECLARE_ID (FILE); + DECLARE_ID (MODULES); + DECLARE_ID (MODULE); + DECLARE_ID (JUCEOPTIONS); + DECLARE_ID (CONFIGURATIONS); + 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 +} + +#endif // JUCER_PRESETIDS_H_INCLUDED diff --git a/extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.cpp b/extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.cpp new file mode 100644 index 00000000..3e536b35 --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.cpp @@ -0,0 +1,146 @@ +/* + ============================================================================== + + 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_ProjucerLookAndFeel.h" + + +ProjucerLookAndFeel::ProjucerLookAndFeel() +{ + setColour (mainBackgroundColourId, Colour::greyLevel (0.8f)); +} + +int ProjucerLookAndFeel::getTabButtonBestWidth (TabBarButton&, int) +{ + return 120; +} + +Colour ProjucerLookAndFeel::getTabBackgroundColour (TabBarButton& button) +{ + const Colour bkg (button.findColour (mainBackgroundColourId).contrasting (0.15f)); + + if (button.isFrontTab()) + return bkg.overlaidWith (Colours::yellow.withAlpha (0.5f)); + + return bkg; +} + +void ProjucerLookAndFeel::drawTabButton (TabBarButton& button, Graphics& g, bool isMouseOver, bool isMouseDown) +{ + const Rectangle activeArea (button.getActiveArea()); + + const Colour bkg (getTabBackgroundColour (button)); + + g.setGradientFill (ColourGradient (bkg.brighter (0.1f), 0, (float) activeArea.getY(), + bkg.darker (0.1f), 0, (float) activeArea.getBottom(), false)); + g.fillRect (activeArea); + + g.setColour (button.findColour (mainBackgroundColourId).darker (0.3f)); + g.drawRect (activeArea); + + const float alpha = button.isEnabled() ? ((isMouseOver || isMouseDown) ? 1.0f : 0.8f) : 0.3f; + const Colour col (bkg.contrasting().withMultipliedAlpha (alpha)); + + TextLayout textLayout; + LookAndFeel_V3::createTabTextLayout (button, (float) activeArea.getWidth(), (float) activeArea.getHeight(), col, textLayout); + + textLayout.draw (g, button.getTextArea().toFloat()); +} + +void ProjucerLookAndFeel::drawConcertinaPanelHeader (Graphics& g, const Rectangle& area, + bool isMouseOver, bool /*isMouseDown*/, + ConcertinaPanel&, Component& panel) +{ + const Colour bkg (Colours::grey); + + g.setGradientFill (ColourGradient (Colour::greyLevel (isMouseOver ? 0.6f : 0.5f), 0, (float) area.getY(), + Colour::greyLevel (0.4f), 0, (float) area.getBottom(), false)); + g.fillAll(); + + g.setColour (bkg.contrasting().withAlpha (0.1f)); + g.fillRect (area.withHeight (1)); + g.fillRect (area.withTop (area.getBottom() - 1)); + + g.setColour (bkg.contrasting()); + g.setFont (Font (area.getHeight() * 0.6f).boldened()); + g.drawFittedText (panel.getName(), 4, 0, area.getWidth() - 6, area.getHeight(), Justification::centredLeft, 1); +} + +static Range getBrightnessRange (const Image& im) +{ + float minB = 1.0f, maxB = 0; + const int w = im.getWidth(); + const int h = im.getHeight(); + + for (int y = 0; y < h; ++y) + { + for (int x = 0; x < w; ++x) + { + const float b = im.getPixelAt (x, y).getBrightness(); + minB = jmin (minB, b); + maxB = jmax (maxB, b); + } + } + + return Range (minB, maxB); +} + +void ProjucerLookAndFeel::fillWithBackgroundTexture (Graphics& g) +{ + const Colour bkg (findColour (mainBackgroundColourId)); + + if (backgroundTextureBaseColour != bkg) + { + backgroundTextureBaseColour = bkg; + + const Image original (ImageCache::getFromMemory (BinaryData::background_tile_png, + BinaryData::background_tile_pngSize)); + const int w = original.getWidth(); + const int h = original.getHeight(); + + backgroundTexture = Image (Image::RGB, w, h, false); + + const Range brightnessRange (getBrightnessRange (original)); + const float brightnessOffset = (brightnessRange.getStart() + brightnessRange.getEnd()) / 2.0f; + const float brightnessScale = 0.025f / brightnessRange.getLength(); + const float bkgB = bkg.getBrightness(); + + for (int y = 0; y < h; ++y) + { + for (int x = 0; x < w; ++x) + { + const float b = (original.getPixelAt (x, y).getBrightness() - brightnessOffset) * brightnessScale; + backgroundTexture.setPixelAt (x, y, bkg.withBrightness (jlimit (0.0f, 1.0f, bkgB + b))); + } + } + } + + g.setTiledImageFill (backgroundTexture, 0, 0, 1.0f); + g.fillAll(); +} + +void ProjucerLookAndFeel::fillWithBackgroundTexture (Component& c, Graphics& g) +{ + dynamic_cast (c.getLookAndFeel()).fillWithBackgroundTexture (g); +} diff --git a/extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.h b/extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.h new file mode 100644 index 00000000..43387b18 --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.h @@ -0,0 +1,51 @@ +/* + ============================================================================== + + 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_PROJUCERLOOKANDFEEL_H_INCLUDED +#define JUCER_PROJUCERLOOKANDFEEL_H_INCLUDED + + +//============================================================================== +class ProjucerLookAndFeel : public LookAndFeel_V3 +{ +public: + ProjucerLookAndFeel(); + + void fillWithBackgroundTexture (Graphics&); + static void fillWithBackgroundTexture (Component&, Graphics&); + + void drawTabButton (TabBarButton& button, Graphics&, bool isMouseOver, bool isMouseDown) override; + void drawTabAreaBehindFrontButton (TabbedButtonBar&, Graphics&, int, int) override {} + int getTabButtonBestWidth (TabBarButton&, int tabDepth) override; + void drawConcertinaPanelHeader (Graphics&, const juce::Rectangle&, bool, bool, ConcertinaPanel&, Component&) override; + static Colour getTabBackgroundColour (TabBarButton&); + +private: + Image backgroundTexture; + Colour backgroundTextureBaseColour; +}; + + + +#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/Projucer/Source/Utility/jucer_SVGPathDataComponent.h b/extras/Projucer/Source/Utility/jucer_SVGPathDataComponent.h new file mode 100644 index 00000000..af29a2c5 --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_SVGPathDataComponent.h @@ -0,0 +1,124 @@ +/* + ============================================================================== + + 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 SVGPathDataComponent : public Component, + private TextEditorListener +{ +public: + SVGPathDataComponent() + : desc (String::empty, + "Paste an SVG path string into the top box, and it'll be converted to some C++ " + "code that will load it as a Path object..") + { + desc.setJustificationType (Justification::centred); + desc.setColour (Label::textColourId, Colours::white); + addAndMakeVisible (desc); + + const Colour bkgd (Colours::white.withAlpha (0.6f)); + + userText.setFont (getAppSettings().appearance.getCodeFont().withHeight (13.0f)); + userText.setMultiLine (true, true); + userText.setReturnKeyStartsNewLine (true); + userText.setColour (TextEditor::backgroundColourId, bkgd); + addAndMakeVisible (userText); + userText.addListener (this); + + resultText.setFont (getAppSettings().appearance.getCodeFont().withHeight (13.0f)); + resultText.setMultiLine (true, true); + resultText.setColour (TextEditor::backgroundColourId, bkgd); + resultText.setReadOnly (true); + resultText.setSelectAllWhenFocused (true); + addAndMakeVisible (resultText); + + userText.setText (getLastText()); + } + + void textEditorTextChanged (TextEditor&) override + { + update(); + } + + void textEditorEscapeKeyPressed (TextEditor&) override + { + getTopLevelComponent()->exitModalState (0); + } + + void update() + { + getLastText() = userText.getText(); + + path = Drawable::parseSVGPath (getLastText().trim().unquoted().trim()); + + String result = "No path generated.. Not a valid SVG path string?"; + + if (! path.isEmpty()) + { + MemoryOutputStream data; + path.writePathToStream (data); + + MemoryOutputStream out; + + out << "static const unsigned char pathData[] = "; + CodeHelpers::writeDataAsCppLiteral (data.getMemoryBlock(), out, false, true); + out << newLine + << newLine + << "Path path;" << newLine + << "path.loadPathFromData (pathData, sizeof (pathData));" << newLine; + + result = out.toString(); + } + + resultText.setText (result, false); + repaint (previewPathArea); + } + + void resized() override + { + Rectangle r (getLocalBounds().reduced (8)); + desc.setBounds (r.removeFromTop (44)); + r.removeFromTop (8); + userText.setBounds (r.removeFromTop (r.getHeight() / 2)); + r.removeFromTop (8); + previewPathArea = r.removeFromRight (r.getHeight()); + resultText.setBounds (r); + } + + void paint (Graphics& g) override + { + g.setColour (Colours::white); + g.fillPath (path, path.getTransformToScaleToFit (previewPathArea.reduced (4).toFloat(), true)); + } + +private: + Label desc; + TextEditor userText, resultText; + Rectangle previewPathArea; + Path path; + + String& getLastText() + { + static String t; + return t; + } +}; diff --git a/extras/Projucer/Source/Utility/jucer_SlidingPanelComponent.cpp b/extras/Projucer/Source/Utility/jucer_SlidingPanelComponent.cpp new file mode 100644 index 00000000..05227768 --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_SlidingPanelComponent.cpp @@ -0,0 +1,114 @@ +/* + ============================================================================== + + 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_SlidingPanelComponent.h" + + +struct SlidingPanelComponent::DotButton : public Button +{ + DotButton (SlidingPanelComponent& sp, int pageIndex) + : Button (String()), owner (sp), index (pageIndex) {} + + void paintButton (Graphics& g, bool /*isMouseOverButton*/, bool /*isButtonDown*/) override + { + g.setColour (Colours::white); + const Rectangle r (getLocalBounds().reduced (getWidth() / 4).toFloat()); + + if (index == owner.getCurrentTabIndex()) + g.fillEllipse (r); + else + g.drawEllipse (r, 1.0f); + } + + void clicked() override + { + owner.goToTab (index); + } + + SlidingPanelComponent& owner; + int index; +}; + +//============================================================================== +SlidingPanelComponent::SlidingPanelComponent() + : currentIndex (0), dotSize (20) +{ + addAndMakeVisible (pageHolder); +} + +SlidingPanelComponent::~SlidingPanelComponent() +{ +} + +SlidingPanelComponent::PageInfo::~PageInfo() +{ + if (shouldDelete) + content.deleteAndZero(); +} + +void SlidingPanelComponent::addTab (const String& tabName, + Component* const contentComponent, + const bool deleteComponentWhenNotNeeded, + const int insertIndex) +{ + PageInfo* page = new PageInfo(); + pages.insert (insertIndex, page); + page->content = contentComponent; + addAndMakeVisible (page->dotButton = new DotButton (*this, pages.indexOf (page))); + page->name = tabName; + page->shouldDelete = deleteComponentWhenNotNeeded; + + pageHolder.addAndMakeVisible (contentComponent); + resized(); +} + +void SlidingPanelComponent::goToTab (int targetTabIndex) +{ + currentIndex = targetTabIndex; + + Desktop::getInstance().getAnimator() + .animateComponent (&pageHolder, pageHolder.getBounds().withX (-targetTabIndex * getWidth()), + 1.0f, 600, false, 0.0, 0.0); + + repaint(); +} + +void SlidingPanelComponent::resized() +{ + pageHolder.setBounds (-currentIndex * getWidth(), pageHolder.getPosition().y, + getNumTabs() * getWidth(), getHeight()); + + Rectangle content (getLocalBounds()); + + Rectangle dotHolder = content.removeFromBottom (20 + dotSize) + .reduced ((content.getWidth() - dotSize * getNumTabs()) / 2, 10); + + for (int i = 0; i < getNumTabs(); ++i) + pages.getUnchecked(i)->dotButton->setBounds (dotHolder.removeFromLeft (dotSize)); + + for (int i = pages.size(); --i >= 0;) + if (Component* c = pages.getUnchecked(i)->content) + c->setBounds (content.translated (i * content.getWidth(), 0)); +} diff --git a/extras/Projucer/Source/Utility/jucer_SlidingPanelComponent.h b/extras/Projucer/Source/Utility/jucer_SlidingPanelComponent.h new file mode 100644 index 00000000..37812f1d --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_SlidingPanelComponent.h @@ -0,0 +1,84 @@ +/* + ============================================================================== + + 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_SLIDINGPANELCOMPONENT_H_INCLUDED +#define JUCER_SLIDINGPANELCOMPONENT_H_INCLUDED + +#include "../Application/jucer_Application.h" + + +//============================================================================== +class SlidingPanelComponent : public Component +{ +public: + SlidingPanelComponent(); + ~SlidingPanelComponent(); + + /** Adds a new tab to the panel slider. */ + void addTab (const String& tabName, + Component* contentComponent, + bool deleteComponentWhenNotNeeded, + int insertIndex = -1); + + /** Gets rid of one of the tabs. */ + void removeTab (int tabIndex); + + /** Gets index of current tab. */ + int getCurrentTabIndex() const noexcept { return currentIndex; } + + /** Returns the number of tabs. */ + int getNumTabs() const noexcept { return pages.size(); } + + /** Animates the window to the desired tab. */ + void goToTab (int targetTabIndex); + + + //============================================================================== + /** @internal */ + void resized() override; + +private: + struct DotButton; + friend struct DotButton; + + struct PageInfo + { + ~PageInfo(); + + Component::SafePointer content; + ScopedPointer dotButton; + String name; + bool shouldDelete; + }; + + OwnedArray pages; + + Component pageHolder; + int currentIndex, dotSize; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SlidingPanelComponent) +}; + + +#endif // JUCER_SLIDINGPANELCOMPONENT_H_INCLUDED diff --git a/extras/Projucer/Source/Utility/jucer_StoredSettings.cpp b/extras/Projucer/Source/Utility/jucer_StoredSettings.cpp new file mode 100644 index 00000000..9228c673 --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_StoredSettings.cpp @@ -0,0 +1,318 @@ +/* + ============================================================================== + + 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_StoredSettings.h" +#include "../Application/jucer_Application.h" +#include "../Application/jucer_GlobalPreferences.h" + +//============================================================================== +StoredSettings& getAppSettings() +{ + return *ProjucerApplication::getApp().settings; +} + +PropertiesFile& getGlobalProperties() +{ + return getAppSettings().getGlobalProperties(); +} + +//============================================================================== +StoredSettings::StoredSettings() + : appearance (true), projectDefaults ("PROJECT_DEFAULT_SETTINGS") +{ + reload(); + projectDefaults.addListener (this); +} + +StoredSettings::~StoredSettings() +{ + projectDefaults.removeListener (this); + flush(); +} + +PropertiesFile& StoredSettings::getGlobalProperties() +{ + return *propertyFiles.getUnchecked (0); +} + +static PropertiesFile* createPropsFile (const String& filename) +{ + return new PropertiesFile (ProjucerApplication::getApp() + .getPropertyFileOptionsFor (filename)); +} + +PropertiesFile& StoredSettings::getProjectProperties (const String& projectUID) +{ + const String filename ("Introjucer_Project_" + projectUID); + + for (int i = propertyFiles.size(); --i >= 0;) + { + PropertiesFile* const props = propertyFiles.getUnchecked(i); + if (props->getFile().getFileNameWithoutExtension() == filename) + return *props; + } + + PropertiesFile* p = createPropsFile (filename); + propertyFiles.add (p); + return *p; +} + +void StoredSettings::updateGlobalPreferences() +{ + // update global settings editable from the global preferences window + updateAppearanceSettings(); + + // update 'invisible' global settings + updateRecentFiles(); + updateKeyMappings(); +} + +void StoredSettings::updateAppearanceSettings() +{ + const ScopedPointer xml (appearance.settings.createXml()); + getGlobalProperties().setValue ("editorColours", xml); +} + +void StoredSettings::updateRecentFiles() +{ + getGlobalProperties().setValue ("recentFiles", recentFiles.toString()); +} + +void StoredSettings::updateKeyMappings() +{ + getGlobalProperties().removeValue ("keyMappings"); + + if (ApplicationCommandManager* commandManager = ProjucerApplication::getApp().commandManager) + { + const ScopedPointer keys (commandManager->getKeyMappings()->createXml (true)); + + if (keys != nullptr) + getGlobalProperties().setValue ("keyMappings", keys); + } +} + +void StoredSettings::flush() +{ + updateGlobalPreferences(); + saveSwatchColours(); + + for (int i = propertyFiles.size(); --i >= 0;) + propertyFiles.getUnchecked(i)->saveIfNeeded(); +} + +void StoredSettings::reload() +{ + propertyFiles.clear(); + propertyFiles.add (createPropsFile ("Introjucer")); + + ScopedPointer projectDefaultsXml (propertyFiles.getFirst()->getXmlValue ("PROJECT_DEFAULT_SETTINGS")); + + if (projectDefaultsXml != nullptr) + projectDefaults = ValueTree::fromXml (*projectDefaultsXml); + + // recent files... + recentFiles.restoreFromString (getGlobalProperties().getValue ("recentFiles")); + recentFiles.removeNonExistentFiles(); + + ScopedPointer xml (getGlobalProperties().getXmlValue ("editorColours")); + + if (xml == nullptr) + { + xml = XmlDocument::parse (BinaryData::colourscheme_dark_xml); + jassert (xml != nullptr); + } + + appearance.readFromXML (*xml); + + appearance.updateColourScheme(); + loadSwatchColours(); +} + +Array StoredSettings::getLastProjects() +{ + StringArray s; + s.addTokens (getGlobalProperties().getValue ("lastProjects"), "|", ""); + + Array f; + for (int i = 0; i < s.size(); ++i) + f.add (File (s[i])); + + return f; +} + +void StoredSettings::setLastProjects (const Array& files) +{ + StringArray s; + for (int i = 0; i < files.size(); ++i) + s.add (files.getReference(i).getFullPathName()); + + getGlobalProperties().setValue ("lastProjects", s.joinIntoString ("|")); +} + +//============================================================================== +void StoredSettings::loadSwatchColours() +{ + swatchColours.clear(); + + #define COL(col) Colours::col, + + const Colour colours[] = + { + #include "jucer_Colours.h" + Colours::transparentBlack + }; + + #undef COL + + const int numSwatchColours = 24; + PropertiesFile& props = getGlobalProperties(); + + for (int i = 0; i < numSwatchColours; ++i) + swatchColours.add (Colour::fromString (props.getValue ("swatchColour" + String (i), + colours [2 + i].toString()))); +} + +void StoredSettings::saveSwatchColours() +{ + PropertiesFile& props = getGlobalProperties(); + + for (int i = 0; i < swatchColours.size(); ++i) + props.setValue ("swatchColour" + String (i), swatchColours.getReference(i).toString()); +} + +int StoredSettings::ColourSelectorWithSwatches::getNumSwatches() const +{ + return getAppSettings().swatchColours.size(); +} + +Colour StoredSettings::ColourSelectorWithSwatches::getSwatchColour (int index) const +{ + return getAppSettings().swatchColours [index]; +} + +void StoredSettings::ColourSelectorWithSwatches::setSwatchColour (int index, const Colour& newColour) const +{ + getAppSettings().swatchColours.set (index, newColour); +} + +//============================================================================== +static bool doesSDKPathContainFile (const String& path, const String& fileToCheckFor) +{ + String actualPath = path.replace ("${user.home}", File::getSpecialLocation (File::userHomeDirectory).getFullPathName()); + return File::getCurrentWorkingDirectory().getChildFile (actualPath + "/" + fileToCheckFor).existsAsFile(); +} + +Value StoredSettings::getGlobalPath (const Identifier& key, DependencyPathOS os) +{ + Value v (projectDefaults.getPropertyAsValue (key, nullptr)); + + if (v.toString().isEmpty()) + v = getFallbackPath (key, os); + + return v; +} + +String StoredSettings::getFallbackPath (const Identifier& key, DependencyPathOS os) +{ + if (key == Ids::vst2Path || key == Ids::vst3Path) + return os == TargetOS::windows ? "c:\\SDKs\\VST3 SDK" + : "~/SDKs/VST3 SDK"; + + if (key == Ids::rtasPath) + { + 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; + return String(); + } + + if (key == Ids::aaxPath) + { + if (os == TargetOS::windows) return "c:\\SDKs\\AAX"; + if (os == TargetOS::osx) return "~/SDKs/AAX" ; + + // no AAX on this OS! + jassertfalse; + return String(); + } + + if (key == Ids::androidSDKPath) + return "${user.home}/Library/Android/sdk"; + + if (key == Ids::androidNDKPath) + return "${user.home}/Library/Android/sdk/ndk-bundle"; + + // didn't recognise the key provided! + jassertfalse; + return String(); +} + +bool StoredSettings::isGlobalPathValid (const Identifier& key, const String& path) +{ + String fileToCheckFor; + + if (key == Ids::vst2Path) + { + fileToCheckFor = "public.sdk/source/vst2.x/audioeffectx.h"; + } + else if (key == Ids::vst3Path) + { + fileToCheckFor = "base/source/baseiids.cpp"; + } + else if (key == Ids::rtasPath) + { + fileToCheckFor = "AlturaPorts/TDMPlugIns/PlugInLibrary/EffectClasses/CEffectProcessMIDI.cpp"; + } + else if (key == Ids::aaxPath) + { + fileToCheckFor = "Interfaces/AAX_Exports.cpp"; + } + else if (key == Ids::androidSDKPath) + { + #if JUCE_WINDOWS + fileToCheckFor = "platform-tools/adb.exe"; + #else + fileToCheckFor = "platform-tools/adb"; + #endif + } + else if (key == Ids::androidNDKPath) + { + #if JUCE_WINDOWS + fileToCheckFor = "ndk-depends.exe"; + #else + fileToCheckFor = "ndk-depends"; + #endif + } + else + { + // didn't recognise the key provided! + jassertfalse; + return false; + } + + return doesSDKPathContainFile (path, fileToCheckFor); +} 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/Projucer/Source/Utility/jucer_TranslationTool.h b/extras/Projucer/Source/Utility/jucer_TranslationTool.h new file mode 100644 index 00000000..2fa6f927 --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_TranslationTool.h @@ -0,0 +1,461 @@ +/* + ============================================================================== + + 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_TRANSLATIONTOOL_H_INCLUDED +#define JUCER_TRANSLATIONTOOL_H_INCLUDED + + +struct TranslationHelpers +{ + static void addString (StringArray& strings, const String& s) + { + if (s.isNotEmpty() && ! strings.contains (s)) + strings.add (s); + } + + static void scanFileForTranslations (StringArray& strings, const File& file) + { + const String content (file.loadFileAsString()); + + String::CharPointerType p (content.getCharPointer()); + + for (;;) + { + p = CharacterFunctions::find (p, CharPointer_ASCII ("TRANS")); + + if (p.isEmpty()) + break; + + p += 5; + p = p.findEndOfWhitespace(); + + if (*p == '(') + { + ++p; + MemoryOutputStream text; + parseStringLiteral (p, text); + + addString (strings, text.toString()); + } + } + } + + static void parseStringLiteral (String::CharPointerType& p, MemoryOutputStream& out) noexcept + { + p = p.findEndOfWhitespace(); + + if (p.getAndAdvance() == '"') + { + String::CharPointerType start (p); + + for (;;) + { + juce_wchar c = *p; + + if (c == '"') + { + out << String (start, p); + ++p; + parseStringLiteral (p, out); + return; + } + + if (c == 0) + break; + + if (c == '\\') + { + out << String (start, p); + ++p; + out << String::charToString (readEscapedChar (p)); + start = p + 1; + } + + ++p; + } + } + } + + static juce_wchar readEscapedChar (String::CharPointerType& p) + { + juce_wchar c = *p; + + switch (c) + { + case '"': + case '\\': + case '/': break; + + case 'b': c = '\b'; break; + case 'f': c = '\f'; break; + case 'n': c = '\n'; break; + case 'r': c = '\r'; break; + case 't': c = '\t'; break; + + case 'x': + ++p; + c = 0; + + for (int i = 4; --i >= 0;) + { + const int digitValue = CharacterFunctions::getHexDigitValue (*p); + if (digitValue < 0) + break; + + ++p; + c = (juce_wchar) ((c << 4) + digitValue); + } + + break; + + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + c = 0; + + for (int i = 4; --i >= 0;) + { + const int digitValue = *p - '0'; + if (digitValue < 0 || digitValue > 7) + break; + + ++p; + c = (juce_wchar) ((c << 3) + digitValue); + } + + break; + + default: + break; + } + + return c; + } + + static void scanFilesForTranslations (StringArray& strings, const Project::Item& p) + { + if (p.isFile()) + { + const File file (p.getFile()); + + if (file.hasFileExtension (sourceOrHeaderFileExtensions)) + scanFileForTranslations (strings, file); + } + + for (int i = 0; i < p.getNumChildren(); ++i) + scanFilesForTranslations (strings, p.getChild (i)); + } + + static void scanProject (StringArray& strings, Project& project) + { + scanFilesForTranslations (strings, project.getMainGroup()); + + OwnedArray modules; + project.getModules().createRequiredModules (modules); + + for (int j = 0; j < modules.size(); ++j) + { + const File localFolder (modules.getUnchecked(j)->getFolder()); + + Array files; + modules.getUnchecked(j)->findBrowseableFiles (localFolder, files); + + for (int i = 0; i < files.size(); ++i) + scanFileForTranslations (strings, files.getReference(i)); + } + } + + static const char* getMungingSeparator() { return "JCTRIDX"; } + + static StringArray breakApart (const String& munged) + { + StringArray lines, result; + lines.addLines (munged); + + String currentItem; + + for (int i = 0; i < lines.size(); ++i) + { + if (lines[i].contains (getMungingSeparator())) + { + if (currentItem.isNotEmpty()) + result.add (currentItem); + + currentItem = String::empty; + } + else + { + if (currentItem.isNotEmpty()) + currentItem << newLine; + + currentItem << lines[i]; + } + } + + if (currentItem.isNotEmpty()) + result.add (currentItem); + + return result; + } + + static String escapeString (const String& s) + { + return s.replace ("\"", "\\\"") + .replace ("\'", "\\\'") + .replace ("\t", "\\t") + .replace ("\r", "\\r") + .replace ("\n", "\\n"); + } + + static String getPreTranslationText (Project& project) + { + StringArray strings; + scanProject (strings, project); + return mungeStrings (strings); + } + + static String getPreTranslationText (const LocalisedStrings& strings) + { + return mungeStrings (strings.getMappings().getAllKeys()); + } + + static String mungeStrings (const StringArray& strings) + { + MemoryOutputStream s; + + for (int i = 0; i < strings.size(); ++i) + { + s << getMungingSeparator() << i << "." << newLine << strings[i]; + + if (i < strings.size() - 1) + s << newLine; + } + + return s.toString(); + } + + static String createLine (const String& preString, const String& postString) + { + return "\"" + escapeString (preString) + + "\" = \"" + + escapeString (postString) + "\""; + } + + static String createFinishedTranslationFile (StringArray preStrings, + StringArray postStrings, + const LocalisedStrings& original) + { + const StringPairArray& originalStrings (original.getMappings()); + + StringArray lines; + + if (originalStrings.size() > 0) + { + lines.add ("language: " + original.getLanguageName()); + lines.add ("countries: " + original.getCountryCodes().joinIntoString (" ")); + lines.add (String::empty); + + const StringArray& originalKeys (originalStrings.getAllKeys()); + const StringArray& originalValues (originalStrings.getAllValues()); + int numRemoved = 0; + + for (int i = preStrings.size(); --i >= 0;) + { + if (originalKeys.contains (preStrings[i])) + { + preStrings.remove (i); + postStrings.remove (i); + ++numRemoved; + } + } + + for (int i = 0; i < originalStrings.size(); ++i) + lines.add (createLine (originalKeys[i], originalValues[i])); + } + else + { + lines.add ("language: [enter full name of the language here!]"); + lines.add ("countries: [enter list of 2-character country codes here!]"); + lines.add (String::empty); + } + + for (int i = 0; i < preStrings.size(); ++i) + lines.add (createLine (preStrings[i], postStrings[i])); + + return lines.joinIntoString (newLine); + } +}; + +//============================================================================== +class TranslationToolComponent : public Component, + public ButtonListener +{ +public: + TranslationToolComponent() + : editorOriginal (documentOriginal, nullptr), + editorPre (documentPre, nullptr), + editorPost (documentPost, nullptr), + editorResult (documentResult, nullptr) + { + setLookAndFeel (&lf); + + instructionsLabel.setText ( + "This utility converts translation files to/from a format that can be passed to automatic translation tools." + "\n\n" + "First, choose whether to scan the current project for all TRANS() macros, or " + "pick an existing translation file to load:", dontSendNotification); + addAndMakeVisible (instructionsLabel); + + label1.setText ("..then copy-and-paste this annotated text into Google Translate or some other translator:", dontSendNotification); + addAndMakeVisible (label1); + + label2.setText ("...then, take the translated result and paste it into the box below:", dontSendNotification); + addAndMakeVisible (label2); + + label3.setText ("Finally, click the 'Generate' button, and a translation file will be created below. " + "Remember to update its language code at the top!", dontSendNotification); + addAndMakeVisible (label3); + + label4.setText ("If you load an existing file the already translated strings will be removed. Ensure this box is empty to create a fresh translation", dontSendNotification); + addAndMakeVisible (label4); + + addAndMakeVisible (editorOriginal); + addAndMakeVisible (editorPre); + addAndMakeVisible (editorPost); + addAndMakeVisible (editorResult); + + generateButton.setButtonText (TRANS("Generate")); + addAndMakeVisible (generateButton); + scanButton.setButtonText ("Scan Project for TRANS macros"); + addAndMakeVisible (scanButton); + loadButton.setButtonText ("Load existing translation File..."); + addAndMakeVisible (loadButton); + generateButton.addListener (this); + + scanButton.addListener (this); + loadButton.addListener (this); + } + + void paint (Graphics& g) override + { + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); + } + + void resized() override + { + const int m = 6; + const int textH = 44; + const int extraH = (7 * textH); + const int editorH = (getHeight() - extraH) / 4; + + Rectangle r (getLocalBounds().withTrimmedBottom (m)); + instructionsLabel.setBounds (r.removeFromTop (textH * 2).reduced (m)); + r.removeFromTop (m); + Rectangle r2 (r.removeFromTop (textH - (2 * m))); + scanButton.setBounds (r2.removeFromLeft (r.getWidth() / 2).reduced (m, 0)); + loadButton.setBounds (r2.reduced (m, 0)); + + label1.setBounds (r.removeFromTop (textH).reduced (m)); + editorPre.setBounds (r.removeFromTop (editorH).reduced (m, 0)); + + label2.setBounds (r.removeFromTop (textH).reduced (m)); + editorPost.setBounds (r.removeFromTop (editorH).reduced (m, 0)); + + r2 = r.removeFromTop (textH); + generateButton.setBounds (r2.removeFromRight (152).reduced (m)); + label3.setBounds (r2.reduced (m)); + editorResult.setBounds (r.removeFromTop (editorH).reduced (m, 0)); + + label4.setBounds (r.removeFromTop (textH).reduced (m)); + editorOriginal.setBounds (r.reduced (m, 0)); + } + +private: + CodeDocument documentOriginal, documentPre, documentPost, documentResult; + CodeEditorComponent editorOriginal, editorPre, editorPost, editorResult; + juce::Label label1, label2, label3, label4; + juce::TextButton generateButton; + juce::Label instructionsLabel; + juce::TextButton scanButton; + juce::TextButton loadButton; + + ProjucerLookAndFeel lf; + + void buttonClicked (Button* b) override + { + if (b == &generateButton) generate(); + else if (b == &loadButton) loadFile(); + else if (b == &scanButton) scanProject(); + } + + void generate() + { + StringArray preStrings (TranslationHelpers::breakApart (documentPre.getAllContent())); + StringArray postStrings (TranslationHelpers::breakApart (documentPost.getAllContent())); + + if (postStrings.size() != preStrings.size()) + { + AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, + TRANS("Error"), + TRANS("The pre- and post-translation text doesn't match!\n\n" + "Perhaps it got mangled by the translator?")); + return; + } + + const LocalisedStrings originalTranslation (documentOriginal.getAllContent(), false); + documentResult.replaceAllContent (TranslationHelpers::createFinishedTranslationFile (preStrings, postStrings, originalTranslation)); + } + + void loadFile() + { + FileChooser fc ("Choose a translation file to load", + File::nonexistent, + "*"); + + if (fc.browseForFileToOpen()) + { + const LocalisedStrings loadedStrings (fc.getResult(), false); + documentOriginal.replaceAllContent (fc.getResult().loadFileAsString().trim()); + setPreTranslationText (TranslationHelpers::getPreTranslationText (loadedStrings)); + } + } + + void scanProject() + { + if (Project* project = ProjucerApplication::getApp().mainWindowList.getFrontmostProject()) + setPreTranslationText (TranslationHelpers::getPreTranslationText (*project)); + else + AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, "Translation Tool", + "This will only work when you have a project open!"); + } + + void setPreTranslationText (const String& text) + { + documentPre.replaceAllContent (text); + editorPre.grabKeyboardFocus(); + editorPre.selectAll(); + } +}; + + +#endif // JUCER_TRANSLATIONTOOL_H_INCLUDED diff --git a/extras/Projucer/Source/Utility/jucer_UTF8Component.h b/extras/Projucer/Source/Utility/jucer_UTF8Component.h new file mode 100644 index 00000000..23a363c0 --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_UTF8Component.h @@ -0,0 +1,91 @@ +/* + ============================================================================== + + 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 UTF8Component : public Component, + private TextEditorListener +{ +public: + UTF8Component() + : desc (String::empty, + "Type any string into the box, and it'll be shown below as a portable UTF-8 literal, " + "ready to cut-and-paste into your source-code...") + { + desc.setJustificationType (Justification::centred); + desc.setColour (Label::textColourId, Colours::white); + addAndMakeVisible (desc); + + const Colour bkgd (Colours::white.withAlpha (0.6f)); + + userText.setMultiLine (true, true); + userText.setReturnKeyStartsNewLine (true); + userText.setColour (TextEditor::backgroundColourId, bkgd); + addAndMakeVisible (userText); + userText.addListener (this); + + resultText.setFont (getAppSettings().appearance.getCodeFont().withHeight (13.0f)); + resultText.setMultiLine (true, true); + resultText.setColour (TextEditor::backgroundColourId, bkgd); + resultText.setReadOnly (true); + resultText.setSelectAllWhenFocused (true); + addAndMakeVisible (resultText); + + userText.setText (getLastText()); + } + + void textEditorTextChanged (TextEditor&) + { + update(); + } + + void textEditorEscapeKeyPressed (TextEditor&) + { + getTopLevelComponent()->exitModalState (0); + } + + void update() + { + getLastText() = userText.getText(); + resultText.setText (CodeHelpers::stringLiteral (getLastText(), 100), false); + } + + void resized() + { + Rectangle r (getLocalBounds().reduced (8)); + desc.setBounds (r.removeFromTop (44)); + r.removeFromTop (8); + userText.setBounds (r.removeFromTop (r.getHeight() / 2)); + r.removeFromTop (8); + resultText.setBounds (r); + } + +private: + Label desc; + TextEditor userText, resultText; + + String& getLastText() + { + static String t; + return t; + } +}; 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/Projucer/Source/Wizards/jucer_NewFileWizard.cpp b/extras/Projucer/Source/Wizards/jucer_NewFileWizard.cpp new file mode 100644 index 00000000..0946db02 --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_NewFileWizard.cpp @@ -0,0 +1,266 @@ +/* + ============================================================================== + + 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_NewFileWizard.h" + +NewFileWizard::Type* createGUIComponentWizard(); + +//============================================================================== +namespace +{ + static String fillInBasicTemplateFields (const File& file, const Project::Item& item, const char* templateName) + { + return item.project.getFileTemplate (templateName) + .replace ("FILENAME", file.getFileName(), false) + .replace ("DATE", Time::getCurrentTime().toString (true, true, true), false) + .replace ("AUTHOR", SystemStats::getFullUserName(), false) + .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (file), false) + .replace ("INCLUDE_CORRESPONDING_HEADER", CodeHelpers::createIncludeStatement (file.withFileExtension (".h"), file)); + } + + static bool fillInNewCppFileTemplate (const File& file, const Project::Item& item, const char* templateName) + { + return FileHelpers::overwriteFileWithNewDataIfDifferent (file, fillInBasicTemplateFields (file, item, templateName)); + } + + const int menuBaseID = 0x12d83f0; +} + +//============================================================================== +class NewCppFileWizard : public NewFileWizard::Type +{ +public: + NewCppFileWizard() {} + + String getName() override { return "CPP File"; } + + void createNewFile (Project&, Project::Item parent) override + { + const File newFile (askUserToChooseNewFile ("SourceCode.cpp", "*.cpp", parent)); + + if (newFile != File()) + create (parent, newFile, "jucer_NewCppFileTemplate_cpp"); + } + + static bool create (Project::Item parent, const File& newFile, const char* templateName) + { + if (fillInNewCppFileTemplate (newFile, parent, templateName)) + { + parent.addFileRetainingSortOrder (newFile, true); + return true; + } + + showFailedToWriteMessage (newFile); + return false; + } +}; + +//============================================================================== +class NewHeaderFileWizard : public NewFileWizard::Type +{ +public: + NewHeaderFileWizard() {} + + String getName() override { return "Header File"; } + + void createNewFile (Project&, Project::Item parent) override + { + const File newFile (askUserToChooseNewFile ("SourceCode.h", "*.h", parent)); + + if (newFile != File()) + create (parent, newFile, "jucer_NewCppFileTemplate_h"); + } + + static bool create (Project::Item parent, const File& newFile, const char* templateName) + { + if (fillInNewCppFileTemplate (newFile, parent, templateName)) + { + parent.addFileRetainingSortOrder (newFile, true); + return true; + } + + showFailedToWriteMessage (newFile); + return false; + } +}; + +//============================================================================== +class NewCppAndHeaderFileWizard : public NewFileWizard::Type +{ +public: + NewCppAndHeaderFileWizard() {} + + String getName() override { return "CPP & Header File"; } + + void createNewFile (Project&, Project::Item parent) override + { + const File newFile (askUserToChooseNewFile ("SourceCode.h", "*.h;*.cpp", parent)); + + if (newFile != File()) + { + if (NewCppFileWizard::create (parent, newFile.withFileExtension ("h"), "jucer_NewCppFileTemplate_h")) + NewCppFileWizard::create (parent, newFile.withFileExtension ("cpp"), "jucer_NewCppFileTemplate_cpp"); + } + } +}; + +//============================================================================== +class NewComponentFileWizard : public NewFileWizard::Type +{ +public: + NewComponentFileWizard() {} + + String getName() override { return "Component class (split between a CPP & header)"; } + + void createNewFile (Project&, Project::Item parent) override + { + for (;;) + { + AlertWindow aw (TRANS ("Create new Component class"), + TRANS ("Please enter the name for the new class"), + AlertWindow::NoIcon, nullptr); + + aw.addTextEditor (getClassNameFieldName(), String::empty, String::empty, false); + aw.addButton (TRANS ("Create Files"), 1, KeyPress (KeyPress::returnKey)); + aw.addButton (TRANS ("Cancel"), 0, KeyPress (KeyPress::escapeKey)); + + if (aw.runModalLoop() == 0) + break; + + const String className (aw.getTextEditorContents (getClassNameFieldName()).trim()); + + if (className == CodeHelpers::makeValidIdentifier (className, false, true, false)) + { + const File newFile (askUserToChooseNewFile (className + ".h", "*.h;*.cpp", parent)); + + if (newFile != File()) + createFiles (parent, className, newFile); + + break; + } + } + } + + static bool create (const String& className, Project::Item parent, + const File& newFile, const char* templateName) + { + String content = fillInBasicTemplateFields (newFile, parent, templateName) + .replace ("COMPONENTCLASS", className) + .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (parent.project.getAppIncludeFile(), newFile)); + + if (FileHelpers::overwriteFileWithNewDataIfDifferent (newFile, content)) + { + parent.addFileRetainingSortOrder (newFile, true); + return true; + } + + showFailedToWriteMessage (newFile); + return false; + } + +private: + virtual void createFiles (Project::Item parent, const String& className, const File& newFile) + { + if (create (className, parent, newFile.withFileExtension ("h"), "jucer_NewComponentTemplate_h")) + create (className, parent, newFile.withFileExtension ("cpp"), "jucer_NewComponentTemplate_cpp"); + } + + static String getClassNameFieldName() { return "Class Name"; } +}; + +//============================================================================== +class NewSingleFileComponentFileWizard : public NewComponentFileWizard +{ +public: + NewSingleFileComponentFileWizard() {} + + String getName() override { return "Component class (in a single source file)"; } + + void createFiles (Project::Item parent, const String& className, const File& newFile) override + { + create (className, parent, newFile.withFileExtension ("h"), "jucer_NewInlineComponentTemplate_h"); + } +}; + + +//============================================================================== +void NewFileWizard::Type::showFailedToWriteMessage (const File& file) +{ + AlertWindow::showMessageBox (AlertWindow::WarningIcon, + "Failed to Create File!", + "Couldn't write to the file: " + file.getFullPathName()); +} + +File NewFileWizard::Type::askUserToChooseNewFile (const String& suggestedFilename, const String& wildcard, + const Project::Item& projectGroupToAddTo) +{ + FileChooser fc ("Select File to Create", + projectGroupToAddTo.determineGroupFolder() + .getChildFile (suggestedFilename) + .getNonexistentSibling(), + wildcard); + + if (fc.browseForFileToSave (true)) + return fc.getResult(); + + return File(); +} + +//============================================================================== +NewFileWizard::NewFileWizard() +{ + registerWizard (new NewCppFileWizard()); + registerWizard (new NewHeaderFileWizard()); + registerWizard (new NewCppAndHeaderFileWizard()); + registerWizard (new NewComponentFileWizard()); + registerWizard (new NewSingleFileComponentFileWizard()); + registerWizard (createGUIComponentWizard()); +} + +NewFileWizard::~NewFileWizard() +{ +} + +void NewFileWizard::addWizardsToMenu (PopupMenu& m) const +{ + for (int i = 0; i < wizards.size(); ++i) + m.addItem (menuBaseID + i, "Add New " + wizards.getUnchecked(i)->getName() + "..."); +} + +bool NewFileWizard::runWizardFromMenu (int chosenMenuItemID, Project& project, const Project::Item& projectGroupToAddTo) const +{ + if (Type* wiz = wizards [chosenMenuItemID - menuBaseID]) + { + wiz->createNewFile (project, projectGroupToAddTo); + return true; + } + + return false; +} + +void NewFileWizard::registerWizard (Type* newWizard) +{ + wizards.add (newWizard); +} diff --git a/extras/Projucer/Source/Wizards/jucer_NewFileWizard.h b/extras/Projucer/Source/Wizards/jucer_NewFileWizard.h new file mode 100644 index 00000000..078e6d37 --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_NewFileWizard.h @@ -0,0 +1,71 @@ +/* + ============================================================================== + + 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_NEWFILEWIZARD_H_INCLUDED +#define JUCER_NEWFILEWIZARD_H_INCLUDED + +#include "../jucer_Headers.h" +#include "../Project/jucer_Project.h" + + +//============================================================================== +class NewFileWizard +{ +public: + //============================================================================== + NewFileWizard(); + ~NewFileWizard(); + + //============================================================================== + class Type + { + public: + Type() {} + virtual ~Type() {} + + //============================================================================== + virtual String getName() = 0; + virtual void createNewFile (Project&, Project::Item projectGroupToAddTo) = 0; + + protected: + //============================================================================== + File askUserToChooseNewFile (const String& suggestedFilename, const String& wildcard, + const Project::Item& projectGroupToAddTo); + + static void showFailedToWriteMessage (const File& file); + }; + + //============================================================================== + void addWizardsToMenu (PopupMenu&) const; + bool runWizardFromMenu (int chosenMenuItemID, Project&, + const Project::Item& projectGroupToAddTo) const; + + void registerWizard (Type*); + +private: + OwnedArray wizards; +}; + + +#endif // JUCER_NEWFILEWIZARD_H_INCLUDED diff --git a/extras/Projucer/Source/Wizards/jucer_NewProjectWizard.h b/extras/Projucer/Source/Wizards/jucer_NewProjectWizard.h new file mode 100644 index 00000000..6656c051 --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_NewProjectWizard.h @@ -0,0 +1,229 @@ +/* + ============================================================================== + + 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_NEWPROJECTWIZARD_H_INCLUDED +#define JUCER_NEWPROJECTWIZARD_H_INCLUDED + + +//============================================================================== +static ComboBox& createFileCreationOptionComboBox (Component& setupComp, + OwnedArray& itemsCreated, + const StringArray& fileOptions) +{ + ComboBox* c = new ComboBox(); + itemsCreated.add (c); + setupComp.addChildAndSetID (c, "filesToCreate"); + + c->addItemList (fileOptions, 1); + c->setSelectedId (1, dontSendNotification); + + Label* l = new Label (String::empty, TRANS("Files to Auto-Generate") + ":"); + l->attachToComponent (c, true); + itemsCreated.add (l); + + c->setBounds ("parent.width / 2 + 160, 30, parent.width - 30, top + 22"); + + return *c; +} + +static int getFileCreationComboResult (WizardComp& setupComp) +{ + if (ComboBox* cb = dynamic_cast (setupComp.findChildWithID ("filesToCreate"))) + return cb->getSelectedItemIndex(); + + jassertfalse; + return 0; +} + +static void setExecutableNameForAllTargets (Project& project, const String& exeName) +{ + for (Project::ExporterIterator exporter (project); exporter.next();) + for (ProjectExporter::ConfigIterator config (*exporter); config.next();) + config->getTargetBinaryName() = exeName; +} + +static Project::Item createSourceGroup (Project& project) +{ + return project.getMainGroup().addNewSubGroup ("Source", 0); +} + +static File& getLastWizardFolder() +{ + #if JUCE_WINDOWS + static File lastFolder (File::getSpecialLocation (File::userDocumentsDirectory)); + #else + static File lastFolder (File::getSpecialLocation (File::userHomeDirectory)); + #endif + + return lastFolder; +} + +//============================================================================== +struct NewProjectWizard +{ + NewProjectWizard() {} + virtual ~NewProjectWizard() {} + + //============================================================================== + virtual String getName() const = 0; + virtual String getDescription() const = 0; + virtual const char* getIcon() const = 0; + + virtual void addSetupItems (Component&, OwnedArray&) {} + virtual Result processResultsFromSetupItems (WizardComp&) { return Result::ok(); } + + virtual bool initialiseProject (Project& project) = 0; + + virtual StringArray getDefaultModules() + { + static const char* mods[] = + { + "juce_core", + "juce_events", + "juce_graphics", + "juce_data_structures", + "juce_gui_basics", + "juce_gui_extra", + "juce_cryptography", + "juce_video", + "juce_opengl", + "juce_audio_basics", + "juce_audio_devices", + "juce_audio_formats", + "juce_audio_processors", + nullptr + }; + + return StringArray (mods); + } + + String appTitle; + File targetFolder, projectFile, modulesFolder; + WizardComp* ownerWizardComp; + StringArray failedFiles; + + bool selectJuceFolder() + { + return ModulesFolderPathBox::selectJuceFolder (modulesFolder); + } + + //============================================================================== + Project* runWizard (WizardComp& wc, + const String& projectName, + const File& target) + { + ownerWizardComp = &wc; + appTitle = projectName; + targetFolder = target; + + if (! targetFolder.exists()) + { + if (! targetFolder.createDirectory()) + failedFiles.add (targetFolder.getFullPathName()); + } + else if (FileHelpers::containsAnyNonHiddenFiles (targetFolder)) + { + if (! AlertWindow::showOkCancelBox (AlertWindow::InfoIcon, + TRANS("New JUCE Project"), + TRANS("You chose the folder:\n\nXFLDRX\n\n").replace ("XFLDRX", targetFolder.getFullPathName()) + + TRANS("This folder isn't empty - are you sure you want to create the project there?") + + "\n\n" + + TRANS("Any existing files with the same names may be overwritten by the new files."))) + return nullptr; + } + + projectFile = targetFolder.getChildFile (File::createLegalFileName (appTitle)) + .withFileExtension (Project::projectFileExtension); + + ScopedPointer project (new Project (projectFile)); + + if (failedFiles.size() == 0) + { + project->setFile (projectFile); + project->setTitle (appTitle); + project->getBundleIdentifier() = project->getDefaultBundleIdentifier(); + + if (! initialiseProject (*project)) + return nullptr; + + addExporters (*project, wc); + addDefaultModules (*project, false); + + if (project->save (false, true) != FileBasedDocument::savedOk) + return nullptr; + + project->setChangedFlag (false); + } + + if (failedFiles.size() > 0) + { + AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, + TRANS("Errors in Creating Project!"), + TRANS("The following files couldn't be written:") + + "\n\n" + + failedFiles.joinIntoString ("\n", 0, 10)); + return nullptr; + } + + return project.release(); + } + + //============================================================================== + File getSourceFilesFolder() const + { + return projectFile.getSiblingFile ("Source"); + } + + void createSourceFolder() + { + if (! getSourceFilesFolder().createDirectory()) + failedFiles.add (getSourceFilesFolder().getFullPathName()); + } + + void addDefaultModules (Project& project, bool areModulesCopiedLocally) + { + StringArray mods (getDefaultModules()); + + ModuleList list; + list.addAllModulesInFolder (modulesFolder); + + for (int i = 0; i < mods.size(); ++i) + if (const ModuleDescription* info = list.getModuleWithID (mods[i])) + project.getModules().addModule (info->moduleFolder, areModulesCopiedLocally); + } + + void addExporters (Project& project, WizardComp& wizardComp) + { + StringArray types (wizardComp.platformTargets.getSelectedPlatforms()); + + for (int i = 0; i < types.size(); ++i) + project.addNewExporter (types[i]); + + if (project.getNumExporters() == 0) + project.createExporterForCurrentPlatform(); + } +}; + + +#endif // JUCER_NEWPROJECTWIZARD_H_INCLUDED diff --git a/extras/Projucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp b/extras/Projucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp new file mode 100644 index 00000000..0e4cd5df --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp @@ -0,0 +1,94 @@ +/* + ============================================================================== + + 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_NewProjectWizardClasses.h" +#include "../Project/jucer_ProjectType.h" +#include "../Project/jucer_Module.h" +#include "../Project Saving/jucer_ProjectExporter.h" +#include "../Application/jucer_MainWindow.h" +#include "../Utility/jucer_SlidingPanelComponent.h" + +struct NewProjectWizardClasses +{ + class WizardComp; + #include "jucer_NewProjectWizard.h" + + #include "jucer_ProjectWizard_GUIApp.h" + #include "jucer_ProjectWizard_Console.h" + #include "jucer_ProjectWizard_AudioPlugin.h" + #include "jucer_ProjectWizard_StaticLibrary.h" + #include "jucer_ProjectWizard_DLL.h" + #include "jucer_ProjectWizard_openGL.h" + #include "jucer_ProjectWizard_Animated.h" + #include "jucer_ProjectWizard_AudioApp.h" + #include "jucer_ProjectWizard_Blank.h" + + #include "jucer_NewProjectWizardComponent.h" + #include "jucer_TemplateThumbnailsComponent.h" + #include "jucer_StartPageComponent.h" + + //============================================================================== + static int getNumWizards() noexcept + { + return 9; + } + + static NewProjectWizard* createWizardType (int index) + { + switch (index) + { + case 0: return new NewProjectWizardClasses::GUIAppWizard(); + case 1: return new NewProjectWizardClasses::AnimatedAppWizard(); + case 2: return new NewProjectWizardClasses::OpenGLAppWizard(); + case 3: return new NewProjectWizardClasses::ConsoleAppWizard(); + case 4: return new NewProjectWizardClasses::AudioAppWizard(); + case 5: return new NewProjectWizardClasses::AudioPluginAppWizard(); + case 6: return new NewProjectWizardClasses::StaticLibraryWizard(); + case 7: return new NewProjectWizardClasses::DynamicLibraryWizard(); + case 8: return new NewProjectWizardClasses::BlankAppWizard(); + default: jassertfalse; break; + } + + return nullptr; + } + + static StringArray getWizardNames() + { + StringArray s; + + for (int i = 0; i < getNumWizards(); ++i) + { + ScopedPointer wiz (createWizardType (i)); + s.add (wiz->getName()); + } + + return s; + } +}; + +Component* createNewProjectWizardComponent() +{ + return new NewProjectWizardClasses::StartPageComponent(); +} 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/Projucer/Source/Wizards/jucer_ProjectWizard_Animated.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Animated.h new file mode 100644 index 00000000..c13827b0 --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Animated.h @@ -0,0 +1,77 @@ +/* + ============================================================================== + + 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 AnimatedAppWizard : public NewProjectWizard +{ + AnimatedAppWizard() {} + + String getName() const override { return TRANS("Animated Application"); } + String getDescription() const override { return TRANS("Creates an application which draws an animated graphical display."); } + const char* getIcon() const override { return BinaryData::wizard_AnimatedApp_svg; } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + + File mainCppFile = getSourceFilesFolder().getChildFile ("Main.cpp"); + File contentCompCpp = getSourceFilesFolder().getChildFile ("MainComponent.cpp"); + File contentCompH = contentCompCpp.withFileExtension (".h"); + String contentCompName = "MainContentComponent"; + + project.getProjectTypeValue() = ProjectType_GUIApp::getTypeName(); + + Project::Item sourceGroup (createSourceGroup (project)); + + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), mainCppFile)); + + // create main window + String windowCpp = project.getFileTemplate ("jucer_AnimatedComponentTemplate_cpp") + .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompCpp, windowCpp)) + failedFiles.add (contentCompCpp.getFullPathName()); + + sourceGroup.addFileAtIndex (contentCompCpp, -1, true); + + + // create main cpp + String mainCpp = project.getFileTemplate ("jucer_MainTemplate_SimpleWindow_cpp") + .replace ("APPHEADERS", appHeaders, false) + .replace ("APPCLASSNAME", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) + .replace ("APPNAME", CppTokeniserFunctions::addEscapeChars (appTitle), false) + .replace ("CONTENTCOMPCLASS", contentCompName, false) + .replace ("ALLOWMORETHANONEINSTANCE", "true", false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) + failedFiles.add (mainCppFile.getFullPathName()); + + sourceGroup.addFileAtIndex (mainCppFile,-1, true); + + return true; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AnimatedAppWizard) +}; diff --git a/extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h new file mode 100644 index 00000000..d97ab72d --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h @@ -0,0 +1,84 @@ +/* + ============================================================================== + + 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 AudioAppWizard : public NewProjectWizard +{ + AudioAppWizard() {} + + String getName() const override { return TRANS("Audio Application"); } + String getDescription() const override { return TRANS("Creates a JUCE application with a single window component and audio and MIDI in/out functions."); } + const char* getIcon() const override { return BinaryData::wizard_AudioApp_svg; } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + + File mainCppFile = getSourceFilesFolder().getChildFile ("Main.cpp"); + File contentCompCpp = getSourceFilesFolder().getChildFile ("MainComponent.cpp"); + File contentCompH = contentCompCpp.withFileExtension (".h"); + String contentCompName = "MainContentComponent"; + + project.getProjectTypeValue() = ProjectType_GUIApp::getTypeName(); + + Project::Item sourceGroup (createSourceGroup (project)); + + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), mainCppFile)); + + // create main window + String windowCpp = project.getFileTemplate ("jucer_AudioComponentTemplate_cpp") + .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompCpp, windowCpp)) + failedFiles.add (contentCompCpp.getFullPathName()); + + sourceGroup.addFileAtIndex (contentCompCpp, -1, true); + + + // create main cpp + String mainCpp = project.getFileTemplate ("jucer_MainTemplate_SimpleWindow_cpp") + .replace ("APPHEADERS", appHeaders, false) + .replace ("APPCLASSNAME", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) + .replace ("APPNAME", CppTokeniserFunctions::addEscapeChars (appTitle), false) + .replace ("CONTENTCOMPCLASS", contentCompName, false) + .replace ("ALLOWMORETHANONEINSTANCE", "true", false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) + failedFiles.add (mainCppFile.getFullPathName()); + + sourceGroup.addFileAtIndex (mainCppFile, -1, true); + + return true; + } + + StringArray getDefaultModules() override + { + StringArray s (NewProjectWizard::getDefaultModules()); + s.addIfNotAlreadyThere ("juce_audio_utils"); + return s; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioAppWizard) +}; diff --git a/extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h new file mode 100644 index 00000000..7277f269 --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.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 AudioPluginAppWizard : public NewProjectWizard +{ + AudioPluginAppWizard() {} + + String getName() const override { return TRANS("Audio Plug-In"); } + String getDescription() const override { return TRANS("Creates a VST/AU/RTAS/AAX audio plug-in. This template features a single window GUI and Audio/MIDI IO functions."); } + const char* getIcon() const override { return BinaryData::wizard_AudioPlugin_svg; } + + StringArray getDefaultModules() override + { + StringArray s (NewProjectWizard::getDefaultModules()); + s.add ("juce_audio_plugin_client"); + return s; + } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + + String filterClassName = CodeHelpers::makeValidIdentifier (appTitle, true, true, false) + "AudioProcessor"; + filterClassName = filterClassName.substring (0, 1).toUpperCase() + filterClassName.substring (1); + String editorClassName = filterClassName + "Editor"; + + File filterCppFile = getSourceFilesFolder().getChildFile ("PluginProcessor.cpp"); + File filterHFile = filterCppFile.withFileExtension (".h"); + File editorCppFile = getSourceFilesFolder().getChildFile ("PluginEditor.cpp"); + File editorHFile = editorCppFile.withFileExtension (".h"); + + 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 + + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), filterCppFile)); + + String filterCpp = project.getFileTemplate ("jucer_AudioPluginFilterTemplate_cpp") + .replace ("FILTERHEADERS", CodeHelpers::createIncludeStatement (filterHFile, filterCppFile) + + newLine + CodeHelpers::createIncludeStatement (editorHFile, filterCppFile), false) + .replace ("FILTERCLASSNAME", filterClassName, false) + .replace ("EDITORCLASSNAME", editorClassName, false); + + String filterH = project.getFileTemplate ("jucer_AudioPluginFilterTemplate_h") + .replace ("APPHEADERS", appHeaders, false) + .replace ("FILTERCLASSNAME", filterClassName, false) + .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (filterHFile), false); + + String editorCpp = project.getFileTemplate ("jucer_AudioPluginEditorTemplate_cpp") + .replace ("EDITORCPPHEADERS", CodeHelpers::createIncludeStatement (filterHFile, filterCppFile) + + newLine + CodeHelpers::createIncludeStatement (editorHFile, filterCppFile), false) + .replace ("FILTERCLASSNAME", filterClassName, false) + .replace ("EDITORCLASSNAME", editorClassName, false); + + String editorH = project.getFileTemplate ("jucer_AudioPluginEditorTemplate_h") + .replace ("EDITORHEADERS", appHeaders + newLine + CodeHelpers::createIncludeStatement (filterHFile, filterCppFile), false) + .replace ("FILTERCLASSNAME", filterClassName, false) + .replace ("EDITORCLASSNAME", editorClassName, false) + .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (editorHFile), false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (filterCppFile, filterCpp)) + failedFiles.add (filterCppFile.getFullPathName()); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (filterHFile, filterH)) + failedFiles.add (filterHFile.getFullPathName()); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (editorCppFile, editorCpp)) + failedFiles.add (editorCppFile.getFullPathName()); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (editorHFile, editorH)) + failedFiles.add (editorHFile.getFullPathName()); + + sourceGroup.addFileAtIndex (filterCppFile, -1, true); + sourceGroup.addFileAtIndex (filterHFile, -1, false); + sourceGroup.addFileAtIndex (editorCppFile, -1, true); + sourceGroup.addFileAtIndex (editorHFile, -1, false); + + return true; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioPluginAppWizard) +}; diff --git a/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Blank.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Blank.h new file mode 100644 index 00000000..e5243491 --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Blank.h @@ -0,0 +1,44 @@ +/* + ============================================================================== + + 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 BlankAppWizard : public NewProjectWizard +{ + BlankAppWizard() {} + + String getName() const override { return TRANS("Empty Application"); } + String getDescription() const override { return TRANS("Creates a blank JUCE GUI application."); } + const char* getIcon() const override { return BinaryData::wizard_GUI_svg; } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + project.getProjectTypeValue() = ProjectType_GUIApp::getTypeName(); + Project::Item sourceGroup (createSourceGroup (project)); + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + return true; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BlankAppWizard) +}; diff --git a/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Console.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Console.h new file mode 100644 index 00000000..d6821331 --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Console.h @@ -0,0 +1,87 @@ +/* + ============================================================================== + + 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 ConsoleAppWizard : public NewProjectWizard +{ + ConsoleAppWizard() {} + + String getName() const override { return TRANS("Console Application"); } + String getDescription() const override { return TRANS("Creates a command-line application without GUI support."); } + const char* getIcon() const override { return BinaryData::wizard_ConsoleApp_svg; } + + void addSetupItems (Component& setupComp, OwnedArray& itemsCreated) override + { + const String fileOptions[] = { TRANS("Create a Main.cpp file"), + TRANS("Don't create any files") }; + + createFileCreationOptionComboBox (setupComp, itemsCreated, + StringArray (fileOptions, numElementsInArray (fileOptions))); + } + + Result processResultsFromSetupItems (WizardComp& setupComp) override + { + createMainCpp = false; + + switch (getFileCreationComboResult (setupComp)) + { + case 0: createMainCpp = true; break; + case 1: break; + default: jassertfalse; break; + } + + return Result::ok(); + } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + + project.getProjectTypeValue() = ProjectType_ConsoleApp::getTypeName(); + + Project::Item sourceGroup (createSourceGroup (project)); + + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + if (createMainCpp) + { + File mainCppFile = getSourceFilesFolder().getChildFile ("Main.cpp"); + String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), mainCppFile)); + + String mainCpp = project.getFileTemplate ("jucer_MainConsoleAppTemplate_cpp") + .replace ("APPHEADERS", appHeaders, false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) + failedFiles.add (mainCppFile.getFullPathName()); + + sourceGroup.addFileAtIndex (mainCppFile, -1, true); + } + + return true; + } + +private: + bool createMainCpp; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ConsoleAppWizard) +}; diff --git a/extras/Projucer/Source/Wizards/jucer_ProjectWizard_DLL.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_DLL.h new file mode 100644 index 00000000..4d3b2ba2 --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_DLL.h @@ -0,0 +1,44 @@ +/* + ============================================================================== + + 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 DynamicLibraryWizard : public NewProjectWizard +{ + DynamicLibraryWizard() {} + + String getName() const override { return TRANS("Dynamic Library"); } + String getDescription() const override { return TRANS("Creates a Dynamic Library template with support for all JUCE features."); } + const char* getIcon() const override { return BinaryData::wizard_DLL_svg; } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + project.getProjectTypeValue() = ProjectType_DLL::getTypeName(); + createSourceGroup (project); + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + return true; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DynamicLibraryWizard) +}; diff --git a/extras/Projucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h new file mode 100644 index 00000000..4c00f79d --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h @@ -0,0 +1,123 @@ +/* + ============================================================================== + + 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 GUIAppWizard : public NewProjectWizard +{ + GUIAppWizard() {} + + String getName() const override { return TRANS("GUI Application"); } + String getDescription() const override { return TRANS("Creates a blank JUCE application with a single window component."); } + const char* getIcon() const override { return BinaryData::wizard_GUI_svg; } + + void addSetupItems (Component& setupComp, OwnedArray& itemsCreated) override + { + const String fileOptions[] = { TRANS("Create a Main.cpp file"), + TRANS("Create a Main.cpp file and a basic window"), + TRANS("Don't create any files") }; + + createFileCreationOptionComboBox (setupComp, itemsCreated, + StringArray (fileOptions, numElementsInArray (fileOptions))) + .setSelectedId (2); + } + + Result processResultsFromSetupItems (WizardComp& setupComp) override + { + createMainCpp = createWindow = false; + + switch (getFileCreationComboResult (setupComp)) + { + case 0: createMainCpp = true; break; + case 1: createMainCpp = createWindow = true; break; + case 2: break; + default: jassertfalse; break; + } + + return Result::ok(); + } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + + File mainCppFile = getSourceFilesFolder().getChildFile ("Main.cpp"); + File contentCompCpp = getSourceFilesFolder().getChildFile ("MainComponent.cpp"); + File contentCompH = contentCompCpp.withFileExtension (".h"); + String contentCompName = "MainContentComponent"; + + project.getProjectTypeValue() = ProjectType_GUIApp::getTypeName(); + + Project::Item sourceGroup (createSourceGroup (project)); + + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), mainCppFile)); + + if (createWindow) + { + appHeaders << newLine << CodeHelpers::createIncludeStatement (contentCompH, mainCppFile); + + String windowH = project.getFileTemplate ("jucer_ContentCompTemplate_h") + .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompH), false) + .replace ("CONTENTCOMPCLASS", contentCompName, false) + .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (contentCompH), false); + + String windowCpp = project.getFileTemplate ("jucer_ContentCompTemplate_cpp") + .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false) + .replace ("INCLUDE_CORRESPONDING_HEADER", CodeHelpers::createIncludeStatement (contentCompH, contentCompCpp), false) + .replace ("CONTENTCOMPCLASS", contentCompName, false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompH, windowH)) + failedFiles.add (contentCompH.getFullPathName()); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompCpp, windowCpp)) + failedFiles.add (contentCompCpp.getFullPathName()); + + sourceGroup.addFileAtIndex (contentCompCpp, -1, true); + sourceGroup.addFileAtIndex (contentCompH, -1, false); + } + + if (createMainCpp) + { + String mainCpp = project.getFileTemplate (createWindow ? "jucer_MainTemplate_Window_cpp" + : "jucer_MainTemplate_NoWindow_cpp") + .replace ("APPHEADERS", appHeaders, false) + .replace ("APPCLASSNAME", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) + .replace ("APPNAME", CppTokeniserFunctions::addEscapeChars (appTitle), false) + .replace ("CONTENTCOMPCLASS", contentCompName, false) + .replace ("ALLOWMORETHANONEINSTANCE", "true", false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) + failedFiles.add (mainCppFile.getFullPathName()); + + sourceGroup.addFileAtIndex (mainCppFile, -1, true); + } + + return true; + } + +private: + bool createMainCpp, createWindow; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (GUIAppWizard) +}; diff --git a/extras/Projucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h new file mode 100644 index 00000000..47ba1033 --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h @@ -0,0 +1,44 @@ +/* + ============================================================================== + + 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 StaticLibraryWizard : public NewProjectWizard +{ + StaticLibraryWizard() {} + + String getName() const override { return TRANS("Static Library"); } + String getDescription() const override { return TRANS("Creates a static library."); } + const char* getIcon() const override { return BinaryData::wizard_StaticLibrary_svg; } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + project.getProjectTypeValue() = ProjectType_StaticLibrary::getTypeName(); + createSourceGroup (project); + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + return true; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (StaticLibraryWizard) +}; diff --git a/extras/Projucer/Source/Wizards/jucer_ProjectWizard_openGL.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_openGL.h new file mode 100644 index 00000000..f6d77b37 --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_openGL.h @@ -0,0 +1,77 @@ +/* + ============================================================================== + + 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 OpenGLAppWizard : public NewProjectWizard +{ + OpenGLAppWizard() {} + + String getName() const override { return TRANS("OpenGL Application"); } + String getDescription() const override { return TRANS("Creates a blank JUCE application with a single window component. This component supports openGL drawing features including 3D model import and GLSL shaders."); } + const char* getIcon() const override { return BinaryData::wizard_OpenGL_svg; } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + + File mainCppFile = getSourceFilesFolder().getChildFile ("Main.cpp"); + File contentCompCpp = getSourceFilesFolder().getChildFile ("MainComponent.cpp"); + File contentCompH = contentCompCpp.withFileExtension (".h"); + String contentCompName = "MainContentComponent"; + + project.getProjectTypeValue() = ProjectType_GUIApp::getTypeName(); + + Project::Item sourceGroup (createSourceGroup (project)); + + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), mainCppFile)); + + // create main window + String windowCpp = project.getFileTemplate ("jucer_OpenGLComponentTemplate_cpp") + .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompCpp, windowCpp)) + failedFiles.add (contentCompCpp.getFullPathName()); + + sourceGroup.addFileAtIndex (contentCompCpp, -1, true); + + + // create main cpp + String mainCpp = project.getFileTemplate ("jucer_MainTemplate_SimpleWindow_cpp") + .replace ("APPHEADERS", appHeaders, false) + .replace ("APPCLASSNAME", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) + .replace ("APPNAME", CppTokeniserFunctions::addEscapeChars (appTitle), false) + .replace ("CONTENTCOMPCLASS", contentCompName, false) + .replace ("ALLOWMORETHANONEINSTANCE", "true", false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) + failedFiles.add (mainCppFile.getFullPathName()); + + sourceGroup.addFileAtIndex (mainCppFile, -1, true); + + return true; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OpenGLAppWizard) +}; diff --git a/extras/Projucer/Source/Wizards/jucer_StartPageComponent.h b/extras/Projucer/Source/Wizards/jucer_StartPageComponent.h new file mode 100644 index 00000000..29f73150 --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_StartPageComponent.h @@ -0,0 +1,54 @@ +/* + ============================================================================== + + 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 StartPageComponent : public Component +{ +public: + StartPageComponent() + { + setSize (900, 650); + + WizardComp* projectWizard = new WizardComp(); + + panel.addTab ("Create New Project", new TemplateTileBrowser (projectWizard), true); + panel.addTab ("New Project Options", projectWizard, true); + + addAndMakeVisible (panel); + } + + void paint (Graphics& g) override + { + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); + } + + void resized() override + { + panel.setBounds (getLocalBounds()); + } + +private: + SlidingPanelComponent panel; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (StartPageComponent) +}; diff --git a/extras/Projucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h b/extras/Projucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h new file mode 100644 index 00000000..13413d8b --- /dev/null +++ b/extras/Projucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h @@ -0,0 +1,284 @@ +/* + ============================================================================== + + 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_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 +*/ +class TemplateOptionButton : public DrawableButton +{ +public: + TemplateOptionButton (const String& buttonName, ButtonStyle buttonStyle, const char* thumbSvg) + : DrawableButton (buttonName, buttonStyle) + { + // svg for thumbnail icon + ScopedPointer svg (XmlDocument::parse (thumbSvg)); + jassert (svg != nullptr); + + thumb = Drawable::createFromSVG (*svg); + + // svg for thumbnail background highlight + ScopedPointer backSvg (XmlDocument::parse (BinaryData::wizard_Highlight_svg)); + jassert (backSvg != nullptr); + + hoverBackground = Drawable::createFromSVG (*backSvg); + + name = buttonName; + + description = ""; + } + + void paintButton (Graphics& g, bool isMouseOverButton, bool /*isButtonDown*/) override + { + const Rectangle r (getLocalBounds().toFloat()); + const Colour buttonColour (0xfff29300); + + if (isMouseOverButton) + { + if (getStyle() == ImageFitted) + { + hoverBackground->drawWithin (g, r, RectanglePlacement::centred, 1.0); + thumb->drawWithin (g, r, RectanglePlacement::centred, 1.0); + } + else + { + g.setColour (buttonColour.withAlpha (0.3f)); + g.fillRoundedRectangle (r.reduced (2.0f, 2.0f), 10.0f); + g.setColour (buttonColour); + g.drawRoundedRectangle (r.reduced (2.0f, 2.0f), 10.0f, 2.0f); + } + } + else + { + if (getStyle() == ImageFitted) + { + thumb->drawWithin (g, r, RectanglePlacement::centred, 1.0); + } + else + { + g.setColour (buttonColour); + g.drawRoundedRectangle (r.reduced (2.0f, 2.0f), 10.0f, 2.0f); + } + } + + Rectangle textTarget; + + // center the text for the text buttons or position the text in the image buttons + if (getStyle() != ImageFitted) + { + textTarget = getLocalBounds().toFloat(); + } + else + { + textTarget = RectanglePlacement (RectanglePlacement::centred).appliedTo (thumb->getDrawableBounds(), r); + textTarget = textTarget.removeFromBottom (textTarget.getHeight() * 0.3f); + } + + g.setColour (findColour (mainBackgroundColourId).contrasting()); + g.drawText (name, textTarget, Justification::centred, true); + } + + void resized() override + { + thumb->setBoundsToFit (0, 0, getWidth(), getHeight(), Justification::centred, false); + } + + void setDescription (String descript) noexcept + { + description = descript; + } + + String getDescription() const noexcept + { + return description; + } + +private: + ScopedPointer thumb, hoverBackground; + String name, description; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TemplateOptionButton) +}; + + + +//============================================================================== +/** + Project Template Component for front page. + Features multiple icon buttons to select the type of project template +*/ +class TemplateTileBrowser : public Component, + private Button::Listener +{ +public: + TemplateTileBrowser (WizardComp* projectWizard) + { + const int numWizardButtons = getNumWizards() - 1; // ( - 1 because the last one is blank) + + for (int i = 0; i < numWizardButtons; ++i) + { + ScopedPointer wizard (createWizardType (i)); + + TemplateOptionButton* b = new TemplateOptionButton (wizard->getName(), + TemplateOptionButton::ImageFitted, + wizard->getIcon()); + optionButtons.add (b); + addAndMakeVisible (b); + b->setDescription (wizard->getDescription()); + b->addListener (this); + } + + // Handle Open Project button functionality + 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)); + addAndMakeVisible (openProjectButton = new TemplateOptionButton ("Open Existing Project", TemplateOptionButton::ImageOnButtonBackground, BinaryData::wizard_Openfile_svg)); + + blankProjectButton->addListener (this); + exampleProjectButton->addListener (this); + openProjectButton->setCommandToTrigger (&commandManager, CommandIDs::open, true); + + newProjectWizard = projectWizard; + } + + void paint (Graphics& g) override + { + g.setColour (Colours::black.withAlpha (0.2f)); + g.fillRect (getLocalBounds().removeFromTop (60)); + + g.setColour (Colours::white); + g.setFont (20.0f); + g.drawText ("Create New Project", 0, 0, getWidth(), 60, Justification::centred, true); + + // draw the descriptions of each template if hovered; + // (repaint is called by the button listener on change state) + Rectangle descriptionBox (getLocalBounds().reduced (30).removeFromBottom (50)); + + g.setColour (Colours::white.withAlpha (0.4f)); + g.setFont (15.0f); + + for (int i = 0; i < optionButtons.size(); ++i) + if (optionButtons.getUnchecked(i)->isOver()) + g.drawFittedText (optionButtons.getUnchecked(i)->getDescription(), descriptionBox, Justification::centred, 5, 1.0f); + } + + void resized() override + { + Rectangle allOpts = getLocalBounds().reduced (40, 60); + allOpts.removeFromBottom (allOpts.getHeight() / 4); + + const int numHorizIcons = 4; + const int optStep = allOpts.getWidth() / numHorizIcons; + + for (int i = 0; i < optionButtons.size(); ++i) + { + const int yShift = i < numHorizIcons ? 0 : 1; + + optionButtons.getUnchecked(i)->setBounds (Rectangle (allOpts.getX() + (i % numHorizIcons) * optStep, + allOpts.getY() + yShift * allOpts.getHeight() / 2, + optStep, allOpts.getHeight() / 2) + .reduced (10, 10)); + } + + Rectangle openButtonBounds = getLocalBounds(); + openButtonBounds.removeFromBottom (proportionOfHeight (0.12f)); + openButtonBounds = openButtonBounds.removeFromBottom (120); + openButtonBounds.reduce (50, 40); + + blankProjectButton->setBounds (openButtonBounds.removeFromLeft (optStep - 20)); + exampleProjectButton->setBounds (openButtonBounds.removeFromRight (optStep - 20)); + openProjectButton->setBounds (openButtonBounds.reduced (18, 0)); + } + + void showWizard (const String& name) + { + newProjectWizard->projectType.setText (name); + + if (SlidingPanelComponent* parent = findParentComponentOfClass()) + parent->goToTab (1); + else + jassertfalse; + } + + void createBlankProject() + { + showWizard (BlankAppWizard().getName()); + } + + void openExampleProject() + { + FileChooser fc ("Open File", findExamplesFolder()); + + if (fc.browseForFileToOpen()) + ProjucerApplication::getApp().openFile (fc.getResult()); + } + + static File findExamplesFolder() + { + File appFolder (File::getSpecialLocation (File::currentApplicationFile)); + + while (appFolder.exists() + && appFolder.getParentDirectory() != appFolder) + { + File examples (appFolder.getSiblingFile ("examples")); + + if (examples.exists()) + return examples; + + appFolder = appFolder.getParentDirectory(); + } + + return File::nonexistent; + } + +private: + OwnedArray optionButtons; + NewProjectWizardClasses::WizardComp* newProjectWizard; + ScopedPointer blankProjectButton, openProjectButton, exampleProjectButton; + + void buttonClicked (Button* b) override + { + if (b == blankProjectButton) + createBlankProject(); + else if (b == exampleProjectButton) + openExampleProject(); + else if (dynamic_cast (b) != nullptr) + showWizard (b->getButtonText()); + } + + void buttonStateChanged (Button*) override + { + repaint(); + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TemplateTileBrowser) +}; + + +#endif // JUCER_TEMPLATETHUMBNAILSCOMPONENT_H_INCLUDED diff --git a/extras/Projucer/Source/jucer_Headers.h b/extras/Projucer/Source/jucer_Headers.h new file mode 100644 index 00000000..e100107b --- /dev/null +++ b/extras/Projucer/Source/jucer_Headers.h @@ -0,0 +1,38 @@ +/* + ============================================================================== + + 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_HEADERS_JUCEHEADER__ +#define __JUCER_HEADERS_JUCEHEADER__ + +#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 diff --git a/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile b/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile index 1fa5af88..40005af1 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 c87d1906..92c2d9f0 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,25 +22,28 @@ 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"; }; + 009B9D1F3B98C166591B780B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; }; + 00A289FB30DC2383C6485FE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; 00A2AE3A88D7526563F10B4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 00A60B2D4DA0B0BC87DF1C9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + 00B46A18723A0C4A759F5D62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; }; 00C5D011D05E276D93CAC42A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 011BC83C4F54E7A82E599A25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; 01944CA6E6BBABE7CC69331D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; @@ -49,7 +53,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"; }; @@ -59,37 +62,50 @@ 049912A9E6E9421DFEEED2CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 04C1B8BF62AA09E62B362913 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; 04FB999EAA4FE888889EB692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 0525460AE20701C3FEB62EC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; }; 055312D8C0318A3874B50E48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 0555FCFB9FFFBD082F1D1F03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0592EF9F4A6FEC834CC0E3CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; }; 05D94C76428886D15D6A9D54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; 05E4354E10B63C0B33CFFB3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 06559FFD417BF3B1BE01CE2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; 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"; }; + 07EEC558D2E9B6857C1AE137 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.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"; }; + 09BAEC297F0AFA2F22E4FA0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; 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"; }; + 0B32015F1E8018AFEBC4FB84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; 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"; }; 0B7895277BC23E85DD87B944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C2C79B2A553FD550F81EE35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; 0C50FAE1C35E34FC7D0FC4EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C61E4BAB67CFE8E1E0E9ADE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0CB36C42FB53B70236446BDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; }; 0D312355C358510A4A0FE051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; 0D5AD018BF0FA2555CD698E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; 0DCE6B619C10AB7A96A237C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E3A5D7A62AB9C7263489A3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; }; 0E61F8913380489C424B8897 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; 0E7150E7FD643EB8CCD4719F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E7AACDC91886DB5DA634D4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0E8A4AE204EFC326BE1FA74F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0EA70158FB829F3706DCA788 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; }; 0EAC6F9BA8425E419F803A2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 0ECFEC85FD0ECE2C9ADFB197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; }; 0F1C7E2100FFAD72CAA23DCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; 0F4C3B3BD169BEA4FEC3ED5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 0F9A5A14CC510059B9EC4936 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FEB81BE044CA9D0C4EA2FB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; }; + 10A61BFCEB2A64AF73F212D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; }; 10B92E751EF6026681F5445E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 118987654CE12CAC784213BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 11AD5417D0E7C2C1C828838C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; 11C847C1E8A88B669765EC78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 130A3006D67DEE7054BBC5B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; @@ -106,6 +122,8 @@ 160B1F8323819A36A4CC4C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 16397F1BBEA97057B0654612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; 16593ED55AEBE25460A4EBA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 17062116C1616CD502D341A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; }; + 171628256C4807C720EDF3B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; }; 1763FA2F0163DB596EF3700A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 17AF99BCB1FFF627A43E34A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 18672DBD986C218C32E3F749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -114,14 +132,19 @@ 18856FC97917E21DF7721A6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; 1893C547F9F5B04B61E0792A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 18AA955A94CC908723549CE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 1906B8FF670C94A71F5A5CAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; }; 1916DEFC946E322F8C835EDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 1932D54A7FAE13BADBA3E9B5 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + 197ACD5F4F14B602DA925B4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; }; 1A1253DA6328CD386B822BC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 1A24B870156E77F73B240EF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; 1A5E599E0BA57E1890D0338A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 1A62C6B1E666AF238F51AC2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; 1A864C13CE6F3B3FC9AA1547 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; + 1AAEC3D59ADA0D5683E1E0A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; }; 1AB201C86687247ED1BE34C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + 1AC52BD575F8DA0F1E3D3350 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; }; + 1B12F9C0D02E3F14467C0F8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -129,13 +152,17 @@ 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"; }; + 1D4D168EF360F9FD7D2940B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; }; 1DB2B8D040DF0AEF33349943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1E5D884EADBE55873511E58A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; }; 1E8E94630A1ABB4F8FAE9AE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E97368462BFA4A860450708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 1EDE4C7045730B1521A2FDFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 1EF1E6DE19462CAF1F191862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; 1F4F38120BC0DBC715F6F409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 1F980F1D7B18B076917B948C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; }; 1F9BC67DB61DC7F235703EF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + 1FA7D366E7400655D9660F86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; }; 1FFC7AFF3D3F1320424A5A5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; 200147AB1F8AD471A5A601CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 200238375D55147DC98E25F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -146,6 +173,8 @@ 20BBCC06451024053051B281 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; 21B555956974F5DF694949DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; 21CC40355B0EB60AFBE49DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + 21E4E77B3EA3AB54A353DFB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; }; + 22145853C1A4543A6F86508D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -156,17 +185,21 @@ 23C0F2738358F85550725F10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; 2411D0D847DF2DE2AF49BC66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; 241D5459D115AF1D475A91BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + 24204892367C50B2F9789958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; }; 2451133648A6A799455C52FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; 248B95D9507A685758E9FD72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; 24AF8E94C5C02CF8CE02C455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 24CA9C7F53B6B626AB6E43D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; 24EC810C29534829B2C6DD7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 24ED7F5CEA9E65C8B4D30BA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + 25228EF5869B40B0FC05B11A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; }; 255C3B4FB11C69E09D77AA05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + 257774582A3D05395C158422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; }; 25B8D84C23B9859D4640B4AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 260BCCEEC92A36331EEFF027 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCArgument.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCArgument.cpp"; sourceTree = "SOURCE_ROOT"; }; 262E707413C300E64622593C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 26C762280E4F60A092DFFB34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27166FCCEBF8B19FC2ED5B17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; }; 2741E1112861631B9834FBC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2755EC73A85568278839728D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; 2774E2BDE32DACD545775C1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -175,21 +208,23 @@ 284376DCD46CCD8879477F8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 285FCDA22A7CF6C58844A5D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; 2895DFA097E1D224B5C1FF97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 28AE7B6CE545899A8025B436 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; }; + 28BF7373CA181C698EBD882C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; 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"; }; + 2A04D0F1C10E1F0F57C7FF06 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; 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"; }; + 2B1CAC60753034227AA0BC99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.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"; }; @@ -197,11 +232,15 @@ 2CFEB2C490DC1AF0D6FC8703 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 2D2826B679DB16F8308B0752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; 2D6081A5CC49096D3626238D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; + 2D840E0BDEE6CED4EFC82BF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; }; + 2DB4A8C0C9FB63C3F9EB67FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; }; 2EFF2F6F932600CA1C5B4892 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2F64F5A0B7208745E7AD192A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; 2F92A07D91F367A25032C6F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 2FBAEED114143EBBF0934B75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; 2FC1A000FB609FEAE8B05652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; 2FE6488B5BED886736B0830E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + 2FF5AE09CC09FDEF3F1DAEFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; }; 30278584DF9871A25ACBDBF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; 30750C7B676B81F04AF7B5B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; 30A48A34B242B2C4FF2FACBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -212,9 +251,11 @@ 3177644BD4EAA55EC0BF9CC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; 318BCD40258102F2A6EBF436 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 31BB8378823D71E83206EF2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31F91DD05E85F47E4292A5A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; }; 3255D0872F6205A7E695123C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 325750A5B117A2371A994ACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; 326626139C779BF19EEFD328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 33613009EEFA0EA2F4FE138E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; }; 33B617DD83D2E373922566C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; 33D4483DB3E31E8546901E5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 345459CE27D07EDD3E19B299 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -223,9 +264,12 @@ 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"; }; + 365270C2AAF19C066536C8EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; 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"; }; 36B940462E1FC6A1892F5B02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; 36FD6BA3CD1E30CF74B53A9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 371CAB77E4095CF54E1A1623 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; }; 3770BFAEFC73EA5CEA1E7F36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCAddress.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 378F5440DD3B594D7024F509 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 3825811DAF813A2AD05DA133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -234,6 +278,8 @@ 389BBA912BB6CE2E3F65A0F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 38CF83D47D261849B0F70AC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 38D80CC449571BE7F758C717 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCTimeTag.h"; path = "../../../../modules/juce_osc/osc/juce_OSCTimeTag.h"; sourceTree = "SOURCE_ROOT"; }; + 38DAC2180675C066CE05D015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; }; + 38F31847E7B0CD9BD489B606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; }; 392ADAF07AEDADD4BA680D98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; 392EF1D59642EF6CDC55A9EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 396EAA6D0FA938F9B51473A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; @@ -242,15 +288,21 @@ 39F41D98ED115B51A360386D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A17F009EF3CC3582C8EA76F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A633441FF248D3AD2281355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; + 3BC03FC7B39CBFF835804112 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; }; 3BE70E642A772DEBDA1B3036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C347DDDC943156F719A4389 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C43B76DD81C4672CD720CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; 3CEA934E362ADBFF032ED654 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3D0CB84A16965653C0F9FC1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; }; 3D3BCE63BEC18FE0C9A6BD9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 3D6C238777C828BAC9252C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; }; + 3D74EB0CC8B99654F5EBA6BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DEEEF5309CD0A71C8813A95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E60609BDED772D95BCC1E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E84CC11C41564236BAB1357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + 3E9C84DE1ED0AE8D788CD9AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; 3EE2B7200D3C05D142620F50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F296A315CB566B4AEF6FAB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; }; 3F74639612050FF56DE3FA19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 40472FAFDB43C75F75A66031 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; 40D1DB4A897D8436C3303CCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -263,14 +315,15 @@ 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"; }; 43E68AD12B0E124A817BCFE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; 43FC6EACCF3ACCD975155568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 441C08C753190538704EE9F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; }; 4426EC205176AA7852F91116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; 44270529359EB7C5C7869183 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; + 447D52F52608AD3010A6D5B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; }; 44A81BA49B0F441DD97D8500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 458AFB04FC657C0B8E140C57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 45F2BF8D8A7DF3D2D292BA8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -283,9 +336,12 @@ 468EE2A5579D7F6508B3BE7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; 469C0434174F305A7B7C399D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osc.h"; path = "../../../../modules/juce_osc/juce_osc.h"; sourceTree = "SOURCE_ROOT"; }; 46B761536D14427B59DE4770 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + 46DE2163F0024329EEA9C80F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; }; 4734DA057AFA427CC27EFCDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; 474DCC0EBA8795379573FF6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47EFB0988181894D06E76033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; }; 483D6FCF3B02FED7B7AEDE74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 48EFE45674B94C556C9C1742 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; }; 48FDC9A9D44BE34CE9BA3D3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 4903A008950C587EC9D36E8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; 4A1917207CD0B9ABAE047C0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -294,17 +350,25 @@ 4AED4B9B50A5A3FFDBAAAEF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 4B48D4F20A3E9244160D8660 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.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"; }; + 4B6BF269B1180BD0C0D8B938 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 4BBE8E87CCF1400578410B69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; + 4BCE7ED630CE9E8E22C7B40C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; }; + 4BD7F7742C373297D61D1B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; 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"; }; + 4D84A8DB5F5DCC39327B68AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; }; 4DC63E65880797C759F1368D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4DFA9E8734ADCF0A3EC468B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; }; 4E32C479FCEAFD15286C741F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 4E48252DC2E5914FD2DE3DD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E9C7744B745D30F5EA4BF2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; 4EA8B60E701E3300765C60C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + 4F0431019AA0C520C8593232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; }; 4F4C8AD96575CB346E656BFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 4F7A8D6319B9DE57E6BA5DF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 4F7C3C74A4D98519D93BCA58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -313,6 +377,7 @@ 5026CB2095EDB4805F9013AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; 5037C5F4567C7AD855532E28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; 504D96F66E6CA762AE979B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + 514C3C541869EFEAF7D1ED95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; }; 5162BBA0C86C11D616F9F020 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; 517B4B514A39EC616BFA35CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; 51B55A31985E161A6DC2FC77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -324,18 +389,26 @@ 525FEE7AF4B65040D7689EDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 52605B4E3429FE64912A779D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 5270E66C5C7578382B430BC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + 527418644AC333A74366BF66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; }; + 52A77646547C4DFA6AF5B716 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; }; 52CD0FD9CBEDF775DEB8983A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 52FBCE58224EE2275F7A969F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 531C35D3BB605E361E220189 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; }; 532711F79A88E821421E7526 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; 53DC41FF51B303AF9550D650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 544AABDFA0E5A41BE8806E8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; + 5496FAA5DA7779827EB8091D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54991E1A71E8C48F3822B4B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; 54BF97F32965B4FB5CF2D56F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 54E39FDDD35FBFC80F7E9A2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; 5525EB8E164C5C7AF9414810 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 55300250DA826ADCB124E313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 554308DDD8025AA615896FC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 55655705302A60F6DEE62504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; }; + 557C3E9A8D575B1127685BB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; }; 5595E9F2F59B351650D9DBCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; 55A1E1204209B3C6F8204154 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 55BBCF361E6956CD3799792D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; }; 55D1A976250E657EDFDF8EF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 55E2A7422098ABD2CCD1B319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; 55FE19DC740A517F165F875F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -346,20 +419,25 @@ 56F00A4C470A5E33F8702FEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 57272E091C29E8475D3779E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; 572760E043B0EDB08F854432 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5785E65A1C5C0558C15FACE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; }; 57A5DB05214FADC6EA2FF2DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; 584185588F9BF399FCF6B973 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; 584C5A04EEE5595E09F690CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5855D3234BC62C85FAD56651 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; }; 5867A87AC86E771F6257E8B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; 58A85FA571E5CD15C1569F21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 58AB6E0178392A03C1413A76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + 58B836289867FACBCB8FB0A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; }; + 5902ECC763657C61462BC76C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5A4AB7492C4071860AC2C19E = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; 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"; }; @@ -367,25 +445,36 @@ 5C283446F7FBC70FA2FE526D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C7BDD8DF72F2FC2D44D757A = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; 5CC7281607A918638E42AF4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 5CD00921FDF9A52A63E2234A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; }; 5CE13BF294C618208AAA534C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 5CEC50035A8D3B7F84C1FB3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + 5D313F716D6BD535BBAF6D1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; }; 5D3E04B09C0E03ABDBFCE895 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; 5D67F48815BAB3EA94AD45C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5DCFCC1E080367B658DC9EE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; }; + 5DE738D2B014E622B6A9DF0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E7C0D62245304DDA3DA9CA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; 5E9370793B2591F69E99AA3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; 5ECEE3090DF1A6EAE44DD56C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + 5EDC414F667E6FF45FD974A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; }; 5EE2B667CF534F6F6171C1D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; 5F10983017BAB0E931734245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5F333E8E6000AF680E10E84D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; }; 5F33B1B075413B2A7DEED261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 5F759B9B870C2414FCA5BFBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; 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"; }; + 5FF66A12FAEEF07AAF3677A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; 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"; }; + 6015A6CF6F32B9BAE3B773AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; 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"; }; + 60A12604ECDAFD967CF73DEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; 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"; }; + 60F4FFBB5FF892FB69F3D45E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; }; 60F719EA50E6299DF0C945E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; 60FA09DC87064B69C3AC7E7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; 6124D5B4F22D0DEBCFF85BF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -401,6 +490,7 @@ 63EA6ECB4F56812B02B43B41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; 63FE8D20853DE99AAB629474 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; 64269B66078B8D1E8C243C2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6432686767E1480E297DB156 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; }; 64599EF94FDACF1384134045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 646C61429CD13E2E52D12141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; 64CFE2DDF94D6E8B3AE7AEC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -415,49 +505,71 @@ 65B2A94615B8FFFBBA894728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; 663D372A0E6D8F4F68B49461 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; 66598B550C9B293B97475ED2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + 665ADEC8344E0CC028EFB376 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; }; 66E37EA9F2603E4AFD721A7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; 672F2944E70066268A726D07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 67BFDEE0B4C3E43D7080BE3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 681C4FB79EE4303C6924DEC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; }; 6850719123E3BEC076852604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; 691571797332562EB49B94FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; 691E9B9DE8D4E05F08BB343B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; 69522EAC01747563D7C7AA45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 6964A54EB78D6BEF39BAD6BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + 696EE8C81AECF37AAF394877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; }; 697DF250EE9A701784508070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + 699E1816F447C90CE7DDBF98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 69B1AD3F6C9B8CBA65A99E4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + 69E253D3D4AB3BA8C5A3B015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; }; + 69F95B750F118AFB32F95E1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 6C01D3AA05239D18C5590362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; 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"; }; + 6CF96232147D7D159F31FDD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; }; 6D2B5D8FEC6A4D43F0F6256A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 6E1EBEE6012001E645972C61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; }; 6E98DEACA5006CFB9F344516 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 6EB911EEE60A1509AFEE3B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 6EBE04120C9410282C2BD655 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6ED62688E54AC26A217CC19F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; 6FAE80EBA0BD373154CD9F6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6FB13BE8306832FE5A385113 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; }; 6FC74FB3D19FCF3EA6DAE8B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 6FE3D13ED3541B16650BA4F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; }; + 6FEA6B39D82A0A587BE28E12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; }; + 70118E239265C4DB31E2D805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; }; 702028C53C51F36BF6427384 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 70400293C881831A2DF9AF1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; }; 7087F82807BEA6A7362F7956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 70B14E79233BE4FCD5753ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; 70E80FCCB8091A3F2865EA6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 712FEB8344433EF9431BB87C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 7164EBF97C8E45D95F4DC773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; }; + 7172AE7595761A85761E3E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.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"; }; + 724EBB8069BED243801260D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; + 726119A76203A5779BA650E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.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"; }; + 730792C0AF5CFBCDE6B7D2D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; 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"; }; + 7431C5432FA935EE31304877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.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"; }; + 74B93C0B368E9CE768912423 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; }; + 74E59A23FE74C1CB82E31ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; 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"; }; 75A6F076085B1A88A4E728A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 75B45AB94994C825BAEE96E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; 75FCEE18130090191527FF34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 763A365B46F5D3EDD8F8B1EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 76476210FCFCC6B7FC475B5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 766D8463D8BC6F2691F6BD3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; }; 76ADC0A9D17642BAB88A8F27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 7779AE8232D6811839B11C00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 77A483EC1921EBBBFEB61D14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -485,14 +597,17 @@ 7C9012BEBB65383C5FF46E5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; 7CBD7946B2E48708A4B9A6CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; 7CDC6AC64FB463E2E165ECFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7D0870363A15C00C3AEDEB72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; 7D3490444AF84C7F75280C0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; 7D6BB42E33F78296666BA85A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7DA57207FAD134EBD3282BD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; 7DC254E9463EACE4C7C122DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + 7E4BEF5B0EBFB3F6E080081D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; }; 7E8909F2EAEC89A5DDFFE66A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 7EBC05447D1D054C0DE34F3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 7EBCBDD96E6E70F99719844C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 7EBE149C4323508FED63DFCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + 7F8E21473BDFBCFBAF2228EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; }; 7FDDFE5DEDF1FB4CE9DA3805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; 80111753A0AE831424A9F5B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 802FA5BCA17278C448CD27DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; @@ -500,33 +615,41 @@ 80DE7559F9A8537F036F47BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; 8101AC46C4730C1DFBF4D81E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; 81092A0252E53E2AFD9FEEEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 81103FF6F9681B4C8AD7D629 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; 814DE315E204C54BBC8C19CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; 81596391E40F15FCDEDAF320 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8161DCC2C337E618F1730DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 81EA7A2B87EDC0C433CAC218 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; }; 81F8E38B3F45939C08F5B8B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; 82C1F8A9929DF547C004C07F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 82E44675E4E09A0F65BDE253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 83911624896F5077D1584CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; 83C07F8DBFB9A1A73BF0CD79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 83CAA169494D570CF137600C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; 83FE3FC19E4060EF4B820617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 846FD9CFF342230F791765DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 8495525D384E30C43C203FAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 84A2F9B2864476A8BDAFBB50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84A6BED5ECC61823ACE6C592 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 84CD53641AE2AFCEC3EDDDB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; 85599F821C373245096AF0BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; 856BC28839F30795ECC69B92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; 85B0C7E00E80B07009B85182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; 85BD9E173FE0E75568C748A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; 85F802EFFDC257863FFC44AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8611612BEA22B86ABB4BBE21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; }; 863437BAA48BE1AE72EE1043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 8754559202618CFA864E3EB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 878496E0AB75F81CC9A52DFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87C00658AE46DDF8F55ACE16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; }; + 87D307B14032858922EDE46F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; }; 87E0CDB289BF68FED505A098 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; 881CF0D48C44D83FBEFE11C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; 883663D64D440F8D75BFF706 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -536,6 +659,7 @@ 88FF8616573355ADEB8334C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; 8941A732E158BE999E353E87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; 896FBF9C031D3266D9420192 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89E1948E2588C06770F17C4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -551,19 +675,25 @@ 8CA840D1B9A30A6DAD191A89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8CC9576E9055FF34F364536E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; 8D0BEC4800F8D9769A10AD08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCTypes.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCTypes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D1489904AF232CA53531558 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; }; 8D2E95D7AE5041F44EDC8C60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 8D30C03040BC034BD299ED57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 8D75B68D9A257ED0E3573436 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; }; 8DA4DCF95D0F6BEB6AD5302A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8DD41507C507C323ACD3ED70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; }; 8E2CD790F92F77890282BFDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 8EA39C48DA182B4CD06FE4D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; }; 8EA5C219F76708F4C756CAC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8F3C6812248749CCC16FB14A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 8F8397F820E7D91D894D3392 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8FA6EA6619FC1D783BB43A6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; 8FA96FC697101B6477C5B4BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 8FE10CC3F12262F2B751A209 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 8FF296C4080983EB28881790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; }; 8FF73219E28E94179D6B1E5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 8FF8FC40C2C4AE2085C917F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; 90306E36B871DC8C1C1CB6B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 90CCF2B52F1BC2B34C8043E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; 91084A9A4037F73105EBCFF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; 918F58A446A6499767DA59FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; 9191E878E327B1620CF1E39C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -577,9 +707,14 @@ 94700EA8E9460F1384C1F98A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 94AB8031DB5FE3BED227F7F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 94B5231311ADA01982925C8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + 94DAA0400669BCD38DDD1DC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; 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"; }; + 9572B0486AF3E9676E914528 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; }; + 9582FF93E9E8C6FECE825632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; 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"; }; + 95C0DFA7D554DF268DED6C4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; 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"; }; 968B88C717F0943290B811AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -589,9 +724,11 @@ 971F00C433F8F6E5041F6957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; 9729BB8A644CAB0C7291CA72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 9742209A7A045DC88739D0D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + 975966D33FB6DF03D7C56E90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; }; 977C0B875A5117989DF3A2A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 97CD2CE03E6C9ADCEF6B78EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 97EAE5327404F0236667F77E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCAddress.h"; path = "../../../../modules/juce_osc/osc/juce_OSCAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 97EC4D6736EF9B765E9E0285 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; }; 97F1A5BC9DE337E76B8A90D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; 97F99F3025160128C7D5D060 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 980DC6500717A68FFA5EDFC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -611,11 +748,14 @@ 9B1EBB7DE7012AC208E82884 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; 9BB8ECBC3B6BE298C568A1BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; 9BFA1205CACDF1172C562A90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C4225421882F030A7223C43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 9C8174714B809DFBE257BCCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; 9CCCE10F1272EE64EAAAC7FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D139C68A82436C5A9B6F01E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -628,6 +768,7 @@ 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"; }; + A146947F03AAE37EA07D6C41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; }; A22B88DA65D9E4D891002D92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCBundle.h"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.h"; sourceTree = "SOURCE_ROOT"; }; A262681DB2EBAF30507D4736 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; A2895A66C2417B5614E18FF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -635,6 +776,8 @@ A305D8BCDDEC11261066922E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; A33DDAC6F430E39DA8E28C22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; A370C41D4837013B7AD2FA97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3A447B4C6C9E27128759E3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; }; + A3B42507CD5F210D2DDB05E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; }; A413B2A303984674A412461B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; A41BB84E335B4F59F162CD82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; A42F8255C48F53A7B4DC5FA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -650,24 +793,27 @@ A5E03F75232F2EF5ADF886AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; A6539EF676A6574164E79009 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; A6E85B417C8C8A6784B9B7A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; + A71720163EB36A9CC71A90B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; }; A74A48F3D9775282AA7C4983 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; A7777A03561349846F0F1C44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; A7972149AD4693E178707007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; + A7D09355BC099DF74CFED8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; }; A811FCC5030E62D37CEC20E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; A8411E52CBD9A8EE6BDBC2EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; A8DFEDDCF7B5B3861937A069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; A96D30BC68119BFD355658F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; A9AFF7E00DD50096DBA32A98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; A9BE4E0AC7FB60220F0D7040 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA32F3C3859645381DD4F161 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; }; AA4191EA32F9E39F5887D381 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; AA9786A0CFEB8A216C6C326F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; AABCB86C60D3D5677F296CD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; AAED8A25776EB53213A2AC8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AB22692A2D791A3D54D8C032 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; AB58695AF611FEF4B4B321CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + AB7C27303DB8998E89B3D85B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.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"; }; @@ -675,17 +821,22 @@ AC843F54CCC360FED9534CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; AD051A4199C46429A6D8DD4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; AD916AA54B985036AE0D8422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + ADADBE01B75F0135A3BE0DE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; }; ADE5B549F9896C53788B9044 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; AE00A806F4A79BE4FE6BD84B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; AE98B6E7E6EC62FE12D84E5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + AFA1BDF610AF9BC8BD6EF244 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; 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"; }; + B02BC209D66368B064CE45A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.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"; }; + B13757D10F369187D4AEA488 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; 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"; }; @@ -710,27 +861,39 @@ B4AC16FDBFE0A165C69413B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCReceiver.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp"; sourceTree = "SOURCE_ROOT"; }; B5311636D2754A207EC4AC98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; B54B24801001CF065DAB4F36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; + B58111282097254A8A7664FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; }; B5CE09DCE9500F96794A366F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + B630B14642178D4B710A0D5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; }; + B6C36FAA0A08D4404423F2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; }; B6C518F50B517558F5442848 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; B6DBCD143061D29E18318A3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B76EC07AED2B1ABA4DAED64B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; B7B9C15C70A4B6730E22B505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + B7CAF463696D332B25D35AD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; }; B7F361C82E8C1C47CC457941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; B7F5A21D37A7A981E624CDB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + B8C3100BD53A4A52DC0ABEF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; 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"; }; + B92E204B7EF0C81D3B7317E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; 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"; }; BA32311C6BCAAAD930B01BC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + BA37C52C43D0FAA9404A444B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; }; BA6C9DE8821ED03132990A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + BADFB682CC21156F3A9437BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; }; BAFF2D79E1FFE08F04DBCEC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; BB1202BFAC430CB62A78E63E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; BB2CC079724044CBEC68D1B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB3A9DD17C4B752BC5C3AE02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; }; + BC40851115EBBE44982702B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; }; BC658689F10CCF8E1847ABA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; BC91AC2F5F929948EA4DED1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; BD629E0F3E19731D9FCD9749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + BD6C11678B01D756A57FB2FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; }; BD7F0A595D88769F14253AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; BD923983F1C1C5C566985FF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; BDAFDA32287245DDACFD9519 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; @@ -740,20 +903,33 @@ BE3EA058010047456D73AACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; BE5E66183FBDAED0236061AE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; BEDCD61FAD477E737E9001FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; + BEF5F831841B2D82D0F8184D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF07F813AE252965882B419D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; + BF4300338A09F8D69332A4FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; }; BF7DB7CEEFC788FBAC7DDAFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; BF83F16E220BF09C26FD7DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; C0531453A002C480280C5F05 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; C0615014804EAF9B1A59810A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; C063660CBB317D753EA49AED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0750200AA1174CD9684CA77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; }; + C07E00ECDFD2306044311A05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; }; C093A363F306AFCF7631AA18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; C09586D6F219F1E4A7DD6907 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C095E60A9791DBA7944CC8E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; + C0BF92D7A5F8C763B7DF2671 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; }; + C0E7695E7712A290F4D4F289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; }; + C17EA9D8E36456F98E746B41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; }; + C18F4D6C1F77741660895153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; }; C1A1A13E1CF77528E78313E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; C1EA16AD88E42B12FDCE40B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C1ED4ACAB31FAA15ACE6D6CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; C23302FC8563B1D9771FED31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; C2E6F205D15873BBDA6C611C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; C2F2E19D495434FA2DE26CDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + C38E103566DD334575DEB132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; }; C3B38FF0CFF855B48FD341D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + C3FF931ABD1A2A7A0B3F2F32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + C42BCD9C395C1CD9E1207E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; }; C43F3C14D904F5ACD41ADA91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; C4725A9E883FE9A4BE50D9CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; C479F3274C5CA6E09B397633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; @@ -763,31 +939,49 @@ C5592FC88F8F26B1F1EF0FE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; C59B6E73670ABD1DEBFF04EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; C5C93B5F5FC5C2D4EC9C4450 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + C5CAF949B2AE5765666D0F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; }; C5E11042008ADD9755FE072F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; C642049FA1163EA7E12E88A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + C66E703E2D09BB632D602704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; }; C6FE61439C07717B4A0F9B64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; C72AFDEA087704F6D67C4D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; C7625C0B5AF05F7B34BFA9FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; C79AF627B1543FDCCEE488AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + C7ACD901472AF55A9F09C331 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; }; C7ADF14FA828F92194019D04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; C7C592A7CC93688EC1C0DFBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + C7CB4553F9D049D08AD7DDA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; }; + C7E65D4B08AC8EE1CED896B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; }; + C919023E9D395E95E857BE3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + C93AA91AAF05334E4EED3F0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; 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"; }; + CBDCBC1014FE46D8178807CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; 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"; }; + CC3DA71C702D3F901D93BF7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; }; + CCADAF6C613801261EB185B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; }; CD3732E2A8FCAE512C9367FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; CDB10AA2949AE7EE9A7EEEFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + CDE782175EDEB5C785F27909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; }; CDF0544DCC96C4687D183EB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; CE4C2262B73CB9E3D7D0F5A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + CE8E5D56862DEE1F1828B3DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; }; CEA5935F1BD26E6EDD78A7C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; CEA854B5BBA93B457204DB5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CEC296A48153055ED56CF96D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; }; + CEC374823909DB45BCE317B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.cpp"; sourceTree = "SOURCE_ROOT"; }; CEFDF1A4603927829A10D1C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + CF0AD6BF4C9E83B5CD97B9C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; }; CF0CB484FB90AA87A0C789BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; CF3820AA8410AD172AA37534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; CF4B31571114F4DDA245173C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; CF56049656D8F64D826111DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + CFC9636CDFA41CE759FE815D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; }; + D0063CF6E767B55FE5078D63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; }; + D0368021E3ADE399F6B18F62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -795,10 +989,14 @@ 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"; }; + D2B78A6C80F7243AAB0E87B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; 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"; }; + D320FA0D97381438F42A15F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; }; + D34400F28C076C77C5A9ECFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; 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"; }; + D3C358DFEB22177199A401A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; }; + D3DDADE8FB9EF7B6A4749032 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.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"; }; D4232B71E6309733DBADFD25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; @@ -806,7 +1004,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"; }; @@ -814,23 +1011,29 @@ D5E57ED12E0A0BA5E9BE2CB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; D5E997416B7973A5B0FC0F30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; D6058C4CECAA1ED6F781EC3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D670D996B558DE93F4219C9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; }; D685FE41FE0197E668A8B26F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; D6BF230834217C9D84DDAC4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + D6C6DED45D799772562E15C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; }; D6E8EEBD5F3FCF74E48E180B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; D6EA88CE8E0A46196076A88D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; D722CDD475B4703997C12E6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; D7839FF284BB06FA60DCEEE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; D7C15A04946E5D1F3DA9A78A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; D7EFF2C88C792986FA0173F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D809098CC1F9AC1CE165386B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; }; D851AB2AA2C9828AAA4DEDB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + D9A5A6442BBBAD98725C68FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; 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"; }; DB9C5ADE1BB668E63563C264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; DBA4CED9A30C2AF8C1ACCD66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + DBA6146A6B8529C82A32D2A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; }; DBBA8A99DB2EE6339B6D46FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; DBEE14BA130A3EDC23F49B1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; DBF8076E76083C9621233826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -839,6 +1042,7 @@ DC5EA4452816840FCFD62DE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; DC6B27F5C167FD13C2C903B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; DD7B1453DFA0840D1F9976DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + DDB7DA47342D27C98A357BE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; }; DDE563E5F4AFB5E0D49D14B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; DE28EF6AAFD0CD148055251A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; DE882684150F446676661709 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -846,17 +1050,21 @@ DF8263EA7C9A63B3276C7AC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DF83A23D9DFF71BADBF6F9A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; DFA1270F7EEC910721994140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + DFCD7C4CB85A4F0862C26DB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; E01B8098B97EBC5C66356015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; E02721B4521B6D84B390D112 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E0BC06B84EF383D632A4C19F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; 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"; }; + E1C8259B33291BD32479FED9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; 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"; }; E2453EE1C082531F85CF5893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E2513C97FE654F3CA30D1C86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + E2B88DBD35E2D407D8D21516 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; }; + E2F42ED66A9E30D5FB5D5208 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; }; E30E540A9B04E33577F9DF02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; E3653B17C444263D0C3BFF25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; E37854E5BF8CA5BD430A5120 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -866,49 +1074,73 @@ E3E86999B8D23D93B43E6EF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; E41ACBB472FE28CA91F50789 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; E41FCB08A114D8EDABD1FA43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + E43F8C393613A9E5686A891F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; }; E4A2BA08BA5BC4C0902A80AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; E4C47C328A8E254C9AE9CBEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; + E4D6F92768E3219B4F7BEC3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; }; E4DCAABE4085DF010D24210A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; E4FE8517C17BA52FEB3714E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; E51C2746AF287DBC983CAF65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + E55B6C4F535EDA51815F5DE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; }; + E5EFB122EEF47FB2E7A3FB77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E674FC044530BA5A4171B4D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; 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"; }; + E784585D3D9174B3A41224E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.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"; }; E86623F6DC4369C778A61EA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; + E8B37F8CFE1401A2FE6AAF39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; }; E8C4E54ED20C061CE7F522AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; E903E1BD1120F01E4C7C9739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; E906CEF0309D301B7495640E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E924E277DA7B11FCEBE07BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; }; + E969172073769CDDF9999D74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; }; E9A21F496D5DDC6CB7933A35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; E9B14DC45CDADE518EEACF9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; E9C50B5DF0C6757DD6B3F67E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + E9F9668338CC27589573BD90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; }; E9FA55F622DA134AF22EA129 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; + EA05BB038D8599792E19A159 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; }; EA1B643DE23EB2F415B84814 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; EA3EDA7EE4DF3EB95FE646A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + EA5ADC60EF5D84630772E681 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; }; + EA6C9581B095B8F92C00AEC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; }; EA882C2C8B783A3FED2A407E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; EAFDD2AD6E77F4FF8078967C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; + EB7D1EA7378C0E89075638B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; }; EBD40CE8F49557DD67A789F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; EBD856EB8DEE3C5782DA3C8D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; EBD9D784EA93561B116E4292 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; EBDD1D1B95D8B57B5AC7D650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; EBE30760EE00CEB27B3A1C99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC6509583AEC351D14B914BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; }; EC68F2E5C42A80345FDEF04D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; ECBAA976BE20B227CF86D5B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + ECCA9B4508C39DAF20F120F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; }; ECCBD88AAED3D911C98AD253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; ECE4C0A1BA8BEFBFE4288036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; ECEE51ECA09C6443BD53286C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; ECFAC92088E5DBDDE006B9C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; ED5AE513EEE7C5FE2A0A6540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; ED63FFF1DA73EE8EBD417FCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + ED6682F075F622B6ACEF9990 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; }; + ED7260152983D468C9C2E866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + EEB12422BEB0E803CB0536CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; }; + EF73741E0BC16A021896FA66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.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"; }; + F024DA5D80BF0A40883BA0FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; }; F03DCBA6536F128B50CFD3BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + F0479B8EC561C43C600E06BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; }; F062B08F258E837853F85933 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; F071B917FF92C6CF3E84D1DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; F0A26E7C4D3AAF07CB1DB790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; @@ -918,49 +1150,65 @@ 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"; }; + F2284FD99EA807E062547650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; 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"; }; + F2E84A48A55FD7B7435D4899 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; }; + F2F1FAEFEAB2C6317ED31E7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; + F3121CBCD1046F824EDBF2CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; }; F33612799C88EA1001F9A8DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; F3A2A0A5C8038634137BB03D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; F3E24546BF2EAF1735E26462 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; F3F090E6AF1288AD65E225BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; F3FB353C0530278FD5734B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; F44EACBECD6DE5A2DF7C0597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + F459F23789D5FE116C0052D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; F49196493793066B9BB07F40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + F4C9071EBD4E1ACEC74AC081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; }; F537F69AF41134684CB70456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; F540D35C98A8DF8C98ADD465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; F541E2EEFBE0176F89C61E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + F6239C2BC00C3E7E76D4C7BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; 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"; }; F669B4CA3F8E8822FE761FCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + F6E4F1C75C0D73AB4324CB69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; }; F77EF95FFA8F6C29598F5417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + F8034D782FDE83EB6BFA1FAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; 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"; }; + F9CF000B7EF51FF75DC39F02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.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"; }; FA44EED3A05B6899B54699A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; FA70AFAE0BD47AD8C88A966F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; FB125FA32A689C34D6B41485 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; + FB71071C5E0D81FE0C29C213 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; }; + FB921FE2BDDDE30AAE5D4F72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.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; }; + FCD35ED85622A72342600D33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + FD5F2BED91E5FF9645D9222D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + FEBFB48552F5CD7F393E9106 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; }; FEDBC594A00579487DCD4CF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; FEEF9B8E07F4121D804AFDC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; FF29548DD646A081491B539B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -970,13 +1218,15 @@ 88AA2B9840A6792BBAD559EE, ); name = Source; sourceTree = ""; }; 88C22F995571E4A515721154 = {isa = PBXGroup; children = ( 9E7E99EBD6772DAF4725435D, ); name = UnitTestRunner; sourceTree = ""; }; - DCDA5E047C87FC7346CEAC95 = {isa = PBXGroup; children = ( + 0D65DC6399D4325C97F412F8 = {isa = PBXGroup; children = ( 3119FD9D68523225E7F0D144, 4B26E321B9E1B5C873CDA2C7, 7E8909F2EAEC89A5DDFFE66A, 6964A54EB78D6BEF39BAD6BE, 1AB201C86687247ED1BE34C8, ); name = buffers; sourceTree = ""; }; - 700C41A0D64C9812CAFC5FF7 = {isa = PBXGroup; children = ( + AAFA1548B1D6329504AD162B = {isa = PBXGroup; children = ( + 84A6BED5ECC61823ACE6C592, + 29822ED9FA13EB375F920957, E4C47C328A8E254C9AE9CBEA, 2998EB3D5B558B98EA3D2967, 9ED9C184C21236A6FEAEBC6E, @@ -986,7 +1236,7 @@ 6A7956AC9D40A823F9EFD93B, BEDCD61FAD477E737E9001FB, 58AB6E0178392A03C1413A76, ); name = effects; sourceTree = ""; }; - 6F5BE89AAF777BB760B6CED2 = {isa = PBXGroup; children = ( + 43E750E3B1E1736EEDE17CDE = {isa = PBXGroup; children = ( 5BC25B28965D29BC1BA25BD3, 7C29E9FFCFFD30F863DF8E1D, 156FC4F1E6409675C79264F2, @@ -999,7 +1249,7 @@ 5867A87AC86E771F6257E8B3, 5A7D5494B1F27B551D632A65, E86623F6DC4369C778A61EA4, ); name = midi; sourceTree = ""; }; - 5CE393F229B8F081A89B87B9 = {isa = PBXGroup; children = ( + B41D8E9F6C81A9B1E222EC16 = {isa = PBXGroup; children = ( F071B917FF92C6CF3E84D1DA, 504D96F66E6CA762AE979B99, D6EA88CE8E0A46196076A88D, @@ -1035,19 +1285,25 @@ 201499C337A67E12D5AC2481, B07C1BB36F6117179FD0F481, A262681DB2EBAF30507D4736, ); name = sources; sourceTree = ""; }; - 3F46749F5F1D3B9D0643DBB3 = {isa = PBXGroup; children = ( + 52830E48049ABE46CFD131B4 = {isa = PBXGroup; children = ( 049912A9E6E9421DFEEED2CF, 8E2CD790F92F77890282BFDE, ); name = synthesisers; sourceTree = ""; }; E139BBDE9E8498DFF5089AA1 = {isa = PBXGroup; children = ( - DCDA5E047C87FC7346CEAC95, - 700C41A0D64C9812CAFC5FF7, - 6F5BE89AAF777BB760B6CED2, - 5CE393F229B8F081A89B87B9, + 0D65DC6399D4325C97F412F8, + AAFA1548B1D6329504AD162B, + 43E750E3B1E1736EEDE17CDE, + B41D8E9F6C81A9B1E222EC16, 87109793DF6E917190C81B97, - 3F46749F5F1D3B9D0643DBB3, - E18BCF3B028C936A2D7A75DB, + 52830E48049ABE46CFD131B4, + 31F91DD05E85F47E4292A5A5, + B2B2B0D649F7F56CA1204146, + 8A9BF66CD7A1500F21F06CF6, B2B2B0D649F7F56CA1204146, ); name = "juce_audio_basics"; sourceTree = ""; }; - 678699EB876AB79E71A7A050 = {isa = PBXGroup; children = ( + 7008BEA3127B09C4E9C2DC85 = {isa = PBXGroup; children = ( + 7EBE149C4323508FED63DFCC, + 0F4C3B3BD169BEA4FEC3ED5B, + BE3EA058010047456D73AACD, ); name = "audio_cd"; sourceTree = ""; }; + B55CD0ABA133DB18FF729942 = {isa = PBXGroup; children = ( A0B818539943BFCEA1AA2C1E, 57272E091C29E8475D3779E7, B2AA22B23779CE171655790B, @@ -1055,22 +1311,13 @@ F56A0572594B18C198211C87, D9CAFE63130B829FB4912923, D851AB2AA2C9828AAA4DEDB1, ); name = "audio_io"; sourceTree = ""; }; - 0CE36398DA53F22F601FAE76 = {isa = PBXGroup; children = ( + 185F03410F35E07C7AE25C16 = {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 = ( + BB2E281E195F9F1AAE9056CE = {isa = PBXGroup; children = ( C1ED4ACAB31FAA15ACE6D6CE, E61E0DA3871788BA6154F2E3, 8C8A49AE954E8C36615536F6, @@ -1090,31 +1337,169 @@ 46240849FADC744B37AB1CE4, B5CE09DCE9500F96794A366F, 759298E5BD13DF0FEA4BBC71, ); name = native; sourceTree = ""; }; + 25F6F8EFD788A511DE3BC9D2 = {isa = PBXGroup; children = ( + B2DCDC3D189A0973286F250A, + 0842DF7979CB25F708597440, + F669B4CA3F8E8822FE761FCC, + 7A018DFF9F04FB1C930EEC9E, ); name = sources; sourceTree = ""; }; CB31FFDD38E416ACDECBA7B8 = {isa = PBXGroup; children = ( - 678699EB876AB79E71A7A050, - 0CE36398DA53F22F601FAE76, - 553BC5CA7E80C9A9CAB72B68, - DCC06127D02C34E18AA38626, - F19D06B0565FECD1F7289480, - 0326AA6D115F119761B1EDD5, + 7008BEA3127B09C4E9C2DC85, + B55CD0ABA133DB18FF729942, + 185F03410F35E07C7AE25C16, + BB2E281E195F9F1AAE9056CE, + 25F6F8EFD788A511DE3BC9D2, + 8EA39C48DA182B4CD06FE4D0, + 284376DCD46CCD8879477F8C, + B2B8E7BE0607DA166DAAEFEF, 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 = ( + B6E4F131AF99A16C93A0169B = {isa = PBXGroup; children = ( + F4C9071EBD4E1ACEC74AC081, + CE8E5D56862DEE1F1828B3DE, + 87D307B14032858922EDE46F, + 1AAEC3D59ADA0D5683E1E0A6, + 5785E65A1C5C0558C15FACE6, + 33613009EEFA0EA2F4FE138E, + C7CB4553F9D049D08AD7DDA3, + C18F4D6C1F77741660895153, + D6C6DED45D799772562E15C0, + ADADBE01B75F0135A3BE0DE5, + 74B93C0B368E9CE768912423, + D0063CF6E767B55FE5078D63, + D3C358DFEB22177199A401A1, + 4B6BF269B1180BD0C0D8B938, + 2DB4A8C0C9FB63C3F9EB67FB, + CF0AD6BF4C9E83B5CD97B9C7, ); name = private; sourceTree = ""; }; + 9E5B440FB707CBA1F6101947 = {isa = PBXGroup; children = ( + 47EFB0988181894D06E76033, + BB3A9DD17C4B752BC5C3AE02, + 7D0870363A15C00C3AEDEB72, ); name = protected; sourceTree = ""; }; + A0DD2B2CEA68930936AE43F6 = {isa = PBXGroup; children = ( + B6E4F131AF99A16C93A0169B, + 9E5B440FB707CBA1F6101947, ); name = include; sourceTree = ""; }; + A4C98E9DEE0F780ECBD2A254 = {isa = PBXGroup; children = ( + A0DD2B2CEA68930936AE43F6, + 8D1489904AF232CA53531558, + 27166FCCEBF8B19FC2ED5B17, + C66E703E2D09BB632D602704, + E4D6F92768E3219B4F7BEC3A, + 5D313F716D6BD535BBAF6D1D, + B8C3100BD53A4A52DC0ABEF3, + 696EE8C81AECF37AAF394877, + B13757D10F369187D4AEA488, + B92E204B7EF0C81D3B7317E4, + C07E00ECDFD2306044311A05, + 730792C0AF5CFBCDE6B7D2D6, + 5CD00921FDF9A52A63E2234A, + 371CAB77E4095CF54E1A1623, + 6C01D3AA05239D18C5590362, + 09BAEC297F0AFA2F22E4FA0B, ); name = libFLAC; sourceTree = ""; }; + D58837154DE84BC80742839F = {isa = PBXGroup; children = ( + A4C98E9DEE0F780ECBD2A254, + 365270C2AAF19C066536C8EC, + D34400F28C076C77C5A9ECFA, + E969172073769CDDF9999D74, + 74E59A23FE74C1CB82E31ACF, + AB7C27303DB8998E89B3D85B, + BC40851115EBBE44982702B0, + 5F759B9B870C2414FCA5BFBE, + 2A04D0F1C10E1F0F57C7FF06, + C38E103566DD334575DEB132, + F6E4F1C75C0D73AB4324CB69, + EA5ADC60EF5D84630772E681, + 7172AE7595761A85761E3E81, + CCADAF6C613801261EB185B6, + 28AE7B6CE545899A8025B436, ); name = flac; sourceTree = ""; }; + 17DA2667CCE6A0873268DFF2 = {isa = PBXGroup; children = ( + 681C4FB79EE4303C6924DEC8, + 2B1CAC60753034227AA0BC99, ); name = coupled; sourceTree = ""; }; + 49E8D6525921395103CFF100 = {isa = PBXGroup; children = ( + 441C08C753190538704EE9F2, ); name = floor; sourceTree = ""; }; + 5C110081832FE36413C8EE5F = {isa = PBXGroup; children = ( + 22145853C1A4543A6F86508D, ); name = uncoupled; sourceTree = ""; }; + C08779CDC7D748646C196CC8 = {isa = PBXGroup; children = ( + 17DA2667CCE6A0873268DFF2, + 49E8D6525921395103CFF100, + 5C110081832FE36413C8EE5F, ); name = books; sourceTree = ""; }; + 37A5C9315C23740053C9DA1E = {isa = PBXGroup; children = ( + B6C36FAA0A08D4404423F2DE, + 2D840E0BDEE6CED4EFC82BF9, + 24204892367C50B2F9789958, + 6432686767E1480E297DB156, + 1FA7D366E7400655D9660F86, + 87C00658AE46DDF8F55ACE16, + 38DAC2180675C066CE05D015, + CFC9636CDFA41CE759FE815D, + F8034D782FDE83EB6BFA1FAF, + 8D75B68D9A257ED0E3573436, + A71720163EB36A9CC71A90B4, + E5EFB122EEF47FB2E7A3FB77, + 447D52F52608AD3010A6D5B2, + 6CF96232147D7D159F31FDD7, + B02BC209D66368B064CE45A6, + C0BF92D7A5F8C763B7DF2671, + 55655705302A60F6DEE62504, + E55B6C4F535EDA51815F5DE7, + EB7D1EA7378C0E89075638B5, ); name = modes; sourceTree = ""; }; + D987A9A1C43AEFAA59EF1C33 = {isa = PBXGroup; children = ( + C08779CDC7D748646C196CC8, + 37A5C9315C23740053C9DA1E, + 69E253D3D4AB3BA8C5A3B015, + 514C3C541869EFEAF7D1ED95, + ED7260152983D468C9C2E866, + 7431C5432FA935EE31304877, + E1C8259B33291BD32479FED9, + 6E1EBEE6012001E645972C61, + EEB12422BEB0E803CB0536CC, + 8611612BEA22B86ABB4BBE21, + C0750200AA1174CD9684CA77, + F9CF000B7EF51FF75DC39F02, + D320FA0D97381438F42A15F7, + 1E5D884EADBE55873511E58A, + E43F8C393613A9E5686A891F, + 8DD41507C507C323ACD3ED70, + 531C35D3BB605E361E220189, + 0CB36C42FB53B70236446BDE, + 0525460AE20701C3FEB62EC5, + 17062116C1616CD502D341A4, + 4F0431019AA0C520C8593232, + 527418644AC333A74366BF66, + CEC296A48153055ED56CF96D, + 97EC4D6736EF9B765E9E0285, + 6FB13BE8306832FE5A385113, + 5902ECC763657C61462BC76C, + E784585D3D9174B3A41224E3, + 0E3A5D7A62AB9C7263489A3C, + 8FF296C4080983EB28881790, + 94DAA0400669BCD38DDD1DC9, + FB71071C5E0D81FE0C29C213, + 5EDC414F667E6FF45FD974A3, + BD6C11678B01D756A57FB2FC, + C93AA91AAF05334E4EED3F0F, + D670D996B558DE93F4219C9A, + E2F42ED66A9E30D5FB5D5208, + 3D6C238777C828BAC9252C92, + 4BD7F7742C373297D61D1B94, + F6239C2BC00C3E7E76D4C7BC, + CDE782175EDEB5C785F27909, + E2B88DBD35E2D407D8D21516, + F0479B8EC561C43C600E06BC, + E0BC06B84EF383D632A4C19F, ); name = lib; sourceTree = ""; }; + 8E536B1CBCB5EC4B864BB699 = {isa = PBXGroup; children = ( + D987A9A1C43AEFAA59EF1C33, ); name = "libvorbis-1.3.2"; sourceTree = ""; }; + 65F68DAA23BD4E116C9A2831 = {isa = PBXGroup; children = ( + 8E536B1CBCB5EC4B864BB699, + 3D0CB84A16965653C0F9FC1F, + EC6509583AEC351D14B914BD, + FB921FE2BDDDE30AAE5D4F72, + DDB7DA47342D27C98A357BE7, + 5A4AB7492C4071860AC2C19E, + BADFB682CC21156F3A9437BD, + 9582FF93E9E8C6FECE825632, + 69F95B750F118AFB32F95E1A, + 1F980F1D7B18B076917B948C, ); name = oggvorbis; sourceTree = ""; }; + A147B169749B5834796F7F5C = {isa = PBXGroup; children = ( + D58837154DE84BC80742839F, + 65F68DAA23BD4E116C9A2831, F1149DA91463ACCD18E44E49, A5D9D2A0B886D5AE89D5E179, C642049FA1163EA7E12E88A3, @@ -1133,36 +1518,39 @@ 1F4F38120BC0DBC715F6F409, FF29548DD646A081491B539B, B91FEA27E538F682353764B3, ); name = codecs; sourceTree = ""; }; - F5E213AD45E3C27EA7B1C188 = {isa = PBXGroup; children = ( + EFE6008EB6C45503C7F86916 = {isa = PBXGroup; children = ( + F6037F38BFE99E64788E75B2, + 055312D8C0318A3874B50E48, + F44EACBECD6DE5A2DF7C0597, + F8FF942E6B503D5F994EE16A, + 8754559202618CFA864E3EB4, + 200147AB1F8AD471A5A601CE, + 5CE13BF294C618208AAA534C, + 98A078477D7155B06DD1E862, + 623E393A11DA11EB2EE138D6, + 918F58A446A6499767DA59FA, + 9936D1A28C5FC53ADE55EE8A, + 5B700FCF685F005DCC46AF6C, + 55300250DA826ADCB124E313, + C54D0680BCE1F4ABD0FF3DBB, + 38CF83D47D261849B0F70AC0, ); name = format; sourceTree = ""; }; + 169583EB8DB0CAFCE89C8DCC = {isa = PBXGroup; children = ( 2ADD79E73EAF0B99A04EF72C, B010BCB2C181F83BA68725FF, ); name = sampler; sourceTree = ""; }; 227FC24A9921588DCB15612F = {isa = PBXGroup; children = ( - 0613FEF29C32703BFF1B7E38, - 11F12448D457390056C8972E, - F5E213AD45E3C27EA7B1C188, - 28E930DA6A81123555C6B4D0, + A147B169749B5834796F7F5C, + EFE6008EB6C45503C7F86916, + 169583EB8DB0CAFCE89C8DCC, + EF73741E0BC16A021896FA66, + D3B67F76F3E120815C1B3729, + B114804B7D23DA65A2A6351A, D3B67F76F3E120815C1B3729, ); name = "juce_audio_formats"; sourceTree = ""; }; - 0CD4E1D56790D679DC1A71C4 = {isa = PBXGroup; children = ( - 59EE21D372B3DFC1B453B8B4, - 7BC436F55CA94D4ED0A20BC6, - 468EE2A5579D7F6508B3BE7F, - EAFDD2AD6E77F4FF8078967C, - 99C92A54C15FBCDBBAFFCE87, - E3653B17C444263D0C3BFF25, - 748039A8DA137237440CADAA, - C59B6E73670ABD1DEBFF04EA, - 691E9B9DE8D4E05F08BB343B, - 36FD6BA3CD1E30CF74B53A9B, - 4F7A8D6319B9DE57E6BA5DF6, - 3501E68163606B437D3CD4A2, - 83911624896F5077D1584CE5, - 1EF1E6DE19462CAF1F191862, ); name = processors; sourceTree = ""; }; - 0BCE646AE0A4FE768DCBA2CE = {isa = PBXGroup; children = ( + 8736C0529FA9C2C32A98764D = {isa = PBXGroup; children = ( 345459CE27D07EDD3E19B299, DC6B27F5C167FD13C2C903B5, 82C1F8A9929DF547C004C07F, C5E11042008ADD9755FE072F, ); name = format; sourceTree = ""; }; - C5DD3460F92C6FB3151B497C = {isa = PBXGroup; children = ( + ABF2AF74BF7080092729FB97 = {isa = PBXGroup; children = ( 0EAC6F9BA8425E419F803A2B, C3B38FF0CFF855B48FD341D2, 54BF97F32965B4FB5CF2D56F, @@ -1174,7 +1562,24 @@ E51C2746AF287DBC983CAF65, E3D8F97C26B8E03820AFC971, 763A365B46F5D3EDD8F8B1EF, ); name = "format_types"; sourceTree = ""; }; - 116EF492D8ED939939B9A2A4 = {isa = PBXGroup; children = ( + 158CACD42A1CC66D5423F77A = {isa = PBXGroup; children = ( + C3FF931ABD1A2A7A0B3F2F32, + BF07F813AE252965882B419D, + 59EE21D372B3DFC1B453B8B4, + 7BC436F55CA94D4ED0A20BC6, + 468EE2A5579D7F6508B3BE7F, + EAFDD2AD6E77F4FF8078967C, + 99C92A54C15FBCDBBAFFCE87, + E3653B17C444263D0C3BFF25, + 748039A8DA137237440CADAA, + C59B6E73670ABD1DEBFF04EA, + 691E9B9DE8D4E05F08BB343B, + 36FD6BA3CD1E30CF74B53A9B, + 4F7A8D6319B9DE57E6BA5DF6, + 3501E68163606B437D3CD4A2, + 83911624896F5077D1584CE5, + 1EF1E6DE19462CAF1F191862, ); name = processors; sourceTree = ""; }; + B38FEF84E3189E32B3A795A7 = {isa = PBXGroup; children = ( C2F2E19D495434FA2DE26CDC, EA882C2C8B783A3FED2A407E, DD7B1453DFA0840D1F9976DD, @@ -1191,64 +1596,16 @@ A413B2A303984674A412461B, AB22692A2D791A3D54D8C032, ); name = utilities; sourceTree = ""; }; 67E024FB39CF9D5F419DFBF5 = {isa = PBXGroup; children = ( - 0CD4E1D56790D679DC1A71C4, - 0BCE646AE0A4FE768DCBA2CE, - C5DD3460F92C6FB3151B497C, - 116EF492D8ED939939B9A2A4, + 8736C0529FA9C2C32A98764D, + ABF2AF74BF7080092729FB97, + 158CACD42A1CC66D5423F77A, + B38FEF84E3189E32B3A795A7, 4661CAE20E855F3E2858F466, - 433570B5CB82EAAD5C34D9CE, + 5855D3234BC62C85FAD56651, + 7313349086C4EA845E401115, + F9532938F368676B0E308A2E, 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, ); 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 = ( + 2B30D7DB8B2484DC948661AB = {isa = PBXGroup; children = ( 0C50FAE1C35E34FC7D0FC4EA, 565CBFAF71980BABD0356E9C, 6B249192BAF0AAF7E182424F, @@ -1270,37 +1627,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 = ( + F175CF3568C7C40FED807DD5 = {isa = PBXGroup; children = ( 28CA254C9477C666765FE20D, 63FE8D20853DE99AAB629474, 353A1C800FFDA1FFFECE7506, @@ -1318,76 +1645,56 @@ 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 = ( + B752CC8875BAB76BA9B900E1 = {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 = ( + 7770A58004A12B172E7341E0 = {isa = PBXGroup; children = ( + 7B1109F92CEA6A8EEEE3EC0A, + 39C0A0CDD4C166B90FCD007D, + F2CFEEA04701C7F6E0FB23E1, + 8C73C4A7B108C27F4BA2EE99, ); name = logging; sourceTree = ""; }; + E223452ACBA42DDC89FE4B73 = {isa = PBXGroup; children = ( + 84CD53641AE2AFCEC3EDDDB3, + 011BC83C4F54E7A82E599A25, + 522B0E168525CE35761E7426, + A33DDAC6F430E39DA8E28C22, + B48F2BC7D54AB619F94B6DE1, + 87E0CDB289BF68FED505A098, + B8B051C8BBF4C9504C957862, + E02721B4521B6D84B390D112, + EC68F2E5C42A80345FDEF04D, + DFCD7C4CB85A4F0862C26DB5, ); name = maths; sourceTree = ""; }; + 1EEAE9CF87A46D1BC6C62589 = {isa = PBXGroup; children = ( + 325750A5B117A2371A994ACD, + 2A4F0A9504E82AC101821457, + 657B7282AD450BA17A392C64, + 691571797332562EB49B94FC, + A2895A66C2417B5614E18FF4, + 1FFC7AFF3D3F1320424A5A5C, + 75A6F076085B1A88A4E728A0, + 7CBD7946B2E48708A4B9A6CC, + FEDBC594A00579487DCD4CF2, + 28005BCC2C25CE65458FDF00, + 8FE10CC3F12262F2B751A209, + 46B761536D14427B59DE4770, + AC2B37963341CBE58BB1AC15, + B76EC07AED2B1ABA4DAED64B, ); name = memory; sourceTree = ""; }; + 1307C43FB84482D99BE5FD48 = {isa = PBXGroup; children = ( 392EF1D59642EF6CDC55A9EE, 23C0F2738358F85550725F10, + 3D74EB0CC8B99654F5EBA6BB, + 9C4225421882F030A7223C43, 64E5D55B5B7848BFFE434833, 28CDCE8D0A0C0719FA138404, 14A6DD16E3CF1F4F659CEF79, ); name = misc; sourceTree = ""; }; - BB889ADA5F13E25BABB2E62A = {isa = PBXGroup; children = ( + 639A5CCCED13408E870D2DA7 = {isa = PBXGroup; children = ( 2B8FF90925E5CAC668AACA7A, BD629E0F3E19731D9FCD9749, 517B4B514A39EC616BFA35CD, 43FC6EACCF3ACCD975155568, + 36723B1752C012CD2E2B0E9A, 4F7C3C74A4D98519D93BCA58, 9D8D638179CCD34DE1EA728C, 80DE7559F9A8537F036F47BE, @@ -1412,87 +1719,204 @@ 7FDDFE5DEDF1FB4CE9DA3805, 08D15FEA79B3D9D2E431B26A, 4BE4341086F3D5FDE2E6B40B, ); name = native; sourceTree = ""; }; - 3B406129DCB6DEAC37783314 = {isa = PBXGroup; children = ( - 960867EA1D637A31A30C1A7E, - D6A290DC662182F8249B3CAD, - 7031990A2293EB0DCF7205E2, - BFA12751EF3E483E78F50B17, - 56362ECD4B354F0313ACC409, - C9C84B8A2DED2098182BADCA, - 94C848668FF1D65522995FCA, - 4971C5D86EF783DAF9137FF0, - 92C44549382C9EA431506B7C, - DB77A9D815E2BDF82AEF8805, - B6586DF36CA6698E3493178F, - 951BB9E63A6A3FA543B8FD05, - EE5827AEEFB7721762FD7B52, - 760CB66B9DAF73DABF1186D3, - 9FA49607580C148831F3D171, - D21AE897A770205315256492, - BB889ADA5F13E25BABB2E62A, - 5FA739DFBCCAE232D83A4BE7, - E41FCB08A114D8EDABD1FA43, ); name = "juce_core"; sourceTree = ""; }; - 10761DF7B321254FF2E06928 = {isa = PBXGroup; children = ( - 3177644BD4EAA55EC0BF9CC8, - FEEF9B8E07F4121D804AFDC7, - 36B940462E1FC6A1892F5B02, - C0615014804EAF9B1A59810A, - C4725A9E883FE9A4BE50D9CA, - D0D7C01D95C4259DAE32E722, ); name = encryption; sourceTree = ""; }; - 8B4534F721E2212632DE8ECA = {isa = PBXGroup; children = ( - 44270529359EB7C5C7869183, - C1A1A13E1CF77528E78313E9, - F0A4BC9062EA28B85849AC96, - 4FB7ACAECFBBC75BE6757F0C, - C6FE61439C07717B4A0F9B64, - F5B5783E750FF221D3C1153F, ); name = hashing; sourceTree = ""; }; - DCB988EA19DD9CA9258D1E26 = {isa = PBXGroup; children = ( - 10761DF7B321254FF2E06928, - 8B4534F721E2212632DE8ECA, - 59C7C5317760C3FC84D9F3B6, - 57A5DB05214FADC6EA2FF2DC, ); name = "juce_cryptography"; sourceTree = ""; }; - 6B5C849F3D53AD089A238F0D = {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 = ""; }; + D9CD6DF9B54D831A2188CD6A = {isa = PBXGroup; children = ( + B7F361C82E8C1C47CC457941, + EA1B643DE23EB2F415B84814, + 18672DBD986C218C32E3F749, + 93E55D837D8A44BB6BAC9315, + A8411E52CBD9A8EE6BDBC2EA, + A41BB84E335B4F59F162CD82, + 92EA44F4FBD5ACA590CD1EC4, + 318BCD40258102F2A6EBF436, + DC5EA4452816840FCFD62DE2, + 59543077224E7229AB9215C2, ); name = network; sourceTree = ""; }; + 8F0CABC1D5BC6230095B7ED9 = {isa = PBXGroup; children = ( + AFEE3F9C7669EE074A1D4AF5, + ECFAC92088E5DBDDE006B9C4, + 9F8C2988A20A87D2995D48CA, + 7AC13122BC642A8157397AB0, + 883663D64D440F8D75BFF706, + BE3C6EB9580AFB6A8C731A11, + D2011DB0DFD91C589FD22051, + C72AFDEA087704F6D67C4D6F, + 4F4C8AD96575CB346E656BFA, + B7F5A21D37A7A981E624CDB7, + FF4F4565BAA265B05B6219A3, + B4002753D99D947D4198A324, + ECBAA976BE20B227CF86D5B9, + 584C5A04EEE5595E09F690CD, + BB1202BFAC430CB62A78E63E, ); name = streams; sourceTree = ""; }; + 45D3FF995FFB69C029350227 = {isa = PBXGroup; children = ( + 3C43B76DD81C4672CD720CDA, + 81F8E38B3F45939C08F5B8B9, + 29FA63E0000E85C75AEB2D3C, + 73246EA06C90033349EF3496, + 78ADF136FF36716021410A6A, + 65AF531F57FA186D14BF991F, ); name = system; sourceTree = ""; }; + 062D79873F2340B1335F23F9 = {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 = ""; }; + 9DA71DBFAE98DFF8CC812C07 = {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 = ""; }; + 542E558EA894EBA31D4C8E9E = {isa = PBXGroup; children = ( + 4AF9E26A4EBAF5B673BBC1DD, + AA9786A0CFEB8A216C6C326F, + 4C96663BC361EA73428C6BCE, + CB91D3680C4EA0F9E508CF17, + 1D4155D4B8CF0D7D4183D7CE, + 5A52B314306EB47411A20946, ); name = time; sourceTree = ""; }; + 940E9D3FCE89ACAB0BFE8C35 = {isa = PBXGroup; children = ( + F33612799C88EA1001F9A8DF, + 697DF250EE9A701784508070, ); name = "unit_tests"; sourceTree = ""; }; + CA9EAAF4A150927121CBB7DB = {isa = PBXGroup; children = ( + 0A369ADB2FFC7511877CE104, + 130A3006D67DEE7054BBC5B6, + DBEE14BA130A3EDC23F49B1B, + 11AD5417D0E7C2C1C828838C, ); name = xml; sourceTree = ""; }; + 561FABA8C9C05370056DD380 = {isa = PBXGroup; children = ( + 3E9C84DE1ED0AE8D788CD9AB, + 70400293C881831A2DF9AF1C, + 00A289FB30DC2383C6485FE6, + 699E1816F447C90CE7DDBF98, + 7E4BEF5B0EBFB3F6E080081D, + 4B48D4F20A3E9244160D8660, + 2F64F5A0B7208745E7AD192A, + F459F23789D5FE116C0052D9, + 07EEC558D2E9B6857C1AE137, + D3DDADE8FB9EF7B6A4749032, + 90CCF2B52F1BC2B34C8043E3, + 81103FF6F9681B4C8AD7D629, + FCD35ED85622A72342600D33, + C095E60A9791DBA7944CC8E2, + 54991E1A71E8C48F3822B4B7, + 726119A76203A5779BA650E3, + F2F1FAEFEAB2C6317ED31E7B, + 724EBB8069BED243801260D3, + 58B836289867FACBCB8FB0A6, + 83CAA169494D570CF137600C, + C42BCD9C395C1CD9E1207E88, + ECCA9B4508C39DAF20F120F9, ); name = zlib; sourceTree = ""; }; + F6FF28F6FF6BB8EDEDD852C0 = {isa = PBXGroup; children = ( + 561FABA8C9C05370056DD380, + D7C15A04946E5D1F3DA9A78A, + F94CD18DE8CA9B8252F7BEDA, + B7B9C15C70A4B6730E22B505, + B807F3AD93834192969AB5E4, + 31BB8378823D71E83206EF2A, + FA70AFAE0BD47AD8C88A966F, ); name = zip; sourceTree = ""; }; + 3B406129DCB6DEAC37783314 = {isa = PBXGroup; children = ( + 2B30D7DB8B2484DC948661AB, + F175CF3568C7C40FED807DD5, + B752CC8875BAB76BA9B900E1, + 7770A58004A12B172E7341E0, + E223452ACBA42DDC89FE4B73, + 1EEAE9CF87A46D1BC6C62589, + 1307C43FB84482D99BE5FD48, + 639A5CCCED13408E870D2DA7, + D9CD6DF9B54D831A2188CD6A, + 8F0CABC1D5BC6230095B7ED9, + 45D3FF995FFB69C029350227, + 062D79873F2340B1335F23F9, + 9DA71DBFAE98DFF8CC812C07, + 542E558EA894EBA31D4C8E9E, + 940E9D3FCE89ACAB0BFE8C35, + CA9EAAF4A150927121CBB7DB, + F6FF28F6FF6BB8EDEDD852C0, + 5DE738D2B014E622B6A9DF0A, + E41FCB08A114D8EDABD1FA43, + A05963C7B992F7AB56E324D9, + E41FCB08A114D8EDABD1FA43, ); name = "juce_core"; sourceTree = ""; }; + 10761DF7B321254FF2E06928 = {isa = PBXGroup; children = ( + 3177644BD4EAA55EC0BF9CC8, + FEEF9B8E07F4121D804AFDC7, + 36B940462E1FC6A1892F5B02, + C0615014804EAF9B1A59810A, + C4725A9E883FE9A4BE50D9CA, + D0D7C01D95C4259DAE32E722, ); name = encryption; sourceTree = ""; }; + 4278A757362AC66D716DAD0F = {isa = PBXGroup; children = ( + 44270529359EB7C5C7869183, + C1A1A13E1CF77528E78313E9, + F0A4BC9062EA28B85849AC96, + 4FB7ACAECFBBC75BE6757F0C, + C6FE61439C07717B4A0F9B64, + F5B5783E750FF221D3C1153F, ); name = hashing; sourceTree = ""; }; + DCB988EA19DD9CA9258D1E26 = {isa = PBXGroup; children = ( + 10761DF7B321254FF2E06928, + 4278A757362AC66D716DAD0F, + 5496FAA5DA7779827EB8091D, + 57A5DB05214FADC6EA2FF2DC, + 4BBE8E87CCF1400578410B69, + 57A5DB05214FADC6EA2FF2DC, ); name = "juce_cryptography"; sourceTree = ""; }; + EE954B34324B08CD1B074694 = {isa = PBXGroup; children = ( + 8101AC46C4730C1DFBF4D81E, + 0482051A47A991EE0CF0F56A, + 75FCEE18130090191527FF34, + C9C1B109F10AEE13151695D2, ); name = "app_properties"; sourceTree = ""; }; + A7D33C03E9AC15F8CC4BB547 = {isa = PBXGroup; children = ( + 617C2768CBDA087AE0B2C40F, + 41FBBAEA5B88952DD3885A11, + 5270E66C5C7578382B430BC6, ); name = undomanager; sourceTree = ""; }; + 90A5B8D7D5AEDAA204831CD0 = {isa = PBXGroup; children = ( + C919023E9D395E95E857BE3E, + EA05BB038D8599792E19A159, + 40D1DB4A897D8436C3303CCD, + 881CF0D48C44D83FBEFE11C1, + 6FAE80EBA0BD373154CD9F6C, + 5CEC50035A8D3B7F84C1FB3E, + 94700EA8E9460F1384C1F98A, + 02F5F63EED08DDC646BD9B50, ); name = values; sourceTree = ""; }; 0707014275E47642CD7A72D6 = {isa = PBXGroup; children = ( - 6B5C849F3D53AD089A238F0D, - 9496E86A17032A66B6E556B6, - 7308E3868AA672F686FCCFF0, - 2B85DF39DC6F7E59C8F8288A, + EE954B34324B08CD1B074694, + A7D33C03E9AC15F8CC4BB547, + 90A5B8D7D5AEDAA204831CD0, + 60F4FFBB5FF892FB69F3D45E, + 09D02F17787745163017E697, + CA50EF6915D17B0B2D412194, 09D02F17787745163017E697, ); name = "juce_data_structures"; sourceTree = ""; }; - 99510CEB30016A4FD7C0211A = {isa = PBXGroup; children = ( - 525FEE7AF4B65040D7689EDB, - 78DCD3BC63EDC98A4F913A2B, - 93D3AC7DCF3CC7405B11131E, - C7625C0B5AF05F7B34BFA9FD, - E02758694227F8A45EE83188, - 51EDFBA53524CC115EB1B71C, - 606D9ADC377C50E9730B6CDC, - 0C61E4BAB67CFE8E1E0E9ADE, - 24CA9C7F53B6B626AB6E43D4, - 30E589DB4AF92E5028D2757E, - 396EAA6D0FA938F9B51473A5, - 980DC6500717A68FFA5EDFC8, - 41883B811706971686F7A2C7, ); name = messages; sourceTree = ""; }; - 8DBD78F00BCB08D91254C22D = {isa = PBXGroup; children = ( - CF0CB484FB90AA87A0C789BE, - DBFF03B0A31F76E9A36532DD, - B3765CEDD780C38AC37E627A, - 3F74639612050FF56DE3FA19, ); name = timers; sourceTree = ""; }; - D9D8CF61CBC48BE202DF80D5 = {isa = PBXGroup; children = ( + BE3E9BDA3D71F21F72188F3A = {isa = PBXGroup; children = ( 24AF8E94C5C02CF8CE02C455, 9E775C12A67CCD63B38F6D60, D31A9BADAED3EA3757E78FCE, @@ -1508,7 +1932,21 @@ B13F6EF80751C0A629749B80, 8DA4DCF95D0F6BEB6AD5302A, 646C61429CD13E2E52D12141, ); name = interprocess; sourceTree = ""; }; - 1D70DBB77DE50006AA25CFBE = {isa = PBXGroup; children = ( + D6E330EE764B6BFC496123F7 = {isa = PBXGroup; children = ( + 525FEE7AF4B65040D7689EDB, + 78DCD3BC63EDC98A4F913A2B, + 93D3AC7DCF3CC7405B11131E, + C7625C0B5AF05F7B34BFA9FD, + E02758694227F8A45EE83188, + 51EDFBA53524CC115EB1B71C, + 606D9ADC377C50E9730B6CDC, + 0C61E4BAB67CFE8E1E0E9ADE, + 24CA9C7F53B6B626AB6E43D4, + 30E589DB4AF92E5028D2757E, + 396EAA6D0FA938F9B51473A5, + 980DC6500717A68FFA5EDFC8, + 41883B811706971686F7A2C7, ); name = messages; sourceTree = ""; }; + 272362013E88095C53F9CE8E = {isa = PBXGroup; children = ( 2AD4699E0037E5EA8301A8FF, 99581429529922C90A11D91C, 7AB08504FDC868FA958A3B07, @@ -1517,15 +1955,22 @@ 06362804F777439B6DEC6BAC, 2326E1582EB6251D13616525, 1DB2B8D040DF0AEF33349943, ); name = native; sourceTree = ""; }; + 2B806667E580EF755C972FB8 = {isa = PBXGroup; children = ( + CF0CB484FB90AA87A0C789BE, + DBFF03B0A31F76E9A36532DD, + B3765CEDD780C38AC37E627A, + 3F74639612050FF56DE3FA19, ); name = timers; sourceTree = ""; }; B37AD81AA22EC94D4AC7516C = {isa = PBXGroup; children = ( - 99510CEB30016A4FD7C0211A, - 8DBD78F00BCB08D91254C22D, - D9D8CF61CBC48BE202DF80D5, + BE3E9BDA3D71F21F72188F3A, E364D2DDCFB3D5A7FB4FE34C, - 1D70DBB77DE50006AA25CFBE, - D368C96D79F2F42540CAB393, + D6E330EE764B6BFC496123F7, + 272362013E88095C53F9CE8E, + 2B806667E580EF755C972FB8, + E9F9668338CC27589573BD90, + F1A2241408FECD965CFCF126, + F241825460BC7EF7FEF07B48, F1A2241408FECD965CFCF126, ); name = "juce_events"; sourceTree = ""; }; - 26AFAC463EBBB3E83F0D415B = {isa = PBXGroup; children = ( + 24681981AD865CFCFFDD6423 = {isa = PBXGroup; children = ( 05D94C76428886D15D6A9D54, FD7E11DC3406DC0E308AA8CF, 2895DFA097E1D224B5C1FF97, @@ -1535,7 +1980,7 @@ B386CFA5AA9EA1B8F2C8A233, 436224F13EB146CBD822D66B, 69B1AD3F6C9B8CBA65A99E4A, ); name = colour; sourceTree = ""; }; - AEBECE5A05D7EB1B30F06C7C = {isa = PBXGroup; children = ( + 60C88DA5BDE5039F040D7354 = {isa = PBXGroup; children = ( F062B08F258E837853F85933, D12CD4223FACE1B5D3B975BD, F98B3688EA63D8E635D2CC43, @@ -1543,20 +1988,26 @@ 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 = ""; }; - 7B498AEEF89EDC2852021514 = {isa = PBXGroup; children = ( + 958878D0749C4D71247383C1 = {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 = ""; }; + 3AB34DC9E69AB76E4A2476DB = {isa = PBXGroup; children = ( F9CF1242078815002E111C9D, BD923983F1C1C5C566985FF8, A12510A5CBFD7BC54CF0C8C2, @@ -1572,30 +2023,105 @@ 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 = ( + 765358EFFD7CE78DE5D316FD = {isa = PBXGroup; children = ( + 3BC03FC7B39CBFF835804112, + AFA1BDF610AF9BC8BD6EF244, + 06559FFD417BF3B1BE01CE2C, + C5CAF949B2AE5765666D0F7B, + 28BF7373CA181C698EBD882C, + 009B9D1F3B98C166591B780B, + B58111282097254A8A7664FA, + D2B78A6C80F7243AAB0E87B9, + D809098CC1F9AC1CE165386B, + 4D84A8DB5F5DCC39327B68AA, + F2284FD99EA807E062547650, + 1906B8FF670C94A71F5A5CAF, + 7164EBF97C8E45D95F4DC773, + 5F333E8E6000AF680E10E84D, + 6FE3D13ED3541B16650BA4F4, + 0B32015F1E8018AFEBC4FB84, + 9D139C68A82436C5A9B6F01E, + 52A77646547C4DFA6AF5B716, + 6015A6CF6F32B9BAE3B773AD, + B630B14642178D4B710A0D5D, + 70118E239265C4DB31E2D805, + BF4300338A09F8D69332A4FA, + 0592EF9F4A6FEC834CC0E3CC, + CBDCBC1014FE46D8178807CC, + DBA6146A6B8529C82A32D2A5, + 1AC52BD575F8DA0F1E3D3350, + 5DCFCC1E080367B658DC9EE4, + A146947F03AAE37EA07D6C41, + 0ECFEC85FD0ECE2C9ADFB197, + ED6682F075F622B6ACEF9990, + 55BBCF361E6956CD3799792D, + 557C3E9A8D575B1127685BB8, + 0EA70158FB829F3706DCA788, + FD5F2BED91E5FF9645D9222D, + D0368021E3ADE399F6B18F62, + F3121CBCD1046F824EDBF2CD, + 95C0DFA7D554DF268DED6C4D, + B7CAF463696D332B25D35AD4, + D9A5A6442BBBAD98725C68FB, + 665ADEC8344E0CC028EFB376, + C0E7695E7712A290F4D4F289, + 46DE2163F0024329EEA9C80F, + 975966D33FB6DF03D7C56E90, + 197ACD5F4F14B602DA925B4D, + E674FC044530BA5A4171B4D7, + 89E1948E2588C06770F17C4C, + C7E65D4B08AC8EE1CED896B5, + 171628256C4807C720EDF3B8, + 766D8463D8BC6F2691F6BD3C, + AA32F3C3859645381DD4F161, + C17EA9D8E36456F98E746B41, + 2FF5AE09CC09FDEF3F1DAEFF, + 3F296A315CB566B4AEF6FAB1, + 1D4D168EF360F9FD7D2940B8, + BA37C52C43D0FAA9404A444B, + 60A12604ECDAFD967CF73DEA, + 7F8E21473BDFBCFBAF2228EF, + 6FEA6B39D82A0A587BE28E12, + 00B46A18723A0C4A759F5D62, + E8B37F8CFE1401A2FE6AAF39, ); name = jpglib; sourceTree = ""; }; + 869A666C4EF32B138E2D7F95 = {isa = PBXGroup; children = ( + 25228EF5869B40B0FC05B11A, + A3A447B4C6C9E27128759E3D, + F2E84A48A55FD7B7435D4899, + 4BCE7ED630CE9E8E22C7B40C, + 4DFA9E8734ADCF0A3EC468B5, + 5FF66A12FAEEF07AAF3677A9, + 9572B0486AF3E9676E914528, + A3B42507CD5F210D2DDB05E4, + 1B12F9C0D02E3F14467C0F8C, + 21E4E77B3EA3AB54A353DFB9, + C7ACD901472AF55A9F09C331, + CC3DA71C702D3F901D93BF7C, + 0FEB81BE044CA9D0C4EA2FB5, + EA6C9581B095B8F92C00AEC2, + 48EFE45674B94C556C9C1742, + 81EA7A2B87EDC0C433CAC218, + 257774582A3D05395C158422, + A7D09355BC099DF74CFED8D3, + F024DA5D80BF0A40883BA0FA, + 38F31847E7B0CD9BD489B606, + E924E277DA7B11FCEBE07BAF, ); name = pnglib; sourceTree = ""; }; + A55EF6FB5EF55AA2549627FC = {isa = PBXGroup; children = ( + 765358EFFD7CE78DE5D316FD, + 869A666C4EF32B138E2D7F95, + 64599EF94FDACF1384134045, + 5C283446F7FBC70FA2FE526D, + A9BE4E0AC7FB60220F0D7040, ); name = "image_formats"; sourceTree = ""; }; + FFC0E3EA64E73CE43C0ADC80 = {isa = PBXGroup; children = ( + 1B2398F0DFA2F5F263515219, + 8BC70216CA528960C3D89C21, + 597549F1F4AF638BE62D5127, + 2FBAEED114143EBBF0934B75, + B5311636D2754A207EC4AC98, + 4FEE9CAE45BAEE1D1BBA83FE, + 53DC41FF51B303AF9550D650, + 2EFF2F6F932600CA1C5B4892, ); name = images; sourceTree = ""; }; + 547644A03CF01FBF6262C8B5 = {isa = PBXGroup; children = ( 4B6A0ECB588F521235C24779, B2F9611123FFFB7CF25941BF, 22ED0419EEC52D6D441D5352, @@ -1609,19 +2135,57 @@ 70E80FCCB8091A3F2865EA6E, A521D5A096E77FF0D3778DF7, 52FBCE58224EE2275F7A969F, ); name = native; sourceTree = ""; }; + 60D856ED4CD3E2DBF20E6B41 = {isa = PBXGroup; children = ( + F541E2EEFBE0176F89C61E29, + BA32311C6BCAAAD930B01BC0, + EDCF115426B128529564E35C, ); name = placement; sourceTree = ""; }; EC562B172DBFDAC6C87FEB54 = {isa = PBXGroup; children = ( - 26AFAC463EBBB3E83F0D415B, - AEBECE5A05D7EB1B30F06C7C, - 54521386A3DCA074554FBF2C, - 8B11FBDB2A46BF9553B5EC93, - 7B498AEEF89EDC2852021514, - 8448BDA592F8C6E6B1914287, - 4F531EF8552989D577C5036D, - B5754DC2FC09A8CFCA056FA4, - 04044AED6EAF64212CD90AE3, - 090CC81F4D68D9658673DEB0, + 24681981AD865CFCFFDD6423, + 60C88DA5BDE5039F040D7354, + 958878D0749C4D71247383C1, + 9C2AC8ECDB8FB4583D8A1B34, + 3AB34DC9E69AB76E4A2476DB, + A55EF6FB5EF55AA2549627FC, + FFC0E3EA64E73CE43C0ADC80, + 547644A03CF01FBF6262C8B5, + 60D856ED4CD3E2DBF20E6B41, + 10A61BFCEB2A64AF73F212D1, + 30750C7B676B81F04AF7B5B7, + 78F80B16F46EC6D2C473BA30, 30750C7B676B81F04AF7B5B7, ); name = "juce_graphics"; sourceTree = ""; }; - 1123583571EE28C62BACD3CF = {isa = PBXGroup; children = ( + F17062F742170C2669F7610B = {isa = PBXGroup; children = ( + A2962B3EA6BD97F0537360E8, + 33B617DD83D2E373922566C6, ); name = application; sourceTree = ""; }; + 86B5522CB7C1DD4E686F4DBF = {isa = PBXGroup; children = ( + 6E98DEACA5006CFB9F344516, + F56E6DD2A8C393E6C978812D, + 0D312355C358510A4A0FE051, + A5BF82B57E9456CC9111BE15, + 4A60145BFF335301031B6124, + BC658689F10CCF8E1847ABA3, + 9FEBFF78510646EC4393CA4B, + 7EBC05447D1D054C0DE34F3B, + 160B1F8323819A36A4CC4C3F, + 285FCDA22A7CF6C58844A5D4, + 032D935183817A5553AD8203, + 6AA1708ABC213E74BA026765, + CDB10AA2949AE7EE9A7EEEFF, + 40472FAFDB43C75F75A66031, + D4AA6C831A32D2E7E505BBB8, + ED63FFF1DA73EE8EBD417FCD, + BAFF2D79E1FFE08F04DBCEC6, + F13D2628180088EB7F0F9D61, ); name = buttons; sourceTree = ""; }; + 28C827E97F2E53F62300D3BD = {isa = PBXGroup; children = ( + 24ED7F5CEA9E65C8B4D30BA3, + 63DFCDB677B0ABBA832E87D4, + 20BBCC06451024053051B281, + 55D1A976250E657EDFDF8EF2, + 562526B881A322F9D50F9854, + A74A48F3D9775282AA7C4983, + F0A26E7C4D3AAF07CB1DB790, + 8ABE78C2BA571AED7197449E, + F1342D5C6E4C8CDCB6882E4B, ); name = commands; sourceTree = ""; }; + 0CE9AF8A11E6DDFA12A3CAC8 = {isa = PBXGroup; children = ( D09628A1CC2F5D43B17CA473, D722CDD475B4703997C12E6F, 1472F23DBD8336911E3D82C5, @@ -1631,97 +2195,60 @@ 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 = ( - 9191E878E327B1620CF1E39C, - 8495525D384E30C43C203FAA, - CDF0544DCC96C4687D183EB5, - 2B1830B30F75F02CA2585919, - 9F3F96D43C7B4C8CF6366ADA, - A53A4AACF11DD3F30411B924, - 7DA57207FAD134EBD3282BD5, - A9AFF7E00DD50096DBA32A98, - 856BC28839F30795ECC69B92, - 21CC40355B0EB60AFBE49DA7, - 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 = ( + 0EA1747C9D815149964276C4 = {isa = PBXGroup; children = ( + 63EA6ECB4F56812B02B43B41, + 2CFEB2C490DC1AF0D6FC8703, + E2513C97FE654F3CA30D1C86, + D6E8EEBD5F3FCF74E48E180B, + 1916DEFC946E322F8C835EDB, + 4EA8B60E701E3300765C60C4, + AD051A4199C46429A6D8DD4F, + 93BA77EAA23705315191C7E2, + E050CB94B15D82BCDAC9379A, + 186B4290C30B0DEC58195AB2, + C5C93B5F5FC5C2D4EC9C4450, + 0F1C7E2100FFAD72CAA23DCB, + 1CA39A896F6AEC7A3DC801A0, + 1883F9EEDB0A3D026C938071, + D5E997416B7973A5B0FC0F30, ); name = drawables; 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 = ""; }; + 52ED5616B32BAFF938D8ED63 = {isa = PBXGroup; children = ( + 9191E878E327B1620CF1E39C, + 8495525D384E30C43C203FAA, + CDF0544DCC96C4687D183EB5, + 2B1830B30F75F02CA2585919, + 9F3F96D43C7B4C8CF6366ADA, + A53A4AACF11DD3F30411B924, + 7DA57207FAD134EBD3282BD5, + A9AFF7E00DD50096DBA32A98, + 856BC28839F30795ECC69B92, + 21CC40355B0EB60AFBE49DA7, + 60F719EA50E6299DF0C945E0, + C479F3274C5CA6E09B397633, + 136DC9F51F7618E89A87A97D, ); name = keyboard; sourceTree = ""; }; + CC43CC3CA6B033E1935E9C82 = {isa = PBXGroup; children = ( 75B45AB94994C825BAEE96E5, A6539EF676A6574164E79009, B4A659B65120C86C9771058A, @@ -1758,72 +2285,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 = ( + 90117C4FEBFAE3E7BE0C96D1 = {isa = PBXGroup; children = ( B18BD25724FF16CA47FF7E50, 72C6F45A83A998FED8565BB3, 5E9370793B2591F69E99AA3E, @@ -1832,48 +2294,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 = ( + 23ACB6D4B1F33A5CE3C93B0E = {isa = PBXGroup; children = ( + 7B3657F2E71AD880F9BDF5F6, + 5FC75091C66E2B8DEECA1D0E, + 86D48089FFF564E817887475, + 4E32C479FCEAFD15286C741F, + BE3A8E4BAD6D3DD4EB9F77AF, + 867FB39789F0E2FDF99D320F, ); name = menus; sourceTree = ""; }; + 089F2B794079BCE51217749E = {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 = ""; }; + 3AF67D777FDB976E510C611D = {isa = PBXGroup; children = ( 7779AE8232D6811839B11C00, 41ADF101EA8C63DB75DFA043, 22F0FB9BAC6D272C59F334E2, @@ -1890,27 +2344,107 @@ 6C1500C01520AF5E27871613, 6EB911EEE60A1509AFEE3B6F, 88C454CD2B066B3279383BFA, ); name = native; sourceTree = ""; }; + DFE213AC42A64B0FAC007394 = {isa = PBXGroup; children = ( + CA932A990171693F19008C38, + 931C9F1302138947317EACE6, + 3E60609BDED772D95BCC1E56, + 5F6D0584CAAE2DBBD3781A18, + 9839BC46846D04A5110D6605, + 368455F1BC9A92392124B897, + 392ADAF07AEDADD4BA680D98, + C43F3C14D904F5ACD41ADA91, + 88A9613D010FE312D218C2C7, + EF8B1B1240C8E7260693D9EE, + D6BF230834217C9D84DDAC4B, + D685FE41FE0197E668A8B26F, + 97F99F3025160128C7D5D060, + 525B1989294D1FD59A398850, ); name = positioning; sourceTree = ""; }; + 5FC5DCB8FBD72D747F204C95 = {isa = PBXGroup; children = ( + 8CA840D1B9A30A6DAD191A89, + 2366165F6EE4BDA01C7DC692, + 7D6BB42E33F78296666BA85A, + 7917F9CE69307A7E7B132E75, + B6DBCD143061D29E18318A3F, + 9EA0424188173B362A7BEFD4, + C1EA16AD88E42B12FDCE40B0, + 045ED0B80DB3AC4B2EBC65C2, + 0F9A5A14CC510059B9EC4936, + 34749C43CD888E02BC33DEF2, + F790E7ADDEA4BEBE1DBFD528, + 2237682237430D807C6A370F, + 7196AC023698E504975A3E02, + 6EBE04120C9410282C2BD655, ); name = properties; sourceTree = ""; }; + 9D455BEA3BCDF73DAAAE417D = {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 = ""; }; + 02C8481550D5FB581B8CDB6C = {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, + F17062F742170C2669F7610B, + 86B5522CB7C1DD4E686F4DBF, + 28C827E97F2E53F62300D3BD, + 0CE9AF8A11E6DDFA12A3CAC8, + 0EA1747C9D815149964276C4, 81D7965DF84E5F79B7F5BCAB, - CEBAF2CC45E77DBDA689C75E, - 090C27554B5A1CA12BC73CB9, - 5B51225C16B86F0285C60DD0, - 794F05E4DD80378543CD28EB, - D52BBCF289A23BD82EC38B0C, + 52ED5616B32BAFF938D8ED63, + CC43CC3CA6B033E1935E9C82, + 90117C4FEBFAE3E7BE0C96D1, + 23ACB6D4B1F33A5CE3C93B0E, + 089F2B794079BCE51217749E, + 64980ECEFE3027B3B714B9EC, + 3AF67D777FDB976E510C611D, + DFE213AC42A64B0FAC007394, + 5FC5DCB8FBD72D747F204C95, + 9D455BEA3BCDF73DAAAE417D, + 02C8481550D5FB581B8CDB6C, + 118987654CE12CAC784213BB, + 06480CF420A37AA322F06C4E, + D0D94FCDE9A461A44F81D72A, 06480CF420A37AA322F06C4E, ); name = "juce_gui_basics"; sourceTree = ""; }; - 71A9B66AFC5ECB1DE512CF90 = {isa = PBXGroup; children = ( + 18E2F222B6B19D146747067B = {isa = PBXGroup; children = ( 8A36EF83B3DAABCDD11D79F2, 461D98EEA511FC2308292DFD, D91CC2EDF2167D1CBB798C7B, @@ -1923,14 +2457,14 @@ 968EF322666CBB4BB5E4A1FF, 84A2F9B2864476A8BDAFBB50, 5F6997A6CE93A738C7BFD533, ); name = "code_editor"; sourceTree = ""; }; - 13994FE3802FD7189D671297 = {isa = PBXGroup; children = ( + 047BF3AFD82CA87AA8A62CA5 = {isa = PBXGroup; children = ( 030805CB458ADE12F1F0F950, 01944CA6E6BBABE7CC69331D, ); name = documents; sourceTree = ""; }; - 026960E0F752BADC1C00096F = {isa = PBXGroup; children = ( + F7A472C3DA3CFF81EEA2BCB9 = {isa = PBXGroup; children = ( 200238375D55147DC98E25F0, 8A3CDD43812C610DA9BBACB0, 00C5D011D05E276D93CAC42A, ); name = embedding; sourceTree = ""; }; - 11BB9D1F94D449994305D76D = {isa = PBXGroup; children = ( + 63FD16A1B4C5CAE35F72E89C = {isa = PBXGroup; children = ( AAED8A25776EB53213A2AC8E, 81596391E40F15FCDEDAF320, 5D3E04B09C0E03ABDBFCE895, @@ -1951,7 +2485,7 @@ 262E707413C300E64622593C, D53B8CD2A3BA987BAE302361, 27B276BE81A4C19CA00E03A0, ); name = misc; sourceTree = ""; }; - DEBE52CDD6AA7FF3A10C8AB0 = {isa = PBXGroup; children = ( + 3AA9AE8692DC8A86A990A085 = {isa = PBXGroup; children = ( 9645BC9AE60DD025C8B653FD, DB9C5ADE1BB668E63563C264, 00A2AE3A88D7526563F10B4D, @@ -1965,14 +2499,29 @@ ED5AE513EEE7C5FE2A0A6540, CEA854B5BBA93B457204DB5A, ); name = native; sourceTree = ""; }; 37F67B86C73213E11423EF56 = {isa = PBXGroup; children = ( - 71A9B66AFC5ECB1DE512CF90, - 13994FE3802FD7189D671297, - 026960E0F752BADC1C00096F, - 11BB9D1F94D449994305D76D, - DEBE52CDD6AA7FF3A10C8AB0, - 6AC172FBF4B53E9CC942CE12, + 18E2F222B6B19D146747067B, + 047BF3AFD82CA87AA8A62CA5, + F7A472C3DA3CFF81EEA2BCB9, + 63FD16A1B4C5CAE35F72E89C, + 3AA9AE8692DC8A86A990A085, + BEF5F831841B2D82D0F8184D, + 2D6081A5CC49096D3626238D, + 35893F7E85007546B293737B, 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 = ""; }; + B8851CEAD75D67E37EC0DAF4 = {isa = PBXGroup; children = ( 11C847C1E8A88B669765EC78, A0250EBB292AB35378803806, 77A483EC1921EBBBFEB61D14, @@ -1990,30 +2539,19 @@ F3FB353C0530278FD5734B1A, 803D42EDEBDA4FD68002CFBA, 99BAA482F357DDAA0DD060BA, ); name = opengl; sourceTree = ""; }; - 3DCB4BE71FCC099B38B39456 = {isa = PBXGroup; children = ( - A8DFEDDCF7B5B3861937A069, - 1BF2D1C535E2E2C8297FC1F9, - CD3732E2A8FCAE512C9367FF, - B09D63C4934F5A97BAFC4C18, ); name = geometry; sourceTree = ""; }; - 373CC1D80C2F6145715B25EF = {isa = PBXGroup; children = ( + E8230E03ED49C1A048BE6A75 = {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, + B8851CEAD75D67E37EC0DAF4, + E8230E03ED49C1A048BE6A75, + FEBFB48552F5CD7F393E9106, + B54B24801001CF065DAB4F36, + B3AB04FFAF555EF180242F31, B54B24801001CF065DAB4F36, ); name = "juce_opengl"; sourceTree = ""; }; - 34D2BE5313D8326887365805 = {isa = PBXGroup; children = ( + 1CA7C26C3B83F05C2BDDE17D = {isa = PBXGroup; children = ( 3770BFAEFC73EA5CEA1E7F36, 97EAE5327404F0236667F77E, 260BCCEEC92A36331EEFF027, @@ -2031,27 +2569,30 @@ 8D0BEC4800F8D9769A10AD08, 4A2E9A4C1E608DA2DAF51AE7, ); name = osc; sourceTree = ""; }; B63ECA2160D69879EBD0F056 = {isa = PBXGroup; children = ( - 34D2BE5313D8326887365805, - ABE82B95B2803C9DF90C50B9, + 1CA7C26C3B83F05C2BDDE17D, + 1C10BA1E8D9B6DB464A4E32B, + 469C0434174F305A7B7C399D, 469C0434174F305A7B7C399D, ); name = "juce_osc"; sourceTree = ""; }; - DB989A33C1A4A571DDBEB5D0 = {isa = PBXGroup; children = ( - 29292E391802A42A343C9A10, - 67BFDEE0B4C3E43D7080BE3C, ); name = playback; sourceTree = ""; }; 9BEAD99E1419EB3AE11DF770 = {isa = PBXGroup; children = ( AE00A806F4A79BE4FE6BD84B, 66E37EA9F2603E4AFD721A7B, ); name = capture; sourceTree = ""; }; - 2AD058C9EA74F6304732C402 = {isa = PBXGroup; children = ( + F77A5E52FBE5AC7A22F1DF75 = {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, + F77A5E52FBE5AC7A22F1DF75, + 32F3181C4A293C05B32C193A, + CEC374823909DB45BCE317B9, + D5ABF32F611E0D6E314A59CF, + 22F59C66676E58BED182A612, D5ABF32F611E0D6E314A59CF, ); name = "juce_video"; sourceTree = ""; }; FE614235C8CE15EFCEB61487 = {isa = PBXGroup; children = ( E139BBDE9E8498DFF5089AA1, @@ -2070,20 +2611,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 = ""; }; @@ -2102,7 +2643,7 @@ EBD856EB8DEE3C5782DA3C8D, D2EBC6292AE5AFC46EB10DAC, ); name = Frameworks; sourceTree = ""; }; 6D697538ADDCFBB6C79AC6C6 = {isa = PBXGroup; children = ( - 4678AA79EF868E0EF521E2CB, ); name = Products; sourceTree = ""; }; + 080EAB9CF5AB2BD6B2BBB173, ); name = Products; sourceTree = ""; }; 99F3717D3FEAFDCA3C22E868 = {isa = PBXGroup; children = ( 88C22F995571E4A515721154, FE614235C8CE15EFCEB61487, @@ -2110,7 +2651,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; @@ -2127,13 +2668,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; @@ -2151,15 +2692,16 @@ 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; OTHER_CPLUSPLUSFLAGS = "-pedantic-errors -Wreorder -Wconstant-conversion -Wint-conversion -Woverloaded-virtual -Wuninitialized -Wunused-parameter -Wshorten-64-to-32 -Wstrict-aliasing -Wshadow -Wconversion -Wsign-compare -Wsign-conversion"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.UnitTestRunner; SDKROOT_ppc = macosx10.5; }; name = Release; }; 53146F81C8222491DC6DF2A5 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -2188,31 +2730,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, @@ -2226,11 +2769,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; 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 33fb8f10..540363f7 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 @@ -136,6 +136,9 @@ true + + true + true @@ -214,6 +217,12 @@ true + + true + + + true + true @@ -229,15 +238,6 @@ true - - true - - - true - - - true - true @@ -286,256 +286,274 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -544,21 +562,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -571,6 +598,9 @@ true + + true + true @@ -613,625 +643,976 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1249,6 +1630,9 @@ true + + true + true @@ -1273,6 +1657,9 @@ true + + true + true @@ -1288,25 +1675,29 @@ true - - - - - - - - - - - - - - + + true + + + + + + + + + + + + + + + + @@ -1339,6 +1730,9 @@ + + + @@ -1346,20 +1740,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1369,17 +1834,17 @@ + + + + + + + + - - - - - - - - - + @@ -1389,6 +1854,16 @@ + + + + + + + + + + @@ -1399,40 +1874,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1449,25 +1891,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1477,6 +1900,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1490,30 +1947,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1522,14 +2012,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1539,19 +2040,12 @@ - - - - - - - - - - + + + @@ -1562,10 +2056,15 @@ - - - - + + + + + + + + + @@ -1576,39 +2075,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1617,33 +2151,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1663,15 +2170,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1679,13 +2200,6 @@ - - - - - - - @@ -1693,31 +2207,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1743,20 +2257,11 @@ - - - - - - - - - + - @@ -1764,6 +2269,17 @@ + + + + + + + + + + + @@ -1774,28 +2290,20 @@ + + - + - - - - - - - - - - - - - - + + + + diff --git a/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj.filters index d78ffc3f..49116029 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj.filters +++ b/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj.filters @@ -35,45 +35,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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 +122,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 +140,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -110,29 +152,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -146,33 +188,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,80 +224,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -278,18 +326,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 +347,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} @@ -322,6 +370,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -400,6 +451,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -415,15 +475,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,41 +529,149 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + 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 @@ -526,23 +685,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + 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_formats Juce Modules\juce_audio_processors\format @@ -562,6 +733,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 @@ -577,44 +766,11 @@ 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_audio_processors - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_processors Juce Modules\juce_core\containers @@ -631,33 +787,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 @@ -682,41 +811,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -724,36 +823,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -766,6 +853,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -823,35 +913,179 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\hashing + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + 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_data_structures\values + + Juce Modules\juce_cryptography\hashing - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography\hashing - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -859,23 +1093,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -895,6 +1132,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 +1159,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -931,26 +1192,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -967,236 +1231,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1225,26 +1504,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1253,55 +1535,22 @@ Juce Modules\juce_gui_basics\drawables - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\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\drawables - - Juce Modules\juce_gui_basics\properties + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables Juce Modules\juce_gui_basics\filebrowser @@ -1333,17 +1582,92 @@ Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + 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 @@ -1351,8 +1675,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1399,6 +1741,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1477,6 +1933,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1504,6 +1966,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_osc\osc @@ -1528,6 +1996,9 @@ Juce Modules\juce_osc\osc + + Juce Modules\juce_osc + Juce Modules\juce_video\capture @@ -1549,46 +2020,52 @@ Juce Modules\juce_video\native - + + Juce Modules\juce_video + + + Juce Modules\juce_video + + 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 @@ -1602,6 +2079,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1698,6 +2178,15 @@ Juce Modules\juce_audio_basics + + 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 @@ -1719,47 +2208,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1788,38 +2490,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -1848,6 +2550,36 @@ 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\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 @@ -1878,50 +2610,95 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_audio_processors + + + 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\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1941,6 +2718,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -1980,197 +2760,194 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers - - - 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2178,50 +2955,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2247,14 +3024,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2262,15 +3039,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values Juce Modules\juce_data_structures + + 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 @@ -2298,36 +3108,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 @@ -2337,6 +3117,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2367,17 +3156,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 @@ -2409,50 +3213,137 @@ Juce Modules\juce_graphics\geometry + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + Juce Modules\juce_graphics\placement Juce Modules\juce_graphics\placement - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics + + 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 @@ -2469,44 +3360,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2532,87 +3441,6 @@ 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 @@ -2670,32 +3498,74 @@ Juce Modules\juce_gui_basics\layout - - Juce Modules\juce_gui_basics\buttons + + 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2718,27 +3588,6 @@ 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 @@ -2760,80 +3609,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2910,32 +3759,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -2949,9 +3774,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -2973,6 +3795,39 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_opengl + Juce Modules\juce_opengl @@ -3003,14 +3858,20 @@ Juce Modules\juce_osc + + 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 Juce Modules\juce_video @@ -3023,47 +3884,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_opengl + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_osc + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/extras/UnitTestRunner/JuceLibraryCode/AppConfig.h b/extras/UnitTestRunner/JuceLibraryCode/AppConfig.h index bcfb01c5..09b5b816 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 e2af219c..3b0d0bc7 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..0c3b9ae9 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 7d4583db..00000000 --- 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 06e88f93..00000000 --- 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 e4574f47..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 718392ff..00000000 --- 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 40bdd444..00000000 --- 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 0dd1636e..00000000 --- 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 d61bcf4c..5ae2d490 100644 --- a/extras/UnitTestRunner/UnitTestRunner.jucer +++ b/extras/UnitTestRunner/UnitTestRunner.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.1" defines="JUCE_UNIT_TESTS=1"> diff --git a/extras/binarybuilder/BinaryBuilder.jucer b/extras/binarybuilder/BinaryBuilder.jucer index 7a36ff9a..8b56fb80 100644 --- a/extras/binarybuilder/BinaryBuilder.jucer +++ b/extras/binarybuilder/BinaryBuilder.jucer @@ -1,14 +1,8 @@ + juceFolder="../../../juce" jucerVersion="4.2.1" 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 90b901f6..0b5a81f1 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 33c25454..c347d8f2 100644 --- a/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj +++ b/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj @@ -6,17 +6,21 @@ 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"; }; + 084271EDFFBFDFD06E9E74CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; 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"; }; 099D0BF9AFB99C9F11AF6DAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; 0AB0A0C4BEE70A4F6C0311E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B12295CDC752D61F5EAE621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D6D5C991F27E7F1A9EA4D30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; }; + 0E351EB27339D1B6B42CA728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; }; 114D123184BF1C47467A9D84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 12D525C1F3C776A69AB0938A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; 14F62685D339A1A1508CA819 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -42,11 +46,15 @@ 31CA33ED0082255CC0849423 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 33A39DE96B690694A19AD8C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 3456971F540274F9AB31C7BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + 357D4D6B382A11D598CCE0F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; }; + 37892D6496C086CB058CBDBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + 37CF893DCBE6FBBA54D76B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; }; 39CD0F6C4B430CB7857FCCB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; 39ED61F0DADF05D9388872D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 3CC375E8CCC0987FAE0B40BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 3E2D62A4BB00D6C2BBCDE771 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 3F0CD8A51DD488328055D899 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + 3F7F1332916E793D5432C52E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 3FDB79CAA83F45D37C24EE5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; 4042914A2C20C08F89D097B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; 4276A7880CD9EE6F6AD4D741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; @@ -59,14 +67,17 @@ 4C2ECBECC1328287AF894119 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DCC88A4237E310F20A0A97D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; 4DD5340BF04D6DFD860C92A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F26051B4FB2BD707F286E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; }; 4FA40684A26F7FEB3F3455E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 50B7C64414A3E778021F5EC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; 51ECC65AA1F92E8454D40B96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 52560AD58C516E51C7A5A6F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; }; 53C41E7EC24DAFFD0A62E81D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 540715957C145E17C759CB1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; 553D72E377D6987D9A05208F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; 557AF2CBA9DA616FFE790C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; 5595F8163F88BF82B06D60EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 571AF606CFEC9297E2B8B26A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; }; 57DDB771ED96A256F190ADF8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 5C3BCD09CD3AD887041C5E8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 5F833FAB1A331DB46476C0EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -75,18 +86,22 @@ 64C54E1E625AEA86E3231070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; 64ED92C7E1127452F174A2F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 65BED5E9B981623309868FB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68590EAC61AD9DDCC3592099 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; }; 69183575FCA4C1CC38032A51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + 69308B019CD5EF590B7CCBE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 6BA644CEA51126F9DC6D91FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; 6DE40A37D8B2E9767808F2DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -106,16 +121,24 @@ 8A42CDB7F3114A5EBF2EFE94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; 8B89932ACFC6EAAD6A23D2A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; 8B9C80797EAB35C4E9D54E69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BF3ACB02CA957E05FE0D2FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; }; 8CA5DE757A9A2C0E9A0AD4E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 8CEB435E98CC7EB0F0C4EF13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 8D1215F04E8191D74F58DEBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + 8D3CD18E97AC39AFE3C853F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; }; 8DE69053F730461605C00231 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; 92551BCF8DEA45A929CCF97A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 949507E2CFF41C7AAFA2BB1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + 954A4AE2C55755A945C3974A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; }; + 95D4B641CA94FE3EBD18F8FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; }; 9666FDE5D872069865B28BC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 96676DB1E17610F1647B1F81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; }; + 972E1F31CC4124FB7A1D4768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.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"; }; + 980791EB28357A2A4638B95A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.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"; }; + 9A6E113B86DF1470949E086D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; 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"; }; @@ -126,7 +149,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"; }; @@ -145,6 +167,7 @@ B87992272A4EA96816AA6967 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; BD88E5FB088ED71A23952819 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; BD90DD39414F4A5D3AC4EA12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE65CEEF9055FC7A7096C1CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; }; BE8F16777B7F409A823D95D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; BF0D097C97DDE69588A540D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; BF1FF24CC30E322214329495 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; @@ -159,6 +182,7 @@ CA60B0396D8F46E1952F8E36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; CB0D3AD8E23534DBB70421F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; CBFB5F3CD583D9A711BAA04A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC9952296CD22483F7282BB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; }; CCC837C5E7AC9370B3F00BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; CCF76771C8533A2847830682 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; CD03D5E3D6936C0114A2C8EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -169,6 +193,7 @@ D34C7943A79CF1C1ABCB9069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; D382823C1F24883BFA9E466E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; D59646C74585BB1F475BAF35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + D6B4ED3A192197135B52CC2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; }; D6C3594C8BEC94040AF108FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; D7794263F32CD165C4DE04C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; D79A68E72395918BE3184E18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; @@ -177,6 +202,7 @@ D8396AC5E3B20EFAD9D088B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; D8AB37D85933F750CCB122B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; DA522ECFB0E7161D2A5C12F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + DAC1A68DB7907F33F56A75A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; }; DD42D4672BB9A77143216F1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; DD8ED71D28F285157282A091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; DE4DD58D9EB2024352E63D8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -208,11 +234,13 @@ EF4E9D88AC6799B368A1BC80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; EF63ACFF93BF8700E9A29A94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; EFAFEF9964F04D9D18BF7C32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + F2646BC9C3E19C039C315A3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; 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"; }; - 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"; }; + F32B4E3B079829AA04470ED7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; 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"; }; 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"; }; @@ -222,57 +250,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, ); 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 = ( + C6C8E152B69F9BD085BC8382 = {isa = PBXGroup; children = ( AB6D226C14C0127BC3C40810, 3F0CD8A51DD488328055D899, 5595F8163F88BF82B06D60EA, @@ -294,37 +272,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 = ( + 91CEFEB44B45425086718381 = {isa = PBXGroup; children = ( FC2CCDA070E9334BD6C34433, 1D886F01F02A6BFEA8CBD11F, 8702304141513578932577BF, @@ -342,7 +290,81 @@ 44AD87BBBC83CEEE8C9BAC8C, 86DAAF05DA38EA19AEE4FAA3, ED83D67E0538F142AD287232, ); name = files; sourceTree = ""; }; - E760A1EBA2D2EB518C5778E3 = {isa = PBXGroup; children = ( + D412D27782A6359106A9CD93 = {isa = PBXGroup; children = ( + 7D61DCF5B5ACF26E9EE4AB93, + 557AF2CBA9DA616FFE790C29, + B0B80A311FA439AFE2678315, + FC26395E11CDB928E59725EC, ); name = javascript; sourceTree = ""; }; + 3D9649924106A8F8EF1D5D19 = {isa = PBXGroup; children = ( + 215E4CE58F1A210E7F4565C4, + 4DCC88A4237E310F20A0A97D, + CD8652AB73C250FE3C141FFB, + 8D1215F04E8191D74F58DEBE, ); name = logging; sourceTree = ""; }; + 597DEA559A2804FE1AF416FE = {isa = PBXGroup; children = ( + 8B89932ACFC6EAAD6A23D2A8, + DA522ECFB0E7161D2A5C12F1, + 8CA5DE757A9A2C0E9A0AD4E3, + 4042914A2C20C08F89D097B1, + 7926561B941987F152AD6A1A, + 7BB10044C06DFCCCB324A456, + A7DE490D33B954B41BFE9EAB, + 7AE1D8A76F034A1301E67787, + 22F1E16DF7F08080FA90C783, + 37892D6496C086CB058CBDBE, ); name = maths; sourceTree = ""; }; + A64617CC8530BC4715D53E63 = {isa = PBXGroup; children = ( + ECA68CE64EC790E2EED4D86E, + BD88E5FB088ED71A23952819, + D7794263F32CD165C4DE04C4, + 767A373B42195AF805FD06CC, + 099D0BF9AFB99C9F11AF6DAF, + C0AD6DEE5019B575256CC676, + BE8F16777B7F409A823D95D8, + DF107815A78A9D04C2FCB118, + A16A62698D337DCA6945476F, + CA60B0396D8F46E1952F8E36, + E8B73F6E0763B9DF3750FAB3, + 3456971F540274F9AB31C7BF, + 9BDF1653598CCC66FFF33532, + B476D2D5837C9D5EB94C3B84, ); name = memory; sourceTree = ""; }; + 482AC24A9B26E4DA2A552FCA = {isa = PBXGroup; children = ( + BF0D097C97DDE69588A540D2, + D8396AC5E3B20EFAD9D088B7, + 3F7F1332916E793D5432C52E, + 69308B019CD5EF590B7CCBE8, + 4FA40684A26F7FEB3F3455E9, + DEF66D4D6377EF168027265B, + AB66F7874354AB029B53FA15, ); name = misc; sourceTree = ""; }; + AF24449AF7385B9A3022293E = {isa = PBXGroup; children = ( + 8B9C80797EAB35C4E9D54E69, + 53C41E7EC24DAFFD0A62E81D, + 1761B118FB418B2B066CBDAD, + C9E082690B46D0D8FE6B3098, + F593FCB4212A0D6D78BC21D4, + 4512252FD90E46D46B1EFB8E, + 4C2ECBECC1328287AF894119, + EFAFEF9964F04D9D18BF7C32, + D1A86ED23E5A5C6972C4A6FD, + ADBE99E4E00423A3C8D03ACD, + 7D8461FFE338A88B9155511F, + 114D123184BF1C47467A9D84, + B575841484B071FE71932BD6, + 0B12295CDC752D61F5EAE621, + E2500DF94185EF56A2831EFC, + 8DE69053F730461605C00231, + 22B4E9953D4D43C9556ACB1C, + 2A6BC638A8006533357B1CC6, + DFF705847CF47D066C8720AD, + 7848F270C34FBA4CE097720E, + 4276A7880CD9EE6F6AD4D741, + AB8E4336865D29731CDCB9C9, + 69183575FCA4C1CC38032A51, + 73B2B2FACEA8A06D94503B95, + 65BED5E9B981623309868FB5, + C7F98F2D9FBF065AB47F31B1, + 4A7C031E60F6D0C385B634E5, + E8DBF269C8CA4C66F025EAFC, + AE4BCAB729578127C3DB4347, ); name = native; sourceTree = ""; }; + 313C4C76A169B84FBE3DDF00 = {isa = PBXGroup; children = ( 4DD5340BF04D6DFD860C92A9, E4ABCE03572C47FA5BC5B9BD, EBBC8475D0929BF814D3BD33, @@ -353,7 +375,7 @@ 33A39DE96B690694A19AD8C4, 0473DA0261621F0A71DB8E52, 6DE40A37D8B2E9767808F2DF, ); name = network; sourceTree = ""; }; - 25336B816D662B670DBC25D6 = {isa = PBXGroup; children = ( + C366A1D80B8C33A238EDBE42 = {isa = PBXGroup; children = ( CBFB5F3CD583D9A711BAA04A, DF0F3756D5FFB55A778A31B6, E34E9F30E3C5A7C9AF0AA117, @@ -369,98 +391,134 @@ 14F62685D339A1A1508CA819, 8A19209997BCCD6E96328720, E091EF8795DB7ECEE72B41C4, ); name = streams; sourceTree = ""; }; - E6AC4D7408DD3612E4922F71 = {isa = PBXGroup; children = ( - 215E4CE58F1A210E7F4565C4, - 4DCC88A4237E310F20A0A97D, - CD8652AB73C250FE3C141FFB, - 8D1215F04E8191D74F58DEBE, ); name = logging; sourceTree = ""; }; - 1DD9FC2D14F3AC8F6DD7E632 = {isa = PBXGroup; children = ( + FA151B45CF8B3679D733F5C0 = {isa = PBXGroup; children = ( 6BA644CEA51126F9DC6D91FD, D79A68E72395918BE3184E18, D59646C74585BB1F475BAF35, 51ECC65AA1F92E8454D40B96, 9CD78CB240A946C974B380F2, 74041181A1FFD2D197595E5B, ); name = system; sourceTree = ""; }; - F35093574C089FADBE4A0B09 = {isa = PBXGroup; children = ( + 71D1C46EF34DC4EEB9970F36 = {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 = ""; }; + 786F1B2316CED21F811FA4EF = {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 = ""; }; + BFF5DE8662BF9AC84D15B6A3 = {isa = PBXGroup; children = ( + FEAEAFF22C88027386AE0447, + 84889103948B7D40FF5BE826, + D8AB37D85933F750CCB122B3, + 979580822F8E084EF20A9A93, + B2C441DC4B7ACC15E045C34A, + E65C9F48923EBD7095AC22BE, ); name = time; sourceTree = ""; }; + 1AB5EE46A04F8F7C57CC7776 = {isa = PBXGroup; children = ( + 553D72E377D6987D9A05208F, + C6BDB4F2952103DF7AD6F8A4, ); name = "unit_tests"; sourceTree = ""; }; + FC7CB116141E687A3CE942F4 = {isa = PBXGroup; children = ( 26BF9A553B90E6407E3FD587, BF1FF24CC30E322214329495, E8B77D4E2961231D77CF4335, 6F73B31482724407DAC2CCC1, ); name = xml; sourceTree = ""; }; - C6ABAB1C320D76AF2293B9A0 = {isa = PBXGroup; children = ( - 7D61DCF5B5ACF26E9EE4AB93, - 557AF2CBA9DA616FFE790C29, - B0B80A311FA439AFE2678315, - FC26395E11CDB928E59725EC, ); name = javascript; sourceTree = ""; }; - F2F56C96C30F2E29224A39AB = {isa = PBXGroup; children = ( + 5923EAC9BF6B55F93802B484 = {isa = PBXGroup; children = ( + 8D3CD18E97AC39AFE3C853F7, + 9A6E113B86DF1470949E086D, + 37CF893DCBE6FBBA54D76B14, + 68590EAC61AD9DDCC3592099, + F2646BC9C3E19C039C315A3F, + 52560AD58C516E51C7A5A6F6, + 357D4D6B382A11D598CCE0F3, + 571AF606CFEC9297E2B8B26A, + 0E351EB27339D1B6B42CA728, + D6B4ED3A192197135B52CC2F, + 0D6D5C991F27E7F1A9EA4D30, + 95D4B641CA94FE3EBD18F8FD, + 96676DB1E17610F1647B1F81, + CC9952296CD22483F7282BB9, + 954A4AE2C55755A945C3974A, + 980791EB28357A2A4638B95A, + DAC1A68DB7907F33F56A75A9, + 8BF3ACB02CA957E05FE0D2FB, + 084271EDFFBFDFD06E9E74CA, + 4F26051B4FB2BD707F286E9A, + F32B4E3B079829AA04470ED7, + 972E1F31CC4124FB7A1D4768, ); name = zlib; sourceTree = ""; }; + AC29CF01E6CF908DB2A2ABE1 = {isa = PBXGroup; children = ( + 5923EAC9BF6B55F93802B484, 92551BCF8DEA45A929CCF97A, CDF6482910B0BC67D985BE84, D34C7943A79CF1C1ABCB9069, C48688954C377BCF41668104, 8CEB435E98CC7EB0F0C4EF13, C6FA51D3FBACB73580BC4A6B, ); name = zip; sourceTree = ""; }; - 96C6D2027EB4BD919D7D3F1D = {isa = PBXGroup; children = ( - 553D72E377D6987D9A05208F, - C6BDB4F2952103DF7AD6F8A4, ); name = "unit_tests"; sourceTree = ""; }; - 18556328CCBB7634FF5BB36E = {isa = PBXGroup; children = ( - BF0D097C97DDE69588A540D2, - D8396AC5E3B20EFAD9D088B7, - 4FA40684A26F7FEB3F3455E9, - DEF66D4D6377EF168027265B, - AB66F7874354AB029B53FA15, ); name = misc; sourceTree = ""; }; - EDC75F5C8524E353937DB75D = {isa = PBXGroup; children = ( - 8B9C80797EAB35C4E9D54E69, - 53C41E7EC24DAFFD0A62E81D, - 1761B118FB418B2B066CBDAD, - C9E082690B46D0D8FE6B3098, - 4512252FD90E46D46B1EFB8E, - 4C2ECBECC1328287AF894119, - EFAFEF9964F04D9D18BF7C32, - D1A86ED23E5A5C6972C4A6FD, - ADBE99E4E00423A3C8D03ACD, - 7D8461FFE338A88B9155511F, - 114D123184BF1C47467A9D84, - B575841484B071FE71932BD6, - 0B12295CDC752D61F5EAE621, - E2500DF94185EF56A2831EFC, - 8DE69053F730461605C00231, - 22B4E9953D4D43C9556ACB1C, - 2A6BC638A8006533357B1CC6, - DFF705847CF47D066C8720AD, - 7848F270C34FBA4CE097720E, - 4276A7880CD9EE6F6AD4D741, - AB8E4336865D29731CDCB9C9, - 69183575FCA4C1CC38032A51, - 73B2B2FACEA8A06D94503B95, - 65BED5E9B981623309868FB5, - C7F98F2D9FBF065AB47F31B1, - 4A7C031E60F6D0C385B634E5, - E8DBF269C8CA4C66F025EAFC, - AE4BCAB729578127C3DB4347, ); name = native; sourceTree = ""; }; 5FC88B5F5F4306B522B0F809 = {isa = PBXGroup; children = ( - 588BEEE60BF4EE4A10674CCE, - 8470C95EB732572CA3419423, - 0A23F8FA8C7451D75FABC96F, - ED0FCD22D34539916A9A62F9, - 2172C94F9034F4A1FEEC46E6, - 02608DAB9FF88772D0B42FED, - 8926B49E98128D7BFAE9E076, - E760A1EBA2D2EB518C5778E3, - 25336B816D662B670DBC25D6, - E6AC4D7408DD3612E4922F71, - 1DD9FC2D14F3AC8F6DD7E632, - F35093574C089FADBE4A0B09, - C6ABAB1C320D76AF2293B9A0, - F2F56C96C30F2E29224A39AB, - 96C6D2027EB4BD919D7D3F1D, - 18556328CCBB7634FF5BB36E, - EDC75F5C8524E353937DB75D, - AA4B0FFD81ED0516F633696F, + C6C8E152B69F9BD085BC8382, + 91CEFEB44B45425086718381, + D412D27782A6359106A9CD93, + 3D9649924106A8F8EF1D5D19, + 597DEA559A2804FE1AF416FE, + A64617CC8530BC4715D53E63, + 482AC24A9B26E4DA2A552FCA, + AF24449AF7385B9A3022293E, + 313C4C76A169B84FBE3DDF00, + C366A1D80B8C33A238EDBE42, + FA151B45CF8B3679D733F5C0, + 71D1C46EF34DC4EEB9970F36, + 786F1B2316CED21F811FA4EF, + BFF5DE8662BF9AC84D15B6A3, + 1AB5EE46A04F8F7C57CC7776, + FC7CB116141E687A3CE942F4, + AC29CF01E6CF908DB2A2ABE1, + BE65CEEF9055FC7A7096C1CD, + 3FDB79CAA83F45D37C24EE5E, + 99D2B02E18E9A768F9F5CDFB, 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 = ""; }; @@ -468,7 +526,7 @@ 57DDB771ED96A256F190ADF8, F769CD634476C91F4C9D0596, ); name = Frameworks; sourceTree = ""; }; 70A875922C34E55D4F48A196 = {isa = PBXGroup; children = ( - E2EADDD364B6C6F37D8BBD7A, ); name = Products; sourceTree = ""; }; + 799073185F72F5FAD05253C3, ); name = Products; sourceTree = ""; }; C18D022743CF5BD14D6A6A9E = {isa = PBXGroup; children = ( 9DC13797237D190C48A242C9, 5D4B80BC67BBCEDCC3B6BAB8, @@ -476,7 +534,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; @@ -492,11 +550,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; @@ -513,13 +571,14 @@ 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; SDKROOT_ppc = macosx10.5; }; name = Release; }; D9552CAECBA3D7D5725848E5 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; @@ -548,25 +607,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; 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 24f6534d..466a82a8 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,31 +124,55 @@ - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -163,70 +187,67 @@ true - - true - - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true @@ -265,133 +286,120 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + true - + + true + + + true + + + true + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -408,25 +416,6 @@ - - - - - - - - - - - - - - - - - - - @@ -436,6 +425,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -449,37 +472,67 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - - - - - - - - - + - - - diff --git a/extras/binarybuilder/Builds/VisualStudio2010/BinaryBuilder.vcxproj.filters b/extras/binarybuilder/Builds/VisualStudio2010/BinaryBuilder.vcxproj.filters index 0b17782f..cc65e929 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} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -41,29 +44,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -73,45 +76,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 +91,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 +115,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -220,36 +127,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -262,6 +157,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -319,55 +217,247 @@ Juce Modules\juce_core\native - - Juce Library Code + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core + + + Juce Library Code + + + + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - 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\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\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + 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 @@ -387,6 +477,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -426,53 +519,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 @@ -531,104 +705,47 @@ 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\unit_tests - - Juce Modules\juce_core\network + + Juce Modules\juce_core\xml - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\xml - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\system + + Juce Modules\juce_core\zip\zlib - - 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\zlib Juce Modules\juce_core\zip @@ -639,35 +756,8 @@ 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 Juce Modules\juce_core @@ -679,11 +769,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 90d605bc..4e8f993b 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 ffc65621..b934ac50 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 f6c3564e..091a5aa6 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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 06e88f93..00000000 --- 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 09995038..03eb1e30 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 @@ -129,6 +129,9 @@ true + + true + true @@ -207,6 +210,12 @@ true + + true + + + true + true @@ -222,15 +231,6 @@ true - - true - - - true - - - true - true @@ -279,289 +279,307 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -570,21 +588,30 @@ true - + true - + true - + true - + + true + + + true + + true true + + true + true @@ -597,6 +624,9 @@ true + + true + true @@ -639,592 +669,940 @@ true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1248,6 +1626,9 @@ true + + true + true @@ -1275,6 +1656,9 @@ true + + true + true @@ -1290,25 +1674,29 @@ true - - - - - - - - - - - - - - + + true + + + + + + + + + + + + + + + + @@ -1341,6 +1729,9 @@ + + + @@ -1348,20 +1739,91 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1371,8 +1833,26 @@ + + + + + + + + + + + + + + + + + + @@ -1383,15 +1863,6 @@ - - - - - - - - - @@ -1402,6 +1873,7 @@ + @@ -1412,40 +1884,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1462,25 +1901,6 @@ - - - - - - - - - - - - - - - - - - - @@ -1490,6 +1910,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1503,30 +1957,63 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1535,14 +2022,25 @@ + + + + + + - - - - + + + + + + + + + @@ -1552,19 +2050,12 @@ - - - - - - - - - - + + + @@ -1575,10 +2066,15 @@ - - - - + + + + + + + + + @@ -1589,39 +2085,74 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1630,33 +2161,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1676,15 +2180,29 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1692,13 +2210,6 @@ - - - - - - - @@ -1706,31 +2217,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1756,20 +2267,11 @@ - - - - - - - - - + - @@ -1777,29 +2279,31 @@ + + + + + + + + + + + + - + - - - - - - - - - - - - - - + + + + diff --git a/extras/windows dll/Builds/VisualStudio2010/juce_dll.vcxproj.filters b/extras/windows dll/Builds/VisualStudio2010/juce_dll.vcxproj.filters index 9b07b35c..84ac26dd 100644 --- a/extras/windows dll/Builds/VisualStudio2010/juce_dll.vcxproj.filters +++ b/extras/windows dll/Builds/VisualStudio2010/juce_dll.vcxproj.filters @@ -35,45 +35,84 @@ {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} + + {AB8611DF-8161-A9DF-DBAD-77A87DE37331} + + + {9DFA63C1-4EE6-1FAB-D563-41FCF84988F2} + + + {FEF33480-117C-23A6-D12C-7C299F26C9DB} + + + {C9640E58-4493-7EEC-6F58-603AD184956E} + + + {D8EE4AD1-61E3-21C2-6640-6684F4CF77DC} + + + {76391436-F92A-7602-4073-E446B5FAA859} + + + {9971A63C-5B75-039F-95C2-7474D7DB16B0} + + + {DC58E9B7-2710-F45C-B718-75EACDF53F47} + + + {B8087E92-19F7-552F-9E85-16153D7191B0} + + + {25C8FB00-334A-6E0F-F203-E988758B708A} + + + {94027CB9-8162-7431-2E01-B710C7CAE620} + + + {450B8177-6F41-B902-761B-BF68D55102DA} + + + {B7221885-1731-611D-FDD9-EA968FA8D858} + + + {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 +125,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 +152,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,29 +164,29 @@ {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} + + + {585D6A72-C5E7-BCF1-A168-63A40C6B6313} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -158,33 +200,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,80 +236,86 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} + + {E37D25CD-4350-4614-055B-7ABC55E67895} - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + {F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {12D20EC8-139C-C2B1-1A66-AC436C48C0A7} + + + {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} - - {75F1F352-251A-75E0-D941-8431588F5C1E} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} {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} + + {75F1F352-251A-75E0-D941-8431588F5C1E} - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -290,30 +338,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} @@ -325,6 +373,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -403,6 +454,15 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -418,15 +478,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,32 +532,140 @@ 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_devices\sources - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC - - Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs Juce Modules\juce_audio_formats\codecs @@ -529,26 +688,35 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -568,6 +736,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,6 +769,12 @@ Juce Modules\juce_audio_processors\utilities + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -601,9 +793,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -619,44 +808,14 @@ 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_audio_utils\players - - Juce Modules\juce_core\maths + + Juce Modules\juce_audio_utils - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils Juce Modules\juce_core\containers @@ -673,33 +832,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 +856,11 @@ 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\javascript - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -766,36 +868,24 @@ 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\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc + + Juce Modules\juce_core\misc + Juce Modules\juce_core\misc @@ -808,6 +898,9 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\native + Juce Modules\juce_core\native @@ -865,16 +958,166 @@ Juce Modules\juce_core\native - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_core\network - - Juce Modules\juce_cryptography\encryption + + 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\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip\zlib + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core + + + Juce Modules\juce_core + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + Juce Modules\juce_cryptography\hashing @@ -883,17 +1126,11 @@ 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_cryptography - - Juce Modules\juce_data_structures\undomanager + + Juce Modules\juce_cryptography Juce Modules\juce_data_structures\app_properties @@ -901,23 +1138,26 @@ Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\messages + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_events\timers + + Juce Modules\juce_data_structures + + + Juce Modules\juce_data_structures Juce Modules\juce_events\broadcasters @@ -937,6 +1177,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 +1204,18 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + + + Juce Modules\juce_events + Juce Modules\juce_graphics\colour @@ -973,26 +1237,29 @@ 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\fonts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\image_formats + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1009,236 +1276,251 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\components + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\widgets + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\windows + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\menus + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats\pnglib - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\image_formats - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\images - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native - - Juce Modules\juce_gui_basics\layout + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\application Juce Modules\juce_gui_basics\buttons @@ -1267,26 +1549,29 @@ Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\positioning + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components Juce Modules\juce_gui_basics\drawables @@ -1306,44 +1591,11 @@ 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\drawables - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\drawables Juce Modules\juce_gui_basics\filebrowser @@ -1375,17 +1627,92 @@ Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\keyboard - - Juce Modules\juce_gui_basics\commands + + 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 @@ -1393,8 +1720,26 @@ Juce Modules\juce_gui_basics\misc - - Juce Modules\juce_gui_basics\application + + 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\native @@ -1441,6 +1786,120 @@ 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 + + + 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 + + + Juce Modules\juce_gui_basics + Juce Modules\juce_gui_extra\code_editor @@ -1519,6 +1978,12 @@ Juce Modules\juce_gui_extra\native + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_gui_extra + Juce Modules\juce_opengl\opengl @@ -1546,6 +2011,12 @@ Juce Modules\juce_opengl\utils + + Juce Modules\juce_opengl + + + Juce Modules\juce_opengl + Juce Modules\juce_video\capture @@ -1567,46 +2038,52 @@ Juce Modules\juce_video\native - + + Juce Modules\juce_video + + + Juce Modules\juce_video + + 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 @@ -1620,6 +2097,9 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\effects @@ -1716,6 +2196,15 @@ Juce Modules\juce_audio_basics + + 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 @@ -1737,47 +2226,260 @@ 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_devices - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\flac + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis + + + Juce Modules\juce_audio_formats\codecs\oggvorbis Juce Modules\juce_audio_formats\codecs @@ -1806,41 +2508,38 @@ Juce Modules\juce_audio_formats\codecs - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\format - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_formats Juce Modules\juce_audio_processors\format @@ -1869,6 +2568,36 @@ 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\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 @@ -1899,6 +2628,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_processors + Juce Modules\juce_audio_utils\gui @@ -1929,50 +2661,95 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + 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\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\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\files - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging - - Juce Modules\juce_core\text + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1992,6 +2769,9 @@ Juce Modules\juce_core\maths + + Juce Modules\juce_core\maths + Juce Modules\juce_core\memory @@ -2031,197 +2811,194 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers - - - 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\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\streams - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\system - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\threads + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\time + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\files + + Juce Modules\juce_core\text - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\network + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\logging + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\threads - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\time - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2229,50 +3006,50 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\javascript + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\zip + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\misc + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip\zlib - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core\zip - - Juce Modules\juce_core\native + + Juce Modules\juce_core Juce Modules\juce_core @@ -2298,14 +3075,14 @@ Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_cryptography - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties - - Juce Modules\juce_data_structures\values + + Juce Modules\juce_data_structures\app_properties Juce Modules\juce_data_structures\undomanager @@ -2313,15 +3090,48 @@ Juce Modules\juce_data_structures\undomanager - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\app_properties + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures 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 @@ -2349,36 +3159,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 @@ -2388,6 +3168,15 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events + Juce Modules\juce_events @@ -2418,17 +3207,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 @@ -2460,50 +3264,137 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\jpglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + Juce Modules\juce_graphics\image_formats\pnglib + + + 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 + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics + + + Juce Modules\juce_graphics - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_gui_basics\application - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_gui_basics\buttons - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics\native + + Juce Modules\juce_gui_basics\commands - - Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands Juce Modules\juce_gui_basics\components @@ -2520,44 +3411,62 @@ Juce Modules\juce_gui_basics\components - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\drawables - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser - - Juce Modules\juce_gui_basics\mouse + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\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 @@ -2583,87 +3492,6 @@ 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 @@ -2718,35 +3546,77 @@ 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 + + + 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\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\buttons + + Juce Modules\juce_gui_basics\native Juce Modules\juce_gui_basics\positioning @@ -2769,27 +3639,6 @@ 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 @@ -2811,80 +3660,80 @@ Juce Modules\juce_gui_basics\properties - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\lookandfeel + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\widgets - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\filebrowser + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\commands + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\misc + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\application + + Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\native + + Juce Modules\juce_gui_basics Juce Modules\juce_gui_basics @@ -2961,32 +3810,8 @@ 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_gui_extra Juce Modules\juce_opengl\geometry @@ -3000,9 +3825,6 @@ Juce Modules\juce_opengl\geometry - - Juce Modules\juce_opengl\utils - Juce Modules\juce_opengl\native @@ -3024,17 +3846,53 @@ Juce Modules\juce_opengl\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\opengl + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_opengl + 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 Juce Modules\juce_video @@ -3047,47 +3905,17 @@ - - 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_audio_formats\codecs\flac - - Juce Modules\juce_gui_extra + + Juce Modules\juce_audio_formats\codecs\oggvorbis - - Juce Modules\juce_opengl + + Juce Modules\juce_graphics\image_formats\jpglib - - Juce Modules\juce_video + + Juce Modules\juce_graphics\image_formats\pnglib diff --git a/extras/windows dll/JuceLibraryCode/AppConfig.h b/extras/windows dll/JuceLibraryCode/AppConfig.h index f29503f8..4cf7fcc8 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 59958aeb..f43f8196 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 f6c3564e..091a5aa6 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 00000000..41869487 --- /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 00000000..e0e6c577 --- /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 00000000..fb5c2219 --- /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 00000000..e58b67ea --- /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 00000000..a3c61170 --- /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 00000000..f325b8fb --- /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 00000000..bfe172ed --- /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 00000000..b80ae901 --- /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 00000000..97bd2c56 --- /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 00000000..8eae7c6e --- /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 00000000..d0ce1636 --- /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 00000000..72b10bf8 --- /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 00000000..10b3401d --- /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 00000000..9311ea0f --- /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 00000000..9315aa16 --- /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 00000000..695ec439 --- /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 00000000..1bba110a --- /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 00000000..4cc34fc4 --- /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 00000000..319c76de --- /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 00000000..b28e6dd0 --- /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 00000000..216c76bb --- /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 00000000..6a9726fa --- /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 00000000..7226e198 --- /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 00000000..c9b6c3bf --- /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 00000000..d9895bce --- /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 00000000..6c2c32d0 --- /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 00000000..bdf22ee1 --- /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 00000000..3da705bc --- /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 9befea81..00000000 --- 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 eba6d3a9..00000000 --- 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 4629b0ef..00000000 --- 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 7d4583db..00000000 --- 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 bb997d30..00000000 --- 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 06e88f93..00000000 --- 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 e4574f47..00000000 --- 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 9d814fd9..00000000 --- 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 509b1df8..00000000 --- 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 28edbf35..00000000 --- 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 81ad4b72..00000000 --- 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 5c9b7a96..00000000 --- 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 718392ff..00000000 --- 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 0dd1636e..00000000 --- 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 159aeea1..fe129254 100644 --- a/extras/windows dll/jucedll.jucer +++ b/extras/windows dll/jucedll.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.1" 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 00000000..164777db --- /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/buffers/juce_FloatVectorOperations.cpp b/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp index 1d804a16..0f91bc24 100644 --- a/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp +++ b/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp @@ -29,17 +29,6 @@ namespace FloatVectorHelpers #define JUCE_INCREMENT_DEST dest += (16 / sizeof (*dest)); #if JUCE_USE_SSE_INTRINSICS - static bool sse2Present = false; - - static bool isSSE2Available() noexcept - { - if (sse2Present) - return true; - - sse2Present = SystemStats::hasSSE2(); - return sse2Present; - } - inline static bool isAligned (const void* p) noexcept { return (((pointer_sized_int) p) & 15) == 0; @@ -113,7 +102,6 @@ namespace FloatVectorHelpers #define JUCE_BEGIN_VEC_OP \ typedef FloatVectorHelpers::ModeType::Mode Mode; \ - if (FloatVectorHelpers::isSSE2Available()) \ { \ const int numLongOps = num / Mode::numParallel; @@ -372,11 +360,7 @@ namespace FloatVectorHelpers { int numLongOps = num / Mode::numParallel; - #if JUCE_USE_SSE_INTRINSICS - if (numLongOps > 1 && isSSE2Available()) - #else if (numLongOps > 1) - #endif { ParallelType val; @@ -446,11 +430,7 @@ namespace FloatVectorHelpers { int numLongOps = num / Mode::numParallel; - #if JUCE_USE_SSE_INTRINSICS - if (numLongOps > 1 && isSSE2Available()) - #else if (numLongOps > 1) - #endif { ParallelType mn, mx; @@ -501,6 +481,17 @@ namespace FloatVectorHelpers #endif } +//============================================================================== +namespace +{ + #if JUCE_USE_VDSP_FRAMEWORK + // This casts away constness to account for slightly different vDSP function signatures + // in OSX 10.8 SDK and below. Can be safely removed once those SDKs are obsolete. + template + ValueType* osx108sdkCompatibilityCast (const ValueType* arg) noexcept { return const_cast (arg); } + #endif +} + //============================================================================== void JUCE_CALLTYPE FloatVectorOperations::clear (float* dest, int num) noexcept { @@ -588,10 +579,10 @@ void JUCE_CALLTYPE FloatVectorOperations::add (double* dest, double amount, int const Mode::ParallelType amountToAdd = Mode::load1 (amount);) } -void JUCE_CALLTYPE FloatVectorOperations::add (float* dest, float* src, float amount, int num) noexcept +void JUCE_CALLTYPE FloatVectorOperations::add (float* dest, const float* src, float amount, int num) noexcept { #if JUCE_USE_VDSP_FRAMEWORK - vDSP_vsadd (src, 1, &amount, dest, 1, (vDSP_Length) num); + vDSP_vsadd (osx108sdkCompatibilityCast (src), 1, &amount, dest, 1, (vDSP_Length) num); #else JUCE_PERFORM_VEC_OP_SRC_DEST (dest[i] = src[i] + amount, Mode::add (am, s), JUCE_LOAD_SRC, JUCE_INCREMENT_SRC_DEST, @@ -599,10 +590,10 @@ void JUCE_CALLTYPE FloatVectorOperations::add (float* dest, float* src, float am #endif } -void JUCE_CALLTYPE FloatVectorOperations::add (double* dest, double* src, double amount, int num) noexcept +void JUCE_CALLTYPE FloatVectorOperations::add (double* dest, const double* src, double amount, int num) noexcept { #if JUCE_USE_VDSP_FRAMEWORK - vDSP_vsaddD (src, 1, &amount, dest, 1, (vDSP_Length) num); + vDSP_vsaddD (osx108sdkCompatibilityCast (src), 1, &amount, dest, 1, (vDSP_Length) num); #else JUCE_PERFORM_VEC_OP_SRC_DEST (dest[i] = src[i] + amount, Mode::add (am, s), JUCE_LOAD_SRC, JUCE_INCREMENT_SRC_DEST, @@ -1002,10 +993,17 @@ double JUCE_CALLTYPE FloatVectorOperations::findMaximum (const double* src, int void JUCE_CALLTYPE FloatVectorOperations::enableFlushToZeroMode (bool shouldEnable) noexcept { #if JUCE_USE_SSE_INTRINSICS - if (FloatVectorHelpers::isSSE2Available()) - _MM_SET_FLUSH_ZERO_MODE (shouldEnable ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF); + _MM_SET_FLUSH_ZERO_MODE (shouldEnable ? _MM_FLUSH_ZERO_ON : _MM_FLUSH_ZERO_OFF); + #endif + ignoreUnused (shouldEnable); +} + +void JUCE_CALLTYPE FloatVectorOperations::disableDenormalisedNumberSupport() noexcept +{ + #if JUCE_USE_SSE_INTRINSICS + const unsigned int mxcsr = _mm_getcsr(); + _mm_setcsr (mxcsr | 0x8040); // add the DAZ and FZ bits #endif - (void) shouldEnable; } //============================================================================== diff --git a/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h b/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h index 0c85e60f..b22e3a18 100644 --- a/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h +++ b/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h @@ -66,10 +66,10 @@ public: static void JUCE_CALLTYPE add (double* dest, double amountToAdd, int numValues) noexcept; /** Adds a fixed value to each source value and stores it in the destination array. */ - static void JUCE_CALLTYPE add (float* dest, float* src, float amount, int numValues) noexcept; + static void JUCE_CALLTYPE add (float* dest, const float* src, float amount, int numValues) noexcept; /** Adds a fixed value to each source value and stores it in the destination array. */ - static void JUCE_CALLTYPE add (double* dest, double* src, double amount, int numValues) noexcept; + static void JUCE_CALLTYPE add (double* dest, const double* src, double amount, int numValues) noexcept; /** Adds the source values to the destination values. */ static void JUCE_CALLTYPE add (float* dest, const float* src, int numValues) noexcept; @@ -198,6 +198,12 @@ public: Effectively, this is a wrapper around a call to _MM_SET_FLUSH_ZERO_MODE */ static void JUCE_CALLTYPE enableFlushToZeroMode (bool shouldEnable) noexcept; + + /** On Intel CPUs, this method enables the SSE flush-to-zero and denormalised-are-zero modes. + This effectively sets the DAZ and FZ bits of the MXCSR register. It's a convenient thing to + call before audio processing code where you really want to avoid denormalisation performance hits. + */ + static void JUCE_CALLTYPE disableDenormalisedNumberSupport() noexcept; }; diff --git a/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp b/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp new file mode 100644 index 00000000..8823b426 --- /dev/null +++ b/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp @@ -0,0 +1,62 @@ +/* + ============================================================================== + + 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 CatmullRomAlgorithm +{ + static forcedinline float valueAtOffset (const float* const inputs, const float offset) noexcept + { + const float y0 = inputs[3]; + const float y1 = inputs[2]; + const float y2 = inputs[1]; + const float y3 = inputs[0]; + + const float halfY0 = 0.5f * y0; + const float halfY3 = 0.5f * y3; + + return y1 + offset * ((0.5f * y2 - halfY0) + + (offset * (((y0 + 2.0f * y2) - (halfY3 + 2.5f * y1)) + + (offset * ((halfY3 + 1.5f * y1) - (halfY0 + 1.5f * y2)))))); + } +}; + +CatmullRomInterpolator::CatmullRomInterpolator() noexcept { reset(); } +CatmullRomInterpolator::~CatmullRomInterpolator() noexcept {} + +void CatmullRomInterpolator::reset() noexcept +{ + subSamplePos = 1.0; + + for (int i = 0; i < numElementsInArray (lastInputSamples); ++i) + lastInputSamples[i] = 0; +} + +int CatmullRomInterpolator::process (double actualRatio, const float* in, float* out, int numOut) noexcept +{ + return interpolate (lastInputSamples, subSamplePos, actualRatio, in, out, numOut); +} + +int CatmullRomInterpolator::processAdding (double actualRatio, const float* in, float* out, int numOut, float gain) noexcept +{ + return interpolateAdding (lastInputSamples, subSamplePos, actualRatio, in, out, numOut, gain); +} diff --git a/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h b/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h new file mode 100644 index 00000000..1e2ca396 --- /dev/null +++ b/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h @@ -0,0 +1,88 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +/** + Interpolator for resampling a stream of floats using Catmull-Rom interpolation. + + Note that the resampler is stateful, so when there's a break in the continuity + of the input stream you're feeding it, you should call reset() before feeding + it any new data. And like with any other stateful filter, if you're resampling + multiple channels, make sure each one uses its own CatmullRomInterpolator + object. + + @see LagrangeInterpolator +*/ +class JUCE_API CatmullRomInterpolator +{ +public: + CatmullRomInterpolator() noexcept; + ~CatmullRomInterpolator() noexcept; + + /** Resets the state of the interpolator. + Call this when there's a break in the continuity of the input data stream. + */ + void reset() noexcept; + + /** Resamples a stream of samples. + + @param speedRatio the number of input samples to use for each output sample + @param inputSamples the source data to read from. This must contain at + least (speedRatio * numOutputSamplesToProduce) samples. + @param outputSamples the buffer to write the results into + @param numOutputSamplesToProduce the number of output samples that should be created + + @returns the actual number of input samples that were used + */ + int process (double speedRatio, + const float* inputSamples, + float* outputSamples, + int numOutputSamplesToProduce) noexcept; + + /** Resamples a stream of samples, adding the results to the output data + with a gain. + + @param speedRatio the number of input samples to use for each output sample + @param inputSamples the source data to read from. This must contain at + least (speedRatio * numOutputSamplesToProduce) samples. + @param outputSamples the buffer to write the results to - the result values will be added + to any pre-existing data in this buffer after being multiplied by + the gain factor + @param numOutputSamplesToProduce the number of output samples that should be created + @param gain a gain factor to multiply the resulting samples by before + adding them to the destination buffer + + @returns the actual number of input samples that were used + */ + int processAdding (double speedRatio, + const float* inputSamples, + float* outputSamples, + int numOutputSamplesToProduce, + float gain) noexcept; + +private: + float lastInputSamples[5]; + double subSamplePos; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CatmullRomInterpolator) +}; diff --git a/modules/juce_audio_basics/effects/juce_FFT.cpp b/modules/juce_audio_basics/effects/juce_FFT.cpp index dd3e7cc3..93b91ccb 100644 --- a/modules/juce_audio_basics/effects/juce_FFT.cpp +++ b/modules/juce_audio_basics/effects/juce_FFT.cpp @@ -248,7 +248,7 @@ void FFT::performRealOnlyInverseTransform (float* d) const noexcept if (scratchSize < maxFFTScratchSpaceToAlloca) { - performRealOnlyForwardTransform (static_cast (alloca (scratchSize)), d); + performRealOnlyInverseTransform (static_cast (alloca (scratchSize)), d); } else { diff --git a/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp b/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp index aa4eccc0..03e56802 100644 --- a/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp +++ b/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp @@ -22,185 +22,179 @@ ============================================================================== */ -namespace LagrangeHelpers +namespace { - template - struct ResampleHelper - { - static forcedinline void calc (float& a, float b) { a *= b * (1.0f / k); } - }; - - template<> - struct ResampleHelper <0> - { - static forcedinline void calc (float&, float) {} - }; - - template - static forcedinline float calcCoefficient (float input, const float offset) noexcept + static forcedinline void pushInterpolationSample (float* lastInputSamples, const float newValue) noexcept { - ResampleHelper <0 - k>::calc (input, -2.0f - offset); - ResampleHelper <1 - k>::calc (input, -1.0f - offset); - ResampleHelper <2 - k>::calc (input, 0.0f - offset); - ResampleHelper <3 - k>::calc (input, 1.0f - offset); - ResampleHelper <4 - k>::calc (input, 2.0f - offset); - return input; + lastInputSamples[4] = lastInputSamples[3]; + lastInputSamples[3] = lastInputSamples[2]; + lastInputSamples[2] = lastInputSamples[1]; + lastInputSamples[1] = lastInputSamples[0]; + lastInputSamples[0] = newValue; } - static forcedinline float valueAtOffset (const float* const inputs, const float offset) noexcept - { - return calcCoefficient<0> (inputs[4], offset) - + calcCoefficient<1> (inputs[3], offset) - + calcCoefficient<2> (inputs[2], offset) - + calcCoefficient<3> (inputs[1], offset) - + calcCoefficient<4> (inputs[0], offset); - } - - static forcedinline void push (float* inputs, const float newValue) noexcept - { - inputs[4] = inputs[3]; - inputs[3] = inputs[2]; - inputs[2] = inputs[1]; - inputs[1] = inputs[0]; - inputs[0] = newValue; - } -} - -//============================================================================== -LagrangeInterpolator::LagrangeInterpolator() { reset(); } -LagrangeInterpolator::~LagrangeInterpolator() {} - -void LagrangeInterpolator::reset() noexcept -{ - subSamplePos = 1.0; - - for (int i = 0; i < numElementsInArray (lastInputSamples); ++i) - lastInputSamples[i] = 0; -} - -int LagrangeInterpolator::process (const double actualRatio, const float* in, - float* out, const int numOut) noexcept -{ - if (actualRatio == 1.0) + static forcedinline void pushInterpolationSamples (float* lastInputSamples, const float* input, int numOut) noexcept { - memcpy (out, in, (size_t) numOut * sizeof (float)); - - if (numOut >= 4) + if (numOut >= 5) { - const float* end = in + numOut; - - for (int i = 0; i < 4; ++i) - lastInputSamples[i] = *--end; + for (int i = 0; i < 5; ++i) + lastInputSamples[i] = input[--numOut]; } else { for (int i = 0; i < numOut; ++i) - LagrangeHelpers::push (lastInputSamples, in[i]); + pushInterpolationSample (lastInputSamples, input[i]); } - - return numOut; } - const float* const originalIn = in; - double pos = subSamplePos; - - if (actualRatio < 1.0) + template + static int interpolate (float* lastInputSamples, double& subSamplePos, const double actualRatio, + const float* in, float* out, const int numOut) noexcept { - for (int i = numOut; --i >= 0;) + if (actualRatio == 1.0) { - if (pos >= 1.0) + memcpy (out, in, (size_t) numOut * sizeof (float)); + pushInterpolationSamples (lastInputSamples, in, numOut); + return numOut; + } + + const float* const originalIn = in; + double pos = subSamplePos; + + if (actualRatio < 1.0) + { + for (int i = numOut; --i >= 0;) { - LagrangeHelpers::push (lastInputSamples, *in++); - pos -= 1.0; + if (pos >= 1.0) + { + pushInterpolationSample (lastInputSamples, *in++); + pos -= 1.0; + } + + *out++ = InterpolatorType::valueAtOffset (lastInputSamples, (float) pos); + pos += actualRatio; } - - *out++ = LagrangeHelpers::valueAtOffset (lastInputSamples, (float) pos); - pos += actualRatio; } - } - else - { - for (int i = numOut; --i >= 0;) + else { - while (pos < actualRatio) + for (int i = numOut; --i >= 0;) { - LagrangeHelpers::push (lastInputSamples, *in++); - pos += 1.0; + while (pos < actualRatio) + { + pushInterpolationSample (lastInputSamples, *in++); + pos += 1.0; + } + + pos -= actualRatio; + *out++ = InterpolatorType::valueAtOffset (lastInputSamples, jmax (0.0f, 1.0f - (float) pos)); } - - pos -= actualRatio; - *out++ = LagrangeHelpers::valueAtOffset (lastInputSamples, 1.0f - (float) pos); } - } - subSamplePos = pos; - return (int) (in - originalIn); -} + subSamplePos = pos; + return (int) (in - originalIn); + } -int LagrangeInterpolator::processAdding (const double actualRatio, const float* in, - float* out, const int numOut, const float gain) noexcept -{ - if (actualRatio == 1.0) + template + static int interpolateAdding (float* lastInputSamples, double& subSamplePos, const double actualRatio, + const float* in, float* out, const int numOut, const float gain) noexcept { - if (gain != 1.0f) - { - for (int i = 0; i < numOut; ++i) - out[i] += in[i] * gain; - } - else + if (actualRatio == 1.0) { - for (int i = 0; i < numOut; ++i) - out[i] += in[i]; + FloatVectorOperations::addWithMultiply (out, in, gain, numOut); + pushInterpolationSamples (lastInputSamples, in, numOut); + return numOut; } - if (numOut >= 4) - { - const float* end = in + numOut; + const float* const originalIn = in; + double pos = subSamplePos; - for (int i = 0; i < 4; ++i) - lastInputSamples[i] = *--end; + if (actualRatio < 1.0) + { + for (int i = numOut; --i >= 0;) + { + if (pos >= 1.0) + { + pushInterpolationSample (lastInputSamples, *in++); + pos -= 1.0; + } + + *out++ += gain * InterpolatorType::valueAtOffset (lastInputSamples, (float) pos); + pos += actualRatio; + } } else { - for (int i = 0; i < numOut; ++i) - LagrangeHelpers::push (lastInputSamples, in[i]); + for (int i = numOut; --i >= 0;) + { + while (pos < actualRatio) + { + pushInterpolationSample (lastInputSamples, *in++); + pos += 1.0; + } + + pos -= actualRatio; + *out++ += gain * InterpolatorType::valueAtOffset (lastInputSamples, jmax (0.0f, 1.0f - (float) pos)); + } } - return numOut; + subSamplePos = pos; + return (int) (in - originalIn); } +} - const float* const originalIn = in; - double pos = subSamplePos; +//============================================================================== +template +struct LagrangeResampleHelper +{ + static forcedinline void calc (float& a, float b) noexcept { a *= b * (1.0f / k); } +}; - if (actualRatio < 1.0) - { - for (int i = numOut; --i >= 0;) - { - if (pos >= 1.0) - { - LagrangeHelpers::push (lastInputSamples, *in++); - pos -= 1.0; - } +template<> +struct LagrangeResampleHelper<0> +{ + static forcedinline void calc (float&, float) noexcept {} +}; - *out++ += gain * LagrangeHelpers::valueAtOffset (lastInputSamples, (float) pos); - pos += actualRatio; - } - } - else +struct LagrangeAlgorithm +{ + static forcedinline float valueAtOffset (const float* const inputs, const float offset) noexcept { - for (int i = numOut; --i >= 0;) - { - while (pos < actualRatio) - { - LagrangeHelpers::push (lastInputSamples, *in++); - pos += 1.0; - } + return calcCoefficient<0> (inputs[4], offset) + + calcCoefficient<1> (inputs[3], offset) + + calcCoefficient<2> (inputs[2], offset) + + calcCoefficient<3> (inputs[1], offset) + + calcCoefficient<4> (inputs[0], offset); + } - pos -= actualRatio; - *out++ += gain * LagrangeHelpers::valueAtOffset (lastInputSamples, jmax (0.0f, 1.0f - (float) pos)); - } + template + static forcedinline float calcCoefficient (float input, const float offset) noexcept + { + LagrangeResampleHelper<0 - k>::calc (input, -2.0f - offset); + LagrangeResampleHelper<1 - k>::calc (input, -1.0f - offset); + LagrangeResampleHelper<2 - k>::calc (input, 0.0f - offset); + LagrangeResampleHelper<3 - k>::calc (input, 1.0f - offset); + LagrangeResampleHelper<4 - k>::calc (input, 2.0f - offset); + return input; } +}; + +LagrangeInterpolator::LagrangeInterpolator() noexcept { reset(); } +LagrangeInterpolator::~LagrangeInterpolator() noexcept {} - subSamplePos = pos; - return (int) (in - originalIn); +void LagrangeInterpolator::reset() noexcept +{ + subSamplePos = 1.0; + + for (int i = 0; i < numElementsInArray (lastInputSamples); ++i) + lastInputSamples[i] = 0; +} + +int LagrangeInterpolator::process (double actualRatio, const float* in, float* out, int numOut) noexcept +{ + return interpolate (lastInputSamples, subSamplePos, actualRatio, in, out, numOut); +} + +int LagrangeInterpolator::processAdding (double actualRatio, const float* in, float* out, int numOut, float gain) noexcept +{ + return interpolateAdding (lastInputSamples, subSamplePos, actualRatio, in, out, numOut, gain); } diff --git a/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h b/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h index c3f7fd29..c33294a1 100644 --- a/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h +++ b/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h @@ -22,11 +22,6 @@ ============================================================================== */ -#ifndef JUCE_LAGRANGEINTERPOLATOR_H_INCLUDED -#define JUCE_LAGRANGEINTERPOLATOR_H_INCLUDED - - -//============================================================================== /** Interpolator for resampling a stream of floats using 4-point lagrange interpolation. @@ -35,12 +30,14 @@ it any new data. And like with any other stateful filter, if you're resampling multiple channels, make sure each one uses its own LagrangeInterpolator object. + + @see CatmullRomInterpolator */ class JUCE_API LagrangeInterpolator { public: - LagrangeInterpolator(); - ~LagrangeInterpolator(); + LagrangeInterpolator() noexcept; + ~LagrangeInterpolator() noexcept; /** Resets the state of the interpolator. Call this when there's a break in the continuity of the input data stream. @@ -89,6 +86,3 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LagrangeInterpolator) }; - - -#endif // JUCE_LAGRANGEINTERPOLATOR_H_INCLUDED diff --git a/modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h b/modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h index 44fa1e83..fc7490e9 100644 --- a/modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h +++ b/modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h @@ -33,8 +33,8 @@ */ //============================================================================== -template -class JUCE_API LinearSmoothedValue +template +class LinearSmoothedValue { public: /** Constructor. */ @@ -49,7 +49,7 @@ public: { } - //========================================================================== + //============================================================================== /** Reset to a new sample rate and ramp length. */ void reset (double sampleRate, double rampLengthInSeconds) noexcept { @@ -59,7 +59,6 @@ public: countdown = 0; } - //========================================================================== /** Set a new target value. */ void setValue (FloatType newValue) noexcept { @@ -75,7 +74,6 @@ public: } } - //========================================================================== /** Compute the next value. */ FloatType getNextValue() noexcept { @@ -87,8 +85,20 @@ public: return currentValue; } + /** Returns true if the current value is currently being interpolated. */ + bool isSmoothing() const noexcept + { + return countdown > 0; + } + + /** Returns the target value towards which the smoothed value is currently moving. */ + FloatType getTargetValue() const noexcept + { + return target; + } + private: - //========================================================================== + //============================================================================== FloatType currentValue, target, step; int countdown, stepsToTarget; }; diff --git a/modules/juce_audio_basics/juce_audio_basics.cpp b/modules/juce_audio_basics/juce_audio_basics.cpp index 95cc730c..86b41a23 100644 --- a/modules/juce_audio_basics/juce_audio_basics.cpp +++ b/modules/juce_audio_basics/juce_audio_basics.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_AUDIO_BASICS_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_AUDIO_BASICS_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,16 +31,13 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" #include "juce_audio_basics.h" #if JUCE_MINGW && ! defined (__SSE2__) #define JUCE_USE_SSE_INTRINSICS 0 #endif -#if JUCE_MINGW +#if JUCE_MINGW && ! defined (alloca) #define alloca __builtin_alloca #endif @@ -61,9 +58,7 @@ #endif #if (JUCE_MAC || JUCE_IOS) && JUCE_USE_VDSP_FRAMEWORK - #define Point CarbonDummyPointName // (workaround to avoid definition of "Point" by old Carbon headers) #include - #undef Point #else #undef JUCE_USE_VDSP_FRAMEWORK #endif @@ -72,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 @@ -83,6 +85,7 @@ namespace juce #include "buffers/juce_FloatVectorOperations.cpp" #include "effects/juce_IIRFilter.cpp" #include "effects/juce_LagrangeInterpolator.cpp" +#include "effects/juce_CatmullRomInterpolator.cpp" #include "effects/juce_FFT.cpp" #include "midi/juce_MidiBuffer.cpp" #include "midi/juce_MidiFile.cpp" diff --git a/modules/juce_audio_basics/juce_audio_basics.h b/modules/juce_audio_basics/juce_audio_basics.h index d7077bf9..2ca734cd 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.1 + 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 { @@ -40,6 +65,7 @@ namespace juce #include "effects/juce_Decibels.h" #include "effects/juce_IIRFilter.h" #include "effects/juce_LagrangeInterpolator.h" +#include "effects/juce_CatmullRomInterpolator.h" #include "effects/juce_FFT.h" #include "effects/juce_LinearSmoothedValue.h" #include "effects/juce_Reverb.h" diff --git a/modules/juce_audio_basics/juce_module_info b/modules/juce_audio_basics/juce_module_info deleted file mode 100644 index 7b4f5989..00000000 --- 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_MidiMessage.cpp b/modules/juce_audio_basics/midi/juce_MidiMessage.cpp index 4c2b5365..c0261ab7 100644 --- a/modules/juce_audio_basics/midi/juce_MidiMessage.cpp +++ b/modules/juce_audio_basics/midi/juce_MidiMessage.cpp @@ -309,6 +309,31 @@ uint8* MidiMessage::allocateSpace (int bytes) return preallocatedData.asBytes; } +String MidiMessage::getDescription() const +{ + if (isNoteOn()) return "Note on " + MidiMessage::getMidiNoteName (getNoteNumber(), true, true, 3) + " Velocity " + String (getVelocity()) + " Channel " + String (getChannel()); + if (isNoteOff()) return "Note off " + MidiMessage::getMidiNoteName (getNoteNumber(), true, true, 3) + " Velocity " + String (getVelocity()) + " Channel " + String (getChannel()); + if (isProgramChange()) return "Program change " + String (getProgramChangeNumber()) + " Channel " + String (getChannel()); + if (isPitchWheel()) return "Pitch wheel " + String (getPitchWheelValue()) + " Channel " + String (getChannel()); + if (isAftertouch()) return "Aftertouch " + MidiMessage::getMidiNoteName (getNoteNumber(), true, true, 3) + ": " + String (getAfterTouchValue()) + " Channel " + String (getChannel()); + if (isChannelPressure()) return "Channel pressure " + String (getChannelPressureValue()) + " Channel " + String (getChannel()); + if (isAllNotesOff()) return "All notes off Channel " + String (getChannel()); + if (isAllSoundOff()) return "All sound off Channel " + String (getChannel()); + if (isMetaEvent()) return "Meta event"; + + if (isController()) + { + String name (MidiMessage::getControllerName (getControllerNumber())); + + if (name.isEmpty()) + name = String (getControllerNumber()); + + return "Controller " + name + ": " + String (getControllerValue()) + " Channel " + String (getChannel()); + } + + return String::toHexString (getRawData(), getRawDataSize()); +} + int MidiMessage::getChannel() const noexcept { const uint8* const data = getRawData(); @@ -371,7 +396,7 @@ int MidiMessage::getNoteNumber() const noexcept void MidiMessage::setNoteNumber (const int newNoteNumber) noexcept { - if (isNoteOnOrOff()) + if (isNoteOnOrOff() || isAftertouch()) getData()[1] = (uint8) (newNoteNumber & 127); } @@ -982,7 +1007,7 @@ String MidiMessage::getMidiNoteName (int note, bool useSharps, bool includeOctav return s; } - return String::empty; + return String(); } double MidiMessage::getMidiNoteInHertz (int noteNumber, const double frequencyOfA) noexcept diff --git a/modules/juce_audio_basics/midi/juce_MidiMessage.h b/modules/juce_audio_basics/midi/juce_MidiMessage.h index 61e084b7..10fd0b20 100644 --- a/modules/juce_audio_basics/midi/juce_MidiMessage.h +++ b/modules/juce_audio_basics/midi/juce_MidiMessage.h @@ -125,6 +125,12 @@ public: */ int getRawDataSize() const noexcept { return size; } + //============================================================================== + /** Returns a human-readable description of the midi message as a string, + for example "Note On C#3 Velocity 120 Channel 1". + */ + String getDescription() const; + //============================================================================== /** Returns the timestamp associated with this message. diff --git a/modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp b/modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp index dcac30e7..7b2ab85c 100644 --- a/modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp +++ b/modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp @@ -156,23 +156,34 @@ struct MidiMessageSequenceSorter } }; +void MidiMessageSequence::addSequence (const MidiMessageSequence& other, double timeAdjustment) +{ + for (int i = 0; i < other.list.size(); ++i) + { + const MidiMessage& m = other.list.getUnchecked(i)->message; + + MidiEventHolder* const newOne = new MidiEventHolder (m); + newOne->message.addToTimeStamp (timeAdjustment); + list.add (newOne); + } + + sort(); +} + void MidiMessageSequence::addSequence (const MidiMessageSequence& other, double timeAdjustment, double firstAllowableTime, double endOfAllowableDestTimes) { - firstAllowableTime -= timeAdjustment; - endOfAllowableDestTimes -= timeAdjustment; - for (int i = 0; i < other.list.size(); ++i) { const MidiMessage& m = other.list.getUnchecked(i)->message; - const double t = m.getTimeStamp(); + const double t = m.getTimeStamp() + timeAdjustment; if (t >= firstAllowableTime && t < endOfAllowableDestTimes) { MidiEventHolder* const newOne = new MidiEventHolder (m); - newOne->message.setTimeStamp (timeAdjustment + t); + newOne->message.setTimeStamp (t); list.add (newOne); } diff --git a/modules/juce_audio_basics/midi/juce_MidiMessageSequence.h b/modules/juce_audio_basics/midi/juce_MidiMessageSequence.h index 5d2f977a..2f55e2da 100644 --- a/modules/juce_audio_basics/midi/juce_MidiMessageSequence.h +++ b/modules/juce_audio_basics/midi/juce_MidiMessageSequence.h @@ -160,7 +160,6 @@ public: void deleteEvent (int index, bool deleteMatchingNoteUp); /** Merges another sequence into this one. - Remember to call updateMatchedPairs() after using this method. @param other the sequence to add from @@ -178,6 +177,16 @@ public: double firstAllowableDestTime, double endOfAllowableDestTimes); + /** Merges another sequence into this one. + Remember to call updateMatchedPairs() after using this method. + + @param other the sequence to add from + @param timeAdjustmentDelta an amount to add to the timestamps of the midi events + as they are read from the other sequence + */ + void addSequence (const MidiMessageSequence& other, + double timeAdjustmentDelta); + //============================================================================== /** Makes sure all the note-on and note-off pairs are up-to-date. diff --git a/modules/juce_audio_basics/midi/juce_MidiRPN.cpp b/modules/juce_audio_basics/midi/juce_MidiRPN.cpp index 7d7335e2..fe3c51ea 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) { } @@ -331,7 +330,7 @@ public: } private: - //========================================================================== + //============================================================================== void expectContainsRPN (const MidiBuffer& midiBuffer, int channel, int parameterNumber, @@ -343,7 +342,7 @@ private: expectContainsRPN (midiBuffer, expected); } - //========================================================================== + //============================================================================== void expectContainsRPN (const MidiBuffer& midiBuffer, MidiRPNMessage expected) { MidiBuffer::Iterator iter (midiBuffer); diff --git a/modules/juce_audio_basics/midi/juce_MidiRPN.h b/modules/juce_audio_basics/midi/juce_MidiRPN.h index 9199860f..e8f7376a 100644 --- a/modules/juce_audio_basics/midi/juce_MidiRPN.h +++ b/modules/juce_audio_basics/midi/juce_MidiRPN.h @@ -26,7 +26,7 @@ #define JUCE_MIDIRPNDETECTOR_H_INCLUDED -//========================================================================== +//============================================================================== /** Represents a MIDI RPN (registered parameter number) or NRPN (non-registered parameter number) message. */ @@ -77,7 +77,7 @@ public: */ void reset() noexcept; - //========================================================================== + //============================================================================== /** Takes the next in a stream of incoming MIDI CC messages and returns true if it forms the last of a sequence that makes an RPN or NPRN. @@ -91,7 +91,7 @@ public: MidiRPNMessage& result) noexcept; private: - //========================================================================== + //============================================================================== struct ChannelState { ChannelState() noexcept; @@ -104,7 +104,7 @@ private: bool isNRPN; }; - //========================================================================== + //============================================================================== ChannelState states[16]; JUCE_LEAK_DETECTOR (MidiRPNDetector) @@ -120,11 +120,11 @@ private: class JUCE_API MidiRPNGenerator { public: - //========================================================================== + //============================================================================== /** Generates a MIDI sequence representing the given RPN or NRPN message. */ static MidiBuffer generate (MidiRPNMessage message); - //========================================================================== + //============================================================================== /** Generates a MIDI sequence representing an RPN or NRPN message with the given parameters. diff --git a/modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp b/modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp index cabee295..df7ff804 100644 --- a/modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp +++ b/modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp @@ -39,6 +39,9 @@ MPEInstrument::MPEInstrument() noexcept pressureDimension.value = &MPENote::pressure; timbreDimension.value = &MPENote::timbre; + // the default value for pressure is 0, for all other dimension it is centre (= default MPEValue) + std::fill_n (pressureDimension.lastValueReceivedOnChannel, 16, MPEValue::minValue()); + legacyMode.isEnabled = false; legacyMode.pitchbendRange = 2; legacyMode.channelRange = Range (1, 17); @@ -135,14 +138,6 @@ void MPEInstrument::removeListener (Listener* const listenerToRemove) noexcept listeners.remove (listenerToRemove); } -MPEInstrument::Listener::Listener() -{ -} - -MPEInstrument::Listener::~Listener() -{ -} - //============================================================================== void MPEInstrument::processNextMidiEvent (const MidiMessage& message) { @@ -279,22 +274,6 @@ void MPEInstrument::handleTimbreLSB (int midiChannel, int value) noexcept lastTimbreLowerBitReceivedOnChannel[midiChannel - 1] = uint8 (value); } -//============================================================================== -MPEValue MPEInstrument::getInitialPitchbendForNoteOn (int midiChannel, int /*midiNoteNumber*/, MPEValue /*midiNoteOnVelocity*/) const -{ - return pitchbendDimension.lastValueReceivedOnChannel[midiChannel - 1]; -} - -MPEValue MPEInstrument::getInitialPressureForNoteOn (int /*midiChannel*/, int /*midiNoteNumber*/, MPEValue midiNoteOnVelocity) const -{ - return midiNoteOnVelocity; -} - -MPEValue MPEInstrument::getInitialTimbreForNoteOn (int midiChannel, int /*midiNoteNumber*/, MPEValue /*midiNoteOnVelocity*/) const -{ - return timbreDimension.lastValueReceivedOnChannel[midiChannel - 1]; -} - //============================================================================== void MPEInstrument::noteOn (int midiChannel, int midiNoteNumber, @@ -306,9 +285,9 @@ void MPEInstrument::noteOn (int midiChannel, MPENote newNote (midiChannel, midiNoteNumber, midiNoteOnVelocity, - getInitialPitchbendForNoteOn (midiChannel, midiNoteNumber, midiNoteOnVelocity), - getInitialPressureForNoteOn (midiChannel, midiNoteNumber, midiNoteOnVelocity), - getInitialTimbreForNoteOn (midiChannel, midiNoteNumber, midiNoteOnVelocity), + getInitialValueForNewNote (midiChannel, pitchbendDimension), + getInitialValueForNewNote (midiChannel, pressureDimension), + getInitialValueForNewNote (midiChannel, timbreDimension), isNoteChannelSustained[midiChannel - 1] ? MPENote::keyDownAndSustained : MPENote::keyDown); const ScopedLock sl (lock); @@ -332,7 +311,7 @@ void MPEInstrument::noteOff (int midiChannel, int midiNoteNumber, MPEValue midiNoteOffVelocity) { - if (notes.empty() || ! isNoteChannel (midiChannel)) + if (notes.isEmpty() || ! isNoteChannel (midiChannel)) return; const ScopedLock sl (lock); @@ -342,10 +321,11 @@ void MPEInstrument::noteOff (int midiChannel, note->keyState = (note->keyState == MPENote::keyDownAndSustained) ? MPENote::sustained : MPENote::off; note->noteOffVelocity = midiNoteOffVelocity; - // last pitchbend and timbre values received for this note should not be re-used for + // last dimension values received for this note should not be re-used for // any new notes, so reset them: - pitchbendDimension.lastValueReceivedOnChannel[midiChannel - 1] = MPEValue(); - timbreDimension.lastValueReceivedOnChannel[midiChannel - 1] = MPEValue(); + pressureDimension.lastValueReceivedOnChannel[midiChannel - 1] = MPEValue::minValue(); + pitchbendDimension.lastValueReceivedOnChannel[midiChannel - 1] = MPEValue::centreValue(); + timbreDimension.lastValueReceivedOnChannel[midiChannel - 1] = MPEValue::centreValue(); if (note->keyState == MPENote::off) { @@ -378,12 +358,20 @@ void MPEInstrument::timbre (int midiChannel, MPEValue value) updateDimension (midiChannel, timbreDimension, value); } +MPEValue MPEInstrument::getInitialValueForNewNote (int midiChannel, MPEDimension& dimension) const +{ + if (getLastNotePlayedPtr (midiChannel) != nullptr) + return &dimension == &pressureDimension ? MPEValue::minValue() : MPEValue::centreValue(); + + return dimension.lastValueReceivedOnChannel[midiChannel - 1]; +} + //============================================================================== void MPEInstrument::updateDimension (int midiChannel, MPEDimension& dimension, MPEValue value) { dimension.lastValueReceivedOnChannel[midiChannel - 1] = value; - if (notes.empty()) + if (notes.isEmpty()) return; if (MPEZone* zone = zoneLayout.getZoneByMasterChannel (midiChannel)) @@ -766,7 +754,7 @@ public: test.noteOn (3, 60, MPEValue::from7BitInt (100)); expectEquals (test.getNumPlayingNotes(), 1); expectEquals (test.noteAddedCallCounter, 1); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); // note-off test.noteOff (3, 60, MPEValue::from7BitInt (33)); @@ -782,13 +770,13 @@ public: // note off with non-matching note number shouldn't do anything test.noteOff (3, 61, MPEValue::from7BitInt (33)); expectEquals (test.getNumPlayingNotes(), 1); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteReleasedCallCounter, 0); // note off with non-matching midi channel shouldn't do anything test.noteOff (2, 60, MPEValue::from7BitInt (33)); expectEquals (test.getNumPlayingNotes(), 1); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteReleasedCallCounter, 0); } { @@ -799,9 +787,9 @@ public: test.noteOn (3, 1, MPEValue::from7BitInt (100)); test.noteOn (3, 2, MPEValue::from7BitInt (100)); expectEquals (test.getNumPlayingNotes(), 3); - expectNote (test.getNote (3, 0), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 1), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 2), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 0), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 1), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 2), 100, 0, 8192, 64, MPENote::keyDown); } { // pathological case: second note-on for same note should retrigger it. @@ -810,7 +798,7 @@ public: test.noteOn (3, 0, MPEValue::from7BitInt (100)); test.noteOn (3, 0, MPEValue::from7BitInt (60)); expectEquals (test.getNumPlayingNotes(), 1); - expectNote (test.getNote (3, 0), 60, 60, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 0), 60, 0, 8192, 64, MPENote::keyDown); } } @@ -852,42 +840,42 @@ public: // sustain pedal on per-note channel shouldn't do anything. test.sustainPedal (3, true); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteKeyStateChangedCallCounter, 0); // sustain pedal on non-zone channel shouldn't do anything either. test.sustainPedal (1, true); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteKeyStateChangedCallCounter, 0); // sustain pedal on master channel should sustain notes on *that* zone. test.sustainPedal (2, true); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDownAndSustained); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDownAndSustained); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteKeyStateChangedCallCounter, 1); // release test.sustainPedal (2, false); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteKeyStateChangedCallCounter, 2); // should also sustain new notes added after the press test.sustainPedal (2, true); expectEquals (test.noteKeyStateChangedCallCounter, 3); test.noteOn (4, 51, MPEValue::from7BitInt (100)); - expectNote (test.getNote (4, 51), 100, 100, 8192, 64, MPENote::keyDownAndSustained); + expectNote (test.getNote (4, 51), 100, 0, 8192, 64, MPENote::keyDownAndSustained); expectEquals (test.noteKeyStateChangedCallCounter, 3); // ...but only if that sustain came on the master channel of that zone! test.sustainPedal (11, true); test.noteOn (11, 52, MPEValue::from7BitInt (100)); - expectNote (test.getNote (11, 52), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (11, 52), 100, 0, 8192, 64, MPENote::keyDown); test.noteOff (11, 52, MPEValue::from7BitInt (100)); expectEquals (test.noteReleasedCallCounter, 1); @@ -898,8 +886,8 @@ public: expectEquals (test.getNumPlayingNotes(), 2); expectEquals (test.noteReleasedCallCounter, 2); expectEquals (test.noteKeyStateChangedCallCounter, 5); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::sustained); - expectNote (test.getNote (4, 51), 100, 100, 8192, 64, MPENote::sustained); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::sustained); + expectNote (test.getNote (4, 51), 100, 0, 8192, 64, MPENote::sustained); // notes should be turned off when pedal is released test.sustainPedal (2, false); @@ -916,26 +904,26 @@ public: // sostenuto pedal on per-note channel shouldn't do anything. test.sostenutoPedal (3, true); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteKeyStateChangedCallCounter, 0); // sostenuto pedal on non-zone channel shouldn't do anything either. test.sostenutoPedal (1, true); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteKeyStateChangedCallCounter, 0); // sostenuto pedal on master channel should sustain notes on *that* zone. test.sostenutoPedal (2, true); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDownAndSustained); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDownAndSustained); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteKeyStateChangedCallCounter, 1); // release test.sostenutoPedal (2, false); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteKeyStateChangedCallCounter, 2); // should only sustain notes turned on *before* the press (difference to sustain pedal) @@ -943,9 +931,9 @@ public: expectEquals (test.noteKeyStateChangedCallCounter, 3); test.noteOn (4, 51, MPEValue::from7BitInt (100)); expectEquals (test.getNumPlayingNotes(), 3); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDownAndSustained); - expectNote (test.getNote (4, 51), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDownAndSustained); + expectNote (test.getNote (4, 51), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteKeyStateChangedCallCounter, 3); // note-off should not turn off sustained notes inside the same zone, @@ -954,7 +942,7 @@ public: test.noteOff (4, 51, MPEValue::from7BitInt (100)); test.noteOff (10, 60, MPEValue::from7BitInt (100)); // not affected! expectEquals (test.getNumPlayingNotes(), 1); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::sustained); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::sustained); expectEquals (test.noteReleasedCallCounter, 2); expectEquals (test.noteKeyStateChangedCallCounter, 4); @@ -1055,22 +1043,22 @@ public: // applying pressure on a per-note channel should modulate one note test.pressure (3, MPEValue::from7BitInt (33)); expectNote (test.getNote (3, 60), 100, 33, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (4, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (4, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.notePressureChangedCallCounter, 1); // applying pressure on a master channel should modulate all notes in this zone test.pressure (2, MPEValue::from7BitInt (44)); expectNote (test.getNote (3, 60), 100, 44, 8192, 64, MPENote::keyDown); expectNote (test.getNote (4, 60), 100, 44, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.notePressureChangedCallCounter, 3); // applying pressure on an unrelated channel should be ignored test.pressure (1, MPEValue::from7BitInt (55)); expectNote (test.getNote (3, 60), 100, 44, 8192, 64, MPENote::keyDown); expectNote (test.getNote (4, 60), 100, 44, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.notePressureChangedCallCounter, 3); } { @@ -1081,7 +1069,7 @@ public: test.noteOn (3, 60, MPEValue::from7BitInt (100)); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.pressure (3, MPEValue::from7BitInt (66)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); expectNote (test.getNote (3, 61), 100, 66, 8192, 64, MPENote::keyDown); expectEquals (test.notePressureChangedCallCounter, 1); } @@ -1099,6 +1087,49 @@ public: expectNote (test.getNote (3, 60), 100, 77, 8192, 64, MPENote::keyDown); expectEquals (test.notePressureChangedCallCounter, 1); } + { + UnitTestInstrument test; + test.setZoneLayout (testLayout); + + // if no pressure is sent before note-on, default = 0 should be used + test.noteOn (3, 60, MPEValue::from7BitInt (100)); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + } + { + UnitTestInstrument test; + test.setZoneLayout (testLayout); + + // if pressure is sent before note-on, use that + test.pressure (3, MPEValue::from7BitInt (77)); + test.noteOn (3, 60, MPEValue::from7BitInt (100)); + expectNote (test.getNote (3, 60), 100, 77, 8192, 64, MPENote::keyDown); + } + { + UnitTestInstrument test; + test.setZoneLayout (testLayout); + + // if pressure is sent before note-on, but it belonged to another note + // on the same channel that has since been turned off, use default = 0 + test.noteOn (3, 61, MPEValue::from7BitInt (100)); + test.pressure (3, MPEValue::from7BitInt (77)); + test.noteOff (3, 61, MPEValue::from7BitInt (100)); + test.noteOn (3, 60, MPEValue::from7BitInt (100)); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + } + { + UnitTestInstrument test; + test.setZoneLayout (testLayout); + + // edge case: two notes on the same channel simultaneously. the second one should use + // pressure = 0 initially but then react to additional pressure messages + test.noteOn (3, 61, MPEValue::from7BitInt (100)); + test.pressure (3, MPEValue::from7BitInt (77)); + test.noteOn (3, 60, MPEValue::from7BitInt (100)); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + test.pressure (3, MPEValue::from7BitInt (78)); + expectNote (test.getNote (3, 60), 100, 78, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 61), 100, 77, 8192, 64, MPENote::keyDown); + } } beginTest ("pitchbend"); @@ -1113,9 +1144,9 @@ public: // applying pitchbend on a per-note channel should modulate one note test.pitchbend (3, MPEValue::from14BitInt (1111)); - expectNote (test.getNote (3, 60), 100, 100, 1111, 64, MPENote::keyDown); - expectNote (test.getNote (4, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 1111, 64, MPENote::keyDown); + expectNote (test.getNote (4, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.notePitchbendChangedCallCounter, 1); // applying pitchbend on a master channel should be ignored for the @@ -1123,16 +1154,16 @@ public: // Note: noteChanged will be called anyway for notes in that zone // because the total pitchbend for those notes has changed test.pitchbend (2, MPEValue::from14BitInt (2222)); - expectNote (test.getNote (3, 60), 100, 100, 1111, 64, MPENote::keyDown); - expectNote (test.getNote (4, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 1111, 64, MPENote::keyDown); + expectNote (test.getNote (4, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.notePitchbendChangedCallCounter, 3); // applying pitchbend on an unrelated channel should do nothing. test.pitchbend (1, MPEValue::from14BitInt (3333)); - expectNote (test.getNote (3, 60), 100, 100, 1111, 64, MPENote::keyDown); - expectNote (test.getNote (4, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 1111, 64, MPENote::keyDown); + expectNote (test.getNote (4, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.notePitchbendChangedCallCounter, 3); } { @@ -1143,8 +1174,8 @@ public: test.noteOn (3, 60, MPEValue::from7BitInt (100)); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.pitchbend (3, MPEValue::from14BitInt (4444)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 61), 100, 100, 4444, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 61), 100, 0, 4444, 64, MPENote::keyDown); expectEquals (test.notePitchbendChangedCallCounter, 1); } { @@ -1158,7 +1189,7 @@ public: test.noteOff (3, 61, MPEValue::from7BitInt (100)); test.pitchbend (3, MPEValue::from14BitInt (5555)); expectEquals (test.getNumPlayingNotes(), 1); - expectNote (test.getNote (3, 60), 100, 100, 5555, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 5555, 64, MPENote::keyDown); expectEquals (test.notePitchbendChangedCallCounter, 1); } { @@ -1177,14 +1208,14 @@ public: test.sustainPedal (2, true); test.noteOff (3, 60, MPEValue::from7BitInt (64)); expectEquals (test.getNumPlayingNotes(), 1); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::sustained); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::sustained); expectEquals (test.noteKeyStateChangedCallCounter, 2); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.pitchbend (3, MPEValue::from14BitInt (6666)); expectEquals (test.getNumPlayingNotes(), 2); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::sustained); - expectNote (test.getNote (3, 61), 100, 100, 6666, 64, MPENote::keyDownAndSustained); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::sustained); + expectNote (test.getNote (3, 61), 100, 0, 6666, 64, MPENote::keyDownAndSustained); expectEquals (test.notePitchbendChangedCallCounter, 1); } { @@ -1201,11 +1232,11 @@ public: test.noteOn (3, 60, MPEValue::from7BitInt (100)); test.pitchbend (3, MPEValue::from14BitInt (5555)); - expectNote (test.getNote (3, 60), 100, 100, 5555, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 5555, 64, MPENote::keyDown); test.noteOff (3, 60, MPEValue::from7BitInt (100)); test.noteOn (3, 60, MPEValue::from7BitInt (100)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); } { // applying per-note pitchbend should set the note's totalPitchbendInSemitones @@ -1297,23 +1328,23 @@ public: // modulating timbre on a per-note channel should modulate one note test.timbre (3, MPEValue::from7BitInt (33)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 33, MPENote::keyDown); - expectNote (test.getNote (4, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 33, MPENote::keyDown); + expectNote (test.getNote (4, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteTimbreChangedCallCounter, 1); // modulating timbre on a master channel should modulate all notes in this zone test.timbre (2, MPEValue::from7BitInt (44)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 44, MPENote::keyDown); - expectNote (test.getNote (4, 60), 100, 100, 8192, 44, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 44, MPENote::keyDown); + expectNote (test.getNote (4, 60), 100, 0, 8192, 44, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteTimbreChangedCallCounter, 3); // modulating timbre on an unrelated channel should be ignored test.timbre (1, MPEValue::from7BitInt (55)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 44, MPENote::keyDown); - expectNote (test.getNote (4, 60), 100, 100, 8192, 44, MPENote::keyDown); - expectNote (test.getNote (10, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 44, MPENote::keyDown); + expectNote (test.getNote (4, 60), 100, 0, 8192, 44, MPENote::keyDown); + expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteTimbreChangedCallCounter, 3); } { @@ -1324,8 +1355,8 @@ public: test.noteOn (3, 60, MPEValue::from7BitInt (100)); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.timbre (3, MPEValue::from7BitInt (66)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 61), 100, 100, 8192, 66, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 61), 100, 0, 8192, 66, MPENote::keyDown); expectEquals (test.noteTimbreChangedCallCounter, 1); } { @@ -1339,7 +1370,7 @@ public: test.noteOff (3, 61, MPEValue::from7BitInt (100)); test.timbre (3, MPEValue::from7BitInt (77)); expectEquals (test.getNumPlayingNotes(), 1); - expectNote (test.getNote (3, 60), 100, 100, 8192, 77, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 77, MPENote::keyDown); expectEquals (test.noteTimbreChangedCallCounter, 1); } { @@ -1349,11 +1380,11 @@ public: // Zsolt's edge case for timbre test.noteOn (3, 60, MPEValue::from7BitInt (100)); test.timbre (3, MPEValue::from7BitInt (42)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 42, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 42, MPENote::keyDown); test.noteOff (3, 60, MPEValue::from7BitInt (100)); test.noteOn (3, 60, MPEValue::from7BitInt (100)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); } } @@ -1369,8 +1400,8 @@ public: test.noteOn (3, 62, MPEValue::from7BitInt (100)); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.pressure (3, MPEValue::from7BitInt (99)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 62), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 62), 100, 0, 8192, 64, MPENote::keyDown); expectNote (test.getNote (3, 61), 100, 99, 8192, 64, MPENote::keyDown); expectEquals (test.notePressureChangedCallCounter, 1); } @@ -1385,8 +1416,8 @@ public: test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.pressure (3, MPEValue::from7BitInt (99)); expectNote (test.getNote (3, 60), 100, 99, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 62), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 61), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 62), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 61), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.notePressureChangedCallCounter, 1); } { @@ -1399,9 +1430,9 @@ public: test.noteOn (3, 62, MPEValue::from7BitInt (100)); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.pressure (3, MPEValue::from7BitInt (99)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); expectNote (test.getNote (3, 62), 100, 99, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 61), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 61), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.notePressureChangedCallCounter, 1); } { @@ -1433,9 +1464,9 @@ public: test.noteOn (3, 62, MPEValue::from7BitInt (100)); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.pitchbend (3, MPEValue::from14BitInt (9999)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 62), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 61), 100, 100, 9999, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 62), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 61), 100, 0, 9999, 64, MPENote::keyDown); expectEquals (test.notePitchbendChangedCallCounter, 1); } { @@ -1448,9 +1479,9 @@ public: test.noteOn (3, 62, MPEValue::from7BitInt (100)); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.pitchbend (3, MPEValue::from14BitInt (9999)); - expectNote (test.getNote (3, 60), 100, 100, 9999, 64, MPENote::keyDown); - expectNote (test.getNote (3, 62), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 61), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 9999, 64, MPENote::keyDown); + expectNote (test.getNote (3, 62), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 61), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.notePitchbendChangedCallCounter, 1); } { @@ -1463,9 +1494,9 @@ public: test.noteOn (3, 62, MPEValue::from7BitInt (100)); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.pitchbend (3, MPEValue::from14BitInt (9999)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 62), 100, 100, 9999, 64, MPENote::keyDown); - expectNote (test.getNote (3, 61), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 62), 100, 0, 9999, 64, MPENote::keyDown); + expectNote (test.getNote (3, 61), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.notePitchbendChangedCallCounter, 1); } { @@ -1478,9 +1509,9 @@ public: test.noteOn (3, 62, MPEValue::from7BitInt (100)); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.pitchbend (3, MPEValue::from14BitInt (9999)); - expectNote (test.getNote (3, 60), 100, 100, 9999, 64, MPENote::keyDown); - expectNote (test.getNote (3, 62), 100, 100, 9999, 64, MPENote::keyDown); - expectNote (test.getNote (3, 61), 100, 100, 9999, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 9999, 64, MPENote::keyDown); + expectNote (test.getNote (3, 62), 100, 0, 9999, 64, MPENote::keyDown); + expectNote (test.getNote (3, 61), 100, 0, 9999, 64, MPENote::keyDown); expectEquals (test.notePitchbendChangedCallCounter, 3); } } @@ -1497,9 +1528,9 @@ public: test.noteOn (3, 62, MPEValue::from7BitInt (100)); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.timbre (3, MPEValue::from7BitInt (99)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 62), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 61), 100, 100, 8192, 99, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 62), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 61), 100, 0, 8192, 99, MPENote::keyDown); expectEquals (test.noteTimbreChangedCallCounter, 1); } { @@ -1512,9 +1543,9 @@ public: test.noteOn (3, 62, MPEValue::from7BitInt (100)); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.timbre (3, MPEValue::from7BitInt (99)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 99, MPENote::keyDown); - expectNote (test.getNote (3, 62), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 61), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 99, MPENote::keyDown); + expectNote (test.getNote (3, 62), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 61), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteTimbreChangedCallCounter, 1); } { @@ -1527,9 +1558,9 @@ public: test.noteOn (3, 62, MPEValue::from7BitInt (100)); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.timbre (3, MPEValue::from7BitInt (99)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (3, 62), 100, 100, 8192, 99, MPENote::keyDown); - expectNote (test.getNote (3, 61), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 62), 100, 0, 8192, 99, MPENote::keyDown); + expectNote (test.getNote (3, 61), 100, 0, 8192, 64, MPENote::keyDown); expectEquals (test.noteTimbreChangedCallCounter, 1); } { @@ -1542,9 +1573,9 @@ public: test.noteOn (3, 62, MPEValue::from7BitInt (100)); test.noteOn (3, 61, MPEValue::from7BitInt (100)); test.timbre (3, MPEValue::from7BitInt (99)); - expectNote (test.getNote (3, 60), 100, 100, 8192, 99, MPENote::keyDown); - expectNote (test.getNote (3, 62), 100, 100, 8192, 99, MPENote::keyDown); - expectNote (test.getNote (3, 61), 100, 100, 8192, 99, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 99, MPENote::keyDown); + expectNote (test.getNote (3, 62), 100, 0, 8192, 99, MPENote::keyDown); + expectNote (test.getNote (3, 61), 100, 0, 8192, 99, MPENote::keyDown); expectEquals (test.noteTimbreChangedCallCounter, 3); } } @@ -1732,7 +1763,7 @@ public: expectEquals (test.getNumPlayingNotes(), 0); } - beginTest ("default getInitial...ForNoteOn"); + beginTest ("default initial values for pitchbend and timbre"); { MPEInstrument test; test.setZoneLayout (testLayout); @@ -1747,16 +1778,7 @@ public: test.noteOn (3, 60, MPEValue::from7BitInt (100)); - expectNote (test.getMostRecentNote (3), 100, 100, 3333, 66, MPENote::keyDown); - } - - beginTest ("overriding getInitial...ForNoteOn"); - { - CustomInitialValuesTest<33, 4444, 55> test; - test.setZoneLayout (testLayout); - - test.noteOn (3, 61, MPEValue::from7BitInt (100)); - expectNote (test.getMostRecentNote (3), 100, 33, 4444, 55, MPENote::keyDown); + expectNote (test.getMostRecentNote (3), 100, 0, 3333, 66, MPENote::keyDown); } beginTest ("Legacy mode"); @@ -1814,10 +1836,10 @@ public: test.pressure (2, MPEValue::from7BitInt (88)); test.timbre (15, MPEValue::from7BitInt (77)); - expectNote (test.getNote (1, 60), 100, 100, 9999, 64, MPENote::keyDown); + expectNote (test.getNote (1, 60), 100, 0, 9999, 64, MPENote::keyDown); expectNote (test.getNote (2, 60), 100, 88, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (15, 60), 100, 100, 8192, 77, MPENote::keyDown); - expectNote (test.getNote (16, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (15, 60), 100, 0, 8192, 77, MPENote::keyDown); + expectNote (test.getNote (16, 60), 100, 0, 8192, 64, MPENote::keyDown); // note off should work in legacy mode @@ -1843,10 +1865,10 @@ public: test.noteOn (16, 60, MPEValue::from7BitInt (100)); expectEquals (test.getNumPlayingNotes(), 4); - expectNote (test.getNote (3, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (4, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (6, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (7, 60), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (4, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (6, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (7, 60), 100, 0, 8192, 64, MPENote::keyDown); } { // tracking mode in legacy mode @@ -1859,9 +1881,9 @@ public: test.noteOn (1, 62, MPEValue::from7BitInt (100)); test.noteOn (1, 61, MPEValue::from7BitInt (100)); test.pitchbend (1, MPEValue::from14BitInt (9999)); - expectNote (test.getNote (1, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (1, 61), 100, 100, 9999, 64, MPENote::keyDown); - expectNote (test.getNote (1, 62), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (1, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (1, 61), 100, 0, 9999, 64, MPENote::keyDown); + expectNote (test.getNote (1, 62), 100, 0, 8192, 64, MPENote::keyDown); } { UnitTestInstrument test; @@ -1872,9 +1894,9 @@ public: test.noteOn (1, 62, MPEValue::from7BitInt (100)); test.noteOn (1, 61, MPEValue::from7BitInt (100)); test.pitchbend (1, MPEValue::from14BitInt (9999)); - expectNote (test.getNote (1, 60), 100, 100, 9999, 64, MPENote::keyDown); - expectNote (test.getNote (1, 61), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (1, 62), 100, 100, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (1, 60), 100, 0, 9999, 64, MPENote::keyDown); + expectNote (test.getNote (1, 61), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (1, 62), 100, 0, 8192, 64, MPENote::keyDown); } { UnitTestInstrument test; @@ -1885,9 +1907,9 @@ public: test.noteOn (1, 62, MPEValue::from7BitInt (100)); test.noteOn (1, 61, MPEValue::from7BitInt (100)); test.pitchbend (1, MPEValue::from14BitInt (9999)); - expectNote (test.getNote (1, 60), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (1, 61), 100, 100, 8192, 64, MPENote::keyDown); - expectNote (test.getNote (1, 62), 100, 100, 9999, 64, MPENote::keyDown); + expectNote (test.getNote (1, 60), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (1, 61), 100, 0, 8192, 64, MPENote::keyDown); + expectNote (test.getNote (1, 62), 100, 0, 9999, 64, MPENote::keyDown); } { UnitTestInstrument test; @@ -1898,9 +1920,9 @@ public: test.noteOn (1, 62, MPEValue::from7BitInt (100)); test.noteOn (1, 61, MPEValue::from7BitInt (100)); test.pitchbend (1, MPEValue::from14BitInt (9999)); - expectNote (test.getNote (1, 60), 100, 100, 9999, 64, MPENote::keyDown); - expectNote (test.getNote (1, 61), 100, 100, 9999, 64, MPENote::keyDown); - expectNote (test.getNote (1, 62), 100, 100, 9999, 64, MPENote::keyDown); + expectNote (test.getNote (1, 60), 100, 0, 9999, 64, MPENote::keyDown); + expectNote (test.getNote (1, 61), 100, 0, 9999, 64, MPENote::keyDown); + expectNote (test.getNote (1, 62), 100, 0, 9999, 64, MPENote::keyDown); } } { @@ -1924,7 +1946,7 @@ public: test.noteOff (1, 60, MPEValue::from7BitInt (100)); expectEquals (test.getNumPlayingNotes(), 1); - expectNote (test.getNote (1, 60), 100, 100, 8192, 64, MPENote::sustained); + expectNote (test.getNote (1, 60), 100, 0, 8192, 64, MPENote::sustained); test.sustainPedal (1, false); expectEquals (test.getNumPlayingNotes(), 0); @@ -1947,7 +1969,7 @@ public: test.noteOff (2, 61, MPEValue::from7BitInt (100)); expectEquals (test.getNumPlayingNotes(), 1); - expectNote (test.getNote (1, 60), 100, 100, 8192, 64, MPENote::sustained); + expectNote (test.getNote (1, 60), 100, 0, 8192, 64, MPENote::sustained); test.sostenutoPedal (1, false); expectEquals (test.getNumPlayingNotes(), 0); @@ -1976,7 +1998,7 @@ public: } private: - //========================================================================== + //============================================================================== /* This mock class is used for unit testing whether the methods of MPEInstrument are called correctly. */ @@ -2074,7 +2096,7 @@ private: ScopedPointer lastNoteFinished; private: - //====================================================================== + //============================================================================== void noteAdded (MPENote) override { noteAddedCallCounter++; } void notePressureChanged (MPENote) override { notePressureChangedCallCounter++; } @@ -2089,27 +2111,7 @@ private: } }; - //========================================================================== - template - class CustomInitialValuesTest : public MPEInstrument - { - MPEValue getInitialPitchbendForNoteOn (int, int, MPEValue) const override - { - return MPEValue::from14BitInt (initial14BitPitchbend); - } - - MPEValue getInitialPressureForNoteOn (int, int, MPEValue) const override - { - return MPEValue::from7BitInt (initial7BitPressure); - } - - MPEValue getInitialTimbreForNoteOn (int, int, MPEValue) const override - { - return MPEValue::from7BitInt (initial7BitTimbre); - } - }; - - //========================================================================== + //============================================================================== void expectNote (MPENote noteToTest, int noteOnVelocity7Bit, int pressure7Bit, @@ -2141,7 +2143,7 @@ private: expect (std::fabs (expected - actual) < maxAbsoluteError); } - //========================================================================== + //============================================================================== MPEZoneLayout testLayout; }; diff --git a/modules/juce_audio_basics/mpe/juce_MPEInstrument.h b/modules/juce_audio_basics/mpe/juce_MPEInstrument.h index db725709..6303f22c 100644 --- a/modules/juce_audio_basics/mpe/juce_MPEInstrument.h +++ b/modules/juce_audio_basics/mpe/juce_MPEInstrument.h @@ -68,7 +68,7 @@ public: /** Destructor. */ virtual ~MPEInstrument(); - //========================================================================== + //============================================================================== /** Returns the current zone layout of the instrument. This happens by value, to enforce thread-safety and class invariants. @@ -98,7 +98,7 @@ public: */ bool isMasterChannel (int midiChannel) const noexcept; - //========================================================================== + //============================================================================== /** The MPE note tracking mode. In case there is more than one note playing simultaneously on the same MIDI channel, this determines which of these notes will be modulated by an incoming MPE message on that channel @@ -123,7 +123,7 @@ public: /** Set the MPE tracking mode for the timbre dimension. */ void setTimbreTrackingMode (TrackingMode modeToUse); - //========================================================================== + //============================================================================== /** Process a MIDI message and trigger the appropriate method calls (noteOn, noteOff etc.) @@ -132,7 +132,7 @@ public: */ virtual void processNextMidiEvent (const MidiMessage& message); - //========================================================================== + //============================================================================== /** Request a note-on on the given channel, with the given initial note number and velocity. If the message arrives on a valid note channel, this will create a @@ -187,7 +187,7 @@ public: */ void releaseAllNotes(); - //========================================================================== + //============================================================================== /** Returns the number of MPE notes currently played by the instrument. */ @@ -221,7 +221,7 @@ public: */ MPENote getMostRecentNoteOtherThan (MPENote otherThanThisNote) const noexcept; - //========================================================================== + //============================================================================== /** Derive from this class to be informed about any changes in the expressive MIDI notes played by this instrument. @@ -230,14 +230,11 @@ public: Therefore you should never do heavy work such as graphics rendering etc. inside those callbacks. */ - class Listener + class JUCE_API Listener { public: - /** Constructor. */ - Listener(); - /** Destructor. */ - virtual ~Listener(); + virtual ~Listener() {} /** Implement this callback to be informed whenever a new expressive MIDI note is triggered. @@ -278,14 +275,14 @@ public: virtual void noteReleased (MPENote finishedNote) = 0; }; - //========================================================================== + //============================================================================== /** Adds a listener. */ - void addListener (Listener* const listenerToAdd) noexcept; + void addListener (Listener* listenerToAdd) noexcept; /** Removes a listener. */ - void removeListener (Listener* const listenerToRemove) noexcept; + void removeListener (Listener* listenerToRemove) noexcept; - //========================================================================== + //============================================================================== /** Puts the instrument into legacy mode. As a side effect, this will discard all currently playing notes, and call noteReleased for all of them. @@ -323,38 +320,8 @@ public: /** Re-sets the pitchbend range in semitones (0-96) to be used for notes when in legacy mode. */ void setLegacyModePitchbendRange (int pitchbendRange); -protected: - //========================================================================== - /** This method defines what initial pitchbend value should be used for newly - triggered notes. The default is to use the last pitchbend value - that has been received on the same MIDI channel (or no pitchbend - if no pitchbend messages have been received so far). - Override this method if you need different behaviour. - */ - virtual MPEValue getInitialPitchbendForNoteOn (int midiChannel, - int midiNoteNumber, - MPEValue midiNoteOnVelocity) const; - - /** This method defines what initial pressure value should be used for newly - triggered notes. The default is to re-use the note-on velocity value. - Override this method if you need different behaviour. - */ - virtual MPEValue getInitialPressureForNoteOn (int midiChannel, - int midiNoteNumber, - MPEValue midiNoteOnVelocity) const; - - /** This method defines what initial timbre value should be used for newly - triggered notes. The default is to use the last timbre value that has - that has been received on the same MIDI channel (or a neutral centred value - if no pitchbend messages have been received so far). - Override this method if you need different behaviour. - */ - virtual MPEValue getInitialTimbreForNoteOn (int midiChannel, - int midiNoteNumber, - MPEValue midiNoteOnVelocity) const; - private: - //========================================================================== + //============================================================================== CriticalSection lock; Array notes; MPEZoneLayout zoneLayout; @@ -387,6 +354,7 @@ private: void updateDimensionMaster (MPEZone&, MPEDimension&, MPEValue); void updateDimensionForNote (MPENote&, MPEDimension&, MPEValue); void callListenersDimensionChanged (MPENote&, MPEDimension&); + MPEValue getInitialValueForNewNote (int midiChannel, MPEDimension&) const; void processMidiNoteOnMessage (const MidiMessage&); void processMidiNoteOffMessage (const MidiMessage&); diff --git a/modules/juce_audio_basics/mpe/juce_MPEMessages.cpp b/modules/juce_audio_basics/mpe/juce_MPEMessages.cpp index 5102e550..9759678d 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(), @@ -162,7 +161,7 @@ public: } private: - //========================================================================== + //============================================================================== void testMidiBuffer (MidiBuffer& buffer, const uint8* expectedBytes, int expectedBytesSize) { uint8 actualBytes[128] = { 0 }; @@ -171,7 +170,7 @@ private: expectEquals (std::memcmp (actualBytes, expectedBytes, (std::size_t) expectedBytesSize), 0); } - //========================================================================== + //============================================================================== void extractRawBinaryData (const MidiBuffer& midiBuffer, const uint8* bufferToCopyTo, std::size_t maxBytes) { std::size_t pos = 0; diff --git a/modules/juce_audio_basics/mpe/juce_MPENote.cpp b/modules/juce_audio_basics/mpe/juce_MPENote.cpp index f07fe163..9b62cc89 100644 --- a/modules/juce_audio_basics/mpe/juce_MPENote.cpp +++ b/modules/juce_audio_basics/mpe/juce_MPENote.cpp @@ -71,7 +71,7 @@ MPENote::MPENote() noexcept //============================================================================== bool MPENote::isValid() const noexcept { - return midiChannel > 0 && midiChannel <= 16 && initialNote >= 0 && initialNote <= 127; + return midiChannel > 0 && midiChannel <= 16 && initialNote < 128; } //============================================================================== @@ -103,7 +103,7 @@ class MPENoteTests : public UnitTest public: MPENoteTests() : UnitTest ("MPENote class") {} - //========================================================================== + //============================================================================== void runTest() override { beginTest ("getFrequencyInHertz"); @@ -116,7 +116,7 @@ public: } private: - //========================================================================== + //============================================================================== void expectEqualsWithinOneCent (double frequencyInHertzActual, double frequencyInHertzExpected) { diff --git a/modules/juce_audio_basics/mpe/juce_MPENote.h b/modules/juce_audio_basics/mpe/juce_MPENote.h index 9e979a41..7887e5ae 100644 --- a/modules/juce_audio_basics/mpe/juce_MPENote.h +++ b/modules/juce_audio_basics/mpe/juce_MPENote.h @@ -39,7 +39,7 @@ */ struct JUCE_API MPENote { - //========================================================================== + //============================================================================== enum KeyState { off = 0, @@ -48,7 +48,7 @@ struct JUCE_API MPENote keyDownAndSustained = 3 }; - //========================================================================== + //============================================================================== /** Constructor. @param midiChannel The MIDI channel of the note, between 2 and 16. @@ -88,7 +88,7 @@ struct JUCE_API MPENote /** Checks whether the MPE note is valid. */ bool isValid() const noexcept; - //========================================================================== + //============================================================================== // Invariants that define the note. /** A unique ID. Useful to distinguish the note from other simultaneously @@ -107,7 +107,7 @@ struct JUCE_API MPENote */ uint8 initialNote; - //========================================================================== + //============================================================================== // The five dimensions of continuous expressive control /** The velocity ("strike") of the note-on. @@ -146,7 +146,7 @@ struct JUCE_API MPENote */ MPEValue noteOffVelocity; - //========================================================================== + //============================================================================== /** Current effective pitchbend of the note in units of semitones, relative to initialNote. You should use this to compute the actual effective pitch of the note. This value is computed and set by an MPEInstrument to the @@ -163,7 +163,7 @@ struct JUCE_API MPENote */ KeyState keyState; - //========================================================================== + //============================================================================== /** Returns the current frequency of the note in Hertz. This is the a sum of the initialNote and the totalPitchbendInSemitones, converted to Hertz. */ diff --git a/modules/juce_audio_basics/mpe/juce_MPESynthesiser.h b/modules/juce_audio_basics/mpe/juce_MPESynthesiser.h index cbca499e..151b21a5 100644 --- a/modules/juce_audio_basics/mpe/juce_MPESynthesiser.h +++ b/modules/juce_audio_basics/mpe/juce_MPESynthesiser.h @@ -55,7 +55,7 @@ class JUCE_API MPESynthesiser : public MPESynthesiserBase { public: - //========================================================================== + //============================================================================== /** Constructor. You'll need to add some voices before it'll make any sound. @@ -75,7 +75,7 @@ public: /** Destructor. */ ~MPESynthesiser(); - //========================================================================== + //============================================================================== /** Deletes all voices. */ void clearVoices(); @@ -116,7 +116,7 @@ public: */ virtual void turnOffAllVoices (bool allowTailOff); - //========================================================================== + //============================================================================== /** If set to true, then the synth will try to take over an existing voice if it runs out and needs to play another note. @@ -128,7 +128,7 @@ public: /** Returns true if note-stealing is enabled. */ bool isVoiceStealingEnabled() const noexcept { return shouldStealVoices; } - //========================================================================== + //============================================================================== /** Tells the synthesiser what the sample rate is for the audio it's being used to render. This overrides the implementation in MPESynthesiserBase, to additionally @@ -137,7 +137,7 @@ public: */ void setCurrentPlaybackSampleRate (double newRate) override; - //========================================================================== + //============================================================================== /** Handle incoming MIDI events. This method will be called automatically according to the MIDI data passed @@ -238,7 +238,7 @@ protected: */ virtual void noteKeyStateChanged (MPENote changedNote) override; - //========================================================================== + //============================================================================== /** This will simply call renderNextBlock for each currently active voice and fill the buffer with the sum. Override this method if you need to do more work to render your audio. @@ -255,7 +255,7 @@ protected: int startSample, int numSamples) override; - //========================================================================== + //============================================================================== /** Searches through the voices to find one that's not currently playing, and which can play the given MPE note. @@ -298,11 +298,11 @@ protected: */ void stopVoice (MPESynthesiserVoice* voice, MPENote noteToStop, bool allowTailOff); - //========================================================================== + //============================================================================== OwnedArray voices; private: - //========================================================================== + //============================================================================== bool shouldStealVoices; CriticalSection voicesLock; diff --git a/modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp b/modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp index 44c679b8..9c0c1a18 100644 --- a/modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp +++ b/modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp @@ -100,10 +100,11 @@ void MPESynthesiserBase::renderNextBlock (AudioBuffer& outputAudio, MidiBuffer::Iterator midiIterator (inputMidi); midiIterator.setNextSamplePosition (startSample); + bool firstEvent = true; int midiEventPos; MidiMessage m; - const ScopedLock sl (renderAudioLock); + const ScopedLock sl (noteStateLock); while (numSamples > 0) { @@ -122,12 +123,14 @@ void MPESynthesiserBase::renderNextBlock (AudioBuffer& outputAudio, break; } - if (samplesToNextMidiMessage < minimumSubBlockSize) + if (samplesToNextMidiMessage < minimumSubBlockSize && ! firstEvent) { handleMidiEvent (m); continue; } + firstEvent = false; + renderNextSubBlock (outputAudio, startSample, samplesToNextMidiMessage); handleMidiEvent (m); startSample += samplesToNextMidiMessage; @@ -147,7 +150,7 @@ void MPESynthesiserBase::setCurrentPlaybackSampleRate (const double newRate) { if (sampleRate != newRate) { - const ScopedLock sl (renderAudioLock); + const ScopedLock sl (noteStateLock); instrument->releaseAllNotes(); sampleRate = newRate; } diff --git a/modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h b/modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h index 7ea8abda..ad492845 100644 --- a/modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h +++ b/modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h @@ -47,7 +47,7 @@ struct JUCE_API MPESynthesiserBase : public MPEInstrument::Listener { public: - //========================================================================== + //============================================================================== /** Constructor. */ MPESynthesiserBase(); @@ -61,7 +61,7 @@ public: */ MPESynthesiserBase (MPEInstrument* instrument); - //========================================================================== + //============================================================================== /** Returns the synthesiser's internal MPE zone layout. This happens by value, to enforce thread-safety and class invariants. */ @@ -73,7 +73,7 @@ public: */ void setZoneLayout (MPEZoneLayout newLayout); - //========================================================================== + //============================================================================== /** Tells the synthesiser what the sample rate is for the audio it's being used to render. */ @@ -84,7 +84,7 @@ public: */ double getSampleRate() const noexcept { return sampleRate; } - //========================================================================== + //============================================================================== /** Creates the next block of audio output. Call this to make sound. This will chop up the AudioBuffer into subBlock @@ -99,7 +99,7 @@ public: int startSample, int numSamples); - //========================================================================== + //============================================================================== /** Handle incoming MIDI events (called from renderNextBlock). The default implementation provided here simply forwards everything @@ -113,7 +113,7 @@ public: */ virtual void handleMidiEvent (const MidiMessage&); - //========================================================================== + //============================================================================== /** Sets a minimum limit on the size to which audio sub-blocks will be divided when rendering. When rendering, the audio blocks that are passed into renderNextBlock() will be split up @@ -130,7 +130,7 @@ public: */ void setMinimumRenderingSubdivisionSize (int numSamples) noexcept; - //========================================================================== + //============================================================================== /** Puts the synthesiser into legacy mode. @param pitchbendRange The note pitchbend range in semitones to use when in legacy mode. @@ -160,7 +160,7 @@ public: void setLegacyModePitchbendRange (int pitchbendRange); protected: - //========================================================================== + //============================================================================== /** Implement this method to render your audio inside. @see renderNextBlock */ @@ -176,14 +176,13 @@ protected: int /*numSamples*/) {} protected: - //========================================================================== + //============================================================================== /** @internal */ ScopedPointer instrument; - /** @internal */ - CriticalSection renderAudioLock; private: - //========================================================================== + //============================================================================== + CriticalSection noteStateLock; double sampleRate; int minimumSubBlockSize; diff --git a/modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h b/modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h index 8fa3e126..ce3149af 100644 --- a/modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h +++ b/modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h @@ -37,7 +37,7 @@ class JUCE_API MPESynthesiserVoice { public: - //======================================================================== + //============================================================================== /** Constructor. */ MPESynthesiserVoice(); @@ -160,7 +160,7 @@ public: bool wasStartedBefore (const MPESynthesiserVoice& other) const noexcept; protected: - //========================================================================== + //============================================================================== /** Resets the state of this voice after a sound has finished playing. The subclass must call this when it finishes playing a note and becomes available @@ -175,12 +175,12 @@ protected: */ void clearCurrentNote() noexcept; - //========================================================================== + //============================================================================== double currentSampleRate; MPENote currentlyPlayingNote; private: - //========================================================================== + //============================================================================== friend class MPESynthesiser; uint32 noteStartTime; diff --git a/modules/juce_audio_basics/mpe/juce_MPEValue.cpp b/modules/juce_audio_basics/mpe/juce_MPEValue.cpp index c1981fa7..c6cc0efb 100644 --- a/modules/juce_audio_basics/mpe/juce_MPEValue.cpp +++ b/modules/juce_audio_basics/mpe/juce_MPEValue.cpp @@ -144,7 +144,7 @@ public: } private: - //========================================================================== + //============================================================================== void expectValuesConsistent (MPEValue value, int expectedValueAs7BitInt, int expectedValueAs14BitInt, @@ -157,7 +157,7 @@ private: expectFloatWithinRelativeError (value.asUnsignedFloat(), expectedValueAsUnsignedFloat, 0.0001f); } - //========================================================================== + //============================================================================== void expectFloatWithinRelativeError (float actualValue, float expectedValue, float maxRelativeError) { const float maxAbsoluteError = jmax (1.0f, std::fabs (expectedValue)) * maxRelativeError; diff --git a/modules/juce_audio_basics/mpe/juce_MPEValue.h b/modules/juce_audio_basics/mpe/juce_MPEValue.h index e137c46e..fc6304fc 100644 --- a/modules/juce_audio_basics/mpe/juce_MPEValue.h +++ b/modules/juce_audio_basics/mpe/juce_MPEValue.h @@ -37,7 +37,7 @@ class JUCE_API MPEValue { public: - //========================================================================== + //============================================================================== /** Default constructor. Constructs an MPEValue corresponding to the centre value. */ @@ -87,7 +87,7 @@ public: bool operator!= (const MPEValue& other) const noexcept; private: - //========================================================================== + //============================================================================== MPEValue (int normalisedValue); int normalisedValue; }; diff --git a/modules/juce_audio_basics/mpe/juce_MPEZone.cpp b/modules/juce_audio_basics/mpe/juce_MPEZone.cpp index 54b2fc2b..ec8e00fb 100644 --- a/modules/juce_audio_basics/mpe/juce_MPEZone.cpp +++ b/modules/juce_audio_basics/mpe/juce_MPEZone.cpp @@ -144,6 +144,20 @@ bool MPEZone::truncateToFit (MPEZone other) noexcept return true; } +//============================================================================== +bool MPEZone::operator== (const MPEZone& other) const noexcept +{ + return masterChannel == other.masterChannel + && numNoteChannels == other.numNoteChannels + && perNotePitchbendRange == other.perNotePitchbendRange + && masterPitchbendRange == other.masterPitchbendRange; +} + +bool MPEZone::operator!= (const MPEZone& other) const noexcept +{ + return ! operator== (other); +} + //============================================================================== //============================================================================== #if JUCE_UNIT_TESTS @@ -270,7 +284,7 @@ public: } private: - //========================================================================== + //============================================================================== void testOverlapsWith (int masterChannelFirst, int numNoteChannelsFirst, int masterChannelSecond, int numNoteChannelsSecond, bool expectedRetVal) @@ -282,7 +296,7 @@ private: expect (second.overlapsWith (first) == expectedRetVal); } - //========================================================================== + //============================================================================== void testTruncateToFit (int masterChannelFirst, int numNoteChannelsFirst, int masterChannelSecond, int numNoteChannelsSecond, bool expectedRetVal, diff --git a/modules/juce_audio_basics/mpe/juce_MPEZone.h b/modules/juce_audio_basics/mpe/juce_MPEZone.h index 342a64c4..d9d6c3ec 100644 --- a/modules/juce_audio_basics/mpe/juce_MPEZone.h +++ b/modules/juce_audio_basics/mpe/juce_MPEZone.h @@ -48,7 +48,7 @@ struct JUCE_API MPEZone Must be between 1 and 15. Otherwise, the behaviour is undefined. - @param numChannelsUsed The number of note channels that the new zone + @param numNoteChannels The number of note channels that the new zone should use. The first note channel will be one higher than the master channel. The number of note channels must be at least 1 and no greater than 16 - masterChannel. @@ -120,8 +120,14 @@ struct JUCE_API MPEZone */ bool truncateToFit (MPEZone zoneToAvoid) noexcept; + /** @returns true if this zone is equal to the one passed in. */ + bool operator== (const MPEZone& other) const noexcept; + + /** @returns true if this zone is not equal to the one passed in. */ + bool operator!= (const MPEZone& other) const noexcept; + private: - //========================================================================== + //============================================================================== int masterChannel; int numNoteChannels; int perNotePitchbendRange; diff --git a/modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp b/modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp index 3f8c2b6b..7228a1e5 100644 --- a/modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp +++ b/modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp @@ -26,6 +26,18 @@ MPEZoneLayout::MPEZoneLayout() noexcept { } +MPEZoneLayout::MPEZoneLayout (const MPEZoneLayout& other) + : zones (other.zones) +{ +} + +MPEZoneLayout& MPEZoneLayout::operator= (const MPEZoneLayout& other) +{ + zones = other.zones; + listeners.call (&MPEZoneLayout::Listener::zoneLayoutChanged, *this); + return *this; +} + //============================================================================== bool MPEZoneLayout::addZone (MPEZone newZone) { @@ -46,6 +58,7 @@ bool MPEZoneLayout::addZone (MPEZone newZone) } zones.add (newZone); + listeners.call (&MPEZoneLayout::Listener::zoneLayoutChanged, *this); return noOtherZonesModified; } @@ -66,6 +79,7 @@ MPEZone* MPEZoneLayout::getZoneByIndex (int index) const noexcept void MPEZoneLayout::clearAllZones() { zones.clear(); + listeners.call (&MPEZoneLayout::Listener::zoneLayoutChanged, *this); } //============================================================================== @@ -106,12 +120,23 @@ void MPEZoneLayout::processPitchbendRangeRpnMessage (MidiRPNMessage rpn) { if (MPEZone* zone = getZoneByFirstNoteChannel (rpn.channel)) { - zone->setPerNotePitchbendRange (rpn.value); - return; + if (zone->getPerNotePitchbendRange() != rpn.value) + { + zone->setPerNotePitchbendRange (rpn.value); + listeners.call (&MPEZoneLayout::Listener::zoneLayoutChanged, *this); + return; + } } if (MPEZone* zone = getZoneByMasterChannel (rpn.channel)) - zone->setMasterPitchbendRange (rpn.value); + { + if (zone->getMasterPitchbendRange() != rpn.value) + { + zone->setMasterPitchbendRange (rpn.value); + listeners.call (&MPEZoneLayout::Listener::zoneLayoutChanged, *this); + return; + } + } } //============================================================================== @@ -162,6 +187,17 @@ MPEZone* MPEZoneLayout::getZoneByNoteChannel (int channel) const noexcept return nullptr; } +//============================================================================== +void MPEZoneLayout::addListener (Listener* const listenerToAdd) noexcept +{ + listeners.add (listenerToAdd); +} + +void MPEZoneLayout::removeListener (Listener* const listenerToRemove) noexcept +{ + listeners.remove (listenerToRemove); +} + //============================================================================== //============================================================================== #if JUCE_UNIT_TESTS diff --git a/modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h b/modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h index eedd6e78..3a331d31 100644 --- a/modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h +++ b/modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h @@ -47,6 +47,16 @@ public: */ MPEZoneLayout() noexcept; + /** Copy constuctor. + This will not copy the listeners registered to the MPEZoneLayout. + */ + MPEZoneLayout (const MPEZoneLayout& other); + + /** Copy assignment operator. + This will not copy the listeners registered to the MPEZoneLayout. + */ + MPEZoneLayout& operator= (const MPEZoneLayout& other); + /** Adds a new MPE zone to the layout. @param newZone The zone to add. @@ -90,8 +100,9 @@ public: /** Returns the current number of MPE zones. */ int getNumZones() const noexcept; - /** Returns a pointer to the MPE zone at the given index, - or nullptr if there is no such zone. + /** Returns a pointer to the MPE zone at the given index, or nullptr if there + is no such zone. Zones are sorted by insertion order (most recently added + zone last). */ MPEZone* getZoneByIndex (int index) const noexcept; @@ -115,10 +126,35 @@ public: */ MPEZone* getZoneByNoteChannel (int midiChannel) const noexcept; + //============================================================================== + /** Listener class. Derive from this class to allow your class to be + notified about changes to the zone layout. + */ + class Listener + { + public: + /** Destructor. */ + virtual ~Listener() {} + + /** Implement this callback to be notified about any changes to this + MPEZoneLayout. Will be called whenever a zone is added, zones are + removed, or any zone's master or note pitchbend ranges change. + */ + virtual void zoneLayoutChanged (const MPEZoneLayout& layout) = 0; + }; + + //============================================================================== + /** Adds a listener. */ + void addListener (Listener* const listenerToAdd) noexcept; + + /** Removes a listener. */ + void removeListener (Listener* const listenerToRemove) noexcept; + private: - //========================================================================== + //============================================================================== Array zones; MidiRPNDetector rpnDetector; + ListenerList listeners; void processRpnMessage (MidiRPNMessage); void processZoneLayoutRpnMessage (MidiRPNMessage); diff --git a/modules/juce_audio_basics/sources/juce_BufferingAudioSource.h b/modules/juce_audio_basics/sources/juce_BufferingAudioSource.h index 4d507d71..88116207 100644 --- a/modules/juce_audio_basics/sources/juce_BufferingAudioSource.h +++ b/modules/juce_audio_basics/sources/juce_BufferingAudioSource.h @@ -46,7 +46,7 @@ public: @param source the input source to read from @param backgroundThread a background thread that will be used for the background read-ahead. This object must not be deleted - until after any BufferedAudioSources that are using it + until after any BufferingAudioSources that are using it have been deleted! @param deleteSourceWhenDeleted if true, then the input source object will be deleted when this object is deleted diff --git a/modules/juce_audio_basics/sources/juce_PositionableAudioSource.h b/modules/juce_audio_basics/sources/juce_PositionableAudioSource.h index 2084f0be..f69e6d56 100644 --- a/modules/juce_audio_basics/sources/juce_PositionableAudioSource.h +++ b/modules/juce_audio_basics/sources/juce_PositionableAudioSource.h @@ -71,7 +71,7 @@ public: virtual bool isLooping() const = 0; /** Tells the source whether you'd like it to play in a loop. */ - virtual void setLooping (bool shouldLoop) { (void) shouldLoop; } + virtual void setLooping (bool shouldLoop) { ignoreUnused (shouldLoop); } }; diff --git a/modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h b/modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h index 09491cb1..0f38358e 100644 --- a/modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h +++ b/modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h @@ -30,7 +30,7 @@ /** A type of AudioSource that takes an input source and changes its sample rate. - @see AudioSource + @see AudioSource, LagrangeInterpolator, CatmullRomInterpolator */ class JUCE_API ResamplingAudioSource : public AudioSource { diff --git a/modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp b/modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp index 3433428b..6d8ac4be 100644 --- a/modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp +++ b/modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp @@ -181,6 +181,7 @@ void Synthesiser::processNextBlock (AudioBuffer& outputAudio, MidiBuffer::Iterator midiIterator (midiData); midiIterator.setNextSamplePosition (startSample); + bool firstEvent = true; int midiEventPos; MidiMessage m; @@ -203,12 +204,14 @@ void Synthesiser::processNextBlock (AudioBuffer& outputAudio, break; } - if (samplesToNextMidiMessage < minimumSubBlockSize) + if (samplesToNextMidiMessage < minimumSubBlockSize && ! firstEvent) { handleMidiEvent (m); continue; } + firstEvent = false; + renderVoices (outputAudio, startSample, samplesToNextMidiMessage); handleMidiEvent (m); startSample += samplesToNextMidiMessage; @@ -512,13 +515,13 @@ void Synthesiser::handleSostenutoPedal (int midiChannel, bool isDown) void Synthesiser::handleSoftPedal (int midiChannel, bool /*isDown*/) { - (void) midiChannel; + ignoreUnused (midiChannel); jassert (midiChannel > 0 && midiChannel <= 16); } void Synthesiser::handleProgramChange (int midiChannel, int programNumber) { - (void) midiChannel; (void) programNumber; + ignoreUnused (midiChannel, programNumber); jassert (midiChannel > 0 && midiChannel <= 16); } diff --git a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp index 2959efb1..e70ae7c1 100755 --- a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp +++ b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp @@ -86,6 +86,65 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CallbackHandler) }; +//============================================================================== +// This is an AudioTransportSource which will own it's assigned source +struct AudioSourceOwningTransportSource : public AudioTransportSource +{ + AudioSourceOwningTransportSource (PositionableAudioSource* s) : source (s) + { + AudioTransportSource::setSource (s); + } + + ~AudioSourceOwningTransportSource() + { + setSource (nullptr); + } + +private: + ScopedPointer source; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioSourceOwningTransportSource) +}; + +//============================================================================== +// An AudioSourcePlayer which will remove itself from the AudioDeviceManager's +// callback list once it finishes playing its source +struct AutoRemovingSourcePlayer : public AudioSourcePlayer, + private Timer +{ + AutoRemovingSourcePlayer (AudioDeviceManager& dm, AudioTransportSource* ts, bool ownSource) + : manager (dm), transportSource (ts, ownSource) + { + jassert (ts != nullptr); + manager.addAudioCallback (this); + AudioSourcePlayer::setSource (transportSource); + startTimerHz (10); + } + + ~AutoRemovingSourcePlayer() + { + setSource (nullptr); + manager.removeAudioCallback (this); + } + + void timerCallback() override + { + if (getCurrentSource() == nullptr || ! transportSource->isPlaying()) + delete this; + } + + void audioDeviceStopped() override + { + AudioSourcePlayer::audioDeviceStopped(); + setSource (nullptr); + } + +private: + AudioDeviceManager& manager; + OptionalScopedPointer transportSource; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AutoRemovingSourcePlayer) +}; //============================================================================== AudioDeviceManager::AudioDeviceManager() @@ -103,8 +162,11 @@ AudioDeviceManager::~AudioDeviceManager() { currentAudioDevice = nullptr; defaultMidiOutput = nullptr; -} + for (int i = 0; i < callbacks.size(); ++i) + if (AutoRemovingSourcePlayer* p = dynamic_cast (callbacks.getUnchecked(i))) + delete p; +} //============================================================================== void AudioDeviceManager::createDeviceTypesIfNeeded() @@ -926,143 +988,16 @@ void AudioDeviceManager::setDefaultMidiOutput (const String& deviceName) } } -//============================================================================== -// This is an AudioTransportSource which will own it's assigned source -class AudioSourceOwningTransportSource : public AudioTransportSource -{ -public: - AudioSourceOwningTransportSource() {} - ~AudioSourceOwningTransportSource() { setSource (nullptr); } - - void setSource (PositionableAudioSource* newSource) - { - if (src != newSource) - { - ScopedPointer oldSourceDeleter (src); - src = newSource; - - // tell the base class about the new source before deleting the old one - AudioTransportSource::setSource (newSource); - } - } - -private: - ScopedPointer src; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioSourceOwningTransportSource) -}; - -//============================================================================== -// An Audio player which will remove itself from the AudioDeviceManager's -// callback list once it finishes playing its source -class AutoRemovingSourcePlayer : public AudioSourcePlayer, - private ChangeListener -{ -public: - struct DeleteOnMessageThread : public CallbackMessage - { - DeleteOnMessageThread (AutoRemovingSourcePlayer* p) : parent (p) {} - void messageCallback() override { delete parent; } - - AutoRemovingSourcePlayer* parent; - }; - - //============================================================================== - AutoRemovingSourcePlayer (AudioDeviceManager& deviceManager, bool ownSource) - : manager (deviceManager), - deleteWhenDone (ownSource), - hasAddedCallback (false), - recursiveEntry (false) - { - } - - void changeListenerCallback (ChangeBroadcaster* newSource) override - { - if (AudioTransportSource* currentTransport - = dynamic_cast (getCurrentSource())) - { - ignoreUnused (newSource); - jassert (newSource == currentTransport); - - if (! currentTransport->isPlaying()) - { - // this will call audioDeviceStopped! - manager.removeAudioCallback (this); - } - else if (! hasAddedCallback) - { - hasAddedCallback = true; - manager.addAudioCallback (this); - } - } - } - - void audioDeviceStopped() override - { - if (! recursiveEntry) - { - ScopedValueSetter s (recursiveEntry, true, false); - - manager.removeAudioCallback (this); - AudioSourcePlayer::audioDeviceStopped(); - - if (MessageManager* mm = MessageManager::getInstanceWithoutCreating()) - { - if (mm->isThisTheMessageThread()) - delete this; - else - (new DeleteOnMessageThread (this))->post(); - } - } - } - - void setSource (AudioTransportSource* newSource) - { - AudioSource* oldSource = getCurrentSource(); - - if (AudioTransportSource* oldTransport = dynamic_cast (oldSource)) - oldTransport->removeChangeListener (this); - - if (newSource != nullptr) - newSource->addChangeListener (this); - - AudioSourcePlayer::setSource (newSource); - - if (deleteWhenDone) - delete oldSource; - } - -private: - // only allow myself to be deleted when my audio callback has been removed - ~AutoRemovingSourcePlayer() - { - setSource (nullptr); - } - - AudioDeviceManager& manager; - bool deleteWhenDone, hasAddedCallback, recursiveEntry; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AutoRemovingSourcePlayer) -}; - //============================================================================== // An AudioSource which simply outputs a buffer -class AudioSampleBufferSource : public PositionableAudioSource +class AudioSampleBufferSource : public PositionableAudioSource { public: - AudioSampleBufferSource (AudioSampleBuffer* audioBuffer, bool shouldLoop, bool ownBuffer) - : position (0), - buffer (audioBuffer), - looping (shouldLoop), - deleteWhenDone (ownBuffer) + AudioSampleBufferSource (AudioSampleBuffer* audioBuffer, bool ownBuffer, bool playOnAllChannels) + : buffer (audioBuffer, ownBuffer), + position (0), looping (false), playAcrossAllChannels (playOnAllChannels) {} - ~AudioSampleBufferSource() - { - if (deleteWhenDone) - delete buffer; - } - //============================================================================== void setNextReadPosition (int64 newPosition) override { @@ -1074,69 +1009,48 @@ public: position = jmin (buffer->getNumSamples(), static_cast (newPosition)); } - int64 getNextReadPosition() const override - { - return static_cast (position); - } - - int64 getTotalLength() const override - { - return static_cast (buffer->getNumSamples()); - } - - bool isLooping() const override - { - return looping; - } + int64 getNextReadPosition() const override { return static_cast (position); } + int64 getTotalLength() const override { return static_cast (buffer->getNumSamples()); } - void setLooping (bool shouldLoop) override - { - looping = shouldLoop; - } + bool isLooping() const override { return looping; } + void setLooping (bool shouldLoop) override { looping = shouldLoop; } //============================================================================== - void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override - { - ignoreUnused (samplesPerBlockExpected, sampleRate); - } - - void releaseResources() override - {} + void prepareToPlay (int, double) override {} + void releaseResources() override {} void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override { - int max = jmin (buffer->getNumSamples() - position, bufferToFill.numSamples); + bufferToFill.clearActiveBufferRegion(); - jassert (max >= 0); + const int bufferSize = buffer->getNumSamples(); + const int samplesNeeded = bufferToFill.numSamples; + const int samplesToCopy = jmin (bufferSize - position, samplesNeeded); + + if (samplesToCopy > 0) { - int ch; int maxInChannels = buffer->getNumChannels(); - int maxOutChannels = jmin (bufferToFill.buffer->getNumChannels(), - jmax (maxInChannels, 2)); + int maxOutChannels = bufferToFill.buffer->getNumChannels(); - for (ch = 0; ch < maxOutChannels; ch++) - { - int inChannel = ch % maxInChannels; + if (! playAcrossAllChannels) + maxOutChannels = jmin (maxOutChannels, maxInChannels); - if (max > 0) - bufferToFill.buffer->copyFrom (ch, bufferToFill.startSample, *buffer, inChannel, position, max); - } - - for (; ch < bufferToFill.buffer->getNumChannels(); ++ch) - bufferToFill.buffer->clear (ch, bufferToFill.startSample, bufferToFill.numSamples); + for (int i = 0; i < maxOutChannels; ++i) + bufferToFill.buffer->copyFrom (i, bufferToFill.startSample, *buffer, + i % maxInChannels, position, samplesToCopy); } - position += max; + position += samplesNeeded; if (looping) - position = position % buffer->getNumSamples(); + position %= bufferSize; } private: //============================================================================== + OptionalScopedPointer buffer; int position; - AudioSampleBuffer* buffer; - bool looping, deleteWhenDone; + bool looping, playAcrossAllChannels; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioSampleBufferSource) }; @@ -1165,38 +1079,38 @@ void AudioDeviceManager::playSound (const void* resourceData, size_t resourceSiz void AudioDeviceManager::playSound (AudioFormatReader* reader, bool deleteWhenFinished) { - playSound (new AudioFormatReaderSource (reader, deleteWhenFinished), true); + if (reader != nullptr) + playSound (new AudioFormatReaderSource (reader, deleteWhenFinished), true); +} + +void AudioDeviceManager::playSound (AudioSampleBuffer* buffer, bool deleteWhenFinished, bool playOnAllOutputChannels) +{ + if (buffer != nullptr) + playSound (new AudioSampleBufferSource (buffer, deleteWhenFinished, playOnAllOutputChannels), true); } void AudioDeviceManager::playSound (PositionableAudioSource* audioSource, bool deleteWhenFinished) { if (audioSource != nullptr && currentAudioDevice != nullptr) { - if (AudioTransportSource* transport = dynamic_cast (audioSource)) - { - AutoRemovingSourcePlayer* player = new AutoRemovingSourcePlayer (*this, deleteWhenFinished); - player->setSource (transport); - } - else - { - AudioTransportSource* transportSource; + AudioTransportSource* transport = dynamic_cast (audioSource); + if (transport == nullptr) + { if (deleteWhenFinished) { - AudioSourceOwningTransportSource* owningTransportSource = new AudioSourceOwningTransportSource(); - owningTransportSource->setSource (audioSource); - transportSource = owningTransportSource; + transport = new AudioSourceOwningTransportSource (audioSource); } else { - transportSource = new AudioTransportSource; - transportSource->setSource (audioSource); + transport = new AudioTransportSource(); + transport->setSource (audioSource); + deleteWhenFinished = true; } - - // recursively call myself - playSound (transportSource, true); - transportSource->start(); } + + transport->start(); + new AutoRemovingSourcePlayer (*this, transport, deleteWhenFinished); } else { @@ -1205,11 +1119,6 @@ void AudioDeviceManager::playSound (PositionableAudioSource* audioSource, bool d } } -void AudioDeviceManager::playSound (AudioSampleBuffer* buffer, bool deleteWhenFinished) -{ - playSound (new AudioSampleBufferSource (buffer, false, deleteWhenFinished), true); -} - void AudioDeviceManager::playTestSound() { const double sampleRate = currentAudioDevice->getCurrentSampleRate(); @@ -1228,7 +1137,7 @@ void AudioDeviceManager::playTestSound() newSound->applyGainRamp (0, 0, soundLength / 10, 0.0f, 1.0f); newSound->applyGainRamp (0, soundLength - soundLength / 4, soundLength / 4, 1.0f, 0.0f); - playSound (newSound, true); + playSound (newSound, true, true); } //============================================================================== diff --git a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h index 5c97e1c4..4d94b53b 100644 --- a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h +++ b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h @@ -445,8 +445,15 @@ public: This will output the sound contained in an audio sample buffer. If deleteWhenFinished is true then the audio sample buffer will be automatically deleted once the sound has finished playing. + + If playOnAllOutputChannels is true, then if there are more output channels + than buffer channels, then the ones that are available will be re-used on + multiple outputs so that something is sent to all output channels. If it + is false, then the buffer will just be played on the first output channels. */ - void playSound (AudioSampleBuffer* buffer, bool deleteWhenFinished = false); + void playSound (AudioSampleBuffer* buffer, + bool deleteWhenFinished = false, + bool playOnAllOutputChannels = false); //============================================================================== /** Turns on level-measuring. diff --git a/modules/juce_audio_devices/juce_audio_devices.cpp b/modules/juce_audio_devices/juce_audio_devices.cpp index 2bc3c6a0..e5717830 100644 --- a/modules/juce_audio_devices/juce_audio_devices.cpp +++ b/modules/juce_audio_devices/juce_audio_devices.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_AUDIO_DEVICES_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_AUDIO_DEVICES_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,11 +31,12 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" +#define JUCE_CORE_INCLUDE_OBJC_HELPERS 1 +#define JUCE_CORE_INCLUDE_COM_SMART_PTR 1 +#define JUCE_CORE_INCLUDE_JNI_HELPERS 1 +#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1 +#define JUCE_EVENTS_INCLUDE_WIN32_MESSAGE_WINDOW 1 -#include "../juce_core/native/juce_BasicNativeHeaders.h" #include "juce_audio_devices.h" //============================================================================== @@ -145,7 +146,6 @@ namespace juce //============================================================================== #if JUCE_MAC - #include "../juce_core/native/juce_osx_ObjCHelpers.h" #include "native/juce_mac_CoreAudio.cpp" #include "native/juce_mac_CoreMidi.cpp" @@ -164,8 +164,6 @@ namespace juce //============================================================================== #elif JUCE_WINDOWS - #include "../juce_core/native/juce_win32_ComSmartPtr.h" - #include "../juce_events/native/juce_win32_HiddenMessageWindow.h" #if JUCE_WASAPI #include "native/juce_win32_WASAPI.cpp" @@ -207,7 +205,6 @@ namespace juce //============================================================================== #elif JUCE_ANDROID - #include "../juce_core/native/juce_android_JNIHelpers.h" #include "native/juce_android_Audio.cpp" #include "native/juce_android_Midi.cpp" diff --git a/modules/juce_audio_devices/juce_audio_devices.h b/modules/juce_audio_devices/juce_audio_devices.h index 249f6b2d..66d6b32c 100644 --- a/modules/juce_audio_devices/juce_audio_devices.h +++ b/modules/juce_audio_devices/juce_audio_devices.h @@ -22,14 +22,42 @@ ============================================================================== */ +/******************************************************************************* + 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.1 + 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 Enables ASIO audio devices (MS Windows only). Turning this on means that you'll need to have the Steinberg ASIO SDK installed @@ -90,7 +118,7 @@ #endif #endif -//============================================================================= +//============================================================================== /** Config: JUCE_USE_CDREADER Enables the AudioCDReader class (on supported platforms). */ @@ -105,7 +133,7 @@ #define JUCE_USE_CDBURNER 0 #endif -//============================================================================= +//============================================================================== namespace juce { diff --git a/modules/juce_audio_devices/juce_module_info b/modules/juce_audio_devices/juce_module_info deleted file mode 100644 index 19f26090..00000000 --- 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", - "LinuxLibs": "asound", - "mingwLibs": "winmm" -} diff --git a/modules/juce_audio_devices/midi_io/juce_MidiInput.h b/modules/juce_audio_devices/midi_io/juce_MidiInput.h index 0c5a5b62..65c51a75 100644 --- a/modules/juce_audio_devices/midi_io/juce_MidiInput.h +++ b/modules/juce_audio_devices/midi_io/juce_MidiInput.h @@ -74,8 +74,7 @@ public: int numBytesSoFar, double timestamp) { - // (this bit is just to avoid compiler warnings about unused variables) - (void) source; (void) messageData; (void) numBytesSoFar; (void) timestamp; + ignoreUnused (source, messageData, numBytesSoFar, timestamp); } }; diff --git a/modules/juce_audio_devices/native/juce_android_Audio.cpp b/modules/juce_audio_devices/native/juce_android_Audio.cpp index d32f5cf7..5714d623 100644 --- a/modules/juce_audio_devices/native/juce_android_Audio.cpp +++ b/modules/juce_audio_devices/native/juce_android_Audio.cpp @@ -195,25 +195,51 @@ public: STREAM_MUSIC, sampleRate, CHANNEL_OUT_STEREO, ENCODING_PCM_16BIT, (jint) (minBufferSizeOut * numDeviceOutputChannels * sizeof (int16)), MODE_STREAM)); - if (env->CallIntMethod (outputDevice, AudioTrack.getState) != STATE_UNINITIALIZED) + int outputDeviceState = env->CallIntMethod (outputDevice, AudioTrack.getState); + if (outputDeviceState > 0) + { isRunning = true; + } else - outputDevice.clear(); // failed to open the device + { + // failed to open the device + outputDevice.clear(); + lastError = "Error opening audio output device: android.media.AudioTrack failed with state = " + String (outputDeviceState); + } } if (numClientInputChannels > 0 && numDeviceInputChannelsAvailable > 0) { - numDeviceInputChannels = jmin (numClientInputChannels, numDeviceInputChannelsAvailable); - inputDevice = GlobalRef (env->NewObject (AudioRecord, AudioRecord.constructor, - 0 /* (default audio source) */, sampleRate, - numDeviceInputChannelsAvailable > 1 ? CHANNEL_IN_STEREO : CHANNEL_IN_MONO, - ENCODING_PCM_16BIT, - (jint) (minBufferSizeIn * numDeviceInputChannels * sizeof (int16)))); - - if (env->CallIntMethod (inputDevice, AudioRecord.getState) != STATE_UNINITIALIZED) - isRunning = true; + if (! RuntimePermissions::isGranted (RuntimePermissions::recordAudio)) + { + // If you hit this assert, you probably forgot to get RuntimePermissions::recordAudio + // before trying to open an audio input device. This is not going to work! + jassertfalse; + + inputDevice.clear(); + lastError = "Error opening audio input device: the app was not granted android.permission.RECORD_AUDIO"; + } else - inputDevice.clear(); // failed to open the device + { + numDeviceInputChannels = jmin (numClientInputChannels, numDeviceInputChannelsAvailable); + inputDevice = GlobalRef (env->NewObject (AudioRecord, AudioRecord.constructor, + 0 /* (default audio source) */, sampleRate, + numDeviceInputChannelsAvailable > 1 ? CHANNEL_IN_STEREO : CHANNEL_IN_MONO, + ENCODING_PCM_16BIT, + (jint) (minBufferSizeIn * numDeviceInputChannels * sizeof (int16)))); + + int inputDeviceState = env->CallIntMethod (inputDevice, AudioRecord.getState); + if (inputDeviceState > 0) + { + isRunning = true; + } + else + { + // failed to open the device + inputDevice.clear(); + lastError = "Error opening audio input device: android.media.AudioRecord failed with state = " + String (inputDeviceState); + } + } } if (isRunning) @@ -368,7 +394,7 @@ public: int minBufferSizeOut, minBufferSizeIn; private: - //================================================================================================== + //============================================================================== CriticalSection callbackLock; AudioIODeviceCallback* callback; jint sampleRate; diff --git a/modules/juce_audio_devices/native/juce_android_Midi.cpp b/modules/juce_audio_devices/native/juce_android_Midi.cpp index 01a5ead5..dc972c92 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 66b45f03..989552bb 100644 --- a/modules/juce_audio_devices/native/juce_android_OpenSL.cpp +++ b/modules/juce_audio_devices/native/juce_android_OpenSL.cpp @@ -45,7 +45,7 @@ public: { // OpenSL has piss-poor support for determining latency, so the only way I can find to // get a number for this is by asking the AudioTrack/AudioRecord classes.. - AndroidAudioIODevice javaDevice (String::empty); + AndroidAudioIODevice javaDevice (deviceName); // this is a total guess about how to calculate the latency, but seems to vaguely agree // with the devices I've tested.. YMMV @@ -145,12 +145,32 @@ public: << ", sampleRate = " << sampleRate); if (numInputChannels > 0) - recorder = engine.createRecorder (numInputChannels, sampleRate, - audioBuffersToEnqueue, actualBufferSize); + { + if (! RuntimePermissions::isGranted (RuntimePermissions::recordAudio)) + { + // If you hit this assert, you probably forgot to get RuntimePermissions::recordAudio + // before trying to open an audio input device. This is not going to work! + jassertfalse; + lastError = "Error opening OpenSL input device: the app was not granted android.permission.RECORD_AUDIO"; + } + else + { + recorder = engine.createRecorder (numInputChannels, sampleRate, + audioBuffersToEnqueue, actualBufferSize); + + if (recorder == nullptr) + lastError = "Error opening OpenSL input device: creating Recorder failed."; + } + } if (numOutputChannels > 0) - player = engine.createPlayer (numOutputChannels, sampleRate, - audioBuffersToEnqueue, actualBufferSize); + { + player = engine.createPlayer (numOutputChannels, sampleRate, + audioBuffersToEnqueue, actualBufferSize); + + if (player == nullptr) + lastError = "Error opening OpenSL input device: creating Player failed."; + } // pre-fill buffers for (int i = 0; i < audioBuffersToEnqueue; ++i) @@ -220,7 +240,7 @@ public: } private: - //================================================================================================== + //============================================================================== CriticalSection callbackLock; AudioIODeviceCallback* callback; int actualBufferSize, sampleRate; @@ -242,7 +262,7 @@ private: defaultBufferSizeIsMultipleOfNative = 1 }; - //================================================================================================== + //============================================================================== static String audioManagerGetProperty (const String& property) { const LocalRef jProperty (javaString (property)); @@ -281,7 +301,7 @@ private: return androidHasSystemFeature ("android.hardware.audio.low_latency"); } - //================================================================================================== + //============================================================================== AudioIODeviceCallback* setCallback (AudioIODeviceCallback* const newCallback) { const ScopedLock sl (callbackLock); @@ -312,7 +332,7 @@ private: void run() override { - setThreadToAudioPriority (); + setThreadToAudioPriority(); if (recorder != nullptr) recorder->start(); if (player != nullptr) player->start(); @@ -321,7 +341,7 @@ private: processBuffers(); } - void setThreadToAudioPriority () + void setThreadToAudioPriority() { // see android.os.Process.THREAD_PRIORITY_AUDIO const int THREAD_PRIORITY_AUDIO = -16; @@ -331,7 +351,7 @@ private: DBG ("Unable to set audio thread priority: priority is still " << priority); } - //================================================================================================== + //============================================================================== struct Engine { Engine() @@ -400,7 +420,7 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Engine) }; - //================================================================================================== + //============================================================================== struct BufferList { BufferList (const int numChannels_, const int numBuffers_, const int numSamples_) @@ -444,7 +464,7 @@ private: WaitableEvent dataArrived; }; - //================================================================================================== + //============================================================================== struct Player { Player (int numChannels, int sampleRate, Engine& engine, int playerNumBuffers, int playerBufferSize) @@ -552,14 +572,14 @@ private: static void staticCallback (SLAndroidSimpleBufferQueueItf queue, void* context) noexcept { - jassert (queue == static_cast (context)->playerBufferQueue); (void) queue; + jassert (queue == static_cast (context)->playerBufferQueue); ignoreUnused (queue); static_cast (context)->bufferList.bufferReturned(); } JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Player) }; - //================================================================================================== + //============================================================================== struct Recorder { Recorder (int numChannels, int sampleRate, Engine& engine, const int numBuffers, const int numSamples) @@ -687,7 +707,7 @@ private: static void staticCallback (SLAndroidSimpleBufferQueueItf queue, void* context) noexcept { - jassert (queue == static_cast (context)->recorderBufferQueue); (void) queue; + jassert (queue == static_cast (context)->recorderBufferQueue); ignoreUnused (queue); static_cast (context)->bufferList.bufferReturned(); } diff --git a/modules/juce_audio_devices/native/juce_ios_Audio.cpp b/modules/juce_audio_devices/native/juce_ios_Audio.cpp index 53a319de..f0da9809 100644 --- a/modules/juce_audio_devices/native/juce_ios_Audio.cpp +++ b/modules/juce_audio_devices/native/juce_ios_Audio.cpp @@ -22,56 +22,259 @@ ============================================================================== */ +class iOSAudioIODevice; + +static const char* const iOSAudioDeviceName = "iOS Audio"; + +//============================================================================== +struct AudioSessionHolder +{ + AudioSessionHolder(); + ~AudioSessionHolder(); + + void handleStatusChange (bool enabled, const char* reason) const; + void handleRouteChange (const char* reason) const; + + Array activeDevices; + + id nativeSession; +}; + +static const char* getRoutingChangeReason (AVAudioSessionRouteChangeReason reason) noexcept +{ + switch (reason) + { + case AVAudioSessionRouteChangeReasonNewDeviceAvailable: return "New device available"; + case AVAudioSessionRouteChangeReasonOldDeviceUnavailable: return "Old device unavailable"; + case AVAudioSessionRouteChangeReasonCategoryChange: return "Category change"; + case AVAudioSessionRouteChangeReasonOverride: return "Override"; + case AVAudioSessionRouteChangeReasonWakeFromSleep: return "Wake from sleep"; + case AVAudioSessionRouteChangeReasonNoSuitableRouteForCategory: return "No suitable route for category"; + case AVAudioSessionRouteChangeReasonRouteConfigurationChange: return "Route configuration change"; + case AVAudioSessionRouteChangeReasonUnknown: + default: return "Unknown"; + } +} + +bool getNotificationValueForKey (NSNotification* notification, NSString* key, NSUInteger& value) noexcept +{ + if (notification != nil) + { + if (NSDictionary* userInfo = [notification userInfo]) + { + if (NSNumber* number = [userInfo objectForKey: key]) + { + value = [number unsignedIntegerValue]; + return true; + } + } + } + + jassertfalse; + return false; +} + +} // juce namespace + +//============================================================================== +@interface iOSAudioSessionNative : NSObject +{ +@private + juce::AudioSessionHolder* audioSessionHolder; +}; + +- (id) init: (juce::AudioSessionHolder*) holder; +- (void) dealloc; + +- (void) audioSessionDidChangeInterruptionType: (NSNotification*) notification; +- (void) handleMediaServicesReset; +- (void) handleMediaServicesLost; +- (void) handleRouteChange: (NSNotification*) notification; +@end + +@implementation iOSAudioSessionNative + +- (id) init: (juce::AudioSessionHolder*) holder +{ + self = [super init]; + + if (self != nil) + { + audioSessionHolder = holder; + + auto session = [AVAudioSession sharedInstance]; + auto centre = [NSNotificationCenter defaultCenter]; + + [centre addObserver: self + selector: @selector (audioSessionDidChangeInterruptionType:) + name: AVAudioSessionInterruptionNotification + object: session]; + + [centre addObserver: self + selector: @selector (handleMediaServicesLost) + name: AVAudioSessionMediaServicesWereLostNotification + object: session]; + + [centre addObserver: self + selector: @selector (handleMediaServicesReset) + name: AVAudioSessionMediaServicesWereResetNotification + object: session]; + + [centre addObserver: self + selector: @selector (handleRouteChange:) + name: AVAudioSessionRouteChangeNotification + object: session]; + } + else + { + jassertfalse; + } + + return self; +} + +- (void) dealloc +{ + [[NSNotificationCenter defaultCenter] removeObserver: self]; + [super dealloc]; +} + +- (void) audioSessionDidChangeInterruptionType: (NSNotification*) notification +{ + NSUInteger value; + + if (juce::getNotificationValueForKey (notification, AVAudioSessionInterruptionTypeKey, value)) + { + switch ((AVAudioSessionInterruptionType) value) + { + case AVAudioSessionInterruptionTypeBegan: + audioSessionHolder->handleStatusChange (false, "AVAudioSessionInterruptionTypeBegan"); + break; + + case AVAudioSessionInterruptionTypeEnded: + audioSessionHolder->handleStatusChange (true, "AVAudioSessionInterruptionTypeEnded"); + break; + + // No default so the code doesn't compile if this enum is extended. + } + } +} + +- (void) handleMediaServicesReset +{ + audioSessionHolder->handleStatusChange (true, "AVAudioSessionMediaServicesWereResetNotification"); +} + +- (void) handleMediaServicesLost +{ + audioSessionHolder->handleStatusChange (false, "AVAudioSessionMediaServicesWereLostNotification"); +} + +- (void) handleRouteChange: (NSNotification*) notification +{ + NSUInteger value; + + if (juce::getNotificationValueForKey (notification, AVAudioSessionRouteChangeReasonKey, value)) + audioSessionHolder->handleRouteChange (juce::getRoutingChangeReason ((AVAudioSessionRouteChangeReason) value)); +} + +@end + +//============================================================================== +namespace juce { + +#ifndef JUCE_IOS_AUDIO_LOGGING + #define JUCE_IOS_AUDIO_LOGGING 0 +#endif + +#if JUCE_IOS_AUDIO_LOGGING + #define JUCE_IOS_AUDIO_LOG(x) DBG(x) +#else + #define JUCE_IOS_AUDIO_LOG(x) +#endif + +static void logNSError (NSError* e) +{ + if (e != nil) + { + JUCE_IOS_AUDIO_LOG ("iOS Audio error: " << [e.localizedDescription UTF8String]); + jassertfalse; + } +} + +#define JUCE_NSERROR_CHECK(X) { NSError* error = nil; X; logNSError (error); } + + +//============================================================================== class iOSAudioIODevice : public AudioIODevice { public: iOSAudioIODevice (const String& deviceName) - : AudioIODevice (deviceName, "Audio"), - actualBufferSize (0), - isRunning (false), - audioUnit (0), - callback (nullptr), - floatData (1, 2) + : AudioIODevice (deviceName, iOSAudioDeviceName) { - getSessionHolder().activeDevices.add (this); - - numInputChannels = 2; - numOutputChannels = 2; - preferredBufferSize = 0; - - updateDeviceInfo(); + sessionHolder->activeDevices.add (this); + updateSampleRateAndAudioInput(); } ~iOSAudioIODevice() { - getSessionHolder().activeDevices.removeFirstMatchingValue (this); + sessionHolder->activeDevices.removeFirstMatchingValue (this); close(); } StringArray getOutputChannelNames() override { - StringArray s; - s.add ("Left"); - s.add ("Right"); - return s; + return { "Left", "Right" }; } StringArray getInputChannelNames() override { - StringArray s; if (audioInputIsAvailable) - { - s.add ("Left"); - s.add ("Right"); - } - return s; + return { "Left", "Right" }; + + return {}; + } + + static void setAudioSessionActive (bool enabled) + { + JUCE_NSERROR_CHECK ([[AVAudioSession sharedInstance] setActive: enabled + error: &error]); + } + + static double trySampleRate (double rate) + { + auto session = [AVAudioSession sharedInstance]; + JUCE_NSERROR_CHECK ([session setPreferredSampleRate: rate + error: &error]); + return session.sampleRate; } Array getAvailableSampleRates() override { - // can't find a good way to actually ask the device for which of these it supports.. - static const double rates[] = { 8000.0, 16000.0, 22050.0, 32000.0, 44100.0, 48000.0 }; - return Array (rates, numElementsInArray (rates)); + Array rates; + + // Important: the supported audio sample rates change on the iPhone 6S + // depending on whether the headphones are plugged in or not! + setAudioSessionActive (true); + + const double lowestRate = trySampleRate (4000); + const double highestRate = trySampleRate (192000); + + for (double rate = lowestRate; rate <= highestRate; rate += 1000) + { + const double supportedRate = trySampleRate (rate); + + rates.addIfNotAlreadyThere (supportedRate); + rate = jmax (rate, supportedRate); + } + + for (auto r : rates) + { + ignoreUnused (r); + JUCE_IOS_AUDIO_LOG ("available rate = " + String (r, 0) + "Hz"); + } + + return rates; } Array getAvailableBufferSizes() override @@ -84,7 +287,7 @@ public: return r; } - int getDefaultBufferSize() override { return 1024; } + int getDefaultBufferSize() override { return 256; } String open (const BigInteger& inputChannelsWanted, const BigInteger& outputChannelsWanted, @@ -93,7 +296,8 @@ public: close(); lastError.clear(); - preferredBufferSize = (bufferSize <= 0) ? getDefaultBufferSize() : bufferSize; + preferredBufferSize = bufferSize <= 0 ? getDefaultBufferSize() + : bufferSize; // xxx set up channel mapping @@ -107,34 +311,39 @@ public: numInputChannels = activeInputChans.countNumberOfSetBits(); monoInputChannelNumber = activeInputChans.findNextSetBit (0); - AudioSessionSetActive (true); + setAudioSessionActive (true); - if (numInputChannels > 0 && audioInputIsAvailable) - { - setSessionUInt32Property (kAudioSessionProperty_AudioCategory, kAudioSessionCategory_PlayAndRecord); - setSessionUInt32Property (kAudioSessionProperty_OverrideCategoryEnableBluetoothInput, 1); - } - else - { - setSessionUInt32Property (kAudioSessionProperty_AudioCategory, kAudioSessionCategory_MediaPlayback); - } + // Set the session category & options: + auto session = [AVAudioSession sharedInstance]; - AudioSessionAddPropertyListener (kAudioSessionProperty_AudioRouteChange, routingChangedStatic, this); + const bool useInputs = (numInputChannels > 0 && audioInputIsAvailable); - fixAudioRouteIfSetToReceiver(); + NSString* category = (useInputs ? AVAudioSessionCategoryPlayAndRecord : AVAudioSessionCategoryPlayback); + + NSUInteger options = AVAudioSessionCategoryOptionMixWithOthers; // Alternatively AVAudioSessionCategoryOptionDuckOthers + if (useInputs) // These options are only valid for category = PlayAndRecord + options |= (AVAudioSessionCategoryOptionDefaultToSpeaker | AVAudioSessionCategoryOptionAllowBluetooth); - setSessionFloat64Property (kAudioSessionProperty_PreferredHardwareSampleRate, targetSampleRate); - updateDeviceInfo(); + JUCE_NSERROR_CHECK ([session setCategory: category + withOptions: options + error: &error]); - setSessionFloat32Property (kAudioSessionProperty_PreferredHardwareIOBufferDuration, preferredBufferSize / sampleRate); + fixAudioRouteIfSetToReceiver(); + + // Set the sample rate + trySampleRate (targetSampleRate); + updateSampleRateAndAudioInput(); updateCurrentBufferSize(); prepareFloatBuffers (actualBufferSize); isRunning = true; - routingChanged (nullptr); // creates and starts the AU + handleRouteChange ("Started AudioUnit"); + + lastError = (audioUnit != 0 ? "" : "Couldn't open the device"); + + setAudioSessionActive (true); - lastError = audioUnit != 0 ? "" : "Couldn't open the device"; return lastError; } @@ -144,37 +353,28 @@ public: { isRunning = false; - setSessionUInt32Property (kAudioSessionProperty_AudioCategory, kAudioSessionCategory_MediaPlayback); - - AudioSessionRemovePropertyListenerWithUserData (kAudioSessionProperty_AudioRouteChange, routingChangedStatic, this); - AudioSessionSetActive (false); - if (audioUnit != 0) { + AudioOutputUnitStart (audioUnit); AudioComponentInstanceDispose (audioUnit); audioUnit = 0; } + + setAudioSessionActive (false); } } - bool isOpen() override { return isRunning; } + bool isOpen() override { return isRunning; } - int getCurrentBufferSizeSamples() override { return actualBufferSize; } - double getCurrentSampleRate() override { return sampleRate; } - int getCurrentBitDepth() override { return 16; } + int getCurrentBufferSizeSamples() override { return actualBufferSize; } + double getCurrentSampleRate() override { return sampleRate; } + int getCurrentBitDepth() override { return 16; } BigInteger getActiveOutputChannels() const override { return activeOutputChans; } BigInteger getActiveInputChannels() const override { return activeInputChans; } - int getOutputLatencyInSamples() override { return getLatency (kAudioSessionProperty_CurrentHardwareOutputLatency); } - int getInputLatencyInSamples() override { return getLatency (kAudioSessionProperty_CurrentHardwareInputLatency); } - - int getLatency (AudioSessionPropertyID propID) - { - Float32 latency = 0; - getSessionProperty (propID, latency); - return roundToInt (latency * getCurrentSampleRate()); - } + int getOutputLatencyInSamples() override { return roundToInt (getCurrentSampleRate() * [AVAudioSession sharedInstance].outputLatency); } + int getInputLatencyInSamples() override { return roundToInt (getCurrentSampleRate() * [AVAudioSession sharedInstance].inputLatency); } void start (AudioIODeviceCallback* newCallback) override { @@ -210,23 +410,82 @@ public: bool setAudioPreprocessingEnabled (bool enable) override { - return setSessionUInt32Property (kAudioSessionProperty_Mode, enable ? kAudioSessionMode_Default - : kAudioSessionMode_Measurement); + auto session = [AVAudioSession sharedInstance]; + + NSString* mode = (enable ? AVAudioSessionModeMeasurement + : AVAudioSessionModeDefault); + + JUCE_NSERROR_CHECK ([session setMode: mode + error: &error]); + + return session.mode == mode; + } + + void invokeAudioDeviceErrorCallback (const String& reason) + { + const ScopedLock sl (callbackLock); + + if (callback != nullptr) + callback->audioDeviceError (reason); + } + + void handleStatusChange (bool enabled, const char* reason) + { + JUCE_IOS_AUDIO_LOG ("handleStatusChange: enabled: " << (int) enabled << ", reason: " << reason); + + isRunning = enabled; + setAudioSessionActive (enabled); + + if (enabled) + AudioOutputUnitStart (audioUnit); + else + AudioOutputUnitStop (audioUnit); + + if (! enabled) + invokeAudioDeviceErrorCallback (reason); + } + + void handleRouteChange (const char* reason) + { + JUCE_IOS_AUDIO_LOG ("handleRouteChange: reason: " << reason); + + fixAudioRouteIfSetToReceiver(); + + if (isRunning) + { + invokeAudioDeviceErrorCallback (reason); + updateSampleRateAndAudioInput(); + updateCurrentBufferSize(); + createAudioUnit(); + + setAudioSessionActive (true); + + if (audioUnit != 0) + { + UInt32 formatSize = sizeof (format); + AudioUnitGetProperty (audioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 1, &format, &formatSize); + AudioOutputUnitStart (audioUnit); + } + + if (callback != nullptr) + callback->audioDeviceAboutToStart (this); + } } private: - //================================================================================================== + //============================================================================== + SharedResourcePointer sessionHolder; CriticalSection callbackLock; - Float64 sampleRate; - int numInputChannels, numOutputChannels; - int preferredBufferSize, actualBufferSize; - bool isRunning; + NSTimeInterval sampleRate = 0; + int numInputChannels = 2, numOutputChannels = 2; + int preferredBufferSize = 0, actualBufferSize = 0; + bool isRunning = false; String lastError; AudioStreamBasicDescription format; - AudioUnit audioUnit; - UInt32 audioInputIsAvailable; - AudioIODeviceCallback* callback; + AudioUnit audioUnit {}; + bool audioInputIsAvailable = false; + AudioIODeviceCallback* callback = nullptr; BigInteger activeOutputChans, activeInputChans; AudioSampleBuffer floatData; @@ -250,7 +509,7 @@ private: } } - //================================================================================================== + //============================================================================== OSStatus process (AudioUnitRenderActionFlags* flags, const AudioTimeStamp* time, const UInt32 numFrames, AudioBufferList* data) { @@ -299,7 +558,7 @@ private: callback->audioDeviceIOCallback ((const float**) inputChannels, numInputChannels, outputChannels, numOutputChannels, (int) numFrames); - short* shortData = (short*) data->mBuffers[0].mData; + short* const shortData = (short*) data->mBuffers[0].mData; int n = 0; if (numOutputChannels >= 2) @@ -332,122 +591,35 @@ private: return err; } - void updateDeviceInfo() - { - getSessionProperty (kAudioSessionProperty_CurrentHardwareSampleRate, sampleRate); - getSessionProperty (kAudioSessionProperty_AudioInputAvailable, audioInputIsAvailable); - } - - void updateCurrentBufferSize() - { - Float32 bufferDuration = sampleRate > 0 ? (Float32) (preferredBufferSize / sampleRate) : 0.0f; - getSessionProperty (kAudioSessionProperty_CurrentHardwareIOBufferDuration, bufferDuration); - actualBufferSize = (int) (sampleRate * bufferDuration + 0.5); - } - - void routingChanged (const void* propertyValue) - { - if (! isRunning) - return; - - if (propertyValue != nullptr) - { - CFDictionaryRef routeChangeDictionary = (CFDictionaryRef) propertyValue; - CFNumberRef routeChangeReasonRef = (CFNumberRef) CFDictionaryGetValue (routeChangeDictionary, - CFSTR (kAudioSession_AudioRouteChangeKey_Reason)); - - SInt32 routeChangeReason; - CFNumberGetValue (routeChangeReasonRef, kCFNumberSInt32Type, &routeChangeReason); - - if (routeChangeReason == kAudioSessionRouteChangeReason_OldDeviceUnavailable) - { - const ScopedLock sl (callbackLock); - - if (callback != nullptr) - callback->audioDeviceError ("Old device unavailable"); - } - } - - updateDeviceInfo(); - createAudioUnit(); - - AudioSessionSetActive (true); - - if (audioUnit != 0) - { - UInt32 formatSize = sizeof (format); - AudioUnitGetProperty (audioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 1, &format, &formatSize); - - updateCurrentBufferSize(); - AudioOutputUnitStart (audioUnit); - } - } - - //================================================================================================== - struct AudioSessionHolder + void updateSampleRateAndAudioInput() { - AudioSessionHolder() - { - AudioSessionInitialize (0, 0, interruptionListenerCallback, this); - } + auto session = [AVAudioSession sharedInstance]; + sampleRate = session.sampleRate; + audioInputIsAvailable = session.isInputAvailable; + actualBufferSize = roundToInt (sampleRate * session.IOBufferDuration); - static void interruptionListenerCallback (void* client, UInt32 interruptionType) - { - const Array& activeDevices = static_cast (client)->activeDevices; - - for (int i = activeDevices.size(); --i >= 0;) - activeDevices.getUnchecked(i)->interruptionListener (interruptionType); - } - - Array activeDevices; - }; - - static AudioSessionHolder& getSessionHolder() - { - static AudioSessionHolder audioSessionHolder; - return audioSessionHolder; + JUCE_IOS_AUDIO_LOG ("AVAudioSession: sampleRate: " << sampleRate + << "Hz, audioInputAvailable: " << (int) audioInputIsAvailable); } - void interruptionListener (const UInt32 interruptionType) + void updateCurrentBufferSize() { - if (interruptionType == kAudioSessionBeginInterruption) - { - isRunning = false; - AudioOutputUnitStop (audioUnit); - AudioSessionSetActive (false); - - const ScopedLock sl (callbackLock); - - if (callback != nullptr) - callback->audioDeviceError ("iOS audio session interruption"); - } - - if (interruptionType == kAudioSessionEndInterruption) - { - isRunning = true; - AudioSessionSetActive (true); - AudioOutputUnitStart (audioUnit); + NSTimeInterval bufferDuration = sampleRate > 0 ? (NSTimeInterval) ((preferredBufferSize + 1) / sampleRate) : 0.0; - const ScopedLock sl (callbackLock); - - if (callback != nullptr) - callback->audioDeviceError ("iOS audio session resumed"); - } + JUCE_NSERROR_CHECK ([[AVAudioSession sharedInstance] setPreferredIOBufferDuration: bufferDuration + error: &error]); + updateSampleRateAndAudioInput(); } - //================================================================================================== + //============================================================================== static OSStatus processStatic (void* client, AudioUnitRenderActionFlags* flags, const AudioTimeStamp* time, UInt32 /*busNumber*/, UInt32 numFrames, AudioBufferList* data) { - return static_cast (client)->process (flags, time, numFrames, data); - } - static void routingChangedStatic (void* client, AudioSessionPropertyID, UInt32 /*inDataSize*/, const void* propertyValue) - { - static_cast (client)->routingChanged (propertyValue); + return static_cast (client)->process (flags, time, numFrames, data); } - //================================================================================================== + //============================================================================== void resetFormat (const int numChannels) noexcept { zerostruct (format); @@ -507,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; } @@ -515,31 +697,28 @@ private: // to make it loud. Needed because by default when using an input + output, the output is kept quiet. static void fixAudioRouteIfSetToReceiver() { - CFStringRef audioRoute = 0; - if (getSessionProperty (kAudioSessionProperty_AudioRoute, audioRoute) == noErr) - { - NSString* route = (NSString*) audioRoute; + auto session = [AVAudioSession sharedInstance]; + auto route = session.currentRoute; - //DBG ("audio route: " + nsStringToJuce (route)); + for (AVAudioSessionPortDescription* port in route.inputs) + { + ignoreUnused (port); + JUCE_IOS_AUDIO_LOG ("AVAudioSession: input: " << [port.description UTF8String]); + } - if ([route hasPrefix: @"Receiver"]) - setSessionUInt32Property (kAudioSessionProperty_OverrideAudioRoute, kAudioSessionOverrideAudioRoute_Speaker); + for (AVAudioSessionPortDescription* port in route.outputs) + { + JUCE_IOS_AUDIO_LOG ("AVAudioSession: output: " << [port.description UTF8String]); - CFRelease (audioRoute); + if ([port.portName isEqualToString: @"Receiver"]) + { + JUCE_NSERROR_CHECK ([session overrideOutputAudioPort: AVAudioSessionPortOverrideSpeaker + error: &error]); + setAudioSessionActive (true); + } } } - template - static OSStatus getSessionProperty (AudioSessionPropertyID propID, Type& result) noexcept - { - UInt32 valueSize = sizeof (result); - return AudioSessionGetProperty (propID, &valueSize, &result); - } - - static bool setSessionUInt32Property (AudioSessionPropertyID propID, UInt32 v) noexcept { return AudioSessionSetProperty (propID, sizeof (v), &v) == kAudioSessionNoError; } - static bool setSessionFloat32Property (AudioSessionPropertyID propID, Float32 v) noexcept { return AudioSessionSetProperty (propID, sizeof (v), &v) == kAudioSessionNoError; } - static bool setSessionFloat64Property (AudioSessionPropertyID propID, Float64 v) noexcept { return AudioSessionSetProperty (propID, sizeof (v), &v) == kAudioSessionNoError; } - JUCE_DECLARE_NON_COPYABLE (iOSAudioIODevice) }; @@ -548,10 +727,10 @@ private: class iOSAudioIODeviceType : public AudioIODeviceType { public: - iOSAudioIODeviceType() : AudioIODeviceType ("iOS Audio") {} + iOSAudioIODeviceType() : AudioIODeviceType (iOSAudioDeviceName) {} void scanForDevices() {} - StringArray getDeviceNames (bool /*wantInputNames*/) const { return StringArray ("iOS Audio"); } + StringArray getDeviceNames (bool /*wantInputNames*/) const { return StringArray (iOSAudioDeviceName); } int getDefaultDeviceIndex (bool /*forInput*/) const { return 0; } int getIndexOfDevice (AudioIODevice* d, bool /*asInput*/) const { return d != nullptr ? 0 : -1; } bool hasSeparateInputsAndOutputs() const { return false; } @@ -559,8 +738,7 @@ public: AudioIODevice* createDevice (const String& outputDeviceName, const String& inputDeviceName) { if (outputDeviceName.isNotEmpty() || inputDeviceName.isNotEmpty()) - return new iOSAudioIODevice (outputDeviceName.isNotEmpty() ? outputDeviceName - : inputDeviceName); + return new iOSAudioIODevice (outputDeviceName.isNotEmpty() ? outputDeviceName : inputDeviceName); return nullptr; } @@ -574,3 +752,21 @@ AudioIODeviceType* AudioIODeviceType::createAudioIODeviceType_iOSAudio() { return new iOSAudioIODeviceType(); } + +//============================================================================== +AudioSessionHolder::AudioSessionHolder() { nativeSession = [[iOSAudioSessionNative alloc] init: this]; } +AudioSessionHolder::~AudioSessionHolder() { [nativeSession release]; } + +void AudioSessionHolder::handleStatusChange (bool enabled, const char* reason) const +{ + for (auto device: activeDevices) + device->handleStatusChange (enabled, reason); +} + +void AudioSessionHolder::handleRouteChange (const char* reason) const +{ + for (auto device: activeDevices) + device->handleRouteChange (reason); +} + +#undef JUCE_NSERROR_CHECK diff --git a/modules/juce_audio_devices/native/juce_linux_JackAudio.cpp b/modules/juce_audio_devices/native/juce_linux_JackAudio.cpp index d9dd8646..1a06a894 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_devices/native/juce_mac_AudioCDReader.mm b/modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm index 8d87fac1..1ef5bd3e 100644 --- a/modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm +++ b/modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm @@ -169,7 +169,7 @@ void AudioCDReader::refreshTrackLengths() { XmlDocument doc (toc); const char* error = CDReaderHelpers::getTrackOffsets (doc, trackStartSamples); - (void) error; // could be logged.. + ignoreUnused (error); // could be logged.. lengthInSamples = trackStartSamples.getLast() - trackStartSamples.getFirst(); } diff --git a/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp b/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp index b5768f40..39fc33c9 100644 --- a/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp +++ b/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp @@ -31,6 +31,12 @@ #ifdef __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wnonnull" // aovid some spurious 10.11 SDK warnings + + // The AudioHardwareService stuff was deprecated in 10.11 but there's no replacement yet, + // so we'll have to silence the warnings here and revisit it in a future OS version.. + #if defined (MAC_OS_X_VERSION_10_11) && MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_11 + #pragma clang diagnostic ignored "-Wdeprecated-declarations" + #endif #endif //============================================================================== @@ -382,65 +388,84 @@ public: return 0; } - void updateDetailsFromDevice() + int getFrameSizeFromDevice() const { - stopTimer(); + AudioObjectPropertyAddress pa; + pa.mScope = kAudioObjectPropertyScopeWildcard; + pa.mElement = kAudioObjectPropertyElementMaster; + pa.mSelector = kAudioDevicePropertyBufferFrameSize; - if (deviceID == 0) - return; + UInt32 framesPerBuf = (UInt32) bufferSize; + UInt32 size = sizeof (framesPerBuf); + AudioObjectGetPropertyData (deviceID, &pa, 0, nullptr, &size, &framesPerBuf); + return (int) framesPerBuf; + } - // this collects all the new details from the device without any locking, then - // locks + swaps them afterwards. + bool isDeviceAlive() const + { AudioObjectPropertyAddress pa; pa.mScope = kAudioObjectPropertyScopeWildcard; pa.mElement = kAudioObjectPropertyElementMaster; + pa.mSelector = kAudioDevicePropertyDeviceIsAlive; - UInt32 isAlive; + UInt32 isAlive = 0; UInt32 size = sizeof (isAlive); - pa.mSelector = kAudioDevicePropertyDeviceIsAlive; - if (OK (AudioObjectGetPropertyData (deviceID, &pa, 0, nullptr, &size, &isAlive)) && isAlive == 0) - return; + return deviceID != 0 + && OK (AudioObjectGetPropertyData (deviceID, &pa, 0, nullptr, &size, &isAlive)) + && isAlive != 0; + } - const double currentRate = getNominalSampleRate(); - if (currentRate > 0) - sampleRate = currentRate; + bool updateDetailsFromDevice() + { + stopTimer(); - UInt32 framesPerBuf = (UInt32) bufferSize; - size = sizeof (framesPerBuf); - pa.mSelector = kAudioDevicePropertyBufferFrameSize; - AudioObjectGetPropertyData (deviceID, &pa, 0, nullptr, &size, &framesPerBuf); + if (! isDeviceAlive()) + return false; + + // this collects all the new details from the device without any locking, then + // locks + swaps them afterwards. - Array newBufferSizes (getBufferSizesFromDevice()); - Array newSampleRates (getSampleRatesFromDevice()); + const double newSampleRate = getNominalSampleRate(); + const int newBufferSize = getFrameSizeFromDevice(); - inputLatency = getLatencyFromDevice (kAudioDevicePropertyScopeInput); - outputLatency = getLatencyFromDevice (kAudioDevicePropertyScopeOutput); + Array newBufferSizes = getBufferSizesFromDevice(); + Array newSampleRates = getSampleRatesFromDevice(); + + const int newInputLatency = getLatencyFromDevice (kAudioDevicePropertyScopeInput); + const int newOutputLatency = getLatencyFromDevice (kAudioDevicePropertyScopeOutput); Array newInChans, newOutChans; StringArray newInNames (getChannelInfo (true, newInChans)); StringArray newOutNames (getChannelInfo (false, newOutChans)); - const int inputBitDepth = getBitDepthFromDevice (kAudioDevicePropertyScopeInput); - const int outputBitDepth = getBitDepthFromDevice (kAudioDevicePropertyScopeOutput); + const int newBitDepth = jmax (getBitDepthFromDevice (kAudioDevicePropertyScopeInput), + getBitDepthFromDevice (kAudioDevicePropertyScopeOutput)); + + { + const ScopedLock sl (callbackLock); - bitDepth = jmax (inputBitDepth, outputBitDepth); - if (bitDepth <= 0) - bitDepth = 32; + bitDepth = newBitDepth > 0 ? newBitDepth : 32; - // after getting the new values, lock + apply them - const ScopedLock sl (callbackLock); + if (newSampleRate > 0) + sampleRate = newSampleRate; - bufferSize = (int) framesPerBuf; - allocateTempBuffers(); + inputLatency = newInputLatency; + outputLatency = newOutputLatency; + bufferSize = newBufferSize; - sampleRates.swapWith (newSampleRates); - bufferSizes.swapWith (newBufferSizes); + sampleRates.swapWith (newSampleRates); + bufferSizes.swapWith (newBufferSizes); - inChanNames.swapWith (newInNames); - outChanNames.swapWith (newOutNames); + inChanNames.swapWith (newInNames); + outChanNames.swapWith (newOutNames); - inputChannelInfo.swapWith (newInChans); - outputChannelInfo.swapWith (newOutChans); + inputChannelInfo.swapWith (newInChans); + outputChannelInfo.swapWith (newOutChans); + + allocateTempBuffers(); + } + + return true; } //============================================================================== @@ -666,7 +691,7 @@ public: { const ScopedLock sl (callbackLock); } - // wait until it's definately stopped calling back.. + // wait until it's definitely stopped calling back.. for (int i = 40; --i >= 0;) { Thread::sleep (50); @@ -763,9 +788,10 @@ public: stopTimer(); const double oldSampleRate = sampleRate; const int oldBufferSize = bufferSize; - updateDetailsFromDevice(); - if (oldBufferSize != bufferSize || oldSampleRate != sampleRate) + if (! updateDetailsFromDevice()) + owner.stop(); + else if (oldBufferSize != bufferSize || oldSampleRate != sampleRate) owner.restart(); } diff --git a/modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp b/modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp index d1ad9370..7e49c6b8 100644 --- a/modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp +++ b/modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp @@ -37,7 +37,7 @@ namespace CoreMidiHelpers Logger::writeToLog ("CoreMIDI error: " + String (lineNum) + " - " + String::toHexString ((int) err)); #endif - (void) lineNum; + ignoreUnused (lineNum); return false; } @@ -171,6 +171,10 @@ namespace CoreMidiHelpers static StringArray findDevices (const bool forInput) { + // It seems that OSX can be a bit picky about the thread that's first used to + // search for devices. It's safest to use the message thread for calling this. + jassert (MessageManager::getInstance()->isThisTheMessageThread()); + const ItemCount num = forInput ? MIDIGetNumberOfSources() : MIDIGetNumberOfDestinations(); StringArray s; diff --git a/modules/juce_audio_devices/native/juce_win32_ASIO.cpp b/modules/juce_audio_devices/native/juce_win32_ASIO.cpp index d385b180..cbe963f5 100644 --- a/modules/juce_audio_devices/native/juce_win32_ASIO.cpp +++ b/modules/juce_audio_devices/native/juce_win32_ASIO.cpp @@ -67,7 +67,7 @@ namespace ASIODebugging #else static void dummyLog() {} #define JUCE_ASIO_LOG(msg) ASIODebugging::dummyLog() - #define JUCE_ASIO_LOG_ERROR(msg, errNum) (void) errNum; ASIODebugging::dummyLog() + #define JUCE_ASIO_LOG_ERROR(msg, errNum) ignoreUnused (errNum); ASIODebugging::dummyLog() #endif } @@ -320,9 +320,9 @@ public: classId (clsID), inputLatency (0), outputLatency (0), - minSize (0), maxSize (0), - preferredSize (0), - granularity (0), + minBufferSize (0), maxBufferSize (0), + preferredBufferSize (0), + bufferGranularity (0), numClockSources (0), currentBlockSizeSamples (0), currentBitDepth (16), @@ -403,7 +403,7 @@ public: Array getAvailableSampleRates() override { return sampleRates; } Array getAvailableBufferSizes() override { return bufferSizes; } - int getDefaultBufferSize() override { return preferredSize; } + int getDefaultBufferSize() override { return preferredBufferSize; } String open (const BigInteger& inputChannels, const BigInteger& outputChannels, @@ -469,10 +469,10 @@ public: removeCurrentDriver(); loadDriver(); - const String error (initDriver()); + String initError = initDriver(); - if (error.isNotEmpty()) - JUCE_ASIO_LOG ("ASIOInit: " + error); + if (initError.isNotEmpty()) + JUCE_ASIO_LOG ("ASIOInit: " + initError); needToReset = false; } @@ -489,7 +489,7 @@ public: if (err != ASE_OK) { - currentBlockSizeSamples = preferredSize; + currentBlockSizeSamples = preferredBufferSize; JUCE_ASIO_LOG_ERROR ("create buffers 2", err); asioObject->disposeBuffers(); @@ -561,8 +561,7 @@ public: } readLatencies(); - - asioObject->getBufferSize (&minSize, &maxSize, &preferredSize, &granularity); + refreshBufferSizes(); deviceIsOpen = true; JUCE_ASIO_LOG ("starting"); @@ -690,31 +689,24 @@ public: JUCE_ASIO_LOG ("showing control panel"); bool done = false; + insideControlPanelModalLoop = true; - JUCE_TRY - { - // are there are devices that need to be closed before showing their control panel? - // close(); - insideControlPanelModalLoop = true; - - const uint32 started = Time::getMillisecondCounter(); + const uint32 started = Time::getMillisecondCounter(); - if (asioObject != nullptr) - { - asioObject->controlPanel(); + if (asioObject != nullptr) + { + asioObject->controlPanel(); - const int spent = (int) Time::getMillisecondCounter() - (int) started; + const int spent = (int) Time::getMillisecondCounter() - (int) started; - JUCE_ASIO_LOG ("spent: " + String (spent)); + JUCE_ASIO_LOG ("spent: " + String (spent)); - if (spent > 300) - { - shouldUsePreferredSize = true; - done = true; - } + if (spent > 300) + { + shouldUsePreferredSize = true; + done = true; } } - JUCE_CATCH_ALL insideControlPanelModalLoop = false; return done; @@ -769,7 +761,7 @@ private: Array sampleRates; Array bufferSizes; long inputLatency, outputLatency; - long minSize, maxSize, preferredSize, granularity; + long minBufferSize, maxBufferSize, preferredBufferSize, bufferGranularity; ASIOClockSource clocks[32]; int numClockSources; @@ -836,23 +828,27 @@ private: } } - int readBufferSizes (int bufferSizeSamples) + long refreshBufferSizes() { - minSize = 0; - maxSize = 0; - granularity = 0; + return asioObject->getBufferSize (&minBufferSize, &maxBufferSize, &preferredBufferSize, &bufferGranularity); + } + int readBufferSizes (int bufferSizeSamples) + { + minBufferSize = 0; + maxBufferSize = 0; + bufferGranularity = 0; long newPreferredSize = 0; - if (asioObject->getBufferSize (&minSize, &maxSize, &newPreferredSize, &granularity) == ASE_OK) + if (asioObject->getBufferSize (&minBufferSize, &maxBufferSize, &newPreferredSize, &bufferGranularity) == ASE_OK) { - if (preferredSize != 0 && newPreferredSize != 0 && newPreferredSize != preferredSize) + if (preferredBufferSize != 0 && newPreferredSize != 0 && newPreferredSize != preferredBufferSize) shouldUsePreferredSize = true; - if (bufferSizeSamples < minSize || bufferSizeSamples > maxSize) + if (bufferSizeSamples < minBufferSize || bufferSizeSamples > maxBufferSize) shouldUsePreferredSize = true; - preferredSize = newPreferredSize; + preferredBufferSize = newPreferredSize; } // unfortunate workaround for certain drivers which crash if you make @@ -862,11 +858,11 @@ private: if (shouldUsePreferredSize) { JUCE_ASIO_LOG ("Using preferred size for buffer.."); - long err = asioObject->getBufferSize (&minSize, &maxSize, &preferredSize, &granularity); + long err = refreshBufferSizes(); if (err == ASE_OK) { - bufferSizeSamples = (int) preferredSize; + bufferSizeSamples = (int) preferredBufferSize; } else { @@ -1089,8 +1085,8 @@ private: if (i < 2) { // clear the channels that are used with the dummy stuff - outputFormat[i].clear (bufferInfos [outputBufferIndex + i].buffers[0], preferredSize); - outputFormat[i].clear (bufferInfos [outputBufferIndex + i].buffers[1], preferredSize); + outputFormat[i].clear (bufferInfos [outputBufferIndex + i].buffers[0], preferredBufferSize); + outputFormat[i].clear (bufferInfos [outputBufferIndex + i].buffers[1], preferredBufferSize); } } } @@ -1210,9 +1206,9 @@ private: inputFormat.calloc (chansToAllocate); outputFormat.calloc (chansToAllocate); - if ((err = asioObject->getBufferSize (&minSize, &maxSize, &preferredSize, &granularity)) == 0) + if ((err = refreshBufferSizes()) == 0) { - addBufferSizes (minSize, maxSize, preferredSize, granularity); + addBufferSizes (minBufferSize, maxBufferSize, preferredBufferSize, bufferGranularity); double currentRate = getSampleRate(); @@ -1233,8 +1229,8 @@ private: updateSampleRates(); - readLatencies(); // ..doing these steps because cubase does so at this stage - createDummyBuffers (preferredSize); // in initialisation, and some devices fail if we don't. + readLatencies(); // ..doing these steps because cubase does so at this stage + createDummyBuffers (preferredBufferSize); // in initialisation, and some devices fail if we don't. readLatencies(); // start and stop because cubase does it.. @@ -1414,12 +1410,6 @@ private: } }; - template <> - struct ASIOCallbackFunctions - { - static void setCallbacksForDevice (ASIOCallbacks&, ASIOAudioIODevice*) noexcept {} - }; - void setCallbackFunctions() noexcept { ASIOCallbackFunctions<0>::setCallbacksForDevice (callbacks, this); @@ -1428,6 +1418,12 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ASIOAudioIODevice) }; +template <> +struct ASIOAudioIODevice::ASIOCallbackFunctions +{ + static void setCallbacksForDevice (ASIOCallbacks&, ASIOAudioIODevice*) noexcept {} +}; + //============================================================================== class ASIOAudioIODeviceType : public AudioIODeviceType { @@ -1571,7 +1567,7 @@ private: DWORD dsize = sizeof (pathName); if (RegQueryValueEx (pathKey, 0, 0, &dtype, (LPBYTE) pathName, &dsize) == ERROR_SUCCESS) - // In older code, this used to check for the existance of the file, but there are situations + // In older code, this used to check for the existence of the file, but there are situations // where our process doesn't have access to it, but where the driver still loads ok.. ok = (pathName[0] != 0); diff --git a/modules/juce_audio_devices/native/juce_win32_DirectSound.cpp b/modules/juce_audio_devices/native/juce_win32_DirectSound.cpp index 3d2d92ca..410e9806 100644 --- a/modules/juce_audio_devices/native/juce_win32_DirectSound.cpp +++ b/modules/juce_audio_devices/native/juce_win32_DirectSound.cpp @@ -182,11 +182,9 @@ namespace DSoundLogging } } - #define CATCH JUCE_CATCH_EXCEPTION #define JUCE_DS_LOG(a) DSoundLogging::logMessage(a); #define JUCE_DS_LOG_ERROR(a) DSoundLogging::logError(a, __LINE__); #else - #define CATCH JUCE_CATCH_ALL #define JUCE_DS_LOG(a) #define JUCE_DS_LOG_ERROR(a) #endif @@ -251,7 +249,7 @@ public: { JUCE_DS_LOG ("closing output: " + name); HRESULT hr = pOutputBuffer->Stop(); - JUCE_DS_LOG_ERROR (hr); (void) hr; + JUCE_DS_LOG_ERROR (hr); ignoreUnused (hr); pOutputBuffer->Release(); pOutputBuffer = nullptr; @@ -354,7 +352,7 @@ public: hr = pOutputBuffer->Play (0, 0, 1 /* DSBPLAY_LOOPING */); if (SUCCEEDED (hr)) - return String::empty; + return String(); } } } @@ -534,7 +532,7 @@ public: { JUCE_DS_LOG ("closing input: " + name); HRESULT hr = pInputBuffer->Stop(); - JUCE_DS_LOG_ERROR (hr); (void) hr; + JUCE_DS_LOG_ERROR (hr); ignoreUnused (hr); pInputBuffer->Release(); pInputBuffer = nullptr; @@ -597,7 +595,7 @@ public: hr = pInputBuffer->Start (1 /* DSCBSTART_LOOPING */); if (SUCCEEDED (hr)) - return String::empty; + return String(); } } diff --git a/modules/juce_audio_devices/native/juce_win32_WASAPI.cpp b/modules/juce_audio_devices/native/juce_win32_WASAPI.cpp index 1b2a4ad4..d2b6422b 100644 --- a/modules/juce_audio_devices/native/juce_win32_WASAPI.cpp +++ b/modules/juce_audio_devices/native/juce_win32_WASAPI.cpp @@ -32,7 +32,7 @@ namespace WasapiClasses void logFailure (HRESULT hr) { - (void) hr; + ignoreUnused (hr); jassert (hr != (HRESULT) 0x800401f0); // If you hit this, it means you're trying to call from // a thread which hasn't been initialised with CoInitialize(). @@ -112,6 +112,11 @@ bool check (HRESULT hr) #define JUCE_COMCLASS(name, guid) struct __declspec (uuid (guid)) name #endif +#if JUCE_MINGW && defined (KSDATAFORMAT_SUBTYPE_PCM) + #undef KSDATAFORMAT_SUBTYPE_PCM + #undef KSDATAFORMAT_SUBTYPE_IEEE_FLOAT +#endif + #ifndef KSDATAFORMAT_SUBTYPE_PCM #define KSDATAFORMAT_SUBTYPE_PCM uuidFromString ("00000001-0000-0010-8000-00aa00389b71") #define KSDATAFORMAT_SUBTYPE_IEEE_FLOAT uuidFromString ("00000003-0000-0010-8000-00aa00389b71") diff --git a/modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp index 8a4057fd..b6cb3063 100644 --- a/modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp @@ -715,7 +715,7 @@ private: using namespace AiffFileHelpers; const bool couldSeekOk = output->setPosition (headerPosition); - (void) couldSeekOk; + ignoreUnused (couldSeekOk); // if this fails, you've given it an output stream that can't seek! It needs // to be able to seek back to write the header @@ -1003,7 +1003,7 @@ AudioFormatWriter* AiffAudioFormat::createWriterFor (OutputStream* out, const StringPairArray& metadataValues, int /*qualityOptionIndex*/) { - if (getPossibleBitDepths().contains (bitsPerSample)) + if (out != nullptr && getPossibleBitDepths().contains (bitsPerSample)) return new AiffAudioFormatWriter (out, sampleRate, numberOfChannels, (unsigned int) bitsPerSample, metadataValues); return nullptr; diff --git a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp index d11b17b3..ceb8a5ee 100644 --- a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp @@ -112,19 +112,28 @@ struct CoreAudioFormatMetatdata }; //============================================================================== - struct UserDefinedChunk + static StringPairArray parseUserDefinedChunk (InputStream& input, int64 size) { - UserDefinedChunk (InputStream& input, int64 size) + StringPairArray infoStrings; + const int64 originalPosition = input.getPosition(); + + uint8 uuid[16]; + input.read (uuid, sizeof (uuid)); + + if (memcmp (uuid, "\x29\x81\x92\x73\xB5\xBF\x4A\xEF\xB7\x8D\x62\xD1\xEF\x90\xBB\x2C", 16) == 0) { - // a user defined chunk contains 16 bytes of a UUID first - uuid[1] = input.readInt64BigEndian(); - uuid[0] = input.readInt64BigEndian(); + const uint32 numEntries = (uint32) input.readIntBigEndian(); - input.skipNextBytes (size - 16); + for (uint32 i = 0; i < numEntries && input.getPosition() < originalPosition + size; ++i) + { + String keyName = input.readString(); + infoStrings.set (keyName, input.readString()); + } } - int64 uuid[2]; - }; + input.setPosition (originalPosition + size); + return infoStrings; + } //============================================================================== static StringPairArray parseMidiChunk (InputStream& input, int64 size) @@ -288,7 +297,7 @@ struct CoreAudioFormatMetatdata } else if (chunkHeader.chunkType == chunkName ("uuid")) { - UserDefinedChunk userDefinedChunk (input, chunkHeader.chunkSize); + metadataValues.addArray (parseUserDefinedChunk (input, chunkHeader.chunkSize)); } else if (chunkHeader.chunkType == chunkName ("data")) { diff --git a/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp index 34e6a3bb..2afebbed 100644 --- a/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp @@ -29,7 +29,7 @@ namespace FlacNamespace #if JUCE_INCLUDE_FLAC_CODE || ! defined (JUCE_INCLUDE_FLAC_CODE) #undef VERSION - #define VERSION "1.2.1" + #define VERSION "1.3.1" #define FLAC__NO_DLL 1 @@ -433,7 +433,7 @@ public: memcpy (buffer + 18, info.md5sum, 16); const bool seekOk = output->setPosition (4); - (void) seekOk; + ignoreUnused (seekOk); // if this fails, you've given it an output stream that can't seek! It needs // to be able to seek back to write the header @@ -536,7 +536,7 @@ AudioFormatWriter* FlacAudioFormat::createWriterFor (OutputStream* out, const StringPairArray& /*metadataValues*/, int qualityOptionIndex) { - if (getPossibleBitDepths().contains (bitsPerSample)) + if (out != nullptr && getPossibleBitDepths().contains (bitsPerSample)) { ScopedPointer w (new FlacWriter (out, sampleRate, numberOfChannels, (uint32) bitsPerSample, qualityOptionIndex)); diff --git a/modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp index c7468fbe..8be87bf6 100644 --- a/modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp @@ -110,7 +110,7 @@ private: if (cp.start (processArgs)) { const String childOutput (cp.readAllProcessOutput()); - DBG (childOutput); (void) childOutput; + DBG (childOutput); ignoreUnused (childOutput); cp.waitForProcessToFinish (10000); return tempMP3.getFile().getSize() > 0; @@ -205,6 +205,9 @@ AudioFormatWriter* LAMEEncoderAudioFormat::createWriterFor (OutputStream* stream const StringPairArray& metadataValues, int qualityOptionIndex) { + if (streamToWriteTo == nullptr) + return nullptr; + int vbr = 4; int cbr = 0; diff --git a/modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp index b4680105..4921ec08 100644 --- a/modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp @@ -1613,7 +1613,7 @@ private: headerParsed = sideParsed = dataParsed = isFreeFormat = wasFreeFormat = false; lastFrameSize = -1; needToSyncBitStream = true; - frameSize = sideInfoSize = dataSize = frameSize = bitIndex = 0; + frameSize = sideInfoSize = dataSize = bitIndex = 0; lastFrameSizeNoPadding = bufferSpaceIndex = 0; bufferPointer = bufferSpace[bufferSpaceIndex] + 512; synthBo = 1; diff --git a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp index b396c2d0..454156f4 100644 --- a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp @@ -483,8 +483,12 @@ AudioFormatWriter* OggVorbisAudioFormat::createWriterFor (OutputStream* out, const StringPairArray& metadataValues, int qualityOptionIndex) { + if (out == nullptr) + return nullptr; + ScopedPointer w (new OggWriter (out, sampleRate, numChannels, - (unsigned int) bitsPerSample, qualityOptionIndex, metadataValues)); + (unsigned int) bitsPerSample, + qualityOptionIndex, metadataValues)); return w->ok ? w.release() : nullptr; } diff --git a/modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp index 8c270e4e..1ad2e6f5 100644 --- a/modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp @@ -27,15 +27,11 @@ } // (juce namespace) #if ! JUCE_WINDOWS - #define Point CarbonDummyPointName // (workaround to avoid definition of "Point" by old Carbon headers) - #define Component CarbonDummyCompName #include #include #include #include #include - #undef Point - #undef Component #else #if JUCE_MSVC #pragma warning (push) @@ -226,7 +222,7 @@ public: DisposeMovie (movie); #if JUCE_MAC - ExitMoviesOnThread (); + ExitMoviesOnThread(); #endif } } diff --git a/modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp index a1f8323d..24d808c2 100644 --- a/modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp @@ -646,6 +646,24 @@ namespace WavFileHelpers return true; } + static String getStringFromWindows1252Codepage (const uint8* data, size_t num) + { + HeapBlock unicode (num + 1); + + for (size_t i = 0; i < num; ++i) + unicode[i] = CharacterFunctions::getUnicodeCharFromWindows1252Codepage (data[i]); + + unicode[num] = 0; + return CharPointer_UTF32 (unicode); + } + + static String getStringFromData (const MemoryBlock& mb) + { + return CharPointer_UTF8::isValidString ((const char*) mb.getData(), (int) mb.getSize()) + ? mb.toString() + : getStringFromWindows1252Codepage ((const uint8*) mb.getData(), mb.getSize()); + } + static void addToMetadata (StringPairArray& values, InputStream& input, int64 chunkEnd) { while (input.getPosition() < chunkEnd) @@ -664,7 +682,7 @@ namespace WavFileHelpers { MemoryBlock mb; input.readIntoMemoryBlock (mb, (ssize_t) infoLength); - values.set (types[i], mb.toString()); + values.set (types[i], getStringFromData (mb)); break; } } @@ -845,7 +863,7 @@ namespace WavFileHelpers static MemoryBlock createFrom (const StringPairArray& values) { - const String ISRC (values.getValue (WavAudioFormat::ISRC, String::empty)); + const String ISRC (values.getValue (WavAudioFormat::ISRC, String())); MemoryOutputStream xml; if (ISRC.isNotEmpty()) @@ -1606,7 +1624,7 @@ AudioFormatWriter* WavAudioFormat::createWriterFor (OutputStream* out, double sa unsigned int numChannels, int bitsPerSample, const StringPairArray& metadataValues, int /*qualityOptionIndex*/) { - if (getPossibleBitDepths().contains (bitsPerSample)) + if (out != nullptr && getPossibleBitDepths().contains (bitsPerSample)) return new WavAudioFormatWriter (out, sampleRate, (unsigned int) numChannels, (unsigned int) bitsPerSample, metadataValues); diff --git a/modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp index 746ce640..cc22f41a 100644 --- a/modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp @@ -166,6 +166,9 @@ public: checkCoInitialiseCalled(); + clearSamplesBeyondAvailableLength (destSamples, numDestChannels, startOffsetInDestBuffer, + startSampleInFile, numSamples, lengthInSamples); + const int stride = numChannels * sizeof (int16); while (numSamples > 0) @@ -297,7 +300,7 @@ private: sampleRate = inputFormat->nSamplesPerSec; numChannels = inputFormat->nChannels; - bitsPerSample = inputFormat->wBitsPerSample; + bitsPerSample = inputFormat->wBitsPerSample != 0 ? inputFormat->wBitsPerSample : 16; lengthInSamples = (lengthInNanoseconds * (int) sampleRate) / 10000000; } } diff --git a/modules/juce_audio_formats/format/juce_AudioFormatManager.h b/modules/juce_audio_formats/format/juce_AudioFormatManager.h index 3ad92131..2d30bd63 100644 --- a/modules/juce_audio_formats/format/juce_AudioFormatManager.h +++ b/modules/juce_audio_formats/format/juce_AudioFormatManager.h @@ -126,8 +126,8 @@ public: The stream that is passed-in must be capable of being repositioned so that all the formats can have a go at opening it. - If none of the registered formats can open the stream, it'll return 0. If it - returns a reader, it's the caller's responsibility to delete the reader. + If none of the registered formats can open the stream, it'll return nullptr. + If it returns a reader, it's the caller's responsibility to delete the reader. */ AudioFormatReader* createReaderFor (InputStream* audioFileStream); diff --git a/modules/juce_audio_formats/juce_audio_formats.cpp b/modules/juce_audio_formats/juce_audio_formats.cpp index 8a157b6a..499fae1b 100644 --- a/modules/juce_audio_formats/juce_audio_formats.cpp +++ b/modules/juce_audio_formats/juce_audio_formats.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_AUDIO_FORMATS_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_AUDIO_FORMATS_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,23 +31,18 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" +#define JUCE_CORE_INCLUDE_COM_SMART_PTR 1 +#define JUCE_CORE_INCLUDE_JNI_HELPERS 1 +#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1 -#include "../juce_core/native/juce_BasicNativeHeaders.h" #include "juce_audio_formats.h" //============================================================================== #if JUCE_MAC - #define Point CarbonDummyPointName - #define Component CarbonDummyCompName #if JUCE_QUICKTIME #import #endif #include - #undef Component - #undef Point #elif JUCE_IOS #import @@ -89,14 +84,9 @@ namespace juce { #if JUCE_ANDROID - #include "../juce_core/native/juce_android_JNIHelpers.h" #undef JUCE_QUICKTIME #endif -#if JUCE_WINDOWS - #include "../juce_core/native/juce_win32_ComSmartPtr.h" -#endif - #include "format/juce_AudioFormat.cpp" #include "format/juce_AudioFormatManager.cpp" #include "format/juce_AudioFormatReader.cpp" diff --git a/modules/juce_audio_formats/juce_audio_formats.h b/modules/juce_audio_formats/juce_audio_formats.h index 13cc25f7..4990620c 100644 --- a/modules/juce_audio_formats/juce_audio_formats.h +++ b/modules/juce_audio_formats/juce_audio_formats.h @@ -22,12 +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_formats + vendor: juce + version: 4.2.1 + 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 Enables the FLAC audio codec classes (available on all platforms). If your app doesn't need to read FLAC files, you might want to disable this to @@ -81,7 +107,7 @@ #define JUCE_USE_WINDOWS_MEDIA_FORMAT 0 #endif -//============================================================================= +//============================================================================== namespace juce { diff --git a/modules/juce_audio_formats/juce_module_info b/modules/juce_audio_formats/juce_module_info deleted file mode 100644 index 555bc9a5..00000000 --- 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 38f04c4a..4b88b63e 100644 --- a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp @@ -22,23 +22,15 @@ ============================================================================== */ -// 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" - +#include "../../juce_core/system/juce_TargetPlatform.h" #include "../utility/juce_CheckSettingMacros.h" #if JucePlugin_Build_AAX && (JUCE_INCLUDED_AAX_IN_MM || defined (_WIN32) || defined (_WIN64)) -#ifdef _MSC_VER - #include -#else - #include -#endif - +#include "../utility/juce_IncludeSystemHeaders.h" #include "../utility/juce_IncludeModuleHeaders.h" +#include "../utility/juce_WindowsHooks.h" #include "../utility/juce_PluginBusUtilities.h" -#undef Component #ifdef __clang__ #pragma clang diagnostic push @@ -48,26 +40,26 @@ #ifdef _MSC_VER #pragma warning (push) - #pragma warning (disable : 4127) + #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) @@ -79,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 @@ -101,16 +93,17 @@ #undef check -using juce::Component; - const int32_t juceChunkType = 'juce'; +const int maxAAXChannels = 8; + +JUCE_DEFINE_WRAPPER_TYPE (wrapperType_AAX); //============================================================================== struct AAXClasses { static void check (AAX_Result result) { - jassert (result == AAX_SUCCESS); (void) result; + jassert (result == AAX_SUCCESS); ignoreUnused (result); } static int getParamIndexFromID (AAX_CParamID paramID) noexcept @@ -123,6 +116,16 @@ struct AAXClasses return AAX::IsParameterIDEqual (paramID, cDefaultMasterBypassID) != 0; } + // maps a channel index of an AAX format to an index of a juce format + struct AAXChannelStreamOrder + { + AAX_EStemFormat aaxStemFormat; + AudioChannelSet::ChannelType speakerOrder[8]; + }; + + static AAXChannelStreamOrder aaxChannelOrder[]; + static AAX_EStemFormat aaxFormats[AAX_eStemFormatNum]; + static AAX_EStemFormat getFormatForAudioChannelSet (const AudioChannelSet& set, bool ignoreLayout) noexcept { // if the plug-in ignores layout, it is ok to convert between formats only by their numchannnels @@ -231,6 +234,24 @@ struct AAXClasses return Colours::black; } + static int juceChannelIndexToAax (int juceIndex, const AudioChannelSet& channelSet) + { + AAX_EStemFormat currentLayout = getFormatForAudioChannelSet (channelSet, false); + + int layoutIndex; + for (layoutIndex = 0; aaxChannelOrder[layoutIndex].aaxStemFormat != currentLayout; ++layoutIndex) + if (aaxChannelOrder[layoutIndex].aaxStemFormat == 0) return juceIndex; + + const AAXChannelStreamOrder& channelOrder = aaxChannelOrder[layoutIndex]; + const AudioChannelSet::ChannelType channelType = channelSet.getTypeOfChannel (static_cast (juceIndex)); + + for (int i = 0; i < 8 && channelOrder.speakerOrder[i] != 0; ++i) + if (channelOrder.speakerOrder[i] == channelType) + return i; + + return juceIndex; + } + //============================================================================== class JuceAAX_Processor; @@ -389,7 +410,7 @@ struct AAXClasses } private: - struct ContentWrapperComponent : public juce::Component + struct ContentWrapperComponent : public Component { ContentWrapperComponent (JuceAAX_GUI& gui, AudioProcessor& plugin) : owner (gui) @@ -457,6 +478,10 @@ struct AAXClasses ScopedPointer pluginEditor; JuceAAX_GUI& owner; + #if JUCE_WINDOWS + WindowsHooks hooks; + #endif + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ContentWrapperComponent) }; @@ -473,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 { @@ -847,7 +876,7 @@ struct AAXClasses jassert (idx < (mainNumIns + 1)); if (idx < mainNumIns) - return inputs[idx]; + return inputs[inputLayoutMap[idx]]; return (sidechain != -1 ? inputs[sidechain] : sideChainBuffer.getData()); } @@ -859,33 +888,47 @@ struct AAXClasses const int numIns = pluginInstance->getTotalNumInputChannels(); const int numOuts = pluginInstance->getTotalNumOutputChannels(); - const int mainNumIns = numIns > 0 ? pluginInstance->busArrangement.inputBuses.getReference (0).channels.size() : 0; - const int sidechain = busUtils.getNumEnabledBuses (true) >= 2 ? sideChainBufferIdx : -1; - - if (numOuts >= numIns) + if (pluginInstance->isSuspended()) { - for (int i = 0; i < numIns; ++i) - memcpy (outputs[i], getAudioBufferForInput (inputs, sidechain, mainNumIns, i), (size_t) bufferSize * sizeof (float)); - - process (outputs, numOuts, bufferSize, bypass, midiNodeIn, midiNodesOut); + for (int i = 0; i < numOuts; ++i) + FloatVectorOperations::clear (outputs[i], bufferSize); } else { - if (channelList.size() <= numIns) - channelList.insertMultiple (-1, nullptr, 1 + numIns - channelList.size()); + const int mainNumIns = numIns > 0 ? pluginInstance->busArrangement.inputBuses.getReference (0).channels.size() : 0; + const int sidechain = busUtils.getNumEnabledBuses (true) >= 2 ? sideChainBufferIdx : -1; + const int numChans = jmax (numIns, numOuts); + + if (numChans == 0) return; + + if (channelList.size() <= numChans) + channelList.insertMultiple (-1, nullptr, 1 + numChans - channelList.size()); float** channels = channelList.getRawDataPointer(); - for (int i = 0; i < numOuts; ++i) + if (numOuts >= numIns) { - memcpy (outputs[i], getAudioBufferForInput (inputs, sidechain, mainNumIns, i), (size_t) bufferSize * sizeof (float)); - channels[i] = outputs[i]; + for (int i = 0; i < numOuts; ++i) + channels[i] = outputs[outputLayoutMap[i]]; + + for (int i = 0; i < numIns; ++i) + memcpy (channels[i], getAudioBufferForInput (inputs, sidechain, mainNumIns, i), (size_t) bufferSize * sizeof (float)); + + process (channels, numOuts, bufferSize, bypass, midiNodeIn, midiNodesOut); } + else + { + for (int i = 0; i < numOuts; ++i) + channels[i] = outputs[outputLayoutMap[i]]; - for (int i = numOuts; i < numIns; ++i) - channels[i] = const_cast (getAudioBufferForInput (inputs, sidechain, mainNumIns, i)); + for (int i = 0; i < numOuts; ++i) + memcpy (channels[i], getAudioBufferForInput (inputs, sidechain, mainNumIns, i), (size_t) bufferSize * sizeof (float)); - process (channels, numIns, bufferSize, bypass, midiNodeIn, midiNodesOut); + for (int i = numOuts; i < numIns; ++i) + channels[i] = const_cast (getAudioBufferForInput (inputs, sidechain, mainNumIns, i)); + + process (channels, numIns, bufferSize, bypass, midiNodeIn, midiNodesOut); + } } } @@ -899,8 +942,7 @@ struct AAXClasses midiBuffer.clear(); - (void) midiNodeIn; - (void) midiNodesOut; + ignoreUnused (midiNodeIn, midiNodesOut); #if JucePlugin_WantsMidiInput || JucePlugin_IsMidiEffect { @@ -968,8 +1010,6 @@ struct AAXClasses } } } - #else - (void) midiNodesOut; #endif } @@ -1063,6 +1103,9 @@ struct AAXClasses || (busUtils.getBusCount (false) > 0 && busUtils.getChannelSet (false, 0) != outputSet) || (hasSidechain && busUtils.getNumChannels(true, 1) != 1)) return AAX_ERROR_UNIMPLEMENTED; + + rebuildChannelMapArrays (true); + rebuildChannelMapArrays (false); #endif audioProcessor.setRateAndBufferSizeDetails (sampleRate, maxBufferSize); @@ -1074,6 +1117,30 @@ struct AAXClasses return AAX_SUCCESS; } + void rebuildChannelMapArrays (bool isInput) + { + Array& layoutMap = isInput ? inputLayoutMap : outputLayoutMap; + layoutMap.clear(); + + const int n = isInput ? jmin (busUtils.getBusCount (true), 1) : busUtils.getBusCount (false); + + int chOffset = 0; + for (int busIdx = 0; busIdx < n; ++busIdx) + { + const AudioChannelSet channelFormat = busUtils.getChannelSet (isInput, busIdx); + + if (channelFormat != AudioChannelSet::disabled()) + { + const int numChannels = channelFormat.size(); + + for (int ch = 0; ch < numChannels; ++ch) + layoutMap.add (juceChannelIndexToAax (ch, channelFormat) + chOffset); + + chOffset += numChannels; + } + } + } + ScopedJuceInitialiser_GUI libraryInitialiser; ScopedPointer pluginInstance; @@ -1085,6 +1152,7 @@ struct AAXClasses int lastBufferSize, maxBufferSize; bool hasSidechain; HeapBlock sideChainBuffer; + Array inputLayoutMap, outputLayoutMap; struct ChunkMemoryBlock : public ReferenceCountedObject { @@ -1162,7 +1230,14 @@ struct AAXClasses { const JUCEAlgorithmContext& i = **iter; - int sideChainBufferIdx = static_cast (i.pluginInstance->parameters.supportsSidechain() && i.sideChainBuffers != nullptr ? *i.sideChainBuffers : static_cast (-1)); + int sideChainBufferIdx = i.pluginInstance->parameters.supportsSidechain() && i.sideChainBuffers != nullptr + ? 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)); @@ -1188,7 +1263,7 @@ struct AAXClasses if (layout == AudioChannelSet::disabled()) { layout = busUtils.getDefaultLayoutForBus (false, busIdx); - busUtils.juceFilter.setPreferredBusArrangement (false, busIdx, layout); + busUtils.processor.setPreferredBusArrangement (false, busIdx, layout); } } @@ -1196,10 +1271,10 @@ struct AAXClasses bool success = true; if (numInputBuses > 0) - success = busUtils.juceFilter.setPreferredBusArrangement (true, 0, inputLayout); + success = busUtils.processor.setPreferredBusArrangement (true, 0, inputLayout); if (success) - success = busUtils.juceFilter.setPreferredBusArrangement (false, 0, outputLayout); + success = busUtils.processor.setPreferredBusArrangement (false, 0, outputLayout); // was the above successful if (success && (numInputBuses == 0 || busUtils.getChannelSet (true, 0) == inputLayout) @@ -1216,11 +1291,12 @@ struct AAXClasses bool success = true; bool hasSidechain = false; - if (const AudioChannelSet* set = busUtils.getSupportedBusLayouts (true, 1).getDefaultLayoutForChannelNum (1)) - hasSidechain = busUtils.juceFilter.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.juceFilter.setPreferredBusArrangement (true, 1, AudioChannelSet::disabled()); + success = busUtils.processor.setPreferredBusArrangement (true, 1, AudioChannelSet::disabled()); // AAX requires your processor's first sidechain to be either mono or that // it can be disabled @@ -1229,7 +1305,7 @@ struct AAXClasses // disable all other input buses for (int busIdx = 2; busIdx < numInputBuses; ++busIdx) { - success = busUtils.juceFilter.setPreferredBusArrangement (true, busIdx, AudioChannelSet::disabled()); + success = busUtils.processor.setPreferredBusArrangement (true, busIdx, AudioChannelSet::disabled()); // AAX can only have a single side-chain input. Therefore, your processor must either // only have a single side-chain input or allow disabling all other side-chains @@ -1244,10 +1320,10 @@ struct AAXClasses // restore the old layout if (busUtils.getBusCount(true) > 0) - busUtils.juceFilter.setPreferredBusArrangement (true, 0, inputLayout); + busUtils.processor.setPreferredBusArrangement (true, 0, inputLayout); if (busUtils.getBusCount (false) > 0) - busUtils.juceFilter.setPreferredBusArrangement (false, 0, outputLayout); + busUtils.processor.setPreferredBusArrangement (false, 0, outputLayout); } } @@ -1308,6 +1384,10 @@ struct AAXClasses properties->AddProperty (AAX_eProperty_Constraint_MultiMonoSupport, true); #endif + #if JucePlugin_AAXDisableDynamicProcessing + properties->AddProperty (AAX_eProperty_Constraint_AlwaysProcess, true); + #endif + if (enableAuxBusesForCurrentFormat (busUtils, inputLayout, outputLayout)) { check (desc.AddSideChainIn (JUCEAlgorithmIDs::sideChainBuffers)); @@ -1328,7 +1408,7 @@ struct AAXClasses AAX_EStemFormat auxFormat = getFormatForAudioChannelSet (outBusLayout, busUtils.busIgnoresLayout (false, busIdx)); if (auxFormat != AAX_eStemFormat_INT32_MAX && auxFormat != AAX_eStemFormat_None) { - const String& name = busUtils.juceFilter.busArrangement.outputBuses.getReference (busIdx).name; + const String& name = busUtils.processor.busArrangement.outputBuses.getReference (busIdx).name; check (desc.AddAuxOutputStem (0, static_cast (auxFormat), name.toRawUTF8())); } } @@ -1343,34 +1423,34 @@ struct AAXClasses static void getPlugInDescription (AAX_IEffectDescriptor& descriptor) { + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_AAX); + ScopedPointer plugin = createPluginFilterOfType (AudioProcessor::wrapperType_AAX); - PluginBusUtilities busUtils (*plugin, false); + PluginBusUtilities busUtils (*plugin, false, maxAAXChannels); - busUtils.findAllCompatibleLayouts(); + 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); descriptor.AddCategory (JucePlugin_AAXCategory); #ifdef JucePlugin_AAXPageTableFile - // optional page table setting - define this macro in your AppConfig.h if you - // want to set this value - see Avid documentation for details about its format. + // optional page table setting - define this macro in your project if you want + // to set this value - see Avid documentation for details about its format. descriptor.AddResourceInfo (AAX_eResourceType_PageTable, JucePlugin_AAXPageTableFile); #endif 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()) { @@ -1383,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.juceFilter.setPreferredBusArrangement (true, 0, inLayouts.getReference (inIdx)); + success = busUtils.processor.setPreferredBusArrangement (true, 0, inLayout); if (numOuts > 0 && success) - success = busUtils.juceFilter.setPreferredBusArrangement (false, 0, outLayouts.getReference (outIdx)); - - // 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(); + success = busUtils.processor.setPreferredBusArrangement (false, 0, outLayout); - // 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 @@ -1422,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)); } } } @@ -1442,6 +1514,42 @@ 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::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}}, +}; + //============================================================================== AAX_Result JUCE_CDECL GetEffectDescriptions (AAX_ICollection*); AAX_Result JUCE_CDECL GetEffectDescriptions (AAX_ICollection* collection) diff --git a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.mm b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.mm deleted file mode 100644 index d01eb7d2..00000000 --- a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.mm +++ /dev/null @@ -1,26 +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. - - ============================================================================== -*/ - -#define JUCE_INCLUDED_AAX_IN_MM 1 -#include "juce_AAX_Wrapper.cpp" 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 c3f952ce..e910b49e 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp @@ -22,10 +22,7 @@ ============================================================================== */ -// 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" - +#include "../../juce_core/system/juce_TargetPlatform.h" #include "../utility/juce_CheckSettingMacros.h" #if JucePlugin_Build_RTAS @@ -52,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 @@ -61,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 cbb411a6..8ab172ed 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp @@ -22,16 +22,22 @@ ============================================================================== */ -// 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" - +#include "../../juce_core/system/juce_TargetPlatform.h" #include "../utility/juce_CheckSettingMacros.h" #if JucePlugin_Build_RTAS #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, @@ -50,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 4fe301a9..165960a4 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode3.cpp +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode3.cpp @@ -22,16 +22,21 @@ ============================================================================== */ -// 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" - +#include "../../juce_core/system/juce_TargetPlatform.h" #include "../utility/juce_CheckSettingMacros.h" #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, @@ -50,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 33255232..fc1a7c5b 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 a40e1f39..00000000 --- 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_MacUtilities.mm b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacUtilities.mm index e4380004..1e259cf7 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacUtilities.mm +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacUtilities.mm @@ -22,10 +22,7 @@ ============================================================================== */ -// 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" - +#include "../../juce_core/system/juce_TargetPlatform.h" #include "../utility/juce_CheckSettingMacros.h" #if JucePlugin_Build_RTAS diff --git a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinUtilities.cpp b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinUtilities.cpp index e76c4303..eb21aec4 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinUtilities.cpp +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinUtilities.cpp @@ -22,10 +22,7 @@ ============================================================================== */ -// 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" - +#include "../../juce_core/system/juce_TargetPlatform.h" #include "../utility/juce_CheckSettingMacros.h" // (these functions are in their own file because of problems including windows.h 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 e61dd61d..f7d7d117 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp @@ -22,10 +22,7 @@ ============================================================================== */ -// 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" - +#include "../../juce_core/system/juce_TargetPlatform.h" #include "../utility/juce_CheckSettingMacros.h" #if JucePlugin_Build_RTAS @@ -42,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 ------------------------ @@ -89,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" @@ -122,19 +132,18 @@ #pragma comment(lib, PT_LIB_PATH "RTASClientLib.lib") #endif -#undef Component #undef MemoryBlock //============================================================================== #if JUCE_WINDOWS - extern void JUCE_CALLTYPE attachSubWindow (void* hostWindow, int& titleW, int& titleH, juce::Component* comp); - extern void JUCE_CALLTYPE resizeHostWindow (void* hostWindow, int& titleW, int& titleH, juce::Component* comp); + extern void JUCE_CALLTYPE attachSubWindow (void* hostWindow, int& titleW, int& titleH, Component* comp); + extern void JUCE_CALLTYPE resizeHostWindow (void* hostWindow, int& titleW, int& titleH, Component* comp); #if ! JucePlugin_EditorRequiresKeyboardFocus extern void JUCE_CALLTYPE passFocusToHostWindow (void* hostWindow); #endif #else - extern void* attachSubWindow (void* hostWindowRef, juce::Component* comp); - extern void removeSubWindow (void* nsWindow, juce::Component* comp); + extern void* attachSubWindow (void* hostWindowRef, Component* comp); + extern void removeSubWindow (void* nsWindow, Component* comp); extern void forwardCurrentKeyEventToHostWindow(); #endif @@ -240,7 +249,7 @@ public: void timerCallback() override { - if (! juce::Component::isMouseButtonDownAnywhere()) + if (! Component::isMouseButtonDownAnywhere()) { stopTimer(); @@ -273,7 +282,7 @@ public: } } - void DrawContents (Rect*) + void DrawContents (Rect*) override { #if JUCE_WINDOWS if (wrapper != nullptr) @@ -284,13 +293,13 @@ public: #endif } - void DrawBackground (Rect*) {} + void DrawBackground (Rect*) override {} //============================================================================== private: AudioProcessor* const filter; JucePlugInProcess* const process; - ScopedPointer wrapper; + ScopedPointer wrapper; ScopedPointer editorComp; void deleteEditorComp() @@ -301,7 +310,7 @@ public: { PopupMenu::dismissAllActiveMenus(); - if (juce::Component* const modalComponent = juce::Component::getCurrentlyModalComponent()) + if (Component* const modalComponent = Component::getCurrentlyModalComponent()) modalComponent->exitModalState (0); filter->editorBeingDeleted (editorComp); @@ -315,7 +324,7 @@ public: //============================================================================== // A component to hold the AudioProcessorEditor, and cope with some housekeeping // chores when it changes or repaints. - class EditorCompWrapper : public juce::Component + class EditorCompWrapper : public Component #if ! JUCE_MAC , public FocusChangeListener #endif @@ -368,14 +377,14 @@ public: void resized() override { - if (juce::Component* const ed = getEditor()) + if (Component* const ed = getEditor()) ed->setBounds (getLocalBounds()); repaint(); } #if JUCE_WINDOWS - void globalFocusChanged (juce::Component*) override + void globalFocusChanged (Component*) override { #if ! JucePlugin_EditorRequiresKeyboardFocus if (hasKeyboardFocus (true)) @@ -384,7 +393,7 @@ public: } #endif - void childBoundsChanged (juce::Component* child) override + void childBoundsChanged (Component* child) override { setSize (child->getWidth(), child->getHeight()); child->setTopLeftPosition (0, 0); @@ -413,7 +422,7 @@ public: JuceCustomUIView* const owner; int titleW, titleH; - juce::Component* getEditor() const { return getChildComponent (0); } + Component* getEditor() const { return getChildComponent (0); } JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (EditorCompWrapper) }; @@ -480,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); @@ -498,8 +507,8 @@ public: midiTransport = new CEffectMIDITransport (&mMIDIWorld); midiEvents.ensureSize (2048); - channels.calloc (jmax (juceFilter->getNumInputChannels(), - juceFilter->getNumOutputChannels())); + channels.calloc (jmax (juceFilter->getTotalNumInputChannels(), + juceFilter->getTotalNumOutputChannels())); juceFilter->setPlayHead (this); juceFilter->addListener (this); @@ -539,14 +548,14 @@ public: #if JUCE_DEBUG || JUCE_LOG_ASSERTIONS const int numMidiEventsComingIn = midiEvents.getNumEvents(); - (void) numMidiEventsComingIn; + ignoreUnused (numMidiEventsComingIn); #endif { const ScopedLock sl (juceFilter->getCallbackLock()); - const int numIn = juceFilter->getNumInputChannels(); - const int numOut = juceFilter->getNumOutputChannels(); + const int numIn = juceFilter->getTotalNumInputChannels(); + const int numOut = juceFilter->getTotalNumOutputChannels(); const int totalChans = jmax (numIn, numOut); if (juceFilter->isSuspended()) @@ -666,9 +675,9 @@ public: #if JUCE_WINDOWS Boolean HandleKeystroke (EventRecord* e) override { - if (juce::Component* modalComp = juce::Component::getCurrentlyModalComponent()) + if (Component* modalComp = Component::getCurrentlyModalComponent()) { - if (juce::Component* focused = modalComp->getCurrentlyFocusedComponent()) + if (Component* focused = modalComp->getCurrentlyFocusedComponent()) { switch (e->message & charCodeMask) { @@ -937,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 00000000..1eb2acb3 --- /dev/null +++ b/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp @@ -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. + + ============================================================================== +*/ + +#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 {} + + virtual StandaloneFilterWindow* createWindow() + { + return new StandaloneFilterWindow (getApplicationName(), Colours::white, nullptr, true); + } + + //============================================================================== + void initialise (const String&) override + { + mainWindow = createWindow(); + + #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 8880f3cd..60c88e3f 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. @@ -40,15 +38,27 @@ class StandalonePluginHolder public: /** Creates an instance of the default plugin. - The settings object can be a PropertySet that the class should use to - store its settings - the object that is passed-in will be owned by this - class and deleted automatically when no longer needed. (It can also be null) + The settings object can be a PropertySet that the class should use to store its + settings - the takeOwnershipOfSettings indicates whether this object will delete + the settings automatically when no longer needed. The settings can also be nullptr. + + A default device name can be passed in. + + Preferably a complete setup options object can be used, which takes precedence over + the preferredDefaultDeviceName and allows you to select the input & output device names, + sample rate, buffer size etc. + + In all instances, the settingsToUse will take precedence over the "preferred" options if not null. */ - StandalonePluginHolder (PropertySet* settingsToUse, bool takeOwnershipOfSettings) + StandalonePluginHolder (PropertySet* settingsToUse, + bool takeOwnershipOfSettings = true, + const String& preferredDefaultDeviceName = String(), + const AudioDeviceManager::AudioDeviceSetup* preferredSetupOptions = nullptr) + : settings (settingsToUse, takeOwnershipOfSettings) { createPlugin(); - setupAudioDevices(); + setupAudioDevices (preferredDefaultDeviceName, preferredSetupOptions); reloadPluginState(); startPlaying(); } @@ -62,14 +72,27 @@ 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(); + const int numOutBuses = processor->busArrangement.inputBuses.size(); + + for (int busIdx = 1; busIdx < numInBuses; ++busIdx) + processor->setPreferredBusArrangement (true, busIdx, AudioChannelSet::disabled()); + + for (int busIdx = 1; busIdx < numOutBuses; ++busIdx) + processor->setPreferredBusArrangement (false, busIdx, AudioChannelSet::disabled()); - processor->setPlayConfigDetails (JucePlugin_MaxNumInputChannels, - JucePlugin_MaxNumOutputChannels, - 44100, 512); + processor->setRateAndBufferSizeDetails(44100, 512); } virtual void deletePlugin() @@ -189,7 +212,8 @@ public: } } - void reloadAudioDeviceState() + void reloadAudioDeviceState (const String& preferredDefaultDeviceName, + const AudioDeviceManager::AudioDeviceSetup* preferredSetupOptions) { ScopedPointer savedState; @@ -199,7 +223,9 @@ public: deviceManager.initialise (processor->getTotalNumInputChannels(), processor->getTotalNumOutputChannels(), savedState, - true); + true, + preferredDefaultDeviceName, + preferredSetupOptions); } //============================================================================== @@ -232,19 +258,20 @@ public: AudioProcessorPlayer player; private: - void setupAudioDevices() + void setupAudioDevices (const String& preferredDefaultDeviceName, + const AudioDeviceManager::AudioDeviceSetup* preferredSetupOptions) { deviceManager.addAudioCallback (&player); - deviceManager.addMidiInputCallback (String::empty, &player); + deviceManager.addMidiInputCallback (String(), &player); - reloadAudioDeviceState(); + reloadAudioDeviceState (preferredDefaultDeviceName, preferredSetupOptions); } void shutDownAudioDevices() { saveAudioDeviceState(); - deviceManager.removeMidiInputCallback (String::empty, &player); + deviceManager.removeMidiInputCallback (String(), &player); deviceManager.removeAudioCallback (&player); } @@ -273,7 +300,9 @@ public: StandaloneFilterWindow (const String& title, Colour backgroundColour, PropertySet* settingsToUse, - bool takeOwnershipOfSettings) + bool takeOwnershipOfSettings, + const String& preferredDefaultDeviceName = String(), + const AudioDeviceManager::AudioDeviceSetup* preferredSetupOptions = nullptr) : DocumentWindow (title, backgroundColour, DocumentWindow::minimiseButton | DocumentWindow::closeButton), optionsButton ("options") { @@ -283,7 +312,8 @@ public: optionsButton.addListener (this); optionsButton.setTriggeredOnMouseDown (true); - pluginHolder = new StandalonePluginHolder (settingsToUse, takeOwnershipOfSettings); + pluginHolder = new StandalonePluginHolder (settingsToUse, takeOwnershipOfSettings, + preferredDefaultDeviceName, preferredSetupOptions); createEditorComp(); 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 a06441c0..2d9ffdfd 100644 --- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp @@ -22,11 +22,8 @@ ============================================================================== */ -// 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" +#include "../../juce_core/system/juce_TargetPlatform.h" #include "../utility/juce_CheckSettingMacros.h" -#include "../../juce_core/native/juce_mac_ClangBugWorkaround.h" #if JucePlugin_Build_VST @@ -34,27 +31,13 @@ #pragma warning (disable : 4996 4100) #endif -#ifdef _WIN32 - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x500 - #undef STRICT - #define STRICT 1 - #include -#elif defined (LINUX) - #include - #include - #include - #undef KeyPress -#else - #include -#endif +#include "../utility/juce_IncludeSystemHeaders.h" #ifdef PRAGMA_ALIGN_SUPPORTED #undef PRAGMA_ALIGN_SUPPORTED #define PRAGMA_ALIGN_SUPPORTED 1 #endif -//============================================================================== #ifndef _MSC_VER #define __cdecl #endif @@ -80,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 @@ -127,19 +110,20 @@ class JuceVSTWrapper; static bool recursionCheck = false; -static juce::uint32 lastMasterIdleCall = 0; + +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 @@ -279,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), @@ -294,14 +278,28 @@ public: #endif hostWindow (0) { - busUtils.findAllCompatibleLayouts(); + busUtils.init(); // VST-2 does not support disabling buses: so always enable all of them if (busUtils.hasDynamicInBuses() || busUtils.hasDynamicOutBuses()) busUtils.enableAllBuses(); - const int totalNumInChannels = busUtils.findTotalNumChannels(true); - const int totalNumOutChannels = busUtils.findTotalNumChannels(false); + { + // 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 + + findMaxTotalChannels (maxNumInChannels, maxNumOutChannels); + bool success = setBusArrangementFromTotalChannelNum (maxNumInChannels, maxNumOutChannels); + ignoreUnused (success); + + // please file a bug if you hit this assertsion! + jassert (maxNumInChannels == busUtils.findTotalNumChannels (true) && success + && maxNumOutChannels == busUtils.findTotalNumChannels (false)); + } filter->setRateAndBufferSizeDetails (0, 0); filter->setPlayHead (this); @@ -312,8 +310,8 @@ public: setUniqueID ((int) (JucePlugin_VSTUniqueID)); - setNumInputs (totalNumInChannels); - setNumOutputs (totalNumOutChannels); + setNumInputs (maxNumInChannels); + setNumOutputs (maxNumOutChannels); canProcessReplacing (true); canDoubleReplacing (filter->supportsDoublePrecisionProcessing()); @@ -434,12 +432,13 @@ public: return 1; } + // This tells Wavelab to use the UI thread to invoke open/close, + // like all other hosts do. if (strcmp (text, "openCloseAnyThread") == 0) - { - // This tells Wavelab to use the UI thread to invoke open/close, - // like all other hosts do. return -1; - } + + if (strcmp (text, "MPE") == 0) + return filter->supportsMPE() ? 1 : 0; #if JUCE_MAC if (strcmp (text, "hasCockosViewAsConfig") == 0) @@ -454,7 +453,7 @@ public: VstIntPtr vendorSpecific (VstInt32 lArg, VstIntPtr lArg2, void* ptrArg, float floatArg) override { - (void) lArg; (void) lArg2; (void) ptrArg; (void) floatArg; + ignoreUnused (lArg, lArg2, ptrArg, floatArg); #if JucePlugin_Build_VST3 && JUCE_VST3_CAN_REPLACE_VST2 if ((lArg == 'stCA' || lArg == 'stCa') && lArg2 == 'FUID' && ptrArg != nullptr) @@ -488,7 +487,7 @@ public: VSTMidiEventList::addEventsToMidiBuffer (events, midiEvents); return 1; #else - (void) events; + ignoreUnused (events); return 0; #endif } @@ -510,6 +509,16 @@ public: resume(); filter->setNonRealtime (getCurrentProcessLevel() == 4 /* kVstProcessLevelOffline */); + + #if JUCE_WINDOWS + if (getHostType().isWavelab()) + { + int priority = GetThreadPriority (GetCurrentThread()); + + if (priority <= THREAD_PRIORITY_NORMAL && priority >= THREAD_PRIORITY_LOWEST) + filter->setNonRealtime (true); + } + #endif } #if JUCE_DEBUG && ! JucePlugin_ProducesMidiOutput @@ -554,8 +563,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; } @@ -564,7 +580,8 @@ public: tmpBuffers.channels[i] = inputs[i]; { - AudioBuffer chans (tmpBuffers.channels, jmax (numIn, numOut), numSamples); + const int numChannels = jmax (numIn, numOut); + AudioBuffer chans (tmpBuffers.channels, numChannels, numSamples); if (isBypassed) filter->processBlockBypassed (chans, midiEvents); @@ -661,31 +678,20 @@ public: { isProcessing = true; - const int numInChans = filter->busArrangement.getTotalNumInputChannels(); - const int numOutChans = filter->busArrangement.getTotalNumOutputChannels(); - - setNumInputs (numInChans); - setNumOutputs (numOutChans); - - floatTempBuffers.channels.calloc ((size_t) (numInChans + numOutChans)); - doubleTempBuffers.channels.calloc ((size_t) (numInChans + numOutChans)); - - double rate = getSampleRate(); - jassert (rate > 0); - if (rate <= 0.0) - rate = 44100.0; + floatTempBuffers .channels.calloc ((size_t) (cEffect.numInputs + cEffect.numOutputs)); + doubleTempBuffers.channels.calloc ((size_t) (cEffect.numInputs + cEffect.numOutputs)); + const double currentRate = getSampleRate(); const int currentBlockSize = getBlockSize(); - jassert (currentBlockSize > 0); firstProcessCallback = true; filter->setNonRealtime (getCurrentProcessLevel() == 4 /* kVstProcessLevelOffline */); - filter->setRateAndBufferSizeDetails (rate, currentBlockSize); + filter->setRateAndBufferSizeDetails (currentRate, currentBlockSize); deleteTempChannels(); - filter->prepareToPlay (rate, currentBlockSize); + filter->prepareToPlay (currentRate, currentBlockSize); midiEvents.ensureSize (2048); midiEvents.clear(); @@ -921,47 +927,57 @@ public: bool setSpeakerArrangement (VstSpeakerArrangement* pluginInput, VstSpeakerArrangement* pluginOutput) override { - if ((busUtils.getBusCount (true) == 0 || busUtils.busIgnoresLayout(true, 0)) - && (busUtils.getBusCount (false) == 0 || busUtils.busIgnoresLayout(false, 0))) - return false; + const int numIns = busUtils.getBusCount (true); + const int numOuts = busUtils.getBusCount (false);; - if (pluginInput != nullptr && filter->busArrangement.inputBuses.size() == 0) + 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); - - if (pluginInput != nullptr) + if (numIns > 1 || numOuts > 1) { - AudioChannelSet newType = SpeakerMappings::vstArrangementTypeToChannelSet (*pluginInput); - - if (busUtils.getChannelSet (true, 0) != newType) - if (! filter->setPreferredBusArrangement (true, 0, newType)) - return false; - } + int newNumInChannels = (pluginInput != nullptr && pluginInput-> numChannels >= 0) ? pluginInput-> numChannels + : busUtils.findTotalNumChannels (true); + int newNumOutChannels = (pluginOutput != nullptr && pluginOutput->numChannels >= 0) ? pluginOutput->numChannels + : busUtils.findTotalNumChannels (false); - if (pluginOutput != nullptr) - { - AudioChannelSet newType = SpeakerMappings::vstArrangementTypeToChannelSet (*pluginOutput); + newNumInChannels = jmin (newNumInChannels, maxNumInChannels); + newNumOutChannels = jmin (newNumOutChannels, maxNumOutChannels); - if (busUtils.getChannelSet (false, 0) != newType) - if (! filter->setPreferredBusArrangement (false, 0, newType)) - return false; + if (! setBusArrangementFromTotalChannelNum (newNumInChannels, newNumOutChannels)) + return false; } + else + { + PluginBusUtilities::ScopedBusRestorer busRestorer (busUtils); + AudioChannelSet inLayoutType; - busRestorer.release(); + if (pluginInput != nullptr && pluginInput-> numChannels >= 0) + { + inLayoutType = SpeakerMappings::vstArrangementTypeToChannelSet (*pluginInput); + if (busUtils.getChannelSet (true, 0) != inLayoutType) + if (! filter->setPreferredBusArrangement (true, 0, inLayoutType)) + return false; + } - const int totalNumInChannels = busUtils.findTotalNumChannels(true); - const int totalNumOutChannels = busUtils.findTotalNumChannels(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; - filter->setRateAndBufferSizeDetails(0, 0); - setNumInputs (totalNumInChannels); - setNumOutputs(totalNumOutChannels); + // re-check the input + if ((! inLayoutType.isDisabled()) && busUtils.getChannelSet (true, 0) != inLayoutType) + return false; - ioChanged(); + busRestorer.release(); + } + } + filter->setRateAndBufferSizeDetails(0, 0); return true; } @@ -970,22 +986,32 @@ public: *pluginInput = 0; *pluginOutput = 0; - if ((busUtils.getBusCount (true) == 0 || busUtils.busIgnoresLayout(true, 0)) - && (busUtils.getBusCount (false) == 0 || busUtils.busIgnoresLayout(false, 0))) - return false; - - if (! AudioEffectX::allocateArrangement (pluginInput, busUtils.getNumChannels (true, 0))) + if (! AudioEffectX::allocateArrangement (pluginInput, busUtils.findTotalNumChannels (true))) return false; - if (! AudioEffectX::allocateArrangement (pluginOutput, busUtils.getNumChannels (false, 0))) + if (! AudioEffectX::allocateArrangement (pluginOutput, busUtils.findTotalNumChannels (false))) { AudioEffectX::deallocateArrangement (pluginInput); *pluginInput = 0; return false; } - SpeakerMappings::channelSetToVstArrangement (busUtils.getChannelSet (true, 0), **pluginInput); - SpeakerMappings::channelSetToVstArrangement (busUtils.getChannelSet (false, 0), **pluginOutput); + if (pluginHasSidechainsOrAuxs()) + { + int numIns = busUtils.findTotalNumChannels (true); + int numOuts = 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); + } return true; } @@ -1004,12 +1030,21 @@ 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; + const int n = busUtils.getBusCount(direction); int busIdx; for (busIdx = 0; busIdx < n; ++busIdx) { - const int numChans = busUtils.getNumChannels(direction, busIdx); + const int numChans = busUtils.getNumChannels (direction, busIdx); if (index < numChans) break; @@ -1017,25 +1052,26 @@ public: } if (busIdx >= n) - return false; + return true; const AudioProcessor::AudioProcessorBus& busInfo = busUtils.getFilterBus (direction).getReference (busIdx); - busInfo.name.copyToUTF8 (properties.label, (size_t) (kVstMaxLabelLen - 1)); - busInfo.name.copyToUTF8 (properties.shortLabel, (size_t) (kVstMaxShortLabelLen - 1)); + #ifdef JucePlugin_PreferredChannelConfigurations + String abbvChannelName = String (index); + #else + String abbvChannelName = AudioChannelSet::getAbbreviatedChannelTypeName (busInfo.channels.getTypeOfChannel(index)); + #endif - VstInt32 type = SpeakerMappings::channelSetToVstArrangementType (busInfo.channels); + String channelName = busInfo.name + String (" ") + abbvChannelName; - if (type != kSpeakerArrEmpty) - { - properties.flags = kVstPinUseSpeaker | kVstPinIsActive; - properties.arrangementType = type; - } - else - { - properties.flags = 0; - properties.arrangementType = 0; - } + channelName.copyToUTF8 (properties.label, (size_t) (kVstMaxLabelLen - 1)); + channelName.copyToUTF8 (properties.shortLabel, (size_t) (kVstMaxShortLabelLen - 1)); + + properties.flags = kVstPinUseSpeaker | kVstPinIsActive; + properties.arrangementType = SpeakerMappings::channelSetToVstArrangementType (busInfo.channels); + + if (properties.arrangementType == kSpeakerArrEmpty) + properties.flags &= ~kVstPinIsActive; if (busInfo.channels.size() == 2) properties.flags |= kVstPinIsStereo; @@ -1090,11 +1126,14 @@ public: { Array chans (channels.getChannelTypes()); + if (channels == AudioChannelSet::disabled()) + return kSpeakerArrEmpty; + for (const Mapping* m = getMappings(); m->vst2 != kSpeakerArrEmpty; ++m) if (m->matches (chans)) return m->vst2; - return kSpeakerArrEmpty; + return kSpeakerArrUserDefined; } static void channelSetToVstArrangement (const AudioChannelSet& channels, VstSpeakerArrangement& result) @@ -1117,33 +1156,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 } } }; @@ -1154,26 +1193,26 @@ public: { switch (type) { - case AudioChannelSet::ChannelType::left: return kSpeakerL; - case AudioChannelSet::ChannelType::right: return kSpeakerR; - case AudioChannelSet::ChannelType::centre: return kSpeakerC; - case AudioChannelSet::ChannelType::subbass: return kSpeakerLfe; - case AudioChannelSet::ChannelType::surroundLeft: return kSpeakerLs; - case AudioChannelSet::ChannelType::surroundRight: return kSpeakerRs; - case AudioChannelSet::ChannelType::centreLeft: return kSpeakerLc; - case AudioChannelSet::ChannelType::centreRight: return kSpeakerRc; - case AudioChannelSet::ChannelType::surround: return kSpeakerS; - case AudioChannelSet::ChannelType::sideLeft: return kSpeakerSl; - case AudioChannelSet::ChannelType::sideRight: return kSpeakerSr; - case AudioChannelSet::ChannelType::topMiddle: return kSpeakerTm; - case AudioChannelSet::ChannelType::topFrontLeft: return kSpeakerTfl; - case AudioChannelSet::ChannelType::topFrontCentre: return kSpeakerTfc; - case AudioChannelSet::ChannelType::topFrontRight: return kSpeakerTfr; - case AudioChannelSet::ChannelType::topRearLeft: return kSpeakerTrl; - case AudioChannelSet::ChannelType::topRearCentre: return kSpeakerTrc; - case AudioChannelSet::ChannelType::topRearRight: return kSpeakerTrr; - case AudioChannelSet::ChannelType::subbass2: return kSpeakerLfe2; - default: break; + case AudioChannelSet::left: return kSpeakerL; + case AudioChannelSet::right: return kSpeakerR; + case AudioChannelSet::centre: return kSpeakerC; + case AudioChannelSet::subbass: return kSpeakerLfe; + 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::leftRearSurround: return kSpeakerSl; + case AudioChannelSet::rightRearSurround: return kSpeakerSr; + case AudioChannelSet::topMiddle: return kSpeakerTm; + case AudioChannelSet::topFrontLeft: return kSpeakerTfl; + case AudioChannelSet::topFrontCentre: return kSpeakerTfc; + case AudioChannelSet::topFrontRight: return kSpeakerTfr; + case AudioChannelSet::topRearLeft: return kSpeakerTrl; + case AudioChannelSet::topRearCentre: return kSpeakerTrc; + case AudioChannelSet::topRearRight: return kSpeakerTrr; + case AudioChannelSet::subbass2: return kSpeakerLfe2; + default: break; } return 0; @@ -1183,29 +1222,29 @@ public: { switch (type) { - case kSpeakerL: return AudioChannelSet::ChannelType::left; - case kSpeakerR: return AudioChannelSet::ChannelType::right; - case kSpeakerC: return AudioChannelSet::ChannelType::centre; - case kSpeakerLfe: return AudioChannelSet::ChannelType::subbass; - case kSpeakerLs: return AudioChannelSet::ChannelType::surroundLeft; - case kSpeakerRs: return AudioChannelSet::ChannelType::surroundRight; - case kSpeakerLc: return AudioChannelSet::ChannelType::centreLeft; - case kSpeakerRc: return AudioChannelSet::ChannelType::centreRight; - case kSpeakerS: return AudioChannelSet::ChannelType::surround; - case kSpeakerSl: return AudioChannelSet::ChannelType::sideLeft; - case kSpeakerSr: return AudioChannelSet::ChannelType::sideRight; - case kSpeakerTm: return AudioChannelSet::ChannelType::topMiddle; - case kSpeakerTfl: return AudioChannelSet::ChannelType::topFrontLeft; - case kSpeakerTfc: return AudioChannelSet::ChannelType::topFrontCentre; - case kSpeakerTfr: return AudioChannelSet::ChannelType::topFrontRight; - case kSpeakerTrl: return AudioChannelSet::ChannelType::topRearLeft; - case kSpeakerTrc: return AudioChannelSet::ChannelType::topRearCentre; - case kSpeakerTrr: return AudioChannelSet::ChannelType::topRearRight; - case kSpeakerLfe2: return AudioChannelSet::ChannelType::subbass2; - default: break; + case kSpeakerL: return AudioChannelSet::left; + case kSpeakerR: return AudioChannelSet::right; + case kSpeakerC: return AudioChannelSet::centre; + case kSpeakerLfe: return AudioChannelSet::subbass; + 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::leftRearSurround; + case kSpeakerSr: return AudioChannelSet::rightRearSurround; + case kSpeakerTm: return AudioChannelSet::topMiddle; + case kSpeakerTfl: return AudioChannelSet::topFrontLeft; + case kSpeakerTfc: return AudioChannelSet::topFrontCentre; + case kSpeakerTfr: return AudioChannelSet::topFrontRight; + case kSpeakerTrl: return AudioChannelSet::topRearLeft; + case kSpeakerTrc: return AudioChannelSet::topRearCentre; + case kSpeakerTrr: return AudioChannelSet::topRearRight; + case kSpeakerLfe2: return AudioChannelSet::subbass2; + default: break; } - return AudioChannelSet::ChannelType::unknown; + return AudioChannelSet::unknown; } }; @@ -1269,25 +1308,6 @@ public: if (hostWindow != 0) checkWindowVisibilityVST (hostWindow, editorComp, useNSView); #endif - - tryMasterIdle(); - } - - void tryMasterIdle() - { - if (Component::isMouseButtonDownAnywhere() && ! recursionCheck) - { - const juce::uint32 now = juce::Time::getMillisecondCounter(); - - if (now > lastMasterIdleCall + 20 && editorComp != nullptr) - { - lastMasterIdleCall = now; - - recursionCheck = true; - masterIdle(); - recursionCheck = false; - } - } } void doIdleCallback() @@ -1296,7 +1316,7 @@ public: if (MessageManager::getInstance()->isThisTheMessageThread() && ! recursionCheck) { - recursionCheck = true; + ScopedValueSetter svs (recursionCheck, true, false); JUCE_AUTORELEASEPOOL { @@ -1305,8 +1325,6 @@ public: for (int i = ComponentPeer::getNumPeers(); --i >= 0;) if (ComponentPeer* p = ComponentPeer::getPeer(i)) p->performAnyPendingRepaintsNow(); - - recursionCheck = false; } } } @@ -1342,7 +1360,7 @@ public: PopupMenu::dismissAllActiveMenus(); jassert (! recursionCheck); - recursionCheck = true; + ScopedValueSetter svs (recursionCheck, true, false); if (editorComp != nullptr) { @@ -1353,7 +1371,6 @@ public: if (canDeleteLaterIfModal) { shouldDeleteEditor = true; - recursionCheck = false; return; } } @@ -1378,8 +1395,6 @@ public: #if JUCE_LINUX hostWindow = 0; #endif - - recursionCheck = false; } } @@ -1442,7 +1457,7 @@ public: { editorSize.left = 0; editorSize.top = 0; - editorSize.right = (VstInt16) editorComp->getWidth(); + editorSize.right = (VstInt16) editorComp->getWidth(); editorSize.bottom = (VstInt16) editorComp->getHeight(); *((ERect**) ptr) = &editorSize; @@ -1535,8 +1550,7 @@ public: //============================================================================== // A component to hold the AudioProcessorEditor, and cope with some housekeeping // chores when it changes or repaints. - class EditorCompWrapper : public Component, - public AsyncUpdater + class EditorCompWrapper : public Component { public: EditorCompWrapper (JuceVSTWrapper& w, AudioProcessorEditor* editor) @@ -1553,6 +1567,8 @@ public: if (! getHostType().isReceptor()) addMouseListener (this, true); #endif + + ignoreUnused (fakeMouseGenerator); } ~EditorCompWrapper() @@ -1563,15 +1579,6 @@ public: void paint (Graphics&) override {} - void paintOverChildren (Graphics&) override - { - // this causes an async call to masterIdle() to help - // creaky old DAWs like Nuendo repaint themselves while we're - // repainting. Otherwise they just seem to give up and sit there - // waiting. - triggerAsyncUpdate(); - } - #if JUCE_MAC bool keyPressed (const KeyPress&) override { @@ -1625,11 +1632,6 @@ public: } } - void handleAsyncUpdate() override - { - wrapper.tryMasterIdle(); - } - #if JUCE_WINDOWS void mouseDown (const MouseEvent&) override { @@ -1672,6 +1674,7 @@ private: bool shouldDeleteEditor, useNSView; VstTempBuffers floatTempBuffers; VstTempBuffers doubleTempBuffers; + int maxNumInChannels, maxNumOutChannels; #if JUCE_MAC void* hostWindow; @@ -1706,17 +1709,11 @@ private: { MessageManager::getInstance()->setCurrentThreadAsMessageThread(); - class MessageThreadCallback : public CallbackMessage + struct MessageThreadCallback : public CallbackMessage { - public: MessageThreadCallback (bool& tr) : triggered (tr) {} + void messageCallback() override { triggered = true; } - void messageCallback() override - { - triggered = true; - } - - private: bool& triggered; }; @@ -1736,7 +1733,7 @@ private: if (filter != nullptr) { - int numChannels = filter->getTotalNumInputChannels() + filter->getTotalNumOutputChannels(); + int numChannels = cEffect.numInputs + cEffect.numOutputs; tmpBuffers.tempChannels.insertMultiple (0, nullptr, numChannels); } } @@ -1747,6 +1744,196 @@ 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 + { + // set side-chain and aux channels to their default layout + for (int busIdx = 1; busIdx < busUtils.getBusCount (isInput); ++busIdx) + { + bool success = filter->setPreferredBusArrangement (isInput, busIdx, busUtils.getDefaultLayoutForBus (isInput, busIdx)); + + // VST 2 only supports a static channel layout on aux/sidechain channels + // You must at least support the default layout regardless of the layout of the main bus. + // If this is a problem for your plug-in, then consider using VST-3. + jassert (success); + ignoreUnused (success); + } + } + + bool setBusArrangementFromTotalChannelNum (const int numInChannels, const int numOutChannels) + { + PluginBusUtilities::ScopedBusRestorer busRestorer (busUtils); + const int numIns = busUtils.getBusCount (true); + const int numOuts = busUtils.getBusCount (false); + + 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) }; @@ -1792,6 +1979,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); } @@ -1799,6 +1988,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); } @@ -1810,6 +2001,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); } @@ -1817,6 +2010,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); } @@ -1830,12 +2025,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 439fbd0c..55370bc9 100644 --- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm +++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm @@ -22,12 +22,8 @@ ============================================================================== */ -// 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" - +#include "../../juce_core/system/juce_TargetPlatform.h" #include "../utility/juce_CheckSettingMacros.h" -#include "../../juce_core/native/juce_mac_ClangBugWorkaround.h" #if JucePlugin_Build_VST || JucePlugin_Build_VST3 @@ -38,15 +34,12 @@ #include "../utility/juce_FakeMouseMoveGenerator.h" #include "../utility/juce_CarbonVisibility.h" -#undef Component -#undef Point - //============================================================================== namespace juce { #if ! JUCE_64BIT -void updateEditorCompBoundsVST (Component*); +JUCE_API void updateEditorCompBoundsVST (Component*); void updateEditorCompBoundsVST (Component* comp) { HIViewRef dummyView = (HIViewRef) (void*) (pointer_sized_int) @@ -70,10 +63,15 @@ static pascal OSStatus viewBoundsChangedEvent (EventHandlerCallRef, EventRef, vo updateEditorCompBoundsVST ((Component*) user); return noErr; } + +static bool shouldManuallyCloseHostWindow() +{ + return getHostType().isCubase7orLater() || getHostType().isRenoise(); +} #endif //============================================================================== -void initialiseMacVST(); +JUCE_API void initialiseMacVST(); void initialiseMacVST() { #if ! JUCE_64BIT @@ -81,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 @@ -91,7 +89,7 @@ void* attachComponentToWindowRefVST (Component* comp, void* parentWindowOrView, { NSWindow* hostWindow = [[NSWindow alloc] initWithWindowRef: parentWindowOrView]; - if (getHostType().isCubase7orLater()) + if (shouldManuallyCloseHostWindow()) { [hostWindow setReleasedWhenClosed: NO]; } @@ -186,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 @@ -216,7 +214,7 @@ void detachComponentFromWindowRefVST (Component* comp, void* window, bool isNSVi comp->removeFromDesktop(); [pluginView release]; - if (getHostType().isCubase7orLater()) + if (shouldManuallyCloseHostWindow()) [hostWindow close]; else [hostWindow release]; @@ -244,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 @@ -282,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); @@ -293,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 e267a50a..745df8d1 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp @@ -22,14 +22,11 @@ ============================================================================== */ -// 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" +#include "../../juce_core/system/juce_TargetPlatform.h" //============================================================================== #if JucePlugin_Build_VST3 && (__APPLE_CPP__ || __APPLE_CC__ || _WIN32 || _WIN64) -#include "../../juce_core/native/juce_mac_ClangBugWorkaround.h" #include "../../juce_audio_processors/format_types/juce_VST3Headers.h" #include "../utility/juce_CheckSettingMacros.h" #include "../utility/juce_IncludeModuleHeaders.h" @@ -41,6 +38,10 @@ #define JUCE_VST3_CAN_REPLACE_VST2 1 #endif +#ifndef JUCE_VST3_EMULATE_MIDI_CC_WITH_PARAMETERS + #define JUCE_VST3_EMULATE_MIDI_CC_WITH_PARAMETERS 1 +#endif + #if JUCE_VST3_CAN_REPLACE_VST2 #if JUCE_MSVC #pragma warning (push) @@ -54,8 +55,7 @@ #endif #endif -#undef Point -#undef Component +JUCE_DEFINE_WRAPPER_TYPE (wrapperType_VST3); namespace juce { @@ -70,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 //============================================================================== @@ -260,7 +260,7 @@ public: info.stepCount = 1; info.defaultNormalizedValue = 0.0f; info.unitId = Vst::kRootUnitId; - info.flags = Vst::ParameterInfo::kIsBypass; + info.flags = Vst::ParameterInfo::kIsBypass | Vst::ParameterInfo::kCanAutomate; } virtual ~BypassParam() {} @@ -483,9 +483,11 @@ private: parameters.addParameter (new BypassParam (*pluginInstance, numParameters)); } - // We need to account for the bypass parameter in the numParameters passed to - // the next function + #if JUCE_VST3_EMULATE_MIDI_CC_WITH_PARAMETERS + // (NB: the +1 is to account for the bypass parameter) initialiseMidiControllerMappings (pluginInstance->getNumParameters() + 1); + #endif + audioProcessorChanged (pluginInstance); } } @@ -642,7 +644,7 @@ private: private: //============================================================================== - class ContentWrapperComponent : public juce::Component + class ContentWrapperComponent : public Component { public: ContentWrapperComponent (JuceVST3Editor& editor, AudioProcessor& plugin) @@ -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); @@ -1014,7 +1021,7 @@ public: { const int headerLen = static_cast (htonl (*(juce::int32*) (data + 4))); const struct fxBank* bank = (const struct fxBank*) (data + (8 + headerLen)); - const int version = static_cast (htonl (bank->version)); (void) version; + const int version = static_cast (htonl (bank->version)); ignoreUnused (version); jassert ('VstW' == htonl (*(juce::int32*) data)); jassert (1 == htonl (*(juce::int32*) (data + 8))); // version should be 1 according to Steinberg's docs @@ -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; @@ -1572,11 +1579,13 @@ public: const int id = (int) paramQueue->getParameterId(); if (isPositiveAndBelow (id, pluginInstance->getNumParameters())) - pluginInstance->setParameter (id, (float) value); + pluginInstance->setParameter (id, static_cast (value)); else if (id == vstBypassParameterId) setBypassed (static_cast (value) != 0.0f); + #if JUCE_VST3_EMULATE_MIDI_CC_WITH_PARAMETERS else addParameterChangeToMidiBuffer (offsetSamples, id, value); + #endif } } } @@ -1623,10 +1632,6 @@ public: MidiEventList::toMidiBuffer (midiBuffer, *data.inputEvents); #endif - #if JUCE_DEBUG && ! JucePlugin_ProducesMidiOutput - const int numMidiEventsComingIn = midiBuffer.getNumEvents(); - #endif - if (getHostType().isWavelab()) { const int numInputChans = (data.inputs != nullptr && data.inputs[0].channelBuffers32 != nullptr) ? (int) data.inputs[0].numChannels : 0; @@ -1644,22 +1649,6 @@ public: #if JucePlugin_ProducesMidiOutput if (data.outputEvents != nullptr) MidiEventList::toEventList (*data.outputEvents, midiBuffer); - #elif JUCE_DEBUG - /* This assertion is caused when you've added some events to the - midiMessages array in your processBlock() method, which usually means - that you're trying to send them somewhere. But in this case they're - getting thrown away. - - If your plugin does want to send MIDI messages, you'll need to set - the JucePlugin_ProducesMidiOutput macro to 1 in your - JucePluginCharacteristics.h file. - - If you don't want to produce any MIDI output, then you should clear the - midiMessages array at the end of your processBlock() method, to - indicate that you don't want any of the events to be passed through - to the output. - */ - jassert (midiBuffer.getNumEvents() <= numMidiEventsComingIn); #endif return kResultTrue; @@ -1713,7 +1702,8 @@ private: const int numChans = jmin ((int) data.inputs[bus].numChannels, plugInInputChannels - totalInputChans); for (int i = 0; i < numChans; ++i) - channelList.set (totalInputChans++, busChannels[i]); + if (busChannels[i] != nullptr) + channelList.set (totalInputChans++, busChannels[i]); } } } @@ -1730,10 +1720,16 @@ private: for (int i = 0; i < numChans; ++i) { - if (totalOutputChans >= totalInputChans) - channelList.set (totalOutputChans, busChannels[i]); - - ++totalOutputChans; + if (busChannels[i] != nullptr) + { + if (totalOutputChans >= totalInputChans) + { + FloatVectorOperations::clear (busChannels[i], data.numSamples); + channelList.set (totalOutputChans, busChannels[i]); + } + + ++totalOutputChans; + } } } } @@ -1752,6 +1748,10 @@ private: if (data.inputParameterChanges != nullptr) processParameterChanges (*data.inputParameterChanges); + #if JUCE_DEBUG && ! JucePlugin_ProducesMidiOutput + const int numMidiEventsComingIn = midiBuffer.getNumEvents (); + #endif + if (pluginInstance->isSuspended()) { buffer.clear(); @@ -1767,6 +1767,24 @@ private: pluginInstance->processBlock (buffer, midiBuffer); } } + + #if JUCE_DEBUG && (! JucePlugin_ProducesMidiOutput) + /* This assertion is caused when you've added some events to the + midiMessages array in your processBlock() method, which usually means + that you're trying to send them somewhere. But in this case they're + getting thrown away. + + If your plugin does want to send MIDI messages, you'll need to set + the JucePlugin_ProducesMidiOutput macro to 1 in your + JucePluginCharacteristics.h file. + + If you don't want to produce any MIDI output, then you should clear the + midiMessages array at the end of your processBlock() method, to + indicate that you don't want any of the events to be passed through + to the output. + */ + jassert (midiBuffer.getNumEvents() <= numMidiEventsComingIn); + #endif } if (data.outputs != nullptr) @@ -1781,9 +1799,9 @@ private: for (int i = 0; i < numChans; ++i) { - if (outChanIndex < totalInputChans) + if (outChanIndex < totalInputChans && busChannels[i] != nullptr) FloatVectorOperations::copy (busChannels[i], buffer.getReadPointer (outChanIndex), (int) data.numSamples); - else if (outChanIndex >= totalOutputChans) + else if (outChanIndex >= totalOutputChans && busChannels[i] != nullptr) FloatVectorOperations::clear (busChannels[i], (int) data.numSamples); ++outChanIndex; @@ -2209,6 +2227,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 7264393c..ade01180 100644 --- a/modules/juce_audio_plugin_client/juce_audio_plugin_client.h +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client.h @@ -22,13 +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.1 + 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 "utility/juce_CheckSettingMacros.h" +#include +#include +#include namespace juce { diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp new file mode 100644 index 00000000..617f31e2 --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.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 "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 00000000..9f7f2b1d --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm @@ -0,0 +1,26 @@ +/* + ============================================================================== + + 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 JUCE_INCLUDED_AAX_IN_MM 1 +#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 00000000..dcb8c58b --- /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 00000000..b5af063f --- /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 00000000..c9f3936f --- /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 00000000..159bcdf7 --- /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 00000000..cac48413 --- /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 00000000..89e5234f --- /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 00000000..0258dde1 --- /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 00000000..cabebd7e --- /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 00000000..c28a927e --- /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 00000000..53092449 --- /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 00000000..4029e89b --- /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 00000000..16ac57f7 --- /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 00000000..215b6b9a --- /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 00000000..86d6c01e --- /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 0d8cd310..00000000 --- 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 a3f2d9fb..42ff6bda 100644 --- a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h +++ b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h @@ -26,11 +26,17 @@ // 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 +#ifdef JUCE_CHECKSETTINGMACROS_H + #error "This header should never be included twice! Otherwise something is wrong." +#endif +#define JUCE_CHECKSETTINGMACROS_H + #ifndef JucePlugin_IsSynth #error "You need to define the JucePlugin_IsSynth value!" #endif @@ -55,10 +61,6 @@ #error "JucePlugin_Latency is now deprecated - instead, call the AudioProcessor::setLatencySamples() method if your plugin has a non-zero delay" #endif -#ifndef JucePlugin_SilenceInProducesSilenceOut - #error "You need to define the JucePlugin_SilenceInProducesSilenceOut value!" -#endif - #ifndef JucePlugin_EditorRequiresKeyboardFocus #error "You need to define the JucePlugin_EditorRequiresKeyboardFocus value!" #endif diff --git a/modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h b/modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h index f37fe00f..7f1d24de 100644 --- a/modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h +++ b/modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h @@ -31,12 +31,12 @@ using namespace juce; namespace juce { - #if JUCE_MAC - #define Point juce::Point - #define Component juce::Component + #define Component juce::Component - void repostCurrentNSEvent(); - #endif + #if JUCE_MAC + #define Point juce::Point + void repostCurrentNSEvent(); + #endif //============================================================================== inline const PluginHostType& getHostType() @@ -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 2aaae186..f59b90ec 100644 --- a/modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h +++ b/modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h @@ -50,16 +50,20 @@ #define JUCE_SUPPORT_CARBON 1 #endif - #if JUCE_SUPPORT_CARBON - #define Point CarbonDummyPointName - #define Component CarbonDummyCompName - #include + #ifdef __OBJC__ + #if JUCE_MAC + #include + #elif JUCE_IOS + #include + #else + #error + #endif + #endif + + #if JUCE_SUPPORT_CARBON && (! JUCE_IOS) #include - #undef Point - #undef Component - #else - #include #endif + #include #include #include diff --git a/modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h b/modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h index f3bedb09..ec702615 100644 --- a/modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h +++ b/modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h @@ -21,167 +21,221 @@ ============================================================================== */ -// 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" -class PluginBusUtilities +struct PluginBusUtilities { -public: //============================================================================== typedef Array AudioBusArray; //============================================================================== - PluginBusUtilities (AudioProcessor& plugin, bool markDiscreteLayoutsAsSupported) - : juceFilter (plugin), + 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 defaultLayoutIndex; - bool busIgnoresLayout, canBeDisabled, isEnabledByDefault; - SortedSet supportedLayouts; - }; + // this will invoke setPreferredLayout many times + void init() { populateLayoutDetails(); } //============================================================================== - AudioBusArray& getFilterBus (bool inputBus) noexcept { return inputBus ? juceFilter.busArrangement.inputBuses : juceFilter.busArrangement.outputBuses; } - const AudioBusArray& getFilterBus (bool inputBus) const noexcept { return inputBus ? juceFilter.busArrangement.inputBuses : juceFilter.busArrangement.outputBuses; } + // 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(); } AudioChannelSet getChannelSet (bool inputBus, int bus) noexcept { return getFilterBus (inputBus).getReference (bus).channels; } int getNumChannels (bool inp, int bus) const noexcept { return isPositiveAndBelow (bus, getBusCount (inp)) ? getFilterBus (inp).getReference (bus).channels.size() : 0; } 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) const noexcept + int findTotalNumChannels (bool isInput, int busOffset = 0) const noexcept { int total = 0; const AudioBusArray& ioBuses = getFilterBus (isInput); - for (int i = 0; i < ioBuses.size(); ++i) + for (int i = busOffset; i < ioBuses.size(); ++i) total += ioBuses.getReference (i).channels.size(); return total; } - //============================================================================== - void restoreBusArrangement (const AudioProcessor::AudioBusArrangement& original) const + int getBusIdxForChannelIdx (bool isInput, int channelIdx, int& totalChannels, int startBusIdx) { - const int numInputBuses = getBusCount (true); - const int numOutputBuses = getBusCount (false); + const int numBuses = getBusCount (isInput); - jassert (original.inputBuses. size() == numInputBuses); - jassert (original.outputBuses.size() == numOutputBuses); + for (int busIdx = startBusIdx; busIdx < numBuses; ++busIdx) + { + const int numChannels = getNumChannels (isInput, busIdx); + if ((totalChannels + numChannels) > channelIdx) + return busIdx; - for (int busNr = 0; busNr < numInputBuses; ++busNr) - juceFilter.setPreferredBusArrangement (true, busNr, original.inputBuses.getReference (busNr).channels); + totalChannels += numChannels; + } - for (int busNr = 0; busNr < numOutputBuses; ++busNr) - juceFilter.setPreferredBusArrangement (false, busNr, original.outputBuses.getReference (busNr).channels); + return -1; } - //============================================================================== - Array& getSupportedLayouts (bool isInput) noexcept { return isInput ? inputLayouts : outputLayouts; } - const Array& getSupportedLayouts (bool isInput) const noexcept { return isInput ? inputLayouts : outputLayouts; } + int getBusIdxForChannelIdx (bool isInput, int channelIdx) + { + int totalChannels = 0; + return getBusIdxForChannelIdx (isInput, channelIdx, totalChannels, 0); + } - 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); } + //============================================================================== + // Bus properties & defaults bool busIgnoresLayout (bool inp, int bus) const noexcept { - return isPositiveAndBelow (bus, getSupportedLayouts (inp).size()) ? getSupportedBusLayouts (inp, bus).busIgnoresLayout : true; + return isPositiveAndBelow (bus, getLayoutDetails (inp).size()) ? getBusLayoutDetails (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; } + bool busCanBeDisabled (bool inp, int bus) const noexcept + { + return isPositiveAndBelow (bus, getLayoutDetails (inp).size()) ? getBusLayoutDetails (inp, bus).canBeDisabled : false; + } - void clear (int inputCount, int outputCount) + bool isBusEnabledByDefault (bool inp, int bus) const noexcept { - inputLayouts.clear(); - inputLayouts.resize (inputCount); - outputLayouts.clear(); - outputLayouts.resize (outputCount); + 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 (const AudioChannelSet* set = getSupportedBusLayouts (isInput, busIdx).getDefaultLayoutForChannelNum (channelNum)) - return *set; + if (busIdx < 0 || busIdx >= getBusCount (isInput) || channelNum == 0) + return AudioChannelSet::disabled(); - return AudioChannelSet::canonicalChannelSet (channelNum); + 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(); } - void findAllCompatibleLayouts() + //============================================================================== + // 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) { - ScopedBusRestorer restorer (*this); - clear (getBusCount (true), getBusCount (false)); + 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); + } - for (int i = 0; i < getBusCount (true); ++i) findAllCompatibleLayoutsForBus (true, i); - for (int i = 0; i < getBusCount (false); ++i) findAllCompatibleLayoutsForBus (false, i); + return jmin (upperlimit, maxChannelCount); } + #endif - // find the defaults - for (int i = 0; i < getBusCount (true); ++i) - updateDefaultLayout (true, i); + ScopedBusRestorer busRestorer (*this); - for (int i = 0; i < getBusCount (false); ++i) - updateDefaultLayout (false, i); + if (plugInFormatSupportsDiscreteLayouts && + processor.setPreferredBusArrangement(isInput, busNr, AudioChannelSet::discreteChannels (insaneNumberOfChannels))) + return -1; // no limit in channels - // can any of the buses be disabled/enabled - dynamicInBuses = doesPlugInHaveDynamicBuses (true); - dynamicOutBuses = doesPlugInHaveDynamicBuses (false); + 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 + { + const int numInputBuses = getBusCount (true); + const int numOutputBuses = getBusCount (false); + + jassert (original.inputBuses. size() == numInputBuses); + jassert (original.outputBuses.size() == numOutputBuses); + + for (int busNr = 0; busNr < numInputBuses; ++busNr) + processor.setPreferredBusArrangement (true, busNr, original.inputBuses.getReference (busNr).channels); + + for (int busNr = 0; busNr < numOutputBuses; ++busNr) + processor.setPreferredBusArrangement (false, busNr, original.outputBuses.getReference (busNr).channels); + } + void enableAllBuses() { for (int busIdx = 1; busIdx < getBusCount (true); ++busIdx) if (getChannelSet (true, busIdx) == AudioChannelSet::disabled()) - juceFilter.setPreferredBusArrangement (true, busIdx, getDefaultLayoutForBus (true, busIdx)); + processor.setPreferredBusArrangement (true, busIdx, getDefaultLayoutForBus (true, busIdx)); for (int busIdx = 1; busIdx < getBusCount (false); ++busIdx) if (getChannelSet (false, busIdx) == AudioChannelSet::disabled()) - juceFilter.setPreferredBusArrangement (false, busIdx, getDefaultLayoutForBus (false, busIdx)); + processor.setPreferredBusArrangement (false, busIdx, getDefaultLayoutForBus (false, busIdx)); } //============================================================================== @@ -189,9 +243,9 @@ public: class ScopedBusRestorer { public: - ScopedBusRestorer (PluginBusUtilities& bUtils) + ScopedBusRestorer (const PluginBusUtilities& bUtils) : busUtils (bUtils), - originalArr (bUtils.juceFilter.busArrangement), + originalArr (bUtils.processor.busArrangement), shouldRestore (true) {} @@ -204,7 +258,7 @@ public: void release() noexcept { shouldRestore = false; } private: - PluginBusUtilities& busUtils; + const PluginBusUtilities& busUtils; const AudioProcessor::AudioBusArrangement originalArr; bool shouldRestore; @@ -212,14 +266,74 @@ public: }; //============================================================================== - AudioProcessor& juceFilter; + 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 + }; + + //============================================================================== + // 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; + //============================================================================== - Array inputLayouts, outputLayouts; - bool dynamicInBuses, dynamicOutBuses, addDiscreteLayouts; + 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) @@ -227,115 +341,155 @@ private: AudioChannelSet set; // 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 + // then we assume that the plug-in ignores the layout altogether for (int i = 0; i < channelNum; ++i) - set.addChannel (static_cast (SupportedBusLayouts::pseudoChannelBitNum + i)); + set.addChannel (static_cast (pseudoChannelBitNum + i)); - return juceFilter.setPreferredBusArrangement (isInput, busNr, set); + 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 = juceFilter.setPreferredBusArrangement (isInput, busNr, AudioChannelSet()); + 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) { const AudioChannelSet& layout = sets.getReference (j); - if (juceFilter.setPreferredBusArrangement (isInput, busNr, layout)) + 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 + dfltLayout = getDefaultLayoutForChannelNumAndBus (isInput, busIdx, dfltLayout.size()); + } - const bool useInput = mainBusHasInputs && mainBusHasOutputs ? isInput : mainBusHasInputs; - const AudioChannelSet& dfltLayout = getSupportedBusLayouts (useInput, 0).getDefault(); + // are we done? + if (dfltLayout != AudioChannelSet()) + return; - if ((layouts.defaultLayoutIndex = layouts.supportedLayouts.indexOf (dfltLayout)) >= 0) - return; + const bool mainBusHasInputs = hasInputs (0); + const bool mainBusHasOutputs = hasOutputs (0); - // 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 (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; - if (layouts.busIgnoresLayout) - set = AudioChannelSet::discreteChannels (set.size()); + // no exact match: try at least to match the number of channels + dfltLayout = getDefaultLayoutForChannelNumAndBus (isInput, busIdx, dfltLayout.size()); + if (dfltLayout != AudioChannelSet()) + return; } - layouts.updateDefaultLayout (set); + // 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; + } + + void clear (int inputCount, int outputCount) + { + inputLayouts.clear(); + inputLayouts.resize (inputCount); + outputLayouts.clear(); + outputLayouts.resize (outputCount); } - static Array layoutListCompatibleWithChannelCount (bool addDiscrete, const int channelCount) noexcept + //============================================================================== + static Array layoutListCompatibleWithChannelCount (const int channelCount) noexcept { jassert (channelCount > 0); Array sets; - if (addDiscrete) - sets.add (AudioChannelSet::discreteChannels (channelCount)); - switch (channelCount) { case 1: @@ -344,7 +498,12 @@ private: case 2: sets.add (AudioChannelSet::stereo()); break; + case 3: + sets.add (AudioChannelSet::createLCR()); + sets.add (AudioChannelSet::createLRS()); + break; case 4: + sets.add (AudioChannelSet::createLCRS()); sets.add (AudioChannelSet::quadraphonic()); sets.add (AudioChannelSet::ambisonic()); break; @@ -354,20 +513,24 @@ private: break; case 6: 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; } return sets; } + + JUCE_DECLARE_NON_COPYABLE (PluginBusUtilities) }; diff --git a/modules/juce_audio_plugin_client/utility/juce_PluginHostType.h b/modules/juce_audio_plugin_client/utility/juce_PluginHostType.h index f1f17891..eb9d0628 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 { @@ -45,6 +57,7 @@ public: Ardour, CakewalkSonar8, CakewalkSonarGeneric, + DaVinciResolve, DigidesignProTools, DigitalPerformer, FinalCut, @@ -53,6 +66,7 @@ public: MergingPyramix, MuseReceptorGeneric, Reaper, + Renoise, SteinbergCubase4, SteinbergCubase5, SteinbergCubase5Bridged, @@ -80,31 +94,34 @@ public: HostType type; //============================================================================== - bool isAbletonLive() const noexcept { return type == AbletonLive6 || type == AbletonLive7 || type == AbletonLive8 || type == AbletonLiveGeneric; } - bool isAdobeAudition() const noexcept { return type == AdobeAudition; } - bool isArdour() const noexcept { return type == Ardour; } - bool isDigitalPerformer() const noexcept { return type == DigitalPerformer; } - bool isCubase() const noexcept { return type == SteinbergCubase4 || type == SteinbergCubase5 || type == SteinbergCubase5Bridged || type == SteinbergCubase6 || type == SteinbergCubase7 || type == SteinbergCubase8 || type == SteinbergCubaseGeneric; } - bool isCubase7orLater() const noexcept { return isCubase() && ! (type == SteinbergCubase4 || type == SteinbergCubase5 || type == SteinbergCubase6); } - bool isCubaseBridged() const noexcept { return type == SteinbergCubase5Bridged; } - bool isLogic() const noexcept { return type == AppleLogic; } - bool isFinalCut() const noexcept { return type == FinalCut; } - bool isFruityLoops() const noexcept { return type == FruityLoops; } - bool isNuendo() const noexcept { return type == SteinbergNuendo3 || type == SteinbergNuendo4 || type == SteinbergNuendo5 || type == SteinbergNuendoGeneric; } - bool isPremiere() const noexcept { return type == AdobePremierePro; } - bool isPyramix() const noexcept { return type == MergingPyramix; } - bool isReceptor() const noexcept { return type == MuseReceptorGeneric; } - bool isReaper() const noexcept { return type == Reaper; } - bool isSamplitude() const noexcept { return type == MagixSamplitude; } - bool isSonar() const noexcept { return type == CakewalkSonar8 || type == CakewalkSonarGeneric; } - bool isSteinbergTestHost() const noexcept{ return type == SteinbergTestHost; } - bool isSteinberg() const noexcept { return isCubase() || isNuendo() || isWavelab() || isSteinbergTestHost(); } - bool isStudioOne() const noexcept { return type == StudioOne; } - bool isTracktion() const noexcept { return type == Tracktion3 || type == TracktionGeneric; } - bool isVBVSTScanner() const noexcept { return type == VBVSTScanner; } - bool isWaveBurner() const noexcept { return type == WaveBurner; } - bool isWavelab() const noexcept { return isWavelabLegacy() || type == SteinbergWavelab7 || type == SteinbergWavelab8 || type == SteinbergWavelabGeneric; } - bool isWavelabLegacy() const noexcept { return type == SteinbergWavelab5 || type == SteinbergWavelab6; } + bool isAbletonLive() const noexcept { return type == AbletonLive6 || type == AbletonLive7 || type == AbletonLive8 || type == AbletonLiveGeneric; } + bool isAdobeAudition() const noexcept { return type == AdobeAudition; } + bool isArdour() const noexcept { return type == Ardour; } + bool isCubase() const noexcept { return type == SteinbergCubase4 || type == SteinbergCubase5 || type == SteinbergCubase5Bridged || type == SteinbergCubase6 || type == SteinbergCubase7 || type == SteinbergCubase8 || type == SteinbergCubaseGeneric; } + bool isCubase7orLater() const noexcept { return isCubase() && ! (type == SteinbergCubase4 || type == SteinbergCubase5 || type == SteinbergCubase6); } + bool isCubaseBridged() const noexcept { return type == SteinbergCubase5Bridged; } + bool isDaVinciResolve() const noexcept { return type == DaVinciResolve; } + bool isDigitalPerformer() const noexcept { return type == DigitalPerformer; } + bool isFinalCut() const noexcept { return type == FinalCut; } + bool isFruityLoops() const noexcept { return type == FruityLoops; } + bool isLogic() const noexcept { return type == AppleLogic; } + bool isNuendo() const noexcept { return type == SteinbergNuendo3 || type == SteinbergNuendo4 || type == SteinbergNuendo5 || type == SteinbergNuendoGeneric; } + bool isPremiere() const noexcept { return type == AdobePremierePro; } + bool isProTools() const noexcept { return type == DigidesignProTools; } + bool isPyramix() const noexcept { return type == MergingPyramix; } + bool isReceptor() const noexcept { return type == MuseReceptorGeneric; } + bool isReaper() const noexcept { return type == Reaper; } + bool isRenoise() const noexcept { return type == Renoise; } + bool isSamplitude() const noexcept { return type == MagixSamplitude; } + bool isSonar() const noexcept { return type == CakewalkSonar8 || type == CakewalkSonarGeneric; } + bool isSteinbergTestHost() const noexcept { return type == SteinbergTestHost; } + bool isSteinberg() const noexcept { return isCubase() || isNuendo() || isWavelab() || isSteinbergTestHost(); } + bool isStudioOne() const noexcept { return type == StudioOne; } + bool isTracktion() const noexcept { return type == Tracktion3 || type == TracktionGeneric; } + bool isVBVSTScanner() const noexcept { return type == VBVSTScanner; } + bool isWaveBurner() const noexcept { return type == WaveBurner; } + bool isWavelab() const noexcept { return isWavelabLegacy() || type == SteinbergWavelab7 || type == SteinbergWavelab8 || type == SteinbergWavelabGeneric; } + bool isWavelabLegacy() const noexcept { return type == SteinbergWavelab5 || type == SteinbergWavelab6; } //============================================================================== const char* getHostDescription() const noexcept @@ -120,6 +137,7 @@ public: case AppleLogic: return "Apple Logic"; case CakewalkSonar8: return "Cakewalk Sonar 8"; case CakewalkSonarGeneric: return "Cakewalk Sonar"; + case DaVinciResolve: return "DaVinci Resolve"; case DigidesignProTools: return "ProTools"; case DigitalPerformer: return "DigitalPerformer"; case FinalCut: return "Final Cut"; @@ -128,6 +146,7 @@ public: case MergingPyramix: return "Pyramix"; case MuseReceptorGeneric: return "Muse Receptor"; case Reaper: return "Reaper"; + case Renoise: return "Renoise"; case SteinbergCubase4: return "Steinberg Cubase 4"; case SteinbergCubase5: return "Steinberg Cubase 5"; case SteinbergCubase5Bridged: return "Steinberg Cubase 5 Bridged"; @@ -162,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() @@ -198,6 +234,8 @@ private: if (hostPath.containsIgnoreCase ("Studio One")) return StudioOne; if (hostPath.containsIgnoreCase ("Tracktion 3")) return Tracktion3; if (hostFilename.containsIgnoreCase ("Tracktion")) return TracktionGeneric; + if (hostFilename.containsIgnoreCase ("Renoise")) return Renoise; + if (hostFilename.containsIgnoreCase ("Resolve")) return DaVinciResolve; #elif JUCE_WINDOWS if (hostFilename.containsIgnoreCase ("Live 6.")) return AbletonLive6; @@ -235,10 +273,12 @@ private: if (hostFilename.containsIgnoreCase ("VST_Scanner")) return VBVSTScanner; if (hostPath.containsIgnoreCase ("Merging Technologies")) return MergingPyramix; if (hostFilename.startsWithIgnoreCase ("Sam")) return MagixSamplitude; + if (hostFilename.containsIgnoreCase ("Renoise")) return Renoise; + if (hostFilename.containsIgnoreCase ("Resolve")) return DaVinciResolve; #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 19ee6a7e..d95c9311 100644 --- a/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp +++ b/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp @@ -26,13 +26,15 @@ #include #endif -// 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" - +#include "../../juce_core/system/juce_TargetPlatform.h" #include "../utility/juce_CheckSettingMacros.h" #include "juce_IncludeModuleHeaders.h" +namespace juce +{ + int* jucePlugInClientCurrentWrapperType = nullptr; +} + #if _MSC_VER || JUCE_MINGW #if JucePlugin_Build_RTAS @@ -54,7 +56,7 @@ extern "C" BOOL WINAPI DllMain (HINSTANCE instance, DWORD reason, LPVOID reserve } #endif - (void) reserved; + ignoreUnused (reserved); return TRUE; } @@ -66,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 9b534a8b..029bf140 100644 --- a/modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp +++ b/modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp @@ -22,5 +22,188 @@ ============================================================================== */ +namespace AudioPluginFormatHelpers +{ + struct CallbackInvoker + { + struct InvokeOnMessageThread : public CallbackMessage + { + InvokeOnMessageThread (AudioPluginInstance* inInstance, const String& inError, + AudioPluginFormat::InstantiationCompletionCallback* inCompletion, + CallbackInvoker* invoker) + : 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; + }; +} + 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 (! MessageManager::getInstance()->isThisTheMessageThread()) + 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()); + + //============================================================================== + + + //============================================================================== + AudioPluginFormatHelpers::CallbackInvoker* completion = new AudioPluginFormatHelpers::CallbackInvoker (callback); + + createPluginInstance (description, initialSampleRate, initialBufferSize, completion, + AudioPluginFormatHelpers::CallbackInvoker::staticCompletionCallback); +} diff --git a/modules/juce_audio_processors/format/juce_AudioPluginFormat.h b/modules/juce_audio_processors/format/juce_AudioPluginFormat.h index 8f299a88..e59b28c4 100644 --- a/modules/juce_audio_processors/format/juce_AudioPluginFormat.h +++ b/modules/juce_audio_processors/format/juce_AudioPluginFormat.h @@ -30,11 +30,20 @@ /** The base class for a type of plugin format, such as VST, AudioUnit, LADSPA, etc. - @see AudioFormatManager + @see AudioPluginFormatManager */ 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 + */ + AudioPluginInstance* createInstanceFromDescription (const PluginDescription&, + double initialSampleRate, + int initialBufferSize); + + /** Same as above but with the possibility of returning an error message. + + @see AudioPluginFormatManager::createInstance */ - virtual AudioPluginInstance* createInstanceFromDescription (const PluginDescription& desc, - double initialSampleRate, - int initialBufferSize) = 0; + 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 f29e8ade..36e75e9d 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 { + 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) - if (AudioPluginInstance* result = formats.getUnchecked(i)->createInstanceFromDescription (description, rate, blockSize)) - return result; + { + 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 f810f32f..65e563f7 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 auxiliary 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 7648a61d..fcc90905 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,18 +38,33 @@ 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) }; #endif + +//============================================================================== +enum +{ + /** Custom AudioUnit property used to indicate MPE support */ + kAudioUnitProperty_SupportsMPE = 75001 +}; diff --git a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm index 1c1cc947..fec2a798 100644 --- a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm +++ b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm @@ -22,14 +22,17 @@ ============================================================================== */ -#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 #if JUCE_SUPPORT_CARBON @@ -45,6 +48,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 @@ -56,6 +61,14 @@ namespace juce #define JUCE_AU_LOG(a) #endif +#ifndef JUCE_SUPPORTS_AUv3 + #if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES + #define JUCE_SUPPORTS_AUv3 1 + #else + #define JUCE_SUPPORTS_AUv3 0 + #endif +#endif + namespace AudioUnitFormatHelpers { #if JUCE_DEBUG @@ -177,8 +190,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 +266,7 @@ namespace AudioUnitFormatHelpers } return desc.componentType != 0 && desc.componentSubType != 0; + #endif } const char* getCategory (OSType type) noexcept @@ -274,44 +293,37 @@ 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); + #if JUCE_SUPPORTS_AUv3 + isAUv3 = ((componentDesc.componentFlags & kAudioComponentFlag_IsV3AudioUnit) != 0); + #endif - 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 +336,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 +394,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; } //============================================================================== @@ -379,19 +421,14 @@ public: desc.category = AudioUnitFormatHelpers::getCategory (componentDesc.componentType); desc.manufacturerName = manufacturer; desc.version = version; - desc.numInputChannels = getNumInputChannels(); - desc.numOutputChannels = getNumOutputChannels(); + desc.numInputChannels = getTotalNumInputChannels(); + desc.numOutputChannels = getTotalNumOutputChannels(); desc.isInstrument = (componentDesc.componentType == kAudioUnitType_MusicDevice); } void* getPlatformSpecificData() override { return audioUnit; } const String getName() const override { return pluginName; } - bool silenceInProducesSilenceOut() const override - { - return getTailLengthSeconds() <= 0; - } - double getTailLengthSeconds() const override { Float64 tail = 0; @@ -445,12 +482,7 @@ public: (int) (numOutputBusChannels * numOutputBusses), (double) newSampleRate, estimatedSamplesPerBlock); - Float64 latencySecs = 0.0; - UInt32 latencySize = sizeof (latencySecs); - AudioUnitGetProperty (audioUnit, kAudioUnitProperty_Latency, kAudioUnitScope_Global, - 0, &latencySecs, &latencySize); - - setLatencySamples (roundToInt (latencySecs * newSampleRate)); + updateLatency(); { AudioStreamBasicDescription stream; @@ -480,7 +512,7 @@ public: zerostruct (timeStamp); timeStamp.mSampleTime = 0; - timeStamp.mHostTime = AudioGetCurrentHostTime(); + timeStamp.mHostTime = GetCurrentHostTime (0, sr, isAUv3); timeStamp.mFlags = kAudioTimeStampSampleTimeValid | kAudioTimeStampHostTimeValid; currentBuffer = nullptr; @@ -529,7 +561,7 @@ public: if (prepared) { - timeStamp.mHostTime = AudioGetCurrentHostTime(); + timeStamp.mHostTime = GetCurrentHostTime (numSamples, getSampleRate(), isAUv3); for (AudioUnitElement i = 0; i < numOutputBusses; ++i) { @@ -578,7 +610,7 @@ public: else { // Plugin not working correctly, so just bypass.. - for (int i = 0; i < getNumOutputChannels(); ++i) + for (int i = getTotalNumOutputChannels(); --i >= 0;) buffer.clear (i, 0, buffer.getNumSamples()); } @@ -597,7 +629,7 @@ public: //============================================================================== const String getInputChannelName (int index) const override { - if (isPositiveAndBelow (index, getNumInputChannels())) + if (isPositiveAndBelow (index, getTotalNumInputChannels())) return "Input " + String (index + 1); return String(); @@ -605,14 +637,14 @@ public: const String getOutputChannelName (int index) const override { - if (isPositiveAndBelow (index, getNumOutputChannels())) + if (isPositiveAndBelow (index, getTotalNumOutputChannels())) return "Output " + String (index + 1); return String(); } - bool isInputChannelStereoPair (int index) const override { return isPositiveAndBelow (index, getNumInputChannels()); } - bool isOutputChannelStereoPair (int index) const override { return isPositiveAndBelow (index, getNumOutputChannels()); } + bool isInputChannelStereoPair (int index) const override { return isPositiveAndBelow (index, getTotalNumInputChannels()); } + bool isOutputChannelStereoPair (int index) const override { return isPositiveAndBelow (index, getTotalNumOutputChannels()); } //============================================================================== int getNumParameters() override { return parameters.size(); } @@ -657,6 +689,7 @@ public: void sendParameterChangeEvent (int index) { + #if JUCE_MAC jassert (audioUnit != nullptr); const ParamInfo& p = *parameters.getUnchecked (index); @@ -669,10 +702,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; @@ -680,6 +717,7 @@ public: param.mParameterID = kAUParameterListener_AnyParameter; AUParameterListenerNotify (nullptr, nullptr, ¶m); + #endif } const String getParameterName (int index) override @@ -889,6 +927,16 @@ public: } } + void updateLatency() + { + Float64 latencySecs = 0.0; + UInt32 latencySize = sizeof (latencySecs); + AudioUnitGetProperty (audioUnit, kAudioUnitProperty_Latency, kAudioUnitScope_Global, + 0, &latencySecs, &latencySize); + + setLatencySamples (roundToInt (latencySecs * getSampleRate())); + } + void handleIncomingMidiMessage (void*, const MidiMessage& message) { const ScopedLock sl (midiInLock); @@ -904,10 +952,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 +964,9 @@ private: AudioUnitElement numInputBusChannels, numOutputBusChannels, numInputBusses, numOutputBusses; AudioUnit audioUnit; + #if JUCE_MAC AUEventListenerRef eventListenerRef; + #endif struct ParamInfo { @@ -947,6 +998,7 @@ private: kAudioUnitScope_Input, i, &info, sizeof (info)); } + #if JUCE_MAC if (producesMidiMessages) { AUMIDIOutputCallbackStruct info; @@ -958,6 +1010,7 @@ private: producesMidiMessages = (AudioUnitSetProperty (audioUnit, kAudioUnitProperty_MIDIOutputCallback, kAudioUnitScope_Global, 0, &info, sizeof (info)) == noErr); } + #endif { HostCallbackInfo info; @@ -971,7 +1024,7 @@ private: AudioUnitSetProperty (audioUnit, kAudioUnitProperty_HostCallbacks, kAudioUnitScope_Global, 0, &info, sizeof (info)); } - + #if JUCE_MAC AUEventListenerCreate (eventListenerCallback, this, CFRunLoopGetMain(), kCFRunLoopDefaultMode, 0, 0, &eventListenerRef); @@ -993,18 +1046,27 @@ private: AUEventListenerAddEventType (eventListenerRef, nullptr, &event); } - // Add a listener for program changes - AudioUnitEvent event; - event.mArgument.mProperty.mAudioUnit = audioUnit; - event.mArgument.mProperty.mPropertyID = kAudioUnitProperty_PresentPreset; - event.mArgument.mProperty.mScope = kAudioUnitScope_Global; - event.mArgument.mProperty.mElement = 0; - - event.mEventType = kAudioUnitEvent_PropertyChange; - AUEventListenerAddEventType (eventListenerRef, nullptr, &event); + 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; + event.mArgument.mProperty.mAudioUnit = audioUnit; + event.mArgument.mProperty.mPropertyID = kAudioUnitProperty_PresentPreset; + event.mArgument.mProperty.mScope = kAudioUnitScope_Global; + event.mArgument.mProperty.mElement = 0; + AUEventListenerAddEventType (eventListenerRef, nullptr, &event); + } + void eventCallback (const AudioUnitEvent& event, AudioUnitParameterValue newValue) { switch (event.mEventType) @@ -1032,7 +1094,13 @@ private: break; default: - sendAllParametersChangedEvents(); + if (event.mArgument.mProperty.mPropertyID == kAudioUnitProperty_ParameterList) + updateHostDisplay(); + else if (event.mArgument.mProperty.mPropertyID == kAudioUnitProperty_PresentPreset) + sendAllParametersChangedEvents(); + else if (event.mArgument.mProperty.mPropertyID == kAudioUnitProperty_Latency) + updateLatency(); + break; } } @@ -1043,6 +1111,7 @@ private: jassert (event != nullptr); static_cast (userRef)->eventCallback (*event, value); } + #endif //============================================================================== OSStatus renderGetInput (AudioUnitRenderActionFlags*, @@ -1217,6 +1286,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); @@ -1245,11 +1336,14 @@ private: numOutputBusses = getElementCount (kAudioUnitScope_Output); AUChannelInfo supportedChannels [128]; - UInt32 supportedChannelsSize = sizeof (supportedChannels); - - if (AudioUnitGetProperty (audioUnit, kAudioUnitProperty_SupportedNumChannels, kAudioUnitScope_Global, - 0, supportedChannels, &supportedChannelsSize) == noErr - && supportedChannelsSize > 0) + UInt32 supportedChannelsSize = 0; + Boolean writable; + + 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; @@ -1300,6 +1394,7 @@ private: bool canProduceMidiOutput() { + #if JUCE_MAC UInt32 dataSize = 0; Boolean isWritable = false; @@ -1318,6 +1413,30 @@ private: } } + return false; + #else + return false; + #endif + } + + bool supportsMPE() const override + { + UInt32 dataSize = 0; + Boolean isWritable = false; + + if (AudioUnitGetPropertyInfo (audioUnit, kAudioUnitProperty_SupportsMPE, + kAudioUnitScope_Global, 0, &dataSize, &isWritable) == noErr + && dataSize == sizeof (UInt32)) + { + UInt32 result = 0; + + if (AudioUnitGetProperty (audioUnit, kAudioUnitProperty_SupportsMPE, + kAudioUnitScope_Global, 0, &result, &dataSize) == noErr) + { + return result > 0; + } + } + return false; } @@ -1330,10 +1449,15 @@ class AudioUnitPluginWindowCocoa : public AudioProcessorEditor public: AudioUnitPluginWindowCocoa (AudioUnitPluginInstance& p, bool createGenericViewIfNeeded) : AudioProcessorEditor (&p), - plugin (p) + plugin (p), waitingForViewCallback (false) { addAndMakeVisible (wrapper); + #if JUCE_SUPPORTS_AUv3 + viewControllerCallback = + CreateObjCBlock (this, &AudioUnitPluginWindowCocoa::requestViewControllerCallback); + #endif + setOpaque (true); setVisible (true); setSize (100, 100); @@ -1343,7 +1467,7 @@ public: ~AudioUnitPluginWindowCocoa() { - if (isValid()) + if (wrapper.getView() != nil) { wrapper.setVisible (false); removeChildComponent (&wrapper); @@ -1352,7 +1476,24 @@ public: } } - bool isValid() const { return wrapper.getView() != nil; } + #if JUCE_SUPPORTS_AUv3 + void embedViewController (JUCE_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 { @@ -1370,19 +1511,27 @@ public: } private: - AudioUnitPluginInstance& plugin; + AudioUnitPluginInstance& plugin; AutoResizingNSViewComponent wrapper; + #if JUCE_SUPPORTS_AUv3 + typedef void (^ViewControllerCallbackBlock)(NSViewController *); + ObjCBlock viewControllerCallback; + #endif + + bool waitingForViewCallback; + bool createView (const bool createGenericViewIfNeeded) { if (! plugin.initialiseAudioUnit()) return false; - NSView* pluginView = nil; + JUCE_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 @@ -1417,7 +1566,32 @@ private: CFRelease (info->mCocoaAUViewBundleLocation); } } + #endif + + dataSize = 0; + isWritable = false; + + #if JUCE_SUPPORTS_AUv3 + 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)) { { @@ -1430,6 +1604,9 @@ private: pluginView = [[AUGenericView alloc] initWithAudioUnit: plugin.audioUnit]; } + #else + ignoreUnused (createGenericViewIfNeeded); + #endif wrapper.setView (pluginView); @@ -1438,6 +1615,41 @@ private: return pluginView != nil; } + + #if JUCE_SUPPORTS_AUv3 + void requestViewControllerCallback (NSViewController* controller) + { + auto nsSize = [controller preferredContentSize]; + auto viewSize = CGSizeMake (nsSize.width, nsSize.height); + + if (! MessageManager::getInstance()->isThisTheMessageThread()) + { + struct AsyncViewControllerCallback : public CallbackMessage + { + AudioUnitPluginWindowCocoa* owner; + JUCE_IOS_MAC_VIEW* controllerView; + CGSize size; + + AsyncViewControllerCallback (AudioUnitPluginWindowCocoa* plugInWindow, JUCE_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], viewSize))->post(); + } + else + { + embedViewController ([controller view], viewSize); + } + } + #endif }; #if JUCE_SUPPORT_CARBON @@ -1621,6 +1833,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)); @@ -1634,23 +1850,141 @@ 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))) + { + 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 AUAsyncInitializationCallback + { + #if JUCE_SUPPORTS_AUv3 + typedef void (^AUCompletionCallbackBlock)(AudioComponentInstance, OSStatus); + #endif + + AUAsyncInitializationCallback (double inSampleRate, int inFramesPerBuffer, + void* inUserData, void (*inOriginalCallback) (void*, AudioPluginInstance*, const String&)) + : sampleRate (inSampleRate), framesPerBuffer (inFramesPerBuffer), + passUserData (inUserData), originalCallback (inOriginalCallback) + { + #if JUCE_SUPPORTS_AUv3 + block = CreateObjCBlock (this, &AUAsyncInitializationCallback::completion); + #endif + } + + #if JUCE_SUPPORTS_AUv3 + AUCompletionCallbackBlock getBlock() noexcept { return block; } + #endif + + 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 occurred 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&); + + #if JUCE_SUPPORTS_AUv3 + ObjCBlock block; + #endif + }; + + AUAsyncInitializationCallback* callbackBlock + = new AUAsyncInitializationCallback (rate, blockSize, userData, callback); + + #if JUCE_SUPPORTS_AUv3 + //============================================================================== + bool isAUv3 = ((componentDesc.componentFlags & kAudioComponentFlag_IsV3AudioUnit) != 0); + + if (isAUv3) { - result->initialise (rate, blockSize); - return result.release(); + AudioComponentInstantiate (auComponent, kAudioComponentInstantiation_LoadOutOfProcess, + callbackBlock->getBlock()); + + return; } + #endif // JUCE_SUPPORTS_AUv3 + + AudioComponentInstance audioUnit; + OSStatus err = AudioComponentInstanceNew(auComponent, &audioUnit); + callbackBlock->completion (err != noErr ? nullptr : audioUnit, err); + } + else + { + callback (userData, nullptr, NEEDS_TRANS ("Plug-in description is not an AudioUnit plug-in")); + } +} + +bool AudioUnitPluginFormat::requiresUnblockedMessageThreadDuringCreation (const PluginDescription& desc) const noexcept +{ + #if JUCE_SUPPORTS_AUv3 + 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); } + #else + ignoreUnused (desc); + #endif - return nullptr; + return false; } -StringArray AudioUnitPluginFormat::searchPathsForPlugins (const FileSearchPath&, bool /*recursive*/) +StringArray AudioUnitPluginFormat::searchPathsForPlugins (const FileSearchPath&, bool /*recursive*/, bool allowPluginsWhichRequireAsynchronousInstantiation) { StringArray result; AudioComponent comp = nullptr; @@ -1665,7 +1999,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 @@ -1673,7 +2008,12 @@ StringArray AudioUnitPluginFormat::searchPathsForPlugins (const FileSearchPath&, || desc.componentType == kAudioUnitType_Generator || desc.componentType == kAudioUnitType_Panner) { - result.add (AudioUnitFormatHelpers::createPluginIdentifier (desc)); + #if JUCE_SUPPORTS_AUv3 + bool isAUv3 = ((desc.componentFlags & kAudioComponentFlag_IsV3AudioUnit) != 0); + + if (allowPluginsWhichRequireAsynchronousInstantiation || ! isAUv3) + #endif + result.add (AudioUnitFormatHelpers::createPluginIdentifier (desc)); } } @@ -1690,7 +2030,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 f9863345..630b43fe 100644 --- a/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp @@ -225,8 +225,8 @@ public: desc.category = getCategory(); desc.manufacturerName = plugin != nullptr ? String (plugin->Maker) : String(); desc.version = getVersion(); - desc.numInputChannels = getNumInputChannels(); - desc.numOutputChannels = getNumOutputChannels(); + desc.numInputChannels = getTotalNumInputChannels(); + desc.numOutputChannels = getTotalNumOutputChannels(); desc.isInstrument = false; } @@ -252,7 +252,6 @@ public: bool acceptsMidi() const { return false; } bool producesMidi() const { return false; } - bool silenceInProducesSilenceOut() const { return plugin == nullptr; } // ..any way to get a proper answer for these? double getTailLengthSeconds() const { return 0.0; } //============================================================================== @@ -327,16 +326,16 @@ public: jassertfalse; // no callback to use? } - for (int i = getNumInputChannels(); i < getNumOutputChannels(); ++i) + for (int i = getTotalNumInputChannels(), e = getTotalNumOutputChannels(); i < e; ++i) buffer.clear (i, 0, numSamples); } - bool isInputChannelStereoPair (int index) const { return isPositiveAndBelow (index, getNumInputChannels()); } - bool isOutputChannelStereoPair (int index) const { return isPositiveAndBelow (index, getNumInputChannels()); } + bool isInputChannelStereoPair (int index) const { return isPositiveAndBelow (index, getTotalNumInputChannels()); } + bool isOutputChannelStereoPair (int index) const { return isPositiveAndBelow (index, getTotalNumOutputChannels()); } const String getInputChannelName (const int index) const { - if (isPositiveAndBelow (index, getNumInputChannels())) + if (isPositiveAndBelow (index, getTotalNumInputChannels())) return String (plugin->PortNames [inputs [index]]).trim(); return String(); @@ -344,7 +343,7 @@ public: const String getOutputChannelName (const int index) const { - if (isPositiveAndBelow (index, getNumInputChannels())) + if (isPositiveAndBelow (index, getTotalNumInputChannels())) return String (plugin->PortNames [outputs [index]]).trim(); return String(); @@ -611,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); @@ -640,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 +{ + return false; } bool LADSPAPluginFormat::fileMightContainThisPluginType (const String& fileOrIdentifier) @@ -664,7 +676,7 @@ bool LADSPAPluginFormat::doesPluginStillExist (const PluginDescription& desc) return File::createFileWithoutCheckingPath (desc.fileOrIdentifier).exists(); } -StringArray LADSPAPluginFormat::searchPathsForPlugins (const FileSearchPath& directoriesToSearch, const bool recursive) +StringArray LADSPAPluginFormat::searchPathsForPlugins (const FileSearchPath& directoriesToSearch, const bool recursive, bool) { StringArray results; diff --git a/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h b/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h index 15c10957..4a8a3ce9 100644 --- a/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h +++ b/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h @@ -31,22 +31,28 @@ class JUCE_API LADSPAPluginFormat : public AudioPluginFormat { public: - //============================================================================== LADSPAPluginFormat(); ~LADSPAPluginFormat(); //============================================================================== 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; - 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; + 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 2ede0a63..06364100 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3Common.h +++ b/modules/juce_audio_processors/format_types/juce_VST3Common.h @@ -67,17 +67,17 @@ inline juce::String toString (const Steinberg::char16* string) noexcept { re inline juce::String toString (const Steinberg::UString128& string) noexcept { return toString (static_cast (string)); } inline juce::String toString (const Steinberg::UString256& string) noexcept { return toString (static_cast (string)); } -static void toString128 (Steinberg::Vst::String128 result, const char* source) +inline void toString128 (Steinberg::Vst::String128 result, const char* source) { Steinberg::UString (result, 128).fromAscii (source); } -static void toString128 (Steinberg::Vst::String128 result, const juce::String& source) +inline void toString128 (Steinberg::Vst::String128 result, const juce::String& source) { Steinberg::UString (result, 128).fromAscii (source.toUTF8()); } -static Steinberg::Vst::TChar* toString (const juce::String& source) noexcept +inline Steinberg::Vst::TChar* toString (const juce::String& source) noexcept { return reinterpret_cast (source.toUTF16().getAddress()); } @@ -143,25 +143,25 @@ static inline Steinberg::Vst::Speaker getSpeakerType (AudioChannelSet::ChannelTy switch (type) { - case AudioChannelSet::ChannelType::left: return kSpeakerL; - case AudioChannelSet::ChannelType::right: return kSpeakerR; - case AudioChannelSet::ChannelType::centre: return kSpeakerC; - case AudioChannelSet::ChannelType::subbass: return kSpeakerLfe; - case AudioChannelSet::ChannelType::surroundLeft: return kSpeakerLs; - case AudioChannelSet::ChannelType::surroundRight: return kSpeakerRs; - case AudioChannelSet::ChannelType::centreLeft: return kSpeakerLc; - case AudioChannelSet::ChannelType::centreRight: return kSpeakerRc; - case AudioChannelSet::ChannelType::surround: return kSpeakerS; - case AudioChannelSet::ChannelType::sideLeft: return kSpeakerSl; - case AudioChannelSet::ChannelType::sideRight: return kSpeakerSr; - case AudioChannelSet::ChannelType::topMiddle: return kSpeakerTm; - case AudioChannelSet::ChannelType::topFrontLeft: return kSpeakerTfl; - case AudioChannelSet::ChannelType::topFrontCentre: return kSpeakerTfc; - case AudioChannelSet::ChannelType::topFrontRight: return kSpeakerTfr; - case AudioChannelSet::ChannelType::topRearLeft: return kSpeakerTrl; - case AudioChannelSet::ChannelType::topRearCentre: return kSpeakerTrc; - case AudioChannelSet::ChannelType::topRearRight: return kSpeakerTrr; - case AudioChannelSet::ChannelType::subbass2: return kSpeakerLfe2; + case AudioChannelSet::left: return kSpeakerL; + case AudioChannelSet::right: return kSpeakerR; + case AudioChannelSet::centre: return kSpeakerC; + case AudioChannelSet::subbass: return kSpeakerLfe; + 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::leftRearSurround: return kSpeakerSl; + case AudioChannelSet::rightRearSurround: return kSpeakerSr; + case AudioChannelSet::topMiddle: return kSpeakerTm; + case AudioChannelSet::topFrontLeft: return kSpeakerTfl; + case AudioChannelSet::topFrontCentre: return kSpeakerTfc; + case AudioChannelSet::topFrontRight: return kSpeakerTfr; + case AudioChannelSet::topRearLeft: return kSpeakerTrl; + case AudioChannelSet::topRearCentre: return kSpeakerTrc; + case AudioChannelSet::topRearRight: return kSpeakerTrr; + case AudioChannelSet::subbass2: return kSpeakerLfe2; default: break; } @@ -174,33 +174,37 @@ static inline AudioChannelSet::ChannelType getChannelType (Steinberg::Vst::Speak switch (type) { - case kSpeakerL: return AudioChannelSet::ChannelType::left; - case kSpeakerR: return AudioChannelSet::ChannelType::right; - case kSpeakerC: return AudioChannelSet::ChannelType::centre; - case kSpeakerLfe: return AudioChannelSet::ChannelType::subbass; - case kSpeakerLs: return AudioChannelSet::ChannelType::surroundLeft; - case kSpeakerRs: return AudioChannelSet::ChannelType::surroundRight; - case kSpeakerLc: return AudioChannelSet::ChannelType::centreLeft; - case kSpeakerRc: return AudioChannelSet::ChannelType::centreRight; - case kSpeakerS: return AudioChannelSet::ChannelType::surround; - case kSpeakerSl: return AudioChannelSet::ChannelType::sideLeft; - case kSpeakerSr: return AudioChannelSet::ChannelType::sideRight; - case kSpeakerTm: return AudioChannelSet::ChannelType::topMiddle; - case kSpeakerTfl: return AudioChannelSet::ChannelType::topFrontLeft; - case kSpeakerTfc: return AudioChannelSet::ChannelType::topFrontCentre; - case kSpeakerTfr: return AudioChannelSet::ChannelType::topFrontRight; - case kSpeakerTrl: return AudioChannelSet::ChannelType::topRearLeft; - case kSpeakerTrc: return AudioChannelSet::ChannelType::topRearCentre; - case kSpeakerTrr: return AudioChannelSet::ChannelType::topRearRight; - case kSpeakerLfe2: return AudioChannelSet::ChannelType::subbass2; + case kSpeakerL: return AudioChannelSet::left; + case kSpeakerR: return AudioChannelSet::right; + case kSpeakerC: return AudioChannelSet::centre; + case kSpeakerLfe: return AudioChannelSet::subbass; + 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::leftRearSurround; + case kSpeakerSr: return AudioChannelSet::rightRearSurround; + case kSpeakerTm: return AudioChannelSet::topMiddle; + case kSpeakerTfl: return AudioChannelSet::topFrontLeft; + case kSpeakerTfc: return AudioChannelSet::topFrontCentre; + case kSpeakerTfr: return AudioChannelSet::topFrontRight; + case kSpeakerTrl: return AudioChannelSet::topRearLeft; + case kSpeakerTrc: return AudioChannelSet::topRearCentre; + case kSpeakerTrr: return AudioChannelSet::topRearRight; + case kSpeakerLfe2: return AudioChannelSet::subbass2; default: break; } - return AudioChannelSet::ChannelType::unknown; + return AudioChannelSet::unknown; } 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 7e748951..c5564db8 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3Headers.h +++ b/modules/juce_audio_processors/format_types/juce_VST3Headers.h @@ -25,9 +25,6 @@ #ifndef JUCE_VST3HEADERS_H_INCLUDED #define JUCE_VST3HEADERS_H_INCLUDED -#undef Point -#undef Component - // Wow, those Steinberg guys really don't worry too much about compiler warnings. #if _MSC_VER #pragma warning (disable: 4505) @@ -50,12 +47,15 @@ #pragma clang diagnostic ignored "-Wdelete-non-virtual-dtor" #endif +#undef DEVELOPMENT +#define DEVELOPMENT 0 // This avoids a Clang warning in Steinberg code about unused values + /* These files come with the Steinberg VST3 SDK - to get them, you'll need to visit the Steinberg website and agree to whatever is currently required to 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 @@ -171,7 +171,5 @@ namespace Steinberg #undef DEF_CLASS2 #undef DEF_CLASS_W #undef END_FACTORY -#undef Point -#undef Component #endif // JUCE_VST3HEADERS_H_INCLUDED diff --git a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp index fe52e362..d6173345 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp @@ -93,7 +93,7 @@ static int getHashForTUID (const TUID& tuid) noexcept return value; } -template +template static void fillDescriptionWith (PluginDescription& description, ObjectType& object) { description.version = toString (object.version).trim(); @@ -455,7 +455,7 @@ public: tresult PLUGIN_API requestOpenEditor (FIDString name) override { - (void) name; + ignoreUnused (name); jassertfalse; return kResultFalse; } @@ -901,7 +901,7 @@ private: Atomic refCount; //============================================================================== - template + template void addMessageToQueue (AttrID id, const Type& value) { jassert (id != nullptr); @@ -920,7 +920,7 @@ private: owner->messageQueue.add (ComSmartPtr (new Message (*owner, this, id, value))); } - template + template bool findMessageOnQueueWithID (AttrID id, Type& value) { jassert (id != nullptr); @@ -1190,6 +1190,7 @@ private: if (library.open (filePath)) { typedef bool (PLUGIN_API *InitModuleProc) (); + if (InitModuleProc proc = (InitModuleProc) getFunction ("InitDll")) { if (proc()) @@ -1576,6 +1577,11 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (VST3PluginWindow) }; +#if JUCE_MSVC + #pragma warning (push) + #pragma warning (disable: 4996) // warning about overriding deprecated methods +#endif + //============================================================================== class VST3PluginInstance : public AudioPluginInstance { @@ -1665,8 +1671,8 @@ public: createPluginDescription (description, module->file, company, module->name, *info, info2, infoW, - getNumInputChannels(), - getNumOutputChannels()); + getTotalNumInputChannels(), + getTotalNumOutputChannels()); } void* getPlatformSpecificData() override { return component; } @@ -1675,7 +1681,7 @@ public: //============================================================================== const String getName() const override { - return module != nullptr ? module->name : String::empty; + return module != nullptr ? module->name : String(); } void repopulateArrangements() @@ -1754,19 +1760,15 @@ public: if (! isActive) return; // Avoids redundantly calling things like setActive - JUCE_TRY - { - isActive = false; + isActive = false; - setStateForAllBusses (false); + setStateForAllBusses (false); - if (processor != nullptr) - warnOnFailure (processor->setProcessing (false)); + if (processor != nullptr) + warnOnFailure (processor->setProcessing (false)); - if (component != nullptr) - warnOnFailure (component->setActive (false)); - } - JUCE_CATCH_ALL_ASSERT + if (component != nullptr) + warnOnFailure (component->setActive (false)); } bool supportsDoublePrecisionProcessing() const override @@ -1808,7 +1810,7 @@ public: updateTimingInformation (data, getSampleRate()); - for (int i = getNumInputChannels(); i < buffer.getNumChannels(); ++i) + for (int i = getTotalNumInputChannels(); i < buffer.getNumChannels(); ++i) buffer.clear (i, 0, numSamples); associateTo (data, buffer); @@ -1837,7 +1839,7 @@ public: return toString (busInfo.name); } - return String::empty; + return String(); } const String getInputChannelName (int channelIndex) const override { return getChannelName (channelIndex, true, true); } @@ -1845,41 +1847,29 @@ public: bool isInputChannelStereoPair (int channelIndex) const override { - if (channelIndex < 0 || channelIndex >= getNumInputChannels()) - return false; - - return getBusInfo (true, true).channelCount == 2; + return isPositiveAndBelow (channelIndex, getTotalNumInputChannels()) + && getBusInfo (true, true).channelCount == 2; } bool isOutputChannelStereoPair (int channelIndex) const override { - if (channelIndex < 0 || channelIndex >= getNumOutputChannels()) - return false; - - return getBusInfo (false, true).channelCount == 2; + return isPositiveAndBelow (channelIndex, getTotalNumOutputChannels()) + && getBusInfo (false, true).channelCount == 2; } bool acceptsMidi() const override { return getBusInfo (true, false).channelCount > 0; } bool producesMidi() const override { return getBusInfo (false, false).channelCount > 0; } //============================================================================== - bool silenceInProducesSilenceOut() const override - { - if (processor != nullptr) - return processor->getTailSamples() == Vst::kNoTail; - - return true; - } - /** May return a negative value as a means of informing us that the plugin has "infinite tail," or 0 for "no tail." */ double getTailLengthSeconds() const override { if (processor != nullptr) { - const double currentSampleRate = getSampleRate(); + const double sampleRate = getSampleRate(); - if (currentSampleRate > 0.0) - return jlimit (0, 0x7fffffff, (int) processor->getTailSamples()) / currentSampleRate; + if (sampleRate > 0.0) + return jlimit (0, 0x7fffffff, (int) processor->getTailSamples()) / sampleRate; } return 0.0; @@ -1941,7 +1931,7 @@ public: return toString (result); } - return String::empty; + return String(); } void setParameter (int parameterIndex, float newValue) override @@ -2023,8 +2013,7 @@ public: /** @note Not applicable to VST3 */ void setCurrentProgramStateInformation (const void* data, int sizeInBytes) override { - (void) data; - (void) sizeInBytes; + ignoreUnused (data, sizeInBytes); } //============================================================================== @@ -2460,6 +2449,10 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (VST3PluginInstance) }; +#if JUCE_MSVC + #pragma warning (pop) +#endif + }; //============================================================================== @@ -2474,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); @@ -2496,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) @@ -2526,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 ceabcbc5..f77eb576 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 */ @@ -39,32 +40,27 @@ public: ~VST3PluginFormat(); //============================================================================== - /** @internal */ - 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 */ + String getName() const override { return "VST3"; } + void findAllTypesForFile (OwnedArray&, const String& fileOrIdentifier) override; bool fileMightContainThisPluginType (const String& fileOrIdentifier) override; - /** @internal */ String getNameOfPluginFromIdentifier (const String& fileOrIdentifier) override; - /** @internal */ - bool pluginNeedsRescanning (const PluginDescription& description) override; - /** @internal */ - StringArray searchPathsForPlugins (const FileSearchPath& searchPath, bool recursive) override; - /** @internal */ - bool doesPluginStillExist (const PluginDescription& description) override; - /** @internal */ + bool pluginNeedsRescanning (const PluginDescription&) override; + StringArray searchPathsForPlugins (const FileSearchPath&, bool recursive, bool) override; + bool doesPluginStillExist (const PluginDescription&) override; 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 4a63e8e9..72b9b95a 100644 --- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp @@ -203,18 +203,6 @@ namespace return FSPathMakeRef (reinterpret_cast (path.toRawUTF8()), destFSRef, 0) == noErr; } #endif - - #if JUCE_MAC && JUCE_PPC - static void* newCFMFromMachO (void* const machofp) noexcept - { - void* result = (void*) new char[8]; - - ((void**) result)[0] = machofp; - ((void**) result)[1] = result; - - return result; - } - #endif } //============================================================================== @@ -385,9 +373,6 @@ public: ModuleHandle (const File& f) : file (f), moduleMain (nullptr), customMain (nullptr) #if JUCE_MAC - #if JUCE_PPC - , fragId (0) - #endif , resHandle (0), bundleRef (0), resFileId (0) #endif { @@ -469,13 +454,10 @@ public: } } - return String::empty; + return String(); } #endif #else - #if JUCE_PPC - CFragConnectionID fragId; - #endif Handle resHandle; CFBundleRef bundleRef; FSSpec parentDirFSSpec; @@ -545,80 +527,12 @@ public: } } } - #if JUCE_PPC - else - { - FSRef fn; - - if (FSPathMakeRef ((UInt8*) file.getFullPathName().toRawUTF8(), &fn, 0) == noErr) - { - resFileId = FSOpenResFile (&fn, fsRdPerm); - - if (resFileId != -1) - { - const int numEffs = Count1Resources ('aEff'); - - for (int i = 0; i < numEffs; ++i) - { - resHandle = Get1IndResource ('aEff', i + 1); - - if (resHandle != 0) - { - OSType type; - Str255 name; - SInt16 id; - GetResInfo (resHandle, &id, &type, name); - pluginName = String ((const char*) name + 1, name[0]); - DetachResource (resHandle); - HLock (resHandle); - - ::Ptr ptr; - Str255 errorText; - - OSErr err = GetMemFragment (*resHandle, GetHandleSize (resHandle), - name, kPrivateCFragCopy, - &fragId, &ptr, errorText); - - if (err == noErr) - { - moduleMain = (MainCall) newMachOFromCFM (ptr); - ok = true; - } - else - { - HUnlock (resHandle); - } - - break; - } - } - - if (! ok) - CloseResFile (resFileId); - } - } - } - #endif return ok; } void close() { - #if JUCE_PPC - if (fragId != 0) - { - if (moduleMain != nullptr) - disposeMachOFromCFM ((void*) moduleMain); - - CloseConnection (&fragId); - HUnlock (resHandle); - - if (resFileId != 0) - CloseResFile (resFileId); - } - else - #endif if (bundleRef != 0) { CFBundleCloseBundleResourceMap (bundleRef, resFileId); @@ -633,64 +547,8 @@ public: void closeEffect (AEffect* eff) { - #if JUCE_PPC - if (fragId != 0) - { - Array thingsToDelete; - thingsToDelete.add ((void*) eff->dispatcher); - thingsToDelete.add ((void*) eff->process); - thingsToDelete.add ((void*) eff->setParameter); - thingsToDelete.add ((void*) eff->getParameter); - thingsToDelete.add ((void*) eff->processReplacing); - - eff->dispatcher (eff, effClose, 0, 0, 0, 0); - - for (int i = thingsToDelete.size(); --i >= 0;) - disposeMachOFromCFM (thingsToDelete[i]); - } - else - #endif - { - eff->dispatcher (eff, effClose, 0, 0, 0, 0); - } - } - - #if JUCE_PPC - static void* newMachOFromCFM (void* cfmfp) - { - if (cfmfp == 0) - return nullptr; - - UInt32* const mfp = new UInt32[6]; - - mfp[0] = 0x3d800000 | ((UInt32) cfmfp >> 16); - mfp[1] = 0x618c0000 | ((UInt32) cfmfp & 0xffff); - mfp[2] = 0x800c0000; - mfp[3] = 0x804c0004; - mfp[4] = 0x7c0903a6; - mfp[5] = 0x4e800420; - - MakeDataExecutable (mfp, sizeof (UInt32) * 6); - return mfp; - } - - static void disposeMachOFromCFM (void* ptr) - { - delete[] static_cast (ptr); - } - - void coerceAEffectFunctionCalls (AEffect* eff) - { - if (fragId != 0) - { - eff->dispatcher = (AEffectDispatcherProc) newMachOFromCFM ((void*) eff->dispatcher); - eff->process = (AEffectProcessProc) newMachOFromCFM ((void*) eff->process); - eff->setParameter = (AEffectSetParameterProc) newMachOFromCFM ((void*) eff->setParameter); - eff->getParameter = (AEffectGetParameterProc) newMachOFromCFM ((void*) eff->getParameter); - eff->processReplacing = (AEffectProcessProc) newMachOFromCFM ((void*) eff->processReplacing); - } + eff->dispatcher (eff, effClose, 0, 0, 0, 0); } - #endif #endif @@ -701,6 +559,11 @@ private: static const int defaultVSTSampleRateValue = 44100; static const int defaultVSTBlockSizeValue = 512; +#if JUCE_MSVC + #pragma warning (push) + #pragma warning (disable: 4996) // warning about overriding deprecated methods +#endif + //============================================================================== //============================================================================== class VSTPluginInstance : public AudioPluginInstance, @@ -727,29 +590,14 @@ public: #if JUCE_MAC if (module->resFileId != 0) UseResFile (module->resFileId); - - #if JUCE_PPC - if (module->fragId != 0) - { - static void* audioMasterCoerced = nullptr; - if (audioMasterCoerced == nullptr) - audioMasterCoerced = newCFMFromMachO ((void*) &audioMaster); - - effect = module->moduleMain ((audioMasterCallback) audioMasterCoerced); - } - else - #endif #endif + { JUCE_VST_WRAPPER_INVOKE_MAIN } if (effect != nullptr && effect->magic == kEffectMagic) { - #if JUCE_PPC - module->coerceAEffectFunctionCalls (effect); - #endif - jassert (effect->resvd2 == 0); jassert (effect->object != 0); @@ -815,8 +663,8 @@ public: } desc.version = getVersion(); - desc.numInputChannels = getNumInputChannels(); - desc.numOutputChannels = getNumOutputChannels(); + desc.numInputChannels = getTotalNumInputChannels(); + desc.numOutputChannels = getTotalNumOutputChannels(); desc.isInstrument = (effect != nullptr && (effect->flags & effFlagsIsSynth) != 0); } @@ -863,10 +711,10 @@ public: if (getVstCategory() != kPlugCategShell) // (workaround for Waves 5 plugins which crash during this call) updateStoredProgramNames(); - wantsMidiMessages = dispatch (effCanDo, 0, 0, (void*) "receiveVstMidiEvent", 0) > 0; + wantsMidiMessages = pluginCanDo ("receiveVstMidiEvent") > 0; #if JUCE_MAC && JUCE_SUPPORT_CARBON - usesCocoaNSView = (dispatch (effCanDo, 0, 0, (void*) "hasCockosViewAsConfig", 0) & (int) 0xffff0000) == 0xbeef0000; + usesCocoaNSView = (pluginCanDo ("hasCockosViewAsConfig") & (int) 0xffff0000) == 0xbeef0000; #endif setLatencySamples (effect->initialDelay); @@ -885,30 +733,28 @@ public: return uid; } - bool silenceInProducesSilenceOut() const override - { - return effect == nullptr || (effect->flags & effFlagsNoSoundInStop) != 0; - } - double getTailLengthSeconds() const override { if (effect == nullptr) return 0.0; - const double currentSampleRate = getSampleRate(); + const double sampleRate = getSampleRate(); - if (currentSampleRate <= 0) + if (sampleRate <= 0) return 0.0; VstIntPtr samples = dispatch (effGetTailSize, 0, 0, 0, 0); - return samples / currentSampleRate; + return samples / sampleRate; } bool acceptsMidi() const override { return wantsMidiMessages; } - bool producesMidi() const override { return dispatch (effCanDo, 0, 0, (void*) "sendVstMidiEvent", 0) > 0; } + bool producesMidi() const override { return pluginCanDo ("sendVstMidiEvent") > 0; } + bool supportsMPE() const override { return pluginCanDo ("MPE") > 0; } VstPlugCategory getVstCategory() const noexcept { return (VstPlugCategory) dispatch (effGetPlugCategory, 0, 0, 0, 0); } + int pluginCanDo (const char* text) const { return (int) dispatch (effCanDo, 0, 0, (void*) text, 0); } + //============================================================================== void prepareToPlay (double rate, int samplesPerBlockExpected) override { @@ -925,8 +771,7 @@ public: if (initialised) { - wantsMidiMessages = wantsMidiMessages - || (dispatch (effCanDo, 0, 0, (void*) "receiveVstMidiEvent", 0) > 0); + wantsMidiMessages = wantsMidiMessages || (pluginCanDo ("receiveVstMidiEvent") > 0); if (wantsMidiMessages) midiEventsToSend.ensureSize (256); @@ -1017,19 +862,19 @@ public: //============================================================================== const String getInputChannelName (int index) const override { - if (index >= 0 && index < getNumInputChannels()) + if (isValidChannel (index, true)) { VstPinProperties pinProps; if (dispatch (effGetInputProperties, index, 0, &pinProps, 0.0f) != 0) return String (pinProps.label, sizeof (pinProps.label)); } - return String::empty; + return String(); } bool isInputChannelStereoPair (int index) const override { - if (index < 0 || index >= getNumInputChannels()) + if (! isValidChannel (index, true)) return false; VstPinProperties pinProps; @@ -1041,19 +886,19 @@ public: const String getOutputChannelName (int index) const override { - if (index >= 0 && index < getNumOutputChannels()) + if (isValidChannel (index, false)) { VstPinProperties pinProps; if (dispatch (effGetOutputProperties, index, 0, &pinProps, 0.0f) != 0) return String (pinProps.label, sizeof (pinProps.label)); } - return String::empty; + return String(); } bool isOutputChannelStereoPair (int index) const override { - if (index < 0 || index >= getNumOutputChannels()) + if (! isValidChannel (index, false)) return false; VstPinProperties pinProps; @@ -1063,9 +908,10 @@ public: return true; } - bool isValidChannel (int index, bool isInput) const + bool isValidChannel (int index, bool isInput) const noexcept { - return isPositiveAndBelow (index, isInput ? getNumInputChannels() : getNumOutputChannels()); + return isPositiveAndBelow (index, isInput ? getTotalNumInputChannels() + : getTotalNumOutputChannels()); } //============================================================================== @@ -1686,7 +1532,7 @@ private: else { // Not initialised, so just bypass.. - for (int i = 0; i < getNumOutputChannels(); ++i) + for (int i = getTotalNumOutputChannels(); --i >= 0;) buffer.clear (i, 0, buffer.getNumSamples()); } @@ -1750,7 +1596,7 @@ private: String getTextForOpcode (const int index, const AEffectOpcodes opcode) const { if (effect == nullptr) - return String::empty; + return String(); jassert (index >= 0 && index < effect->numParams); char nm [256] = { 0 }; @@ -1775,7 +1621,7 @@ private: if (index >= 0 && programNames[index].isEmpty()) { while (programNames.size() < index) - programNames.add (String::empty); + programNames.add (String()); programNames.set (index, progName); } @@ -2157,7 +2003,7 @@ public: //============================================================================== void mouseDown (const MouseEvent& e) override { - (void) e; + ignoreUnused (e); #if JUCE_LINUX if (pluginWindow == 0) @@ -2680,6 +2526,10 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (VSTPluginWindow) }; +#if JUCE_MSVC + #pragma warning (pop) +#endif + //============================================================================== AudioProcessorEditor* VSTPluginInstance::createEditor() { @@ -2776,8 +2626,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; @@ -2800,15 +2653,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) @@ -2816,27 +2677,7 @@ bool VSTPluginFormat::fileMightContainThisPluginType (const String& fileOrIdenti const File f (File::createFileWithoutCheckingPath (fileOrIdentifier)); #if JUCE_MAC - if (f.isDirectory() && f.hasFileExtension (".vst")) - return true; - - #if JUCE_PPC - FSRef fileRef; - if (makeFSRefFromPath (&fileRef, f.getFullPathName())) - { - const short resFileId = FSOpenResFile (&fileRef, fsRdPerm); - - if (resFileId != -1) - { - const int numEffects = Count1Resources ('aEff'); - CloseResFile (resFileId); - - if (numEffects > 0) - return true; - } - } - #endif - - return false; + return f.isDirectory() && f.hasFileExtension (".vst"); #elif JUCE_WINDOWS return f.existsAsFile() && f.hasFileExtension (".dll"); #elif JUCE_LINUX @@ -2859,7 +2700,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; @@ -2903,11 +2744,11 @@ FileSearchPath VSTPluginFormat::getDefaultLocationsToSearch() const String programFiles (File::getSpecialLocation (File::globalApplicationsDirectory).getFullPathName()); FileSearchPath paths; - paths.add (WindowsRegistry::getValue ("HKLM\\Software\\VST\\VSTPluginsPath", + paths.add (WindowsRegistry::getValue ("HKEY_LOCAL_MACHINE\\Software\\VST\\VSTPluginsPath", programFiles + "\\Steinberg\\VstPlugins")); paths.removeNonExistentPaths(); - paths.add (WindowsRegistry::getValue ("HKLM\\Software\\VST\\VSTPluginsPath", + paths.add (WindowsRegistry::getValue ("HKEY_LOCAL_MACHINE\\Software\\VST\\VSTPluginsPath", programFiles + "\\VstPlugins")); return paths; #endif diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h index 400d75de..2cd1c999 100644 --- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h +++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h @@ -36,7 +36,7 @@ public: ~VSTPluginFormat(); //============================================================================== - /** Attempts to retreive the VSTXML data from a plugin. + /** Attempts to retrieve the VSTXML data from a plugin. Will return nullptr if the plugin isn't a VST, or if it doesn't have any VSTXML. */ static const XmlElement* getVSTXML (AudioPluginInstance* plugin); @@ -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 45346689..326a304b 100644 --- a/modules/juce_audio_processors/juce_audio_processors.cpp +++ b/modules/juce_audio_processors/juce_audio_processors.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_AUDIO_PROCESSORS_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_AUDIO_PROCESSORS_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,24 +31,17 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" +#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1 -#include "../juce_core/native/juce_BasicNativeHeaders.h" #include "juce_audio_processors.h" -#include "../juce_gui_extra/juce_gui_extra.h" +#include //============================================================================== #if JUCE_MAC #if JUCE_SUPPORT_CARBON \ && ((JUCE_PLUGINHOST_VST || JUCE_PLUGINHOST_AU) \ || ! (defined (MAC_OS_X_VERSION_10_6) && MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6)) - #define Point CarbonDummyPointName // (workaround to avoid definition of "Point" by old Carbon headers) - #define Component CarbonDummyCompName #include - #undef Point - #undef Component #endif #endif @@ -77,9 +70,18 @@ static inline bool arrayContainsPlugin (const OwnedArray& lis return false; } -#if JUCE_MAC +#if JUCE_MAC || JUCE_IOS + +#if JUCE_IOS + #define JUCE_IOS_MAC_VIEW UIView + typedef UIViewComponent ViewComponentBaseClass; +#else + #define JUCE_IOS_MAC_VIEW NSView + typedef NSViewComponent ViewComponentBaseClass; +#endif + //============================================================================== -struct AutoResizingNSViewComponent : public NSViewComponent, +struct AutoResizingNSViewComponent : public ViewComponentBaseClass, private AsyncUpdater { AutoResizingNSViewComponent() : recursive (false) {} @@ -109,16 +111,16 @@ struct AutoResizingNSViewComponentWithParent : public AutoResizingNSViewCompone { AutoResizingNSViewComponentWithParent() { - NSView* v = [[NSView alloc] init]; + JUCE_IOS_MAC_VIEW* v = [[JUCE_IOS_MAC_VIEW alloc] init]; setView (v); [v release]; startTimer (30); } - NSView* getChildView() const + JUCE_IOS_MAC_VIEW* getChildView() const { - if (NSView* parent = (NSView*) getView()) + if (JUCE_IOS_MAC_VIEW* parent = (JUCE_IOS_MAC_VIEW*) getView()) if ([[parent subviews] count] > 0) return [[parent subviews] objectAtIndex: 0]; @@ -127,7 +129,7 @@ struct AutoResizingNSViewComponentWithParent : public AutoResizingNSViewCompone void timerCallback() override { - if (NSView* child = getChildView()) + if (JUCE_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 9d91ec7f..2c775db4 100644 --- a/modules/juce_audio_processors/juce_audio_processors.h +++ b/modules/juce_audio_processors/juce_audio_processors.h @@ -22,14 +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_processors + vendor: juce + version: 4.2.1 + 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 -//============================================================================= +//============================================================================== /** Config: JUCE_PLUGINHOST_VST Enables the VST audio plugin hosting classes. This requires the Steinberg VST SDK to be installed on your machine. @@ -67,8 +93,8 @@ #define JUCE_SUPPORT_CARBON 1 #endif -//============================================================================= -//============================================================================= +//============================================================================== +//============================================================================== namespace juce { diff --git a/modules/juce_audio_processors/juce_module_info b/modules/juce_audio_processors/juce_module_info deleted file mode 100644 index 8174f622..00000000 --- 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 f4682128..3873647d 100644 --- a/modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp @@ -28,71 +28,81 @@ bool AudioChannelSet::operator== (const AudioChannelSet& other) const noexcept bool AudioChannelSet::operator!= (const AudioChannelSet& other) const noexcept { return channels != other.channels; } bool AudioChannelSet::operator< (const AudioChannelSet& other) const noexcept { return channels < other.channels; } -const char* AudioChannelSet::getChannelTypeName (AudioChannelSet::ChannelType type) noexcept +String AudioChannelSet::getChannelTypeName (AudioChannelSet::ChannelType type) { + if (type >= discreteChannel0) + return String ("Discrete ") + String (type - discreteChannel0 + 1); + switch (type) { - case left: return "Left"; - case right: return "Right"; - case centre: return "Centre"; - case subbass: return "Subbass"; - case surroundLeft: return "Left Surround"; - case surroundRight: return "Right Surround"; - case centreLeft: return "Centre Left"; - case centreRight: return "Centre Right"; - case surround: return "Surround"; - case sideLeft: return "Side Left"; - case sideRight: return "Side Right"; - case topMiddle: return "Top Middle"; - case topFrontLeft: return "Top Front Left"; - case topFrontCentre: return "Top Front Centre"; - case topFrontRight: return "Top Front Right"; - case topRearLeft: return "Top Rear Left"; - case topRearCentre: return "Top Rear Centre"; - case topRearRight: return "Top Rear Right"; - case wideLeft: return "Wide Left"; - case wideRight: return "Wide Right"; - case subbass2: return "Subbass 2"; - case ambisonicW: return "Ambisonic W"; - case ambisonicX: return "Ambisonic X"; - case ambisonicY: return "Ambisonic Y"; - case ambisonicZ: return "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"; } -const char* AudioChannelSet::getAbbreviatedChannelTypeName (AudioChannelSet::ChannelType type) noexcept +String AudioChannelSet::getAbbreviatedChannelTypeName (AudioChannelSet::ChannelType type) { + if (type >= discreteChannel0) + return String (type - discreteChannel0 + 1); + 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 ""; @@ -114,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(); @@ -129,6 +177,20 @@ AudioChannelSet::ChannelType AudioChannelSet::getTypeOfChannel (int index) const return static_cast (bit); } +int AudioChannelSet::getChannelIndexForType (AudioChannelSet::ChannelType type) const noexcept +{ + int idx = 0; + for (int bit = channels.findNextSetBit (0); bit >= 0; bit = channels.findNextSetBit (bit + 1)) + { + if (static_cast (bit) == type) + return idx; + + idx++; + } + + return -1; +} + Array AudioChannelSet::getChannelTypes() const { Array result; @@ -150,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 << sideLeft) | (1u << sideRight)); } -AudioChannelSet AudioChannelSet::pentagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << sideLeft) | (1u << sideRight) | (1u << centre)); } -AudioChannelSet AudioChannelSet::hexagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << sideLeft) | (1u << sideRight) | (1u << centre) | (1u << surround)); } -AudioChannelSet AudioChannelSet::octagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << sideLeft) | (1u << sideRight) | (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 << surroundLeft) | (1u << surroundRight)); } -AudioChannelSet AudioChannelSet::create5point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << surroundLeft) | (1u << surroundRight)); } -AudioChannelSet AudioChannelSet::create6point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << surroundLeft) | (1u << surroundRight) | (1u << surround)); } -AudioChannelSet AudioChannelSet::create6point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << surroundLeft) | (1u << surroundRight) | (1u << surround)); } -AudioChannelSet AudioChannelSet::create7point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << surroundLeft) | (1u << surroundRight) | (1u << topRearLeft) | (1u << topRearRight)); } -AudioChannelSet AudioChannelSet::create7point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << surroundLeft) | (1u << surroundRight) | (1u << topRearLeft) | (1u << topRearRight)); } -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) @@ -177,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 886abcc8..3bfc2c62 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,45 +119,48 @@ public: /** Represents different audio channel types. */ enum ChannelType { - unknown = 0, - - 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, - - - discreteChannel0 = 64 /**< Non-typed individual channels are indexed upwards from this value. */ + unknown = 0, + + left = 1, + right = 2, + centre = 3, + + 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, + + + 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". */ - static const char* getChannelTypeName (ChannelType) noexcept; + static String getChannelTypeName (ChannelType); /** Returns the abbreviated name of a channel type. For example, this method may return "Ls". */ - static const char* getAbbreviatedChannelTypeName (ChannelType) noexcept; + static String getAbbreviatedChannelTypeName (ChannelType); //============================================================================== /** Adds a channel to the set. */ @@ -166,12 +178,23 @@ public: /** Returns the type of one of the channels in the set, by index. */ ChannelType getTypeOfChannel (int channelIndex) const noexcept; + /** Returns the index for a particular channel-type. + Will return -1 if the this set does not contain a channel of this type. */ + int getChannelIndexForType (ChannelType type) const noexcept; + /** Returns a string containing a whitespace-separated list of speaker types corresponding to each channel. For example in a 5.1 arrangement, the string may be "L R C Lfe Ls Rs". If the speaker arrangement is unknown, 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 6f23bc50..a5f4a79d 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp @@ -32,7 +32,7 @@ void JUCE_CALLTYPE AudioProcessor::setTypeOfNextNewPlugin (AudioProcessor::Wrapp AudioProcessor::AudioProcessor() : wrapperType (wrapperTypeBeingCreated.get()), playHead (nullptr), - sampleRate (0), + currentSampleRate (0), blockSize (0), latencySamples (0), #if JUCE_DEBUG @@ -42,23 +42,45 @@ AudioProcessor::AudioProcessor() nonRealtime (false), processingPrecision (singlePrecision) { - #if ! JucePlugin_IsMidiEffect #ifdef JucePlugin_PreferredChannelConfigurations const short channelConfigs[][2] = { JucePlugin_PreferredChannelConfigurations }; #else const short channelConfigs[][2] = { {2, 2} }; #endif - int numChannelConfigs = sizeof (channelConfigs) / sizeof (*channelConfigs); - if (numChannelConfigs > 0) - { - #if ! JucePlugin_IsSynth - busArrangement.inputBuses.add (AudioProcessorBus ("Input", AudioChannelSet::canonicalChannelSet (channelConfigs[0][0]))); - #endif - busArrangement.outputBuses.add (AudioProcessorBus ("Output", AudioChannelSet::canonicalChannelSet (channelConfigs[0][1]))); - } - #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 + const int numInChannels = jmin (maxInChannels, (int) channelConfigs[0][0]); + if (numInChannels > 0) + busArrangement.inputBuses.add (AudioProcessorBus ("Input", AudioChannelSet::canonicalChannelSet (numInChannels))); + #endif + + 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 + AudioProcessor::setPreferredBusArrangement (true, 0, AudioChannelSet::stereo()); + #endif + AudioProcessor::setPreferredBusArrangement (false, 0, AudioChannelSet::stereo()); + #endif + #endif updateSpeakerFormatStrings(); } @@ -121,7 +143,7 @@ void AudioProcessor::setPlayConfigDetails (const int newNumIns, void AudioProcessor::setRateAndBufferSizeDetails (double newSampleRate, int newBlockSize) noexcept { - sampleRate = newSampleRate; + currentSampleRate = newSampleRate; blockSize = newBlockSize; } @@ -401,47 +423,28 @@ bool AudioProcessor::supportsDoublePrecisionProcessing() const } //============================================================================== -const String AudioProcessor::getInputChannelName (int channelIndex) const +static String getChannelName (const Array& buses, int index) { - // this is deprecated! Assume the user wants the name of the channel index in the first input bus - if (busArrangement.outputBuses.size() > 0) - return AudioChannelSet::getChannelTypeName (busArrangement.inputBuses.getReference(0) - .channels.getTypeOfChannel (channelIndex)); - - return String(); + return buses.size() > 0 ? AudioChannelSet::getChannelTypeName (buses.getReference(0).channels.getTypeOfChannel (index)) + : String(); } -const String AudioProcessor::getOutputChannelName (int channelIndex) const -{ - // this is deprecated! Assume the user wants the name of the channel index in the first output bus - if (busArrangement.outputBuses.size() > 0) - return AudioChannelSet::getChannelTypeName (busArrangement.outputBuses.getReference(0) - .channels.getTypeOfChannel (channelIndex)); - - return String(); -} +const String AudioProcessor::getInputChannelName (int index) const { return getChannelName (busArrangement.inputBuses, index); } +const String AudioProcessor::getOutputChannelName (int index) const { return getChannelName (busArrangement.outputBuses, index); } -bool AudioProcessor::isInputChannelStereoPair (int index) const +static bool isStereoPair (const Array& buses, int index) { - const Array& buses = busArrangement.inputBuses; - return index < 2 && buses.size() > 0 && buses.getReference(0).channels == AudioChannelSet::stereo(); } -bool AudioProcessor::isOutputChannelStereoPair (int index) const -{ - const Array& buses = busArrangement.outputBuses; - - return index < 2 - && buses.size() > 0 - && buses.getReference(0).channels == AudioChannelSet::stereo(); -} +bool AudioProcessor::isInputChannelStereoPair (int index) const { return isStereoPair (busArrangement.inputBuses, index); } +bool AudioProcessor::isOutputChannelStereoPair (int index) const { return isStereoPair (busArrangement.outputBuses, index); } +//============================================================================== bool AudioProcessor::setPreferredBusArrangement (bool isInput, int busIndex, const AudioChannelSet& preferredSet) { - const int oldNumInputs = getTotalNumInputChannels(); const int oldNumOutputs = getTotalNumOutputChannels(); @@ -452,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 0fc28a20..cabb2772 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessor.h +++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.h @@ -73,15 +73,17 @@ public: or query the busArrangement member variable to find out the number of channels your processBlock callback must process. - The estimatedSamplesPerBlock value is a HINT about the typical number of - samples that will be processed for each callback, but isn't any kind - of guarantee. The actual block sizes that the host uses may be different - each time the callback happens, and may be more or less than this value. + The maximumExpectedSamplesPerBlock value is a strong hint about the maximum + number of samples that will be provided in each block. You may want to use + this value to resize internal buffers. You should program defensively in + case a buggy host exceeds this value. The actual block sizes that the host + uses may be different each time the callback happens: completely variable + block sizes can be expected from some hosts. @see busArrangement, getTotalNumInputChannels, getTotalNumOutputChannels */ virtual void prepareToPlay (double sampleRate, - int estimatedSamplesPerBlock) = 0; + int maximumExpectedSamplesPerBlock) = 0; /** Called after playback has stopped, to let the filter free up any resources it no longer needs. @@ -317,6 +319,14 @@ public: changing the channel layout of other buses, for example, if your plug-in requires the same number of input and output channels. + 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 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 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 allocations then defer these to prepareToPlay callback. @@ -423,7 +433,7 @@ public: This can be called from your processBlock() method - it's not guaranteed to be valid at any other time, and may return 0 if it's unknown. */ - double getSampleRate() const noexcept { return sampleRate; } + double getSampleRate() const noexcept { return currentSampleRate; } /** Returns the current typical block size that is being used. @@ -453,9 +463,6 @@ public: */ void setLatencySamples (int newLatency); - /** Returns true if a silent input always produces a silent output. */ - virtual bool silenceInProducesSilenceOut() const = 0; - /** Returns the length of the filter's tail, in seconds. */ virtual double getTailLengthSeconds() const = 0; @@ -465,6 +472,9 @@ public: /** Returns true if the processor produces midi messages. */ virtual bool producesMidi() const = 0; + /** Returns true if the processor supports MPE. */ + virtual bool supportsMPE() const { return false; } + //============================================================================== /** This returns a critical section that will automatically be locked while the host is calling the processBlock() method. @@ -873,7 +883,7 @@ public: //============================================================================== /** This is called by the processor to specify its details before being played. Use this - version of the function if you are not interested in any sidechain or aux buses + version of the function if you are not interested in any sidechain and/or aux buses and do not care about the layout of channels. Otherwise use setRateAndBufferSizeDetails.*/ void setPlayConfigDetails (int numIns, int numOuts, double sampleRate, int blockSize); @@ -896,6 +906,7 @@ public: wrapperType_VST, wrapperType_VST3, wrapperType_AudioUnit, + wrapperType_AudioUnitv3, wrapperType_RTAS, wrapperType_AAX, wrapperType_Standalone @@ -907,7 +918,7 @@ public: WrapperType wrapperType; //============================================================================== -#ifndef DOXYGEN + #ifndef DOXYGEN /** Deprecated: use getTotalNumInputChannels instead. */ JUCE_DEPRECATED_WITH_BODY (int getNumInputChannels() const noexcept, { return getTotalNumInputChannels(); }) JUCE_DEPRECATED_WITH_BODY (int getNumOutputChannels() const noexcept, { return getTotalNumOutputChannels(); }) @@ -934,7 +945,7 @@ public: the constructor. */ JUCE_DEPRECATED (virtual bool isInputChannelStereoPair (int index) const); JUCE_DEPRECATED (virtual bool isOutputChannelStereoPair (int index) const); -#endif + #endif //============================================================================== /** Helper function that just converts an xml element into a binary blob. @@ -968,7 +979,7 @@ protected: private: Array listeners; Component::SafePointer activeEditor; - double sampleRate; + double currentSampleRate; int blockSize, latencySamples; #if JUCE_DEBUG bool textRecursionCheck; @@ -991,6 +1002,9 @@ private: void disableNonMainBuses (bool isInput); void updateSpeakerFormatStrings(); + // This method is no longer used - you can delete it from your AudioProcessor classes. + JUCE_DEPRECATED_WITH_BODY (virtual bool silenceInProducesSilenceOut() const, { return false; }); + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioProcessor) }; diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp index 5af07bd2..75bab69a 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp @@ -1126,6 +1126,15 @@ bool AudioProcessorGraph::removeNode (const uint32 nodeId) return false; } +bool AudioProcessorGraph::removeNode (Node* node) +{ + if (node != nullptr) + return removeNode (node->nodeId); + + jassertfalse; + return false; +} + //============================================================================== const AudioProcessorGraph::Connection* AudioProcessorGraph::getConnectionBetween (const uint32 sourceNodeId, const int sourceChannelIndex, @@ -1460,7 +1469,6 @@ void AudioProcessorGraph::processAudio (AudioBuffer& buffer, MidiBuff midiMessages.addEvents (currentMidiOutputBuffer, 0, buffer.getNumSamples(), 0); } -bool AudioProcessorGraph::silenceInProducesSilenceOut() const { return false; } double AudioProcessorGraph::getTailLengthSeconds() const { return 0; } bool AudioProcessorGraph::acceptsMidi() const { return true; } bool AudioProcessorGraph::producesMidi() const { return true; } @@ -1601,11 +1609,6 @@ void AudioProcessorGraph::AudioGraphIOProcessor::processBlock (AudioBuffer&, MidiBuffer&) override; bool supportsDoublePrecisionProcessing() const override; - bool silenceInProducesSilenceOut() const override; double getTailLengthSeconds() const override; bool acceptsMidi() const override; bool producesMidi() const override; @@ -354,7 +359,6 @@ public: void setNonRealtime (bool) noexcept override; void setPlayHead (AudioPlayHead*) override; - bool silenceInProducesSilenceOut() const override; double getTailLengthSeconds() const override; bool acceptsMidi() const override; bool producesMidi() const override; diff --git a/modules/juce_audio_processors/processors/juce_PluginDescription.h b/modules/juce_audio_processors/processors/juce_PluginDescription.h index 4b888ec1..488a3c13 100644 --- a/modules/juce_audio_processors/processors/juce_PluginDescription.h +++ b/modules/juce_audio_processors/processors/juce_PluginDescription.h @@ -118,7 +118,7 @@ public: given identifier string. Note that this isn't quite as simple as them just calling createIdentifierString() - and comparing the strings, because the identifers can differ (thanks to shell plug-ins). + and comparing the strings, because the identifiers can differ (thanks to shell plug-ins). */ bool matchesIdentifierString (const String& identifierString) const; diff --git a/modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp b/modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp index ce569230..b53aae35 100644 --- a/modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp +++ b/modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp @@ -103,7 +103,7 @@ void KnownPluginList::setCustomScanner (CustomScanner* newScanner) bool KnownPluginList::scanAndAddFile (const String& fileOrIdentifier, const bool dontRescanIfAlreadyInList, - OwnedArray & typesFound, + OwnedArray& typesFound, AudioPluginFormat& format) { const ScopedLock sl (scanLock); @@ -133,7 +133,7 @@ bool KnownPluginList::scanAndAddFile (const String& fileOrIdentifier, if (blacklist.contains (fileOrIdentifier)) return false; - OwnedArray found; + OwnedArray found; { const ScopedUnlock sl2 (scanLock); @@ -163,7 +163,7 @@ bool KnownPluginList::scanAndAddFile (const String& fileOrIdentifier, void KnownPluginList::scanAndAddDragAndDroppedFiles (AudioPluginFormatManager& formatManager, const StringArray& files, - OwnedArray & typesFound) + OwnedArray& typesFound) { for (int i = 0; i < files.size(); ++i) { @@ -348,7 +348,7 @@ struct PluginTreeUtils { enum { menuIdBase = 0x324503f4 }; - static void buildTreeByFolder (KnownPluginList::PluginTree& tree, const Array & allPlugins) + static void buildTreeByFolder (KnownPluginList::PluginTree& tree, const Array& allPlugins) { for (int i = 0; i < allPlugins.size(); ++i) { @@ -392,7 +392,7 @@ struct PluginTreeUtils } static void buildTreeByCategory (KnownPluginList::PluginTree& tree, - const Array & sorted, + const Array& sorted, const KnownPluginList::SortMethod sortMethod) { String lastType; @@ -475,15 +475,21 @@ struct PluginTreeUtils return false; } - static void addToMenu (const KnownPluginList::PluginTree& tree, PopupMenu& m, const OwnedArray & allPlugins) + static bool addToMenu (const KnownPluginList::PluginTree& tree, PopupMenu& m, + const OwnedArray& allPlugins, + const String& currentlyTickedPluginID) { + bool isTicked = false; + for (int i = 0; i < tree.subFolders.size(); ++i) { const KnownPluginList::PluginTree& sub = *tree.subFolders.getUnchecked(i); PopupMenu subMenu; - addToMenu (sub, subMenu, allPlugins); - m.addSubMenu (sub.folder, subMenu); + const bool isItemTicked = addToMenu (sub, subMenu, allPlugins, currentlyTickedPluginID); + isTicked = isTicked || isItemTicked; + + m.addSubMenu (sub.folder, subMenu, true, nullptr, isItemTicked, 0); } for (int i = 0; i < tree.plugins.size(); ++i) @@ -495,14 +501,19 @@ struct PluginTreeUtils if (containsDuplicateNames (tree.plugins, name)) name << " (" << plugin->pluginFormatName << ')'; - m.addItem (allPlugins.indexOf (plugin) + menuIdBase, name, true, false); + const bool isItemTicked = plugin->matchesIdentifierString (currentlyTickedPluginID); + isTicked = isTicked || isItemTicked; + + m.addItem (allPlugins.indexOf (plugin) + menuIdBase, name, true, isItemTicked); } + + return isTicked; } }; KnownPluginList::PluginTree* KnownPluginList::createTree (const SortMethod sortMethod) const { - Array sorted; + Array sorted; { PluginSorter sorter (sortMethod, true); @@ -531,10 +542,11 @@ KnownPluginList::PluginTree* KnownPluginList::createTree (const SortMethod sortM } //============================================================================== -void KnownPluginList::addToMenu (PopupMenu& menu, const SortMethod sortMethod) const +void KnownPluginList::addToMenu (PopupMenu& menu, const SortMethod sortMethod, + const String& currentlyTickedPluginID) const { ScopedPointer tree (createTree (sortMethod)); - PluginTreeUtils::addToMenu (*tree, menu, types); + PluginTreeUtils::addToMenu (*tree, menu, types, currentlyTickedPluginID); } int KnownPluginList::getIndexChosenByMenu (const int menuResultCode) const diff --git a/modules/juce_audio_processors/scanning/juce_KnownPluginList.h b/modules/juce_audio_processors/scanning/juce_KnownPluginList.h index 7bd38f06..252c5426 100644 --- a/modules/juce_audio_processors/scanning/juce_KnownPluginList.h +++ b/modules/juce_audio_processors/scanning/juce_KnownPluginList.h @@ -148,7 +148,8 @@ public: Use getIndexChosenByMenu() to find out the type that was chosen. */ - void addToMenu (PopupMenu& menu, SortMethod sortMethod) const; + void addToMenu (PopupMenu& menu, SortMethod sortMethod, + const String& currentlyTickedPluginID = String()) const; /** Converts a menu item index that has been chosen into its index in this list. Returns -1 if it's not an ID that was used. diff --git a/modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp b/modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp index 805f8093..68405ded 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 8087c1cc..9bbfdab8 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 8ff304dd..37adaa37 100644 --- a/modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp +++ b/modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp @@ -123,13 +123,15 @@ 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), + numThreads (allowAsync ? 1 : 0) { tableModel = new TableModel (*this, listToEdit); @@ -331,14 +333,19 @@ class PluginListComponent::Scanner : private Timer { public: Scanner (PluginListComponent& plc, AudioPluginFormat& format, PropertiesFile* properties, - int threads, const String& title, const String& text) + bool allowPluginsWhichRequireAsynchronousInstantiation, int threads, + const String& title, const String& text) : 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), numThreads (threads), allowAsync (allowPluginsWhichRequireAsynchronousInstantiation), + finished (false) { FileSearchPath path (formatToScan.getDefaultLocationsToSearch()); + // You need to use at least one thread when scanning plug-ins asynchronously + jassert (! allowAsync || (numThreads > 0)); + if (path.getNumPaths() > 0) // if the path is empty, then paths aren't used for this format. { if (propertiesToUse != nullptr) @@ -381,7 +388,7 @@ private: String pluginBeingScanned; double progress; int numThreads; - bool finished; + bool allowAsync, finished; ScopedPointer pool; static void startScanCallback (int result, AlertWindow* alert, Scanner* scanner) @@ -465,7 +472,7 @@ private: pathChooserWindow.setVisible (false); scanner = new PluginDirectoryScanner (owner.list, formatToScan, pathList.getPath(), - true, owner.deadMansPedalFile); + true, owner.deadMansPedalFile, allowAsync); if (propertiesToUse != nullptr) { @@ -545,7 +552,7 @@ private: void PluginListComponent::scanFor (AudioPluginFormat& format) { - currentScanner = new Scanner (*this, format, propertiesToUse, numThreads, + currentScanner = new Scanner (*this, format, propertiesToUse, allowAsync, numThreads, 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 a1d6f1d7..0d9104ed 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(); @@ -60,8 +61,10 @@ public: 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) - */ + If this is 0, then all scanning happens on the message thread (this is the default when + allowPluginsWhichRequireAsynchronousInstantiation is false). If + allowPluginsWhichRequireAsynchronousInstantiation is true then numThreads must not + be zero (it is one by default). */ void setNumberOfThreadsForScanning (int numThreads); /** Returns the last search path stored in a given properties file for the specified format. */ @@ -96,6 +99,7 @@ private: TextButton optionsButton; PropertiesFile* propertiesToUse; String dialogTitle, dialogText; + bool allowAsync; int numThreads; class TableModel; diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterBool.h b/modules/juce_audio_processors/utilities/juce_AudioParameterBool.h index 740f95c7..5989ab01 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 3ad01a88..09c1faa2 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 58498d4a..519defdb 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 aa7e38f2..8e13e7d1 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 4687e18b..a1d877a2 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 4ee06b8b..9e5c6791 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) @@ -50,14 +50,17 @@ void AudioParameterFloat::setValue (float newValue) { value float AudioParameterFloat::getDefaultValue() const { return range.convertTo0to1 (defaultValue); } int AudioParameterFloat::getNumSteps() const { return AudioProcessorParameterWithID::getNumSteps(); } float AudioParameterFloat::getValueForText (const String& text) const { return range.convertTo0to1 (text.getFloatValue()); } -String AudioParameterFloat::getText (float v, int length) const { return String (range.convertFrom0to1 (v), 2).substring (0, length); } -AudioParameterFloat& AudioParameterFloat::operator= (float newValue) +String AudioParameterFloat::getText (float v, int length) const { - const float normalisedValue = range.convertTo0to1 (newValue); + String asText (range.convertFrom0to1 (v), 2); + return length > 0 ? asText.substring (0, length) : asText; +} - if (value != normalisedValue) - setValueNotifyingHost (normalisedValue); +AudioParameterFloat& AudioParameterFloat::operator= (float newValue) +{ + if (value != newValue) + setValueNotifyingHost (range.convertTo0to1 (newValue)); return *this; } @@ -87,10 +90,8 @@ String AudioParameterInt::getText (float v, int /*length*/) const { retur AudioParameterInt& AudioParameterInt::operator= (int newValue) { - const float normalisedValue = convertTo0to1 (newValue); - - if (value != normalisedValue) - setValueNotifyingHost (normalisedValue); + if (get() != newValue) + setValueNotifyingHost (convertTo0to1 (newValue)); return *this; } @@ -115,10 +116,8 @@ String AudioParameterBool::getText (float v, int /*length*/) const { retur AudioParameterBool& AudioParameterBool::operator= (bool newValue) { - const float normalisedValue = newValue ? 1.0f : 0.0f; - - if (value != normalisedValue) - setValueNotifyingHost (normalisedValue); + if (get() != newValue) + setValueNotifyingHost (newValue ? 1.0f : 0.0f); return *this; } @@ -148,10 +147,8 @@ String AudioParameterChoice::getText (float v, int /*length*/) const { retur AudioParameterChoice& AudioParameterChoice::operator= (int newValue) { - const float normalisedValue = convertTo0to1 (newValue); - - if (value != normalisedValue) - setValueNotifyingHost (normalisedValue); + if (getIndex() != newValue) + setValueNotifyingHost (convertTo0to1 (newValue)); return *this; } diff --git a/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp b/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp index 76063062..3d242df3 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 //============================================================================== @@ -258,21 +257,21 @@ void AudioProcessorValueTreeState::updateParameterConnectionsToChildTrees() } } -void AudioProcessorValueTreeState::valueTreePropertyChanged (ValueTree&, const Identifier& property) +void AudioProcessorValueTreeState::valueTreePropertyChanged (ValueTree& tree, const Identifier& property) { - if (property == idPropertyID) + if (property == idPropertyID && tree.hasType (valueType) && tree.getParent() == state) updateParameterConnectionsToChildTrees(); } -void AudioProcessorValueTreeState::valueTreeChildAdded (ValueTree& parent, ValueTree&) +void AudioProcessorValueTreeState::valueTreeChildAdded (ValueTree& parent, ValueTree& tree) { - if (parent == state) + if (parent == state && tree.hasType (valueType)) updateParameterConnectionsToChildTrees(); } -void AudioProcessorValueTreeState::valueTreeChildRemoved (ValueTree& parent, ValueTree&, int) +void AudioProcessorValueTreeState::valueTreeChildRemoved (ValueTree& parent, ValueTree& tree, int) { - if (parent == state) + if (parent == state && tree.hasType (valueType)) updateParameterConnectionsToChildTrees(); } diff --git a/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h b/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h index 5928d5a8..d5e53d6a 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) @@ -149,6 +149,7 @@ public: private: struct Pimpl; + friend struct ContainerDeletePolicy; ScopedPointer pimpl; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SliderAttachment) }; @@ -172,6 +173,7 @@ public: private: struct Pimpl; + friend struct ContainerDeletePolicy; ScopedPointer pimpl; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ComboBoxAttachment) }; @@ -195,6 +197,7 @@ public: private: struct Pimpl; + friend struct ContainerDeletePolicy; ScopedPointer pimpl; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ButtonAttachment) }; diff --git a/modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp b/modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp index 35389a67..3cd89420 100644 --- a/modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp +++ b/modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp @@ -1113,15 +1113,18 @@ void AudioDeviceSelectorComponent::comboBoxChanged (ComboBox* comboBoxThatHasCha if (AudioIODeviceType* const type = deviceManager.getAvailableDeviceTypes() [deviceTypeDropDown->getSelectedId() - 1]) { audioDeviceSettingsComp = nullptr; - deviceManager.setCurrentAudioDeviceType (type->getTypeName(), true); - updateAllControls(); // needed in case the type hasn't actually changed } } else if (comboBoxThatHasChanged == midiOutputSelector) { - deviceManager.setDefaultMidiOutput (midiOutputSelector->getText()); + String midiDeviceName (midiOutputSelector->getText()); + + if (midiDeviceName == getNoDeviceString()) + midiDeviceName = String(); + + deviceManager.setDefaultMidiOutput (midiDeviceName); } } diff --git a/modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h b/modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h index ca90869b..00039eb9 100644 --- a/modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h +++ b/modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h @@ -112,7 +112,7 @@ public: */ void getChannelAsPath (Path& result, const Range* levels, int numLevels, int nextSample); - //========================================================================== + //============================================================================== /** @internal */ void paint (Graphics&) override; diff --git a/modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h b/modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h index 6840608f..1f7e7614 100644 --- a/modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h +++ b/modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h @@ -25,8 +25,6 @@ #ifndef JUCE_BLUETOOTHMIDIDEVICPAIRINGCOMPONENT_H_INCLUDED #define JUCE_BLUETOOTHMIDIDEVICPAIRINGCOMPONENT_H_INCLUDED -class BluetoothMidiSelectorOverlay; - //============================================================================== /** Opens a Bluetooth MIDI pairing dialogue that allows the user to view and diff --git a/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp b/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp index b8959843..1c1c9d9d 100644 --- a/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp +++ b/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp @@ -59,8 +59,8 @@ private: //============================================================================== MidiKeyboardComponent::MidiKeyboardComponent (MidiKeyboardState& s, Orientation o) : state (s), + blackNoteLengthRatio (0.7f), xOffset (0), - blackNoteLength (1), keyWidth (16.0f), orientation (o), midiChannel (1), @@ -239,6 +239,8 @@ Rectangle MidiKeyboardComponent::getRectangleForKey (const int note) const if (MidiMessage::isMidiNoteBlack (note)) { + const int blackNoteLength = getBlackNoteLength(); + switch (orientation) { case horizontalKeyboard: return Rectangle (x, 0, w, blackNoteLength); @@ -268,6 +270,13 @@ int MidiKeyboardComponent::getKeyStartPosition (const int midiNoteNumber) const return x; } +int MidiKeyboardComponent::getTotalKeyboardWidth() const noexcept +{ + int x, w; + getKeyPos (rangeEnd, x, w); + return x + w; +} + int MidiKeyboardComponent::getNoteAtPosition (Point p) { float v; @@ -299,6 +308,8 @@ int MidiKeyboardComponent::xyToNote (Point pos, float& mousePositionVelocit int MidiKeyboardComponent::remappedXYToNote (Point pos, float& mousePositionVelocity) const { + const int blackNoteLength = getBlackNoteLength(); + if (pos.getY() < blackNoteLength) { for (int octaveStart = 12 * (rangeStart / 12); octaveStart <= rangeEnd; octaveStart += 12) @@ -577,6 +588,23 @@ void MidiKeyboardComponent::drawUpDownButton (Graphics& g, int w, int h, g.fillPath (path, path.getTransformToScaleToFit (1.0f, 1.0f, w - 2.0f, h - 2.0f, true)); } +void MidiKeyboardComponent::setBlackNoteLengthProportion (float ratio) noexcept +{ + jassert (ratio >= 0.0f && ratio <= 1.0f); + if (blackNoteLengthRatio != ratio) + { + blackNoteLengthRatio = ratio; + resized(); + } +} + +int MidiKeyboardComponent::getBlackNoteLength() const noexcept +{ + const int whiteNoteLength = orientation == horizontalKeyboard ? getHeight() : getWidth(); + + return roundToInt (whiteNoteLength * blackNoteLengthRatio); +} + void MidiKeyboardComponent::resized() { int w = getWidth(); @@ -587,8 +615,6 @@ void MidiKeyboardComponent::resized() if (orientation != horizontalKeyboard) std::swap (w, h); - blackNoteLength = roundToInt (h * 0.7f); - int kx2, kw2; getKeyPos (rangeEnd, kx2, kw2); diff --git a/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h b/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h index 621a38d9..11e0ac2c 100644 --- a/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h +++ b/modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h @@ -165,10 +165,16 @@ public: */ int getLowestVisibleKey() const noexcept { return (int) firstKey; } - /** Returns the length of the black notes. + /** Sets the length of the black notes as a proportion of the white note length. */ + void setBlackNoteLengthProportion (float ratio) noexcept; + + /** Returns the length of the black notes as a proportion of the white note length. */ + float getBlackNoteLengthProportion() const noexcept { return blackNoteLengthRatio; } + + /** Returns the absolute length of the black notes. This will be their vertical or horizontal length, depending on the keyboard's orientation. */ - int getBlackNoteLength() const noexcept { return blackNoteLength; } + int getBlackNoteLength() const noexcept; /** If set to true, then scroll buttons will appear at either end of the keyboard if there are too many notes to fit them all in the component at once. @@ -203,6 +209,9 @@ public: */ int getKeyStartPosition (int midiNoteNumber) const; + /** Returns the total width needed to fit all the keys in the available range. */ + int getTotalKeyboardWidth() const noexcept; + /** Returns the key at a given coordinate. */ int getNoteAtPosition (Point position); @@ -353,7 +362,7 @@ protected: */ virtual void mouseUpOnKey (int midiNoteNumber, const MouseEvent& e); - /** Calculates the positon of a given midi-note. + /** Calculates the position of a given midi-note. This can be overridden to create layouts with custom key-widths. @@ -375,7 +384,8 @@ private: friend class MidiKeyboardUpDownButton; MidiKeyboardState& state; - int xOffset, blackNoteLength; + float blackNoteLengthRatio; + int xOffset; float keyWidth; Orientation orientation; diff --git a/modules/juce_audio_utils/juce_audio_utils.cpp b/modules/juce_audio_utils/juce_audio_utils.cpp index eb195f72..7ab95e79 100644 --- a/modules/juce_audio_utils/juce_audio_utils.cpp +++ b/modules/juce_audio_utils/juce_audio_utils.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_AUDIO_UTILS_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_AUDIO_UTILS_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,13 +31,15 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" +#define JUCE_CORE_INCLUDE_JNI_HELPERS 1 +#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1 -#include "../juce_core/native/juce_BasicNativeHeaders.h" #include "juce_audio_utils.h" +#if JUCE_MODULE_AVAILABLE_juce_gui_extra + #include +#endif + namespace juce { @@ -49,16 +51,11 @@ 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 #include "native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" #elif JUCE_ANDROID - #include "../juce_core/native/juce_android_JNIHelpers.h" #include "native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" #elif JUCE_LINUX #include "native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" diff --git a/modules/juce_audio_utils/juce_audio_utils.h b/modules/juce_audio_utils/juce_audio_utils.h index 8095b58a..51812223 100644 --- a/modules/juce_audio_utils/juce_audio_utils.h +++ b/modules/juce_audio_utils/juce_audio_utils.h @@ -22,15 +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_utils + vendor: juce + version: 4.2.1 + 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 fcde54aa..00000000 --- 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 ab629263..d3d58313 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;") \ @@ -64,7 +63,7 @@ struct AndroidBluetoothMidiInterface return retval; } - //========================================================================== + //============================================================================== static bool pairBluetoothMidiDevice (const String& bluetoothAddress) { JNIEnv* env = getEnv(); @@ -90,7 +89,7 @@ struct AndroidBluetoothMidiInterface javaString (bluetoothAddress).get()); } - //========================================================================== + //============================================================================== static String getHumanReadableStringForBluetoothAddress (const String& address) { JNIEnv* env = getEnv(); @@ -111,7 +110,7 @@ struct AndroidBluetoothMidiInterface return juceString (string); } - //========================================================================== + //============================================================================== static bool isBluetoothDevicePaired (const String& address) { JNIEnv* env = getEnv(); @@ -166,7 +165,7 @@ class AndroidBluetoothMidiDevicesListBox : public ListBox, private Timer { public: - //========================================================================== + //============================================================================== AndroidBluetoothMidiDevicesListBox() : timerPeriodInMs (1000) { @@ -184,7 +183,7 @@ public: } private: - //========================================================================== + //============================================================================== typedef AndroidBluetoothMidiDevice::ConnectionStatus DeviceStatus; int getNumRows() override @@ -226,7 +225,7 @@ private: } } - //========================================================================== + //============================================================================== static Colour getDeviceNameFontColour (DeviceStatus deviceStatus) noexcept { if (deviceStatus == AndroidBluetoothMidiDevice::offline) @@ -261,7 +260,7 @@ private: return "Status unknown"; } - //========================================================================== + //============================================================================== void listBoxItemClicked (int row, const MouseEvent&) override { const AndroidBluetoothMidiDevice& device = devices.getReference (row); @@ -278,7 +277,7 @@ private: updateDeviceList(); } - //========================================================================== + //============================================================================== struct PairDeviceThread : public Thread, private AsyncUpdater { @@ -310,7 +309,7 @@ private: Component::SafePointer owner; }; - //========================================================================== + //============================================================================== void disconnectedDeviceClicked (int row) { stopTimer(); @@ -332,7 +331,7 @@ private: AndroidBluetoothMidiInterface::unpairBluetoothMidiDevice (device.bluetoothAddress); } - //========================================================================== + //============================================================================== void updateDeviceList() { StringArray bluetoothAddresses = AndroidBluetoothMidiInterface::getBluetoothMidiDevicesNearby(); @@ -427,6 +426,15 @@ private: //============================================================================== bool BluetoothMidiDevicePairingDialogue::open() { + if (! RuntimePermissions::isGranted (RuntimePermissions::bluetoothMidi)) + { + // If you hit this assert, you probably forgot to get RuntimePermissions::bluetoothMidi. + // This is not going to work, boo! The pairing dialogue won't be able to scan for or + // find any devices, it will just display an empty list, so don't bother opening it. + jassertfalse; + return false; + } + BluetoothMidiSelectorOverlay* overlay = new BluetoothMidiSelectorOverlay; return true; } diff --git a/modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm b/modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm index c8bbc15a..8e1288e3 100644 --- a/modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm +++ b/modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm @@ -36,7 +36,7 @@ //============================================================================== @interface BluetoothSelectorView : NSObject -@property CABTMIDICentralViewController *central; +@property (nonatomic, retain) CABTMIDICentralViewController *central; - (UIView*) getView; @end @@ -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: @@ -112,27 +112,26 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BluetoothMidiSelectorOverlay) }; -#endif // JUCE_MODULE_AVAILABLE_juce_gui_extra && ! TARGET_IPHONE_SIMULATOR - -//============================================================================== bool BluetoothMidiDevicePairingDialogue::open() { - #if JUCE_MODULE_AVAILABLE_juce_gui_extra && ! TARGET_IPHONE_SIMULATOR if (isAvailable()) { new BluetoothMidiSelectorOverlay(); return true; } - #endif return false; } bool BluetoothMidiDevicePairingDialogue::isAvailable() { - #if JUCE_MODULE_AVAILABLE_juce_gui_extra && ! TARGET_IPHONE_SIMULATOR return NSClassFromString ([NSString stringWithUTF8String: "CABTMIDICentralViewController"]) != nil; - #else - return false; - #endif } + +//============================================================================== +#else + +bool BluetoothMidiDevicePairingDialogue::open() { return false; } +bool BluetoothMidiDevicePairingDialogue::isAvailable() { return false; } + +#endif diff --git a/modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp b/modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp index 8d25c1a9..4227dfb6 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.cpp b/modules/juce_box2d/juce_box2d.cpp index c7e02418..f9d9713f 100644 --- a/modules/juce_box2d/juce_box2d.cpp +++ b/modules/juce_box2d/juce_box2d.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_BOX2D_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_BOX2D_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,10 +31,6 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" - #include "juce_box2d.h" #include "box2d/Collision/b2BroadPhase.cpp" diff --git a/modules/juce_box2d/juce_box2d.h b/modules/juce_box2d/juce_box2d.h index 5d0e54d1..6d2128b6 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.1 + 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 a91c16e2..00000000 --- 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_box2d/utils/juce_Box2DRenderer.h b/modules/juce_box2d/utils/juce_Box2DRenderer.h index 0c6ef4b1..4147ab99 100644 --- a/modules/juce_box2d/utils/juce_Box2DRenderer.h +++ b/modules/juce_box2d/utils/juce_Box2DRenderer.h @@ -25,7 +25,7 @@ #ifndef JUCE_BOX2DRENDERER_H_INCLUDED #define JUCE_BOX2DRENDERER_H_INCLUDED -//============================================================================= +//============================================================================== /** A simple implementation of the b2Draw class, used to draw a Box2D world. To use it, simply create an instance of this class in your paint() method, diff --git a/modules/juce_browser_plugin_client/How to build a browser plugin.txt b/modules/juce_browser_plugin_client/How to build a browser plugin.txt deleted file mode 100644 index d845e0d5..00000000 --- a/modules/juce_browser_plugin_client/How to build a browser plugin.txt +++ /dev/null @@ -1,68 +0,0 @@ - - - Juce Browser Plugin Framework - ============================= - -These classes let you easily turn a normal Juce component into a Mac/Windows NPAPI plugin -for use in Firefox, Safari, Chrome, etc., and/or an ActiveX plugin for IE. - -To create your plugin, your code just needs to implement the createBrowserPlugin() function -to return a subclass of BrowserPluginComponent, and this acts as the plugin window. - -To communicate with javascript running in the host webpage, the 'var' and 'DynamicObject' juce -classes emulate javascript objects, so you can create a javascript object that represents -your plugin, and the webpage can invoke methods and access properties on this object. To -get bi-directional communication between the plugin and webpage, your webpage can simply -pass its own object to your plugin, and the plugin can call methods on this object to invoke -javascript actions. - -In a similar style to audio plugins, your project has to contain a BrowserPluginCharacteristics.h -file that defines various properties of the plugin. - - -Building a Mac NPAPI Plugin with XCode --------------------------------------- - -- Create a new "CFPlugin Bundle" project -- Add the juce wrapper source files to the project (have a look at the demo project to - find out which files this includes). -- Set up all the usual frameworks, etc, like you would for any other juce project. -- In the project or target settings, change the "Wrapper Extension" to "plugin" -- In your target, add a build phase "Build ResourceManager resources", and add the juce_NPAPI_MacResource.r file - to this step. -- Check that your info.plist contains the same items as the demo plugin, because these needs to be set for the - browser to recognise it as a plugin. In particular, the "Bundle OS Type Code" should be set to BRPL. -- The finished bundle needs to be copied into "/Library/Internet Plug-Ins", so you might want to set up a - post-build copy step to do this automatically - - -Building a Windows NPAPI plugin in Visual Studio ------------------------------------------------- - -- Create a new project to build a win32 DLL -- Add the juce wrapper source files to the project (have a look at the demo project to - find out which files this includes). -- Your compiled plugin DLL must begin with the letters 'np' (in lower case) for it to be recognised as - a plugin, so you should make sure your target settings reflect this. -- To include the BrowserPluginCharacteristics.h file, you may need to add an include path to wherever this - file lives in your project. Don't use a global include path for this - just add it to the project's - search paths (both the c++ include paths and the resource include paths) -- (Refer to the normal juce instructions for setting up other project settings such as which c++ libs to link to etc) -- The finished plugin needs to be copied into "C:\Program Files\Mozilla Firefox\plugins", so you might want - to add a post-build step to copy it -- Note that the "browser plugins/wrapper/npapi" folder contains a copy of some NPAPI header files. If you're - building a closed-source project, please check the licensing details in these files to make sure - you're not breaking any Mozilla licensing restictions. - - -Building a Windows ActiveX control for Internet Explorer --------------------------------------------------------- - -- This is actually quite easy, because the same DLL that functions as an NPAPI plugin can - also be used as an ActiveX control. -- By default the build will produce an ActiveX plugin. To disable this, you can set JUCE_BUILD_ACTIVEX = 0 -- In your BrowserPluginCharacteristics.h file, the JuceBrowserPlugin_ActiveXCLSID setting needs - to be given a unique GUID for your plugin. -- Because the plugin is a COM object, it doesn't matter where the DLL lives, but it needs to - be registered in the normal COM way, with regsvr32.exe. Note that on Vista, this command - needs to be run with administrator permissions for it to be able to write to the registry. diff --git a/modules/juce_browser_plugin_client/juce_browser_plugin.cpp b/modules/juce_browser_plugin_client/juce_browser_plugin.cpp deleted file mode 100644 index e529386c..00000000 --- a/modules/juce_browser_plugin_client/juce_browser_plugin.cpp +++ /dev/null @@ -1,57 +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. - - ============================================================================== -*/ - -#if defined (JUCE_BROWSER_PLUGIN_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE - /* When you add this cpp file to your project, you mustn't include it in a file where you've - already included any other headers - just put it inside a file on its own, possibly with your config - flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix - header files that the compiler may be using. - */ - #error "Incorrect use of JUCE cpp file" -#endif - -// 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" - -#include "../juce_core/native/juce_BasicNativeHeaders.h" - -#if _MSC_VER - #define XP_WIN - #define _X86_ - #include - #include "wrapper/npapi/npupp.h" -#endif - -#include "juce_browser_plugin.h" -using namespace juce; - -#if JUCE_BUILD_NPAPI - #define JUCE_NPAPI_WRAPPED_IN_MM 1 - #include "wrapper/juce_NPAPI_GlueCode.cpp" -#endif - -#if JUCE_BUILD_ACTIVEX - #include "wrapper/juce_ActiveX_GlueCode.cpp" -#endif diff --git a/modules/juce_browser_plugin_client/juce_browser_plugin.h b/modules/juce_browser_plugin_client/juce_browser_plugin.h deleted file mode 100644 index 11e941d8..00000000 --- a/modules/juce_browser_plugin_client/juce_browser_plugin.h +++ /dev/null @@ -1,146 +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 JUCE_BROWSER_PLUGIN_H_INCLUDED -#define JUCE_BROWSER_PLUGIN_H_INCLUDED - -#include "../juce_gui_basics/juce_gui_basics.h" - - -//============================================================================= -/** Config: JUCE_BUILD_NPAPI - Use this flag to enable or disable the building of an NPAPI verstion of your plugin. -*/ -#ifndef JUCE_BUILD_NPAPI - #define JUCE_BUILD_NPAPI 1 -#endif - -/** Config: JUCE_BUILD_ACTIVEX - Use this flag to enable or disable the building of an ActiveX verstion of your plugin. -*/ -#if JUCE_WINDOWS && ! defined (JUCE_BUILD_ACTIVEX) - #define JUCE_BUILD_ACTIVEX 1 -#endif - -//============================================================================= -/** JuceBrowserPlugin_Company - This should be a quoted string containing the name of your company. -*/ -#ifndef JuceBrowserPlugin_Company - #error "You must define the JuceBrowserPlugin_Company macro before including juce_browser_plugin.h!" -#endif - -/** JuceBrowserPlugin_Name - This should be a quoted string containing the name of your plugin. -*/ -#ifndef JuceBrowserPlugin_Name - #error "You must define the JuceBrowserPlugin_Name macro before including juce_browser_plugin.h!" -#endif - -/** JuceBrowserPlugin_Desc - This should be a quoted string containing a description of your plugin. -*/ -#ifndef JuceBrowserPlugin_Desc - #error "You must define the JuceBrowserPlugin_Desc macro before including juce_browser_plugin.h!" -#endif - - -//============================================================================== -/** JuceBrowserPlugin_Desc - This should be a quoted string containing a version number for your plugin, e.g. "1.0.0" - The same version number must also be provided in the JuceBrowserPlugin_WinVersion setting. -*/ -#ifndef JuceBrowserPlugin_Version - #error "You must define the JuceBrowserPlugin_Version macro before including juce_browser_plugin.h!" -#endif - -/** JuceBrowserPlugin_Desc - This should be a comma-separated windows resource version number for your plugin, e.g. 0, 1, 0, 0. - It must be the same number as the JuceBrowserPlugin_Version setting. -*/ -#ifndef JuceBrowserPlugin_WinVersion - #error "You must define the JuceBrowserPlugin_WinVersion macro before including juce_browser_plugin.h!" -#endif - -//============================================================================== -/** JuceBrowserPlugin_MimeType_Raw - In your HTML, this is the 'type' parameter of the embed tag, e.g. - - - Both the JuceBrowserPlugin_MimeType_Raw and JuceBrowserPlugin_MimeType must be the same string, - but JuceBrowserPlugin_MimeType_Raw must have no quotes, whereas JuceBrowserPlugin_MimeType must be quoted. -*/ -#ifndef JuceBrowserPlugin_MimeType_Raw - #error "You must define the JuceBrowserPlugin_MimeType_Raw macro before including juce_browser_plugin.h!" -#endif - -/** JuceBrowserPlugin_MimeType - In your HTML, this is the 'type' parameter of the embed tag, e.g. - - - Both the JuceBrowserPlugin_MimeType_Raw and JuceBrowserPlugin_MimeType must be the same string, - but JuceBrowserPlugin_MimeType_Raw must have no quotes, whereas JuceBrowserPlugin_MimeType must be quoted. -*/ -#ifndef JuceBrowserPlugin_MimeType - #error "You must define the JuceBrowserPlugin_MimeType macro before including juce_browser_plugin.h!" -#endif - -//============================================================================== -/** JuceBrowserPlugin_FileSuffix - Because plugins are associated with a file-type, this is the suffix of the file type the plugin - can open. If you don't need to use it, just use a made-up name here, e.g. ".jucedemo". The string - must be quoted. -*/ -#ifndef JuceBrowserPlugin_FileSuffix - #error "You must define the JuceBrowserPlugin_FileSuffix macro before including juce_browser_plugin.h!" -#endif - -/** JuceBrowserPlugin_ActiveXCLSID - If you're building an ActiveX plugin, you'll need to create a unique GUID for - your plugin. Use a tool like uuidgen.exe to create this. The guid must be defined here as a quoted - string, e.g. "F683B990-3ADF-11DE-BDFE-F9CB55D89593". -*/ -#if JUCE_BUILD_ACTIVEX && ! defined (JuceBrowserPlugin_ActiveXCLSID) - #error "You must define the JuceBrowserPlugin_ActiveXCLSID macro before including juce_browser_plugin.h!" -#endif - - -//============================================================================= -namespace juce -{ - #include "wrapper/juce_BrowserPluginComponent.h" -} - -//============================================================================== -/** - This function must be implemented somewhere in your code to create the actual - plugin object that you want to use. - - Obviously multiple instances may be used simultaneously, so be VERY cautious - in your use of static variables! -*/ -juce::BrowserPluginComponent* JUCE_CALLTYPE createBrowserPlugin(); - - -#endif // JUCE_BROWSER_PLUGIN_H_INCLUDED diff --git a/modules/juce_browser_plugin_client/juce_browser_plugin.mm b/modules/juce_browser_plugin_client/juce_browser_plugin.mm deleted file mode 100644 index a08bc3d8..00000000 --- a/modules/juce_browser_plugin_client/juce_browser_plugin.mm +++ /dev/null @@ -1,25 +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 "juce_browser_plugin.cpp" diff --git a/modules/juce_browser_plugin_client/juce_module_info b/modules/juce_browser_plugin_client/juce_module_info deleted file mode 100644 index d7d8c334..00000000 --- a/modules/juce_browser_plugin_client/juce_module_info +++ /dev/null @@ -1,16 +0,0 @@ -{ - "id": "juce_browser_plugin_client", - "name": "JUCE browser plugin wrapper classes", - "version": "4.1.0", - "description": "Classes for building NPAPI and ActiveX browser plugins.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_gui_basics", "version": "matching" } ], - - "include": "juce_browser_plugin.h", - - "compile": [ { "file": "juce_browser_plugin.cpp" } ], - - "browse": [ "wrapper/*" ] -} diff --git a/modules/juce_browser_plugin_client/wrapper/juce_ActiveX_GlueCode.cpp b/modules/juce_browser_plugin_client/wrapper/juce_ActiveX_GlueCode.cpp deleted file mode 100644 index 6bb9ee9c..00000000 --- a/modules/juce_browser_plugin_client/wrapper/juce_ActiveX_GlueCode.cpp +++ /dev/null @@ -1,947 +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. - - ============================================================================== -*/ - -//============================================================================== -/* - This file contains all the gubbins to create an ActiveX browser plugin that - wraps your BrowserPluginComponent object. - -*/ -//============================================================================== -#if _MSC_VER - -//============================================================================== -#include -#include -#include -#pragma warning (disable:4584) - -#include "../juce_browser_plugin.h" -using namespace juce; - -#include "juce_BrowserPluginComponent.h" - -#ifndef JuceBrowserPlugin_ActiveXCLSID -#error "For an activeX plugin, you need to define JuceBrowserPlugin_ActiveXCLSID in your BrowserPluginCharacteristics.h file!" -#endif - -//============================================================================== -#if JUCE_DEBUG -static int numDOWID = 0, numJuceSO = 0; -#endif - -#define log(a) DBG(a) - -// Cunning trick used to add functions to export list without messing about with .def files. -#define EXPORTED_FUNCTION comment(linker, "/EXPORT:" __FUNCTION__ "=" __FUNCDNAME__) - -//============================================================================== -static void juceVarToVariant (const var& v, VARIANT& dest); -static var variantTojuceVar (const VARIANT& v); - -//============================================================================== -// Takes care of the logic in invoking var methods from IDispatch callbacks. -class IDispatchHelper -{ -public: - IDispatchHelper() {} - - String getStringFromDISPID (const DISPID hash) const - { - return identifierNames [identifierIDs.indexOf (hash)]; - } - - DISPID getDISPIDForName (const String& name) - { - const int i = identifierNames.indexOf (String (name)); - - if (i >= 0) - return identifierIDs[i]; - - const DISPID newID = (DISPID) name.hashCode64(); - identifierNames.add (name); - identifierIDs.add (newID); - return newID; - } - - HRESULT doGetIDsOfNames (LPOLESTR* rgszNames, UINT cNames, DISPID* rgDispId) - { - for (unsigned int i = 0; i < cNames; ++i) - rgDispId[i] = getDISPIDForName (rgszNames[i]); - - return S_OK; - } - - HRESULT doInvoke (const var& v, - DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, - VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) - { - const Identifier memberId (getStringFromDISPID (dispIdMember)); - - DynamicObject* const object = v.getDynamicObject(); - - if (memberId.toString().isEmpty() || object == nullptr) - return DISP_E_MEMBERNOTFOUND; - - if ((wFlags & DISPATCH_METHOD) != 0) - { - if (object->hasMethod (memberId)) - { - const int numArgs = pDispParams == nullptr ? 0 : pDispParams->cArgs; - var result; - - if (numArgs == 0) - { - result = v.call (memberId); - } - else - { - Array args; - for (int j = numArgs; --j >= 0;) - args.add (variantTojuceVar (pDispParams->rgvarg[j])); - - result = v.invoke (memberId, numArgs == 0 ? nullptr : args.getRawDataPointer(), numArgs); - } - - if (pVarResult != nullptr) - juceVarToVariant (result, *pVarResult); - - return S_OK; - } - } - else if ((wFlags & DISPATCH_PROPERTYGET) != 0) - { - if (object->hasProperty (memberId) && pVarResult != nullptr) - { - juceVarToVariant (object->getProperty (memberId), *pVarResult); - return S_OK; - } - } - else if ((wFlags & DISPATCH_PROPERTYPUT) != 0) - { - if (pDispParams != nullptr && pDispParams->cArgs > 0) - { - object->setProperty (memberId, variantTojuceVar (pDispParams->rgvarg[0])); - return S_OK; - } - } - - return DISP_E_MEMBERNOTFOUND; - } - -private: - Array identifierIDs; - StringArray identifierNames; - - JUCE_DECLARE_NON_COPYABLE (IDispatchHelper) -}; - -//============================================================================== -// Makes a var look like an IDispatch -class IDispatchWrappingDynamicObject : public IDispatch -{ -public: - IDispatchWrappingDynamicObject (const var& object_) - : object (object_), - refCount (1) - { - DBG ("num Juce wrapper objs: " + String (++numJuceSO)); - } - - virtual ~IDispatchWrappingDynamicObject() - { - DBG ("num Juce wrapper objs: " + String (--numJuceSO)); - } - - HRESULT __stdcall QueryInterface (REFIID id, void __RPC_FAR* __RPC_FAR* result) - { - if (id == IID_IUnknown) { AddRef(); *result = (IUnknown*) this; return S_OK; } - if (id == IID_IDispatch) { AddRef(); *result = (IDispatch*) this; return S_OK; } - - *result = 0; - return E_NOINTERFACE; - } - - ULONG __stdcall AddRef() { return ++refCount; } - ULONG __stdcall Release() { const int r = --refCount; if (r == 0) delete this; return r; } - - HRESULT __stdcall GetTypeInfoCount (UINT*) { return E_NOTIMPL; } - HRESULT __stdcall GetTypeInfo (UINT, LCID, ITypeInfo**) { return E_NOTIMPL; } - - HRESULT __stdcall GetIDsOfNames (REFIID riid, LPOLESTR* rgszNames, UINT cNames, - LCID lcid, DISPID* rgDispId) - { - return iDispatchHelper.doGetIDsOfNames (rgszNames, cNames, rgDispId); - } - - HRESULT __stdcall Invoke (DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, - DISPPARAMS* pDispParams, VARIANT* pVarResult, - EXCEPINFO* pExcepInfo, UINT* puArgErr) - { - return iDispatchHelper.doInvoke (object, dispIdMember, riid, lcid, wFlags, pDispParams, - pVarResult, pExcepInfo, puArgErr); - } - -private: - //============================================================================== - var object; - int refCount; - IDispatchHelper iDispatchHelper; - - JUCE_DECLARE_NON_COPYABLE (IDispatchWrappingDynamicObject) -}; - - -//============================================================================== -// Makes an IDispatch look like a var -class DynamicObjectWrappingIDispatch : public DynamicObject -{ -public: - DynamicObjectWrappingIDispatch (IDispatch* const source_) - : source (source_) - { - source->AddRef(); - log ("num IDispatch wrapper objs: " + String (++numDOWID)); - } - - ~DynamicObjectWrappingIDispatch() - { - source->Release(); - log ("num IDispatch wrapper objs: " + String (--numDOWID)); - } - - var getProperty (const Identifier& propertyName) const override - { - const String nameCopy (propertyName.toString()); - LPCOLESTR name = nameCopy.toUTF16(); - DISPID id = 0; - if (source->GetIDsOfNames (IID_NULL, (LPOLESTR*) &name, 1, 0, &id) == S_OK) - { - EXCEPINFO excepInfo; - DISPPARAMS params; - zerostruct (params); - UINT argError; - VARIANT result; - zerostruct (result); - - if (source->Invoke (id, IID_NULL, 0, DISPATCH_PROPERTYGET, - ¶ms, &result, &excepInfo, &argError) == S_OK) - { - var v (variantTojuceVar (result)); - VariantClear (&result); - return v; - } - } - - return var(); - } - - bool hasProperty (const Identifier& propertyName) const override - { - const String nameCopy (propertyName.toString()); - LPCOLESTR name = nameCopy.toUTF16(); - DISPID id = 0; - return source->GetIDsOfNames (IID_NULL, (LPOLESTR*) &name, 1, 0, &id) == S_OK; - } - - void setProperty (const Identifier& propertyName, const var& newValue) override - { - const String nameCopy (propertyName.toString()); - LPCOLESTR name = nameCopy.toUTF16(); - DISPID id = 0; - if (source->GetIDsOfNames (IID_NULL, (LPOLESTR*) &name, 1, 0, &id) == S_OK) - { - VARIANT param; - zerostruct (param); - juceVarToVariant (newValue, param); - - DISPPARAMS dispParams; - zerostruct (dispParams); - dispParams.cArgs = 1; - dispParams.rgvarg = ¶m; - EXCEPINFO excepInfo; - zerostruct (excepInfo); - - VARIANT result; - zerostruct (result); - UINT argError = 0; - - if (source->Invoke (id, IID_NULL, 0, DISPATCH_PROPERTYPUT, - &dispParams, &result, &excepInfo, &argError) == S_OK) - { - VariantClear (&result); - } - - VariantClear (¶m); - } - } - - void removeProperty (const Identifier& propertyName) override - { - setProperty (propertyName, var()); - } - - bool hasMethod (const Identifier& methodName) const override - { - const String nameCopy (methodName.toString()); - LPCOLESTR name = nameCopy.toUTF16(); - DISPID id = 0; - return source->GetIDsOfNames (IID_NULL, (LPOLESTR*) &name, 1, 0, &id) == S_OK; - } - - var invokeMethod (Identifier methodName, const var::NativeFunctionArgs& args) override - { - var returnValue; - const String nameCopy (methodName.toString()); - LPCOLESTR name = nameCopy.toUTF16(); - DISPID id = 0; - if (source->GetIDsOfNames (IID_NULL, (LPOLESTR*) &name, 1, 0, &id) == S_OK) - { - HeapBlock params; - params.calloc (args.numArguments + 1); - - for (int i = 0; i < args.numArguments; ++i) - juceVarToVariant (args.arguments[(args.numArguments - 1) - i], params[i]); - - DISPPARAMS dispParams; - zerostruct (dispParams); - dispParams.cArgs = args.numArguments; - dispParams.rgvarg = params; - - EXCEPINFO excepInfo; - zerostruct (excepInfo); - - VARIANT result; - zerostruct (result); - UINT argError = 0; - - if (source->Invoke (id, IID_NULL, 0, DISPATCH_METHOD, - &dispParams, &result, &excepInfo, &argError) == S_OK) - { - returnValue = variantTojuceVar (result); - VariantClear (&result); - } - } - - return returnValue; - } - -private: - IDispatch* const source; - - JUCE_DECLARE_NON_COPYABLE (DynamicObjectWrappingIDispatch) -}; - - -//============================================================================== -void juceVarToVariant (const var& v, VARIANT& dest) -{ - if (v.isVoid()) - { - dest.vt = VT_EMPTY; - } - else if (v.isInt()) - { - dest.vt = VT_INT; - dest.intVal = (int) v; - } - else if (v.isBool()) - { - dest.vt = VT_BOOL; - dest.boolVal = (int) v; - } - else if (v.isDouble()) - { - dest.vt = VT_R8; - dest.dblVal = (double) v; - } - else if (v.isString()) - { - dest.vt = VT_BSTR; - dest.bstrVal = SysAllocString (v.toString().toUTF16()); - } - else if (v.getDynamicObject() != nullptr) - { - dest.vt = VT_DISPATCH; - dest.pdispVal = new IDispatchWrappingDynamicObject (v); - } - else if (v.isMethod()) - { - dest.vt = VT_EMPTY; - } -} - -var variantTojuceVar (const VARIANT& v) -{ - if ((v.vt & VT_ARRAY) != 0) - { - //xxx - } - else - { - switch (v.vt & ~VT_BYREF) - { - case VT_VOID: - case VT_EMPTY: return var(); - case VT_I1: return var ((int) v.cVal); - case VT_I2: return var ((int) v.iVal); - case VT_I4: return var ((int) v.lVal); - case VT_I8: return var (String (v.llVal)); - case VT_UI1: return var ((int) v.bVal); - case VT_UI2: return var ((int) v.uiVal); - case VT_UI4: return var ((int) v.ulVal); - case VT_UI8: return var (String (v.ullVal)); - case VT_INT: return var ((int) v.intVal); - case VT_UINT: return var ((int) v.uintVal); - case VT_R4: return var ((double) v.fltVal); - case VT_R8: return var ((double) v.dblVal); - case VT_BSTR: return var (String (v.bstrVal)); - case VT_BOOL: return var (v.boolVal ? true : false); - case VT_DISPATCH: return var (new DynamicObjectWrappingIDispatch (v.pdispVal)); - default: break; - } - } - - return var(); -} - -//============================================================================== -// This acts as the embedded HWND -class AXBrowserPluginHolderComponent : public Component -{ -public: - AXBrowserPluginHolderComponent() - : parentHWND (0), - browser (nullptr) - { - setOpaque (true); - setWantsKeyboardFocus (false); - - addAndMakeVisible (child = createBrowserPlugin()); - jassert (child != nullptr); // You have to create one of these! - } - - ~AXBrowserPluginHolderComponent() - { - setWindow (nullptr); - child = nullptr; - } - - //============================================================================== - void paint (Graphics& g) override - { - if (child == nullptr || ! child->isOpaque()) - g.fillAll (Colours::white); - } - - void resized() override - { - if (child != nullptr) - child->setBounds (getLocalBounds()); - } - - var getObject() { return child->getJavascriptObject(); } - - void setWindow (IOleInPlaceSite* site) - { - if (browser != nullptr) - { - browser->Release(); - browser = nullptr; - } - - HWND newHWND = 0; - - if (site != nullptr) - { - site->GetWindow (&newHWND); - - IServiceProvider* sp = nullptr; - site->QueryInterface (IID_IServiceProvider, (void**) &sp); - - if (sp != nullptr) - { - sp->QueryService (IID_IWebBrowserApp, IID_IWebBrowser2, (void**) &browser); - sp->Release(); - } - } - - if (parentHWND != newHWND) - { - removeFromDesktop(); - setVisible (false); - - parentHWND = newHWND; - - if (parentHWND != 0) - { - addToDesktop (0); - - HWND ourHWND = (HWND) getWindowHandle(); - SetParent (ourHWND, parentHWND); - DWORD val = GetWindowLong (ourHWND, GWL_STYLE); - val = (val & ~WS_POPUP) | WS_CHILD; - SetWindowLong (ourHWND, GWL_STYLE, val); - - setVisible (true); - } - } - - if (site != nullptr) - site->OnInPlaceActivate(); - } - - String getBrowserURL() const - { - if (browser == nullptr) - return String::empty; - - BSTR url = nullptr; - browser->get_LocationURL (&url); - return URL::removeEscapeChars (url); - } - -private: - //============================================================================== - ScopedPointer child; - HWND parentHWND; - IWebBrowser2* browser; - - JUCE_DECLARE_NON_COPYABLE (AXBrowserPluginHolderComponent) -}; - -//============================================================================== -extern String browserVersionDesc; - -static String getExePath() -{ - TCHAR moduleFile [2048] = { 0 }; - GetModuleFileName (0, moduleFile, 2048); - return moduleFile; -} - -static String getExeVersion (const String& exeFileName, const String& fieldName) -{ - DWORD pointlessWin32Variable; - DWORD size = GetFileVersionInfoSize (exeFileName.toUTF16(), &pointlessWin32Variable); - - if (size > 0) - { - HeapBlock exeInfo; - exeInfo.calloc (size); - - if (GetFileVersionInfo (exeFileName.toUTF16(), 0, size, exeInfo)) - { - TCHAR* result = nullptr; - unsigned int resultLen = 0; - - // try the 1200 codepage (Unicode) - String queryStr ("\\StringFileInfo\\040904B0\\" + fieldName); - - if (! VerQueryValue (exeInfo, (LPTSTR) queryStr.toUTF16().getAddress(), (void**) &result, &resultLen)) - { - // try the 1252 codepage (Windows Multilingual) - queryStr = "\\StringFileInfo\\040904E4\\" + fieldName; - VerQueryValue (exeInfo, (LPTSTR) queryStr.toUTF16().getAddress(), (void**) &result, &resultLen); - } - - return String (result, resultLen); - } - } - - return String::empty; -} - -static int numActivePlugins = 0; - -class JuceActiveXObject : public IUnknown, - public IDispatch, - public IObjectWithSite, - public IObjectSafety, - public IOleInPlaceObject -{ -public: - JuceActiveXObject() - : site (nullptr), refCount (0) - { - log ("JuceActiveXObject"); - } - - ~JuceActiveXObject() - { - log ("~JuceActiveXObject"); - holderComp = nullptr; - } - - HRESULT __stdcall QueryInterface (REFIID id, void __RPC_FAR* __RPC_FAR* result) - { - if (id == IID_IUnknown) { AddRef(); *result = (IUnknown*) this; return S_OK; } - if (id == IID_IDispatch) { AddRef(); *result = (IDispatch*) this; return S_OK; } - if (id == IID_IObjectWithSite) { AddRef(); *result = (IObjectWithSite*) this; return S_OK; } - if (id == IID_IObjectSafety) { AddRef(); *result = (IObjectSafety*) this; return S_OK; } - if (id == IID_IOleInPlaceObject) { AddRef(); *result = (IOleInPlaceObject*) this; return S_OK; } - if (id == IID_IOleWindow) { AddRef(); *result = (IOleWindow*) (IOleInPlaceObject*) this; return S_OK; } - - *result = 0; - return E_NOINTERFACE; - } - - ULONG __stdcall AddRef() { return ++refCount; } - ULONG __stdcall Release() { const int r = --refCount; if (r == 0) delete this; return r; } - - HRESULT __stdcall GetTypeInfoCount (UINT* pctinfo) { return E_NOTIMPL; } - HRESULT __stdcall GetTypeInfo (UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo) { return E_NOTIMPL; } - - HRESULT __stdcall GetIDsOfNames (REFIID riid, LPOLESTR* rgszNames, UINT cNames, - LCID lcid, DISPID* rgDispId) - { - return iDispatchHelper.doGetIDsOfNames (rgszNames, cNames, rgDispId); - } - - HRESULT __stdcall Invoke (DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, - DISPPARAMS* pDispParams, VARIANT* pVarResult, - EXCEPINFO* pExcepInfo, UINT* puArgErr) - { - if (holderComp == nullptr) - return DISP_E_MEMBERNOTFOUND; - - return iDispatchHelper.doInvoke (holderComp->getObject(), - dispIdMember, riid, lcid, wFlags, pDispParams, - pVarResult, pExcepInfo, puArgErr); - } - - HRESULT __stdcall SetSite (IUnknown* newSite) - { - if (newSite != site) - { - if (site != nullptr) - site->Release(); - - site = newSite; - - if (site != nullptr) - { - site->AddRef(); - - IOleInPlaceSite* inPlaceSite = nullptr; - site->QueryInterface (IID_IOleInPlaceSite, (void**) &inPlaceSite); - - if (inPlaceSite != nullptr) - { - createHolderComp(); - - holderComp->setWindow (inPlaceSite); - inPlaceSite->Release(); - } - else - { - deleteHolderComp(); - } - } - else - { - deleteHolderComp(); - } - } - - return S_OK; - } - - void createHolderComp() - { - if (holderComp == nullptr) - { - if (numActivePlugins++ == 0) - { - log ("initialiseJuce_GUI()"); - initialiseJuce_GUI(); - - browserVersionDesc = "Internet Explorer " + getExeVersion (getExePath(), "FileVersion"); - } - - holderComp = new AXBrowserPluginHolderComponent(); - } - } - - void deleteHolderComp() - { - if (holderComp != nullptr) - { - holderComp = nullptr; - - if (--numActivePlugins == 0) - { - log ("shutdownJuce_GUI()"); - shutdownJuce_GUI(); - } - } - } - - HRESULT __stdcall GetSite (REFIID riid, void **ppvSite) - { - *ppvSite = site; - return S_OK; - } - - //============================================================================== - HRESULT __stdcall SetObjectRects (LPCRECT r, LPCRECT c) - { - if (holderComp != nullptr) - holderComp->setBounds (r->left, r->top, r->right - r->left, r->bottom - r->top); - - return S_OK; - } - - HRESULT __stdcall GetWindow (HWND* phwnd) - { - if (holderComp == nullptr) - return E_NOTIMPL; - - *phwnd = (HWND) holderComp->getWindowHandle(); - return S_OK; - } - - //============================================================================== - HRESULT __stdcall ContextSensitiveHelp (BOOL fEnterMode) { return E_NOTIMPL; } - HRESULT __stdcall InPlaceDeactivate() { return E_NOTIMPL; } - HRESULT __stdcall UIDeactivate() { return E_NOTIMPL; } - HRESULT __stdcall ReactivateAndUndo() { return E_NOTIMPL; } - - //============================================================================== - HRESULT __stdcall GetInterfaceSafetyOptions (REFIID riid, DWORD *pdwSupportedOptions, DWORD *pdwEnabledOptions) - { - *pdwSupportedOptions = *pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER|INTERFACESAFE_FOR_UNTRUSTED_DATA; - return S_OK; - } - - HRESULT __stdcall SetInterfaceSafetyOptions (REFIID, DWORD, DWORD) { return S_OK; } - -private: - IUnknown* site; - int refCount; - ScopedPointer holderComp; - IDispatchHelper iDispatchHelper; - - JUCE_DECLARE_NON_COPYABLE (JuceActiveXObject) -}; - -//============================================================================== -class JuceActiveXObjectFactory : public IUnknown, - public IClassFactory -{ -public: - JuceActiveXObjectFactory() : refCount (0) {} - - HRESULT __stdcall QueryInterface (REFIID id, void __RPC_FAR* __RPC_FAR* result) - { - if (id == IID_IUnknown) { AddRef(); *result = (IUnknown*) this; return S_OK; } - if (id == IID_IClassFactory) { AddRef(); *result = (IClassFactory*) this; return S_OK; } - - *result = nullptr; - return E_NOINTERFACE; - } - - ULONG __stdcall AddRef() { return ++refCount; } - ULONG __stdcall Release() { const int r = --refCount; if (r == 0) delete this; return r; } - - HRESULT __stdcall CreateInstance (IUnknown* pUnkOuter, REFIID riid, void** ppvObject) - { - *ppvObject = nullptr; - - if (pUnkOuter != nullptr && riid != IID_IUnknown) - return CLASS_E_NOAGGREGATION; - - JuceActiveXObject* ax = new JuceActiveXObject(); - return ax->QueryInterface (riid, ppvObject); - } - - HRESULT __stdcall LockServer (BOOL /*fLock*/) { return S_OK; } - -private: - int refCount; - - JUCE_DECLARE_NON_COPYABLE (JuceActiveXObjectFactory) -}; - -//============================================================================== -String getActiveXBrowserURL (const BrowserPluginComponent* comp) -{ - if (AXBrowserPluginHolderComponent* ax = dynamic_cast (comp->getParentComponent())) - return ax->getBrowserURL(); - - return String(); -} - -//============================================================================== -extern "C" BOOL WINAPI DllMain (HANDLE instance, DWORD reason, LPVOID) -{ - #pragma EXPORTED_FUNCTION - - switch (reason) - { - case DLL_PROCESS_ATTACH: - log ("DLL_PROCESS_ATTACH"); - Process::setCurrentModuleInstanceHandle (instance); - break; - - case DLL_PROCESS_DETACH: - log ("DLL_PROCESS_DETACH"); - browserVersionDesc.clear(); - - // IE has a tendency to leak our objects, so although none of this should be - // necessary, it's best to make sure.. - jassert (numActivePlugins == 0); - shutdownJuce_GUI(); - break; - - default: - break; - } - - return TRUE; -} - -static String CLSIDToJuceString (REFCLSID clsid) -{ - LPWSTR s = nullptr; - StringFromIID (clsid, &s); - - if (s == nullptr) - return String::empty; - - const String result (s); - LPMALLOC malloc; - CoGetMalloc (1, &malloc); - if (malloc != nullptr) - { - malloc->Free (s); - malloc->Release(); - } - - return result.removeCharacters ("{}").trim(); -} - -STDAPI DllGetClassObject (REFCLSID rclsid, REFIID riid, LPVOID* ppv) -{ - #pragma EXPORTED_FUNCTION - - *ppv = nullptr; - - if (CLSIDToJuceString (rclsid).equalsIgnoreCase (String (JuceBrowserPlugin_ActiveXCLSID))) - { - JuceActiveXObjectFactory* afx = new JuceActiveXObjectFactory(); - if (afx->QueryInterface (riid, ppv) == S_OK) - return S_OK; - - delete afx; - } - - return CLASS_E_CLASSNOTAVAILABLE; -} - -STDAPI DllCanUnloadNow() -{ - #pragma EXPORTED_FUNCTION - return S_OK; -} - -//============================================================================== -static String makeLegalRegistryName (const String& s) -{ - return s.retainCharacters ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_."); -} - -static HRESULT doRegistration (const bool unregister) -{ - const String company (makeLegalRegistryName (JuceBrowserPlugin_Company)); - const String plugin (makeLegalRegistryName (JuceBrowserPlugin_Name)); - const String clsID ("{" + String (JuceBrowserPlugin_ActiveXCLSID).toUpperCase() + "}"); - const String root ("HKEY_CLASSES_ROOT\\"); - const String companyDotPlugin (company + "." + plugin); - const String companyDotPluginCur (companyDotPlugin + ".1"); - const String clsIDRoot (root + "CLSID\\" + clsID + "\\"); - const String dllPath (File::getSpecialLocation (File::currentApplicationFile).getFullPathName()); - - StringPairArray settings; - settings.set (root + companyDotPluginCur + "\\", JuceBrowserPlugin_Name); - settings.set (root + companyDotPluginCur + "\\CLSID\\", clsID); - settings.set (root + companyDotPlugin + "\\", JuceBrowserPlugin_Name); - settings.set (root + companyDotPlugin + "\\CLSID\\", clsID); - settings.set (root + companyDotPlugin + "\\CurVer\\", companyDotPluginCur); - settings.set (clsIDRoot, JuceBrowserPlugin_Name); - settings.set (clsIDRoot + "Implemented Categories\\{7DD95801-9882-11CF-9FA9-00AA006C42C4}\\", String::empty); - settings.set (clsIDRoot + "Implemented Categories\\{7DD95802-9882-11CF-9FA9-00AA006C42C4}\\", String::empty); - settings.set (clsIDRoot + "ProgID\\", companyDotPluginCur); - settings.set (clsIDRoot + "VersionIndependentProgID\\", companyDotPlugin); - settings.set (clsIDRoot + "Programmable\\", String::empty); - settings.set (clsIDRoot + "InProcServer32\\", dllPath); - settings.set (clsIDRoot + "InProcServer32\\ThreadingModel", "Apartment"); - settings.set (clsIDRoot + "Control\\", String::empty); - settings.set (clsIDRoot + "Insertable\\", String::empty); - settings.set (clsIDRoot + "ToolboxBitmap32\\", dllPath + ", 101"); - settings.set (clsIDRoot + "TypeLib\\", ""); - settings.set (clsIDRoot + "Version\\", JuceBrowserPlugin_Version); - - if (unregister) - { - for (int i = 0; i < settings.getAllKeys().size(); ++i) - WindowsRegistry::deleteValue (settings.getAllKeys()[i]); - - WindowsRegistry::deleteKey (root + companyDotPluginCur); - WindowsRegistry::deleteKey (root + companyDotPlugin); - WindowsRegistry::deleteKey (clsIDRoot); - - if (WindowsRegistry::valueExists (clsIDRoot + "InProcServer32")) - return SELFREG_E_CLASS; - } - else - { - WindowsRegistry::deleteKey (clsIDRoot); - - for (int i = 0; i < settings.getAllKeys().size(); ++i) - WindowsRegistry::setValue (settings.getAllKeys()[i], - settings [settings.getAllKeys()[i]]); - - // check whether the registration actually worked - if not, we probably don't have - // enough privileges to write to the registry.. - if (WindowsRegistry::getValue (clsIDRoot + "InProcServer32\\") != dllPath) - return SELFREG_E_CLASS; - } - - return S_OK; -} - -STDAPI DllRegisterServer() -{ - #pragma EXPORTED_FUNCTION - return doRegistration (false); -} - -STDAPI DllUnregisterServer() -{ - #pragma EXPORTED_FUNCTION - return doRegistration (true); -} - -#endif diff --git a/modules/juce_browser_plugin_client/wrapper/juce_BrowserPluginComponent.h b/modules/juce_browser_plugin_client/wrapper/juce_BrowserPluginComponent.h deleted file mode 100644 index 6779ee85..00000000 --- a/modules/juce_browser_plugin_client/wrapper/juce_BrowserPluginComponent.h +++ /dev/null @@ -1,72 +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 JUCE_BROWSERPLUGINCOMPONENT_H_INCLUDED -#define JUCE_BROWSERPLUGINCOMPONENT_H_INCLUDED - -//============================================================================== -/** - Base class for a browser plugin object. - - You need to implement a createBrowserPlugin() function that the host will call - when it needs a new instance of your BrowserPluginComponent subclass. The host will - delete the BrowserPluginComponent later when the user navigates away from the - page. -*/ -class BrowserPluginComponent : public Component -{ -public: - //============================================================================== - /** - Creates a browser plugin object. - @see createBrowserPlugin - */ - BrowserPluginComponent(); - - /** Destructor. */ - ~BrowserPluginComponent(); - - //============================================================================== - /** Returns a string describing the host browser version. - */ - String getBrowserVersion() const; - - /** Returns the URL that the browser is currently showing. - */ - String getBrowserURL() const; - - /** The plugin must implement this method to return a variant object whose - properties and methods can be accessed by javascript in the browser. - - If your plugin doesn't need to represent itself, you can just return - a void var() object here. - */ - virtual var getJavascriptObject() = 0; - -private: - //============================================================================== - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BrowserPluginComponent) -}; - -#endif // JUCE_BROWSERPLUGINCOMPONENT_H_INCLUDED diff --git a/modules/juce_browser_plugin_client/wrapper/juce_NPAPI_GlueCode.cpp b/modules/juce_browser_plugin_client/wrapper/juce_NPAPI_GlueCode.cpp deleted file mode 100644 index 03ad4918..00000000 --- a/modules/juce_browser_plugin_client/wrapper/juce_NPAPI_GlueCode.cpp +++ /dev/null @@ -1,1239 +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. - - ============================================================================== -*/ - -//============================================================================== -/* - This file contains all the mess that creates an NPAPI interface, and connects - that interface to your BrowserPluginComponent object. - -*/ -//============================================================================== -#if defined (__APPLE__) && ! JUCE_NPAPI_WRAPPED_IN_MM - #error "You mustn't compile this cpp file directly - use juce_browser_plugin.cpp instead" -#endif - -#define XPCOM_GLUE - -//============================================================================== -#if _MSC_VER - // Cunning trick used to add functions to export list and avoid messing about with .def files. - // (can't add a declspec because the functions have already been pre-declared in the npapi headers). - #define EXPORTED_FUNCTION comment(linker, "/EXPORT:" __FUNCTION__ "=" __FUNCDNAME__) - -//============================================================================== -#elif defined (__APPLE__) - #define XP_MACOSX - #define OSCALL - #define Point CarbonDummyPointName - #define Component CarbonDummyCompName - #include - #include - #include - #undef Point - #undef Component - -//============================================================================== -#else - #define XP_UNIX - #include "npapi.h" - #include "npupp.h" - #include "npruntime.h" - -#endif - -//============================================================================== -#if JUCE_MAC && JUCE_DEBUG && 0 - #include - static void log (const String& s) - { - std::ofstream file ("/Users/jules/Desktop/log.txt", std::ios::out | std::ios::app); - file << s << std::endl; - } -#else - #define log(a) -#endif - -//============================================================================== -#if JUCE_MAC -static String nsStringToJuce (NSString* s) { return String::fromUTF8 ([s UTF8String]); } -static NSString* juceStringToNS (const String& s) { return [NSString stringWithUTF8String: s.toUTF8()]; } - -#pragma export on -extern "C" -{ - NPError NP_Initialize (NPNetscapeFuncs*); - NPError NP_GetEntryPoints (NPPluginFuncs*); - NPError NP_Shutdown(); -} -#pragma export off - -#ifndef NP_CLASS_STRUCT_VERSION_ENUM // fill in some symbols that are missing from the OSX 10.4 SDK - #define NPNVpluginDrawingModel 1000 - #define NPDrawingModelCoreGraphics 1 - - typedef struct NP_CGContext - { - CGContextRef context; - WindowRef window; - } NP_CGContext; -#endif - -#endif - -//============================================================================== -static NPNetscapeFuncs browser; -String browserVersionDesc; - -//============================================================================== -NPError NP_GetValue (void* future, NPPVariable variable, void* value) -{ - return NPP_GetValue ((NPP_t*) future, variable, value); -} - -#if JUCE_WINDOWS || JUCE_MAC -NPError OSCALL NP_GetEntryPoints (NPPluginFuncs* funcs) -{ - #if JUCE_WINDOWS - #pragma EXPORTED_FUNCTION - #endif - - log ("NP_GetEntryPoints"); - if (funcs == 0 || (funcs->size > 0 && funcs->size < sizeof (NPPluginFuncs))) - return NPERR_INVALID_FUNCTABLE_ERROR; - - funcs->size = sizeof (NPPluginFuncs); - funcs->version = (NP_VERSION_MAJOR << 8) | NP_VERSION_MINOR; - funcs->newp = NPP_New; - funcs->destroy = NPP_Destroy; - funcs->setwindow = NPP_SetWindow; - funcs->newstream = NPP_NewStream; - funcs->destroystream = NPP_DestroyStream; - funcs->asfile = NPP_StreamAsFile; - funcs->writeready = NPP_WriteReady; - #if JUCE_MAC - funcs->write = (NPP_WriteProcPtr) NPP_Write; - #else - funcs->write = NPP_Write; - #endif - funcs->print = NPP_Print; - funcs->event = NPP_HandleEvent; - funcs->urlnotify = NPP_URLNotify; - funcs->getvalue = NPP_GetValue; - funcs->setvalue = NPP_SetValue; - funcs->javaClass = nullptr; - - return NPERR_NO_ERROR; -} -#endif - -NPError OSCALL NP_Initialize (NPNetscapeFuncs* funcs - #ifdef XP_UNIX - , NPPluginFuncs* pluginFuncs - #endif - ) -{ - #if JUCE_WINDOWS - #pragma EXPORTED_FUNCTION - #endif - - log ("NP_Initialize"); - if (funcs == 0) - return NPERR_INVALID_FUNCTABLE_ERROR; - - if (((funcs->version >> 8) & 0xff) > NP_VERSION_MAJOR) - return NPERR_INCOMPATIBLE_VERSION_ERROR; - - zerostruct (browser); - memcpy (&browser, funcs, jmin ((size_t) funcs->size, sizeof (browser))); - - #ifdef XP_UNIX - pluginFuncs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR; - pluginFuncs->size = sizeof (NPPluginFuncs); - pluginFuncs->newp = NewNPP_NewProc (NPP_New); - pluginFuncs->destroy = NewNPP_DestroyProc (NPP_Destroy); - pluginFuncs->setwindow = NewNPP_SetWindowProc (NPP_SetWindow); - pluginFuncs->newstream = NewNPP_NewStreamProc (NPP_NewStream); - pluginFuncs->destroystream = NewNPP_DestroyStreamProc (NPP_DestroyStream); - pluginFuncs->asfile = NewNPP_StreamAsFileProc (NPP_StreamAsFile); - pluginFuncs->writeready = NewNPP_WriteReadyProc (NPP_WriteReady); - pluginFuncs->write = NewNPP_WriteProc (NPP_Write); - pluginFuncs->print = NewNPP_PrintProc (NPP_Print); - pluginFuncs->urlnotify = NewNPP_URLNotifyProc (NPP_URLNotify); - pluginFuncs->event = 0; - pluginFuncs->getvalue = NewNPP_GetValueProc (NPP_GetValue); - #ifdef OJI - pluginFuncs->javaClass = NPP_GetJavaClass(); - #endif - #endif - - return NPERR_NO_ERROR; -} - -NPError OSCALL NP_Shutdown() -{ - #if JUCE_WINDOWS - #pragma EXPORTED_FUNCTION - #endif - - log ("NP_Shutdown"); - return NPERR_NO_ERROR; -} - -char* NP_GetMIMEDescription() -{ - log ("NP_GetMIMEDescription"); - static String mimeDesc (String (JuceBrowserPlugin_MimeType) - + ":" + String (JuceBrowserPlugin_FileSuffix) - + ":" + String (JuceBrowserPlugin_Name)); - - return (char*) (const char*) mimeDesc.toUTF8(); -} - -//============================================================================== -/* -NPError NPN_GetURLNotify (NPP instance, const char *url, const char *target, void* notifyData) -{ - return (browser.version & 0xFF) >= NPVERS_HAS_NOTIFICATION - ? browser.geturlnotify (instance, url, target, notifyData); - : NPERR_INCOMPATIBLE_VERSION_ERROR; -} - -NPError NPN_PostURLNotify (NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file, void* notifyData) -{ - return (browser.version & 0xFF) >= NPVERS_HAS_NOTIFICATION - ? browser.posturlnotify (instance, url, window, len, buf, file, notifyData) - : NPERR_INCOMPATIBLE_VERSION_ERROR; -} - -NPError NPN_NewStream (NPP instance, NPMIMEType type, const char* target, NPStream** stream) -{ - return (browser.version & 0xFF) >= NPVERS_HAS_STREAMOUTPUT - ? browser.newstream (instance, type, target, stream) - : NPERR_INCOMPATIBLE_VERSION_ERROR; -} - -int32 NPN_Write (NPP instance, NPStream *stream, int32 len, void *buffer) -{ - return (browser.version & 0xFF) >= NPVERS_HAS_STREAMOUTPUT - ? browser.write (instance, stream, len, buffer) - : -1; -} - -NPError NPN_DestroyStream (NPP instance, NPStream* stream, NPError reason) -{ - return (browser.version & 0xFF) >= NPVERS_HAS_STREAMOUTPUT - ? browser.destroystream (instance, stream, reason) - : NPERR_INCOMPATIBLE_VERSION_ERROR; -} -*/ - -//============================================================================== -class BrowserPluginHolderComponent : public Component -{ -public: - //============================================================================== - BrowserPluginHolderComponent (NPP npp_) - : npp (npp_), - isFirefox4 (false) - { - log ("BrowserPluginHolderComponent created"); - #if JUCE_WINDOWS - parentHWND = 0; - oldWinProc = 0; - #else - currentParentView = nil; - #endif - - setOpaque (true); - setWantsKeyboardFocus (false); - - addAndMakeVisible (child = createBrowserPlugin()); - jassert (child != nullptr); // You have to create one of these! - - #if JUCE_MAC - const String browserVersion (child->getBrowserVersion()); - isFirefox4 = browserVersion.containsIgnoreCase("firefox/") - && browserVersion.fromFirstOccurrenceOf ("firefox/", false, true).getIntValue() >= 4; - #endif - } - - ~BrowserPluginHolderComponent() - { - log ("BrowserPluginHolderComponent deleted"); - setWindow (nullptr); - child = nullptr; - } - - //============================================================================== - void paint (Graphics& g) override - { - if (child == nullptr || ! child->isOpaque()) - g.fillAll (Colours::white); - } - - void resized() override - { - if (child != nullptr && ! isFirefox4) - child->setBounds (getLocalBounds()); - } - - var getObject() - { - return child->getJavascriptObject(); - } - - //============================================================================== - NPP npp; - ScopedPointer child; - -private: - bool isFirefox4; - - //============================================================================== -#if JUCE_WINDOWS - HWND parentHWND; - WNDPROC oldWinProc; - - void resizeToParentWindow (const int requestedWidth = 0, const int requestedHeight = 0) - { - if (IsWindow (parentHWND)) - { - RECT r; - GetWindowRect (parentHWND, &r); - - int w = r.right - r.left; - int h = r.bottom - r.top; - - if (w == 0 || h == 0) - { - w = requestedWidth; // On Safari, the HWND can have a zero-size, so we might need to - h = requestedHeight; // force it to the size that the NPAPI call asked for.. - MoveWindow (parentHWND, r.left, r.top, w, h, TRUE); - } - - setBounds (0, 0, w, h); - } - } - - static LRESULT CALLBACK interceptingWinProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) - { - switch (msg) - { - case WM_PAINT: - { - PAINTSTRUCT ps; - HDC hdc = BeginPaint (hWnd, &ps); - EndPaint (hWnd, &ps); - } - return 0; - - case WM_ERASEBKGND: - return 1; - - case WM_WINDOWPOSCHANGING: - case WM_WINDOWPOSCHANGED: - //if ((((WINDOWPOS*) lParam)->flags & SWP_NOSIZE) == 0) - { - BrowserPluginHolderComponent* const comp = (BrowserPluginHolderComponent*) GetWindowLongPtr (hWnd, GWLP_USERDATA); - comp->resizeToParentWindow(); - } - break; - - default: - break; - } - - return DefWindowProc (hWnd, msg, wParam, lParam); - } - -public: - void setWindow (NPWindow* window) - { - HWND newHWND = (window != nullptr ? ((HWND) window->window) : 0); - - if (parentHWND != newHWND) - { - removeFromDesktop(); - setVisible (false); - - if (IsWindow (parentHWND)) - { - SubclassWindow (parentHWND, oldWinProc); // restore the old winproc.. - oldWinProc = 0; - } - - parentHWND = newHWND; - - if (parentHWND != 0) - { - addToDesktop (0, parentHWND); - setVisible (true); - - oldWinProc = SubclassWindow (parentHWND, (WNDPROC) interceptingWinProc); - - jassert (GetWindowLongPtr (parentHWND, GWLP_USERDATA) == 0); - SetWindowLongPtr (parentHWND, GWLP_USERDATA, (LONG_PTR) this); - - resizeToParentWindow (window->width, window->height); - } - } - } - - //============================================================================== -#else - NSView* currentParentView; - - NSView* findViewAt (NSView* parent, float x, float y) const - { - NSRect frame = [parent frame]; - NSRect bounds = [parent bounds]; - x -= frame.origin.x; - y -= frame.origin.y; - - Rectangle rr (frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); - Rectangle rr2 (bounds.origin.x, bounds.origin.y, bounds.size.width, bounds.size.height); - log (String ((int) x) + ", " + String ((int) y) + " - " + nsStringToJuce ([parent description]) + " " + rr.toString() + " " + rr2.toString()); - - if (x >= 0 && x < frame.size.width && y >= 0 && y < frame.size.height) - { - x += bounds.origin.x; // adjust for scrolling panels - y += bounds.origin.y; - - for (int i = [[parent subviews] count]; --i >= 0;) - { - NSView* v = (NSView*) [[parent subviews] objectAtIndex: i]; - - if (v != (NSView*) getWindowHandle() && ! [v isHidden]) - { - NSView* found = findViewAt (v, x, y); - - if (found != nil) - return found; - } - } - - if (isBrowserContentView (parent)) - return parent; - } - - return nil; - } - -public: - static bool isBrowserContentView (NSView* v) - { - return [[v className] isEqualToString: @"WebNetscapePluginDocumentView"] - || [[v className] isEqualToString: @"WebPluginDocumentView"] - || ([[v className] isEqualToString: @"ChildView"] && ([v frame].origin.x != 0 && [v frame].origin.y != 0)); - } - - static bool contains (NSView* parent, NSView* child) - { - if (parent == child) - return true; - - for (int i = [[parent subviews] count]; --i >= 0;) - if (contains ((NSView*) [[parent subviews] objectAtIndex: i], child)) - return true; - - return false; - } - - void setWindow (NPWindow* window) - { - JUCE_AUTORELEASEPOOL - { - log ("setWindow"); - - NSView* parentView = nil; - NP_CGContext* const cgContext = (window != nullptr) ? (NP_CGContext*) window->window : nullptr; - log ("NP_CGContext: " + String::toHexString ((pointer_sized_int) cgContext)); - - #if JUCE_USE_NPAPI_CARBON_UI - if (WindowRef windowRef = cgContext != nullptr ? (WindowRef) cgContext->window : 0) - { - NSWindow* win = [[[NSWindow alloc] initWithWindowRef: windowRef] autorelease]; - #else - if (NSWindow* win = cgContext != nullptr ? (NSWindow*) cgContext->window : nil) - { - #endif - log ("window: " + nsStringToJuce ([win description])); - - const Rectangle clip (window->clipRect.left, window->clipRect.top, - window->clipRect.right - window->clipRect.left, - window->clipRect.bottom - window->clipRect.top); - const Rectangle target ((int) window->x, (int) window->y, (int) window->width, (int) window->height); - const Rectangle intersection (clip.getIntersection (target)); - - // in firefox the clip rect is usually out of step with the target rect, but in safari it matches - log ("plugin window clip: " + clip.toString()); - log ("plugin window target: " + target.toString()); - log ("plugin window intersection: " + intersection.toString()); - - NSView* content = [win contentView]; - - if (! intersection.isEmpty()) - { - log ("content: " + nsStringToJuce ([content description])); - - float wx = (float) intersection.getCentreX(); - float wy = (float) intersection.getCentreY(); - - NSRect v = [content convertRect: [content frame] toView: nil]; - NSRect w = [win frame]; - - log ("content: " + Rectangle (v.origin.x, v.origin.y, v.size.width, v.size.height).toString() - + " frame: " + Rectangle (w.origin.x, w.origin.y, w.size.width, w.size.height).toString()); - - // adjust the requested window pos to deal with the content view's origin within the window - wy -= w.size.height - (v.origin.y + v.size.height); - - parentView = findViewAt (content, wx, wy); - - if (! isBrowserContentView (parentView)) - parentView = currentParentView; - } - else if (currentParentView != nil && ! target.isEmpty()) - { - // Firefox can send lots of spurious resize messages when updating its pages, so this is a - // bodge to avoid flickering caused by repeatedly removing and re-adding the view.. - - if (content != nil && contains (content, currentParentView)) - parentView = currentParentView; - } - log ("parent: " + nsStringToJuce ([parentView description])); - } - - if (parentView != currentParentView) - { - log ("new view: " + nsStringToJuce ([parentView description])); - - removeFromDesktop(); - setVisible (false); - - currentParentView = parentView; - - if (parentView != nil) - { - setSize (window->width, window->height); - addToDesktop (0, parentView); - setVisible (true); - } - } - - if (window != nullptr) - { - if (isFirefox4) - { - // This voodoo is required to keep the plugin clipped to the correct region and - // to stop it overwriting the toolbars in FF4. - const Rectangle clip (window->clipRect.left, window->clipRect.top, - window->clipRect.right - window->clipRect.left, - window->clipRect.bottom - window->clipRect.top); - const Rectangle target ((int) window->x, (int) window->y, (int) window->width, (int) window->height); - - Point clipToTargetOffset; - - { - NSView* contentView = [[parentView window] contentView]; - NSRect v = [contentView convertRect: [contentView frame] toView: nil]; - NSRect w = [[parentView window] frame]; - - clipToTargetOffset.setX ((int) v.origin.x); - clipToTargetOffset.setY ((int) (w.size.height - (v.origin.y + v.size.height))); - } - - if (child != nullptr) - child->setBounds (target - clip.getPosition() - clipToTargetOffset); - - NSRect parentFrame = [parentView frame]; - - [(NSView*) getWindowHandle() setFrame: NSMakeRect (clip.getX() - parentFrame.origin.x, - clip.getY() - parentFrame.origin.y, - clip.getWidth(), clip.getHeight())]; - } - else - { - setSize (window->width, window->height); - } - } - } - } -#endif -}; - -//============================================================================== -static NPIdentifier getIdentifierFromString (const Identifier& s) noexcept -{ - return browser.getstringidentifier (s.toString().toUTF8()); -} - -static var createValueFromNPVariant (NPP npp, const NPVariant& v); -static void createNPVariantFromValue (NPP npp, NPVariant& out, const var& v); - -#if JUCE_DEBUG - static int numDOWNP = 0, numJuceWDO = 0; -#endif - -//============================================================================== -class DynamicObjectWrappingNPObject : public DynamicObject -{ - NPP npp; - NPObject* const source; - mutable var returnValue; - -public: - DynamicObjectWrappingNPObject (NPP npp_, NPObject* const source_) - : npp (npp_), - source (browser.retainobject (source_)) - { - DBG ("num NP wrapper objs: " + String (++numDOWNP)); - } - - ~DynamicObjectWrappingNPObject() - { - browser.releaseobject (source); - DBG ("num NP wrapper objs: " + String (--numDOWNP)); - } - - const var& getProperty (const Identifier& propertyName) const override - { - NPVariant result; - VOID_TO_NPVARIANT (result); - browser.getproperty (npp, source, getIdentifierFromString (propertyName), &result); - - // NB: this is just a workaorund for the return type being a reference - not too bothered - // about threading implications of this since this code will all soon be deprecated anyway. - returnValue = createValueFromNPVariant (npp, result); - browser.releasevariantvalue (&result); - return returnValue; - } - - bool hasProperty (const Identifier& propertyName) const override - { - NPVariant result; - VOID_TO_NPVARIANT (result); - const bool hasProp = browser.getproperty (npp, source, getIdentifierFromString (propertyName), &result); - browser.releasevariantvalue (&result); - return hasProp; - } - - void setProperty (const Identifier& propertyName, const var& newValue) override - { - NPVariant value; - createNPVariantFromValue (npp, value, newValue); - - browser.setproperty (npp, source, getIdentifierFromString (propertyName), &value); - browser.releasevariantvalue (&value); - } - - void removeProperty (const Identifier& propertyName) override - { - browser.removeproperty (npp, source, getIdentifierFromString (propertyName)); - } - - bool hasMethod (const Identifier& methodName) const override - { - return browser.hasmethod (npp, source, getIdentifierFromString (methodName)); - } - - var invokeMethod (Identifier methodName, const var::NativeFunctionArgs& args) override - { - var returnVal; - - NPVariant result; - VOID_TO_NPVARIANT (result); - - if (args.numArguments > 0) - { - HeapBlock params (args.numArguments); - - for (int i = 0; i < args.numArguments; ++i) - createNPVariantFromValue (npp, params[i], args.arguments[i]); - - if (browser.invoke (npp, source, getIdentifierFromString (methodName), - params, args.numArguments, &result)) - { - returnVal = createValueFromNPVariant (npp, result); - browser.releasevariantvalue (&result); - } - - for (int i = 0; i < args.numArguments; ++i) - browser.releasevariantvalue (¶ms[i]); - } - else - { - if (browser.invoke (npp, source, getIdentifierFromString (methodName), 0, 0, &result)) - { - returnVal = createValueFromNPVariant (npp, result); - browser.releasevariantvalue (&result); - } - } - - return returnVal; - } -}; - -//============================================================================== -class NPObjectWrappingDynamicObject : public NPObject -{ -public: - static NPObject* create (NPP npp, const var& objectToWrap); - - virtual ~NPObjectWrappingDynamicObject() - { - DBG ("num Juce wrapper objs: " + String (--numJuceWDO)); - } - -private: - NPObjectWrappingDynamicObject (NPP n) : npp (n) - { - DBG ("num Juce wrapper objs: " + String (++numJuceWDO)); - } - - //============================================================================== - bool construct (const NPVariant *args, uint32_t argCount, NPVariant *result); - void invalidate() {} - - bool hasMethod (NPIdentifier name) - { - DynamicObject* const o = object.getDynamicObject(); - return o != nullptr && o->hasMethod (identifierToString (name)); - } - - bool invoke (NPIdentifier name, const NPVariant* args, uint32_t argCount, NPVariant* out) - { - DynamicObject* const o = object.getDynamicObject(); - const Identifier methodName (identifierToString (name)); - - if (o == nullptr || ! o->hasMethod (methodName)) - return false; - - struct ParamHolder - { - ParamHolder (uint32_t num) { params = new var [num]; } - ~ParamHolder() { delete[] params; } - - var* params; - }; - - ParamHolder params (argCount); - - for (uint32_t i = 0; i < argCount; ++i) - params.params[i] = createValueFromNPVariant (npp, args[i]); - - const var result (o->invokeMethod (methodName, var::NativeFunctionArgs (object, params.params, (int) argCount))); - - if (out != nullptr) - createNPVariantFromValue (npp, *out, result); - - return true; - } - - bool invokeDefault (const NPVariant* args, uint32_t argCount, NPVariant* result) - { - return false; - } - - bool hasProperty (NPIdentifier name) - { - DynamicObject* const o = object.getDynamicObject(); - return o != nullptr && o->hasProperty (identifierToString (name)); - } - - bool getProperty (NPIdentifier name, NPVariant* out) - { - DynamicObject* const o = object.getDynamicObject(); - const Identifier propName (identifierToString (name)); - - if (o == nullptr || ! o->hasProperty (propName)) - return false; - - const var result (o->getProperty (propName)); - - if (out != nullptr) - createNPVariantFromValue (npp, *out, result); - - return true; - } - - bool setProperty (NPIdentifier name, const NPVariant* value) - { - DynamicObject* const o = object.getDynamicObject(); - - if (value == nullptr || o == nullptr) - return false; - - o->setProperty (identifierToString (name), createValueFromNPVariant (npp, *value)); - return true; - } - - bool removeProperty (NPIdentifier name) - { - DynamicObject* const o = object.getDynamicObject(); - const Identifier propName (identifierToString (name)); - - if (o == nullptr || ! o->hasProperty (propName)) - return false; - - o->removeProperty (propName); - return true; - } - - bool enumerate (NPIdentifier** identifier, uint32_t* count) - { - return false; - } - - //============================================================================== - NPP npp; - var object; - - static Identifier identifierToString (NPIdentifier id) - { - NPUTF8* const name = browser.utf8fromidentifier (id); - const Identifier result ((const char*) name); - browser.memfree (name); - return result; - } - -public: - //============================================================================== - static NPObject* createInstance (NPP npp, NPClass* aClass) { return new NPObjectWrappingDynamicObject (npp); } - static void class_deallocate (NPObject* npobj) { delete (NPObjectWrappingDynamicObject*) npobj; } - static void class_invalidate (NPObject* npobj) { ((NPObjectWrappingDynamicObject*) npobj)->invalidate(); } - static bool class_hasMethod (NPObject* npobj, NPIdentifier name) { return ((NPObjectWrappingDynamicObject*) npobj)->hasMethod (name); } - static bool class_invoke (NPObject* npobj, NPIdentifier name, const NPVariant* args, uint32_t argCount, NPVariant* result) { return ((NPObjectWrappingDynamicObject*) npobj)->invoke (name, args, argCount, result); } - static bool class_invokeDefault (NPObject* npobj, const NPVariant* args, uint32_t argCount, NPVariant* result) { return ((NPObjectWrappingDynamicObject*) npobj)->invokeDefault (args, argCount, result); } - static bool class_hasProperty (NPObject* npobj, NPIdentifier name) { return ((NPObjectWrappingDynamicObject*) npobj)->hasProperty (name); } - static bool class_getProperty (NPObject* npobj, NPIdentifier name, NPVariant* result) { return ((NPObjectWrappingDynamicObject*) npobj)->getProperty (name, result); } - static bool class_setProperty (NPObject* npobj, NPIdentifier name, const NPVariant* value) { return ((NPObjectWrappingDynamicObject*) npobj)->setProperty (name, value); } - static bool class_removeProperty (NPObject* npobj, NPIdentifier name) { return ((NPObjectWrappingDynamicObject*) npobj)->removeProperty (name); } - static bool class_enumerate (NPObject* npobj, NPIdentifier** identifier, uint32_t* count) { return ((NPObjectWrappingDynamicObject*) npobj)->enumerate (identifier, count); } - static bool class_construct (NPObject* npobj, const NPVariant* args, uint32_t argCount, NPVariant* result) { return ((NPObjectWrappingDynamicObject*) npobj)->construct (args, argCount, result); } -}; - -static NPClass sNPObjectWrappingDynamicObject_NPClass = -{ - #ifndef NP_CLASS_STRUCT_VERSION_ENUM - NP_CLASS_STRUCT_VERSION, NPObjectWrappingDynamicObject::createInstance, - NPObjectWrappingDynamicObject::class_deallocate, NPObjectWrappingDynamicObject::class_invalidate, - NPObjectWrappingDynamicObject::class_hasMethod, NPObjectWrappingDynamicObject::class_invoke, - NPObjectWrappingDynamicObject::class_invokeDefault, NPObjectWrappingDynamicObject::class_hasProperty, - NPObjectWrappingDynamicObject::class_getProperty, NPObjectWrappingDynamicObject::class_setProperty, - NPObjectWrappingDynamicObject::class_removeProperty - #else - NP_CLASS_STRUCT_VERSION_ENUM, NPObjectWrappingDynamicObject::createInstance, - NPObjectWrappingDynamicObject::class_deallocate, NPObjectWrappingDynamicObject::class_invalidate, - NPObjectWrappingDynamicObject::class_hasMethod, NPObjectWrappingDynamicObject::class_invoke, - NPObjectWrappingDynamicObject::class_invokeDefault, NPObjectWrappingDynamicObject::class_hasProperty, - NPObjectWrappingDynamicObject::class_getProperty, NPObjectWrappingDynamicObject::class_setProperty, - NPObjectWrappingDynamicObject::class_removeProperty, NPObjectWrappingDynamicObject::class_enumerate - #endif -}; - -bool NPObjectWrappingDynamicObject::construct (const NPVariant* args, uint32_t argCount, NPVariant* result) -{ - NPObject* const newObj = browser.createobject (npp, &sNPObjectWrappingDynamicObject_NPClass); - - if (newObj == nullptr) - return false; - - OBJECT_TO_NPVARIANT (newObj, *result); - return true; -} - -NPObject* NPObjectWrappingDynamicObject::create (NPP npp, const var& objectToWrap) -{ - jassert (objectToWrap.getDynamicObject() != nullptr); - - NPObject* const nppObject = browser.createobject (npp, &sNPObjectWrappingDynamicObject_NPClass); - - if (nppObject != nullptr) - ((NPObjectWrappingDynamicObject*) nppObject)->object = objectToWrap; - - return nppObject; -} - - -//============================================================================== -static var createValueFromNPVariant (NPP npp, const NPVariant& v) -{ - if (NPVARIANT_IS_BOOLEAN (v)) - return var (NPVARIANT_TO_BOOLEAN (v)); - else if (NPVARIANT_IS_INT32 (v)) - return var (NPVARIANT_TO_INT32 (v)); - else if (NPVARIANT_IS_DOUBLE (v)) - return var (NPVARIANT_TO_DOUBLE (v)); - else if (NPVARIANT_IS_STRING (v)) - { - return var (String::fromUTF8 ((const char*) - #if JUCE_MAC - (NPVARIANT_TO_STRING (v).UTF8Characters), (int) NPVARIANT_TO_STRING (v).UTF8Length)); - #else - (NPVARIANT_TO_STRING (v).utf8characters), (int) NPVARIANT_TO_STRING (v).utf8length)); - #endif - } - else if (NPVARIANT_IS_OBJECT (v) && npp != nullptr) - return var (new DynamicObjectWrappingNPObject (npp, NPVARIANT_TO_OBJECT (v))); - - return var(); -} - -static void createNPVariantFromValue (NPP npp, NPVariant& out, const var& v) -{ - if (v.isInt()) - INT32_TO_NPVARIANT ((int) v, out); - else if (v.isBool()) - BOOLEAN_TO_NPVARIANT ((bool) v, out); - else if (v.isDouble()) - DOUBLE_TO_NPVARIANT ((double) v, out); - else if (v.isString()) - { - const String s (v.toString()); - const char* const utf8 = s.toUTF8(); - const int utf8Len = strlen (utf8) + 1; - char* const stringCopy = (char*) browser.memalloc (utf8Len); - memcpy (stringCopy, utf8, utf8Len); - STRINGZ_TO_NPVARIANT (stringCopy, out); - } - else if (v.getDynamicObject() != nullptr && npp != nullptr) - OBJECT_TO_NPVARIANT (NPObjectWrappingDynamicObject::create (npp, v), out); - else - VOID_TO_NPVARIANT (out); -} - -//============================================================================== -class JucePluginInstance -{ -public: - //============================================================================== - JucePluginInstance (NPP npp_) - : npp (npp_), - scriptObject (nullptr) - { - } - - bool setWindow (NPWindow* window) - { - if (window != nullptr) - { - if (holderComp == nullptr) - holderComp = new BrowserPluginHolderComponent (npp); - - holderComp->setWindow (window); - } - else - { - holderComp = nullptr; - scriptObject = nullptr; - } - - return true; - } - - NPObject* getScriptableObject() - { - if (scriptObject == nullptr) - scriptObject = NPObjectWrappingDynamicObject::create (npp, holderComp->getObject()); - - if (scriptObject != nullptr && shouldRetainBrowserObject()) - browser.retainobject (scriptObject); - - return scriptObject; - } - - //============================================================================== - NPP npp; - ScopedPointer holderComp; - NPObject* scriptObject; - -private: - bool shouldRetainBrowserObject() const - { - const String version (browser.uagent (npp)); - - if (! version.containsIgnoreCase (" AppleWebKit/")) - return true; - - int versionNum = version.fromFirstOccurrenceOf (" AppleWebKit/", false, true).getIntValue(); - - return versionNum == 0 || versionNum >= 420; - } -}; - -//============================================================================== -static NPP currentlyInitialisingNPP = nullptr; -static int numPluginInstances = 0; - -NPError NPP_New (NPMIMEType pluginType, NPP npp, ::uint16 mode, ::int16 argc, char* argn[], char* argv[], NPSavedData* saved) -{ - log ("NPP_New"); - if (npp == nullptr) - return NPERR_INVALID_INSTANCE_ERROR; - - #if JUCE_MAC - browser.setvalue (npp, (NPPVariable) NPNVpluginDrawingModel, (void*) NPDrawingModelCoreGraphics); - - #if JUCE_USE_NPAPI_CARBON_UI - browser.setvalue (npp, (NPPVariable) 1001 /*NPPVpluginEventModel*/, 0 /*NPEventModelCarbon*/); - #else - browser.setvalue (npp, (NPPVariable) 1001 /*NPPVpluginEventModel*/, (void*) 1 /*NPEventModelCocoa*/); - #endif - #endif - - if (numPluginInstances++ == 0) - { - log ("initialiseJuce_GUI()"); - initialiseJuce_GUI(); - } - - currentlyInitialisingNPP = npp; - JucePluginInstance* p = new JucePluginInstance (npp); - currentlyInitialisingNPP = nullptr; - - npp->pdata = (void*) p; - return NPERR_NO_ERROR; -} - -NPError NPP_Destroy (NPP npp, NPSavedData** save) -{ - log ("NPP_Destroy"); - if (npp == nullptr) - return NPERR_INVALID_INSTANCE_ERROR; - - JucePluginInstance* const p = (JucePluginInstance*) npp->pdata; - - if (p != nullptr) - { - delete p; - - if (--numPluginInstances == 0) - { - log ("shutdownJuce_GUI()"); - shutdownJuce_GUI(); - browserVersionDesc.clear(); - } - } - - return NPERR_NO_ERROR; -} - -NPError NPP_SetWindow (NPP npp, NPWindow* pNPWindow) -{ - if (npp == nullptr) - return NPERR_INVALID_INSTANCE_ERROR; - - if (pNPWindow == nullptr) - return NPERR_GENERIC_ERROR; - - JucePluginInstance* const p = (JucePluginInstance*) npp->pdata; - - if (p == nullptr) - return NPERR_GENERIC_ERROR; - - currentlyInitialisingNPP = npp; - NPError result = p->setWindow (pNPWindow) ? NPERR_NO_ERROR - : NPERR_MODULE_LOAD_FAILED_ERROR; - currentlyInitialisingNPP = nullptr; - return result; -} - -//============================================================================== -NPError NPP_GetValue (NPP npp, NPPVariable variable, void* value) -{ - if (npp == nullptr) - return NPERR_INVALID_INSTANCE_ERROR; - - JucePluginInstance* const p = (JucePluginInstance*) npp->pdata; - - if (p == nullptr) - return NPERR_GENERIC_ERROR; - - switch (variable) - { - case NPPVpluginNameString: *((const char**) value) = JuceBrowserPlugin_Name; break; - case NPPVpluginDescriptionString: *((const char**) value) = JuceBrowserPlugin_Desc; break; - case NPPVpluginScriptableNPObject: *((NPObject**) value) = p->getScriptableObject(); break; - default: return NPERR_GENERIC_ERROR; - } - - return NPERR_NO_ERROR; -} - -NPError NPP_NewStream (NPP npp, NPMIMEType type, NPStream* stream, NPBool seekable, ::uint16* stype) -{ - if (npp == nullptr) - return NPERR_INVALID_INSTANCE_ERROR; - - return NPERR_NO_ERROR; -} - -::int32 NPP_WriteReady (NPP npp, NPStream *stream) -{ - if (npp == nullptr) - return NPERR_INVALID_INSTANCE_ERROR; - - return 0x0fffffff; -} - -::int32 NPP_Write (NPP npp, NPStream *stream, ::int32 offset, ::int32 len, void *buffer) -{ - if (npp == nullptr) - return NPERR_INVALID_INSTANCE_ERROR; - - return len; -} - -NPError NPP_DestroyStream (NPP npp, NPStream *stream, NPError reason) -{ - if (npp == nullptr) - return NPERR_INVALID_INSTANCE_ERROR; - - return NPERR_NO_ERROR; -} - -void NPP_StreamAsFile (NPP npp, NPStream* stream, const char* fname) -{ - if (npp == nullptr) - return; -} - -void NPP_Print (NPP npp, NPPrint* printInfo) -{ - if (npp == nullptr) - return; -} - -void NPP_URLNotify (NPP npp, const char* url, NPReason reason, void* notifyData) -{ - if (npp == nullptr) - return; -} - -NPError NPP_SetValue (NPP npp, NPNVariable variable, void* value) -{ - if (npp == nullptr) - return NPERR_INVALID_INSTANCE_ERROR; - - return NPERR_NO_ERROR; -} - -::int16 NPP_HandleEvent (NPP npp, void* ev) -{ - if (npp != nullptr) - { - //JucePluginInstance* const p = (JucePluginInstance*) npp->pdata; - } - - return 0; -} - - -//============================================================================== -static NPP getInstance (const BrowserPluginComponent* bpc) -{ - if (BrowserPluginHolderComponent* holder = dynamic_cast (bpc->getParentComponent())) - return holder->npp; - - return currentlyInitialisingNPP; -} - -//============================================================================== -BrowserPluginComponent::BrowserPluginComponent() -{ -} - -BrowserPluginComponent::~BrowserPluginComponent() -{ -} - -String BrowserPluginComponent::getBrowserVersion() const -{ - if (browserVersionDesc.isEmpty()) - { - if (getInstance (this) != nullptr) - browserVersionDesc << browser.uagent (getInstance (this)); - else - browserVersionDesc << "Netscape Plugin V" << (int) ((browser.version >> 8) & 0xff) - << "." << (int) (browser.version & 0xff); - } - - return browserVersionDesc; -} - -//============================================================================== -#if JUCE_WINDOWS -extern String getActiveXBrowserURL (const BrowserPluginComponent* comp); -#endif - -String BrowserPluginComponent::getBrowserURL() const -{ - String result; - - #if JUCE_WINDOWS - result = getActiveXBrowserURL (this); - - if (result.isNotEmpty()) - return result; - #endif - - // (FireFox doesn't seem happy if you call this from a background thread..) - jassert (MessageManager::getInstance()->isThisTheMessageThread()); - - NPP npp = getInstance (this); - if (npp != nullptr) - { - NPObject* windowObj = nullptr; - browser.getvalue (npp, NPNVWindowNPObject, &windowObj); - - if (windowObj != nullptr) - { - NPVariant location; - bool ok = browser.getproperty (npp, windowObj, - browser.getstringidentifier ("location"), &location); - browser.releaseobject (windowObj); - - jassert (ok); - if (ok) - { - NPVariant href; - ok = browser.getproperty (npp, location.value.objectValue, - browser.getstringidentifier ("href"), &href); - browser.releasevariantvalue (&location); - - jassert (ok); - if (ok) - { - result = URL::removeEscapeChars (createValueFromNPVariant (npp, href).toString()); - browser.releasevariantvalue (&href); - } - } - } - } - - return result; -} - -#undef log diff --git a/modules/juce_browser_plugin_client/wrapper/juce_NPAPI_MacResource.r b/modules/juce_browser_plugin_client/wrapper/juce_NPAPI_MacResource.r deleted file mode 100644 index 7f82fb53..00000000 --- a/modules/juce_browser_plugin_client/wrapper/juce_NPAPI_MacResource.r +++ /dev/null @@ -1,16 +0,0 @@ -#include -#include "BrowserPluginCharacteristics.h" - -resource 'STR#' (126) { { - JuceBrowserPlugin_Desc, - JuceBrowserPlugin_Name -} }; - -resource 'STR#' (127) { { - JuceBrowserPlugin_FileSuffix -} }; - -resource 'STR#' (128) { { - JuceBrowserPlugin_MimeType, - JuceBrowserPlugin_FileSuffix -} }; diff --git a/modules/juce_browser_plugin_client/wrapper/juce_NPAPI_WinResource.rc b/modules/juce_browser_plugin_client/wrapper/juce_NPAPI_WinResource.rc deleted file mode 100644 index 3ea8012c..00000000 --- a/modules/juce_browser_plugin_client/wrapper/juce_NPAPI_WinResource.rc +++ /dev/null @@ -1,93 +0,0 @@ - -#include "BrowserPluginCharacteristics.h" - -#define APSTUDIO_READONLY_SYMBOLS -#include "windows.h" -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifndef _MAC -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION JuceBrowserPlugin_WinVersion - PRODUCTVERSION JuceBrowserPlugin_WinVersion - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "Comments", "\0" - VALUE "CompanyName", JuceBrowserPlugin_Company "\0" - VALUE "FileDescription", JuceBrowserPlugin_Desc "\0" - VALUE "FileVersion", JuceBrowserPlugin_Version "\0" - VALUE "MIMEType", JuceBrowserPlugin_MimeType "\0" - VALUE "ProductName", JuceBrowserPlugin_Name "\0" - VALUE "ProductVersion", JuceBrowserPlugin_Version "\0" - VALUE "SpecialBuild", "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif // !_MAC - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""windows.h""\r\n" - "\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/modules/juce_browser_plugin_client/wrapper/npapi/ReadMe.txt b/modules/juce_browser_plugin_client/wrapper/npapi/ReadMe.txt deleted file mode 100644 index 605d558a..00000000 --- a/modules/juce_browser_plugin_client/wrapper/npapi/ReadMe.txt +++ /dev/null @@ -1,13 +0,0 @@ - -This folder contains the minimum set of header files that is needed to build the Juce NPAPI -wrapper on Windows. (OSX already provides these headers so they're not used in a Mac build) - -I've included them in the Juce tree because there seem to be so many subtle variations of them -floating around that finding a version that's compatible with the juce wrapper is actually a lot harder -than it sounds! These particular files are taken from the XulRunner tree, where they live in -xulrunner-sdk/sdk/include. To get the rest of the XulRunner code, please visit: -https://developer.mozilla.org/En/XULRunner - -Obviously these files are in no way related to Juce, and aren't covered by the Juce license. If you're -going to use them in your own projects, then please check their own licensing details to satisfy -yourself that you're allowed to do what you want to do with them. diff --git a/modules/juce_browser_plugin_client/wrapper/npapi/jni.h b/modules/juce_browser_plugin_client/wrapper/npapi/jni.h deleted file mode 100644 index 8ffe6fa6..00000000 --- a/modules/juce_browser_plugin_client/wrapper/npapi/jni.h +++ /dev/null @@ -1,1971 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Java Runtime Interface. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation and Sun Microsystems, Inc. - * Portions created by the Initial Developer are Copyright (C) 1993-1996 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef JNI_H -#define JNI_H - -#include -#include - -/* jni_md.h contains the machine-dependent typedefs for jbyte, jint - and jlong */ - -#include "jni_md.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * JNI Types - */ - -typedef unsigned char jboolean; -typedef unsigned short jchar; -typedef short jshort; -typedef float jfloat; -typedef double jdouble; - -typedef jint jsize; - -#ifdef __cplusplus - -class _jobject {}; -class _jclass : public _jobject {}; -class _jthrowable : public _jobject {}; -class _jstring : public _jobject {}; -class _jarray : public _jobject {}; -class _jbooleanArray : public _jarray {}; -class _jbyteArray : public _jarray {}; -class _jcharArray : public _jarray {}; -class _jshortArray : public _jarray {}; -class _jintArray : public _jarray {}; -class _jlongArray : public _jarray {}; -class _jfloatArray : public _jarray {}; -class _jdoubleArray : public _jarray {}; -class _jobjectArray : public _jarray {}; - -typedef _jobject *jobject; -typedef _jclass *jclass; -typedef _jthrowable *jthrowable; -typedef _jstring *jstring; -typedef _jarray *jarray; -typedef _jbooleanArray *jbooleanArray; -typedef _jbyteArray *jbyteArray; -typedef _jcharArray *jcharArray; -typedef _jshortArray *jshortArray; -typedef _jintArray *jintArray; -typedef _jlongArray *jlongArray; -typedef _jfloatArray *jfloatArray; -typedef _jdoubleArray *jdoubleArray; -typedef _jobjectArray *jobjectArray; - -#else - -struct _jobject; - -typedef struct _jobject *jobject; -typedef jobject jclass; -typedef jobject jthrowable; -typedef jobject jstring; -typedef jobject jarray; -typedef jarray jbooleanArray; -typedef jarray jbyteArray; -typedef jarray jcharArray; -typedef jarray jshortArray; -typedef jarray jintArray; -typedef jarray jlongArray; -typedef jarray jfloatArray; -typedef jarray jdoubleArray; -typedef jarray jobjectArray; - -#endif - -typedef jobject jweak; - -#if 0 /* moved to jri_md.h */ -typedef jobject jref; /* For transition---not meant to be part of public - API anymore.*/ -#endif - -typedef union jvalue { - jboolean z; - jbyte b; - jchar c; - jshort s; - jint i; - jlong j; - jfloat f; - jdouble d; - jobject l; -} jvalue; - -struct _jfieldID; -typedef struct _jfieldID *jfieldID; - -struct _jmethodID; -typedef struct _jmethodID *jmethodID; - -/* - * jboolean constants - */ - -#define JNI_FALSE 0 -#define JNI_TRUE 1 - -/* - * possible return values for JNI functions. - */ - -#define JNI_OK 0 /* success */ -#define JNI_ERR (-1) /* unknown error */ -#define JNI_EDETACHED (-2) /* thread detached from the VM */ -#define JNI_EVERSION (-3) /* JNI version error */ -#define JNI_ENOMEM (-4) /* not enough memory */ -#define JNI_EEXIST (-5) /* VM already created */ -#define JNI_EINVAL (-6) /* invalid arguments */ - -/* - * used in ReleaseScalarArrayElements - */ - -#define JNI_COMMIT 1 -#define JNI_ABORT 2 - -/* - * used in RegisterNatives to describe native method name, signature, - * and function pointer. - */ - -typedef struct { - char *name; - char *signature; - void *fnPtr; -} JNINativeMethod; - -/* - * JNI Native Method Interface. - */ - -struct JNINativeInterface_; - -struct JNIEnv_; - -#ifdef __cplusplus -typedef JNIEnv_ JNIEnv; -#else -typedef const struct JNINativeInterface_ *JNIEnv; -#endif - -/* - * JNI Invocation Interface. - */ - -struct JNIInvokeInterface_; - -struct JavaVM_; - -#ifdef __cplusplus -typedef JavaVM_ JavaVM; -#else -typedef const struct JNIInvokeInterface_ *JavaVM; -#endif - -struct JNINativeInterface_ { - void *reserved0; - void *reserved1; - void *reserved2; - - void *reserved3; - jint (JNICALL *GetVersion)(JNIEnv *env); - - jclass (JNICALL *DefineClass) - (JNIEnv *env, const char *name, jobject loader, const jbyte *buf, - jsize len); - jclass (JNICALL *FindClass) - (JNIEnv *env, const char *name); - - jmethodID (JNICALL *FromReflectedMethod) - (JNIEnv *env, jobject method); - jfieldID (JNICALL *FromReflectedField) - (JNIEnv *env, jobject field); - - jobject (JNICALL *ToReflectedMethod) - (JNIEnv *env, jclass cls, jmethodID methodID, jboolean isStatic); - - jclass (JNICALL *GetSuperclass) - (JNIEnv *env, jclass sub); - jboolean (JNICALL *IsAssignableFrom) - (JNIEnv *env, jclass sub, jclass sup); - - jobject (JNICALL *ToReflectedField) - (JNIEnv *env, jclass cls, jfieldID fieldID, jboolean isStatic); - - jint (JNICALL *Throw) - (JNIEnv *env, jthrowable obj); - jint (JNICALL *ThrowNew) - (JNIEnv *env, jclass clazz, const char *msg); - jthrowable (JNICALL *ExceptionOccurred) - (JNIEnv *env); - void (JNICALL *ExceptionDescribe) - (JNIEnv *env); - void (JNICALL *ExceptionClear) - (JNIEnv *env); - void (JNICALL *FatalError) - (JNIEnv *env, const char *msg); - - jint (JNICALL *PushLocalFrame) - (JNIEnv *env, jint capacity); - jobject (JNICALL *PopLocalFrame) - (JNIEnv *env, jobject result); - - jobject (JNICALL *NewGlobalRef) - (JNIEnv *env, jobject lobj); - void (JNICALL *DeleteGlobalRef) - (JNIEnv *env, jobject gref); - void (JNICALL *DeleteLocalRef) - (JNIEnv *env, jobject obj); - jboolean (JNICALL *IsSameObject) - (JNIEnv *env, jobject obj1, jobject obj2); - jobject (JNICALL *NewLocalRef) - (JNIEnv *env, jobject ref); - jint (JNICALL *EnsureLocalCapacity) - (JNIEnv *env, jint capacity); - - jobject (JNICALL *AllocObject) - (JNIEnv *env, jclass clazz); - jobject (JNICALL *NewObject) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jobject (JNICALL *NewObjectV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jobject (JNICALL *NewObjectA) - (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - - jclass (JNICALL *GetObjectClass) - (JNIEnv *env, jobject obj); - jboolean (JNICALL *IsInstanceOf) - (JNIEnv *env, jobject obj, jclass clazz); - - jmethodID (JNICALL *GetMethodID) - (JNIEnv *env, jclass clazz, const char *name, const char *sig); - - jobject (JNICALL *CallObjectMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jobject (JNICALL *CallObjectMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jobject (JNICALL *CallObjectMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args); - - jboolean (JNICALL *CallBooleanMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jboolean (JNICALL *CallBooleanMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jboolean (JNICALL *CallBooleanMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args); - - jbyte (JNICALL *CallByteMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jbyte (JNICALL *CallByteMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jbyte (JNICALL *CallByteMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - - jchar (JNICALL *CallCharMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jchar (JNICALL *CallCharMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jchar (JNICALL *CallCharMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - - jshort (JNICALL *CallShortMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jshort (JNICALL *CallShortMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jshort (JNICALL *CallShortMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - - jint (JNICALL *CallIntMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jint (JNICALL *CallIntMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jint (JNICALL *CallIntMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - - jlong (JNICALL *CallLongMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jlong (JNICALL *CallLongMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jlong (JNICALL *CallLongMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - - jfloat (JNICALL *CallFloatMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jfloat (JNICALL *CallFloatMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jfloat (JNICALL *CallFloatMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - - jdouble (JNICALL *CallDoubleMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jdouble (JNICALL *CallDoubleMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jdouble (JNICALL *CallDoubleMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - - void (JNICALL *CallVoidMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - void (JNICALL *CallVoidMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - void (JNICALL *CallVoidMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args); - - jobject (JNICALL *CallNonvirtualObjectMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jobject (JNICALL *CallNonvirtualObjectMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jobject (JNICALL *CallNonvirtualObjectMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - jvalue * args); - - jboolean (JNICALL *CallNonvirtualBooleanMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jboolean (JNICALL *CallNonvirtualBooleanMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jboolean (JNICALL *CallNonvirtualBooleanMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - jvalue * args); - - jbyte (JNICALL *CallNonvirtualByteMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jbyte (JNICALL *CallNonvirtualByteMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jbyte (JNICALL *CallNonvirtualByteMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - jvalue *args); - - jchar (JNICALL *CallNonvirtualCharMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jchar (JNICALL *CallNonvirtualCharMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jchar (JNICALL *CallNonvirtualCharMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - jvalue *args); - - jshort (JNICALL *CallNonvirtualShortMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jshort (JNICALL *CallNonvirtualShortMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jshort (JNICALL *CallNonvirtualShortMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - jvalue *args); - - jint (JNICALL *CallNonvirtualIntMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jint (JNICALL *CallNonvirtualIntMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jint (JNICALL *CallNonvirtualIntMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - jvalue *args); - - jlong (JNICALL *CallNonvirtualLongMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jlong (JNICALL *CallNonvirtualLongMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jlong (JNICALL *CallNonvirtualLongMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - jvalue *args); - - jfloat (JNICALL *CallNonvirtualFloatMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jfloat (JNICALL *CallNonvirtualFloatMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jfloat (JNICALL *CallNonvirtualFloatMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - jvalue *args); - - jdouble (JNICALL *CallNonvirtualDoubleMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jdouble (JNICALL *CallNonvirtualDoubleMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jdouble (JNICALL *CallNonvirtualDoubleMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - jvalue *args); - - void (JNICALL *CallNonvirtualVoidMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - void (JNICALL *CallNonvirtualVoidMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - void (JNICALL *CallNonvirtualVoidMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - jvalue * args); - - jfieldID (JNICALL *GetFieldID) - (JNIEnv *env, jclass clazz, const char *name, const char *sig); - - jobject (JNICALL *GetObjectField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jboolean (JNICALL *GetBooleanField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jbyte (JNICALL *GetByteField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jchar (JNICALL *GetCharField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jshort (JNICALL *GetShortField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jint (JNICALL *GetIntField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jlong (JNICALL *GetLongField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jfloat (JNICALL *GetFloatField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jdouble (JNICALL *GetDoubleField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - - void (JNICALL *SetObjectField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jobject val); - void (JNICALL *SetBooleanField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jboolean val); - void (JNICALL *SetByteField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jbyte val); - void (JNICALL *SetCharField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jchar val); - void (JNICALL *SetShortField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jshort val); - void (JNICALL *SetIntField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jint val); - void (JNICALL *SetLongField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jlong val); - void (JNICALL *SetFloatField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jfloat val); - void (JNICALL *SetDoubleField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jdouble val); - - jmethodID (JNICALL *GetStaticMethodID) - (JNIEnv *env, jclass clazz, const char *name, const char *sig); - - jobject (JNICALL *CallStaticObjectMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jobject (JNICALL *CallStaticObjectMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jobject (JNICALL *CallStaticObjectMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - - jboolean (JNICALL *CallStaticBooleanMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jboolean (JNICALL *CallStaticBooleanMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jboolean (JNICALL *CallStaticBooleanMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - - jbyte (JNICALL *CallStaticByteMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jbyte (JNICALL *CallStaticByteMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jbyte (JNICALL *CallStaticByteMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - - jchar (JNICALL *CallStaticCharMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jchar (JNICALL *CallStaticCharMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jchar (JNICALL *CallStaticCharMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - - jshort (JNICALL *CallStaticShortMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jshort (JNICALL *CallStaticShortMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jshort (JNICALL *CallStaticShortMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - - jint (JNICALL *CallStaticIntMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jint (JNICALL *CallStaticIntMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jint (JNICALL *CallStaticIntMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - - jlong (JNICALL *CallStaticLongMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jlong (JNICALL *CallStaticLongMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jlong (JNICALL *CallStaticLongMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - - jfloat (JNICALL *CallStaticFloatMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jfloat (JNICALL *CallStaticFloatMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jfloat (JNICALL *CallStaticFloatMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - - jdouble (JNICALL *CallStaticDoubleMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jdouble (JNICALL *CallStaticDoubleMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jdouble (JNICALL *CallStaticDoubleMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - - void (JNICALL *CallStaticVoidMethod) - (JNIEnv *env, jclass cls, jmethodID methodID, ...); - void (JNICALL *CallStaticVoidMethodV) - (JNIEnv *env, jclass cls, jmethodID methodID, va_list args); - void (JNICALL *CallStaticVoidMethodA) - (JNIEnv *env, jclass cls, jmethodID methodID, jvalue * args); - - jfieldID (JNICALL *GetStaticFieldID) - (JNIEnv *env, jclass clazz, const char *name, const char *sig); - jobject (JNICALL *GetStaticObjectField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jboolean (JNICALL *GetStaticBooleanField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jbyte (JNICALL *GetStaticByteField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jchar (JNICALL *GetStaticCharField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jshort (JNICALL *GetStaticShortField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jint (JNICALL *GetStaticIntField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jlong (JNICALL *GetStaticLongField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jfloat (JNICALL *GetStaticFloatField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jdouble (JNICALL *GetStaticDoubleField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - - void (JNICALL *SetStaticObjectField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jobject value); - void (JNICALL *SetStaticBooleanField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jboolean value); - void (JNICALL *SetStaticByteField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jbyte value); - void (JNICALL *SetStaticCharField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jchar value); - void (JNICALL *SetStaticShortField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jshort value); - void (JNICALL *SetStaticIntField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jint value); - void (JNICALL *SetStaticLongField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jlong value); - void (JNICALL *SetStaticFloatField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jfloat value); - void (JNICALL *SetStaticDoubleField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jdouble value); - - jstring (JNICALL *NewString) - (JNIEnv *env, const jchar *unicode, jsize len); - jsize (JNICALL *GetStringLength) - (JNIEnv *env, jstring str); - const jchar *(JNICALL *GetStringChars) - (JNIEnv *env, jstring str, jboolean *isCopy); - void (JNICALL *ReleaseStringChars) - (JNIEnv *env, jstring str, const jchar *chars); - - jstring (JNICALL *NewStringUTF) - (JNIEnv *env, const char *utf); - jsize (JNICALL *GetStringUTFLength) - (JNIEnv *env, jstring str); - const char* (JNICALL *GetStringUTFChars) - (JNIEnv *env, jstring str, jboolean *isCopy); - void (JNICALL *ReleaseStringUTFChars) - (JNIEnv *env, jstring str, const char* chars); - - - jsize (JNICALL *GetArrayLength) - (JNIEnv *env, jarray array); - - jobjectArray (JNICALL *NewObjectArray) - (JNIEnv *env, jsize len, jclass clazz, jobject init); - jobject (JNICALL *GetObjectArrayElement) - (JNIEnv *env, jobjectArray array, jsize index); - void (JNICALL *SetObjectArrayElement) - (JNIEnv *env, jobjectArray array, jsize index, jobject val); - - jbooleanArray (JNICALL *NewBooleanArray) - (JNIEnv *env, jsize len); - jbyteArray (JNICALL *NewByteArray) - (JNIEnv *env, jsize len); - jcharArray (JNICALL *NewCharArray) - (JNIEnv *env, jsize len); - jshortArray (JNICALL *NewShortArray) - (JNIEnv *env, jsize len); - jintArray (JNICALL *NewIntArray) - (JNIEnv *env, jsize len); - jlongArray (JNICALL *NewLongArray) - (JNIEnv *env, jsize len); - jfloatArray (JNICALL *NewFloatArray) - (JNIEnv *env, jsize len); - jdoubleArray (JNICALL *NewDoubleArray) - (JNIEnv *env, jsize len); - - jboolean * (JNICALL *GetBooleanArrayElements) - (JNIEnv *env, jbooleanArray array, jboolean *isCopy); - jbyte * (JNICALL *GetByteArrayElements) - (JNIEnv *env, jbyteArray array, jboolean *isCopy); - jchar * (JNICALL *GetCharArrayElements) - (JNIEnv *env, jcharArray array, jboolean *isCopy); - jshort * (JNICALL *GetShortArrayElements) - (JNIEnv *env, jshortArray array, jboolean *isCopy); - jint * (JNICALL *GetIntArrayElements) - (JNIEnv *env, jintArray array, jboolean *isCopy); - jlong * (JNICALL *GetLongArrayElements) - (JNIEnv *env, jlongArray array, jboolean *isCopy); - jfloat * (JNICALL *GetFloatArrayElements) - (JNIEnv *env, jfloatArray array, jboolean *isCopy); - jdouble * (JNICALL *GetDoubleArrayElements) - (JNIEnv *env, jdoubleArray array, jboolean *isCopy); - - void (JNICALL *ReleaseBooleanArrayElements) - (JNIEnv *env, jbooleanArray array, jboolean *elems, jint mode); - void (JNICALL *ReleaseByteArrayElements) - (JNIEnv *env, jbyteArray array, jbyte *elems, jint mode); - void (JNICALL *ReleaseCharArrayElements) - (JNIEnv *env, jcharArray array, jchar *elems, jint mode); - void (JNICALL *ReleaseShortArrayElements) - (JNIEnv *env, jshortArray array, jshort *elems, jint mode); - void (JNICALL *ReleaseIntArrayElements) - (JNIEnv *env, jintArray array, jint *elems, jint mode); - void (JNICALL *ReleaseLongArrayElements) - (JNIEnv *env, jlongArray array, jlong *elems, jint mode); - void (JNICALL *ReleaseFloatArrayElements) - (JNIEnv *env, jfloatArray array, jfloat *elems, jint mode); - void (JNICALL *ReleaseDoubleArrayElements) - (JNIEnv *env, jdoubleArray array, jdouble *elems, jint mode); - - void (JNICALL *GetBooleanArrayRegion) - (JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf); - void (JNICALL *GetByteArrayRegion) - (JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf); - void (JNICALL *GetCharArrayRegion) - (JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf); - void (JNICALL *GetShortArrayRegion) - (JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf); - void (JNICALL *GetIntArrayRegion) - (JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf); - void (JNICALL *GetLongArrayRegion) - (JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf); - void (JNICALL *GetFloatArrayRegion) - (JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf); - void (JNICALL *GetDoubleArrayRegion) - (JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf); - - void (JNICALL *SetBooleanArrayRegion) - (JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf); - void (JNICALL *SetByteArrayRegion) - (JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf); - void (JNICALL *SetCharArrayRegion) - (JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf); - void (JNICALL *SetShortArrayRegion) - (JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf); - void (JNICALL *SetIntArrayRegion) - (JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf); - void (JNICALL *SetLongArrayRegion) - (JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf); - void (JNICALL *SetFloatArrayRegion) - (JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf); - void (JNICALL *SetDoubleArrayRegion) - (JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf); - - jint (JNICALL *RegisterNatives) - (JNIEnv *env, jclass clazz, const JNINativeMethod *methods, - jint nMethods); - jint (JNICALL *UnregisterNatives) - (JNIEnv *env, jclass clazz); - - jint (JNICALL *MonitorEnter) - (JNIEnv *env, jobject obj); - jint (JNICALL *MonitorExit) - (JNIEnv *env, jobject obj); - - jint (JNICALL *GetJavaVM) - (JNIEnv *env, JavaVM **vm); - - void (JNICALL *GetStringRegion) - (JNIEnv *env, jstring str, jsize start, jsize len, jchar *buf); - void (JNICALL *GetStringUTFRegion) - (JNIEnv *env, jstring str, jsize start, jsize len, char *buf); - - void * (JNICALL *GetPrimitiveArrayCritical) - (JNIEnv *env, jarray array, jboolean *isCopy); - void (JNICALL *ReleasePrimitiveArrayCritical) - (JNIEnv *env, jarray array, void *carray, jint mode); - - const jchar * (JNICALL *GetStringCritical) - (JNIEnv *env, jstring string, jboolean *isCopy); - void (JNICALL *ReleaseStringCritical) - (JNIEnv *env, jstring string, const jchar *cstring); - - jweak (JNICALL *NewWeakGlobalRef) - (JNIEnv *env, jobject obj); - void (JNICALL *DeleteWeakGlobalRef) - (JNIEnv *env, jweak ref); - - jboolean (JNICALL *ExceptionCheck) - (JNIEnv *env); - - jobject (JNICALL *NewDirectByteBuffer) - (JNIEnv* env, void* address, jlong capacity); - void* (JNICALL *GetDirectBufferAddress) - (JNIEnv* env, jobject buf); - jlong (JNICALL *GetDirectBufferCapacity) - (JNIEnv* env, jobject buf); -}; - -/* - * We use inlined functions for C++ so that programmers can write: - * - * env->FindClass("java/lang/String") - * - * in C++ rather than: - * - * (*env)->FindClass(env, "java/lang/String") - * - * in C. - */ - -struct JNIEnv_ { - const struct JNINativeInterface_ *functions; -#ifdef __cplusplus - - jint GetVersion() { - return functions->GetVersion(this); - } - jclass DefineClass(const char *name, jobject loader, const jbyte *buf, - jsize len) { - return functions->DefineClass(this, name, loader, buf, len); - } - jclass FindClass(const char *name) { - return functions->FindClass(this, name); - } - jmethodID FromReflectedMethod(jobject method) { - return functions->FromReflectedMethod(this,method); - } - jfieldID FromReflectedField(jobject field) { - return functions->FromReflectedField(this,field); - } - - jobject ToReflectedMethod(jclass cls, jmethodID methodID, jboolean isStatic) { - return functions->ToReflectedMethod(this, cls, methodID, isStatic); - } - - jclass GetSuperclass(jclass sub) { - return functions->GetSuperclass(this, sub); - } - jboolean IsAssignableFrom(jclass sub, jclass sup) { - return functions->IsAssignableFrom(this, sub, sup); - } - - jobject ToReflectedField(jclass cls, jfieldID fieldID, jboolean isStatic) { - return functions->ToReflectedField(this,cls,fieldID,isStatic); - } - - jint Throw(jthrowable obj) { - return functions->Throw(this, obj); - } - jint ThrowNew(jclass clazz, const char *msg) { - return functions->ThrowNew(this, clazz, msg); - } - jthrowable ExceptionOccurred() { - return functions->ExceptionOccurred(this); - } - void ExceptionDescribe() { - functions->ExceptionDescribe(this); - } - void ExceptionClear() { - functions->ExceptionClear(this); - } - void FatalError(const char *msg) { - functions->FatalError(this, msg); - } - - jint PushLocalFrame(jint capacity) { - return functions->PushLocalFrame(this,capacity); - } - jobject PopLocalFrame(jobject result) { - return functions->PopLocalFrame(this,result); - } - - jobject NewGlobalRef(jobject lobj) { - return functions->NewGlobalRef(this,lobj); - } - void DeleteGlobalRef(jobject gref) { - functions->DeleteGlobalRef(this,gref); - } - void DeleteLocalRef(jobject obj) { - functions->DeleteLocalRef(this, obj); - } - - jboolean IsSameObject(jobject obj1, jobject obj2) { - return functions->IsSameObject(this,obj1,obj2); - } - - jobject NewLocalRef(jobject ref) { - return functions->NewLocalRef(this,ref); - } - jint EnsureLocalCapacity(jint capacity) { - return functions->EnsureLocalCapacity(this,capacity); - } - - jobject AllocObject(jclass clazz) { - return functions->AllocObject(this,clazz); - } - jobject NewObject(jclass clazz, jmethodID methodID, ...) { - va_list args; - jobject result; - va_start(args, methodID); - result = functions->NewObjectV(this,clazz,methodID,args); - va_end(args); - return result; - } - jobject NewObjectV(jclass clazz, jmethodID methodID, - va_list args) { - return functions->NewObjectV(this,clazz,methodID,args); - } - jobject NewObjectA(jclass clazz, jmethodID methodID, - jvalue *args) { - return functions->NewObjectA(this,clazz,methodID,args); - } - - jclass GetObjectClass(jobject obj) { - return functions->GetObjectClass(this,obj); - } - jboolean IsInstanceOf(jobject obj, jclass clazz) { - return functions->IsInstanceOf(this,obj,clazz); - } - - jmethodID GetMethodID(jclass clazz, const char *name, - const char *sig) { - return functions->GetMethodID(this,clazz,name,sig); - } - - jobject CallObjectMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jobject result; - va_start(args,methodID); - result = functions->CallObjectMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jobject CallObjectMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallObjectMethodV(this,obj,methodID,args); - } - jobject CallObjectMethodA(jobject obj, jmethodID methodID, - jvalue * args) { - return functions->CallObjectMethodA(this,obj,methodID,args); - } - - jboolean CallBooleanMethod(jobject obj, - jmethodID methodID, ...) { - va_list args; - jboolean result; - va_start(args,methodID); - result = functions->CallBooleanMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jboolean CallBooleanMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallBooleanMethodV(this,obj,methodID,args); - } - jboolean CallBooleanMethodA(jobject obj, jmethodID methodID, - jvalue * args) { - return functions->CallBooleanMethodA(this,obj,methodID, args); - } - - jbyte CallByteMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jbyte result; - va_start(args,methodID); - result = functions->CallByteMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jbyte CallByteMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallByteMethodV(this,obj,methodID,args); - } - jbyte CallByteMethodA(jobject obj, jmethodID methodID, - jvalue * args) { - return functions->CallByteMethodA(this,obj,methodID,args); - } - - jchar CallCharMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jchar result; - va_start(args,methodID); - result = functions->CallCharMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jchar CallCharMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallCharMethodV(this,obj,methodID,args); - } - jchar CallCharMethodA(jobject obj, jmethodID methodID, - jvalue * args) { - return functions->CallCharMethodA(this,obj,methodID,args); - } - - jshort CallShortMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jshort result; - va_start(args,methodID); - result = functions->CallShortMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jshort CallShortMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallShortMethodV(this,obj,methodID,args); - } - jshort CallShortMethodA(jobject obj, jmethodID methodID, - jvalue * args) { - return functions->CallShortMethodA(this,obj,methodID,args); - } - - jint CallIntMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jint result; - va_start(args,methodID); - result = functions->CallIntMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jint CallIntMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallIntMethodV(this,obj,methodID,args); - } - jint CallIntMethodA(jobject obj, jmethodID methodID, - jvalue * args) { - return functions->CallIntMethodA(this,obj,methodID,args); - } - - jlong CallLongMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jlong result; - va_start(args,methodID); - result = functions->CallLongMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jlong CallLongMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallLongMethodV(this,obj,methodID,args); - } - jlong CallLongMethodA(jobject obj, jmethodID methodID, - jvalue * args) { - return functions->CallLongMethodA(this,obj,methodID,args); - } - - jfloat CallFloatMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jfloat result; - va_start(args,methodID); - result = functions->CallFloatMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jfloat CallFloatMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallFloatMethodV(this,obj,methodID,args); - } - jfloat CallFloatMethodA(jobject obj, jmethodID methodID, - jvalue * args) { - return functions->CallFloatMethodA(this,obj,methodID,args); - } - - jdouble CallDoubleMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jdouble result; - va_start(args,methodID); - result = functions->CallDoubleMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jdouble CallDoubleMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallDoubleMethodV(this,obj,methodID,args); - } - jdouble CallDoubleMethodA(jobject obj, jmethodID methodID, - jvalue * args) { - return functions->CallDoubleMethodA(this,obj,methodID,args); - } - - void CallVoidMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - va_start(args,methodID); - functions->CallVoidMethodV(this,obj,methodID,args); - va_end(args); - } - void CallVoidMethodV(jobject obj, jmethodID methodID, - va_list args) { - functions->CallVoidMethodV(this,obj,methodID,args); - } - void CallVoidMethodA(jobject obj, jmethodID methodID, - jvalue * args) { - functions->CallVoidMethodA(this,obj,methodID,args); - } - - jobject CallNonvirtualObjectMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jobject result; - va_start(args,methodID); - result = functions->CallNonvirtualObjectMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jobject CallNonvirtualObjectMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualObjectMethodV(this,obj,clazz, - methodID,args); - } - jobject CallNonvirtualObjectMethodA(jobject obj, jclass clazz, - jmethodID methodID, jvalue * args) { - return functions->CallNonvirtualObjectMethodA(this,obj,clazz, - methodID,args); - } - - jboolean CallNonvirtualBooleanMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jboolean result; - va_start(args,methodID); - result = functions->CallNonvirtualBooleanMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jboolean CallNonvirtualBooleanMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualBooleanMethodV(this,obj,clazz, - methodID,args); - } - jboolean CallNonvirtualBooleanMethodA(jobject obj, jclass clazz, - jmethodID methodID, jvalue * args) { - return functions->CallNonvirtualBooleanMethodA(this,obj,clazz, - methodID, args); - } - - jbyte CallNonvirtualByteMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jbyte result; - va_start(args,methodID); - result = functions->CallNonvirtualByteMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jbyte CallNonvirtualByteMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualByteMethodV(this,obj,clazz, - methodID,args); - } - jbyte CallNonvirtualByteMethodA(jobject obj, jclass clazz, - jmethodID methodID, jvalue * args) { - return functions->CallNonvirtualByteMethodA(this,obj,clazz, - methodID,args); - } - - jchar CallNonvirtualCharMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jchar result; - va_start(args,methodID); - result = functions->CallNonvirtualCharMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jchar CallNonvirtualCharMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualCharMethodV(this,obj,clazz, - methodID,args); - } - jchar CallNonvirtualCharMethodA(jobject obj, jclass clazz, - jmethodID methodID, jvalue * args) { - return functions->CallNonvirtualCharMethodA(this,obj,clazz, - methodID,args); - } - - jshort CallNonvirtualShortMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jshort result; - va_start(args,methodID); - result = functions->CallNonvirtualShortMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jshort CallNonvirtualShortMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualShortMethodV(this,obj,clazz, - methodID,args); - } - jshort CallNonvirtualShortMethodA(jobject obj, jclass clazz, - jmethodID methodID, jvalue * args) { - return functions->CallNonvirtualShortMethodA(this,obj,clazz, - methodID,args); - } - - jint CallNonvirtualIntMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jint result; - va_start(args,methodID); - result = functions->CallNonvirtualIntMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jint CallNonvirtualIntMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualIntMethodV(this,obj,clazz, - methodID,args); - } - jint CallNonvirtualIntMethodA(jobject obj, jclass clazz, - jmethodID methodID, jvalue * args) { - return functions->CallNonvirtualIntMethodA(this,obj,clazz, - methodID,args); - } - - jlong CallNonvirtualLongMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jlong result; - va_start(args,methodID); - result = functions->CallNonvirtualLongMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jlong CallNonvirtualLongMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualLongMethodV(this,obj,clazz, - methodID,args); - } - jlong CallNonvirtualLongMethodA(jobject obj, jclass clazz, - jmethodID methodID, jvalue * args) { - return functions->CallNonvirtualLongMethodA(this,obj,clazz, - methodID,args); - } - - jfloat CallNonvirtualFloatMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jfloat result; - va_start(args,methodID); - result = functions->CallNonvirtualFloatMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jfloat CallNonvirtualFloatMethodV(jobject obj, jclass clazz, - jmethodID methodID, - va_list args) { - return functions->CallNonvirtualFloatMethodV(this,obj,clazz, - methodID,args); - } - jfloat CallNonvirtualFloatMethodA(jobject obj, jclass clazz, - jmethodID methodID, - jvalue * args) { - return functions->CallNonvirtualFloatMethodA(this,obj,clazz, - methodID,args); - } - - jdouble CallNonvirtualDoubleMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jdouble result; - va_start(args,methodID); - result = functions->CallNonvirtualDoubleMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jdouble CallNonvirtualDoubleMethodV(jobject obj, jclass clazz, - jmethodID methodID, - va_list args) { - return functions->CallNonvirtualDoubleMethodV(this,obj,clazz, - methodID,args); - } - jdouble CallNonvirtualDoubleMethodA(jobject obj, jclass clazz, - jmethodID methodID, - jvalue * args) { - return functions->CallNonvirtualDoubleMethodA(this,obj,clazz, - methodID,args); - } - - void CallNonvirtualVoidMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - va_start(args,methodID); - functions->CallNonvirtualVoidMethodV(this,obj,clazz,methodID,args); - va_end(args); - } - void CallNonvirtualVoidMethodV(jobject obj, jclass clazz, - jmethodID methodID, - va_list args) { - functions->CallNonvirtualVoidMethodV(this,obj,clazz,methodID,args); - } - void CallNonvirtualVoidMethodA(jobject obj, jclass clazz, - jmethodID methodID, - jvalue * args) { - functions->CallNonvirtualVoidMethodA(this,obj,clazz,methodID,args); - } - - jfieldID GetFieldID(jclass clazz, const char *name, - const char *sig) { - return functions->GetFieldID(this,clazz,name,sig); - } - - jobject GetObjectField(jobject obj, jfieldID fieldID) { - return functions->GetObjectField(this,obj,fieldID); - } - jboolean GetBooleanField(jobject obj, jfieldID fieldID) { - return functions->GetBooleanField(this,obj,fieldID); - } - jbyte GetByteField(jobject obj, jfieldID fieldID) { - return functions->GetByteField(this,obj,fieldID); - } - jchar GetCharField(jobject obj, jfieldID fieldID) { - return functions->GetCharField(this,obj,fieldID); - } - jshort GetShortField(jobject obj, jfieldID fieldID) { - return functions->GetShortField(this,obj,fieldID); - } - jint GetIntField(jobject obj, jfieldID fieldID) { - return functions->GetIntField(this,obj,fieldID); - } - jlong GetLongField(jobject obj, jfieldID fieldID) { - return functions->GetLongField(this,obj,fieldID); - } - jfloat GetFloatField(jobject obj, jfieldID fieldID) { - return functions->GetFloatField(this,obj,fieldID); - } - jdouble GetDoubleField(jobject obj, jfieldID fieldID) { - return functions->GetDoubleField(this,obj,fieldID); - } - - void SetObjectField(jobject obj, jfieldID fieldID, jobject val) { - functions->SetObjectField(this,obj,fieldID,val); - } - void SetBooleanField(jobject obj, jfieldID fieldID, - jboolean val) { - functions->SetBooleanField(this,obj,fieldID,val); - } - void SetByteField(jobject obj, jfieldID fieldID, - jbyte val) { - functions->SetByteField(this,obj,fieldID,val); - } - void SetCharField(jobject obj, jfieldID fieldID, - jchar val) { - functions->SetCharField(this,obj,fieldID,val); - } - void SetShortField(jobject obj, jfieldID fieldID, - jshort val) { - functions->SetShortField(this,obj,fieldID,val); - } - void SetIntField(jobject obj, jfieldID fieldID, - jint val) { - functions->SetIntField(this,obj,fieldID,val); - } - void SetLongField(jobject obj, jfieldID fieldID, - jlong val) { - functions->SetLongField(this,obj,fieldID,val); - } - void SetFloatField(jobject obj, jfieldID fieldID, - jfloat val) { - functions->SetFloatField(this,obj,fieldID,val); - } - void SetDoubleField(jobject obj, jfieldID fieldID, - jdouble val) { - functions->SetDoubleField(this,obj,fieldID,val); - } - - jmethodID GetStaticMethodID(jclass clazz, const char *name, - const char *sig) { - return functions->GetStaticMethodID(this,clazz,name,sig); - } - - jobject CallStaticObjectMethod(jclass clazz, jmethodID methodID, - ...) { - va_list args; - jobject result; - va_start(args,methodID); - result = functions->CallStaticObjectMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jobject CallStaticObjectMethodV(jclass clazz, jmethodID methodID, - va_list args) { - return functions->CallStaticObjectMethodV(this,clazz,methodID,args); - } - jobject CallStaticObjectMethodA(jclass clazz, jmethodID methodID, - jvalue *args) { - return functions->CallStaticObjectMethodA(this,clazz,methodID,args); - } - - jboolean CallStaticBooleanMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jboolean result; - va_start(args,methodID); - result = functions->CallStaticBooleanMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jboolean CallStaticBooleanMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticBooleanMethodV(this,clazz,methodID,args); - } - jboolean CallStaticBooleanMethodA(jclass clazz, - jmethodID methodID, jvalue *args) { - return functions->CallStaticBooleanMethodA(this,clazz,methodID,args); - } - - jbyte CallStaticByteMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jbyte result; - va_start(args,methodID); - result = functions->CallStaticByteMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jbyte CallStaticByteMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticByteMethodV(this,clazz,methodID,args); - } - jbyte CallStaticByteMethodA(jclass clazz, - jmethodID methodID, jvalue *args) { - return functions->CallStaticByteMethodA(this,clazz,methodID,args); - } - - jchar CallStaticCharMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jchar result; - va_start(args,methodID); - result = functions->CallStaticCharMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jchar CallStaticCharMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticCharMethodV(this,clazz,methodID,args); - } - jchar CallStaticCharMethodA(jclass clazz, - jmethodID methodID, jvalue *args) { - return functions->CallStaticCharMethodA(this,clazz,methodID,args); - } - - jshort CallStaticShortMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jshort result; - va_start(args,methodID); - result = functions->CallStaticShortMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jshort CallStaticShortMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticShortMethodV(this,clazz,methodID,args); - } - jshort CallStaticShortMethodA(jclass clazz, - jmethodID methodID, jvalue *args) { - return functions->CallStaticShortMethodA(this,clazz,methodID,args); - } - - jint CallStaticIntMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jint result; - va_start(args,methodID); - result = functions->CallStaticIntMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jint CallStaticIntMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticIntMethodV(this,clazz,methodID,args); - } - jint CallStaticIntMethodA(jclass clazz, - jmethodID methodID, jvalue *args) { - return functions->CallStaticIntMethodA(this,clazz,methodID,args); - } - - jlong CallStaticLongMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jlong result; - va_start(args,methodID); - result = functions->CallStaticLongMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jlong CallStaticLongMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticLongMethodV(this,clazz,methodID,args); - } - jlong CallStaticLongMethodA(jclass clazz, - jmethodID methodID, jvalue *args) { - return functions->CallStaticLongMethodA(this,clazz,methodID,args); - } - - jfloat CallStaticFloatMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jfloat result; - va_start(args,methodID); - result = functions->CallStaticFloatMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jfloat CallStaticFloatMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticFloatMethodV(this,clazz,methodID,args); - } - jfloat CallStaticFloatMethodA(jclass clazz, - jmethodID methodID, jvalue *args) { - return functions->CallStaticFloatMethodA(this,clazz,methodID,args); - } - - jdouble CallStaticDoubleMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jdouble result; - va_start(args,methodID); - result = functions->CallStaticDoubleMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jdouble CallStaticDoubleMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticDoubleMethodV(this,clazz,methodID,args); - } - jdouble CallStaticDoubleMethodA(jclass clazz, - jmethodID methodID, jvalue *args) { - return functions->CallStaticDoubleMethodA(this,clazz,methodID,args); - } - - void CallStaticVoidMethod(jclass cls, jmethodID methodID, ...) { - va_list args; - va_start(args,methodID); - functions->CallStaticVoidMethodV(this,cls,methodID,args); - va_end(args); - } - void CallStaticVoidMethodV(jclass cls, jmethodID methodID, - va_list args) { - functions->CallStaticVoidMethodV(this,cls,methodID,args); - } - void CallStaticVoidMethodA(jclass cls, jmethodID methodID, - jvalue * args) { - functions->CallStaticVoidMethodA(this,cls,methodID,args); - } - - jfieldID GetStaticFieldID(jclass clazz, const char *name, - const char *sig) { - return functions->GetStaticFieldID(this,clazz,name,sig); - } - jobject GetStaticObjectField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticObjectField(this,clazz,fieldID); - } - jboolean GetStaticBooleanField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticBooleanField(this,clazz,fieldID); - } - jbyte GetStaticByteField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticByteField(this,clazz,fieldID); - } - jchar GetStaticCharField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticCharField(this,clazz,fieldID); - } - jshort GetStaticShortField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticShortField(this,clazz,fieldID); - } - jint GetStaticIntField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticIntField(this,clazz,fieldID); - } - jlong GetStaticLongField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticLongField(this,clazz,fieldID); - } - jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticFloatField(this,clazz,fieldID); - } - jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticDoubleField(this,clazz,fieldID); - } - - void SetStaticObjectField(jclass clazz, jfieldID fieldID, - jobject value) { - functions->SetStaticObjectField(this,clazz,fieldID,value); - } - void SetStaticBooleanField(jclass clazz, jfieldID fieldID, - jboolean value) { - functions->SetStaticBooleanField(this,clazz,fieldID,value); - } - void SetStaticByteField(jclass clazz, jfieldID fieldID, - jbyte value) { - functions->SetStaticByteField(this,clazz,fieldID,value); - } - void SetStaticCharField(jclass clazz, jfieldID fieldID, - jchar value) { - functions->SetStaticCharField(this,clazz,fieldID,value); - } - void SetStaticShortField(jclass clazz, jfieldID fieldID, - jshort value) { - functions->SetStaticShortField(this,clazz,fieldID,value); - } - void SetStaticIntField(jclass clazz, jfieldID fieldID, - jint value) { - functions->SetStaticIntField(this,clazz,fieldID,value); - } - void SetStaticLongField(jclass clazz, jfieldID fieldID, - jlong value) { - functions->SetStaticLongField(this,clazz,fieldID,value); - } - void SetStaticFloatField(jclass clazz, jfieldID fieldID, - jfloat value) { - functions->SetStaticFloatField(this,clazz,fieldID,value); - } - void SetStaticDoubleField(jclass clazz, jfieldID fieldID, - jdouble value) { - functions->SetStaticDoubleField(this,clazz,fieldID,value); - } - - jstring NewString(const jchar *unicode, jsize len) { - return functions->NewString(this,unicode,len); - } - jsize GetStringLength(jstring str) { - return functions->GetStringLength(this,str); - } - const jchar *GetStringChars(jstring str, jboolean *isCopy) { - return functions->GetStringChars(this,str,isCopy); - } - void ReleaseStringChars(jstring str, const jchar *chars) { - functions->ReleaseStringChars(this,str,chars); - } - - jstring NewStringUTF(const char *utf) { - return functions->NewStringUTF(this,utf); - } - jsize GetStringUTFLength(jstring str) { - return functions->GetStringUTFLength(this,str); - } - const char* GetStringUTFChars(jstring str, jboolean *isCopy) { - return functions->GetStringUTFChars(this,str,isCopy); - } - void ReleaseStringUTFChars(jstring str, const char* chars) { - functions->ReleaseStringUTFChars(this,str,chars); - } - - jsize GetArrayLength(jarray array) { - return functions->GetArrayLength(this,array); - } - - jobjectArray NewObjectArray(jsize len, jclass clazz, - jobject init) { - return functions->NewObjectArray(this,len,clazz,init); - } - jobject GetObjectArrayElement(jobjectArray array, jsize index) { - return functions->GetObjectArrayElement(this,array,index); - } - void SetObjectArrayElement(jobjectArray array, jsize index, - jobject val) { - functions->SetObjectArrayElement(this,array,index,val); - } - - jbooleanArray NewBooleanArray(jsize len) { - return functions->NewBooleanArray(this,len); - } - jbyteArray NewByteArray(jsize len) { - return functions->NewByteArray(this,len); - } - jcharArray NewCharArray(jsize len) { - return functions->NewCharArray(this,len); - } - jshortArray NewShortArray(jsize len) { - return functions->NewShortArray(this,len); - } - jintArray NewIntArray(jsize len) { - return functions->NewIntArray(this,len); - } - jlongArray NewLongArray(jsize len) { - return functions->NewLongArray(this,len); - } - jfloatArray NewFloatArray(jsize len) { - return functions->NewFloatArray(this,len); - } - jdoubleArray NewDoubleArray(jsize len) { - return functions->NewDoubleArray(this,len); - } - - jboolean * GetBooleanArrayElements(jbooleanArray array, jboolean *isCopy) { - return functions->GetBooleanArrayElements(this,array,isCopy); - } - jbyte * GetByteArrayElements(jbyteArray array, jboolean *isCopy) { - return functions->GetByteArrayElements(this,array,isCopy); - } - jchar * GetCharArrayElements(jcharArray array, jboolean *isCopy) { - return functions->GetCharArrayElements(this,array,isCopy); - } - jshort * GetShortArrayElements(jshortArray array, jboolean *isCopy) { - return functions->GetShortArrayElements(this,array,isCopy); - } - jint * GetIntArrayElements(jintArray array, jboolean *isCopy) { - return functions->GetIntArrayElements(this,array,isCopy); - } - jlong * GetLongArrayElements(jlongArray array, jboolean *isCopy) { - return functions->GetLongArrayElements(this,array,isCopy); - } - jfloat * GetFloatArrayElements(jfloatArray array, jboolean *isCopy) { - return functions->GetFloatArrayElements(this,array,isCopy); - } - jdouble * GetDoubleArrayElements(jdoubleArray array, jboolean *isCopy) { - return functions->GetDoubleArrayElements(this,array,isCopy); - } - - void ReleaseBooleanArrayElements(jbooleanArray array, - jboolean *elems, - jint mode) { - functions->ReleaseBooleanArrayElements(this,array,elems,mode); - } - void ReleaseByteArrayElements(jbyteArray array, - jbyte *elems, - jint mode) { - functions->ReleaseByteArrayElements(this,array,elems,mode); - } - void ReleaseCharArrayElements(jcharArray array, - jchar *elems, - jint mode) { - functions->ReleaseCharArrayElements(this,array,elems,mode); - } - void ReleaseShortArrayElements(jshortArray array, - jshort *elems, - jint mode) { - functions->ReleaseShortArrayElements(this,array,elems,mode); - } - void ReleaseIntArrayElements(jintArray array, - jint *elems, - jint mode) { - functions->ReleaseIntArrayElements(this,array,elems,mode); - } - void ReleaseLongArrayElements(jlongArray array, - jlong *elems, - jint mode) { - functions->ReleaseLongArrayElements(this,array,elems,mode); - } - void ReleaseFloatArrayElements(jfloatArray array, - jfloat *elems, - jint mode) { - functions->ReleaseFloatArrayElements(this,array,elems,mode); - } - void ReleaseDoubleArrayElements(jdoubleArray array, - jdouble *elems, - jint mode) { - functions->ReleaseDoubleArrayElements(this,array,elems,mode); - } - - void GetBooleanArrayRegion(jbooleanArray array, - jsize start, jsize len, jboolean *buf) { - functions->GetBooleanArrayRegion(this,array,start,len,buf); - } - void GetByteArrayRegion(jbyteArray array, - jsize start, jsize len, jbyte *buf) { - functions->GetByteArrayRegion(this,array,start,len,buf); - } - void GetCharArrayRegion(jcharArray array, - jsize start, jsize len, jchar *buf) { - functions->GetCharArrayRegion(this,array,start,len,buf); - } - void GetShortArrayRegion(jshortArray array, - jsize start, jsize len, jshort *buf) { - functions->GetShortArrayRegion(this,array,start,len,buf); - } - void GetIntArrayRegion(jintArray array, - jsize start, jsize len, jint *buf) { - functions->GetIntArrayRegion(this,array,start,len,buf); - } - void GetLongArrayRegion(jlongArray array, - jsize start, jsize len, jlong *buf) { - functions->GetLongArrayRegion(this,array,start,len,buf); - } - void GetFloatArrayRegion(jfloatArray array, - jsize start, jsize len, jfloat *buf) { - functions->GetFloatArrayRegion(this,array,start,len,buf); - } - void GetDoubleArrayRegion(jdoubleArray array, - jsize start, jsize len, jdouble *buf) { - functions->GetDoubleArrayRegion(this,array,start,len,buf); - } - - void SetBooleanArrayRegion(jbooleanArray array, jsize start, jsize len, - jboolean *buf) { - functions->SetBooleanArrayRegion(this,array,start,len,buf); - } - void SetByteArrayRegion(jbyteArray array, jsize start, jsize len, - jbyte *buf) { - functions->SetByteArrayRegion(this,array,start,len,buf); - } - void SetCharArrayRegion(jcharArray array, jsize start, jsize len, - jchar *buf) { - functions->SetCharArrayRegion(this,array,start,len,buf); - } - void SetShortArrayRegion(jshortArray array, jsize start, jsize len, - jshort *buf) { - functions->SetShortArrayRegion(this,array,start,len,buf); - } - void SetIntArrayRegion(jintArray array, jsize start, jsize len, - jint *buf) { - functions->SetIntArrayRegion(this,array,start,len,buf); - } - void SetLongArrayRegion(jlongArray array, jsize start, jsize len, - jlong *buf) { - functions->SetLongArrayRegion(this,array,start,len,buf); - } - void SetFloatArrayRegion(jfloatArray array, jsize start, jsize len, - jfloat *buf) { - functions->SetFloatArrayRegion(this,array,start,len,buf); - } - void SetDoubleArrayRegion(jdoubleArray array, jsize start, jsize len, - jdouble *buf) { - functions->SetDoubleArrayRegion(this,array,start,len,buf); - } - - jint RegisterNatives(jclass clazz, const JNINativeMethod *methods, - jint nMethods) { - return functions->RegisterNatives(this,clazz,methods,nMethods); - } - jint UnregisterNatives(jclass clazz) { - return functions->UnregisterNatives(this,clazz); - } - - jint MonitorEnter(jobject obj) { - return functions->MonitorEnter(this,obj); - } - jint MonitorExit(jobject obj) { - return functions->MonitorExit(this,obj); - } - - jint GetJavaVM(JavaVM **vm) { - return functions->GetJavaVM(this,vm); - } - - void GetStringRegion(jstring str, jsize start, jsize len, jchar *buf) { - functions->GetStringRegion(this,str,start,len,buf); - } - void GetStringUTFRegion(jstring str, jsize start, jsize len, char *buf) { - functions->GetStringUTFRegion(this,str,start,len,buf); - } - - void * GetPrimitiveArrayCritical(jarray array, jboolean *isCopy) { - return functions->GetPrimitiveArrayCritical(this,array,isCopy); - } - void ReleasePrimitiveArrayCritical(jarray array, void *carray, jint mode) { - functions->ReleasePrimitiveArrayCritical(this,array,carray,mode); - } - - const jchar * GetStringCritical(jstring string, jboolean *isCopy) { - return functions->GetStringCritical(this,string,isCopy); - } - void ReleaseStringCritical(jstring string, const jchar *cstring) { - functions->ReleaseStringCritical(this,string,cstring); - } - - jweak NewWeakGlobalRef(jobject obj) { - return functions->NewWeakGlobalRef(this,obj); - } - void DeleteWeakGlobalRef(jweak ref) { - functions->DeleteWeakGlobalRef(this,ref); - } - - jboolean ExceptionCheck() { - return functions->ExceptionCheck(this); - } - - jobject NewDirectByteBuffer(void* address, jlong capacity) { - return functions->NewDirectByteBuffer(this, address, capacity); - } - void* GetDirectBufferAddress(jobject buf) { - return functions->GetDirectBufferAddress(this, buf); - } - jlong GetDirectBufferCapacity(jobject buf) { - return functions->GetDirectBufferCapacity(this, buf); - } - -#endif /* __cplusplus */ -}; - -typedef struct JavaVMOption { - char *optionString; - void *extraInfo; -} JavaVMOption; - -typedef struct JavaVMInitArgs { - jint version; - - jint nOptions; - JavaVMOption *options; - jboolean ignoreUnrecognized; -} JavaVMInitArgs; - -typedef struct JavaVMAttachArgs { - jint version; - - char *name; - jobject group; -} JavaVMAttachArgs; - -/* These structures will be VM-specific. */ - -typedef struct JDK1_1InitArgs { - jint version; - - char **properties; - jint checkSource; - jint nativeStackSize; - jint javaStackSize; - jint minHeapSize; - jint maxHeapSize; - jint verifyMode; - char *classpath; - - jint (JNICALL *vfprintf)(FILE *fp, const char *format, va_list args); - void (JNICALL *exit)(jint code); - void (JNICALL *abort)(void); - - jint enableClassGC; - jint enableVerboseGC; - jint disableAsyncGC; - jint verbose; - jboolean debugging; - jint debugPort; -} JDK1_1InitArgs; - -typedef struct JDK1_1AttachArgs { - void * __padding; /* C compilers don't allow empty structures. */ -} JDK1_1AttachArgs; - -#define JDK1_2 -#define JDK1_4 - -/* End VM-specific. */ - -struct JNIInvokeInterface_ { - void *reserved0; - void *reserved1; - void *reserved2; - - jint (JNICALL *DestroyJavaVM)(JavaVM *vm); - - jint (JNICALL *AttachCurrentThread)(JavaVM *vm, void **penv, void *args); - - jint (JNICALL *DetachCurrentThread)(JavaVM *vm); - - jint (JNICALL *GetEnv)(JavaVM *vm, void **penv, jint version); - - jint (JNICALL *AttachCurrentThreadAsDaemon)(JavaVM *vm, void **penv, void *args); -}; - -struct JavaVM_ { - const struct JNIInvokeInterface_ *functions; -#ifdef __cplusplus - - jint DestroyJavaVM() { - return functions->DestroyJavaVM(this); - } - jint AttachCurrentThread(void **penv, void *args) { - return functions->AttachCurrentThread(this, penv, args); - } - jint DetachCurrentThread() { - return functions->DetachCurrentThread(this); - } - - jint GetEnv(void **penv, jint version) { - return functions->GetEnv(this, penv, version); - } - jint AttachCurrentThreadAsDaemon(void **penv, void *args) { - return functions->AttachCurrentThreadAsDaemon(this, penv, args); - } -#endif -}; - -#ifdef _JNI_IMPLEMENTATION_ -#define _JNI_IMPORT_OR_EXPORT_ JNIEXPORT -#else -#define _JNI_IMPORT_OR_EXPORT_ JNIIMPORT -#endif -_JNI_IMPORT_OR_EXPORT_ jint JNICALL -JNI_GetDefaultJavaVMInitArgs(void *args); - -_JNI_IMPORT_OR_EXPORT_ jint JNICALL -JNI_CreateJavaVM(JavaVM **pvm, void **penv, void *args); - -_JNI_IMPORT_OR_EXPORT_ jint JNICALL -JNI_GetCreatedJavaVMs(JavaVM **, jsize, jsize *); - -/* Defined by native libraries. */ -JNIEXPORT jint JNICALL -JNI_OnLoad(JavaVM *vm, void *reserved); - -JNIEXPORT void JNICALL -JNI_OnUnload(JavaVM *vm, void *reserved); - -#define JNI_VERSION_1_1 0x00010001 -#define JNI_VERSION_1_2 0x00010002 -#define JNI_VERSION_1_4 0x00010004 - -#ifdef __cplusplus -} /* extern "C" */ -#endif /* __cplusplus */ - -#endif /* JNI_H */ diff --git a/modules/juce_browser_plugin_client/wrapper/npapi/jni_md.h b/modules/juce_browser_plugin_client/wrapper/npapi/jni_md.h deleted file mode 100644 index 61bf2f35..00000000 --- a/modules/juce_browser_plugin_client/wrapper/npapi/jni_md.h +++ /dev/null @@ -1,215 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- - * - * ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** - * - * - * This Original Code has been modified by IBM Corporation. - * Modifications made by IBM described herein are - * Copyright (c) International Business Machines - * Corporation, 2000 - * - * Modifications to Mozilla code or documentation - * identified per MPL Section 3.3 - * - * Date Modified by Description of modification - * 03/27/2000 IBM Corp. Set JNICALL to Optlink for - * use in OS2 - */ - -/******************************************************************************* - * Netscape version of jni_md.h -- depends on jri_md.h - ******************************************************************************/ - -#ifndef JNI_MD_H -#define JNI_MD_H - -#include "prtypes.h" /* needed for _declspec */ - -/******************************************************************************* - * WHAT'S UP WITH THIS FILE? - * - * This is where we define the mystical JNI_PUBLIC_API macro that works on all - * platforms. If you're running with Visual C++, Symantec C, or Borland's - * development environment on the PC, you're all set. Or if you're on the Mac - * with Metrowerks, Symantec or MPW with SC you're ok too. For UNIX it shouldn't - * matter. - - * Changes by sailesh on 9/26 - - * There are two symbols used in the declaration of the JNI functions - * and native code that uses the JNI: - * JNICALL - specifies the calling convention - * JNIEXPORT - specifies export status of the function - * - * The syntax to specify calling conventions is different in Win16 and - * Win32 - the brains at Micro$oft at work here. JavaSoft in their - * infinite wisdom cares for no platform other than Win32, and so they - * just define these two symbols as: - - #define JNIEXPORT __declspec(dllexport) - #define JNICALL __stdcall - - * We deal with this, in the way JRI defines the JRI_PUBLIC_API, by - * defining a macro called JNI_PUBLIC_API. Any of our developers who - * wish to use code for Win16 and Win32, _must_ use JNI_PUBLIC_API to - * be able to export functions properly. - - * Since we must also maintain compatibility with JavaSoft, we - * continue to define the symbol JNIEXPORT. However, use of this - * internally is deprecated, since it will cause a mess on Win16. - - * We _do not_ need a new symbol called JNICALL. Instead we - * redefine JNICALL in the same way JRI_CALLBACK was defined. - - ******************************************************************************/ - -/* DLL Entry modifiers... */ -/* Win32 */ -#if defined(XP_WIN) || defined(_WINDOWS) || defined(WIN32) || defined(_WIN32) -# include -# if defined(_MSC_VER) || defined(__GNUC__) -# if defined(WIN32) || defined(_WIN32) -# define JNI_PUBLIC_API(ResultType) _declspec(dllexport) ResultType __stdcall -# define JNI_PUBLIC_VAR(VarType) VarType -# define JNI_NATIVE_STUB(ResultType) _declspec(dllexport) ResultType -# define JNICALL __stdcall -# else /* !_WIN32 */ -# if defined(_WINDLL) -# define JNI_PUBLIC_API(ResultType) ResultType __cdecl __export __loadds -# define JNI_PUBLIC_VAR(VarType) VarType -# define JNI_NATIVE_STUB(ResultType) ResultType __cdecl __loadds -# define JNICALL __loadds -# else /* !WINDLL */ -# define JNI_PUBLIC_API(ResultType) ResultType __cdecl __export -# define JNI_PUBLIC_VAR(VarType) VarType -# define JNI_NATIVE_STUB(ResultType) ResultType __cdecl __export -# define JNICALL __export -# endif /* !WINDLL */ -# endif /* !_WIN32 */ -# elif defined(__BORLANDC__) -# if defined(WIN32) || defined(_WIN32) -# define JNI_PUBLIC_API(ResultType) __export ResultType -# define JNI_PUBLIC_VAR(VarType) VarType -# define JNI_NATIVE_STUB(ResultType) __export ResultType -# define JNICALL -# else /* !_WIN32 */ -# define JNI_PUBLIC_API(ResultType) ResultType _cdecl _export _loadds -# define JNI_PUBLIC_VAR(VarType) VarType -# define JNI_NATIVE_STUB(ResultType) ResultType _cdecl _loadds -# define JNICALL _loadds -# endif -# else -# error Unsupported PC development environment. -# endif -# ifndef IS_LITTLE_ENDIAN -# define IS_LITTLE_ENDIAN -# endif - /* This is the stuff inherited from JavaSoft .. */ -# define JNIEXPORT __declspec(dllexport) -# define JNIIMPORT __declspec(dllimport) - -/* OS/2 */ -#elif defined(XP_OS2) -# ifdef XP_OS2_VACPP -# define JNI_PUBLIC_API(ResultType) ResultType _System -# define JNI_PUBLIC_VAR(VarType) VarType -# define JNICALL _Optlink -# define JNIEXPORT -# define JNIIMPORT -# elif defined(__declspec) -# define JNI_PUBLIC_API(ResultType) __declspec(dllexport) ResultType -# define JNI_PUBLIC_VAR(VarType) VarType -# define JNI_NATIVE_STUB(ResultType) __declspec(dllexport) ResultType -# define JNICALL -# define JNIEXPORT -# define JNIIMPORT -# else -# define JNI_PUBLIC_API(ResultType) ResultType -# define JNI_PUBLIC_VAR(VarType) VarType -# define JNICALL -# define JNIEXPORT -# define JNIIMPORT -# endif -# ifndef IS_LITTLE_ENDIAN -# define IS_LITTLE_ENDIAN -# endif - -/* Mac */ -#elif macintosh || Macintosh || THINK_C -# if defined(__MWERKS__) /* Metrowerks */ -# if !__option(enumsalwaysint) -# error You need to define 'Enums Always Int' for your project. -# endif -# if defined(TARGET_CPU_68K) && !TARGET_RT_MAC_CFM -# if !__option(fourbyteints) -# error You need to define 'Struct Alignment: 68k' for your project. -# endif -# endif /* !GENERATINGCFM */ -# define JNI_PUBLIC_API(ResultType) __declspec(export) ResultType -# define JNI_PUBLIC_VAR(VarType) JNI_PUBLIC_API(VarType) -# define JNI_NATIVE_STUB(ResultType) JNI_PUBLIC_API(ResultType) -# elif defined(__SC__) /* Symantec */ -# error What are the Symantec defines? (warren@netscape.com) -# elif macintosh && applec /* MPW */ -# error Please upgrade to the latest MPW compiler (SC). -# else -# error Unsupported Mac development environment. -# endif -# define JNICALL - /* This is the stuff inherited from JavaSoft .. */ -# define JNIEXPORT -# define JNIIMPORT - -/* Unix or else */ -#else -# define JNI_PUBLIC_API(ResultType) ResultType -# define JNI_PUBLIC_VAR(VarType) VarType -# define JNI_NATIVE_STUB(ResultType) ResultType -# define JNICALL - /* This is the stuff inherited from JavaSoft .. */ -# define JNIEXPORT -# define JNIIMPORT -#endif - -#ifndef FAR /* for non-Win16 */ -#define FAR -#endif - -/* Get the rest of the stuff from jri_md.h */ -#include "jri_md.h" - -#endif /* JNI_MD_H */ diff --git a/modules/juce_browser_plugin_client/wrapper/npapi/jri.h b/modules/juce_browser_plugin_client/wrapper/npapi/jri.h deleted file mode 100644 index 7029a376..00000000 --- a/modules/juce_browser_plugin_client/wrapper/npapi/jri.h +++ /dev/null @@ -1,689 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/******************************************************************************* - * Java Runtime Interface - ******************************************************************************/ - -#ifndef JRI_H -#define JRI_H - -#include "jritypes.h" - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/******************************************************************************* - * JRIEnv - ******************************************************************************/ - -/* The type of the JRIEnv interface. */ -typedef struct JRIEnvInterface JRIEnvInterface; - -/* The type of a JRIEnv instance. */ -typedef const JRIEnvInterface* JRIEnv; - -/******************************************************************************* - * JRIEnv Operations - ******************************************************************************/ - -#define JRI_DefineClass(env, classLoader, buf, bufLen) \ - (((*(env))->DefineClass)(env, JRI_DefineClass_op, classLoader, buf, bufLen)) - -#define JRI_FindClass(env, name) \ - (((*(env))->FindClass)(env, JRI_FindClass_op, name)) - -#define JRI_Throw(env, obj) \ - (((*(env))->Throw)(env, JRI_Throw_op, obj)) - -#define JRI_ThrowNew(env, clazz, message) \ - (((*(env))->ThrowNew)(env, JRI_ThrowNew_op, clazz, message)) - -#define JRI_ExceptionOccurred(env) \ - (((*(env))->ExceptionOccurred)(env, JRI_ExceptionOccurred_op)) - -#define JRI_ExceptionDescribe(env) \ - (((*(env))->ExceptionDescribe)(env, JRI_ExceptionDescribe_op)) - -#define JRI_ExceptionClear(env) \ - (((*(env))->ExceptionClear)(env, JRI_ExceptionClear_op)) - -#define JRI_NewGlobalRef(env, ref) \ - (((*(env))->NewGlobalRef)(env, JRI_NewGlobalRef_op, ref)) - -#define JRI_DisposeGlobalRef(env, gref) \ - (((*(env))->DisposeGlobalRef)(env, JRI_DisposeGlobalRef_op, gref)) - -#define JRI_GetGlobalRef(env, gref) \ - (((*(env))->GetGlobalRef)(env, JRI_GetGlobalRef_op, gref)) - -#define JRI_SetGlobalRef(env, gref, ref) \ - (((*(env))->SetGlobalRef)(env, JRI_SetGlobalRef_op, gref, ref)) - -#define JRI_IsSameObject(env, a, b) \ - (((*(env))->IsSameObject)(env, JRI_IsSameObject_op, a, b)) - -#define JRI_NewObject(env) ((*(env))->NewObject) -#define JRI_NewObjectV(env, clazz, methodID, args) \ - (((*(env))->NewObjectV)(env, JRI_NewObject_op_va_list, clazz, methodID, args)) -#define JRI_NewObjectA(env, clazz, method, args) \ - (((*(env))->NewObjectA)(env, JRI_NewObject_op_array, clazz, methodID, args)) - -#define JRI_GetObjectClass(env, obj) \ - (((*(env))->GetObjectClass)(env, JRI_GetObjectClass_op, obj)) - -#define JRI_IsInstanceOf(env, obj, clazz) \ - (((*(env))->IsInstanceOf)(env, JRI_IsInstanceOf_op, obj, clazz)) - -#define JRI_GetMethodID(env, clazz, name, sig) \ - (((*(env))->GetMethodID)(env, JRI_GetMethodID_op, clazz, name, sig)) - -#define JRI_CallMethod(env) ((*(env))->CallMethod) -#define JRI_CallMethodV(env, obj, methodID, args) \ - (((*(env))->CallMethodV)(env, JRI_CallMethod_op_va_list, obj, methodID, args)) -#define JRI_CallMethodA(env, obj, methodID, args) \ - (((*(env))->CallMethodA)(env, JRI_CallMethod_op_array, obj, methodID, args)) - -#define JRI_CallMethodBoolean(env) ((*(env))->CallMethodBoolean) -#define JRI_CallMethodBooleanV(env, obj, methodID, args) \ - (((*(env))->CallMethodBooleanV)(env, JRI_CallMethodBoolean_op_va_list, obj, methodID, args)) -#define JRI_CallMethodBooleanA(env, obj, methodID, args) \ - (((*(env))->CallMethodBooleanA)(env, JRI_CallMethodBoolean_op_array, obj, methodID, args)) - -#define JRI_CallMethodByte(env) ((*(env))->CallMethodByte) -#define JRI_CallMethodByteV(env, obj, methodID, args) \ - (((*(env))->CallMethodByteV)(env, JRI_CallMethodByte_op_va_list, obj, methodID, args)) -#define JRI_CallMethodByteA(env, obj, methodID, args) \ - (((*(env))->CallMethodByteA)(env, JRI_CallMethodByte_op_array, obj, methodID, args)) - -#define JRI_CallMethodChar(env) ((*(env))->CallMethodChar) -#define JRI_CallMethodCharV(env, obj, methodID, args) \ - (((*(env))->CallMethodCharV)(env, JRI_CallMethodChar_op_va_list, obj, methodID, args)) -#define JRI_CallMethodCharA(env, obj, methodID, args) \ - (((*(env))->CallMethodCharA)(env, JRI_CallMethodChar_op_array, obj, methodID, args)) - -#define JRI_CallMethodShort(env) ((*(env))->CallMethodShort) -#define JRI_CallMethodShortV(env, obj, methodID, args) \ - (((*(env))->CallMethodShortV)(env, JRI_CallMethodShort_op_va_list, obj, methodID, args)) -#define JRI_CallMethodShortA(env, obj, methodID, args) \ - (((*(env))->CallMethodShortA)(env, JRI_CallMethodShort_op_array, obj, methodID, args)) - -#define JRI_CallMethodInt(env) ((*(env))->CallMethodInt) -#define JRI_CallMethodIntV(env, obj, methodID, args) \ - (((*(env))->CallMethodIntV)(env, JRI_CallMethodInt_op_va_list, obj, methodID, args)) -#define JRI_CallMethodIntA(env, obj, methodID, args) \ - (((*(env))->CallMethodIntA)(env, JRI_CallMethodInt_op_array, obj, methodID, args)) - -#define JRI_CallMethodLong(env) ((*(env))->CallMethodLong) -#define JRI_CallMethodLongV(env, obj, methodID, args) \ - (((*(env))->CallMethodLongV)(env, JRI_CallMethodLong_op_va_list, obj, methodID, args)) -#define JRI_CallMethodLongA(env, obj, methodID, args) \ - (((*(env))->CallMethodLongA)(env, JRI_CallMethodLong_op_array, obj, methodID, args)) - -#define JRI_CallMethodFloat(env) ((*(env))->CallMethodFloat) -#define JRI_CallMethodFloatV(env, obj, methodID, args) \ - (((*(env))->CallMethodFloatV)(env, JRI_CallMethodFloat_op_va_list, obj, methodID, args)) -#define JRI_CallMethodFloatA(env, obj, methodID, args) \ - (((*(env))->CallMethodFloatA)(env, JRI_CallMethodFloat_op_array, obj, methodID, args)) - -#define JRI_CallMethodDouble(env) ((*(env))->CallMethodDouble) -#define JRI_CallMethodDoubleV(env, obj, methodID, args) \ - (((*(env))->CallMethodDoubleV)(env, JRI_CallMethodDouble_op_va_list, obj, methodID, args)) -#define JRI_CallMethodDoubleA(env, obj, methodID, args) \ - (((*(env))->CallMethodDoubleA)(env, JRI_CallMethodDouble_op_array, obj, methodID, args)) - -#define JRI_GetFieldID(env, clazz, name, sig) \ - (((*(env))->GetFieldID)(env, JRI_GetFieldID_op, clazz, name, sig)) - -#define JRI_GetField(env, obj, fieldID) \ - (((*(env))->GetField)(env, JRI_GetField_op, obj, fieldID)) - -#define JRI_GetFieldBoolean(env, obj, fieldID) \ - (((*(env))->GetFieldBoolean)(env, JRI_GetFieldBoolean_op, obj, fieldID)) - -#define JRI_GetFieldByte(env, obj, fieldID) \ - (((*(env))->GetFieldByte)(env, JRI_GetFieldByte_op, obj, fieldID)) - -#define JRI_GetFieldChar(env, obj, fieldID) \ - (((*(env))->GetFieldChar)(env, JRI_GetFieldChar_op, obj, fieldID)) - -#define JRI_GetFieldShort(env, obj, fieldID) \ - (((*(env))->GetFieldShort)(env, JRI_GetFieldShort_op, obj, fieldID)) - -#define JRI_GetFieldInt(env, obj, fieldID) \ - (((*(env))->GetFieldInt)(env, JRI_GetFieldInt_op, obj, fieldID)) - -#define JRI_GetFieldLong(env, obj, fieldID) \ - (((*(env))->GetFieldLong)(env, JRI_GetFieldLong_op, obj, fieldID)) - -#define JRI_GetFieldFloat(env, obj, fieldID) \ - (((*(env))->GetFieldFloat)(env, JRI_GetFieldFloat_op, obj, fieldID)) - -#define JRI_GetFieldDouble(env, obj, fieldID) \ - (((*(env))->GetFieldDouble)(env, JRI_GetFieldDouble_op, obj, fieldID)) - -#define JRI_SetField(env, obj, fieldID, value) \ - (((*(env))->SetField)(env, JRI_SetField_op, obj, fieldID, value)) - -#define JRI_SetFieldBoolean(env, obj, fieldID, value) \ - (((*(env))->SetFieldBoolean)(env, JRI_SetFieldBoolean_op, obj, fieldID, value)) - -#define JRI_SetFieldByte(env, obj, fieldID, value) \ - (((*(env))->SetFieldByte)(env, JRI_SetFieldByte_op, obj, fieldID, value)) - -#define JRI_SetFieldChar(env, obj, fieldID, value) \ - (((*(env))->SetFieldChar)(env, JRI_SetFieldChar_op, obj, fieldID, value)) - -#define JRI_SetFieldShort(env, obj, fieldID, value) \ - (((*(env))->SetFieldShort)(env, JRI_SetFieldShort_op, obj, fieldID, value)) - -#define JRI_SetFieldInt(env, obj, fieldID, value) \ - (((*(env))->SetFieldInt)(env, JRI_SetFieldInt_op, obj, fieldID, value)) - -#define JRI_SetFieldLong(env, obj, fieldID, value) \ - (((*(env))->SetFieldLong)(env, JRI_SetFieldLong_op, obj, fieldID, value)) - -#define JRI_SetFieldFloat(env, obj, fieldID, value) \ - (((*(env))->SetFieldFloat)(env, JRI_SetFieldFloat_op, obj, fieldID, value)) - -#define JRI_SetFieldDouble(env, obj, fieldID, value) \ - (((*(env))->SetFieldDouble)(env, JRI_SetFieldDouble_op, obj, fieldID, value)) - -#define JRI_IsSubclassOf(env, a, b) \ - (((*(env))->IsSubclassOf)(env, JRI_IsSubclassOf_op, a, b)) - -#define JRI_GetStaticMethodID(env, clazz, name, sig) \ - (((*(env))->GetStaticMethodID)(env, JRI_GetStaticMethodID_op, clazz, name, sig)) - -#define JRI_CallStaticMethod(env) ((*(env))->CallStaticMethod) -#define JRI_CallStaticMethodV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodV)(env, JRI_CallStaticMethod_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodA)(env, JRI_CallStaticMethod_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodBoolean(env) ((*(env))->CallStaticMethodBoolean) -#define JRI_CallStaticMethodBooleanV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodBooleanV)(env, JRI_CallStaticMethodBoolean_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodBooleanA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodBooleanA)(env, JRI_CallStaticMethodBoolean_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodByte(env) ((*(env))->CallStaticMethodByte) -#define JRI_CallStaticMethodByteV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodByteV)(env, JRI_CallStaticMethodByte_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodByteA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodByteA)(env, JRI_CallStaticMethodByte_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodChar(env) ((*(env))->CallStaticMethodChar) -#define JRI_CallStaticMethodCharV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodCharV)(env, JRI_CallStaticMethodChar_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodCharA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodCharA)(env, JRI_CallStaticMethodChar_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodShort(env) ((*(env))->CallStaticMethodShort) -#define JRI_CallStaticMethodShortV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodShortV)(env, JRI_CallStaticMethodShort_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodShortA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodShortA)(env, JRI_CallStaticMethodShort_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodInt(env) ((*(env))->CallStaticMethodInt) -#define JRI_CallStaticMethodIntV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodIntV)(env, JRI_CallStaticMethodInt_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodIntA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodIntA)(env, JRI_CallStaticMethodInt_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodLong(env) ((*(env))->CallStaticMethodLong) -#define JRI_CallStaticMethodLongV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodLongV)(env, JRI_CallStaticMethodLong_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodLongA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodLongA)(env, JRI_CallStaticMethodLong_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodFloat(env) ((*(env))->CallStaticMethodFloat) -#define JRI_CallStaticMethodFloatV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodFloatV)(env, JRI_CallStaticMethodFloat_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodFloatA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodFloatA)(env, JRI_CallStaticMethodFloat_op_array, clazz, methodID, args)) - -#define JRI_CallStaticMethodDouble(env) ((*(env))->CallStaticMethodDouble) -#define JRI_CallStaticMethodDoubleV(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodDoubleV)(env, JRI_CallStaticMethodDouble_op_va_list, clazz, methodID, args)) -#define JRI_CallStaticMethodDoubleA(env, clazz, methodID, args) \ - (((*(env))->CallStaticMethodDoubleA)(env, JRI_CallStaticMethodDouble_op_array, clazz, methodID, args)) - -#define JRI_GetStaticFieldID(env, clazz, name, sig) \ - (((*(env))->GetStaticFieldID)(env, JRI_GetStaticFieldID_op, clazz, name, sig)) - -#define JRI_GetStaticField(env, clazz, fieldID) \ - (((*(env))->GetStaticField)(env, JRI_GetStaticField_op, clazz, fieldID)) - -#define JRI_GetStaticFieldBoolean(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldBoolean)(env, JRI_GetStaticFieldBoolean_op, clazz, fieldID)) - -#define JRI_GetStaticFieldByte(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldByte)(env, JRI_GetStaticFieldByte_op, clazz, fieldID)) - -#define JRI_GetStaticFieldChar(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldChar)(env, JRI_GetStaticFieldChar_op, clazz, fieldID)) - -#define JRI_GetStaticFieldShort(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldShort)(env, JRI_GetStaticFieldShort_op, clazz, fieldID)) - -#define JRI_GetStaticFieldInt(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldInt)(env, JRI_GetStaticFieldInt_op, clazz, fieldID)) - -#define JRI_GetStaticFieldLong(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldLong)(env, JRI_GetStaticFieldLong_op, clazz, fieldID)) - -#define JRI_GetStaticFieldFloat(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldFloat)(env, JRI_GetStaticFieldFloat_op, clazz, fieldID)) - -#define JRI_GetStaticFieldDouble(env, clazz, fieldID) \ - (((*(env))->GetStaticFieldDouble)(env, JRI_GetStaticFieldDouble_op, clazz, fieldID)) - -#define JRI_SetStaticField(env, clazz, fieldID, value) \ - (((*(env))->SetStaticField)(env, JRI_SetStaticField_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldBoolean(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldBoolean)(env, JRI_SetStaticFieldBoolean_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldByte(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldByte)(env, JRI_SetStaticFieldByte_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldChar(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldChar)(env, JRI_SetStaticFieldChar_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldShort(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldShort)(env, JRI_SetStaticFieldShort_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldInt(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldInt)(env, JRI_SetStaticFieldInt_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldLong(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldLong)(env, JRI_SetStaticFieldLong_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldFloat(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldFloat)(env, JRI_SetStaticFieldFloat_op, clazz, fieldID, value)) - -#define JRI_SetStaticFieldDouble(env, clazz, fieldID, value) \ - (((*(env))->SetStaticFieldDouble)(env, JRI_SetStaticFieldDouble_op, clazz, fieldID, value)) - -#define JRI_NewString(env, unicode, len) \ - (((*(env))->NewString)(env, JRI_NewString_op, unicode, len)) - -#define JRI_GetStringLength(env, string) \ - (((*(env))->GetStringLength)(env, JRI_GetStringLength_op, string)) - -#define JRI_GetStringChars(env, string) \ - (((*(env))->GetStringChars)(env, JRI_GetStringChars_op, string)) - -#define JRI_NewStringUTF(env, utf, len) \ - (((*(env))->NewStringUTF)(env, JRI_NewStringUTF_op, utf, len)) - -#define JRI_GetStringUTFLength(env, string) \ - (((*(env))->GetStringUTFLength)(env, JRI_GetStringUTFLength_op, string)) - -#define JRI_GetStringUTFChars(env, string) \ - (((*(env))->GetStringUTFChars)(env, JRI_GetStringUTFChars_op, string)) - -#define JRI_NewScalarArray(env, length, elementSig, initialElements) \ - (((*(env))->NewScalarArray)(env, JRI_NewScalarArray_op, length, elementSig, initialElements)) - -#define JRI_GetScalarArrayLength(env, array) \ - (((*(env))->GetScalarArrayLength)(env, JRI_GetScalarArrayLength_op, array)) - -#define JRI_GetScalarArrayElements(env, array) \ - (((*(env))->GetScalarArrayElements)(env, JRI_GetScalarArrayElements_op, array)) - -#define JRI_NewObjectArray(env, length, elementClass, initialElement) \ - (((*(env))->NewObjectArray)(env, JRI_NewObjectArray_op, length, elementClass, initialElement)) - -#define JRI_GetObjectArrayLength(env, array) \ - (((*(env))->GetObjectArrayLength)(env, JRI_GetObjectArrayLength_op, array)) - -#define JRI_GetObjectArrayElement(env, array, index) \ - (((*(env))->GetObjectArrayElement)(env, JRI_GetObjectArrayElement_op, array, index)) - -#define JRI_SetObjectArrayElement(env, array, index, value) \ - (((*(env))->SetObjectArrayElement)(env, JRI_SetObjectArrayElement_op, array, index, value)) - -#define JRI_RegisterNatives(env, clazz, nameAndSigArray, nativeProcArray) \ - (((*(env))->RegisterNatives)(env, JRI_RegisterNatives_op, clazz, nameAndSigArray, nativeProcArray)) - -#define JRI_UnregisterNatives(env, clazz) \ - (((*(env))->UnregisterNatives)(env, JRI_UnregisterNatives_op, clazz)) - -#define JRI_NewStringPlatform(env, string, len, encoding, encodingLength) \ - (((*(env))->NewStringPlatform)(env, JRI_NewStringPlatform_op, string, len, encoding, encodingLength)) - -#define JRI_GetStringPlatformChars(env, string, encoding, encodingLength) \ - (((*(env))->GetStringPlatformChars)(env, JRI_GetStringPlatformChars_op, string, encoding, encodingLength)) - - -/******************************************************************************* - * JRIEnv Interface - ******************************************************************************/ - -struct java_lang_ClassLoader; -struct java_lang_Class; -struct java_lang_Throwable; -struct java_lang_Object; -struct java_lang_String; - -struct JRIEnvInterface { - void* reserved0; - void* reserved1; - void* reserved2; - void* reserved3; - struct java_lang_Class* (*FindClass)(JRIEnv* env, jint op, const char* a); - void (*Throw)(JRIEnv* env, jint op, struct java_lang_Throwable* a); - void (*ThrowNew)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b); - struct java_lang_Throwable* (*ExceptionOccurred)(JRIEnv* env, jint op); - void (*ExceptionDescribe)(JRIEnv* env, jint op); - void (*ExceptionClear)(JRIEnv* env, jint op); - jglobal (*NewGlobalRef)(JRIEnv* env, jint op, void* a); - void (*DisposeGlobalRef)(JRIEnv* env, jint op, jglobal a); - void* (*GetGlobalRef)(JRIEnv* env, jint op, jglobal a); - void (*SetGlobalRef)(JRIEnv* env, jint op, jglobal a, void* b); - jbool (*IsSameObject)(JRIEnv* env, jint op, void* a, void* b); - void* (*NewObject)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - void* (*NewObjectV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - void* (*NewObjectA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - struct java_lang_Class* (*GetObjectClass)(JRIEnv* env, jint op, void* a); - jbool (*IsInstanceOf)(JRIEnv* env, jint op, void* a, struct java_lang_Class* b); - jint (*GetMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c); - void* (*CallMethod)(JRIEnv* env, jint op, void* a, jint b, ...); - void* (*CallMethodV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - void* (*CallMethodA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jbool (*CallMethodBoolean)(JRIEnv* env, jint op, void* a, jint b, ...); - jbool (*CallMethodBooleanV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jbool (*CallMethodBooleanA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jbyte (*CallMethodByte)(JRIEnv* env, jint op, void* a, jint b, ...); - jbyte (*CallMethodByteV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jbyte (*CallMethodByteA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jchar (*CallMethodChar)(JRIEnv* env, jint op, void* a, jint b, ...); - jchar (*CallMethodCharV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jchar (*CallMethodCharA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jshort (*CallMethodShort)(JRIEnv* env, jint op, void* a, jint b, ...); - jshort (*CallMethodShortV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jshort (*CallMethodShortA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jint (*CallMethodInt)(JRIEnv* env, jint op, void* a, jint b, ...); - jint (*CallMethodIntV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jint (*CallMethodIntA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jlong (*CallMethodLong)(JRIEnv* env, jint op, void* a, jint b, ...); - jlong (*CallMethodLongV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jlong (*CallMethodLongA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jfloat (*CallMethodFloat)(JRIEnv* env, jint op, void* a, jint b, ...); - jfloat (*CallMethodFloatV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jfloat (*CallMethodFloatA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jdouble (*CallMethodDouble)(JRIEnv* env, jint op, void* a, jint b, ...); - jdouble (*CallMethodDoubleV)(JRIEnv* env, jint op, void* a, jint b, va_list c); - jdouble (*CallMethodDoubleA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); - jint (*GetFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c); - void* (*GetField)(JRIEnv* env, jint op, void* a, jint b); - jbool (*GetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b); - jbyte (*GetFieldByte)(JRIEnv* env, jint op, void* a, jint b); - jchar (*GetFieldChar)(JRIEnv* env, jint op, void* a, jint b); - jshort (*GetFieldShort)(JRIEnv* env, jint op, void* a, jint b); - jint (*GetFieldInt)(JRIEnv* env, jint op, void* a, jint b); - jlong (*GetFieldLong)(JRIEnv* env, jint op, void* a, jint b); - jfloat (*GetFieldFloat)(JRIEnv* env, jint op, void* a, jint b); - jdouble (*GetFieldDouble)(JRIEnv* env, jint op, void* a, jint b); - void (*SetField)(JRIEnv* env, jint op, void* a, jint b, void* c); - void (*SetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b, jbool c); - void (*SetFieldByte)(JRIEnv* env, jint op, void* a, jint b, jbyte c); - void (*SetFieldChar)(JRIEnv* env, jint op, void* a, jint b, jchar c); - void (*SetFieldShort)(JRIEnv* env, jint op, void* a, jint b, jshort c); - void (*SetFieldInt)(JRIEnv* env, jint op, void* a, jint b, jint c); - void (*SetFieldLong)(JRIEnv* env, jint op, void* a, jint b, jlong c); - void (*SetFieldFloat)(JRIEnv* env, jint op, void* a, jint b, jfloat c); - void (*SetFieldDouble)(JRIEnv* env, jint op, void* a, jint b, jdouble c); - jbool (*IsSubclassOf)(JRIEnv* env, jint op, struct java_lang_Class* a, struct java_lang_Class* b); - jint (*GetStaticMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c); - void* (*CallStaticMethod)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - void* (*CallStaticMethodV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - void* (*CallStaticMethodA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jbool (*CallStaticMethodBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jbool (*CallStaticMethodBooleanV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jbool (*CallStaticMethodBooleanA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jbyte (*CallStaticMethodByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jbyte (*CallStaticMethodByteV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jbyte (*CallStaticMethodByteA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jchar (*CallStaticMethodChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jchar (*CallStaticMethodCharV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jchar (*CallStaticMethodCharA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jshort (*CallStaticMethodShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jshort (*CallStaticMethodShortV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jshort (*CallStaticMethodShortA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jint (*CallStaticMethodInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jint (*CallStaticMethodIntV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jint (*CallStaticMethodIntA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jlong (*CallStaticMethodLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jlong (*CallStaticMethodLongV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jlong (*CallStaticMethodLongA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jfloat (*CallStaticMethodFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jfloat (*CallStaticMethodFloatV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jfloat (*CallStaticMethodFloatA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jdouble (*CallStaticMethodDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); - jdouble (*CallStaticMethodDoubleV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); - jdouble (*CallStaticMethodDoubleA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); - jint (*GetStaticFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c); - void* (*GetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jbool (*GetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jbyte (*GetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jchar (*GetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jshort (*GetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jint (*GetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jlong (*GetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jfloat (*GetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - jdouble (*GetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); - void (*SetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, void* c); - void (*SetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbool c); - void (*SetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbyte c); - void (*SetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jchar c); - void (*SetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jshort c); - void (*SetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jint c); - void (*SetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jlong c); - void (*SetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jfloat c); - void (*SetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jdouble c); - struct java_lang_String* (*NewString)(JRIEnv* env, jint op, const jchar* a, jint b); - jint (*GetStringLength)(JRIEnv* env, jint op, struct java_lang_String* a); - const jchar* (*GetStringChars)(JRIEnv* env, jint op, struct java_lang_String* a); - struct java_lang_String* (*NewStringUTF)(JRIEnv* env, jint op, const jbyte* a, jint b); - jint (*GetStringUTFLength)(JRIEnv* env, jint op, struct java_lang_String* a); - const jbyte* (*GetStringUTFChars)(JRIEnv* env, jint op, struct java_lang_String* a); - void* (*NewScalarArray)(JRIEnv* env, jint op, jint a, const char* b, const jbyte* c); - jint (*GetScalarArrayLength)(JRIEnv* env, jint op, void* a); - jbyte* (*GetScalarArrayElements)(JRIEnv* env, jint op, void* a); - void* (*NewObjectArray)(JRIEnv* env, jint op, jint a, struct java_lang_Class* b, void* c); - jint (*GetObjectArrayLength)(JRIEnv* env, jint op, void* a); - void* (*GetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b); - void (*SetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b, void* c); - void (*RegisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a, char** b, void** c); - void (*UnregisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a); - struct java_lang_Class* (*DefineClass)(JRIEnv* env, jint op, struct java_lang_ClassLoader* a, jbyte* b, jsize bLen); - struct java_lang_String* (*NewStringPlatform)(JRIEnv* env, jint op, const jbyte* a, jint b, const jbyte* c, jint d); - const jbyte* (*GetStringPlatformChars)(JRIEnv* env, jint op, struct java_lang_String* a, const jbyte* b, jint c); -}; - -/* -** **************************************************************************** -** JRIEnv Operation IDs -** *************************************************************************** -*/ - -typedef enum JRIEnvOperations { - JRI_Reserved0_op, - JRI_Reserved1_op, - JRI_Reserved2_op, - JRI_Reserved3_op, - JRI_FindClass_op, - JRI_Throw_op, - JRI_ThrowNew_op, - JRI_ExceptionOccurred_op, - JRI_ExceptionDescribe_op, - JRI_ExceptionClear_op, - JRI_NewGlobalRef_op, - JRI_DisposeGlobalRef_op, - JRI_GetGlobalRef_op, - JRI_SetGlobalRef_op, - JRI_IsSameObject_op, - JRI_NewObject_op, - JRI_NewObject_op_va_list, - JRI_NewObject_op_array, - JRI_GetObjectClass_op, - JRI_IsInstanceOf_op, - JRI_GetMethodID_op, - JRI_CallMethod_op, - JRI_CallMethod_op_va_list, - JRI_CallMethod_op_array, - JRI_CallMethodBoolean_op, - JRI_CallMethodBoolean_op_va_list, - JRI_CallMethodBoolean_op_array, - JRI_CallMethodByte_op, - JRI_CallMethodByte_op_va_list, - JRI_CallMethodByte_op_array, - JRI_CallMethodChar_op, - JRI_CallMethodChar_op_va_list, - JRI_CallMethodChar_op_array, - JRI_CallMethodShort_op, - JRI_CallMethodShort_op_va_list, - JRI_CallMethodShort_op_array, - JRI_CallMethodInt_op, - JRI_CallMethodInt_op_va_list, - JRI_CallMethodInt_op_array, - JRI_CallMethodLong_op, - JRI_CallMethodLong_op_va_list, - JRI_CallMethodLong_op_array, - JRI_CallMethodFloat_op, - JRI_CallMethodFloat_op_va_list, - JRI_CallMethodFloat_op_array, - JRI_CallMethodDouble_op, - JRI_CallMethodDouble_op_va_list, - JRI_CallMethodDouble_op_array, - JRI_GetFieldID_op, - JRI_GetField_op, - JRI_GetFieldBoolean_op, - JRI_GetFieldByte_op, - JRI_GetFieldChar_op, - JRI_GetFieldShort_op, - JRI_GetFieldInt_op, - JRI_GetFieldLong_op, - JRI_GetFieldFloat_op, - JRI_GetFieldDouble_op, - JRI_SetField_op, - JRI_SetFieldBoolean_op, - JRI_SetFieldByte_op, - JRI_SetFieldChar_op, - JRI_SetFieldShort_op, - JRI_SetFieldInt_op, - JRI_SetFieldLong_op, - JRI_SetFieldFloat_op, - JRI_SetFieldDouble_op, - JRI_IsSubclassOf_op, - JRI_GetStaticMethodID_op, - JRI_CallStaticMethod_op, - JRI_CallStaticMethod_op_va_list, - JRI_CallStaticMethod_op_array, - JRI_CallStaticMethodBoolean_op, - JRI_CallStaticMethodBoolean_op_va_list, - JRI_CallStaticMethodBoolean_op_array, - JRI_CallStaticMethodByte_op, - JRI_CallStaticMethodByte_op_va_list, - JRI_CallStaticMethodByte_op_array, - JRI_CallStaticMethodChar_op, - JRI_CallStaticMethodChar_op_va_list, - JRI_CallStaticMethodChar_op_array, - JRI_CallStaticMethodShort_op, - JRI_CallStaticMethodShort_op_va_list, - JRI_CallStaticMethodShort_op_array, - JRI_CallStaticMethodInt_op, - JRI_CallStaticMethodInt_op_va_list, - JRI_CallStaticMethodInt_op_array, - JRI_CallStaticMethodLong_op, - JRI_CallStaticMethodLong_op_va_list, - JRI_CallStaticMethodLong_op_array, - JRI_CallStaticMethodFloat_op, - JRI_CallStaticMethodFloat_op_va_list, - JRI_CallStaticMethodFloat_op_array, - JRI_CallStaticMethodDouble_op, - JRI_CallStaticMethodDouble_op_va_list, - JRI_CallStaticMethodDouble_op_array, - JRI_GetStaticFieldID_op, - JRI_GetStaticField_op, - JRI_GetStaticFieldBoolean_op, - JRI_GetStaticFieldByte_op, - JRI_GetStaticFieldChar_op, - JRI_GetStaticFieldShort_op, - JRI_GetStaticFieldInt_op, - JRI_GetStaticFieldLong_op, - JRI_GetStaticFieldFloat_op, - JRI_GetStaticFieldDouble_op, - JRI_SetStaticField_op, - JRI_SetStaticFieldBoolean_op, - JRI_SetStaticFieldByte_op, - JRI_SetStaticFieldChar_op, - JRI_SetStaticFieldShort_op, - JRI_SetStaticFieldInt_op, - JRI_SetStaticFieldLong_op, - JRI_SetStaticFieldFloat_op, - JRI_SetStaticFieldDouble_op, - JRI_NewString_op, - JRI_GetStringLength_op, - JRI_GetStringChars_op, - JRI_NewStringUTF_op, - JRI_GetStringUTFLength_op, - JRI_GetStringUTFChars_op, - JRI_NewScalarArray_op, - JRI_GetScalarArrayLength_op, - JRI_GetScalarArrayElements_op, - JRI_NewObjectArray_op, - JRI_GetObjectArrayLength_op, - JRI_GetObjectArrayElement_op, - JRI_SetObjectArrayElement_op, - JRI_RegisterNatives_op, - JRI_UnregisterNatives_op, - JRI_DefineClass_op, - JRI_NewStringPlatform_op, - JRI_GetStringPlatformChars_op -} JRIEnvOperations; - -#ifdef __cplusplus -} /* extern "C" */ -#endif /* __cplusplus */ - -#endif /* JRI_H */ -/******************************************************************************/ diff --git a/modules/juce_browser_plugin_client/wrapper/npapi/jri_md.h b/modules/juce_browser_plugin_client/wrapper/npapi/jri_md.h deleted file mode 100644 index 384f0c50..00000000 --- a/modules/juce_browser_plugin_client/wrapper/npapi/jri_md.h +++ /dev/null @@ -1,574 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/******************************************************************************* - * Java Runtime Interface - Machine Dependent Types - ******************************************************************************/ - -#ifndef JRI_MD_H -#define JRI_MD_H - -#include -#include "prtypes.h" /* Needed for HAS_LONG_LONG ifdefs */ - -#ifdef __cplusplus -extern "C" { -#endif - -/******************************************************************************* - * WHAT'S UP WITH THIS FILE? - * - * This is where we define the mystical JRI_PUBLIC_API macro that works on all - * platforms. If you're running with Visual C++, Symantec C, or Borland's - * development environment on the PC, you're all set. Or if you're on the Mac - * with Metrowerks, Symantec or MPW with SC you're ok too. For UNIX it shouldn't - * matter. - * - * On UNIX though you probably care about a couple of other symbols though: - * IS_LITTLE_ENDIAN must be defined for little-endian systems - * HAVE_LONG_LONG must be defined on systems that have 'long long' integers - * HAVE_ALIGNED_LONGLONGS must be defined if long-longs must be 8 byte aligned - * HAVE_ALIGNED_DOUBLES must be defined if doubles must be 8 byte aligned - * IS_64 must be defined on 64-bit machines (like Dec Alpha) - ******************************************************************************/ - -/* DLL Entry modifiers... */ - -/* Windows */ -#if defined(XP_WIN) || defined(_WINDOWS) || defined(WIN32) || defined(_WIN32) -# include -# if defined(_MSC_VER) || defined(__GNUC__) -# if defined(WIN32) || defined(_WIN32) -# define JRI_PUBLIC_API(ResultType) __declspec(dllexport) ResultType -# define JRI_PUBLIC_VAR(VarType) VarType -# define JRI_PUBLIC_VAR_EXP(VarType) __declspec(dllexport) VarType -# define JRI_PUBLIC_VAR_IMP(VarType) __declspec(dllimport) VarType -# define JRI_NATIVE_STUB(ResultType) __declspec(dllexport) ResultType -# define JRI_CALLBACK -# else /* !_WIN32 */ -# if defined(_WINDLL) -# define JRI_PUBLIC_API(ResultType) ResultType __cdecl __export __loadds -# define JRI_PUBLIC_VAR(VarType) VarType -# define JRI_PUBLIC_VAR_EXP(VarType) JRI_PUBLIC_VAR(VarType) -# define JRI_PUBLIC_VAR_IMP(VarType) JRI_PUBLIC_VAR(VarType) -# define JRI_NATIVE_STUB(ResultType) ResultType __cdecl __loadds -# define JRI_CALLBACK __loadds -# else /* !WINDLL */ -# define JRI_PUBLIC_API(ResultType) ResultType __cdecl __export -# define JRI_PUBLIC_VAR(VarType) VarType -# define JRI_PUBLIC_VAR_EXP(VarType) JRI_PUBLIC_VAR(VarType) -# define JRI_PUBLIC_VAR_IMP(VarType) JRI_PUBLIC_VAR(VarType) -# define JRI_NATIVE_STUB(ResultType) ResultType __cdecl __export -# define JRI_CALLBACK __export -# endif /* !WINDLL */ -# endif /* !_WIN32 */ -# elif defined(__BORLANDC__) -# if defined(WIN32) || defined(_WIN32) -# define JRI_PUBLIC_API(ResultType) __export ResultType -# define JRI_PUBLIC_VAR(VarType) VarType -# define JRI_PUBLIC_VAR_EXP(VarType) __export VarType -# define JRI_PUBLIC_VAR_IMP(VarType) __import VarType -# define JRI_NATIVE_STUB(ResultType) __export ResultType -# define JRI_CALLBACK -# else /* !_WIN32 */ -# define JRI_PUBLIC_API(ResultType) ResultType _cdecl _export _loadds -# define JRI_PUBLIC_VAR(VarType) VarType -# define JRI_PUBLIC_VAR_EXP(VarType) __cdecl __export VarType -# define JRI_PUBLIC_VAR_IMP(VarType) __cdecl __import VarType -# define JRI_NATIVE_STUB(ResultType) ResultType _cdecl _loadds -# define JRI_CALLBACK _loadds -# endif -# else -# error Unsupported PC development environment. -# endif -# ifndef IS_LITTLE_ENDIAN -# define IS_LITTLE_ENDIAN -# endif - -/* OS/2 */ -#elif defined(XP_OS2) -# ifdef XP_OS2_VACPP -# define JRI_PUBLIC_API(ResultType) ResultType _Optlink -# define JRI_PUBLIC_VAR(VarType) VarType -# define JRI_CALLBACK -# elif defined(__declspec) -# define JRI_PUBLIC_API(ResultType) __declspec(dllexport) ResultType -# define JRI_PUBLIC_VAR(VarType) VarType -# define JRI_PUBLIC_VAR_EXP(VarType) __declspec(dllexport) VarType -# define JRI_PUBLIC_VAR_IMP(VarType) __declspec(dllimport) VarType -# define JRI_NATIVE_STUB(ResultType) __declspec(dllexport) ResultType -# define JRI_CALLBACK -# else -# define JRI_PUBLIC_API(ResultType) ResultType -# define JRI_PUBLIC_VAR(VarType) VarType -# define JRI_CALLBACK -# endif - -/* Mac */ -#elif defined (macintosh) || Macintosh || THINK_C -# if defined(__MWERKS__) /* Metrowerks */ -# if !__option(enumsalwaysint) -# error You need to define 'Enums Always Int' for your project. -# endif -# if defined(TARGET_CPU_68K) && !TARGET_RT_MAC_CFM -# if !__option(fourbyteints) -# error You need to define 'Struct Alignment: 68k' for your project. -# endif -# endif /* !GENERATINGCFM */ -# define JRI_PUBLIC_API(ResultType) __declspec(export) ResultType -# define JRI_PUBLIC_VAR(VarType) JRI_PUBLIC_API(VarType) -# define JRI_PUBLIC_VAR_EXP(VarType) JRI_PUBLIC_API(VarType) -# define JRI_PUBLIC_VAR_IMP(VarType) JRI_PUBLIC_API(VarType) -# define JRI_NATIVE_STUB(ResultType) JRI_PUBLIC_API(ResultType) -# elif defined(__SC__) /* Symantec */ -# error What are the Symantec defines? (warren@netscape.com) -# elif macintosh && applec /* MPW */ -# error Please upgrade to the latest MPW compiler (SC). -# else -# error Unsupported Mac development environment. -# endif -# define JRI_CALLBACK - -/* Unix or else */ -#else -# define JRI_PUBLIC_API(ResultType) ResultType -# define JRI_PUBLIC_VAR(VarType) VarType -# define JRI_PUBLIC_VAR_EXP(VarType) JRI_PUBLIC_VAR(VarType) -# define JRI_PUBLIC_VAR_IMP(VarType) JRI_PUBLIC_VAR(VarType) -# define JRI_NATIVE_STUB(ResultType) ResultType -# define JRI_CALLBACK -#endif - -#ifndef FAR /* for non-Win16 */ -#define FAR -#endif - -/******************************************************************************/ - -/* Java Scalar Types */ - -#if 0 /* now in jni.h */ -typedef short jchar; -typedef short jshort; -typedef float jfloat; -typedef double jdouble; -typedef juint jsize; -#endif - -/* moved from jni.h -- Sun's new jni.h doesn't have this anymore */ -#ifdef __cplusplus -typedef class _jobject *jref; -#else -typedef struct _jobject *jref; -#endif - -typedef unsigned char jbool; -typedef signed char jbyte; -#ifdef IS_64 /* XXX ok for alpha, but not right on all 64-bit architectures */ -typedef unsigned int juint; -typedef int jint; -#else -typedef unsigned long juint; -typedef long jint; -#endif - -/******************************************************************************* - * jlong : long long (64-bit signed integer type) support. - ******************************************************************************/ - -/* -** Bit masking macros. (n must be <= 31 to be portable) -*/ -#define JRI_BIT(n) ((juint)1 << (n)) -#define JRI_BITMASK(n) (JRI_BIT(n) - 1) - -#ifdef HAVE_LONG_LONG - -#ifdef OSF1 - -/* long is default 64-bit on OSF1, -std1 does not allow long long */ -typedef long jlong; -typedef unsigned long julong; -#define jlong_MAXINT 0x7fffffffffffffffL -#define jlong_MININT 0x8000000000000000L -#define jlong_ZERO 0x0L - -#elif (defined(WIN32) || defined(_WIN32)) - -typedef LONGLONG jlong; -typedef DWORDLONG julong; -#define jlong_MAXINT 0x7fffffffffffffffi64 -#define jlong_MININT 0x8000000000000000i64 -#define jlong_ZERO 0x0i64 - -#else - -typedef long long jlong; -typedef unsigned long long julong; -#define jlong_MAXINT 0x7fffffffffffffffLL -#define jlong_MININT 0x8000000000000000LL -#define jlong_ZERO 0x0LL - -#endif - -#define jlong_IS_ZERO(a) ((a) == 0) -#define jlong_EQ(a, b) ((a) == (b)) -#define jlong_NE(a, b) ((a) != (b)) -#define jlong_GE_ZERO(a) ((a) >= 0) -#define jlong_CMP(a, op, b) ((a) op (b)) - -#define jlong_AND(r, a, b) ((r) = (a) & (b)) -#define jlong_OR(r, a, b) ((r) = (a) | (b)) -#define jlong_XOR(r, a, b) ((r) = (a) ^ (b)) -#define jlong_OR2(r, a) ((r) = (r) | (a)) -#define jlong_NOT(r, a) ((r) = ~(a)) - -#define jlong_NEG(r, a) ((r) = -(a)) -#define jlong_ADD(r, a, b) ((r) = (a) + (b)) -#define jlong_SUB(r, a, b) ((r) = (a) - (b)) - -#define jlong_MUL(r, a, b) ((r) = (a) * (b)) -#define jlong_DIV(r, a, b) ((r) = (a) / (b)) -#define jlong_MOD(r, a, b) ((r) = (a) % (b)) - -#define jlong_SHL(r, a, b) ((r) = (a) << (b)) -#define jlong_SHR(r, a, b) ((r) = (a) >> (b)) -#define jlong_USHR(r, a, b) ((r) = (julong)(a) >> (b)) -#define jlong_ISHL(r, a, b) ((r) = ((jlong)(a)) << (b)) - -#define jlong_L2I(i, l) ((i) = (int)(l)) -#define jlong_L2UI(ui, l) ((ui) =(unsigned int)(l)) -#define jlong_L2F(f, l) ((f) = (l)) -#define jlong_L2D(d, l) ((d) = (l)) - -#define jlong_I2L(l, i) ((l) = (i)) -#define jlong_UI2L(l, ui) ((l) = (ui)) -#define jlong_F2L(l, f) ((l) = (f)) -#define jlong_D2L(l, d) ((l) = (d)) - -#define jlong_UDIVMOD(qp, rp, a, b) \ - (*(qp) = ((julong)(a) / (b)), \ - *(rp) = ((julong)(a) % (b))) - -#else /* !HAVE_LONG_LONG */ - -typedef struct { -#ifdef IS_LITTLE_ENDIAN - juint lo, hi; -#else - juint hi, lo; -#endif -} jlong; -typedef jlong julong; - -extern jlong jlong_MAXINT, jlong_MININT, jlong_ZERO; - -#define jlong_IS_ZERO(a) (((a).hi == 0) && ((a).lo == 0)) -#define jlong_EQ(a, b) (((a).hi == (b).hi) && ((a).lo == (b).lo)) -#define jlong_NE(a, b) (((a).hi != (b).hi) || ((a).lo != (b).lo)) -#define jlong_GE_ZERO(a) (((a).hi >> 31) == 0) - -/* - * NB: jlong_CMP and jlong_UCMP work only for strict relationals (<, >). - */ -#define jlong_CMP(a, op, b) (((int32)(a).hi op (int32)(b).hi) || \ - (((a).hi == (b).hi) && ((a).lo op (b).lo))) -#define jlong_UCMP(a, op, b) (((a).hi op (b).hi) || \ - (((a).hi == (b).hi) && ((a).lo op (b).lo))) - -#define jlong_AND(r, a, b) ((r).lo = (a).lo & (b).lo, \ - (r).hi = (a).hi & (b).hi) -#define jlong_OR(r, a, b) ((r).lo = (a).lo | (b).lo, \ - (r).hi = (a).hi | (b).hi) -#define jlong_XOR(r, a, b) ((r).lo = (a).lo ^ (b).lo, \ - (r).hi = (a).hi ^ (b).hi) -#define jlong_OR2(r, a) ((r).lo = (r).lo | (a).lo, \ - (r).hi = (r).hi | (a).hi) -#define jlong_NOT(r, a) ((r).lo = ~(a).lo, \ - (r).hi = ~(a).hi) - -#define jlong_NEG(r, a) ((r).lo = -(int32)(a).lo, \ - (r).hi = -(int32)(a).hi - ((r).lo != 0)) -#define jlong_ADD(r, a, b) { \ - jlong _a, _b; \ - _a = a; _b = b; \ - (r).lo = _a.lo + _b.lo; \ - (r).hi = _a.hi + _b.hi + ((r).lo < _b.lo); \ -} - -#define jlong_SUB(r, a, b) { \ - jlong _a, _b; \ - _a = a; _b = b; \ - (r).lo = _a.lo - _b.lo; \ - (r).hi = _a.hi - _b.hi - (_a.lo < _b.lo); \ -} \ - -/* - * Multiply 64-bit operands a and b to get 64-bit result r. - * First multiply the low 32 bits of a and b to get a 64-bit result in r. - * Then add the outer and inner products to r.hi. - */ -#define jlong_MUL(r, a, b) { \ - jlong _a, _b; \ - _a = a; _b = b; \ - jlong_MUL32(r, _a.lo, _b.lo); \ - (r).hi += _a.hi * _b.lo + _a.lo * _b.hi; \ -} - -/* XXX _jlong_lo16(a) = ((a) << 16 >> 16) is better on some archs (not on mips) */ -#define _jlong_lo16(a) ((a) & JRI_BITMASK(16)) -#define _jlong_hi16(a) ((a) >> 16) - -/* - * Multiply 32-bit operands a and b to get 64-bit result r. - * Use polynomial expansion based on primitive field element (1 << 16). - */ -#define jlong_MUL32(r, a, b) { \ - juint _a1, _a0, _b1, _b0, _y0, _y1, _y2, _y3; \ - _a1 = _jlong_hi16(a), _a0 = _jlong_lo16(a); \ - _b1 = _jlong_hi16(b), _b0 = _jlong_lo16(b); \ - _y0 = _a0 * _b0; \ - _y1 = _a0 * _b1; \ - _y2 = _a1 * _b0; \ - _y3 = _a1 * _b1; \ - _y1 += _jlong_hi16(_y0); /* can't carry */ \ - _y1 += _y2; /* might carry */ \ - if (_y1 < _y2) _y3 += 1 << 16; /* propagate */ \ - (r).lo = (_jlong_lo16(_y1) << 16) + _jlong_lo16(_y0); \ - (r).hi = _y3 + _jlong_hi16(_y1); \ -} - -/* - * Divide 64-bit unsigned operand a by 64-bit unsigned operand b, setting *qp - * to the 64-bit unsigned quotient, and *rp to the 64-bit unsigned remainder. - * Minimize effort if one of qp and rp is null. - */ -#define jlong_UDIVMOD(qp, rp, a, b) jlong_udivmod(qp, rp, a, b) - -extern JRI_PUBLIC_API(void) -jlong_udivmod(julong *qp, julong *rp, julong a, julong b); - -#define jlong_DIV(r, a, b) { \ - jlong _a, _b; \ - juint _negative = (int32)(a).hi < 0; \ - if (_negative) { \ - jlong_NEG(_a, a); \ - } else { \ - _a = a; \ - } \ - if ((int32)(b).hi < 0) { \ - _negative ^= 1; \ - jlong_NEG(_b, b); \ - } else { \ - _b = b; \ - } \ - jlong_UDIVMOD(&(r), 0, _a, _b); \ - if (_negative) \ - jlong_NEG(r, r); \ -} - -#define jlong_MOD(r, a, b) { \ - jlong _a, _b; \ - juint _negative = (int32)(a).hi < 0; \ - if (_negative) { \ - jlong_NEG(_a, a); \ - } else { \ - _a = a; \ - } \ - if ((int32)(b).hi < 0) { \ - jlong_NEG(_b, b); \ - } else { \ - _b = b; \ - } \ - jlong_UDIVMOD(0, &(r), _a, _b); \ - if (_negative) \ - jlong_NEG(r, r); \ -} - -/* - * NB: b is a juint, not jlong or julong, for the shift ops. - */ -#define jlong_SHL(r, a, b) { \ - if (b) { \ - jlong _a; \ - _a = a; \ - if ((b) < 32) { \ - (r).lo = _a.lo << (b); \ - (r).hi = (_a.hi << (b)) | (_a.lo >> (32 - (b))); \ - } else { \ - (r).lo = 0; \ - (r).hi = _a.lo << ((b) & 31); \ - } \ - } else { \ - (r) = (a); \ - } \ -} - -/* a is an int32, b is int32, r is jlong */ -#define jlong_ISHL(r, a, b) { \ - if (b) { \ - jlong _a; \ - _a.lo = (a); \ - _a.hi = 0; \ - if ((b) < 32) { \ - (r).lo = (a) << (b); \ - (r).hi = ((a) >> (32 - (b))); \ - } else { \ - (r).lo = 0; \ - (r).hi = (a) << ((b) & 31); \ - } \ - } else { \ - (r).lo = (a); \ - (r).hi = 0; \ - } \ -} - -#define jlong_SHR(r, a, b) { \ - if (b) { \ - jlong _a; \ - _a = a; \ - if ((b) < 32) { \ - (r).lo = (_a.hi << (32 - (b))) | (_a.lo >> (b)); \ - (r).hi = (int32)_a.hi >> (b); \ - } else { \ - (r).lo = (int32)_a.hi >> ((b) & 31); \ - (r).hi = (int32)_a.hi >> 31; \ - } \ - } else { \ - (r) = (a); \ - } \ -} - -#define jlong_USHR(r, a, b) { \ - if (b) { \ - jlong _a; \ - _a = a; \ - if ((b) < 32) { \ - (r).lo = (_a.hi << (32 - (b))) | (_a.lo >> (b)); \ - (r).hi = _a.hi >> (b); \ - } else { \ - (r).lo = _a.hi >> ((b) & 31); \ - (r).hi = 0; \ - } \ - } else { \ - (r) = (a); \ - } \ -} - -#define jlong_L2I(i, l) ((i) = (l).lo) -#define jlong_L2UI(ui, l) ((ui) = (l).lo) -#define jlong_L2F(f, l) { double _d; jlong_L2D(_d, l); (f) = (float) _d; } - -#define jlong_L2D(d, l) { \ - int32 _negative; \ - jlong _absval; \ - \ - _negative = (l).hi >> 31; \ - if (_negative) { \ - jlong_NEG(_absval, l); \ - } else { \ - _absval = l; \ - } \ - (d) = (double)_absval.hi * 4.294967296e9 + _absval.lo; \ - if (_negative) \ - (d) = -(d); \ -} - -#define jlong_I2L(l, i) ((l).hi = (i) >> 31, (l).lo = (i)) -#define jlong_UI2L(l, ui) ((l).hi = 0, (l).lo = (ui)) -#define jlong_F2L(l, f) { double _d = (double) f; jlong_D2L(l, _d); } - -#define jlong_D2L(l, d) { \ - int _negative; \ - double _absval, _d_hi; \ - jlong _lo_d; \ - \ - _negative = ((d) < 0); \ - _absval = _negative ? -(d) : (d); \ - \ - (l).hi = (juint)(_absval / 4.294967296e9); \ - (l).lo = 0; \ - jlong_L2D(_d_hi, l); \ - _absval -= _d_hi; \ - _lo_d.hi = 0; \ - if (_absval < 0) { \ - _lo_d.lo = (juint) -_absval; \ - jlong_SUB(l, l, _lo_d); \ - } else { \ - _lo_d.lo = (juint) _absval; \ - jlong_ADD(l, l, _lo_d); \ - } \ - \ - if (_negative) \ - jlong_NEG(l, l); \ -} - -#endif /* !HAVE_LONG_LONG */ - -/******************************************************************************/ - -#ifdef HAVE_ALIGNED_LONGLONGS -#define JRI_GET_INT64(_t,_addr) ( ((_t).x[0] = ((jint*)(_addr))[0]), \ - ((_t).x[1] = ((jint*)(_addr))[1]), \ - (_t).l ) -#define JRI_SET_INT64(_t, _addr, _v) ( (_t).l = (_v), \ - ((jint*)(_addr))[0] = (_t).x[0], \ - ((jint*)(_addr))[1] = (_t).x[1] ) -#else -#define JRI_GET_INT64(_t,_addr) (*(jlong*)(_addr)) -#define JRI_SET_INT64(_t, _addr, _v) (*(jlong*)(_addr) = (_v)) -#endif - -/* If double's must be aligned on doubleword boundaries then define this */ -#ifdef HAVE_ALIGNED_DOUBLES -#define JRI_GET_DOUBLE(_t,_addr) ( ((_t).x[0] = ((jint*)(_addr))[0]), \ - ((_t).x[1] = ((jint*)(_addr))[1]), \ - (_t).d ) -#define JRI_SET_DOUBLE(_t, _addr, _v) ( (_t).d = (_v), \ - ((jint*)(_addr))[0] = (_t).x[0], \ - ((jint*)(_addr))[1] = (_t).x[1] ) -#else -#define JRI_GET_DOUBLE(_t,_addr) (*(jdouble*)(_addr)) -#define JRI_SET_DOUBLE(_t, _addr, _v) (*(jdouble*)(_addr) = (_v)) -#endif - -/******************************************************************************/ -#ifdef __cplusplus -} -#endif -#endif /* JRI_MD_H */ -/******************************************************************************/ diff --git a/modules/juce_browser_plugin_client/wrapper/npapi/jritypes.h b/modules/juce_browser_plugin_client/wrapper/npapi/jritypes.h deleted file mode 100644 index 021f4dd5..00000000 --- a/modules/juce_browser_plugin_client/wrapper/npapi/jritypes.h +++ /dev/null @@ -1,243 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/******************************************************************************* - * Java Runtime Interface - ******************************************************************************/ - -#ifndef JRITYPES_H -#define JRITYPES_H - -#include "jri_md.h" -#include "jni.h" -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/******************************************************************************* - * Types - ******************************************************************************/ - -struct JRIEnvInterface; - -typedef void* JRIRef; -typedef void* JRIGlobalRef; - -typedef jint JRIFieldID; -typedef jint JRIMethodID; - -/* synonyms: */ -typedef JRIGlobalRef jglobal; - -typedef union JRIValue { - jbool z; - jbyte b; - jchar c; - jshort s; - jint i; - jlong l; - jfloat f; - jdouble d; - jref r; -} JRIValue; - -typedef enum JRIBoolean { - JRIFalse = 0, - JRITrue = 1 -} JRIBoolean; - -typedef enum JRIConstant { - JRIUninitialized = -1 -} JRIConstant; - -/* convenience types (these must be distinct struct types for c++ overloading): */ -#if 0 /* now in jni.h */ -typedef struct jbooleanArrayStruct* jbooleanArray; -typedef struct jbyteArrayStruct* jbyteArray; -typedef struct jcharArrayStruct* jcharArray; -typedef struct jshortArrayStruct* jshortArray; -typedef struct jintArrayStruct* jintArray; -typedef struct jlongArrayStruct* jlongArray; -typedef struct jfloatArrayStruct* jfloatArray; -typedef struct jdoubleArrayStruct* jdoubleArray; -typedef struct jobjectArrayStruct* jobjectArray; -#endif -typedef struct jstringArrayStruct* jstringArray; -typedef struct jarrayArrayStruct* jarrayArray; - -#define JRIConstructorMethodName "" - -/******************************************************************************* - * Signature Construction Macros - ******************************************************************************/ - -/* -** These macros can be used to construct signature strings. Hopefully their names -** are a little easier to remember than the single character they correspond to. -** For example, to specify the signature of the method: -** -** public int read(byte b[], int off, int len); -** -** you could write something like this in C: -** -** char* readSig = JRISigMethod(JRISigArray(JRISigByte) -** JRISigInt -** JRISigInt) JRISigInt; -** -** Of course, don't put commas between the types. -*/ -#define JRISigArray(T) "[" T -#define JRISigByte "B" -#define JRISigChar "C" -#define JRISigClass(name) "L" name ";" -#define JRISigFloat "F" -#define JRISigDouble "D" -#define JRISigMethod(args) "(" args ")" -#define JRISigNoArgs "" -#define JRISigInt "I" -#define JRISigLong "J" -#define JRISigShort "S" -#define JRISigVoid "V" -#define JRISigBoolean "Z" - -/******************************************************************************* - * Environments - ******************************************************************************/ - -extern JRI_PUBLIC_API(const struct JRIEnvInterface**) -JRI_GetCurrentEnv(void); - -/******************************************************************************* - * Specific Scalar Array Types - ******************************************************************************/ - -/* -** The JRI Native Method Interface does not support boolean arrays. This -** is to allow Java runtime implementations to optimize boolean array -** storage. Using the ScalarArray operations on boolean arrays is bound -** to fail, so convert any boolean arrays to byte arrays in Java before -** passing them to a native method. -*/ - -#define JRI_NewByteArray(env, length, initialValues) \ - JRI_NewScalarArray(env, length, JRISigByte, (jbyte*)(initialValues)) -#define JRI_GetByteArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetByteArrayElements(env, array) \ - JRI_GetScalarArrayElements(env, array) - -#define JRI_NewCharArray(env, length, initialValues) \ - JRI_NewScalarArray(env, ((length) * sizeof(jchar)), JRISigChar, (jbyte*)(initialValues)) -#define JRI_GetCharArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetCharArrayElements(env, array) \ - ((jchar*)JRI_GetScalarArrayElements(env, array)) - -#define JRI_NewShortArray(env, length, initialValues) \ - JRI_NewScalarArray(env, ((length) * sizeof(jshort)), JRISigShort, (jbyte*)(initialValues)) -#define JRI_GetShortArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetShortArrayElements(env, array) \ - ((jshort*)JRI_GetScalarArrayElements(env, array)) - -#define JRI_NewIntArray(env, length, initialValues) \ - JRI_NewScalarArray(env, ((length) * sizeof(jint)), JRISigInt, (jbyte*)(initialValues)) -#define JRI_GetIntArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetIntArrayElements(env, array) \ - ((jint*)JRI_GetScalarArrayElements(env, array)) - -#define JRI_NewLongArray(env, length, initialValues) \ - JRI_NewScalarArray(env, ((length) * sizeof(jlong)), JRISigLong, (jbyte*)(initialValues)) -#define JRI_GetLongArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetLongArrayElements(env, array) \ - ((jlong*)JRI_GetScalarArrayElements(env, array)) - -#define JRI_NewFloatArray(env, length, initialValues) \ - JRI_NewScalarArray(env, ((length) * sizeof(jfloat)), JRISigFloat, (jbyte*)(initialValues)) -#define JRI_GetFloatArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetFloatArrayElements(env, array) \ - ((jfloat*)JRI_GetScalarArrayElements(env, array)) - -#define JRI_NewDoubleArray(env, length, initialValues) \ - JRI_NewScalarArray(env, ((length) * sizeof(jdouble)), JRISigDouble, (jbyte*)(initialValues)) -#define JRI_GetDoubleArrayLength(env, array) \ - JRI_GetScalarArrayLength(env, array) -#define JRI_GetDoubleArrayElements(env, array) \ - ((jdouble*)JRI_GetScalarArrayElements(env, array)) - -/******************************************************************************/ -/* -** JDK Stuff -- This stuff is still needed while we're using the JDK -** dynamic linking strategy to call native methods. -*/ - -typedef union JRI_JDK_stack_item { - /* Non pointer items */ - jint i; - jfloat f; - jint o; - /* Pointer items */ - void *h; - void *p; - unsigned char *addr; -#ifdef IS_64 - double d; - long l; /* == 64bits! */ -#endif -} JRI_JDK_stack_item; - -typedef union JRI_JDK_Java8Str { - jint x[2]; - jdouble d; - jlong l; - void *p; - float f; -} JRI_JDK_Java8; - -/******************************************************************************/ -#ifdef __cplusplus -} -#endif -#endif /* JRITYPES_H */ -/******************************************************************************/ diff --git a/modules/juce_browser_plugin_client/wrapper/npapi/npapi.h b/modules/juce_browser_plugin_client/wrapper/npapi/npapi.h deleted file mode 100644 index 2522b723..00000000 --- a/modules/juce_browser_plugin_client/wrapper/npapi/npapi.h +++ /dev/null @@ -1,766 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - - -/* - * npapi.h $Revision: 3.48 $ - * Netscape client plug-in API spec - */ - -#ifndef _NPAPI_H_ -#define _NPAPI_H_ - -#ifdef __OS2__ -#pragma pack(1) -#endif - -#include "prtypes.h" -/* Copied from xp_core.h */ -/* removed #ifdef for hpux defined in /usr/include/model.h */ -#ifndef _INT16 -#define _INT16 -#endif -#ifndef _INT32 -#define _INT32 -#endif -#ifndef _UINT16 -#define _UINT16 -#endif -#ifndef _UINT32 -#define _UINT32 -#endif - -/* - * NO_NSPR_10_SUPPORT disables the inclusion - * of obsolete/protypes.h, whose int16, uint16, - * int32, and uint32 typedefs conflict with those - * in this file. - */ -#ifndef NO_NSPR_10_SUPPORT -#define NO_NSPR_10_SUPPORT -#endif -#ifdef OJI -#include "jri.h" /* Java Runtime Interface */ -#endif - -#if defined (__OS2__ ) || defined (OS2) -# ifndef XP_OS2 -# define XP_OS2 1 -# endif /* XP_OS2 */ -#endif /* __OS2__ */ - -#ifdef _WINDOWS -# include -# ifndef XP_WIN -# define XP_WIN 1 -# endif /* XP_WIN */ -#endif /* _WINDOWS */ - -#ifdef __MWERKS__ -# define _declspec __declspec -# ifdef __INTEL__ -# undef NULL -# ifndef XP_WIN -# define XP_WIN 1 -# endif /* XP_WIN */ -# endif /* __INTEL__ */ -#endif /* __MWERKS__ */ - -#ifdef XP_MACOSX -#include -#ifdef __LP64__ -#define NP_NO_QUICKDRAW -#endif -#endif - -#if defined(XP_UNIX) -# include -# if defined(MOZ_X11) -# include -# include -# endif -#endif - -/*----------------------------------------------------------------------*/ -/* Plugin Version Constants */ -/*----------------------------------------------------------------------*/ - -#define NP_VERSION_MAJOR 0 -#define NP_VERSION_MINOR 19 - - -/* The OS/2 version of Netscape uses RC_DATA to define the - mime types, file extensions, etc that are required. - Use a vertical bar to separate types, end types with \0. - FileVersion and ProductVersion are 32bit ints, all other - entries are strings the MUST be terminated wwith a \0. - -AN EXAMPLE: - -RCDATA NP_INFO_ProductVersion { 1,0,0,1,} - -RCDATA NP_INFO_MIMEType { "video/x-video|", - "video/x-flick\0" } -RCDATA NP_INFO_FileExtents { "avi|", - "flc\0" } -RCDATA NP_INFO_FileOpenName{ "MMOS2 video player(*.avi)|", - "MMOS2 Flc/Fli player(*.flc)\0" } - -RCDATA NP_INFO_FileVersion { 1,0,0,1 } -RCDATA NP_INFO_CompanyName { "Netscape Communications\0" } -RCDATA NP_INFO_FileDescription { "NPAVI32 Extension DLL\0" -RCDATA NP_INFO_InternalName { "NPAVI32\0" ) -RCDATA NP_INFO_LegalCopyright { "Copyright Netscape Communications \251 1996\0" -RCDATA NP_INFO_OriginalFilename { "NVAPI32.DLL" } -RCDATA NP_INFO_ProductName { "NPAVI32 Dynamic Link Library\0" } - -*/ - - -/* RC_DATA types for version info - required */ -#define NP_INFO_ProductVersion 1 -#define NP_INFO_MIMEType 2 -#define NP_INFO_FileOpenName 3 -#define NP_INFO_FileExtents 4 - -/* RC_DATA types for version info - used if found */ -#define NP_INFO_FileDescription 5 -#define NP_INFO_ProductName 6 - -/* RC_DATA types for version info - optional */ -#define NP_INFO_CompanyName 7 -#define NP_INFO_FileVersion 8 -#define NP_INFO_InternalName 9 -#define NP_INFO_LegalCopyright 10 -#define NP_INFO_OriginalFilename 11 - -#ifndef RC_INVOKED - - - -/*----------------------------------------------------------------------*/ -/* Definition of Basic Types */ -/*----------------------------------------------------------------------*/ - -#ifndef _UINT16 -typedef unsigned short uint16; -#endif - -#ifndef _UINT32 -# if defined(__alpha) || defined(__amd64__) || defined(__x86_64__) -typedef unsigned int uint32; -# else /* __alpha */ -typedef unsigned long uint32; -# endif /* __alpha */ -#endif - -/* - * AIX defines these in sys/inttypes.h included from sys/types.h - */ -#ifndef AIX -#ifndef _INT16 -typedef short int16; -#endif - -#ifndef _INT32 -# if defined(__alpha) || defined(__amd64__) || defined(__x86_64__) -typedef int int32; -# else /* __alpha */ -typedef long int32; -# endif /* __alpha */ -#endif -#endif - -#ifndef FALSE -#define FALSE (0) -#endif -#ifndef TRUE -#define TRUE (1) -#endif -#ifndef NULL -#define NULL (0L) -#endif - -#ifdef XP_MACOSX -typedef enum { -#ifndef NP_NO_QUICKDRAW - NPDrawingModelQuickDraw = 0, -#endif - NPDrawingModelCoreGraphics = 1 -} NPDrawingModel; -#endif - -typedef unsigned char NPBool; -typedef int16 NPError; -typedef int16 NPReason; -typedef char* NPMIMEType; - - - -/*----------------------------------------------------------------------*/ -/* Structures and definitions */ -/*----------------------------------------------------------------------*/ - -/* - * NPP is a plug-in's opaque instance handle - */ -typedef struct _NPP -{ - void* pdata; /* plug-in private data */ - void* ndata; /* netscape private data */ -} NPP_t; - -typedef NPP_t* NPP; - - -typedef struct _NPStream -{ - void* pdata; /* plug-in private data */ - void* ndata; /* netscape private data */ - const char* url; - uint32 end; - uint32 lastmodified; - void* notifyData; - const char* headers; /* Response headers from host. - * Exists only for >= NPVERS_HAS_RESPONSE_HEADERS. - * Used for HTTP only; NULL for non-HTTP. - * Available from NPP_NewStream onwards. - * Plugin should copy this data before storing it. - * Includes HTTP status line and all headers, - * preferably verbatim as received from server, - * headers formatted as in HTTP ("Header: Value"), - * and newlines (\n, NOT \r\n) separating lines. - * Terminated by \n\0 (NOT \n\n\0). */ -} NPStream; - - -typedef struct _NPByteRange -{ - int32 offset; /* negative offset means from the end */ - uint32 length; - struct _NPByteRange* next; -} NPByteRange; - - -typedef struct _NPSavedData -{ - int32 len; - void* buf; -} NPSavedData; - - -typedef struct _NPRect -{ - uint16 top; - uint16 left; - uint16 bottom; - uint16 right; -} NPRect; - -typedef struct _NPSize -{ - int32 width; - int32 height; -} NPSize; - -#ifdef XP_UNIX -/* - * Unix specific structures and definitions - */ - -/* - * Callback Structures. - * - * These are used to pass additional platform specific information. - */ -enum { - NP_SETWINDOW = 1, - NP_PRINT -}; - -typedef struct -{ - int32 type; -} NPAnyCallbackStruct; - -typedef struct -{ - int32 type; -#ifdef MOZ_X11 - Display* display; - Visual* visual; - Colormap colormap; - unsigned int depth; -#endif -} NPSetWindowCallbackStruct; - -typedef struct -{ - int32 type; - FILE* fp; -} NPPrintCallbackStruct; - -#endif /* XP_UNIX */ - - -/* - * The following masks are applied on certain platforms to NPNV and - * NPPV selectors that pass around pointers to COM interfaces. Newer - * compilers on some platforms may generate vtables that are not - * compatible with older compilers. To prevent older plugins from - * not understanding a new browser's ABI, these masks change the - * values of those selectors on those platforms. To remain backwards - * compatible with differenet versions of the browser, plugins can - * use these masks to dynamically determine and use the correct C++ - * ABI that the browser is expecting. This does not apply to Windows - * as Microsoft's COM ABI will likely not change. - */ - -#define NP_ABI_GCC3_MASK 0x10000000 -/* - * gcc 3.x generated vtables on UNIX and OSX are incompatible with - * previous compilers. - */ -#if (defined (XP_UNIX) && defined(__GNUC__) && (__GNUC__ >= 3)) -#define _NP_ABI_MIXIN_FOR_GCC3 NP_ABI_GCC3_MASK -#else -#define _NP_ABI_MIXIN_FOR_GCC3 0 -#endif - - -#define NP_ABI_MACHO_MASK 0x01000000 -/* - * On OSX, the Mach-O executable format is significantly - * different than CFM. In addition to having a different - * C++ ABI, it also has has different C calling convention. - * You must use glue code when calling between CFM and - * Mach-O C functions. - */ -#if (defined(TARGET_RT_MAC_MACHO)) -#define _NP_ABI_MIXIN_FOR_MACHO NP_ABI_MACHO_MASK -#else -#define _NP_ABI_MIXIN_FOR_MACHO 0 -#endif - - -#define NP_ABI_MASK (_NP_ABI_MIXIN_FOR_GCC3 | _NP_ABI_MIXIN_FOR_MACHO) - -/* - * List of variable names for which NPP_GetValue shall be implemented - */ -typedef enum { - NPPVpluginNameString = 1, - NPPVpluginDescriptionString, - NPPVpluginWindowBool, - NPPVpluginTransparentBool, - NPPVjavaClass, /* Not implemented in Mozilla 1.0 */ - NPPVpluginWindowSize, - NPPVpluginTimerInterval, - - NPPVpluginScriptableInstance = (10 | NP_ABI_MASK), - NPPVpluginScriptableIID = 11, - - /* Introduced in Mozilla 0.9.9 */ - NPPVjavascriptPushCallerBool = 12, - - /* Introduced in Mozilla 1.0 */ - NPPVpluginKeepLibraryInMemory = 13, - NPPVpluginNeedsXEmbed = 14, - - /* Get the NPObject for scripting the plugin. Introduced in Firefox - * 1.0 (NPAPI minor version 14). - */ - NPPVpluginScriptableNPObject = 15, - - /* Get the plugin value (as \0-terminated UTF-8 string data) for - * form submission if the plugin is part of a form. Use - * NPN_MemAlloc() to allocate memory for the string data. Introduced - * in Mozilla 1.8b2 (NPAPI minor version 15). - */ - NPPVformValue = 16 -#ifdef XP_MACOSX - /* Used for negotiating drawing models */ - , NPPVpluginDrawingModel = 1000 -#endif -} NPPVariable; - -/* - * List of variable names for which NPN_GetValue is implemented by Mozilla - */ -typedef enum { - NPNVxDisplay = 1, - NPNVxtAppContext, - NPNVnetscapeWindow, - NPNVjavascriptEnabledBool, - NPNVasdEnabledBool, - NPNVisOfflineBool, - - /* 10 and over are available on Mozilla builds starting with 0.9.4 */ - NPNVserviceManager = (10 | NP_ABI_MASK), - NPNVDOMElement = (11 | NP_ABI_MASK), /* available in Mozilla 1.2 */ - NPNVDOMWindow = (12 | NP_ABI_MASK), - NPNVToolkit = (13 | NP_ABI_MASK), - NPNVSupportsXEmbedBool = 14, - - /* Get the NPObject wrapper for the browser window. */ - NPNVWindowNPObject = 15, - - /* Get the NPObject wrapper for the plugins DOM element. */ - NPNVPluginElementNPObject = 16, - - NPNVSupportsWindowless = 17 - -#ifdef XP_MACOSX - /* Used for negotiating drawing models */ - , NPNVpluginDrawingModel = 1000 -#ifndef NP_NO_QUICKDRAW - , NPNVsupportsQuickDrawBool = 2000 -#endif - , NPNVsupportsCoreGraphicsBool = 2001 -#endif -} NPNVariable; - -/* - * The type of Tookkit the widgets use - */ -typedef enum { - NPNVGtk12 = 1, - NPNVGtk2 -} NPNToolkitType; - -/* - * The type of a NPWindow - it specifies the type of the data structure - * returned in the window field. - */ -typedef enum { - NPWindowTypeWindow = 1, - NPWindowTypeDrawable -} NPWindowType; - -typedef struct _NPWindow -{ - void* window; /* Platform specific window handle */ - /* OS/2: x - Position of bottom left corner */ - /* OS/2: y - relative to visible netscape window */ - int32 x; /* Position of top left corner relative */ - int32 y; /* to a netscape page. */ - uint32 width; /* Maximum window size */ - uint32 height; - NPRect clipRect; /* Clipping rectangle in port coordinates */ - /* Used by MAC only. */ -#if defined(XP_UNIX) && !defined(XP_MACOSX) - void * ws_info; /* Platform-dependent additonal data */ -#endif /* XP_UNIX */ - NPWindowType type; /* Is this a window or a drawable? */ -} NPWindow; - - -typedef struct _NPFullPrint -{ - NPBool pluginPrinted;/* Set TRUE if plugin handled fullscreen printing */ - NPBool printOne; /* TRUE if plugin should print one copy to default printer */ - void* platformPrint; /* Platform-specific printing info */ -} NPFullPrint; - -typedef struct _NPEmbedPrint -{ - NPWindow window; - void* platformPrint; /* Platform-specific printing info */ -} NPEmbedPrint; - -typedef struct _NPPrint -{ - uint16 mode; /* NP_FULL or NP_EMBED */ - union - { - NPFullPrint fullPrint; /* if mode is NP_FULL */ - NPEmbedPrint embedPrint; /* if mode is NP_EMBED */ - } print; -} NPPrint; - -#ifdef XP_MACOSX -typedef EventRecord NPEvent; -#elif defined(XP_WIN) -typedef struct _NPEvent -{ - uint16 event; - uint32 wParam; - uint32 lParam; -} NPEvent; -#elif defined(XP_OS2) -typedef struct _NPEvent -{ - uint32 event; - uint32 wParam; - uint32 lParam; -} NPEvent; -#elif defined (XP_UNIX) && defined(MOZ_X11) -typedef XEvent NPEvent; -#else -typedef void* NPEvent; -#endif /* XP_MACOSX */ - -#ifdef XP_MACOSX -typedef void* NPRegion; -#ifndef NP_NO_QUICKDRAW -typedef RgnHandle NPQDRegion; -#endif -typedef CGPathRef NPCGRegion; -#elif defined(XP_WIN) -typedef HRGN NPRegion; -#elif defined(XP_UNIX) && defined(MOZ_X11) -typedef Region NPRegion; -#else -typedef void *NPRegion; -#endif /* XP_MACOSX */ - -#ifdef XP_MACOSX -/* - * Mac-specific structures and definitions. - */ - -typedef struct NP_Port -{ - CGrafPtr port; /* Grafport */ - int32 portx; /* position inside the topmost window */ - int32 porty; -} NP_Port; - -typedef struct NP_CGContext -{ - CGContextRef context; - WindowRef window; -} NP_CGContext; - -/* - * Non-standard event types that can be passed to HandleEvent - */ - -enum NPEventType { - NPEventType_GetFocusEvent = (osEvt + 16), - NPEventType_LoseFocusEvent, - NPEventType_AdjustCursorEvent, - NPEventType_MenuCommandEvent, - NPEventType_ClippingChangedEvent, - NPEventType_ScrollingBeginsEvent = 1000, - NPEventType_ScrollingEndsEvent -}; - -#ifdef OBSOLETE -#define getFocusEvent (osEvt + 16) -#define loseFocusEvent (osEvt + 17) -#define adjustCursorEvent (osEvt + 18) -#endif -#endif /* XP_MACOSX */ - -/* - * Values for mode passed to NPP_New: - */ -#define NP_EMBED 1 -#define NP_FULL 2 - -/* - * Values for stream type passed to NPP_NewStream: - */ -#define NP_NORMAL 1 -#define NP_SEEK 2 -#define NP_ASFILE 3 -#define NP_ASFILEONLY 4 - -#define NP_MAXREADY (((unsigned)(~0)<<1)>>1) - - -/*----------------------------------------------------------------------*/ -/* Error and Reason Code definitions */ -/*----------------------------------------------------------------------*/ - -/* - * Values of type NPError: - */ -#define NPERR_BASE 0 -#define NPERR_NO_ERROR (NPERR_BASE + 0) -#define NPERR_GENERIC_ERROR (NPERR_BASE + 1) -#define NPERR_INVALID_INSTANCE_ERROR (NPERR_BASE + 2) -#define NPERR_INVALID_FUNCTABLE_ERROR (NPERR_BASE + 3) -#define NPERR_MODULE_LOAD_FAILED_ERROR (NPERR_BASE + 4) -#define NPERR_OUT_OF_MEMORY_ERROR (NPERR_BASE + 5) -#define NPERR_INVALID_PLUGIN_ERROR (NPERR_BASE + 6) -#define NPERR_INVALID_PLUGIN_DIR_ERROR (NPERR_BASE + 7) -#define NPERR_INCOMPATIBLE_VERSION_ERROR (NPERR_BASE + 8) -#define NPERR_INVALID_PARAM (NPERR_BASE + 9) -#define NPERR_INVALID_URL (NPERR_BASE + 10) -#define NPERR_FILE_NOT_FOUND (NPERR_BASE + 11) -#define NPERR_NO_DATA (NPERR_BASE + 12) -#define NPERR_STREAM_NOT_SEEKABLE (NPERR_BASE + 13) - -/* - * Values of type NPReason: - */ -#define NPRES_BASE 0 -#define NPRES_DONE (NPRES_BASE + 0) -#define NPRES_NETWORK_ERR (NPRES_BASE + 1) -#define NPRES_USER_BREAK (NPRES_BASE + 2) - -/* - * Don't use these obsolete error codes any more. - */ -#define NP_NOERR NP_NOERR_is_obsolete_use_NPERR_NO_ERROR -#define NP_EINVAL NP_EINVAL_is_obsolete_use_NPERR_GENERIC_ERROR -#define NP_EABORT NP_EABORT_is_obsolete_use_NPRES_USER_BREAK - -/* - * Version feature information - */ -#define NPVERS_HAS_STREAMOUTPUT 8 -#define NPVERS_HAS_NOTIFICATION 9 -#define NPVERS_HAS_LIVECONNECT 9 -#define NPVERS_WIN16_HAS_LIVECONNECT 9 -#define NPVERS_68K_HAS_LIVECONNECT 11 -#define NPVERS_HAS_WINDOWLESS 11 -#define NPVERS_HAS_XPCONNECT_SCRIPTING 13 -#define NPVERS_HAS_NPRUNTIME_SCRIPTING 14 -#define NPVERS_HAS_FORM_VALUES 15 -#define NPVERS_HAS_POPUPS_ENABLED_STATE 16 -#define NPVERS_HAS_RESPONSE_HEADERS 17 -#define NPVERS_HAS_NPOBJECT_ENUM 18 -#define NPVERS_HAS_PLUGIN_THREAD_ASYNC_CALL 19 - -/*----------------------------------------------------------------------*/ -/* Function Prototypes */ -/*----------------------------------------------------------------------*/ - -#if defined(_WINDOWS) && !defined(WIN32) -#define NP_LOADDS _loadds -#else -#if defined(__OS2__) -#define NP_LOADDS _System -#else -#define NP_LOADDS -#endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * NPP_* functions are provided by the plugin and called by the navigator. - */ - -#ifdef XP_UNIX -char* NPP_GetMIMEDescription(void); -#endif /* XP_UNIX */ - -NPError NP_LOADDS NPP_Initialize(void); -void NP_LOADDS NPP_Shutdown(void); -NPError NP_LOADDS NPP_New(NPMIMEType pluginType, NPP instance, - uint16 mode, int16 argc, char* argn[], - char* argv[], NPSavedData* saved); -NPError NP_LOADDS NPP_Destroy(NPP instance, NPSavedData** save); -NPError NP_LOADDS NPP_SetWindow(NPP instance, NPWindow* window); -NPError NP_LOADDS NPP_NewStream(NPP instance, NPMIMEType type, - NPStream* stream, NPBool seekable, - uint16* stype); -NPError NP_LOADDS NPP_DestroyStream(NPP instance, NPStream* stream, - NPReason reason); -int32 NP_LOADDS NPP_WriteReady(NPP instance, NPStream* stream); -int32 NP_LOADDS NPP_Write(NPP instance, NPStream* stream, int32 offset, - int32 len, void* buffer); -void NP_LOADDS NPP_StreamAsFile(NPP instance, NPStream* stream, - const char* fname); -void NP_LOADDS NPP_Print(NPP instance, NPPrint* platformPrint); -int16 NP_LOADDS NPP_HandleEvent(NPP instance, void* event); -void NP_LOADDS NPP_URLNotify(NPP instance, const char* url, - NPReason reason, void* notifyData); -#ifdef OJI -jref NP_LOADDS NPP_GetJavaClass(void); -#endif -NPError NP_LOADDS NPP_GetValue(NPP instance, NPPVariable variable, void *value); -NPError NP_LOADDS NPP_SetValue(NPP instance, NPNVariable variable, void *value); - -/* - * NPN_* functions are provided by the navigator and called by the plugin. - */ -void NP_LOADDS NPN_Version(int* plugin_major, int* plugin_minor, - int* netscape_major, int* netscape_minor); -NPError NP_LOADDS NPN_GetURLNotify(NPP instance, const char* url, - const char* target, void* notifyData); -NPError NP_LOADDS NPN_GetURL(NPP instance, const char* url, - const char* target); -NPError NP_LOADDS NPN_PostURLNotify(NPP instance, const char* url, - const char* target, uint32 len, - const char* buf, NPBool file, - void* notifyData); -NPError NP_LOADDS NPN_PostURL(NPP instance, const char* url, - const char* target, uint32 len, - const char* buf, NPBool file); -NPError NP_LOADDS NPN_RequestRead(NPStream* stream, NPByteRange* rangeList); -NPError NP_LOADDS NPN_NewStream(NPP instance, NPMIMEType type, - const char* target, NPStream** stream); -int32 NP_LOADDS NPN_Write(NPP instance, NPStream* stream, int32 len, void* buffer); -NPError NP_LOADDS NPN_DestroyStream(NPP instance, NPStream* stream, NPReason reason); -void NP_LOADDS NPN_Status(NPP instance, const char* message); -const char* NP_LOADDS NPN_UserAgent(NPP instance); -void* NP_LOADDS NPN_MemAlloc(uint32 size); -void NP_LOADDS NPN_MemFree(void* ptr); -uint32 NP_LOADDS NPN_MemFlush(uint32 size); -void NP_LOADDS NPN_ReloadPlugins(NPBool reloadPages); -#ifdef OJI -JRIEnv* NP_LOADDS NPN_GetJavaEnv(void); -jref NP_LOADDS NPN_GetJavaPeer(NPP instance); -#endif -NPError NP_LOADDS NPN_GetValue(NPP instance, NPNVariable variable, void *value); -NPError NP_LOADDS NPN_SetValue(NPP instance, NPPVariable variable, void *value); -void NP_LOADDS NPN_InvalidateRect(NPP instance, NPRect *invalidRect); -void NP_LOADDS NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion); -void NP_LOADDS NPN_ForceRedraw(NPP instance); -void NP_LOADDS NPN_PushPopupsEnabledState(NPP instance, NPBool enabled); -void NP_LOADDS NPN_PopPopupsEnabledState(NPP instance); -void NP_LOADDS NPN_PluginThreadAsyncCall(NPP instance, - void (*func) (void *), - void *userData); - -#ifdef __cplusplus -} /* end extern "C" */ -#endif - -#endif /* RC_INVOKED */ -#ifdef __OS2__ -#pragma pack() -#endif - -#endif /* _NPAPI_H_ */ diff --git a/modules/juce_browser_plugin_client/wrapper/npapi/npruntime.h b/modules/juce_browser_plugin_client/wrapper/npapi/npruntime.h deleted file mode 100644 index cd66ed85..00000000 --- a/modules/juce_browser_plugin_client/wrapper/npapi/npruntime.h +++ /dev/null @@ -1,423 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * Copyright ) 2004, Apple Computer, Inc. and The Mozilla Foundation. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the names of Apple Computer, Inc. ("Apple") or The Mozilla - * Foundation ("Mozilla") nor the names of their contributors may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY APPLE, MOZILLA AND THEIR CONTRIBUTORS "AS - * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE, MOZILLA OR - * THEIR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Revision 1 (March 4, 2004): - * Initial proposal. - * - * Revision 2 (March 10, 2004): - * All calls into script were made asynchronous. Results are - * provided via the NPScriptResultFunctionPtr callback. - * - * Revision 3 (March 10, 2004): - * Corrected comments to not refer to class retain/release FunctionPtrs. - * - * Revision 4 (March 11, 2004): - * Added additional convenience NPN_SetExceptionWithUTF8(). - * Changed NPHasPropertyFunctionPtr and NPHasMethodFunctionPtr to take NPClass - * pointers instead of NPObject pointers. - * Added NPIsValidIdentifier(). - * - * Revision 5 (March 17, 2004): - * Added context parameter to result callbacks from ScriptObject functions. - * - * Revision 6 (March 29, 2004): - * Renamed functions implemented by user agent to NPN_*. Removed _ from - * type names. - * Renamed "JavaScript" types to "Script". - * - * Revision 7 (April 21, 2004): - * NPIdentifier becomes a void*, was int32_t - * Remove NP_IsValidIdentifier, renamed NP_IdentifierFromUTF8 to NP_GetIdentifier - * Added NPVariant and modified functions to use this new type. - * - * Revision 8 (July 9, 2004): - * Updated to joint Apple-Mozilla license. - * - */ -#ifndef _NP_RUNTIME_H_ -#define _NP_RUNTIME_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "nptypes.h" - -/* - This API is used to facilitate binding code written in C to script - objects. The API in this header does not assume the presence of a - user agent. That is, it can be used to bind C code to scripting - environments outside of the context of a user agent. - - However, the normal use of the this API is in the context of a - scripting environment running in a browser or other user agent. - In particular it is used to support the extended Netscape - script-ability API for plugins (NP-SAP). NP-SAP is an extension - of the Netscape plugin API. As such we have adopted the use of - the "NP" prefix for this API. - - The following NP{N|P}Variables were added to the Netscape plugin - API (in npapi.h): - - NPNVWindowNPObject - NPNVPluginElementNPObject - NPPVpluginScriptableNPObject - - These variables are exposed through NPN_GetValue() and - NPP_GetValue() (respectively) and are used to establish the - initial binding between the user agent and native code. The DOM - objects in the user agent can be examined and manipulated using - the NPN_ functions that operate on NPObjects described in this - header. - - To the extent possible the assumptions about the scripting - language used by the scripting environment have been minimized. -*/ - -#define NP_BEGIN_MACRO do { -#define NP_END_MACRO } while (0) - -/* - Objects (non-primitive data) passed between 'C' and script is - always wrapped in an NPObject. The 'interface' of an NPObject is - described by an NPClass. -*/ -typedef struct NPObject NPObject; -typedef struct NPClass NPClass; - -typedef char NPUTF8; -typedef struct _NPString { - const NPUTF8 *utf8characters; - uint32_t utf8length; -} NPString; - -typedef enum { - NPVariantType_Void, - NPVariantType_Null, - NPVariantType_Bool, - NPVariantType_Int32, - NPVariantType_Double, - NPVariantType_String, - NPVariantType_Object -} NPVariantType; - -typedef struct _NPVariant { - NPVariantType type; - union { - bool boolValue; - int32_t intValue; - double doubleValue; - NPString stringValue; - NPObject *objectValue; - } value; -} NPVariant; - -/* - NPN_ReleaseVariantValue is called on all 'out' parameters - references. Specifically it is to be called on variants that own - their value, as is the case with all non-const NPVariant* - arguments after a successful call to any methods (except this one) - in this API. - - After calling NPN_ReleaseVariantValue, the type of the variant - will be NPVariantType_Void. -*/ -void NPN_ReleaseVariantValue(NPVariant *variant); - -#define NPVARIANT_IS_VOID(_v) ((_v).type == NPVariantType_Void) -#define NPVARIANT_IS_NULL(_v) ((_v).type == NPVariantType_Null) -#define NPVARIANT_IS_BOOLEAN(_v) ((_v).type == NPVariantType_Bool) -#define NPVARIANT_IS_INT32(_v) ((_v).type == NPVariantType_Int32) -#define NPVARIANT_IS_DOUBLE(_v) ((_v).type == NPVariantType_Double) -#define NPVARIANT_IS_STRING(_v) ((_v).type == NPVariantType_String) -#define NPVARIANT_IS_OBJECT(_v) ((_v).type == NPVariantType_Object) - -#define NPVARIANT_TO_BOOLEAN(_v) ((_v).value.boolValue) -#define NPVARIANT_TO_INT32(_v) ((_v).value.intValue) -#define NPVARIANT_TO_DOUBLE(_v) ((_v).value.doubleValue) -#define NPVARIANT_TO_STRING(_v) ((_v).value.stringValue) -#define NPVARIANT_TO_OBJECT(_v) ((_v).value.objectValue) - -#define VOID_TO_NPVARIANT(_v) \ -NP_BEGIN_MACRO \ - (_v).type = NPVariantType_Void; \ - (_v).value.objectValue = NULL; \ -NP_END_MACRO - -#define NULL_TO_NPVARIANT(_v) \ -NP_BEGIN_MACRO \ - (_v).type = NPVariantType_Null; \ - (_v).value.objectValue = NULL; \ -NP_END_MACRO - -#define BOOLEAN_TO_NPVARIANT(_val, _v) \ -NP_BEGIN_MACRO \ - (_v).type = NPVariantType_Bool; \ - (_v).value.boolValue = !!(_val); \ -NP_END_MACRO - -#define INT32_TO_NPVARIANT(_val, _v) \ -NP_BEGIN_MACRO \ - (_v).type = NPVariantType_Int32; \ - (_v).value.intValue = _val; \ -NP_END_MACRO - -#define DOUBLE_TO_NPVARIANT(_val, _v) \ -NP_BEGIN_MACRO \ - (_v).type = NPVariantType_Double; \ - (_v).value.doubleValue = _val; \ -NP_END_MACRO - -#define STRINGZ_TO_NPVARIANT(_val, _v) \ -NP_BEGIN_MACRO \ - (_v).type = NPVariantType_String; \ - NPString str = { _val, strlen(_val) }; \ - (_v).value.stringValue = str; \ -NP_END_MACRO - -#define STRINGN_TO_NPVARIANT(_val, _len, _v) \ -NP_BEGIN_MACRO \ - (_v).type = NPVariantType_String; \ - NPString str = { _val, _len }; \ - (_v).value.stringValue = str; \ -NP_END_MACRO - -#define OBJECT_TO_NPVARIANT(_val, _v) \ -NP_BEGIN_MACRO \ - (_v).type = NPVariantType_Object; \ - (_v).value.objectValue = _val; \ -NP_END_MACRO - - -/* - Type mappings (JavaScript types have been used for illustration - purposes): - - JavaScript to C (NPVariant with type:) - undefined NPVariantType_Void - null NPVariantType_Null - Boolean NPVariantType_Bool - Number NPVariantType_Double or NPVariantType_Int32 - String NPVariantType_String - Object NPVariantType_Object - - C (NPVariant with type:) to JavaScript - NPVariantType_Void undefined - NPVariantType_Null null - NPVariantType_Bool Boolean - NPVariantType_Int32 Number - NPVariantType_Double Number - NPVariantType_String String - NPVariantType_Object Object -*/ - -typedef void *NPIdentifier; - -/* - NPObjects have methods and properties. Methods and properties are - identified with NPIdentifiers. These identifiers may be reflected - in script. NPIdentifiers can be either strings or integers, IOW, - methods and properties can be identified by either strings or - integers (i.e. foo["bar"] vs foo[1]). NPIdentifiers can be - compared using ==. In case of any errors, the requested - NPIdentifier(s) will be NULL. -*/ -NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name); -void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount, - NPIdentifier *identifiers); -NPIdentifier NPN_GetIntIdentifier(int32_t intid); -bool NPN_IdentifierIsString(NPIdentifier identifier); - -/* - The NPUTF8 returned from NPN_UTF8FromIdentifier SHOULD be freed. -*/ -NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier); - -/* - Get the integer represented by identifier. If identifier is not an - integer identifier, the behaviour is undefined. -*/ -int32_t NPN_IntFromIdentifier(NPIdentifier identifier); - -/* - NPObject behavior is implemented using the following set of - callback functions. - - The NPVariant *result argument of these functions (where - applicable) should be released using NPN_ReleaseVariantValue(). -*/ -typedef NPObject *(*NPAllocateFunctionPtr)(NPP npp, NPClass *aClass); -typedef void (*NPDeallocateFunctionPtr)(NPObject *npobj); -typedef void (*NPInvalidateFunctionPtr)(NPObject *npobj); -typedef bool (*NPHasMethodFunctionPtr)(NPObject *npobj, NPIdentifier name); -typedef bool (*NPInvokeFunctionPtr)(NPObject *npobj, NPIdentifier name, - const NPVariant *args, uint32_t argCount, - NPVariant *result); -typedef bool (*NPInvokeDefaultFunctionPtr)(NPObject *npobj, - const NPVariant *args, - uint32_t argCount, - NPVariant *result); -typedef bool (*NPHasPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name); -typedef bool (*NPGetPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name, - NPVariant *result); -typedef bool (*NPSetPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name, - const NPVariant *value); -typedef bool (*NPRemovePropertyFunctionPtr)(NPObject *npobj, - NPIdentifier name); -typedef bool (*NPEnumerationFunctionPtr)(NPObject *npobj, NPIdentifier **value, - uint32_t *count); -typedef bool (*NPConstructFunctionPtr)(NPObject *npobj, - const NPVariant *args, - uint32_t argCount, - NPVariant *result); - -/* - NPObjects returned by create, retain, invoke, and getProperty pass - a reference count to the caller. That is, the callee adds a - reference count which passes to the caller. It is the caller's - responsibility to release the returned object. - - NPInvokeFunctionPtr function may return 0 to indicate a void - result. - - NPInvalidateFunctionPtr is called by the scripting environment - when the native code is shutdown. Any attempt to message a - NPObject instance after the invalidate callback has been - called will result in undefined behavior, even if the native code - is still retaining those NPObject instances. (The runtime - will typically return immediately, with 0 or NULL, from an attempt - to dispatch to a NPObject, but this behavior should not be - depended upon.) - - The NPEnumerationFunctionPtr function may pass an array of - NPIdentifiers back to the caller. The callee allocs the memory of - the array using NPN_MemAlloc(), and it's the caller's responsibility - to release it using NPN_MemFree(). -*/ -struct NPClass -{ - uint32_t structVersion; - NPAllocateFunctionPtr allocate; - NPDeallocateFunctionPtr deallocate; - NPInvalidateFunctionPtr invalidate; - NPHasMethodFunctionPtr hasMethod; - NPInvokeFunctionPtr invoke; - NPInvokeDefaultFunctionPtr invokeDefault; - NPHasPropertyFunctionPtr hasProperty; - NPGetPropertyFunctionPtr getProperty; - NPSetPropertyFunctionPtr setProperty; - NPRemovePropertyFunctionPtr removeProperty; - NPEnumerationFunctionPtr enumerate; - NPConstructFunctionPtr construct; -}; - -#define NP_CLASS_STRUCT_VERSION 3 - -#define NP_CLASS_STRUCT_VERSION_ENUM 2 -#define NP_CLASS_STRUCT_VERSION_CTOR 3 - -#define NP_CLASS_STRUCT_VERSION_HAS_ENUM(npclass) \ - ((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_ENUM) - -#define NP_CLASS_STRUCT_VERSION_HAS_CTOR(npclass) \ - ((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_CTOR) - -struct NPObject { - NPClass *_class; - uint32_t referenceCount; - /* - * Additional space may be allocated here by types of NPObjects - */ -}; - -/* - If the class has an allocate function, NPN_CreateObject invokes - that function, otherwise a NPObject is allocated and - returned. This method will initialize the referenceCount member of - the NPObject to 1. -*/ -NPObject *NPN_CreateObject(NPP npp, NPClass *aClass); - -/* - Increment the NPObject's reference count. -*/ -NPObject *NPN_RetainObject(NPObject *npobj); - -/* - Decremented the NPObject's reference count. If the reference - count goes to zero, the class's destroy function is invoke if - specified, otherwise the object is freed directly. -*/ -void NPN_ReleaseObject(NPObject *npobj); - -/* - Functions to access script objects represented by NPObject. - - Calls to script objects are synchronous. If a function returns a - value, it will be supplied via the result NPVariant - argument. Successful calls will return true, false will be - returned in case of an error. - - Calls made from plugin code to script must be made from the thread - on which the plugin was initialized. -*/ - -bool NPN_Invoke(NPP npp, NPObject *npobj, NPIdentifier methodName, - const NPVariant *args, uint32_t argCount, NPVariant *result); -bool NPN_InvokeDefault(NPP npp, NPObject *npobj, const NPVariant *args, - uint32_t argCount, NPVariant *result); -bool NPN_Evaluate(NPP npp, NPObject *npobj, NPString *script, - NPVariant *result); -bool NPN_GetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName, - NPVariant *result); -bool NPN_SetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName, - const NPVariant *value); -bool NPN_RemoveProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName); -bool NPN_HasProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName); -bool NPN_HasMethod(NPP npp, NPObject *npobj, NPIdentifier methodName); -bool NPN_Enumerate(NPP npp, NPObject *npobj, NPIdentifier **identifier, - uint32_t *count); -bool NPN_Construct(NPP npp, NPObject *npobj, const NPVariant *args, - uint32_t argCount, NPVariant *result); - -/* - NPN_SetException may be called to trigger a script exception upon - return from entry points into NPObjects. Typical usage: - - NPN_SetException (npobj, message); -*/ -void NPN_SetException(NPObject *npobj, const NPUTF8 *message); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/modules/juce_browser_plugin_client/wrapper/npapi/nptypes.h b/modules/juce_browser_plugin_client/wrapper/npapi/nptypes.h deleted file mode 100644 index ea200806..00000000 --- a/modules/juce_browser_plugin_client/wrapper/npapi/nptypes.h +++ /dev/null @@ -1,105 +0,0 @@ -/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * mozilla.org. - * Portions created by the Initial Developer are Copyright (C) 2004 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Johnny Stenback (Original author) - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/* - * Header file for ensuring that C99 types ([u]int32_t and bool) are - * available. - */ - -#if defined(WIN32) || defined(OS2) - /* - * Win32 and OS/2 don't know C99, so define [u]int_32 here. The bool - * is predefined tho, both in C and C++. - */ - typedef int int32_t; - typedef unsigned int uint32_t; -#elif defined(_AIX) || defined(__sun) || defined(__osf__) || defined(IRIX) || defined(HPUX) - /* - * AIX and SunOS ship a inttypes.h header that defines [u]int32_t, - * but not bool for C. - */ - #include - - #ifndef __cplusplus - typedef int bool; - #endif -#elif defined(bsdi) || defined(FREEBSD) || defined(OPENBSD) - /* - * BSD/OS, FreeBSD, and OpenBSD ship sys/types.h that define int32_t and - * u_int32_t. - */ - #include - - /* - * BSD/OS ships no header that defines uint32_t, nor bool (for C) - */ - #if defined(bsdi) - typedef u_int32_t uint32_t; - - #if !defined(__cplusplus) - typedef int bool; - #endif - #else - /* - * FreeBSD and OpenBSD define uint32_t and bool. - */ - #include - #include - #endif -#elif defined(BEOS) - #include -#else - /* - * For those that ship a standard C99 stdint.h header file, include - * it. Can't do the same for stdbool.h tho, since some systems ship - * with a stdbool.h file that doesn't compile! - */ - #include - - #ifndef __cplusplus - #if !defined(__GNUC__) || (__GNUC__ > 2 || __GNUC_MINOR__ > 95) - #include - #else - /* - * GCC 2.91 can't deal with a typedef for bool, but a #define - * works. - */ - #define bool int - #endif - #endif -#endif diff --git a/modules/juce_browser_plugin_client/wrapper/npapi/npupp.h b/modules/juce_browser_plugin_client/wrapper/npapi/npupp.h deleted file mode 100644 index 59dd942d..00000000 --- a/modules/juce_browser_plugin_client/wrapper/npapi/npupp.h +++ /dev/null @@ -1,715 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - - -/* - * npupp.h $Revision: 3.26 $ - * function call mecahnics needed by platform specific glue code. - */ - - -#ifndef _NPUPP_H_ -#define _NPUPP_H_ - -#if defined(__OS2__) -#pragma pack(1) -#endif - -#ifndef GENERATINGCFM -#define GENERATINGCFM 0 -#endif - -#ifndef _NPAPI_H_ -#include "npapi.h" -#endif - -#include "npruntime.h" - -#include "jri.h" - - -/****************************************************************************************** - plug-in function table macros - for each function in and out of the plugin API we define - typedef NPP_FooUPP - #define NewNPP_FooProc - #define CallNPP_FooProc - *******************************************************************************************/ - - -/* NPP_Initialize */ -typedef void (* NP_LOADDS NPP_InitializeUPP)(void); -#define NewNPP_InitializeProc(FUNC) \ - ((NPP_InitializeUPP) (FUNC)) -#define CallNPP_InitializeProc(FUNC) \ - (*(FUNC))() - -/* NPP_Shutdown */ -typedef void (* NP_LOADDS NPP_ShutdownUPP)(void); -#define NewNPP_ShutdownProc(FUNC) \ - ((NPP_ShutdownUPP) (FUNC)) -#define CallNPP_ShutdownProc(FUNC) \ - (*(FUNC))() - -/* NPP_New */ -typedef NPError (* NP_LOADDS NPP_NewUPP)(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData* saved); -#define NewNPP_NewProc(FUNC) \ - ((NPP_NewUPP) (FUNC)) -#define CallNPP_NewProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7)) - -/* NPP_Destroy */ -typedef NPError (* NP_LOADDS NPP_DestroyUPP)(NPP instance, NPSavedData** save); -#define NewNPP_DestroyProc(FUNC) \ - ((NPP_DestroyUPP) (FUNC)) -#define CallNPP_DestroyProc(FUNC, ARG1, ARG2) \ - (*(FUNC))((ARG1), (ARG2)) - -/* NPP_SetWindow */ -typedef NPError (* NP_LOADDS NPP_SetWindowUPP)(NPP instance, NPWindow* window); -#define NewNPP_SetWindowProc(FUNC) \ - ((NPP_SetWindowUPP) (FUNC)) -#define CallNPP_SetWindowProc(FUNC, ARG1, ARG2) \ - (*(FUNC))((ARG1), (ARG2)) - -/* NPP_NewStream */ -typedef NPError (* NP_LOADDS NPP_NewStreamUPP)(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16* stype); -#define NewNPP_NewStreamProc(FUNC) \ - ((NPP_NewStreamUPP) (FUNC)) -#define CallNPP_NewStreamProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5)) - -/* NPP_DestroyStream */ -typedef NPError (* NP_LOADDS NPP_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason); -#define NewNPP_DestroyStreamProc(FUNC) \ - ((NPP_DestroyStreamUPP) (FUNC)) -#define CallNPP_DestroyStreamProc(FUNC, NPParg, NPStreamPtr, NPReasonArg) \ - (*(FUNC))((NPParg), (NPStreamPtr), (NPReasonArg)) - -/* NPP_WriteReady */ -typedef int32 (* NP_LOADDS NPP_WriteReadyUPP)(NPP instance, NPStream* stream); -#define NewNPP_WriteReadyProc(FUNC) \ - ((NPP_WriteReadyUPP) (FUNC)) -#define CallNPP_WriteReadyProc(FUNC, NPParg, NPStreamPtr) \ - (*(FUNC))((NPParg), (NPStreamPtr)) - -/* NPP_Write */ -typedef int32 (* NP_LOADDS NPP_WriteUPP)(NPP instance, NPStream* stream, int32 offset, int32 len, void* buffer); -#define NewNPP_WriteProc(FUNC) \ - ((NPP_WriteUPP) (FUNC)) -#define CallNPP_WriteProc(FUNC, NPParg, NPStreamPtr, offsetArg, lenArg, bufferPtr) \ - (*(FUNC))((NPParg), (NPStreamPtr), (offsetArg), (lenArg), (bufferPtr)) - -/* NPP_StreamAsFile */ -typedef void (* NP_LOADDS NPP_StreamAsFileUPP)(NPP instance, NPStream* stream, const char* fname); -#define NewNPP_StreamAsFileProc(FUNC) \ - ((NPP_StreamAsFileUPP) (FUNC)) -#define CallNPP_StreamAsFileProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) - -/* NPP_Print */ -typedef void (* NP_LOADDS NPP_PrintUPP)(NPP instance, NPPrint* platformPrint); -#define NewNPP_PrintProc(FUNC) \ - ((NPP_PrintUPP) (FUNC)) -#define CallNPP_PrintProc(FUNC, NPParg, NPPrintArg) \ - (*(FUNC))((NPParg), (NPPrintArg)) - -/* NPP_HandleEvent */ -typedef int16 (* NP_LOADDS NPP_HandleEventUPP)(NPP instance, void* event); -#define NewNPP_HandleEventProc(FUNC) \ - ((NPP_HandleEventUPP) (FUNC)) -#define CallNPP_HandleEventProc(FUNC, NPParg, voidPtr) \ - (*(FUNC))((NPParg), (voidPtr)) - -/* NPP_URLNotify */ -typedef void (* NP_LOADDS NPP_URLNotifyUPP)(NPP instance, const char* url, NPReason reason, void* notifyData); -#define NewNPP_URLNotifyProc(FUNC) \ - ((NPP_URLNotifyUPP) (FUNC)) -#define CallNPP_URLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4)) - -/* NPP_GetValue */ -typedef NPError (* NP_LOADDS NPP_GetValueUPP)(NPP instance, NPPVariable variable, void *ret_alue); -#define NewNPP_GetValueProc(FUNC) \ - ((NPP_GetValueUPP) (FUNC)) -#define CallNPP_GetValueProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) - -/* NPP_SetValue */ -typedef NPError (* NP_LOADDS NPP_SetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue); -#define NewNPP_SetValueProc(FUNC) \ - ((NPP_SetValueUPP) (FUNC)) -#define CallNPP_SetValueProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) - -/* - * Netscape entry points - */ - - -/* NPN_GetValue */ -typedef NPError (* NP_LOADDS NPN_GetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue); -#define NewNPN_GetValueProc(FUNC) \ - ((NPN_GetValueUPP) (FUNC)) -#define CallNPN_GetValueProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) - -/* NPN_SetValue */ -typedef NPError (* NP_LOADDS NPN_SetValueUPP)(NPP instance, NPPVariable variable, void *ret_alue); -#define NewNPN_SetValueProc(FUNC) \ - ((NPN_SetValueUPP) (FUNC)) -#define CallNPN_SetValueProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) - -/* NPN_GetUrlNotify */ -typedef NPError (* NP_LOADDS NPN_GetURLNotifyUPP)(NPP instance, const char* url, const char* window, void* notifyData); -#define NewNPN_GetURLNotifyProc(FUNC) \ - ((NPN_GetURLNotifyUPP) (FUNC)) -#define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4)) - -/* NPN_PostUrlNotify */ -typedef NPError (* NP_LOADDS NPN_PostURLNotifyUPP)(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file, void* notifyData); -#define NewNPN_PostURLNotifyProc(FUNC) \ - ((NPN_PostURLNotifyUPP) (FUNC)) -#define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7)) - -/* NPN_GetUrl */ -typedef NPError (* NP_LOADDS NPN_GetURLUPP)(NPP instance, const char* url, const char* window); -#define NewNPN_GetURLProc(FUNC) \ - ((NPN_GetURLUPP) (FUNC)) -#define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) - -/* NPN_PostUrl */ -typedef NPError (* NP_LOADDS NPN_PostURLUPP)(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file); -#define NewNPN_PostURLProc(FUNC) \ - ((NPN_PostURLUPP) (FUNC)) -#define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6)) - -/* NPN_RequestRead */ -typedef NPError (* NP_LOADDS NPN_RequestReadUPP)(NPStream* stream, NPByteRange* rangeList); -#define NewNPN_RequestReadProc(FUNC) \ - ((NPN_RequestReadUPP) (FUNC)) -#define CallNPN_RequestReadProc(FUNC, stream, range) \ - (*(FUNC))((stream), (range)) - -/* NPN_NewStream */ -typedef NPError (* NP_LOADDS NPN_NewStreamUPP)(NPP instance, NPMIMEType type, const char* window, NPStream** stream); -#define NewNPN_NewStreamProc(FUNC) \ - ((NPN_NewStreamUPP) (FUNC)) -#define CallNPN_NewStreamProc(FUNC, npp, type, window, stream) \ - (*(FUNC))((npp), (type), (window), (stream)) - -/* NPN_Write */ -typedef int32 (* NP_LOADDS NPN_WriteUPP)(NPP instance, NPStream* stream, int32 len, void* buffer); -#define NewNPN_WriteProc(FUNC) \ - ((NPN_WriteUPP) (FUNC)) -#define CallNPN_WriteProc(FUNC, npp, stream, len, buffer) \ - (*(FUNC))((npp), (stream), (len), (buffer)) - -/* NPN_DestroyStream */ -typedef NPError (* NP_LOADDS NPN_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason); -#define NewNPN_DestroyStreamProc(FUNC) \ - ((NPN_DestroyStreamUPP) (FUNC)) -#define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason) \ - (*(FUNC))((npp), (stream), (reason)) - -/* NPN_Status */ -typedef void (* NP_LOADDS NPN_StatusUPP)(NPP instance, const char* message); -#define NewNPN_StatusProc(FUNC) \ - ((NPN_StatusUPP) (FUNC)) -#define CallNPN_StatusProc(FUNC, npp, msg) \ - (*(FUNC))((npp), (msg)) - -/* NPN_UserAgent */ -typedef const char* (* NP_LOADDS NPN_UserAgentUPP)(NPP instance); -#define NewNPN_UserAgentProc(FUNC) \ - ((NPN_UserAgentUPP) (FUNC)) -#define CallNPN_UserAgentProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_MemAlloc */ -typedef void* (* NP_LOADDS NPN_MemAllocUPP)(uint32 size); -#define NewNPN_MemAllocProc(FUNC) \ - ((NPN_MemAllocUPP) (FUNC)) -#define CallNPN_MemAllocProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN__MemFree */ -typedef void (* NP_LOADDS NPN_MemFreeUPP)(void* ptr); -#define NewNPN_MemFreeProc(FUNC) \ - ((NPN_MemFreeUPP) (FUNC)) -#define CallNPN_MemFreeProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_MemFlush */ -typedef uint32 (* NP_LOADDS NPN_MemFlushUPP)(uint32 size); -#define NewNPN_MemFlushProc(FUNC) \ - ((NPN_MemFlushUPP) (FUNC)) -#define CallNPN_MemFlushProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_ReloadPlugins */ -typedef void (* NP_LOADDS NPN_ReloadPluginsUPP)(NPBool reloadPages); -#define NewNPN_ReloadPluginsProc(FUNC) \ - ((NPN_ReloadPluginsUPP) (FUNC)) -#define CallNPN_ReloadPluginsProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_GetJavaEnv */ -typedef JRIEnv* (* NP_LOADDS NPN_GetJavaEnvUPP)(void); -#define NewNPN_GetJavaEnvProc(FUNC) \ - ((NPN_GetJavaEnvUPP) (FUNC)) -#define CallNPN_GetJavaEnvProc(FUNC) \ - (*(FUNC))() - -/* NPN_GetJavaPeer */ -typedef jref (* NP_LOADDS NPN_GetJavaPeerUPP)(NPP instance); -#define NewNPN_GetJavaPeerProc(FUNC) \ - ((NPN_GetJavaPeerUPP) (FUNC)) -#define CallNPN_GetJavaPeerProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_InvalidateRect */ -typedef void (* NP_LOADDS NPN_InvalidateRectUPP)(NPP instance, NPRect *rect); -#define NewNPN_InvalidateRectProc(FUNC) \ - ((NPN_InvalidateRectUPP) (FUNC)) -#define CallNPN_InvalidateRectProc(FUNC, ARG1, ARG2) \ - (*(FUNC))((ARG1), (ARG2)) - -/* NPN_InvalidateRegion */ -typedef void (* NP_LOADDS NPN_InvalidateRegionUPP)(NPP instance, NPRegion region); -#define NewNPN_InvalidateRegionProc(FUNC) \ - ((NPN_InvalidateRegionUPP) (FUNC)) -#define CallNPN_InvalidateRegionProc(FUNC, ARG1, ARG2) \ - (*(FUNC))((ARG1), (ARG2)) - -/* NPN_ForceRedraw */ -typedef void (* NP_LOADDS NPN_ForceRedrawUPP)(NPP instance); -#define NewNPN_ForceRedrawProc(FUNC) \ - ((NPN_ForceRedrawUPP) (FUNC)) -#define CallNPN_ForceRedrawProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_GetStringIdentifier */ -typedef NPIdentifier (* NP_LOADDS NPN_GetStringIdentifierUPP)(const NPUTF8* name); -#define NewNPN_GetStringIdentifierProc(FUNC) \ - ((NPN_GetStringIdentifierUPP) (FUNC)) -#define CallNPN_GetStringIdentifierProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_GetStringIdentifiers */ -typedef void (* NP_LOADDS NPN_GetStringIdentifiersUPP)(const NPUTF8** names, - int32_t nameCount, - NPIdentifier* identifiers); -#define NewNPN_GetStringIdentifiersProc(FUNC) \ - ((NPN_GetStringIdentifiersUPP) (FUNC)) -#define CallNPN_GetStringIdentifiersProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) - -/* NPN_GetIntIdentifier */ -typedef NPIdentifier (* NP_LOADDS NPN_GetIntIdentifierUPP)(int32_t intid); -#define NewNPN_GetIntIdentifierProc(FUNC) \ - ((NPN_GetIntIdentifierUPP) (FUNC)) -#define CallNPN_GetIntIdentifierProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_IdentifierIsString */ -typedef bool (* NP_LOADDS NPN_IdentifierIsStringUPP)(NPIdentifier identifier); -#define NewNPN_IdentifierIsStringProc(FUNC) \ - ((NPN_IdentifierIsStringUPP) (FUNC)) -#define CallNPN_IdentifierIsStringProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_UTF8FromIdentifier */ -typedef NPUTF8* (* NP_LOADDS NPN_UTF8FromIdentifierUPP)(NPIdentifier identifier); -#define NewNPN_UTF8FromIdentifierProc(FUNC) \ - ((NPN_UTF8FromIdentifierUPP) (FUNC)) -#define CallNPN_UTF8FromIdentifierProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_IntFromIdentifier */ -typedef int32_t (* NP_LOADDS NPN_IntFromIdentifierUPP)(NPIdentifier identifier); -#define NewNPN_IntFromIdentifierProc(FUNC) \ - ((NPN_IntFromIdentifierUPP) (FUNC)) -#define CallNPN_IntFromIdentifierProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_CreateObject */ -typedef NPObject* (* NP_LOADDS NPN_CreateObjectUPP)(NPP npp, NPClass *aClass); -#define NewNPN_CreateObjectProc(FUNC) \ - ((NPN_CreateObjectUPP) (FUNC)) -#define CallNPN_CreateObjectProc(FUNC, ARG1, ARG2) \ - (*(FUNC))((ARG1), (ARG2)) - -/* NPN_RetainObject */ -typedef NPObject* (* NP_LOADDS NPN_RetainObjectUPP)(NPObject *obj); -#define NewNPN_RetainObjectProc(FUNC) \ - ((NPN_RetainObjectUPP) (FUNC)) -#define CallNPN_RetainObjectProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_ReleaseObject */ -typedef void (* NP_LOADDS NPN_ReleaseObjectUPP)(NPObject *obj); -#define NewNPN_ReleaseObjectProc(FUNC) \ - ((NPN_ReleaseObjectUPP) (FUNC)) -#define CallNPN_ReleaseObjectProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_Invoke */ -typedef bool (* NP_LOADDS NPN_InvokeUPP)(NPP npp, NPObject* obj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result); -#define NewNPN_InvokeProc(FUNC) \ - ((NPN_InvokeUPP) (FUNC)) -#define CallNPN_InvokeProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6)) - -/* NPN_InvokeDefault */ -typedef bool (* NP_LOADDS NPN_InvokeDefaultUPP)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result); -#define NewNPN_InvokeDefaultProc(FUNC) \ - ((NPN_InvokeDefaultUPP) (FUNC)) -#define CallNPN_InvokeDefaultProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5)) - -/* NPN_Evaluate */ -typedef bool (* NP_LOADDS NPN_EvaluateUPP)(NPP npp, NPObject *obj, NPString *script, NPVariant *result); -#define NewNPN_EvaluateProc(FUNC) \ - ((NPN_EvaluateUPP) (FUNC)) -#define CallNPN_EvaluateProc(FUNC, ARG1, ARG2, ARG3, ARG4) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4)) - -/* NPN_GetProperty */ -typedef bool (* NP_LOADDS NPN_GetPropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName, NPVariant *result); -#define NewNPN_GetPropertyProc(FUNC) \ - ((NPN_GetPropertyUPP) (FUNC)) -#define CallNPN_GetPropertyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4)) - -/* NPN_SetProperty */ -typedef bool (* NP_LOADDS NPN_SetPropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName, const NPVariant *value); -#define NewNPN_SetPropertyProc(FUNC) \ - ((NPN_SetPropertyUPP) (FUNC)) -#define CallNPN_SetPropertyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4)) - -/* NPN_RemoveProperty */ -typedef bool (* NP_LOADDS NPN_RemovePropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName); -#define NewNPN_RemovePropertyProc(FUNC) \ - ((NPN_RemovePropertyUPP) (FUNC)) -#define CallNPN_RemovePropertyProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) - -/* NPN_HasProperty */ -typedef bool (* NP_LOADDS NPN_HasPropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName); -#define NewNPN_HasPropertyProc(FUNC) \ - ((NPN_HasPropertyUPP) (FUNC)) -#define CallNPN_HasPropertyProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) - -/* NPN_HasMethod */ -typedef bool (* NP_LOADDS NPN_HasMethodUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName); -#define NewNPN_HasMethodProc(FUNC) \ - ((NPN_HasMethodUPP) (FUNC)) -#define CallNPN_HasMethodProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) - -/* NPN_ReleaseVariantValue */ -typedef void (* NP_LOADDS NPN_ReleaseVariantValueUPP)(NPVariant *variant); -#define NewNPN_ReleaseVariantValueProc(FUNC) \ - ((NPN_ReleaseVariantValueUPP) (FUNC)) -#define CallNPN_ReleaseVariantValueProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_SetException */ -typedef void (* NP_LOADDS NPN_SetExceptionUPP)(NPObject *obj, const NPUTF8 *message); -#define NewNPN_SetExceptionProc(FUNC) \ - ((NPN_SetExceptionUPP) (FUNC)) -#define CallNPN_SetExceptionProc(FUNC, ARG1, ARG2) \ - (*(FUNC))((ARG1), (ARG2)) - -/* NPN_PushPopupsEnabledStateUPP */ -typedef bool (* NP_LOADDS NPN_PushPopupsEnabledStateUPP)(NPP npp, NPBool enabled); -#define NewNPN_PushPopupsEnabledStateProc(FUNC) \ - ((NPN_PushPopupsEnabledStateUPP) (FUNC)) -#define CallNPN_PushPopupsEnabledStateProc(FUNC, ARG1, ARG2) \ - (*(FUNC))((ARG1), (ARG2)) - -/* NPN_PopPopupsEnabledState */ -typedef bool (* NP_LOADDS NPN_PopPopupsEnabledStateUPP)(NPP npp); -#define NewNPN_PopPopupsEnabledStateProc(FUNC) \ - ((NPN_PopPopupsEnabledStateUPP) (FUNC)) -#define CallNPN_PopPopupsEnabledStateProc(FUNC, ARG1) \ - (*(FUNC))((ARG1)) - -/* NPN_Enumerate */ -typedef bool (* NP_LOADDS NPN_EnumerateUPP)(NPP npp, NPObject *obj, NPIdentifier **identifier, uint32_t *count); -#define NewNPN_EnumerateProc(FUNC) \ - ((NPN_EnumerateUPP) (FUNC)) -#define CallNPN_EnumerateProc(FUNC, ARG1, ARG2, ARG3, ARG4) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4)) - -/* NPN_PluginThreadAsyncCall */ -typedef void (* NP_LOADDS NPN_PluginThreadAsyncCallUPP)(NPP instance, void (*func)(void *), void *userData); -#define NewNPN_PluginThreadAsyncCallProc(FUNC) \ - ((NPN_PluginThreadAsyncCallUPP) (FUNC)) -#define CallNPN_PluginThreadAsyncCallProc(FUNC, ARG1, ARG2, ARG3) \ - (*(FUNC))((ARG1), (ARG2), (ARG3)) - -/* NPN_Construct */ -typedef bool (* NP_LOADDS NPN_ConstructUPP)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result); -#define NewNPN_ConstructProc(FUNC) \ - ((NPN_ConstructUPP) (FUNC)) -#define CallNPN_ConstructProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \ - (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5)) - - - -/****************************************************************************************** - * The actual plugin function table definitions - *******************************************************************************************/ - -typedef struct _NPPluginFuncs { - uint16 size; - uint16 version; - NPP_NewUPP newp; - NPP_DestroyUPP destroy; - NPP_SetWindowUPP setwindow; - NPP_NewStreamUPP newstream; - NPP_DestroyStreamUPP destroystream; - NPP_StreamAsFileUPP asfile; - NPP_WriteReadyUPP writeready; - NPP_WriteUPP write; - NPP_PrintUPP print; - NPP_HandleEventUPP event; - NPP_URLNotifyUPP urlnotify; - JRIGlobalRef javaClass; - NPP_GetValueUPP getvalue; - NPP_SetValueUPP setvalue; -} NPPluginFuncs; - -typedef struct _NPNetscapeFuncs { - uint16 size; - uint16 version; - NPN_GetURLUPP geturl; - NPN_PostURLUPP posturl; - NPN_RequestReadUPP requestread; - NPN_NewStreamUPP newstream; - NPN_WriteUPP write; - NPN_DestroyStreamUPP destroystream; - NPN_StatusUPP status; - NPN_UserAgentUPP uagent; - NPN_MemAllocUPP memalloc; - NPN_MemFreeUPP memfree; - NPN_MemFlushUPP memflush; - NPN_ReloadPluginsUPP reloadplugins; - NPN_GetJavaEnvUPP getJavaEnv; - NPN_GetJavaPeerUPP getJavaPeer; - NPN_GetURLNotifyUPP geturlnotify; - NPN_PostURLNotifyUPP posturlnotify; - NPN_GetValueUPP getvalue; - NPN_SetValueUPP setvalue; - NPN_InvalidateRectUPP invalidaterect; - NPN_InvalidateRegionUPP invalidateregion; - NPN_ForceRedrawUPP forceredraw; - NPN_GetStringIdentifierUPP getstringidentifier; - NPN_GetStringIdentifiersUPP getstringidentifiers; - NPN_GetIntIdentifierUPP getintidentifier; - NPN_IdentifierIsStringUPP identifierisstring; - NPN_UTF8FromIdentifierUPP utf8fromidentifier; - NPN_IntFromIdentifierUPP intfromidentifier; - NPN_CreateObjectUPP createobject; - NPN_RetainObjectUPP retainobject; - NPN_ReleaseObjectUPP releaseobject; - NPN_InvokeUPP invoke; - NPN_InvokeDefaultUPP invokeDefault; - NPN_EvaluateUPP evaluate; - NPN_GetPropertyUPP getproperty; - NPN_SetPropertyUPP setproperty; - NPN_RemovePropertyUPP removeproperty; - NPN_HasPropertyUPP hasproperty; - NPN_HasMethodUPP hasmethod; - NPN_ReleaseVariantValueUPP releasevariantvalue; - NPN_SetExceptionUPP setexception; - NPN_PushPopupsEnabledStateUPP pushpopupsenabledstate; - NPN_PopPopupsEnabledStateUPP poppopupsenabledstate; - NPN_EnumerateUPP enumerate; - NPN_PluginThreadAsyncCallUPP pluginthreadasynccall; - NPN_ConstructUPP construct; -} NPNetscapeFuncs; - - -#ifdef XP_MACOSX -/****************************************************************************************** - * Mac platform-specific plugin glue stuff - *******************************************************************************************/ - -/* - * Main entry point of the plugin. - * This routine will be called when the plugin is loaded. The function - * tables are passed in and the plugin fills in the NPPluginFuncs table - * and NPPShutdownUPP for Netscape's use. - */ -typedef NPError (* NP_LOADDS NPP_MainEntryUPP)(NPNetscapeFuncs*, NPPluginFuncs*, NPP_ShutdownUPP*); -#define NewNPP_MainEntryProc(FUNC) \ - ((NPP_MainEntryUPP) (FUNC)) -#define CallNPP_MainEntryProc(FUNC, netscapeFunc, pluginFunc, shutdownUPP) \ - (*(FUNC))((netscapeFunc), (pluginFunc), (shutdownUPP)) - -/* - * Mac OS X version(s) of NP_GetMIMEDescription(const char *) - * These can be called to retreive MIME information from the plugin dynamically - * - * Note: For compatibility with Quicktime, BPSupportedMIMEtypes is another way - * to get mime info from the plugin only on OSX and may not be supported - * in furture version -- use NP_GetMIMEDescription instead - */ - -enum -{ - kBPSupportedMIMETypesStructVers_1 = 1 -}; - -typedef struct _BPSupportedMIMETypes -{ - SInt32 structVersion; /* struct version */ - Handle typeStrings; /* STR# formated handle, allocated by plug-in */ - Handle infoStrings; /* STR# formated handle, allocated by plug-in */ -} BPSupportedMIMETypes; -OSErr BP_GetSupportedMIMETypes(BPSupportedMIMETypes *mimeInfo, UInt32 flags); - - /* NP_GetMIMEDescription */ -#define NP_GETMIMEDESCRIPTION_NAME "NP_GetMIMEDescription" -typedef const char* (* NP_LOADDS NP_GetMIMEDescriptionUPP)(); -#define NewNP_GetMIMEDescEntryProc(FUNC) \ - ((NP_GetMIMEDescriptionUPP) (FUNC)) -#define CallNP_GetMIMEDescEntryProc(FUNC) \ - (*(FUNC))() - -/* BP_GetSupportedMIMETypes */ -typedef OSErr (* NP_LOADDS BP_GetSupportedMIMETypesUPP)(BPSupportedMIMETypes*, UInt32); -#define NewBP_GetSupportedMIMETypesEntryProc(FUNC) \ - ((BP_GetSupportedMIMETypesUPP) (FUNC)) -#define CallBP_GetMIMEDescEntryProc(FUNC, mimeInfo, flags) \ - (*(FUNC))((mimeInfo), (flags)) - -#endif /* XP_MACOSX */ - -#if defined(_WINDOWS) -#define OSCALL WINAPI -#else -#if defined(__OS2__) -#define OSCALL _System -#else -#define OSCALL -#endif -#endif - -#if defined(XP_UNIX) -/* GCC 3.3 and later support the visibility attribute. */ -#if defined(__GNUC__) && \ - ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) -#define NP_VISIBILITY_DEFAULT __attribute__((visibility("default"))) -#else -#define NP_VISIBILITY_DEFAULT -#endif - -#define NP_EXPORT(__type) NP_VISIBILITY_DEFAULT __type -#endif - -#if defined( _WINDOWS ) || defined (__OS2__) - -#ifdef __cplusplus -extern "C" { -#endif - -/* plugin meta member functions */ -#if defined(__OS2__) - -typedef struct _NPPluginData { /* Alternate OS2 Plugin interface */ - char *pMimeTypes; - char *pFileExtents; - char *pFileOpenTemplate; - char *pProductName; - char *pProductDescription; - unsigned long dwProductVersionMS; - unsigned long dwProductVersionLS; -} NPPluginData; - -NPError OSCALL NP_GetPluginData(NPPluginData * pPluginData); - -#endif - -NPError OSCALL NP_GetEntryPoints(NPPluginFuncs* pFuncs); - -NPError OSCALL NP_Initialize(NPNetscapeFuncs* pFuncs); - -NPError OSCALL NP_Shutdown(); - -char* NP_GetMIMEDescription(); - -#ifdef __cplusplus -} -#endif - -#endif /* _WINDOWS || __OS2__ */ - -#if defined(__OS2__) -#pragma pack() -#endif - -#ifdef XP_UNIX - -#ifdef __cplusplus -extern "C" { -#endif - -/* plugin meta member functions */ - -NP_EXPORT(char*) NP_GetMIMEDescription(void); -NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs*, NPPluginFuncs*); -NP_EXPORT(NPError) NP_Shutdown(void); -NP_EXPORT(NPError) NP_GetValue(void *future, NPPVariable aVariable, void *aValue); - -#ifdef __cplusplus -} -#endif - -#endif /* XP_UNIX */ - -#endif /* _NPUPP_H_ */ diff --git a/modules/juce_browser_plugin_client/wrapper/npapi/obsolete/protypes.h b/modules/juce_browser_plugin_client/wrapper/npapi/obsolete/protypes.h deleted file mode 100644 index 73ed1530..00000000 --- a/modules/juce_browser_plugin_client/wrapper/npapi/obsolete/protypes.h +++ /dev/null @@ -1,252 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Netscape Portable Runtime (NSPR). - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998-2000 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/* - * This header typedefs the old 'native' types to the new PRs. - * These definitions are scheduled to be eliminated at the earliest - * possible time. The NSPR API is implemented and documented using - * the new definitions. - */ - -#if !defined(PROTYPES_H) -#define PROTYPES_H - -typedef PRUintn uintn; -#ifndef _XP_Core_ -typedef PRIntn intn; -#endif - -/* - * It is trickier to define uint, int8, uint8, int16, uint16, - * int32, uint32, int64, and uint64 because some of these int - * types are defined by standard header files on some platforms. - * Our strategy here is to include all such standard headers - * first, and then define these int types only if they are not - * defined by those standard headers. - */ - -/* - * BeOS defines all the int types below in its standard header - * file SupportDefs.h. - */ -#ifdef XP_BEOS -#include -#endif - -/* - * OpenVMS defines all the int types below in its standard - * header files ints.h and types.h. - */ -#ifdef VMS -#include -#include -#endif - -/* - * SVR4 typedef of uint is commonly found on UNIX machines. - * - * On AIX 4.3, sys/inttypes.h (which is included by sys/types.h) - * defines the types int8, int16, int32, and int64. - */ -#ifdef XP_UNIX -#include -#endif - -/* model.h on HP-UX defines int8, int16, and int32. */ -#ifdef HPUX -#include -#endif - -/* - * uint - */ - -#if !defined(XP_BEOS) && !defined(VMS) \ - && !defined(XP_UNIX) || defined(NTO) -typedef PRUintn uint; -#endif - -/* - * uint64 - */ - -#if !defined(XP_BEOS) && !defined(VMS) -typedef PRUint64 uint64; -#endif - -/* - * uint32 - */ - -#if !defined(XP_BEOS) && !defined(VMS) -#if !defined(XP_MAC) && !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO) -typedef PRUint32 uint32; -#else -typedef unsigned long uint32; -#endif -#endif - -/* - * uint16 - */ - -#if !defined(XP_BEOS) && !defined(VMS) -typedef PRUint16 uint16; -#endif - -/* - * uint8 - */ - -#if !defined(XP_BEOS) && !defined(VMS) -typedef PRUint8 uint8; -#endif - -/* - * int64 - */ - -#if !defined(XP_BEOS) && !defined(VMS) \ - && !defined(_PR_AIX_HAVE_BSD_INT_TYPES) -typedef PRInt64 int64; -#endif - -/* - * int32 - */ - -#if !defined(XP_BEOS) && !defined(VMS) \ - && !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ - && !defined(HPUX) -#if !defined(XP_MAC) && !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO) -typedef PRInt32 int32; -#else -typedef long int32; -#endif -#endif - -/* - * int16 - */ - -#if !defined(XP_BEOS) && !defined(VMS) \ - && !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ - && !defined(HPUX) -typedef PRInt16 int16; -#endif - -/* - * int8 - */ - -#if !defined(XP_BEOS) && !defined(VMS) \ - && !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ - && !defined(HPUX) -typedef PRInt8 int8; -#endif - -typedef PRFloat64 float64; -typedef PRUptrdiff uptrdiff_t; -typedef PRUword uprword_t; -typedef PRWord prword_t; - - -/* Re: prbit.h */ -#define TEST_BIT PR_TEST_BIT -#define SET_BIT PR_SET_BIT -#define CLEAR_BIT PR_CLEAR_BIT - -/* Re: prarena.h->plarena.h */ -#define PRArena PLArena -#define PRArenaPool PLArenaPool -#define PRArenaStats PLArenaStats -#define PR_ARENA_ALIGN PL_ARENA_ALIGN -#define PR_INIT_ARENA_POOL PL_INIT_ARENA_POOL -#define PR_ARENA_ALLOCATE PL_ARENA_ALLOCATE -#define PR_ARENA_GROW PL_ARENA_GROW -#define PR_ARENA_MARK PL_ARENA_MARK -#define PR_CLEAR_UNUSED PL_CLEAR_UNUSED -#define PR_CLEAR_ARENA PL_CLEAR_ARENA -#define PR_ARENA_RELEASE PL_ARENA_RELEASE -#define PR_COUNT_ARENA PL_COUNT_ARENA -#define PR_ARENA_DESTROY PL_ARENA_DESTROY -#define PR_InitArenaPool PL_InitArenaPool -#define PR_FreeArenaPool PL_FreeArenaPool -#define PR_FinishArenaPool PL_FinishArenaPool -#define PR_CompactArenaPool PL_CompactArenaPool -#define PR_ArenaFinish PL_ArenaFinish -#define PR_ArenaAllocate PL_ArenaAllocate -#define PR_ArenaGrow PL_ArenaGrow -#define PR_ArenaRelease PL_ArenaRelease -#define PR_ArenaCountAllocation PL_ArenaCountAllocation -#define PR_ArenaCountInplaceGrowth PL_ArenaCountInplaceGrowth -#define PR_ArenaCountGrowth PL_ArenaCountGrowth -#define PR_ArenaCountRelease PL_ArenaCountRelease -#define PR_ArenaCountRetract PL_ArenaCountRetract - -/* Re: prhash.h->plhash.h */ -#define PRHashEntry PLHashEntry -#define PRHashTable PLHashTable -#define PRHashNumber PLHashNumber -#define PRHashFunction PLHashFunction -#define PRHashComparator PLHashComparator -#define PRHashEnumerator PLHashEnumerator -#define PRHashAllocOps PLHashAllocOps -#define PR_NewHashTable PL_NewHashTable -#define PR_HashTableDestroy PL_HashTableDestroy -#define PR_HashTableRawLookup PL_HashTableRawLookup -#define PR_HashTableRawAdd PL_HashTableRawAdd -#define PR_HashTableRawRemove PL_HashTableRawRemove -#define PR_HashTableAdd PL_HashTableAdd -#define PR_HashTableRemove PL_HashTableRemove -#define PR_HashTableEnumerateEntries PL_HashTableEnumerateEntries -#define PR_HashTableLookup PL_HashTableLookup -#define PR_HashTableDump PL_HashTableDump -#define PR_HashString PL_HashString -#define PR_CompareStrings PL_CompareStrings -#define PR_CompareValues PL_CompareValues - -#if defined(XP_MAC) -#ifndef TRUE /* Mac standard is lower case true */ - #define TRUE 1 -#endif -#ifndef FALSE /* Mac standard is lower case false */ - #define FALSE 0 -#endif -#endif - -#endif /* !defined(PROTYPES_H) */ diff --git a/modules/juce_browser_plugin_client/wrapper/npapi/prcpucfg.h b/modules/juce_browser_plugin_client/wrapper/npapi/prcpucfg.h deleted file mode 100644 index af285483..00000000 --- a/modules/juce_browser_plugin_client/wrapper/npapi/prcpucfg.h +++ /dev/null @@ -1,300 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Netscape Portable Runtime (NSPR). - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998-2000 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef nspr_cpucfg___ -#define nspr_cpucfg___ - -#ifndef XP_PC -#define XP_PC -#endif - -#ifndef WIN32 -#define WIN32 -#endif - -#ifndef WIN95 -#define WIN95 -#endif - -#define PR_AF_INET6 23 /* same as AF_INET6 */ - -#if defined(_M_IX86) || defined(_X86_) - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - -#define PR_BYTES_PER_BYTE 1 -#define PR_BYTES_PER_SHORT 2 -#define PR_BYTES_PER_INT 4 -#define PR_BYTES_PER_INT64 8 -#define PR_BYTES_PER_LONG 4 -#define PR_BYTES_PER_FLOAT 4 -#define PR_BYTES_PER_WORD 4 -#define PR_BYTES_PER_DWORD 8 -#define PR_BYTES_PER_DOUBLE 8 - -#define PR_BITS_PER_BYTE 8 -#define PR_BITS_PER_SHORT 16 -#define PR_BITS_PER_INT 32 -#define PR_BITS_PER_INT64 64 -#define PR_BITS_PER_LONG 32 -#define PR_BITS_PER_FLOAT 32 -#define PR_BITS_PER_WORD 32 -#define PR_BITS_PER_DWORD 64 -#define PR_BITS_PER_DOUBLE 64 - -#define PR_BITS_PER_BYTE_LOG2 3 -#define PR_BITS_PER_SHORT_LOG2 4 -#define PR_BITS_PER_INT_LOG2 5 -#define PR_BITS_PER_INT64_LOG2 6 -#define PR_BITS_PER_LONG_LOG2 5 -#define PR_BITS_PER_FLOAT_LOG2 5 -#define PR_BITS_PER_WORD_LOG2 5 -#define PR_BITS_PER_DWORD_LOG2 6 -#define PR_BITS_PER_DOUBLE_LOG2 6 - -#define PR_ALIGN_OF_SHORT 2 -#define PR_ALIGN_OF_INT 4 -#define PR_ALIGN_OF_LONG 4 -#define PR_ALIGN_OF_INT64 8 -#define PR_ALIGN_OF_FLOAT 4 -#define PR_ALIGN_OF_WORD 4 -#define PR_ALIGN_OF_DWORD 8 -#define PR_ALIGN_OF_DOUBLE 4 -#define PR_ALIGN_OF_POINTER 4 - -#define PR_BYTES_PER_WORD_LOG2 2 -#define PR_BYTES_PER_DWORD_LOG2 2 - -#elif defined(_ALPHA_) - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - -#define PR_BYTES_PER_BYTE 1 -#define PR_BYTES_PER_SHORT 2 -#define PR_BYTES_PER_INT 4 -#define PR_BYTES_PER_INT64 8 -#define PR_BYTES_PER_LONG 4 -#define PR_BYTES_PER_FLOAT 4 -#define PR_BYTES_PER_DOUBLE 8 -#define PR_BYTES_PER_WORD 4 -#define PR_BYTES_PER_DWORD 8 - -#define PR_BITS_PER_BYTE 8 -#define PR_BITS_PER_SHORT 16 -#define PR_BITS_PER_INT 32 -#define PR_BITS_PER_INT64 64 -#define PR_BITS_PER_LONG 32 -#define PR_BITS_PER_FLOAT 32 -#define PR_BITS_PER_DOUBLE 64 -#define PR_BITS_PER_WORD 32 - -#define PR_BITS_PER_BYTE_LOG2 3 -#define PR_BITS_PER_SHORT_LOG2 4 -#define PR_BITS_PER_INT_LOG2 5 -#define PR_BITS_PER_INT64_LOG2 6 -#define PR_BITS_PER_LONG_LOG2 5 -#define PR_BITS_PER_FLOAT_LOG2 5 -#define PR_BITS_PER_DOUBLE_LOG2 6 -#define PR_BITS_PER_WORD_LOG2 5 - -#define PR_BYTES_PER_WORD_LOG2 2 -#define PR_BYTES_PER_DWORD_LOG2 3 - -#define PR_ALIGN_OF_SHORT 2 -#define PR_ALIGN_OF_INT 4 -#define PR_ALIGN_OF_LONG 4 -#define PR_ALIGN_OF_INT64 8 -#define PR_ALIGN_OF_FLOAT 4 -#define PR_ALIGN_OF_DOUBLE 8 -#define PR_ALIGN_OF_POINTER 4 - -#elif defined(_AMD64_) - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN -#define IS_64 - -#define PR_BYTES_PER_BYTE 1 -#define PR_BYTES_PER_SHORT 2 -#define PR_BYTES_PER_INT 4 -#define PR_BYTES_PER_INT64 8 -#define PR_BYTES_PER_LONG 4 -#define PR_BYTES_PER_FLOAT 4 -#define PR_BYTES_PER_WORD 8 -#define PR_BYTES_PER_DWORD 8 -#define PR_BYTES_PER_DOUBLE 8 - -#define PR_BITS_PER_BYTE 8 -#define PR_BITS_PER_SHORT 16 -#define PR_BITS_PER_INT 32 -#define PR_BITS_PER_INT64 64 -#define PR_BITS_PER_LONG 32 -#define PR_BITS_PER_FLOAT 32 -#define PR_BITS_PER_WORD 64 -#define PR_BITS_PER_DWORD 64 -#define PR_BITS_PER_DOUBLE 64 - -#define PR_BITS_PER_BYTE_LOG2 3 -#define PR_BITS_PER_SHORT_LOG2 4 -#define PR_BITS_PER_INT_LOG2 5 -#define PR_BITS_PER_INT64_LOG2 6 -#define PR_BITS_PER_LONG_LOG2 5 -#define PR_BITS_PER_FLOAT_LOG2 5 -#define PR_BITS_PER_WORD_LOG2 6 -#define PR_BITS_PER_DWORD_LOG2 6 -#define PR_BITS_PER_DOUBLE_LOG2 6 - -#define PR_ALIGN_OF_SHORT 2 -#define PR_ALIGN_OF_INT 4 -#define PR_ALIGN_OF_LONG 4 -#define PR_ALIGN_OF_INT64 8 -#define PR_ALIGN_OF_FLOAT 4 -#define PR_ALIGN_OF_WORD 8 -#define PR_ALIGN_OF_DWORD 8 -#define PR_ALIGN_OF_DOUBLE 8 -#define PR_ALIGN_OF_POINTER 8 - -#define PR_BYTES_PER_WORD_LOG2 3 -#define PR_BYTES_PER_DWORD_LOG2 3 - -#elif defined(_IA64_) - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN -#define IS_64 - -#define PR_BYTES_PER_BYTE 1 -#define PR_BYTES_PER_SHORT 2 -#define PR_BYTES_PER_INT 4 -#define PR_BYTES_PER_INT64 8 -#define PR_BYTES_PER_LONG 4 -#define PR_BYTES_PER_FLOAT 4 -#define PR_BYTES_PER_WORD 8 -#define PR_BYTES_PER_DWORD 8 -#define PR_BYTES_PER_DOUBLE 8 - -#define PR_BITS_PER_BYTE 8 -#define PR_BITS_PER_SHORT 16 -#define PR_BITS_PER_INT 32 -#define PR_BITS_PER_INT64 64 -#define PR_BITS_PER_LONG 32 -#define PR_BITS_PER_FLOAT 32 -#define PR_BITS_PER_WORD 64 -#define PR_BITS_PER_DWORD 64 -#define PR_BITS_PER_DOUBLE 64 - -#define PR_BITS_PER_BYTE_LOG2 3 -#define PR_BITS_PER_SHORT_LOG2 4 -#define PR_BITS_PER_INT_LOG2 5 -#define PR_BITS_PER_INT64_LOG2 6 -#define PR_BITS_PER_LONG_LOG2 5 -#define PR_BITS_PER_FLOAT_LOG2 5 -#define PR_BITS_PER_WORD_LOG2 6 -#define PR_BITS_PER_DWORD_LOG2 6 -#define PR_BITS_PER_DOUBLE_LOG2 6 - -#define PR_ALIGN_OF_SHORT 2 -#define PR_ALIGN_OF_INT 4 -#define PR_ALIGN_OF_LONG 4 -#define PR_ALIGN_OF_INT64 8 -#define PR_ALIGN_OF_FLOAT 4 -#define PR_ALIGN_OF_WORD 8 -#define PR_ALIGN_OF_DWORD 8 -#define PR_ALIGN_OF_DOUBLE 8 -#define PR_ALIGN_OF_POINTER 8 - -#define PR_BYTES_PER_WORD_LOG2 3 -#define PR_BYTES_PER_DWORD_LOG2 3 - -#else /* defined(_M_IX86) || defined(_X86_) */ - -#error unknown processor architecture - -#endif /* defined(_M_IX86) || defined(_X86_) */ - -#ifndef HAVE_LONG_LONG -#define HAVE_LONG_LONG -#endif - -#ifndef NO_NSPR_10_SUPPORT - -#define BYTES_PER_BYTE PR_BYTES_PER_BYTE -#define BYTES_PER_SHORT PR_BYTES_PER_SHORT -#define BYTES_PER_INT PR_BYTES_PER_INT -#define BYTES_PER_INT64 PR_BYTES_PER_INT64 -#define BYTES_PER_LONG PR_BYTES_PER_LONG -#define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT -#define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE -#define BYTES_PER_WORD PR_BYTES_PER_WORD -#define BYTES_PER_DWORD PR_BYTES_PER_DWORD - -#define BITS_PER_BYTE PR_BITS_PER_BYTE -#define BITS_PER_SHORT PR_BITS_PER_SHORT -#define BITS_PER_INT PR_BITS_PER_INT -#define BITS_PER_INT64 PR_BITS_PER_INT64 -#define BITS_PER_LONG PR_BITS_PER_LONG -#define BITS_PER_FLOAT PR_BITS_PER_FLOAT -#define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE -#define BITS_PER_WORD PR_BITS_PER_WORD - -#define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2 -#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2 -#define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2 -#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2 -#define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2 -#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2 -#define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2 -#define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2 - -#define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT -#define ALIGN_OF_INT PR_ALIGN_OF_INT -#define ALIGN_OF_LONG PR_ALIGN_OF_LONG -#define ALIGN_OF_INT64 PR_ALIGN_OF_INT64 -#define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT -#define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE -#define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER -#define ALIGN_OF_WORD PR_ALIGN_OF_WORD - -#define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2 -#define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2 -#define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2 - -#endif /* NO_NSPR_10_SUPPORT */ - -#endif /* nspr_cpucfg___ */ diff --git a/modules/juce_browser_plugin_client/wrapper/npapi/prtypes.h b/modules/juce_browser_plugin_client/wrapper/npapi/prtypes.h deleted file mode 100644 index 7adb4c9b..00000000 --- a/modules/juce_browser_plugin_client/wrapper/npapi/prtypes.h +++ /dev/null @@ -1,568 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is the Netscape Portable Runtime (NSPR). - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998-2000 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/* -** File: prtypes.h -** Description: Definitions of NSPR's basic types -** -** Prototypes and macros used to make up for deficiencies that we have found -** in ANSI environments. -** -** Since we do not wrap and all the other standard headers, authors -** of portable code will not know in general that they need these definitions. -** Instead of requiring these authors to find the dependent uses in their code -** and take the following steps only in those C files, we take steps once here -** for all C files. -**/ - -#ifndef prtypes_h___ -#define prtypes_h___ - -#ifdef MDCPUCFG -#include MDCPUCFG -#else -#include "prcpucfg.h" -#endif - -#include - -/*********************************************************************** -** MACROS: PR_EXTERN -** PR_IMPLEMENT -** DESCRIPTION: -** These are only for externally visible routines and globals. For -** internal routines, just use "extern" for type checking and that -** will not export internal cross-file or forward-declared symbols. -** Define a macro for declaring procedures return types. We use this to -** deal with windoze specific type hackery for DLL definitions. Use -** PR_EXTERN when the prototype for the method is declared. Use -** PR_IMPLEMENT for the implementation of the method. -** -** Example: -** in dowhim.h -** PR_EXTERN( void ) DoWhatIMean( void ); -** in dowhim.c -** PR_IMPLEMENT( void ) DoWhatIMean( void ) { return; } -** -** -***********************************************************************/ -#if defined(WIN32) - -#define PR_EXPORT(__type) extern __declspec(dllexport) __type -#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type -#define PR_IMPORT(__type) __declspec(dllimport) __type -#define PR_IMPORT_DATA(__type) __declspec(dllimport) __type - -#define PR_EXTERN(__type) extern __declspec(dllexport) __type -#define PR_IMPLEMENT(__type) __declspec(dllexport) __type -#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type -#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type - -#define PR_CALLBACK -#define PR_CALLBACK_DECL -#define PR_STATIC_CALLBACK(__x) static __x - -#elif defined(XP_BEOS) - -#define PR_EXPORT(__type) extern __declspec(dllexport) __type -#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type -#define PR_IMPORT(__type) extern __declspec(dllexport) __type -#define PR_IMPORT_DATA(__type) extern __declspec(dllexport) __type - -#define PR_EXTERN(__type) extern __declspec(dllexport) __type -#define PR_IMPLEMENT(__type) __declspec(dllexport) __type -#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type -#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type - -#define PR_CALLBACK -#define PR_CALLBACK_DECL -#define PR_STATIC_CALLBACK(__x) static __x - -#elif defined(WIN16) - -#define PR_CALLBACK_DECL __cdecl - -#if defined(_WINDLL) -#define PR_EXPORT(__type) extern __type _cdecl _export _loadds -#define PR_IMPORT(__type) extern __type _cdecl _export _loadds -#define PR_EXPORT_DATA(__type) extern __type _export -#define PR_IMPORT_DATA(__type) extern __type _export - -#define PR_EXTERN(__type) extern __type _cdecl _export _loadds -#define PR_IMPLEMENT(__type) __type _cdecl _export _loadds -#define PR_EXTERN_DATA(__type) extern __type _export -#define PR_IMPLEMENT_DATA(__type) __type _export - -#define PR_CALLBACK __cdecl __loadds -#define PR_STATIC_CALLBACK(__x) static __x PR_CALLBACK - -#else /* this must be .EXE */ -#define PR_EXPORT(__type) extern __type _cdecl _export -#define PR_IMPORT(__type) extern __type _cdecl _export -#define PR_EXPORT_DATA(__type) extern __type _export -#define PR_IMPORT_DATA(__type) extern __type _export - -#define PR_EXTERN(__type) extern __type _cdecl _export -#define PR_IMPLEMENT(__type) __type _cdecl _export -#define PR_EXTERN_DATA(__type) extern __type _export -#define PR_IMPLEMENT_DATA(__type) __type _export - -#define PR_CALLBACK __cdecl __loadds -#define PR_STATIC_CALLBACK(__x) __x PR_CALLBACK -#endif /* _WINDLL */ - -#elif defined(XP_MAC) - -#define PR_EXPORT(__type) extern __declspec(export) __type -#define PR_EXPORT_DATA(__type) extern __declspec(export) __type -#define PR_IMPORT(__type) extern __declspec(export) __type -#define PR_IMPORT_DATA(__type) extern __declspec(export) __type - -#define PR_EXTERN(__type) extern __declspec(export) __type -#define PR_IMPLEMENT(__type) __declspec(export) __type -#define PR_EXTERN_DATA(__type) extern __declspec(export) __type -#define PR_IMPLEMENT_DATA(__type) __declspec(export) __type - -#define PR_CALLBACK -#define PR_CALLBACK_DECL -#define PR_STATIC_CALLBACK(__x) static __x - -#elif defined(XP_OS2) && defined(__declspec) - -#define PR_EXPORT(__type) extern __declspec(dllexport) __type -#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type -#define PR_IMPORT(__type) extern __declspec(dllimport) __type -#define PR_IMPORT_DATA(__type) extern __declspec(dllimport) __type - -#define PR_EXTERN(__type) extern __declspec(dllexport) __type -#define PR_IMPLEMENT(__type) __declspec(dllexport) __type -#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type -#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type - -#define PR_CALLBACK -#define PR_CALLBACK_DECL -#define PR_STATIC_CALLBACK(__x) static __x - -#elif defined(XP_OS2_VACPP) - -#define PR_EXPORT(__type) extern __type -#define PR_EXPORT_DATA(__type) extern __type -#define PR_IMPORT(__type) extern __type -#define PR_IMPORT_DATA(__type) extern __type - -#define PR_EXTERN(__type) extern __type -#define PR_IMPLEMENT(__type) __type -#define PR_EXTERN_DATA(__type) extern __type -#define PR_IMPLEMENT_DATA(__type) __type -#define PR_CALLBACK _Optlink -#define PR_CALLBACK_DECL -#define PR_STATIC_CALLBACK(__x) static __x PR_CALLBACK - -#else /* Unix */ - -/* GCC 3.3 and later support the visibility attribute. */ -#if (__GNUC__ >= 4) || \ - (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) -#define PR_VISIBILITY_DEFAULT __attribute__((visibility("default"))) -#else -#define PR_VISIBILITY_DEFAULT -#endif - -#define PR_EXPORT(__type) extern PR_VISIBILITY_DEFAULT __type -#define PR_EXPORT_DATA(__type) extern PR_VISIBILITY_DEFAULT __type -#define PR_IMPORT(__type) extern PR_VISIBILITY_DEFAULT __type -#define PR_IMPORT_DATA(__type) extern PR_VISIBILITY_DEFAULT __type - -#define PR_EXTERN(__type) extern PR_VISIBILITY_DEFAULT __type -#define PR_IMPLEMENT(__type) PR_VISIBILITY_DEFAULT __type -#define PR_EXTERN_DATA(__type) extern PR_VISIBILITY_DEFAULT __type -#define PR_IMPLEMENT_DATA(__type) PR_VISIBILITY_DEFAULT __type -#define PR_CALLBACK -#define PR_CALLBACK_DECL -#define PR_STATIC_CALLBACK(__x) static __x - -#endif - -#if defined(_NSPR_BUILD_) -#define NSPR_API(__type) PR_EXPORT(__type) -#define NSPR_DATA_API(__type) PR_EXPORT_DATA(__type) -#else -#define NSPR_API(__type) PR_IMPORT(__type) -#define NSPR_DATA_API(__type) PR_IMPORT_DATA(__type) -#endif - -/*********************************************************************** -** MACROS: PR_BEGIN_MACRO -** PR_END_MACRO -** DESCRIPTION: -** Macro body brackets so that macros with compound statement definitions -** behave syntactically more like functions when called. -***********************************************************************/ -#define PR_BEGIN_MACRO do { -#define PR_END_MACRO } while (0) - -/*********************************************************************** -** MACROS: PR_BEGIN_EXTERN_C -** PR_END_EXTERN_C -** DESCRIPTION: -** Macro shorthands for conditional C++ extern block delimiters. -***********************************************************************/ -#ifdef __cplusplus -#define PR_BEGIN_EXTERN_C extern "C" { -#define PR_END_EXTERN_C } -#else -#define PR_BEGIN_EXTERN_C -#define PR_END_EXTERN_C -#endif - -/*********************************************************************** -** MACROS: PR_BIT -** PR_BITMASK -** DESCRIPTION: -** Bit masking macros. XXX n must be <= 31 to be portable -***********************************************************************/ -#define PR_BIT(n) ((PRUint32)1 << (n)) -#define PR_BITMASK(n) (PR_BIT(n) - 1) - -/*********************************************************************** -** MACROS: PR_ROUNDUP -** PR_MIN -** PR_MAX -** PR_ABS -** DESCRIPTION: -** Commonly used macros for operations on compatible types. -***********************************************************************/ -#define PR_ROUNDUP(x,y) ((((x)+((y)-1))/(y))*(y)) -#define PR_MIN(x,y) ((x)<(y)?(x):(y)) -#define PR_MAX(x,y) ((x)>(y)?(x):(y)) -#define PR_ABS(x) ((x)<0?-(x):(x)) - -PR_BEGIN_EXTERN_C - -/************************************************************************ -** TYPES: PRUint8 -** PRInt8 -** DESCRIPTION: -** The int8 types are known to be 8 bits each. There is no type that -** is equivalent to a plain "char". -************************************************************************/ -#if PR_BYTES_PER_BYTE == 1 -typedef unsigned char PRUint8; -/* -** Some cfront-based C++ compilers do not like 'signed char' and -** issue the warning message: -** warning: "signed" not implemented (ignored) -** For these compilers, we have to define PRInt8 as plain 'char'. -** Make sure that plain 'char' is indeed signed under these compilers. -*/ -#if (defined(HPUX) && defined(__cplusplus) \ - && !defined(__GNUC__) && __cplusplus < 199707L) \ - || (defined(SCO) && defined(__cplusplus) \ - && !defined(__GNUC__) && __cplusplus == 1L) -typedef char PRInt8; -#else -typedef signed char PRInt8; -#endif -#else -#error No suitable type for PRInt8/PRUint8 -#endif - -/************************************************************************ - * MACROS: PR_INT8_MAX - * PR_INT8_MIN - * PR_UINT8_MAX - * DESCRIPTION: - * The maximum and minimum values of a PRInt8 or PRUint8. -************************************************************************/ - -#define PR_INT8_MAX 127 -#define PR_INT8_MIN (-128) -#define PR_UINT8_MAX 255U - -/************************************************************************ -** TYPES: PRUint16 -** PRInt16 -** DESCRIPTION: -** The int16 types are known to be 16 bits each. -************************************************************************/ -#if PR_BYTES_PER_SHORT == 2 -typedef unsigned short PRUint16; -typedef short PRInt16; -#else -#error No suitable type for PRInt16/PRUint16 -#endif - -/************************************************************************ - * MACROS: PR_INT16_MAX - * PR_INT16_MIN - * PR_UINT16_MAX - * DESCRIPTION: - * The maximum and minimum values of a PRInt16 or PRUint16. -************************************************************************/ - -#define PR_INT16_MAX 32767 -#define PR_INT16_MIN (-32768) -#define PR_UINT16_MAX 65535U - -/************************************************************************ -** TYPES: PRUint32 -** PRInt32 -** DESCRIPTION: -** The int32 types are known to be 32 bits each. -************************************************************************/ -#if PR_BYTES_PER_INT == 4 -typedef unsigned int PRUint32; -typedef int PRInt32; -#define PR_INT32(x) x -#define PR_UINT32(x) x ## U -#elif PR_BYTES_PER_LONG == 4 -typedef unsigned long PRUint32; -typedef long PRInt32; -#define PR_INT32(x) x ## L -#define PR_UINT32(x) x ## UL -#else -#error No suitable type for PRInt32/PRUint32 -#endif - -/************************************************************************ - * MACROS: PR_INT32_MAX - * PR_INT32_MIN - * PR_UINT32_MAX - * DESCRIPTION: - * The maximum and minimum values of a PRInt32 or PRUint32. -************************************************************************/ - -#define PR_INT32_MAX PR_INT32(2147483647) -#define PR_INT32_MIN (-PR_INT32_MAX - 1) -#define PR_UINT32_MAX PR_UINT32(4294967295) - -/************************************************************************ -** TYPES: PRUint64 -** PRInt64 -** DESCRIPTION: -** The int64 types are known to be 64 bits each. Care must be used when -** declaring variables of type PRUint64 or PRInt64. Different hardware -** architectures and even different compilers have varying support for -** 64 bit values. The only guaranteed portability requires the use of -** the LL_ macros (see prlong.h). -************************************************************************/ -#ifdef HAVE_LONG_LONG -#if PR_BYTES_PER_LONG == 8 -typedef long PRInt64; -typedef unsigned long PRUint64; -#elif defined(WIN16) -typedef __int64 PRInt64; -typedef unsigned __int64 PRUint64; -#elif defined(WIN32) && !defined(__GNUC__) -typedef __int64 PRInt64; -typedef unsigned __int64 PRUint64; -#else -typedef long long PRInt64; -typedef unsigned long long PRUint64; -#endif /* PR_BYTES_PER_LONG == 8 */ -#else /* !HAVE_LONG_LONG */ -typedef struct { -#ifdef IS_LITTLE_ENDIAN - PRUint32 lo, hi; -#else - PRUint32 hi, lo; -#endif -} PRInt64; -typedef PRInt64 PRUint64; -#endif /* !HAVE_LONG_LONG */ - -/************************************************************************ -** TYPES: PRUintn -** PRIntn -** DESCRIPTION: -** The PRIntn types are most appropriate for automatic variables. They are -** guaranteed to be at least 16 bits, though various architectures may -** define them to be wider (e.g., 32 or even 64 bits). These types are -** never valid for fields of a structure. -************************************************************************/ -#if PR_BYTES_PER_INT >= 2 -typedef int PRIntn; -typedef unsigned int PRUintn; -#else -#error 'sizeof(int)' not sufficient for platform use -#endif - -/************************************************************************ -** TYPES: PRFloat64 -** DESCRIPTION: -** NSPR's floating point type is always 64 bits. -************************************************************************/ -typedef double PRFloat64; - -/************************************************************************ -** TYPES: PRSize -** DESCRIPTION: -** A type for representing the size of objects. -************************************************************************/ -typedef size_t PRSize; - - -/************************************************************************ -** TYPES: PROffset32, PROffset64 -** DESCRIPTION: -** A type for representing byte offsets from some location. -************************************************************************/ -typedef PRInt32 PROffset32; -typedef PRInt64 PROffset64; - -/************************************************************************ -** TYPES: PRPtrDiff -** DESCRIPTION: -** A type for pointer difference. Variables of this type are suitable -** for storing a pointer or pointer subtraction. -************************************************************************/ -typedef ptrdiff_t PRPtrdiff; - -/************************************************************************ -** TYPES: PRUptrdiff -** DESCRIPTION: -** A type for pointer difference. Variables of this type are suitable -** for storing a pointer or pointer sutraction. -************************************************************************/ -#ifdef _WIN64 -typedef unsigned __int64 PRUptrdiff; -#else -typedef unsigned long PRUptrdiff; -#endif - -/************************************************************************ -** TYPES: PRBool -** DESCRIPTION: -** Use PRBool for variables and parameter types. Use PR_FALSE and PR_TRUE -** for clarity of target type in assignments and actual arguments. Use -** 'if (bool)', 'while (!bool)', '(bool) ? x : y' etc., to test booleans -** just as you would C int-valued conditions. -************************************************************************/ -typedef PRIntn PRBool; -#define PR_TRUE 1 -#define PR_FALSE 0 - -/************************************************************************ -** TYPES: PRPackedBool -** DESCRIPTION: -** Use PRPackedBool within structs where bitfields are not desirable -** but minimum and consistant overhead matters. -************************************************************************/ -typedef PRUint8 PRPackedBool; - -/* -** Status code used by some routines that have a single point of failure or -** special status return. -*/ -typedef enum { PR_FAILURE = -1, PR_SUCCESS = 0 } PRStatus; - -#ifndef __PRUNICHAR__ -#define __PRUNICHAR__ -#if defined(WIN32) || defined(XP_MAC) -typedef wchar_t PRUnichar; -#else -typedef PRUint16 PRUnichar; -#endif -#endif - -/* -** WARNING: The undocumented data types PRWord and PRUword are -** only used in the garbage collection and arena code. Do not -** use PRWord and PRUword in new code. -** -** A PRWord is an integer that is the same size as a void*. -** It implements the notion of a "word" in the Java Virtual -** Machine. (See Sec. 3.4 "Words", The Java Virtual Machine -** Specification, Addison-Wesley, September 1996. -** http://java.sun.com/docs/books/vmspec/index.html.) -*/ -#ifdef _WIN64 -typedef __int64 PRWord; -typedef unsigned __int64 PRUword; -#else -typedef long PRWord; -typedef unsigned long PRUword; -#endif - -#if defined(NO_NSPR_10_SUPPORT) -#else -/********* ???????????????? FIX ME ??????????????????????????? *****/ -/********************** Some old definitions until pr=>ds transition is done ***/ -/********************** Also, we are still using NSPR 1.0. GC ******************/ -/* -** Fundamental NSPR macros, used nearly everywhere. -*/ - -#define PR_PUBLIC_API PR_IMPLEMENT - -/* -** Macro body brackets so that macros with compound statement definitions -** behave syntactically more like functions when called. -*/ -#define NSPR_BEGIN_MACRO do { -#define NSPR_END_MACRO } while (0) - -/* -** Macro shorthands for conditional C++ extern block delimiters. -*/ -#ifdef NSPR_BEGIN_EXTERN_C -#undef NSPR_BEGIN_EXTERN_C -#endif -#ifdef NSPR_END_EXTERN_C -#undef NSPR_END_EXTERN_C -#endif - -#ifdef __cplusplus -#define NSPR_BEGIN_EXTERN_C extern "C" { -#define NSPR_END_EXTERN_C } -#else -#define NSPR_BEGIN_EXTERN_C -#define NSPR_END_EXTERN_C -#endif - -#ifdef XP_MAC -#include "obsolete/protypes.h" -#else -#include "obsolete/protypes.h" -#endif - -/********* ????????????? End Fix me ?????????????????????????????? *****/ -#endif /* NO_NSPR_10_SUPPORT */ - -PR_END_EXTERN_C - -#endif /* prtypes_h___ */ diff --git a/modules/juce_core/containers/juce_Array.h b/modules/juce_core/containers/juce_Array.h index 8c48dabc..30e6de89 100644 --- a/modules/juce_core/containers/juce_Array.h +++ b/modules/juce_core/containers/juce_Array.h @@ -223,7 +223,7 @@ public: } /** Returns true if the array is empty, false otherwise. */ - inline bool empty() const noexcept + inline bool isEmpty() const noexcept { return size() == 0; } @@ -762,8 +762,8 @@ public: template int indexOfSorted (ElementComparator& comparator, TargetValueType elementToLookFor) const { - (void) comparator; // if you pass in an object with a static compareElements() method, this - // avoids getting warning messages about the parameter being unused + ignoreUnused (comparator); // if you pass in an object with a static compareElements() method, this + // avoids getting warning messages about the parameter being unused const ScopedLockType lock (getLock()); @@ -1116,8 +1116,8 @@ public: const bool retainOrderOfEquivalentItems = false) { const ScopedLockType lock (getLock()); - (void) comparator; // if you pass in an object with a static compareElements() method, this - // avoids getting warning messages about the parameter being unused + ignoreUnused (comparator); // if you pass in an object with a static compareElements() method, this + // avoids getting warning messages about the parameter being unused sortArray (comparator, data.elements.getData(), 0, size() - 1, retainOrderOfEquivalentItems); } diff --git a/modules/juce_core/containers/juce_ElementComparator.h b/modules/juce_core/containers/juce_ElementComparator.h index 41f63ca8..2cca3f51 100644 --- a/modules/juce_core/containers/juce_ElementComparator.h +++ b/modules/juce_core/containers/juce_ElementComparator.h @@ -128,8 +128,8 @@ static int findInsertIndexInSortedArray (ElementComparator& comparator, { jassert (firstElement <= lastElement); - (void) comparator; // if you pass in an object with a static compareElements() method, this - // avoids getting warning messages about the parameter being unused + ignoreUnused (comparator); // if you pass in an object with a static compareElements() method, this + // avoids getting warning messages about the parameter being unused while (firstElement < lastElement) { diff --git a/modules/juce_core/containers/juce_HashMap.h b/modules/juce_core/containers/juce_HashMap.h index c1c09887..80eb79f2 100644 --- a/modules/juce_core/containers/juce_HashMap.h +++ b/modules/juce_core/containers/juce_HashMap.h @@ -424,6 +424,13 @@ public: return entry != nullptr ? entry->value : ValueType(); } + /** Resets the iterator to its starting position. */ + void reset() noexcept + { + entry = nullptr; + index = 0; + } + private: //============================================================================== const HashMap& hashMap; diff --git a/modules/juce_core/containers/juce_NamedValueSet.cpp b/modules/juce_core/containers/juce_NamedValueSet.cpp index 94ea828b..1c3efa4a 100644 --- a/modules/juce_core/containers/juce_NamedValueSet.cpp +++ b/modules/juce_core/containers/juce_NamedValueSet.cpp @@ -39,7 +39,7 @@ struct NamedValueSet::NamedValue { } - NamedValue (Identifier&& n, var&& v) + NamedValue (Identifier&& n, var&& v) noexcept : name (static_cast (n)), value (static_cast (v)) { @@ -114,6 +114,11 @@ int NamedValueSet::size() const noexcept return values.size(); } +bool NamedValueSet::isEmpty() const noexcept +{ + return values.isEmpty(); +} + const var& NamedValueSet::operator[] (const Identifier& name) const noexcept { if (const var* v = getVarPointer (name)) diff --git a/modules/juce_core/containers/juce_NamedValueSet.h b/modules/juce_core/containers/juce_NamedValueSet.h index 21b75b0e..80f99ed1 100644 --- a/modules/juce_core/containers/juce_NamedValueSet.h +++ b/modules/juce_core/containers/juce_NamedValueSet.h @@ -63,6 +63,9 @@ public: /** Returns the total number of values that the set contains. */ int size() const noexcept; + /** Returns true if the set is empty. */ + bool isEmpty() const noexcept; + /** Returns the value of a named item. If the name isn't found, this will return a void variant. @see getProperty diff --git a/modules/juce_core/containers/juce_OwnedArray.h b/modules/juce_core/containers/juce_OwnedArray.h index d066a21e..9fdb61ed 100644 --- a/modules/juce_core/containers/juce_OwnedArray.h +++ b/modules/juce_core/containers/juce_OwnedArray.h @@ -126,6 +126,12 @@ public: return numUsed; } + /** Returns true if the array is empty, false otherwise. */ + inline bool isEmpty() const noexcept + { + return size() == 0; + } + /** Returns a pointer to the object at this index in the array. If the index is out-of-range, this will return a null pointer, (and @@ -523,8 +529,8 @@ public: template int addSorted (ElementComparator& comparator, ObjectClass* const newObject) noexcept { - (void) comparator; // if you pass in an object with a static compareElements() method, this - // avoids getting warning messages about the parameter being unused + ignoreUnused (comparator); // if you pass in an object with a static compareElements() method, this + // avoids getting warning messages about the parameter being unused const ScopedLockType lock (getLock()); const int index = findInsertIndexInSortedArray (comparator, data.elements.getData(), newObject, 0, numUsed); insert (index, newObject); @@ -546,7 +552,7 @@ public: template int indexOfSorted (ElementComparator& comparator, const ObjectClass* const objectToLookFor) const noexcept { - (void) comparator; + ignoreUnused (comparator); const ScopedLockType lock (getLock()); int s = 0, e = numUsed; @@ -854,8 +860,8 @@ public: void sort (ElementComparator& comparator, bool retainOrderOfEquivalentItems = false) const noexcept { - (void) comparator; // if you pass in an object with a static compareElements() method, this - // avoids getting warning messages about the parameter being unused + ignoreUnused (comparator); // if you pass in an object with a static compareElements() method, this + // avoids getting warning messages about the parameter being unused const ScopedLockType lock (getLock()); sortArray (comparator, data.elements.getData(), 0, size() - 1, retainOrderOfEquivalentItems); diff --git a/modules/juce_core/containers/juce_ReferenceCountedArray.h b/modules/juce_core/containers/juce_ReferenceCountedArray.h index db02fb1e..87d76391 100644 --- a/modules/juce_core/containers/juce_ReferenceCountedArray.h +++ b/modules/juce_core/containers/juce_ReferenceCountedArray.h @@ -149,6 +149,12 @@ public: return numUsed; } + /** Returns true if the array is empty, false otherwise. */ + inline bool isEmpty() const noexcept + { + return size() == 0; + } + /** Returns a pointer to the object at this index in the array. If the index is out-of-range, this will return a null pointer, (and @@ -518,7 +524,7 @@ public: int indexOfSorted (ElementComparator& comparator, const ObjectClass* const objectToLookFor) const noexcept { - (void) comparator; + ignoreUnused (comparator); const ScopedLockType lock (getLock()); int s = 0, e = numUsed; @@ -835,8 +841,8 @@ public: void sort (ElementComparator& comparator, const bool retainOrderOfEquivalentItems = false) const noexcept { - (void) comparator; // if you pass in an object with a static compareElements() method, this - // avoids getting warning messages about the parameter being unused + ignoreUnused (comparator); // if you pass in an object with a static compareElements() method, this + // avoids getting warning messages about the parameter being unused const ScopedLockType lock (getLock()); sortArray (comparator, data.elements.getData(), 0, size() - 1, retainOrderOfEquivalentItems); diff --git a/modules/juce_core/containers/juce_SortedSet.h b/modules/juce_core/containers/juce_SortedSet.h index 90a23963..ec298609 100644 --- a/modules/juce_core/containers/juce_SortedSet.h +++ b/modules/juce_core/containers/juce_SortedSet.h @@ -136,6 +136,12 @@ public: return data.size(); } + /** Returns true if the set is empty, false otherwise. */ + inline bool isEmpty() const noexcept + { + return size() == 0; + } + /** Returns one of the elements in the set. If the index passed in is beyond the range of valid elements, this diff --git a/modules/juce_core/containers/juce_Variant.h b/modules/juce_core/containers/juce_Variant.h index 25d0dcd7..8720a0d0 100644 --- a/modules/juce_core/containers/juce_Variant.h +++ b/modules/juce_core/containers/juce_Variant.h @@ -100,12 +100,12 @@ public: var& operator= (NativeFunction method); #if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS - var (var&& other) noexcept; - var (String&& value); - var (MemoryBlock&& binaryData); - var (Array&& value); - var& operator= (var&& other) noexcept; - var& operator= (String&& value); + var (var&&) noexcept; + var (String&&); + var (MemoryBlock&&); + var (Array&&); + var& operator= (var&&) noexcept; + var& operator= (String&&); #endif void swapWith (var& other) noexcept; @@ -314,13 +314,30 @@ private: }; /** Compares the values of two var objects, using the var::equals() comparison. */ -bool operator== (const var& v1, const var& v2) noexcept; +bool operator== (const var&, const var&) noexcept; /** Compares the values of two var objects, using the var::equals() comparison. */ -bool operator!= (const var& v1, const var& v2) noexcept; -bool operator== (const var& v1, const String& v2); -bool operator!= (const var& v1, const String& v2); -bool operator== (const var& v1, const char* v2); -bool operator!= (const var& v1, const char* v2); +bool operator!= (const var&, const var&) noexcept; +bool operator== (const var&, const String&); +bool operator!= (const var&, const String&); +bool operator== (const var&, const char*); +bool operator!= (const var&, const char*); + +//============================================================================== +/** This template-overloaded class can be used to convert between var and custom types. */ +template +struct VariantConverter +{ + static Type fromVar (const var& v) { return static_cast (v); } + static var toVar (const Type& t) { return t; } +}; + +/** This template-overloaded class can be used to convert between var and custom types. */ +template <> +struct VariantConverter +{ + static String fromVar (const var& v) { return v.toString(); } + static var toVar (const String& s) { return s; } +}; #endif // JUCE_VARIANT_H_INCLUDED diff --git a/modules/juce_core/files/juce_File.cpp b/modules/juce_core/files/juce_File.cpp index 9737fa8a..4463a04f 100644 --- a/modules/juce_core/files/juce_File.cpp +++ b/modules/juce_core/files/juce_File.cpp @@ -70,8 +70,24 @@ File& File::operator= (File&& other) noexcept const File File::nonexistent; - //============================================================================== +static String removeEllipsis (const String& path) +{ + StringArray toks; + toks.addTokens (path, File::separatorString, StringRef()); + + for (int i = 1; i < toks.size(); ++i) + { + if (toks[i] == ".." && toks[i - 1] != "..") + { + toks.removeRange (i - 1, 2); + i = jmax (0, i - 2); + } + } + + return toks.joinIntoString (File::separatorString); +} + String File::parseAbsolutePath (const String& p) { if (p.isEmpty()) @@ -81,6 +97,9 @@ String File::parseAbsolutePath (const String& p) // Windows.. String path (p.replaceCharacter ('/', '\\')); + if (path.contains ("\\..\\")) + path = removeEllipsis (path); + if (path.startsWithChar (separator)) { if (path[1] != separator) @@ -120,6 +139,9 @@ String File::parseAbsolutePath (const String& p) String path (p); + if (path.contains ("/../")) + path = removeEllipsis (path); + if (path.startsWithChar ('~')) { if (path[1] == separator || path[1] == 0) @@ -347,62 +369,69 @@ int64 File::hashCode64() const { return fullPath.hashCode64(); } //============================================================================== bool File::isAbsolutePath (StringRef path) { - return path.text[0] == separator + const juce_wchar firstChar = *(path.text); + + return firstChar == separator #if JUCE_WINDOWS - || (path.isNotEmpty() && path.text[1] == ':'); + || (firstChar != 0 && path.text[1] == ':'); #else - || path.text[0] == '~'; + || firstChar == '~'; #endif } File File::getChildFile (StringRef relativePath) const { - if (isAbsolutePath (relativePath)) - return File (String (relativePath.text)); + String::CharPointerType r = relativePath.text; - if (relativePath[0] != '.') - return File (addTrailingSeparator (fullPath) + relativePath); + if (isAbsolutePath (r)) + return File (String (r)); - String path (fullPath); - - // It's relative, so remove any ../ or ./ bits at the start.. #if JUCE_WINDOWS - if (relativePath.text.indexOf ((juce_wchar) '/') >= 0) - return getChildFile (String (relativePath.text).replaceCharacter ('/', '\\')); + if (r.indexOf ((juce_wchar) '/') >= 0) + return getChildFile (String (r).replaceCharacter ('/', '\\')); #endif - while (relativePath[0] == '.') + String path (fullPath); + + while (*r == '.') { - const juce_wchar secondChar = relativePath[1]; + String::CharPointerType lastPos = r; + const juce_wchar secondChar = *++r; - if (secondChar == '.') + if (secondChar == '.') // remove "../" { - const juce_wchar thirdChar = relativePath[2]; + const juce_wchar thirdChar = *++r; - if (thirdChar == 0 || thirdChar == separator) + if (thirdChar == separator || thirdChar == 0) { const int lastSlash = path.lastIndexOfChar (separator); if (lastSlash >= 0) path = path.substring (0, lastSlash); - relativePath = relativePath.text + (thirdChar == 0 ? 2 : 3); + while (*r == separator) // ignore duplicate slashes + ++r; } else { + r = lastPos; break; } } - else if (secondChar == separator) + else if (secondChar == separator || secondChar == 0) // remove "./" { - relativePath = relativePath.text + 2; + while (*r == separator) // ignore duplicate slashes + ++r; } else { + r = lastPos; break; } } - return File (addTrailingSeparator (path) + relativePath); + path = addTrailingSeparator (path); + path.appendCharPointer (r); + return File (path); } File File::getSiblingFile (StringRef fileName) const @@ -1020,6 +1049,17 @@ public: expect (tempFile.getSiblingFile ("foo").isAChildOf (temp)); expect (tempFile.hasWriteAccess()); + expect (home.getChildFile (".") == home); + expect (home.getChildFile ("..") == home.getParentDirectory()); + expect (home.getChildFile (".xyz").getFileName() == ".xyz"); + expect (home.getChildFile ("..xyz").getFileName() == "..xyz"); + expect (home.getChildFile ("...xyz").getFileName() == "...xyz"); + expect (home.getChildFile ("./xyz") == home.getChildFile ("xyz")); + expect (home.getChildFile ("././xyz") == home.getChildFile ("xyz")); + expect (home.getChildFile ("../xyz") == home.getParentDirectory().getChildFile ("xyz")); + expect (home.getChildFile (".././xyz") == home.getParentDirectory().getChildFile ("xyz")); + expect (home.getChildFile ("./../xyz") == home.getParentDirectory().getChildFile ("xyz")); + { FileOutputStream fo (tempFile); fo.write ("0123456789", 10); diff --git a/modules/juce_core/files/juce_File.h b/modules/juce_core/files/juce_File.h index 8e729a5c..9848c13d 100644 --- a/modules/juce_core/files/juce_File.h +++ b/modules/juce_core/files/juce_File.h @@ -48,7 +48,7 @@ public: //============================================================================== /** Creates an (invalid) file object. - The file is initially set to an empty path, so getFullPath() will return + The file is initially set to an empty path, so getFullPathName() will return an empty string, and comparing the file to File::nonexistent will return true. diff --git a/modules/juce_core/files/juce_WildcardFileFilter.h b/modules/juce_core/files/juce_WildcardFileFilter.h index af9a757b..ada68506 100644 --- a/modules/juce_core/files/juce_WildcardFileFilter.h +++ b/modules/juce_core/files/juce_WildcardFileFilter.h @@ -66,10 +66,10 @@ public: //============================================================================== /** Returns true if the filename matches one of the patterns specified. */ - bool isFileSuitable (const File& file) const; + bool isFileSuitable (const File& file) const override; /** This always returns true. */ - bool isDirectorySuitable (const File& file) const; + bool isDirectorySuitable (const File& file) const override; private: //============================================================================== diff --git a/modules/juce_core/javascript/juce_Javascript.cpp b/modules/juce_core/javascript/juce_Javascript.cpp index 1656b56f..44bc7a6c 100644 --- a/modules/juce_core/javascript/juce_Javascript.cpp +++ b/modules/juce_core/javascript/juce_Javascript.cpp @@ -44,7 +44,8 @@ #define JUCE_JS_KEYWORDS(X) \ X(var, "var") X(if_, "if") X(else_, "else") X(do_, "do") X(null_, "null") \ X(while_, "while") X(for_, "for") X(break_, "break") X(continue_, "continue") X(undefined, "undefined") \ - X(function, "function") X(return_, "return") X(true_, "true") X(false_, "false") X(new_, "new") + X(function, "function") X(return_, "return") X(true_, "true") X(false_, "false") X(new_, "new") \ + X(typeof_, "typeof") namespace TokenTypes { @@ -71,6 +72,7 @@ struct JavascriptEngine::RootObject : public DynamicObject setMethod ("trace", trace); setMethod ("charToInt", charToInt); setMethod ("parseInt", IntegerClass::parseInt); + setMethod ("typeof", typeof_internal); } Time timeout; @@ -97,12 +99,13 @@ struct JavascriptEngine::RootObject : public DynamicObject && (((a.isUndefined() || a.isVoid()) && (b.isUndefined() || b.isVoid())) || a == b); } - static String getTokenName (TokenType t) { return t[0] == '$' ? String (t + 1) : ("'" + String (t) + "'"); } - static bool isFunction (const var& v) { return dynamic_cast (v.getObject()) != nullptr; } - static bool isNumericOrUndefined (const var& v) { return v.isInt() || v.isDouble() || v.isInt64() || v.isBool() || v.isUndefined(); } - static int64 getOctalValue (const String& s) { BigInteger b; b.parseString (s, 8); return b.toInt64(); } - static Identifier getPrototypeIdentifier() { static const Identifier i ("prototype"); return i; } - static var* getPropertyPointer (DynamicObject* o, const Identifier& i) { return o->getProperties().getVarPointer (i); } + static String getTokenName (TokenType t) { return t[0] == '$' ? String (t + 1) : ("'" + String (t) + "'"); } + static bool isFunction (const var& v) noexcept { return dynamic_cast (v.getObject()) != nullptr; } + static bool isNumeric (const var& v) noexcept { return v.isInt() || v.isDouble() || v.isInt64() || v.isBool(); } + static bool isNumericOrUndefined (const var& v) noexcept { return isNumeric (v) || v.isUndefined(); } + static int64 getOctalValue (const String& s) { BigInteger b; b.parseString (s, 8); return b.toInt64(); } + static Identifier getPrototypeIdentifier() { static const Identifier i ("prototype"); return i; } + static var* getPropertyPointer (DynamicObject* o, const Identifier& i) noexcept { return o->getProperties().getVarPointer (i); } //============================================================================== struct CodeLocation @@ -407,7 +410,9 @@ struct JavascriptEngine::RootObject : public DynamicObject var getResult (const Scope& s) const override { - if (const Array* array = object->getResult (s).getArray()) + var arrayVar (object->getResult (s)); // must stay alive for the scope of this method + + if (const Array* array = arrayVar.getArray()) return (*array) [static_cast (index->getResult (s))]; return var::undefined(); @@ -415,7 +420,9 @@ struct JavascriptEngine::RootObject : public DynamicObject void assign (const Scope& s, const var& newValue) const override { - if (Array* array = object->getResult (s).getArray()) + var arrayVar (object->getResult (s)); // must stay alive for the scope of this method + + if (Array* array = arrayVar.getArray()) { const int i = index->getResult (s); while (array->size() < i) @@ -1079,7 +1086,7 @@ struct JavascriptEngine::RootObject : public DynamicObject if (matchIf (TokenTypes::while_)) return parseDoOrWhileLoop (false); if (matchIf (TokenTypes::do_)) return parseDoOrWhileLoop (true); if (matchIf (TokenTypes::for_)) return parseForLoop(); - if (matchIf (TokenTypes::return_)) return new ReturnStatement (location, matchIf (TokenTypes::semicolon) ? new Expression (location) : parseExpression()); + if (matchIf (TokenTypes::return_)) return parseReturn(); if (matchIf (TokenTypes::break_)) return new BreakStatement (location); if (matchIf (TokenTypes::continue_)) return new ContinueStatement (location); if (matchIf (TokenTypes::function)) return parseFunction(); @@ -1111,6 +1118,16 @@ struct JavascriptEngine::RootObject : public DynamicObject return s.release(); } + Statement* parseReturn() + { + if (matchIf (TokenTypes::semicolon)) + return new ReturnStatement (location, new Expression (location)); + + ReturnStatement* r = new ReturnStatement (location, parseExpression()); + matchIf (TokenTypes::semicolon); + return r; + } + Statement* parseVar() { ScopedPointer s (new VarStatement (location)); @@ -1345,12 +1362,21 @@ struct JavascriptEngine::RootObject : public DynamicObject return new PostAssignment (location, e, new OpType (location, lhs2, one)); } + Expression* parseTypeof() + { + ScopedPointer f (new FunctionCall (location)); + f->object = new UnqualifiedName (location, "typeof"); + f->arguments.add (parseUnary()); + return f.release(); + } + Expression* parseUnary() { if (matchIf (TokenTypes::minus)) { ExpPtr a (new LiteralValue (location, (int) 0)), b (parseUnary()); return new SubtractionOp (location, a, b); } if (matchIf (TokenTypes::logicalNot)) { ExpPtr a (new LiteralValue (location, (int) 0)), b (parseUnary()); return new EqualsOp (location, a, b); } if (matchIf (TokenTypes::plusplus)) return parsePreIncDec(); if (matchIf (TokenTypes::minusminus)) return parsePreIncDec(); + if (matchIf (TokenTypes::typeof_)) return parseTypeof(); return parseFactor(); } @@ -1466,7 +1492,7 @@ struct JavascriptEngine::RootObject : public DynamicObject } static Identifier getClassName() { static const Identifier i ("Object"); return i; } - static var dump (Args a) { DBG (JSON::toString (a.thisObject)); (void) a; return var::undefined(); } + static var dump (Args a) { DBG (JSON::toString (a.thisObject)); ignoreUnused (a); return var::undefined(); } static var cloneFn (Args a) { return a.thisObject.clone(); } }; @@ -1478,6 +1504,7 @@ struct JavascriptEngine::RootObject : public DynamicObject setMethod ("contains", contains); setMethod ("remove", remove); setMethod ("join", join); + setMethod ("push", push); } static Identifier getClassName() { static const Identifier i ("Array"); return i; } @@ -1508,6 +1535,19 @@ struct JavascriptEngine::RootObject : public DynamicObject return strings.joinIntoString (getString (a, 0)); } + + static var push (Args a) + { + if (Array* array = a.thisObject.getArray()) + { + for (int i = 0; i < a.numArguments; ++i) + array->add (a.arguments[i]); + + return array->size(); + } + + return var::undefined(); + } }; //============================================================================== @@ -1638,6 +1678,19 @@ struct JavascriptEngine::RootObject : public DynamicObject static var trace (Args a) { Logger::outputDebugString (JSON::toString (a.thisObject)); return var::undefined(); } static var charToInt (Args a) { return (int) (getString (a, 0)[0]); } + static var typeof_internal (Args a) + { + var v (get (a, 0)); + + if (v.isVoid()) return "void"; + if (v.isString()) return "string"; + if (isNumeric (v)) return "number"; + if (isFunction (v) || v.isMethod()) return "function"; + if (v.isObject()) return "object"; + + return "undefined"; + } + static var exec (Args a) { if (RootObject* root = dynamic_cast (a.thisObject.getObject())) diff --git a/modules/juce_core/juce_core.cpp b/modules/juce_core/juce_core.cpp index 29e55975..34d63a25 100644 --- a/modules/juce_core/juce_core.cpp +++ b/modules/juce_core/juce_core.cpp @@ -26,7 +26,7 @@ ============================================================================== */ -#if defined (JUCE_CORE_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_CORE_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -35,16 +35,15 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" +#define JUCE_CORE_INCLUDE_OBJC_HELPERS 1 +#define JUCE_CORE_INCLUDE_COM_SMART_PTR 1 +#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1 -//============================================================================== -#include "native/juce_BasicNativeHeaders.h" #include "juce_core.h" #include #include +#include #if ! JUCE_ANDROID #include @@ -85,6 +84,7 @@ #if JUCE_LINUX #include #include + #include #if JUCE_USE_CURL #include @@ -118,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 @@ -145,6 +145,7 @@ namespace juce #include "maths/juce_Expression.cpp" #include "maths/juce_Random.cpp" #include "memory/juce_MemoryBlock.cpp" +#include "misc/juce_RuntimePermissions.cpp" #include "misc/juce_Result.cpp" #include "misc/juce_Uuid.cpp" #include "network/juce_MACAddress.cpp" @@ -185,10 +186,6 @@ namespace juce #include "files/juce_WildcardFileFilter.cpp" //============================================================================== -#if JUCE_MAC || JUCE_IOS -#include "native/juce_osx_ObjCHelpers.h" -#endif - #if JUCE_ANDROID #include "native/juce_android_JNIHelpers.h" #endif @@ -208,7 +205,6 @@ namespace juce //============================================================================== #elif JUCE_WINDOWS -#include "native/juce_win32_ComSmartPtr.h" #include "native/juce_win32_Files.cpp" #include "native/juce_win32_Network.cpp" #include "native/juce_win32_Registry.cpp" @@ -234,6 +230,7 @@ namespace juce #include "native/juce_android_Network.cpp" #include "native/juce_android_SystemStats.cpp" #include "native/juce_android_Threads.cpp" +#include "native/juce_android_RuntimePermissions.cpp" #endif diff --git a/modules/juce_core/juce_core.h b/modules/juce_core/juce_core.h index 10c5b413..bb073d77 100644 --- a/modules/juce_core/juce_core.h +++ b/modules/juce_core/juce_core.h @@ -26,28 +26,39 @@ ============================================================================== */ + +/******************************************************************************* + 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.1 + 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 -#ifndef JUCE_MODULE_AVAILABLE_juce_core - /* If you fail to make sure that all your compile units are building JUCE with the same set of - option flags, then there's a risk that different compile units will treat the classes as having - different memory layouts, leading to very nasty memory corruption errors when they all get - linked together. That's why it's best to always include the Introjucer-generated AppConfig.h - file before any juce headers. - - Note that if you do have an AppConfig.h file and hit this warning, it means that it doesn't - contain the JUCE_MODULE_AVAILABLE_xxx flags, which are necessary for some inter-module - functionality to work correctly. In that case, you should either rebuild your AppConfig.h with - the latest introjucer, or fix it manually to contain these flags. - */ - #ifdef _MSC_VER - #pragma message ("Have you included your AppConfig.h file before including the JUCE headers?") - #else - #warning "Have you included your AppConfig.h file before including the JUCE headers?" - #endif -#endif - +//============================================================================== #ifdef _MSC_VER #pragma warning (push) // Disable warnings for long class names, padding, and undefined preprocessor definitions. @@ -57,10 +68,9 @@ #endif #endif -//============================================================================== #include "system/juce_TargetPlatform.h" -//============================================================================= +//============================================================================== /** Config: JUCE_FORCE_DEBUG Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, @@ -70,7 +80,7 @@ //#define JUCE_FORCE_DEBUG 0 #endif -//============================================================================= +//============================================================================== /** Config: JUCE_LOG_ASSERTIONS If this flag is enabled, the jassert and jassertfalse macros will always use Logger::writeToLog() @@ -90,7 +100,7 @@ #endif #endif -//============================================================================= +//============================================================================== /** Config: JUCE_CHECK_MEMORY_LEAKS Enables a memory-leak check for certain objects when the app terminates. See the LeakedObjectDetector @@ -100,7 +110,7 @@ #define JUCE_CHECK_MEMORY_LEAKS 1 #endif -//============================================================================= +//============================================================================== /** Config: JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES In a Visual C++ build, this can be used to stop the required system libs being @@ -149,8 +159,12 @@ #define JUCE_STRING_UTF_TYPE 8 #endif -//============================================================================= -//============================================================================= +//============================================================================== +//============================================================================== + +#if JUCE_CORE_INCLUDE_NATIVE_HEADERS + #include "native/juce_BasicNativeHeaders.h" +#endif #include "system/juce_StandardHeader.h" @@ -168,7 +182,7 @@ class FileOutputStream; class XmlElement; class JSONFormatter; -extern JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger(); +extern JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger() noexcept; extern JUCE_API void JUCE_CALLTYPE logAssertion (const char* file, int line) noexcept; #include "memory/juce_Memory.h" @@ -207,6 +221,7 @@ extern JUCE_API void JUCE_CALLTYPE logAssertion (const char* file, int line) noe #include "threads/juce_CriticalSection.h" #include "maths/juce_Range.h" #include "maths/juce_NormalisableRange.h" +#include "maths/juce_StatisticsAccumulator.h" #include "containers/juce_ElementComparator.h" #include "containers/juce_ArrayAllocationBase.h" #include "containers/juce_Array.h" @@ -256,6 +271,7 @@ extern JUCE_API void JUCE_CALLTYPE logAssertion (const char* file, int line) noe #include "maths/juce_BigInteger.h" #include "maths/juce_Expression.h" #include "maths/juce_Random.h" +#include "misc/juce_RuntimePermissions.h" #include "misc/juce_Uuid.h" #include "misc/juce_WindowsRegistry.h" #include "system/juce_SystemStats.h" @@ -288,6 +304,19 @@ extern JUCE_API void JUCE_CALLTYPE logAssertion (const char* file, int line) noe #include "containers/juce_PropertySet.h" #include "memory/juce_SharedResourcePointer.h" +#if JUCE_CORE_INCLUDE_OBJC_HELPERS && (JUCE_MAC || JUCE_IOS) + #include "native/juce_osx_ObjCHelpers.h" +#endif + +#if JUCE_CORE_INCLUDE_COM_SMART_PTR && JUCE_WINDOWS + #include "native/juce_win32_ComSmartPtr.h" +#endif + +#if JUCE_CORE_INCLUDE_JNI_HELPERS && JUCE_ANDROID + #include "native/juce_android_JNIHelpers.h" +#endif + + #ifndef DOXYGEN /* As the very long class names here try to explain, the purpose of this code is to cause @@ -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 52b7dd9c..00000000 --- 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/maths/juce_BigInteger.cpp b/modules/juce_core/maths/juce_BigInteger.cpp index f0371015..81bcf61b 100644 --- a/modules/juce_core/maths/juce_BigInteger.cpp +++ b/modules/juce_core/maths/juce_BigInteger.cpp @@ -47,7 +47,7 @@ BigInteger::BigInteger (const int32 value) negative (value < 0) { values.calloc (numValues + 1); - values[0] = (uint32) abs (value); + values[0] = (uint32) std::abs (value); highestBit = getHighestBit(); } @@ -307,7 +307,7 @@ void BigInteger::negate() noexcept negative = (! negative) && ! isZero(); } -#if JUCE_USE_MSVC_INTRINSICS && ! defined (__INTEL_COMPILER) +#if JUCE_MSVC && ! defined (__INTEL_COMPILER) #pragma intrinsic (_BitScanReverse) #endif @@ -315,9 +315,9 @@ inline static int highestBitInInt (uint32 n) noexcept { jassert (n != 0); // (the built-in functions may not work for n = 0) - #if JUCE_GCC + #if JUCE_GCC || JUCE_CLANG return 31 - __builtin_clz (n); - #elif JUCE_USE_MSVC_INTRINSICS + #elif JUCE_MSVC unsigned long highest; _BitScanReverse (&highest, n); return (int) highest; @@ -644,15 +644,15 @@ BigInteger& BigInteger::operator>>= (const int numBits) { shiftBits //============================================================================== int BigInteger::compare (const BigInteger& other) const noexcept { - if (isNegative() == other.isNegative()) + const bool isNeg = isNegative(); + + if (isNeg == other.isNegative()) { const int absComp = compareAbsolute (other); - return isNegative() ? -absComp : absComp; - } - else - { - return isNegative() ? -1 : 1; + return isNeg ? -absComp : absComp; } + + return isNeg ? -1 : 1; } int BigInteger::compareAbsolute (const BigInteger& other) const noexcept @@ -660,10 +660,8 @@ int BigInteger::compareAbsolute (const BigInteger& other) const noexcept const int h1 = getHighestBit(); const int h2 = other.getHighestBit(); - if (h1 > h2) - return 1; - else if (h1 < h2) - return -1; + if (h1 > h2) return 1; + if (h1 < h2) return -1; for (int i = (int) bitToIndex (h1) + 1; --i >= 0;) if (values[i] != other.values[i]) @@ -674,9 +672,9 @@ int BigInteger::compareAbsolute (const BigInteger& other) const noexcept bool BigInteger::operator== (const BigInteger& other) const noexcept { return compare (other) == 0; } bool BigInteger::operator!= (const BigInteger& other) const noexcept { return compare (other) != 0; } -bool BigInteger::operator< (const BigInteger& other) const noexcept { return compare (other) < 0; } +bool BigInteger::operator< (const BigInteger& other) const noexcept { return compare (other) < 0; } bool BigInteger::operator<= (const BigInteger& other) const noexcept { return compare (other) <= 0; } -bool BigInteger::operator> (const BigInteger& other) const noexcept { return compare (other) > 0; } +bool BigInteger::operator> (const BigInteger& other) const noexcept { return compare (other) > 0; } bool BigInteger::operator>= (const BigInteger& other) const noexcept { return compare (other) >= 0; } //============================================================================== @@ -803,7 +801,7 @@ BigInteger BigInteger::findGreatestCommonDivisor (BigInteger n) const while (! n.isZero()) { - if (abs (m.getHighestBit() - n.getHighestBit()) <= 16) + if (std::abs (m.getHighestBit() - n.getHighestBit()) <= 16) return simpleGCD (&m, &n); BigInteger temp2; @@ -853,17 +851,14 @@ void BigInteger::inverseModulo (const BigInteger& modulus) if (isOne()) return; - if (! (*this)[0]) + if (findGreatestCommonDivisor (modulus) != 1) { - // not invertible - clear(); + clear(); // not invertible! return; } - BigInteger a1 (modulus); - BigInteger a2 (*this); - BigInteger b1 (modulus); - BigInteger b2 (1); + BigInteger a1 (modulus), a2 (*this); + BigInteger b1 (modulus), b2 (1); while (! a2.isOne()) { diff --git a/modules/juce_core/maths/juce_Expression.cpp b/modules/juce_core/maths/juce_Expression.cpp index fb9660a1..97a15a50 100644 --- a/modules/juce_core/maths/juce_Expression.cpp +++ b/modules/juce_core/maths/juce_Expression.cpp @@ -427,7 +427,7 @@ struct Expression::Helpers TermPtr createTermToEvaluateInput (const Scope& scope, const Term* t, double overallTarget, Term* topLevelTerm) const { - (void) t; + ignoreUnused (t); jassert (t == input); const Term* const dest = findDestinationFor (topLevelTerm, this); diff --git a/modules/juce_core/maths/juce_MathsFunctions.h b/modules/juce_core/maths/juce_MathsFunctions.h index 0f2ee6e4..e7a8c39b 100644 --- a/modules/juce_core/maths/juce_MathsFunctions.h +++ b/modules/juce_core/maths/juce_MathsFunctions.h @@ -93,7 +93,7 @@ typedef unsigned int uint32; #endif //============================================================================== -// Some indispensible min/max functions +// Some indispensable min/max functions /** Returns the larger of two values. */ template @@ -299,7 +299,7 @@ void ignoreUnused (const Type1&, const Type2&, const Type3&, const Type4&) noexc template int numElementsInArray (Type (&array)[N]) { - (void) array; // (required to avoid a spurious warning in MS compilers) + ignoreUnused (array); (void) sizeof (0[array]); // This line should cause an error if you pass an object with a user-defined subscript operator return N; } @@ -324,9 +324,9 @@ template <> inline float juce_hypot (float a, float b) noexcept { #if JUCE_MSVC - return (_hypotf (a, b)); + return _hypotf (a, b); #else - return (hypotf (a, b)); + return hypotf (a, b); #endif } #endif @@ -356,12 +356,16 @@ const float float_Pi = 3.14159265358979323846f; /** Converts an angle in degrees to radians. */ -template -FloatType degreesToRadians (FloatType degrees) noexcept { return degrees * static_cast (double_Pi / 180.0); } +inline float degreesToRadians (float degrees) noexcept { return degrees * (float_Pi / 180.0f); } + +/** Converts an angle in degrees to radians. */ +inline double degreesToRadians (double degrees) noexcept { return degrees * (double_Pi / 180.0); } /** Converts an angle in radians to degrees. */ -template -FloatType radiansToDegrees (FloatType radians) noexcept { return radians * static_cast (180.0 / double_Pi); } +inline float radiansToDegrees (float radians) noexcept { return radians * (180.0f / float_Pi); } + +/** Converts an angle in radians to degrees. */ +inline double radiansToDegrees (double radians) noexcept { return radians * (180.0 / double_Pi); } //============================================================================== diff --git a/modules/juce_core/maths/juce_NormalisableRange.h b/modules/juce_core/maths/juce_NormalisableRange.h index 150162da..81fbb8c4 100644 --- a/modules/juce_core/maths/juce_NormalisableRange.h +++ b/modules/juce_core/maths/juce_NormalisableRange.h @@ -40,7 +40,7 @@ @see Range */ -template +template class NormalisableRange { public: @@ -150,7 +150,7 @@ public: /** An optional skew factor that alters the way values are distribute across the range. The skew factor lets you skew the mapping logarithmically so that larger or smaller - values are given a larger proportion of the avilable space. + values are given a larger proportion of the available space. A factor of 1.0 has no skewing effect at all. If the factor is < 1.0, the lower end of the range will fill more of the slider's length; if the factor is > 1.0, the upper diff --git a/modules/juce_core/maths/juce_StatisticsAccumulator.h b/modules/juce_core/maths/juce_StatisticsAccumulator.h new file mode 100644 index 00000000..43eba3e7 --- /dev/null +++ b/modules/juce_core/maths/juce_StatisticsAccumulator.h @@ -0,0 +1,145 @@ +/* + ============================================================================== + + This file is part of the juce_core module of the JUCE library. + Copyright (c) 2016 - 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 + + ============================================================================== +*/ + +#ifndef JUCE_STATISTICSACCUMULATOR_H_INCLUDED +#define JUCE_STATISTICSACCUMULATOR_H_INCLUDED + + +//============================================================================== +/** + A class that measures various statistics about a series of floating point + values that it is given. +*/ +template +class StatisticsAccumulator +{ +public: + //============================================================================== + /** Constructs a new StatisticsAccumulator. */ + StatisticsAccumulator() noexcept + : count (0), + minimum ( std::numeric_limits::infinity()), + maximum (-std::numeric_limits::infinity()) + {} + + //============================================================================== + /** Add a new value to the accumulator. + This will update all running statistics accordingly. + */ + void addValue (FloatType v) noexcept + { + jassert (juce_isfinite (v)); + + sum += v; + sumSquares += v * v; + ++count; + + if (v > maximum) maximum = v; + if (v < minimum) minimum = v; + } + + /** Reset the accumulator. + This will reset all currently saved statistcs. + */ + void reset() noexcept { *this = StatisticsAccumulator(); } + + //============================================================================== + /** Returns the average (arithmetic mean) of all previously added values. + If no values have been added yet, this will return zero. + */ + FloatType getAverage() const noexcept + { + return count > 0 ? sum / (FloatType) count + : FloatType(); + } + + /** Returns the variance of all previously added values. + If no values have been added yet, this will return zero. + */ + FloatType getVariance() const noexcept + { + return count > 0 ? (sumSquares - sum * sum / (FloatType) count) / (FloatType) count + : FloatType(); + } + + /** Returns the standard deviation of all previously added values. + If no values have been added yet, this will return zero. + */ + FloatType getStandardDeviation() const noexcept + { + return std::sqrt (getVariance()); + } + + /** Returns the smallest of all previously added values. + If no values have been added yet, this will return positive infinity. + */ + FloatType getMinValue() const noexcept + { + return minimum; + } + + /** Returns the largest of all previously added values. + If no values have been added yet, this will return negative infinity. + */ + FloatType getMaxValue() const noexcept + { + return maximum; + } + + /** Returns how many values have been added to this accumulator. */ + size_t getCount() const noexcept + { + return count; + } + +private: + //============================================================================== + struct KahanSum + { + KahanSum() noexcept : sum(), error() {} + operator FloatType() const noexcept { return sum; } + + void JUCE_NO_ASSOCIATIVE_MATH_OPTIMISATIONS operator+= (FloatType value) noexcept + { + FloatType correctedValue = value - error; + FloatType newSum = sum + correctedValue; + error = (newSum - sum) - correctedValue; + sum = newSum; + } + + FloatType sum, error; + }; + + //============================================================================== + size_t count; + KahanSum sum, sumSquares; + FloatType minimum, maximum; +}; + + +#endif // JUCE_STATISTICSACCUMULATOR_H_INCLUDED diff --git a/modules/juce_core/memory/juce_Atomic.h b/modules/juce_core/memory/juce_Atomic.h index 970d4d38..b392171f 100644 --- a/modules/juce_core/memory/juce_Atomic.h +++ b/modules/juce_core/memory/juce_Atomic.h @@ -147,7 +147,7 @@ public: #endif /** The raw value that this class operates on. - This is exposed publically in case you need to manipulate it directly + This is exposed publicly in case you need to manipulate it directly for performance reasons. */ volatile Type value; @@ -187,21 +187,11 @@ private: /* The following code is in the header so that the atomics can be inlined where possible... */ -#if JUCE_MAC && (JUCE_PPC || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2)) +#if JUCE_MAC && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2)) #define JUCE_ATOMICS_MAC_LEGACY 1 // Older OSX builds using gcc4.1 or earlier - #if JUCE_PPC - // None of these atomics are available for PPC or for iOS 3.1 or earlier!! - template static Type OSAtomicAdd64Barrier (Type b, volatile Type* a) noexcept { jassertfalse; return *a += b; } - template static Type OSAtomicIncrement64Barrier (volatile Type* a) noexcept { jassertfalse; return ++*a; } - template static Type OSAtomicDecrement64Barrier (volatile Type* a) noexcept { jassertfalse; return --*a; } - template static bool OSAtomicCompareAndSwap64Barrier (Type old, Type newValue, volatile Type* value) noexcept - { jassertfalse; if (old == *value) { *value = newValue; return true; } return false; } - #define JUCE_64BIT_ATOMICS_UNAVAILABLE 1 - #endif - //============================================================================== -#elif (JUCE_GCC || JUCE_CLANG) && ! JUCE_MSVC +#elif JUCE_GCC || JUCE_CLANG #define JUCE_ATOMICS_GCC 1 // GCC with intrinsics #if JUCE_IOS || JUCE_ANDROID // (64-bit ops will compile but not link on these mobile OSes) @@ -212,27 +202,17 @@ private: #else #define JUCE_ATOMICS_WINDOWS 1 // Windows with intrinsics - #if JUCE_USE_MSVC_INTRINSICS - #ifndef __INTEL_COMPILER - #pragma intrinsic (_InterlockedExchange, _InterlockedIncrement, _InterlockedDecrement, _InterlockedCompareExchange, \ - _InterlockedCompareExchange64, _InterlockedExchangeAdd, _ReadWriteBarrier) - #endif - #define juce_InterlockedExchange(a, b) _InterlockedExchange(a, b) - #define juce_InterlockedIncrement(a) _InterlockedIncrement(a) - #define juce_InterlockedDecrement(a) _InterlockedDecrement(a) - #define juce_InterlockedExchangeAdd(a, b) _InterlockedExchangeAdd(a, b) - #define juce_InterlockedCompareExchange(a, b, c) _InterlockedCompareExchange(a, b, c) - #define juce_InterlockedCompareExchange64(a, b, c) _InterlockedCompareExchange64(a, b, c) - #define juce_MemoryBarrier _ReadWriteBarrier - #else - long juce_InterlockedExchange (volatile long* a, long b) noexcept; - long juce_InterlockedIncrement (volatile long* a) noexcept; - long juce_InterlockedDecrement (volatile long* a) noexcept; - long juce_InterlockedExchangeAdd (volatile long* a, long b) noexcept; - long juce_InterlockedCompareExchange (volatile long* a, long b, long c) noexcept; - __int64 juce_InterlockedCompareExchange64 (volatile __int64* a, __int64 b, __int64 c) noexcept; - inline void juce_MemoryBarrier() noexcept { long x = 0; juce_InterlockedIncrement (&x); } + #ifndef __INTEL_COMPILER + #pragma intrinsic (_InterlockedExchange, _InterlockedIncrement, _InterlockedDecrement, _InterlockedCompareExchange, \ + _InterlockedCompareExchange64, _InterlockedExchangeAdd, _ReadWriteBarrier) #endif + #define juce_InterlockedExchange(a, b) _InterlockedExchange(a, b) + #define juce_InterlockedIncrement(a) _InterlockedIncrement(a) + #define juce_InterlockedDecrement(a) _InterlockedDecrement(a) + #define juce_InterlockedExchangeAdd(a, b) _InterlockedExchangeAdd(a, b) + #define juce_InterlockedCompareExchange(a, b, c) _InterlockedCompareExchange(a, b, c) + #define juce_InterlockedCompareExchange64(a, b, c) _InterlockedCompareExchange64(a, b, c) + #define juce_MemoryBarrier _ReadWriteBarrier #if JUCE_64BIT #ifndef __INTEL_COMPILER diff --git a/modules/juce_core/memory/juce_ByteOrder.h b/modules/juce_core/memory/juce_ByteOrder.h index 680f432f..c11763ff 100644 --- a/modules/juce_core/memory/juce_ByteOrder.h +++ b/modules/juce_core/memory/juce_ByteOrder.h @@ -140,35 +140,24 @@ private: //============================================================================== -#if JUCE_USE_MSVC_INTRINSICS && ! defined (__INTEL_COMPILER) +#if JUCE_MSVC && ! defined (__INTEL_COMPILER) #pragma intrinsic (_byteswap_ulong) #endif inline uint16 ByteOrder::swap (uint16 n) noexcept { - #if JUCE_USE_MSVC_INTRINSICSxxx // agh - the MS compiler has an internal error when you try to use this intrinsic! - return static_cast (_byteswap_ushort (n)); - #else return static_cast ((n << 8) | (n >> 8)); - #endif } inline uint32 ByteOrder::swap (uint32 n) noexcept { #if JUCE_MAC || JUCE_IOS return OSSwapInt32 (n); - #elif JUCE_GCC && JUCE_INTEL && ! JUCE_NO_INLINE_ASM + #elif (JUCE_GCC || JUCE_CLANG) && JUCE_INTEL && ! JUCE_NO_INLINE_ASM asm("bswap %%eax" : "=a"(n) : "a"(n)); return n; - #elif JUCE_USE_MSVC_INTRINSICS + #elif JUCE_MSVC return _byteswap_ulong (n); - #elif JUCE_MSVC && ! JUCE_NO_INLINE_ASM - __asm { - mov eax, n - bswap eax - mov n, eax - } - return n; #elif JUCE_ANDROID return bswap_32 (n); #else @@ -180,7 +169,7 @@ inline uint64 ByteOrder::swap (uint64 value) noexcept { #if JUCE_MAC || JUCE_IOS return OSSwapInt64 (value); - #elif JUCE_USE_MSVC_INTRINSICS + #elif JUCE_MSVC return _byteswap_uint64 (value); #else return (((uint64) swap ((uint32) value)) << 32) | swap ((uint32) (value >> 32)); diff --git a/modules/juce_core/memory/juce_OptionalScopedPointer.h b/modules/juce_core/memory/juce_OptionalScopedPointer.h index fd0d5f6a..46fa34cd 100644 --- a/modules/juce_core/memory/juce_OptionalScopedPointer.h +++ b/modules/juce_core/memory/juce_OptionalScopedPointer.h @@ -180,6 +180,12 @@ private: //============================================================================== ScopedPointer object; bool shouldDelete; + + // This is here to avoid people accidentally taking a second owned copy of + // a scoped pointer, which is almost certainly not what you intended to do! + // If you hit a problem with this, you probably meant to say + // myPointer.setOwned (myScopedPointer.release()) + void setOwned (const ScopedPointer&) JUCE_DELETED_FUNCTION; }; diff --git a/modules/juce_core/memory/juce_ReferenceCountedObject.h b/modules/juce_core/memory/juce_ReferenceCountedObject.h index fca745eb..9a2e9c7f 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/memory/juce_ScopedPointer.h b/modules/juce_core/memory/juce_ScopedPointer.h index 557104ee..6b460772 100644 --- a/modules/juce_core/memory/juce_ScopedPointer.h +++ b/modules/juce_core/memory/juce_ScopedPointer.h @@ -56,7 +56,7 @@ can use the release() method. Something to note is the main difference between this class and the std::auto_ptr class, - which is that ScopedPointer provides a cast-to-object operator, wheras std::auto_ptr + which is that ScopedPointer provides a cast-to-object operator, whereas std::auto_ptr requires that you always call get() to retrieve the pointer. The advantages of providing the cast is that you don't need to call get(), so can use the ScopedPointer in pretty much exactly the same way as a raw pointer. The disadvantage is that the compiler is free to diff --git a/modules/juce_core/misc/juce_RuntimePermissions.cpp b/modules/juce_core/misc/juce_RuntimePermissions.cpp new file mode 100644 index 00000000..c9e38ea0 --- /dev/null +++ b/modules/juce_core/misc/juce_RuntimePermissions.cpp @@ -0,0 +1,48 @@ +/* + ============================================================================== + + This file is part of the juce_core module of the JUCE library. + Copyright (c) 2016 - 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_ANDROID // We currently don't request runtime permissions on any other platform + // than Android, so this file contains a dummy implementation for those. + // This may change in the future. + +void RuntimePermissions::request (PermissionID /*permission*/, Callback callback) +{ + callback (true); +} + +bool RuntimePermissions::isRequired (PermissionID /*permission*/) +{ + return false; +} + +bool RuntimePermissions::isGranted (PermissionID /*permission*/) +{ + return true; +} + +#endif diff --git a/modules/juce_core/misc/juce_RuntimePermissions.h b/modules/juce_core/misc/juce_RuntimePermissions.h new file mode 100644 index 00000000..c40a413c --- /dev/null +++ b/modules/juce_core/misc/juce_RuntimePermissions.h @@ -0,0 +1,131 @@ +/* + ============================================================================== + + This file is part of the juce_core module of the JUCE library. + Copyright (c) 2016 - 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 + + ============================================================================== +*/ + +#ifndef JUCE_RUNTIMEPERMISSIONS_H_INCLUDED +#define JUCE_RUNTIMEPERMISSIONS_H_INCLUDED + +//============================================================================== +/** + Class to handle app runtime permissions for certain functionality on some platforms. + + The use of this class is currently only required if the app should run on + Android API level 23 and higher. + + On lower API levels, the permissions are specified in the app manifest. On iOS, + runtime permission requests are handled automatically by the Apple APIs and not + manually in the app code. On Windows, OS X, and Linux, runtime permissions are not + used at all. In all these cases, request() will simply call through to the + callback with no overhead and pass true (making it safe to use on all platforms). + + For example, to enable audio recording on Android in your cross-platform app, + you could modify your code as follows: + + Old code: + + audioDeviceManager.initialise (2, 2, nullptr, true, String(), nullptr); + + New code: + + RuntimePermissions::request ( + RuntimePermissions::audioRecording, + [this] (bool wasGranted) + { + if (! wasGranted) + { + // e.g. display an error or initialise with 0 input channels + return; + } + + audioDeviceManager.initialise (2, 2, nullptr, true, String(), nullptr); + } + ); +*/ +class JUCE_API RuntimePermissions +{ +public: + //============================================================================== + enum PermissionID + { + /** Permission to access the microphone (required on Android). + You need to request this, for example, to initialise an AudioDeviceManager with + a non-zero number of input channels, and to open the default audio input device. + */ + recordAudio = 1, + + /** Permission to scan for and pair to Bluetooth MIDI devices (required on Android). + You need to request this before calling BluetoothMidiDevicePairingDialogue::open(), + otherwise no devices will be found. + */ + bluetoothMidi = 2, + }; + + //============================================================================== + /** Function type of runtime permission request callbacks. */ + #if JUCE_COMPILER_SUPPORTS_LAMBDAS + typedef std::function Callback; + #else + typedef void (*Callback) (bool); + #endif + + //============================================================================== + /** Call this method to request a runtime permission. + + @param permission The PermissionID of the permission you want to request. + + @param callback The callback to be called after the request has been granted + or denied; the argument passed will be true if the permission + has been granted and false otherwise. + + If no runtime request is required or possible to obtain the permission, the + callback will be called immediately. The argument passed in will be true + if the permission is granted or no permission is required on this platform, + and false otherwise. + + If a runtime request is required to obtain the permission, the callback + will be called asynchronously after the OS has granted or denied the requested + permission (typically by displaying a dialog box to the user and waiting until + the user has responded). + */ + static void request (PermissionID permission, Callback callback); + + /** Returns whether a runtime request is required to obtain the permission + on the current platform. + */ + static bool isRequired (PermissionID permission); + + /** Returns true if the app has been already granted this permission, either + via a previous runtime request or otherwise, or no permission is necessary. + + Note that this can be false even if isRequired returns false. In this case, + the permission can not be obtained at all at runtime. + */ + static bool isGranted (PermissionID permission); +}; + + +#endif // JUCE_RUNTIMEPERMISSIONS_H_INCLUDED diff --git a/modules/juce_core/misc/juce_WindowsRegistry.h b/modules/juce_core/misc/juce_WindowsRegistry.h index 987d87c7..2840e189 100644 --- a/modules/juce_core/misc/juce_WindowsRegistry.h +++ b/modules/juce_core/misc/juce_WindowsRegistry.h @@ -60,7 +60,7 @@ public: e.g. "HKEY_CURRENT_USER\Software\foo\bar" */ static String JUCE_CALLTYPE getValue (const String& regValuePath, - const String& defaultValue = String::empty, + const String& defaultValue = String(), WoW64Mode mode = WoW64_Default); /** Reads a binary block from the registry. @@ -128,7 +128,7 @@ public: WoW64Mode mode = WoW64_Default); // DEPRECATED: use the other methods with a WoW64Mode parameter of WoW64_64bit instead. - JUCE_DEPRECATED (static String getValueWow64 (const String&, const String& defaultValue = String::empty)); + JUCE_DEPRECATED (static String getValueWow64 (const String&, const String& defaultValue = String())); JUCE_DEPRECATED (static bool valueExistsWow64 (const String&)); JUCE_DEPRECATED (static bool keyExistsWow64 (const String&)); diff --git a/modules/juce_core/native/java/AndroidRuntimePermissions.java b/modules/juce_core/native/java/AndroidRuntimePermissions.java new file mode 100644 index 00000000..6e1b160a --- /dev/null +++ b/modules/juce_core/native/java/AndroidRuntimePermissions.java @@ -0,0 +1,12 @@ + @Override + public void onRequestPermissionsResult (int permissionID, String permissions[], int[] grantResults) + { + boolean permissionsGranted = (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED); + + if (! permissionsGranted) + Log.d ("JUCE", "onRequestPermissionsResult: runtime permission was DENIED: " + getAndroidPermissionName (permissionID)); + + Long ptrToCallback = permissionCallbackPtrMap.get (permissionID); + permissionCallbackPtrMap.remove (permissionID); + androidRuntimePermissionsCallback (permissionsGranted, ptrToCallback); + } diff --git a/modules/juce_core/native/java/JuceAppActivity.java b/modules/juce_core/native/java/JuceAppActivity.java index f61b29a1..8ece717e 100644 --- a/modules/juce_core/native/java/JuceAppActivity.java +++ b/modules/juce_core/native/java/JuceAppActivity.java @@ -30,14 +30,14 @@ import android.content.DialogInterface; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; +import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; import android.os.Looper; import android.os.Handler; -import android.os.Build; -import android.os.Process; import android.os.ParcelUuid; +import android.os.Environment; import android.view.*; import android.view.inputmethod.BaseInputConnection; import android.view.inputmethod.EditorInfo; @@ -49,20 +49,17 @@ import android.text.InputType; import android.util.DisplayMetrics; import android.util.Log; import java.lang.Runnable; -import java.util.List; -import java.util.Arrays; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Hashtable; -import java.util.TimerTask; +import java.util.*; import java.io.*; import java.net.URL; import java.net.HttpURLConnection; import android.media.AudioManager; import android.media.MediaScannerConnection; import android.media.MediaScannerConnection.MediaScannerConnectionClient; - -$$JuceAndroidMidiImports$$ // If you get an error here, you need to re-save your project with the introjucer! +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 Projucer! //============================================================================== @@ -74,6 +71,75 @@ public class JuceAppActivity extends Activity System.loadLibrary ("juce_jni"); } + //============================================================================== + public boolean isPermissionDeclaredInManifest (int permissionID) + { + String permissionToCheck = getAndroidPermissionName(permissionID); + + try + { + PackageInfo info = getPackageManager().getPackageInfo(getApplicationContext().getPackageName(), PackageManager.GET_PERMISSIONS); + + if (info.requestedPermissions != null) + for (String permission : info.requestedPermissions) + if (permission.equals (permissionToCheck)) + return true; + } + catch (PackageManager.NameNotFoundException e) + { + Log.d ("JUCE", "isPermissionDeclaredInManifest: PackageManager.NameNotFoundException = " + e.toString()); + } + + Log.d ("JUCE", "isPermissionDeclaredInManifest: could not find requested permission " + permissionToCheck); + return false; + } + + //============================================================================== + // these have to match the values of enum PermissionID in C++ class RuntimePermissions: + private static final int JUCE_PERMISSIONS_RECORD_AUDIO = 1; + private static final int JUCE_PERMISSIONS_BLUETOOTH_MIDI = 2; + + private static String getAndroidPermissionName (int permissionID) + { + switch (permissionID) + { + case JUCE_PERMISSIONS_RECORD_AUDIO: return Manifest.permission.RECORD_AUDIO; + case JUCE_PERMISSIONS_BLUETOOTH_MIDI: return Manifest.permission.ACCESS_COARSE_LOCATION; + } + + // unknown permission ID! + assert false; + return new String(); + } + + public boolean isPermissionGranted (int permissionID) + { + return ContextCompat.checkSelfPermission (this, getAndroidPermissionName (permissionID)) == PackageManager.PERMISSION_GRANTED; + } + + private Map permissionCallbackPtrMap; + + public void requestRuntimePermission (int permissionID, long ptrToCallback) + { + String permissionName = getAndroidPermissionName (permissionID); + + if (ContextCompat.checkSelfPermission (this, permissionName) != PackageManager.PERMISSION_GRANTED) + { + // remember callbackPtr, request permissions, and let onRequestPermissionResult call callback asynchronously + permissionCallbackPtrMap.put (permissionID, ptrToCallback); + ActivityCompat.requestPermissions (this, new String[]{permissionName}, permissionID); + } + else + { + // permissions were already granted before, we can call callback directly + androidRuntimePermissionsCallback (true, ptrToCallback); + } + } + + private native void androidRuntimePermissionsCallback (boolean permissionWasGranted, long ptrToCallback); + + $$JuceAndroidRuntimePermissionsCode$$ // If you get an error here, you need to re-save your project with the Projucer! + //============================================================================== public static class MidiPortID extends Object { @@ -123,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 @@ -132,10 +198,13 @@ public class JuceAppActivity extends Activity super.onCreate (savedInstanceState); isScreenSaverEnabled = true; + hideActionBar(); viewHolder = new ViewHolder (this); setContentView (viewHolder); setVolumeControlStream (AudioManager.STREAM_MUSIC); + + permissionCallbackPtrMap = new HashMap(); } @Override @@ -174,6 +243,49 @@ public class JuceAppActivity extends Activity getApplicationInfo().dataDir); } + private void hideActionBar() + { + // get "getActionBar" method + java.lang.reflect.Method getActionBarMethod = null; + try + { + getActionBarMethod = this.getClass().getMethod ("getActionBar"); + } + catch (SecurityException e) { return; } + catch (NoSuchMethodException e) { return; } + if (getActionBarMethod == null) return; + + // invoke "getActionBar" method + Object actionBar = null; + try + { + actionBar = getActionBarMethod.invoke (this); + } + catch (java.lang.IllegalArgumentException e) { return; } + catch (java.lang.IllegalAccessException e) { return; } + catch (java.lang.reflect.InvocationTargetException e) { return; } + if (actionBar == null) return; + + // get "hide" method + java.lang.reflect.Method actionBarHideMethod = null; + try + { + actionBarHideMethod = actionBar.getClass().getMethod ("hide"); + } + catch (SecurityException e) { return; } + catch (NoSuchMethodException e) { return; } + if (actionBarHideMethod == null) return; + + // invoke "hide" method + try + { + actionBarHideMethod.invoke (actionBar); + } + catch (java.lang.IllegalArgumentException e) {} + catch (java.lang.IllegalAccessException e) {} + catch (java.lang.reflect.InvocationTargetException e) {} + } + //============================================================================== private native void launchApp (String appFile, String appDataDir); private native void quitApp(); @@ -691,7 +803,7 @@ public class JuceAppActivity extends Activity int format, int width, int height); } - public NativeSurfaceView createNativeSurfaceView(long nativeSurfacePtr) + public NativeSurfaceView createNativeSurfaceView (long nativeSurfacePtr) { return new NativeSurfaceView (this, nativeSurfacePtr); } @@ -917,6 +1029,17 @@ public class JuceAppActivity extends Activity : locale.getDisplayLanguage (java.util.Locale.US); } + private static final String getFileLocation (String type) + { + return Environment.getExternalStoragePublicDirectory (type).getAbsolutePath(); + } + + public static final String getDocumentsFolder() { return Environment.getDataDirectory().getAbsolutePath(); } + public static final String getPicturesFolder() { return getFileLocation (Environment.DIRECTORY_PICTURES); } + public static final String getMusicFolder() { return getFileLocation (Environment.DIRECTORY_MUSIC); } + public static final String getMoviesFolder() { return getFileLocation (Environment.DIRECTORY_MOVIES); } + public static final String getDownloadsFolder() { return getFileLocation (Environment.DIRECTORY_DOWNLOADS); } + //============================================================================== private final class SingleMediaScanner implements MediaScannerConnectionClient { @@ -1041,23 +1164,24 @@ public class JuceAppActivity extends Activity return null; java.lang.reflect.Method method; - try { + + try + { method = obj.getClass().getMethod ("getProperty", String.class); - } catch (SecurityException e) { - return null; - } catch (NoSuchMethodException e) { - return null; } + catch (SecurityException e) { return null; } + catch (NoSuchMethodException e) { return null; } if (method == null) return null; - try { + try + { return (String) method.invoke (obj, property); - } catch (java.lang.IllegalArgumentException e) { - } catch (java.lang.IllegalAccessException e) { - } catch (java.lang.reflect.InvocationTargetException e) { } + catch (java.lang.IllegalArgumentException e) {} + catch (java.lang.IllegalAccessException e) {} + catch (java.lang.reflect.InvocationTargetException e) {} return null; } @@ -1075,8 +1199,9 @@ public class JuceAppActivity extends Activity private static class JuceThread extends Thread { - public JuceThread (long host) + public JuceThread (long host, String threadName, long threadStackSize) { + super (null, null, threadName, threadStackSize); _this = host; } @@ -1089,9 +1214,8 @@ public class JuceAppActivity extends Activity private long _this; } - public final Thread createNewThread(long host) + public final Thread createNewThread(long host, String threadName, long threadStackSize) { - return new JuceThread(host); + return new JuceThread(host, threadName, threadStackSize); } - } diff --git a/modules/juce_core/native/juce_BasicNativeHeaders.h b/modules/juce_core/native/juce_BasicNativeHeaders.h index 034f8518..5f778827 100644 --- a/modules/juce_core/native/juce_BasicNativeHeaders.h +++ b/modules/juce_core/native/juce_BasicNativeHeaders.h @@ -29,7 +29,6 @@ #ifndef JUCE_BASICNATIVEHEADERS_H_INCLUDED #define JUCE_BASICNATIVEHEADERS_H_INCLUDED -#include "../system/juce_TargetPlatform.h" #undef T //============================================================================== @@ -42,12 +41,8 @@ #import #include #else - #define Point CarbonDummyPointName - #define Component CarbonDummyCompName #import #import - #undef Point - #undef Component #include #endif @@ -114,7 +109,9 @@ #if JUCE_MINGW #include #include - #define alloca __builtin_alloca + #ifndef alloca + #define alloca __builtin_alloca + #endif #else #include #include diff --git a/modules/juce_core/native/juce_android_Files.cpp b/modules/juce_core/native/juce_android_Files.cpp index 591c4dc1..81701fe7 100644 --- a/modules/juce_core/native/juce_android_Files.cpp +++ b/modules/juce_core/native/juce_android_Files.cpp @@ -43,7 +43,12 @@ bool File::isOnRemovableDrive() const String File::getVersion() const { - return String::empty; + return String(); +} + +static File getSpecialFile (jmethodID type) +{ + return File (juceString (LocalRef ((jstring) getEnv()->CallStaticObjectMethod (JuceAppActivity, type)))); } File File::getSpecialLocation (const SpecialLocationType type) @@ -51,18 +56,17 @@ File File::getSpecialLocation (const SpecialLocationType type) switch (type) { case userHomeDirectory: - case userDocumentsDirectory: - case userMusicDirectory: - case userMoviesDirectory: - case userPicturesDirectory: case userApplicationDataDirectory: case userDesktopDirectory: - return File (android.appDataDir); - case commonApplicationDataDirectory: - case commonDocumentsDirectory: return File (android.appDataDir); + case userDocumentsDirectory: + case commonDocumentsDirectory: return getSpecialFile (JuceAppActivity.getDocumentsFolder); + case userPicturesDirectory: return getSpecialFile (JuceAppActivity.getPicturesFolder); + case userMusicDirectory: return getSpecialFile (JuceAppActivity.getMusicFolder); + case userMoviesDirectory: return getSpecialFile (JuceAppActivity.getMoviesFolder); + case globalApplicationsDirectory: return File ("/system/app"); diff --git a/modules/juce_core/native/juce_android_JNIHelpers.h b/modules/juce_core/native/juce_android_JNIHelpers.h index 0776d719..ca3f0561 100644 --- a/modules/juce_core/native/juce_android_JNIHelpers.h +++ b/modules/juce_core/native/juce_android_JNIHelpers.h @@ -266,6 +266,7 @@ extern AndroidSystem android; METHOD (createNativeSurfaceView, "createNativeSurfaceView", "(J)L" JUCE_ANDROID_ACTIVITY_CLASSPATH "$NativeSurfaceView;") \ METHOD (postMessage, "postMessage", "(J)V") \ METHOD (finish, "finish", "()V") \ + METHOD (setRequestedOrientation,"setRequestedOrientation", "(I)V") \ METHOD (getClipboardContent, "getClipboardContent", "()Ljava/lang/String;") \ METHOD (setClipboardContent, "setClipboardContent", "(Ljava/lang/String;)V") \ METHOD (excludeClipRegion, "excludeClipRegion", "(Landroid/graphics/Canvas;FFFF)V") \ @@ -276,6 +277,11 @@ extern AndroidSystem android; METHOD (showOkCancelBox, "showOkCancelBox", "(Ljava/lang/String;Ljava/lang/String;J)V") \ METHOD (showYesNoCancelBox, "showYesNoCancelBox", "(Ljava/lang/String;Ljava/lang/String;J)V") \ STATICMETHOD (getLocaleValue, "getLocaleValue", "(Z)Ljava/lang/String;") \ + STATICMETHOD (getDocumentsFolder, "getDocumentsFolder", "()Ljava/lang/String;") \ + STATICMETHOD (getPicturesFolder, "getPicturesFolder", "()Ljava/lang/String;") \ + STATICMETHOD (getMusicFolder, "getMusicFolder", "()Ljava/lang/String;") \ + STATICMETHOD (getDownloadsFolder, "getDownloadsFolder", "()Ljava/lang/String;") \ + STATICMETHOD (getMoviesFolder, "getMoviesFolder", "()Ljava/lang/String;") \ METHOD (scanFile, "scanFile", "(Ljava/lang/String;)V") \ METHOD (getTypeFaceFromAsset, "getTypeFaceFromAsset", "(Ljava/lang/String;)Landroid/graphics/Typeface;") \ METHOD (getTypeFaceFromByteArray,"getTypeFaceFromByteArray","([B)Landroid/graphics/Typeface;") \ @@ -287,7 +293,10 @@ extern AndroidSystem android; METHOD (audioManagerGetProperty, "audioManagerGetProperty", "(Ljava/lang/String;)Ljava/lang/String;") \ METHOD (setCurrentThreadPriority, "setCurrentThreadPriority", "(I)I") \ METHOD (hasSystemFeature, "hasSystemFeature", "(Ljava/lang/String;)Z" ) \ - METHOD (createNewThread, "createNewThread", "(J)Ljava/lang/Thread;") \ + METHOD (createNewThread, "createNewThread", "(JLjava/lang/String;J)Ljava/lang/Thread;") \ + METHOD (requestRuntimePermission, "requestRuntimePermission", "(IJ)V" ) \ + METHOD (isPermissionGranted, "isPermissionGranted", "(I)Z" ) \ + METHOD (isPermissionDeclaredInManifest, "isPermissionDeclaredInManifest", "(I)Z" ) \ DECLARE_JNI_CLASS (JuceAppActivity, JUCE_ANDROID_ACTIVITY_CLASSPATH); #undef JNI_CLASS_MEMBERS diff --git a/modules/juce_core/native/juce_android_RuntimePermissions.cpp b/modules/juce_core/native/juce_android_RuntimePermissions.cpp new file mode 100644 index 00000000..4b75fbc7 --- /dev/null +++ b/modules/juce_core/native/juce_android_RuntimePermissions.cpp @@ -0,0 +1,90 @@ +/* + ============================================================================== + + This file is part of the juce_core module of the JUCE library. + Copyright (c) 2016 - 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 + + ============================================================================== +*/ + +namespace +{ + void handleAndroidCallback (bool permissionWasGranted, RuntimePermissions::Callback* callbackPtr) + { + if (callbackPtr == nullptr) + { + // got a nullptr passed in from java! this should never happen... + jassertfalse; + return; + } + + std::unique_ptr uptr (callbackPtr); + (*uptr) (permissionWasGranted); + } +} + +JUCE_JNI_CALLBACK (JUCE_ANDROID_ACTIVITY_CLASSNAME, + androidRuntimePermissionsCallback, + void, (JNIEnv* env, jobject /*javaObjectHandle*/, jboolean permissionsGranted, jlong callbackPtr)) +{ + setEnv (env); + handleAndroidCallback (permissionsGranted != 0, + reinterpret_cast (callbackPtr)); +} + +void RuntimePermissions::request (PermissionID permission, Callback callback) +{ + if (! android.activity.callBooleanMethod (JuceAppActivity.isPermissionDeclaredInManifest, (jint) permission)) + { + // 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 Projucer. Otherwise this can't work. + jassertfalse; + + callback (false); + return; + } + + if (JUCE_ANDROID_API_VERSION < 23) + { + // There is no runtime permission system on API level below 23. As long as the + // permission is in the manifest (seems to be the case), we can simply ask Android + // if the app has the permission, and then directly call through to the callback. + callback (isGranted (permission)); + return; + } + + // we need to move the callback object to the heap so Java can keep track of the pointer + // and asynchronously pass it back to us (to be called and then deleted) + Callback* callbackPtr = new Callback (std::move (callback)); + android.activity.callVoidMethod (JuceAppActivity.requestRuntimePermission, permission, (jlong) callbackPtr); +} + +bool RuntimePermissions::isRequired (PermissionID /*permission*/) +{ + return JUCE_ANDROID_API_VERSION >= 23; +} + +bool RuntimePermissions::isGranted (PermissionID permission) +{ + return android.activity.callBooleanMethod (JuceAppActivity.isPermissionGranted, permission); +} diff --git a/modules/juce_core/native/juce_android_Threads.cpp b/modules/juce_core/native/juce_android_Threads.cpp index 2cca156b..0636fe5c 100644 --- a/modules/juce_core/native/juce_android_Threads.cpp +++ b/modules/juce_core/native/juce_android_Threads.cpp @@ -62,16 +62,11 @@ JUCE_API void JUCE_CALLTYPE Process::setPriority (ProcessPriority prior) pthread_setschedparam (pthread_self(), policy, ¶m); } -JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger() +JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger() noexcept { return false; } -JUCE_API bool JUCE_CALLTYPE Process::isRunningUnderDebugger() -{ - return juce_isRunningUnderDebugger(); -} - JUCE_API void JUCE_CALLTYPE Process::raisePrivilege() {} JUCE_API void JUCE_CALLTYPE Process::lowerPrivilege() {} @@ -89,10 +84,8 @@ struct AndroidThreadData void JUCE_API juce_threadEntryPoint (void*); -extern "C" void* threadEntryProc (void*); -extern "C" void* threadEntryProc (void* userData) +void* threadEntryProc (AndroidThreadData* priv) { - ScopedPointer priv (reinterpret_cast (userData)); priv->tId = (Thread::ThreadID) pthread_self(); priv->eventSet.signal(); priv->eventGet.wait (-1); @@ -105,12 +98,10 @@ extern "C" void* threadEntryProc (void* userData) JUCE_JNI_CALLBACK (JUCE_JOIN_MACRO (JUCE_ANDROID_ACTIVITY_CLASSNAME, _00024JuceThread), runThread, void, (JNIEnv* env, jobject device, jlong host)) { - // Java may create a Midi thread which JUCE doesn't know about and this callback may be - // received on this thread. Java will have already created a JNI Env for this new thread, - // which we need to tell Juce about + // This thread does not have a JNIEnv assigned to it yet. So assign it now. setEnv (env); - if (Thread* thread = reinterpret_cast (host)) + if (AndroidThreadData* thread = reinterpret_cast (host)) threadEntryProc (thread); } @@ -119,8 +110,11 @@ void Thread::launchThread() threadHandle = 0; ScopedPointer threadPrivateData = new AndroidThreadData (this); + const LocalRef jName (javaString (threadName)); - jobject juceNewThread = android.activity.callObjectMethod (JuceAppActivity.createNewThread, (jlong) threadPrivateData.get()); + jobject juceNewThread = android.activity.callObjectMethod (JuceAppActivity.createNewThread, + (jlong) threadPrivateData.get(), + jName.get(), (jlong) threadStackSize); if (jobject juceThread = getEnv()->NewGlobalRef (juceNewThread)) { diff --git a/modules/juce_core/native/juce_curl_Network.cpp b/modules/juce_core/native/juce_curl_Network.cpp index f3a63832..5d6a2415 100644 --- a/modules/juce_core/native/juce_curl_Network.cpp +++ b/modules/juce_core/native/juce_curl_Network.cpp @@ -185,9 +185,11 @@ private: if (timeOutMs > 0) { - long timeOutSecs = static_cast (ceil (static_cast (timeOutMs) / 1000.0)); + long timeOutSecs = ((long) timeOutMs + 999) / 1000; - if (curl_easy_setopt (curl, CURLOPT_CONNECTTIMEOUT, timeOutSecs) != CURLE_OK) + if (curl_easy_setopt (curl, CURLOPT_CONNECTTIMEOUT, timeOutSecs) != CURLE_OK + || curl_easy_setopt (curl, CURLOPT_LOW_SPEED_LIMIT, 100) != CURLE_OK + || curl_easy_setopt (curl, CURLOPT_LOW_SPEED_TIME, timeOutSecs) != CURLE_OK) return false; } diff --git a/modules/juce_core/native/juce_linux_CommonFile.cpp b/modules/juce_core/native/juce_linux_CommonFile.cpp index 9f2d3e93..31117cd9 100644 --- a/modules/juce_core/native/juce_linux_CommonFile.cpp +++ b/modules/juce_core/native/juce_linux_CommonFile.cpp @@ -63,7 +63,7 @@ static String getLinkedFile (const String& file) HeapBlock buffer (8194); const int numBytes = (int) readlink (file.toRawUTF8(), buffer, 8192); return String::fromUTF8 (buffer, jmax (0, numBytes)); -}; +} bool File::isSymbolicLink() const { diff --git a/modules/juce_core/native/juce_linux_SystemStats.cpp b/modules/juce_core/native/juce_linux_SystemStats.cpp index 9ac6901b..b7665f82 100644 --- a/modules/juce_core/native/juce_linux_SystemStats.cpp +++ b/modules/juce_core/native/juce_linux_SystemStats.cpp @@ -156,7 +156,10 @@ void CPUInformation::initialise() noexcept hasSSE3 = flags.contains ("sse3"); has3DNow = flags.contains ("3dnow"); hasSSSE3 = flags.contains ("ssse3"); + hasSSE41 = flags.contains ("sse4_1"); + hasSSE42 = flags.contains ("sse4_2"); hasAVX = flags.contains ("avx"); + hasAVX2 = flags.contains ("avx2"); numCpus = LinuxStatsHelpers::getCpuInfo ("processor").getIntValue() + 1; } @@ -197,7 +200,7 @@ bool Time::setSystemTimeToThisTime() const return settimeofday (&t, 0) == 0; } -JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger() +JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger() noexcept { #if JUCE_BSD return false; diff --git a/modules/juce_core/native/juce_linux_Threads.cpp b/modules/juce_core/native/juce_linux_Threads.cpp index b9d3d450..465acee8 100644 --- a/modules/juce_core/native/juce_linux_Threads.cpp +++ b/modules/juce_core/native/juce_linux_Threads.cpp @@ -52,11 +52,6 @@ JUCE_API void JUCE_CALLTYPE Process::setPriority (const ProcessPriority prior) pthread_setschedparam (pthread_self(), policy, ¶m); } -JUCE_API bool JUCE_CALLTYPE Process::isRunningUnderDebugger() -{ - return juce_isRunningUnderDebugger(); -} - static bool swapUserAndEffectiveUser() { int result1 = setreuid (geteuid(), getuid()); diff --git a/modules/juce_core/native/juce_mac_Files.mm b/modules/juce_core/native/juce_mac_Files.mm index 5817bb62..564ccc7e 100644 --- a/modules/juce_core/native/juce_mac_Files.mm +++ b/modules/juce_core/native/juce_mac_Files.mm @@ -404,14 +404,20 @@ bool JUCE_CALLTYPE Process::openDocument (const String& fileName, const String& filenameAsURL = [NSURL fileURLWithPath: fileNameAsNS]; #if JUCE_IOS - (void) parameters; + ignoreUnused (parameters); + + if (SystemStats::isRunningInAppExtensionSandbox()) + return false; + return [[UIApplication sharedApplication] openURL: filenameAsURL]; #else NSWorkspace* workspace = [NSWorkspace sharedWorkspace]; if (parameters.isEmpty()) - return [workspace openFile: juceStringToNS (fileName)] - || [workspace openURL: filenameAsURL]; + // NB: the length check here is because of strange failures involving long filenames, + // probably due to filesystem name length limitations.. + return (fileName.length() < 1024 && [workspace openFile: juceStringToNS (fileName)]) + || [workspace openURL: filenameAsURL]; const File file (fileName); diff --git a/modules/juce_core/native/juce_mac_Network.mm b/modules/juce_core/native/juce_mac_Network.mm index 287bba98..f14adc74 100644 --- a/modules/juce_core/native/juce_mac_Network.mm +++ b/modules/juce_core/native/juce_mac_Network.mm @@ -64,10 +64,7 @@ bool JUCE_CALLTYPE Process::openEmailWithAttachments (const String& targetEmailA const StringArray& filesToAttach) { #if JUCE_IOS - (void) targetEmailAddress; - (void) emailSubject; - (void) bodyText; - (void) filesToAttach; + ignoreUnused (targetEmailAddress, emailSubject, bodyText, filesToAttach); //xxx probably need to use MFMailComposeViewController jassertfalse; @@ -234,7 +231,7 @@ public: void didFailWithError (NSError* error) { - DBG (nsStringToJuce ([error description])); (void) error; + DBG (nsStringToJuce ([error description])); ignoreUnused (error); hasFailed = true; initialised = true; signalThreadShouldExit(); diff --git a/modules/juce_core/native/juce_mac_Strings.mm b/modules/juce_core/native/juce_mac_Strings.mm index 53341e07..a104da67 100644 --- a/modules/juce_core/native/juce_mac_Strings.mm +++ b/modules/juce_core/native/juce_mac_Strings.mm @@ -45,8 +45,14 @@ String String::fromCFString (CFStringRef cfString) CFStringRef String::toCFString() const { const char* const utf8 = toRawUTF8(); - return CFStringCreateWithBytes (kCFAllocatorDefault, (const UInt8*) utf8, - (CFIndex) strlen (utf8), kCFStringEncodingUTF8, false); + + if (CFStringRef result = CFStringCreateWithBytes (kCFAllocatorDefault, (const UInt8*) utf8, + (CFIndex) strlen (utf8), kCFStringEncodingUTF8, false)) + return result; + + // If CFStringCreateWithBytes fails, it probably means there was a UTF8 format + // error, so we'll return an empty string rather than a null pointer. + return String().toCFString(); } String String::convertToPrecomposedUnicode() const diff --git a/modules/juce_core/native/juce_mac_SystemStats.mm b/modules/juce_core/native/juce_mac_SystemStats.mm index 0767a760..002ec0fd 100644 --- a/modules/juce_core/native/juce_mac_SystemStats.mm +++ b/modules/juce_core/native/juce_mac_SystemStats.mm @@ -81,27 +81,17 @@ void CPUInformation::initialise() noexcept has3DNow = (b & (1u << 31)) != 0; hasSSE3 = (c & (1u << 0)) != 0; hasSSSE3 = (c & (1u << 9)) != 0; + hasSSE41 = (c & (1u << 20)) != 0; + hasSSE42 = (c & (1u << 19)) != 0; hasAVX = (c & (1u << 28)) != 0; + + SystemStatsHelpers::doCPUID (a, b, c, d, 7); + hasAVX2 = (b & (1u << 5)) != 0; #endif numCpus = (int) [[NSProcessInfo processInfo] activeProcessorCount]; } -#if JUCE_MAC -struct RLimitInitialiser -{ - RLimitInitialiser() - { - rlimit lim; - getrlimit (RLIMIT_NOFILE, &lim); - lim.rlim_cur = lim.rlim_max = RLIM_INFINITY; - setrlimit (RLIMIT_NOFILE, &lim); - } -}; - -static RLimitInitialiser rLimitInitialiser; -#endif - //============================================================================== #if ! JUCE_IOS static String getOSXVersion() diff --git a/modules/juce_core/native/juce_mac_Threads.mm b/modules/juce_core/native/juce_mac_Threads.mm index 8150a15e..f24ce0ab 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 } @@ -75,23 +80,11 @@ JUCE_API void JUCE_CALLTYPE Process::setPriority (ProcessPriority) } //============================================================================== -JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger() -{ - static char testResult = 0; - - if (testResult == 0) - { - struct kinfo_proc info; - int m[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() }; - size_t sz = sizeof (info); - sysctl (m, 4, &info, &sz, 0, 0); - testResult = ((info.kp_proc.p_flag & P_TRACED) != 0) ? 1 : -1; - } - - return testResult > 0; -} - -JUCE_API bool JUCE_CALLTYPE Process::isRunningUnderDebugger() +JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger() noexcept { - return juce_isRunningUnderDebugger(); + struct kinfo_proc info; + int m[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() }; + size_t sz = sizeof (info); + sysctl (m, 4, &info, &sz, 0, 0); + return (info.kp_proc.p_flag & P_TRACED) != 0; } diff --git a/modules/juce_core/native/juce_osx_ObjCHelpers.h b/modules/juce_core/native/juce_osx_ObjCHelpers.h index b0222635..e0470ae5 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_IOS typedef double (*MsgSendFPRetFn) (id, SEL op, ...); static inline MsgSendFPRetFn getMsgSendFPRetFn() noexcept { return (MsgSendFPRetFn) (void*) objc_msgSend_fpret; } #endif @@ -115,14 +131,14 @@ struct ObjCClass void addIvar (const char* name) { BOOL b = class_addIvar (cls, name, sizeof (Type), (uint8_t) rint (log2 (sizeof (Type))), @encode (Type)); - jassert (b); (void) b; + jassert (b); ignoreUnused (b); } template void addMethod (SEL selector, FunctionType callbackFn, const char* signature) { BOOL b = class_addMethod (cls, selector, (IMP) callbackFn, signature); - jassert (b); (void) b; + jassert (b); ignoreUnused (b); } template @@ -146,10 +162,10 @@ struct ObjCClass void addProtocol (Protocol* protocol) { BOOL b = class_addProtocol (cls, protocol); - jassert (b); (void) b; + 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== (const void* ptr) const { return (block == ptr); } + bool operator!= (const void* ptr) const { return (block != ptr); } + ~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 2bb5a6a1..412c36a3 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; @@ -55,6 +59,7 @@ WaitableEvent::WaitableEvent (const bool useManualReset) noexcept pthread_mutexattr_setprotocol (&atts, PTHREAD_PRIO_INHERIT); #endif pthread_mutex_init (&mutex, &atts); + pthread_mutexattr_destroy (&atts); } WaitableEvent::~WaitableEvent() noexcept @@ -149,6 +154,45 @@ void JUCE_CALLTYPE Process::terminate() #endif } + +#if JUCE_MAC || JUCE_LINUX +bool Process::setMaxNumberOfFileHandles (int newMaxNumber) noexcept +{ + rlimit lim; + if (getrlimit (RLIMIT_NOFILE, &lim) == 0) + { + if (newMaxNumber <= 0 && lim.rlim_cur == RLIM_INFINITY && lim.rlim_max == RLIM_INFINITY) + return true; + + if (lim.rlim_cur >= (rlim_t) newMaxNumber) + return true; + } + + lim.rlim_cur = lim.rlim_max = newMaxNumber <= 0 ? RLIM_INFINITY : (rlim_t) newMaxNumber; + return setrlimit (RLIMIT_NOFILE, &lim) == 0; +} + +struct MaxNumFileHandlesInitialiser +{ + MaxNumFileHandlesInitialiser() noexcept + { + #ifndef JUCE_PREFERRED_MAX_FILE_HANDLES + enum { JUCE_PREFERRED_MAX_FILE_HANDLES = 8192 }; + #endif + + // Try to give our app a decent number of file handles by default + if (! Process::setMaxNumberOfFileHandles (0)) + { + for (int num = JUCE_PREFERRED_MAX_FILE_HANDLES; num > 256; num -= 1024) + if (Process::setMaxNumberOfFileHandles (num)) + break; + } + } +}; + +static MaxNumFileHandlesInitialiser maxNumFileHandlesInitialiser; +#endif + //============================================================================== const juce_wchar File::separator = '/'; const String File::separatorString ("/"); @@ -365,7 +409,7 @@ bool File::setFileTimesInternal (int64 modificationTime, int64 accessTime, int64 bool File::deleteFile() const { - if (! exists()) + if (! exists() && ! isSymbolicLink()) return true; if (isDirectory()) @@ -395,7 +439,7 @@ Result File::createDirectoryInternal (const String& fileName) const return getResultForReturnValue (mkdir (fileName.toUTF8(), 0777)); } -//===================================================================== +//============================================================================== int64 juce_fileSetPosition (void* handle, int64 pos) { if (handle != 0 && lseek (getFD (handle), pos, SEEK_SET) == pos) @@ -589,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 } @@ -680,7 +731,7 @@ void juce_runSystemCommand (const String&); void juce_runSystemCommand (const String& command) { int result = system (command.toUTF8()); - (void) result; + ignoreUnused (result); } String juce_getOutputFromCommand (const String&); @@ -859,13 +910,25 @@ void Thread::launchThread() { threadHandle = 0; pthread_t handle = 0; + pthread_attr_t attr; + pthread_attr_t* attrPtr = nullptr; + + if (pthread_attr_init (&attr) == 0) + { + attrPtr = &attr; - if (pthread_create (&handle, 0, threadEntryProc, this) == 0) + pthread_attr_setstacksize (attrPtr, threadStackSize); + } + + if (pthread_create (&handle, attrPtr, threadEntryProc, this) == 0) { pthread_detach (handle); threadHandle = (void*) handle; threadId = (ThreadID) threadHandle; } + + if (attrPtr != nullptr) + pthread_attr_destroy (attrPtr); } void Thread::closeThreadHandle() @@ -1003,10 +1066,12 @@ public: ActiveProcess (const StringArray& arguments, int streamFlags) : childPID (0), pipeHandle (0), readHandle (0) { + String exe (arguments[0].unquoted()); + // Looks like you're trying to launch a non-existent exe or a folder (perhaps on OSX // you're trying to launch the .app folder rather than the actual binary inside it?) - jassert ((! arguments[0].containsChar ('/')) - || File::getCurrentWorkingDirectory().getChildFile (arguments[0]).existsAsFile()); + jassert (File::getCurrentWorkingDirectory().getChildFile (exe).existsAsFile() + || ! exe.containsChar (File::separator)); int pipeHandles[2] = { 0 }; @@ -1039,11 +1104,11 @@ public: Array argv; for (int i = 0; i < arguments.size(); ++i) if (arguments[i].isNotEmpty()) - argv.add (const_cast (arguments[i].toUTF8().getAddress())); + argv.add (const_cast (arguments[i].toRawUTF8())); argv.add (nullptr); - execvp (argv[0], argv.getRawDataPointer()); + execvp (exe.toRawUTF8(), argv.getRawDataPointer()); exit (-1); } else @@ -1286,7 +1351,7 @@ private: THREAD_TIME_CONSTRAINT_POLICY_COUNT) == KERN_SUCCESS; #else - (void) periodMs; + ignoreUnused (periodMs); struct sched_param param; param.sched_priority = sched_get_priority_max (SCHED_RR); return pthread_setschedparam (thread, SCHED_RR, ¶m) == 0; diff --git a/modules/juce_core/native/juce_win32_Files.cpp b/modules/juce_core/native/juce_win32_Files.cpp index b4808a5d..69835624 100644 --- a/modules/juce_core/native/juce_win32_Files.cpp +++ b/modules/juce_core/native/juce_win32_Files.cpp @@ -524,7 +524,9 @@ bool File::isOnHardDisk() const if (fullPath.toLowerCase()[0] <= 'b' && fullPath[1] == ':') return n != DRIVE_REMOVABLE; - return n != DRIVE_CDROM && n != DRIVE_REMOTE; + return n != DRIVE_CDROM + && n != DRIVE_REMOTE + && n != DRIVE_NO_ROOT_DIR; } bool File::isOnRemovableDrive() const @@ -798,14 +800,8 @@ bool DirectoryIterator::NativeIterator::next (String& filenameFound, //============================================================================== bool JUCE_CALLTYPE Process::openDocument (const String& fileName, const String& parameters) { - HINSTANCE hInstance = 0; - - JUCE_TRY - { - hInstance = ShellExecute (0, 0, fileName.toWideCharPointer(), - parameters.toWideCharPointer(), 0, SW_SHOWDEFAULT); - } - JUCE_CATCH_ALL + HINSTANCE hInstance = ShellExecute (0, 0, fileName.toWideCharPointer(), + parameters.toWideCharPointer(), 0, SW_SHOWDEFAULT); return hInstance > (HINSTANCE) 32; } diff --git a/modules/juce_core/native/juce_win32_Registry.cpp b/modules/juce_core/native/juce_win32_Registry.cpp index 8615f432..caf71e53 100644 --- a/modules/juce_core/native/juce_win32_Registry.cpp +++ b/modules/juce_core/native/juce_win32_Registry.cpp @@ -31,13 +31,7 @@ struct RegistryKeyWrapper RegistryKeyWrapper (String name, const bool createForWriting, const DWORD wow64Flags) : key (0), wideCharValueName (nullptr) { - HKEY rootKey = 0; - - if (name.startsWithIgnoreCase ("HKEY_CURRENT_USER\\")) rootKey = HKEY_CURRENT_USER; - else if (name.startsWithIgnoreCase ("HKEY_LOCAL_MACHINE\\")) rootKey = HKEY_LOCAL_MACHINE; - else if (name.startsWithIgnoreCase ("HKEY_CLASSES_ROOT\\")) rootKey = HKEY_CLASSES_ROOT; - - if (rootKey != 0) + if (HKEY rootKey = getRootKey (name)) { name = name.substring (name.indexOfChar ('\\') + 1); @@ -63,6 +57,21 @@ struct RegistryKeyWrapper RegCloseKey (key); } + static HKEY getRootKey (const String& name) noexcept + { + if (name.startsWithIgnoreCase ("HKEY_CURRENT_USER\\")) return HKEY_CURRENT_USER; + if (name.startsWithIgnoreCase ("HKCU\\")) return HKEY_CURRENT_USER; + if (name.startsWithIgnoreCase ("HKEY_LOCAL_MACHINE\\")) return HKEY_LOCAL_MACHINE; + if (name.startsWithIgnoreCase ("HKLM\\")) return HKEY_LOCAL_MACHINE; + if (name.startsWithIgnoreCase ("HKEY_CLASSES_ROOT\\")) return HKEY_CLASSES_ROOT; + if (name.startsWithIgnoreCase ("HKCR\\")) return HKEY_CLASSES_ROOT; + if (name.startsWithIgnoreCase ("HKEY_USERS\\")) return HKEY_USERS; + if (name.startsWithIgnoreCase ("HKU\\")) return HKEY_USERS; + + jassertfalse; // The name starts with an unknown root key (or maybe an old Win9x type) + return 0; + } + static bool setValue (const String& regValuePath, const DWORD type, const void* data, size_t dataSize, const DWORD wow64Flags) { diff --git a/modules/juce_core/native/juce_win32_SystemStats.cpp b/modules/juce_core/native/juce_win32_SystemStats.cpp index 0db49030..027d06b0 100644 --- a/modules/juce_core/native/juce_win32_SystemStats.cpp +++ b/modules/juce_core/native/juce_win32_SystemStats.cpp @@ -38,10 +38,6 @@ void Logger::outputDebugString (const String& text) #endif //============================================================================== -#if JUCE_USE_MSVC_INTRINSICS - -// CPU info functions using intrinsics... - #pragma intrinsic (__cpuid) #pragma intrinsic (__rdtsc) @@ -50,37 +46,6 @@ static void callCPUID (int result[4], int infoType) __cpuid (result, infoType); } -#else - -static void callCPUID (int result[4], int infoType) -{ - #if ! JUCE_MINGW - __try - #endif - { - #if JUCE_GCC - __asm__ __volatile__ ("cpuid" : "=a" (result[0]), "=b" (result[1]), "=c" (result[2]),"=d" (result[3]) : "a" (infoType)); - #else - __asm - { - mov esi, result - mov eax, infoType - xor ecx, ecx - cpuid - mov dword ptr [esi + 0], eax - mov dword ptr [esi + 4], ebx - mov dword ptr [esi + 8], ecx - mov dword ptr [esi + 12], edx - } - #endif - } - #if ! JUCE_MINGW - __except (EXCEPTION_EXECUTE_HANDLER) {} - #endif -} - -#endif - String SystemStats::getCpuVendor() { int info[4] = { 0 }; @@ -107,8 +72,14 @@ void CPUInformation::initialise() noexcept hasSSE3 = (info[2] & (1 << 0)) != 0; hasAVX = (info[2] & (1 << 28)) != 0; hasSSSE3 = (info[2] & (1 << 9)) != 0; + hasSSE41 = (info[2] & (1 << 19)) != 0; + hasSSE42 = (info[2] & (1 << 20)) != 0; has3DNow = (info[1] & (1 << 31)) != 0; + callCPUID (info, 7); + + hasAVX2 = (info[1] & (1 << 5)) != 0; + SYSTEM_INFO systemInfo; GetNativeSystemInfo (&systemInfo); numCpus = (int) systemInfo.dwNumberOfProcessors; @@ -275,7 +246,7 @@ public: #if JUCE_WIN32_TIMER_PERIOD > 0 const MMRESULT res = timeBeginPeriod (JUCE_WIN32_TIMER_PERIOD); - (void) res; + ignoreUnused (res); jassert (res == TIMERR_NOERROR); #endif @@ -321,11 +292,11 @@ double Time::getMillisecondCounterHiRes() noexcept { return hiResCounterHa //============================================================================== static int64 juce_getClockCycleCounter() noexcept { - #if JUCE_USE_MSVC_INTRINSICS + #if JUCE_MSVC // MS intrinsics version... return (int64) __rdtsc(); - #elif JUCE_GCC + #elif JUCE_GCC || JUCE_CLANG // GNU inline asm version... unsigned int hi = 0, lo = 0; @@ -342,19 +313,7 @@ static int64 juce_getClockCycleCounter() noexcept return (int64) ((((uint64) hi) << 32) | lo); #else - // MSVC inline asm version... - unsigned int hi = 0, lo = 0; - - __asm - { - xor eax, eax - xor edx, edx - rdtsc - mov lo, eax - mov hi, edx - } - - return (int64) ((((uint64) hi) << 32) | lo); + #error "unknown compiler?" #endif } diff --git a/modules/juce_core/native/juce_win32_Threads.cpp b/modules/juce_core/native/juce_win32_Threads.cpp index 7d2003fc..4bce47c0 100644 --- a/modules/juce_core/native/juce_win32_Threads.cpp +++ b/modules/juce_core/native/juce_win32_Threads.cpp @@ -35,38 +35,11 @@ void* getUser32Function (const char* functionName) return (void*) GetProcAddress (module, functionName); } -//============================================================================== -#if ! JUCE_USE_MSVC_INTRINSICS -// In newer compilers, the inline versions of these are used (in juce_Atomic.h), but in -// older ones we have to actually call the ops as win32 functions.. -long juce_InterlockedExchange (volatile long* a, long b) noexcept { return InterlockedExchange (a, b); } -long juce_InterlockedIncrement (volatile long* a) noexcept { return InterlockedIncrement (a); } -long juce_InterlockedDecrement (volatile long* a) noexcept { return InterlockedDecrement (a); } -long juce_InterlockedExchangeAdd (volatile long* a, long b) noexcept { return InterlockedExchangeAdd (a, b); } -long juce_InterlockedCompareExchange (volatile long* a, long b, long c) noexcept { return InterlockedCompareExchange (a, b, c); } - -__int64 juce_InterlockedCompareExchange64 (volatile __int64* value, __int64 newValue, __int64 valueToCompare) noexcept -{ - jassertfalse; // This operation isn't available in old MS compiler versions! - - __int64 oldValue = *value; - if (oldValue == valueToCompare) - *value = newValue; - - return oldValue; -} - -#endif - //============================================================================== CriticalSection::CriticalSection() noexcept { // (just to check the MS haven't changed this structure and broken things...) - #if JUCE_VC7_OR_EARLIER - static_jassert (sizeof (CRITICAL_SECTION) <= 24); - #else static_jassert (sizeof (CRITICAL_SECTION) <= sizeof (lock)); - #endif InitializeCriticalSection ((CRITICAL_SECTION*) lock); } @@ -109,7 +82,8 @@ static unsigned int __stdcall threadEntryProc (void* userData) void Thread::launchThread() { unsigned int newThreadId; - threadHandle = (void*) _beginthreadex (0, 0, &threadEntryProc, this, 0, &newThreadId); + threadHandle = (void*) _beginthreadex (0, (unsigned int) threadStackSize, + &threadEntryProc, this, 0, &newThreadId); threadId = (ThreadID) (pointer_sized_int) newThreadId; } @@ -154,7 +128,7 @@ void JUCE_CALLTYPE Thread::setCurrentThreadName (const String& name) __except (EXCEPTION_CONTINUE_EXECUTION) {} #else - (void) name; + ignoreUnused (name); #endif } @@ -259,16 +233,11 @@ void JUCE_CALLTYPE Process::setPriority (ProcessPriority prior) } } -JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger() +JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger() noexcept { return IsDebuggerPresent() != FALSE; } -bool JUCE_CALLTYPE Process::isRunningUnderDebugger() -{ - return juce_isRunningUnderDebugger(); -} - static void* currentModuleHandle = nullptr; void* JUCE_CALLTYPE Process::getCurrentModuleInstanceHandle() noexcept @@ -314,27 +283,17 @@ bool juce_isRunningInWine() bool DynamicLibrary::open (const String& name) { close(); - - JUCE_TRY - { - handle = LoadLibrary (name.toWideCharPointer()); - } - JUCE_CATCH_ALL - + handle = LoadLibrary (name.toWideCharPointer()); return handle != nullptr; } void DynamicLibrary::close() { - JUCE_TRY + if (handle != nullptr) { - if (handle != nullptr) - { - FreeLibrary ((HMODULE) handle); - handle = nullptr; - } + FreeLibrary ((HMODULE) handle); + handle = nullptr; } - JUCE_CATCH_ALL } void* DynamicLibrary::getFunction (const String& functionName) noexcept diff --git a/modules/juce_core/network/juce_Socket.cpp b/modules/juce_core/network/juce_Socket.cpp index 7de9475b..836b1789 100644 --- a/modules/juce_core/network/juce_Socket.cpp +++ b/modules/juce_core/network/juce_Socket.cpp @@ -62,6 +62,11 @@ namespace SocketHelpers #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 { @@ -115,6 +120,7 @@ namespace SocketHelpers { // 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 @@ -133,37 +139,32 @@ namespace SocketHelpers #endif } - static bool bindSocket (const SocketHandle handle, const int port, const String& address) noexcept + static bool bindSocket (const SocketHandle handle, int port, const String& address) noexcept { - if (handle <= 0 || port < 0) + if (handle <= 0 || ! isValidPortNumber (port)) return false; - struct sockaddr_in servTmpAddr; - zerostruct (servTmpAddr); // (can't use "= { 0 }" on this object because it's typedef'ed as a C struct) - servTmpAddr.sin_family = PF_INET; - servTmpAddr.sin_addr.s_addr = htonl (INADDR_ANY); - servTmpAddr.sin_port = htons ((uint16) port); + struct sockaddr_in addr; + zerostruct (addr); // (can't use "= { 0 }" on this object because it's typedef'ed as a C struct) - #if JUCE_WINDOWS - if (address.isNotEmpty()) - servTmpAddr.sin_addr.s_addr = ::inet_addr (address.toUTF8()); - #else - ignoreUnused (address); - #endif + 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*) &servTmpAddr, sizeof (struct sockaddr_in)) >= 0; + return ::bind (handle, (struct sockaddr*) &addr, sizeof (addr)) >= 0; } static int getBoundPort (const SocketHandle handle) noexcept { - if (handle <= 0) - return -1; - - struct sockaddr_in sin_addr; - socklen_t len = sizeof (sin_addr); + if (handle > 0) + { + struct sockaddr_in addr; + socklen_t len = sizeof (addr); - if (getsockname (handle, (struct sockaddr*) &sin_addr, &len) == 0) - return ntohs (sin_addr.sin_port); + if (getsockname (handle, (struct sockaddr*) &addr, &len) == 0) + return ntohs (addr.sin_port); + } return -1; } @@ -332,45 +333,58 @@ namespace SocketHelpers const int portNumber, const int timeOutMillisecs) noexcept { - struct addrinfo* info = getAddressInfo (false, hostName, portNumber); + bool success = false; - if (info == nullptr) - return 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 (handle < 0) - handle = (int) socket (info->ai_family, info->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 (handle < 0) - { - freeaddrinfo (info); - return false; - } + 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; + } - setSocketBlockingState (handle, false); - const int result = ::connect (handle, info->ai_addr, (socklen_t) info->ai_addrlen); - freeaddrinfo (info); + #if JUCE_WINDOWS + closesocket (newHandle); + #else + ::close (newHandle); + #endif + } + } - bool retval = (result >= 0); + freeaddrinfo (info); - if (result < 0) - { - #if JUCE_WINDOWS - if (result == SOCKET_ERROR && WSAGetLastError() == WSAEWOULDBLOCK) - #else - if (errno == EINPROGRESS) - #endif + if (success) { - if (waitForReadiness (handle, readLock, false, timeOutMillisecs) == 1) - retval = true; + setSocketBlockingState (handle, true); + resetSocketOptions (handle, false, false); } } - setSocketBlockingState (handle, true); - - if (retval) - resetSocketOptions (handle, false, false); - - return retval; + return success; } static void makeReusable (int handle) noexcept @@ -384,11 +398,11 @@ namespace SocketHelpers struct ip_mreq mreq; zerostruct (mreq); - mreq.imr_multiaddr.s_addr = inet_addr (multicastIPAddress.toUTF8()); + 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.toUTF8()); + mreq.imr_interface.s_addr = inet_addr (interfaceIPAddress.toRawUTF8()); return setsockopt (handle, IPPROTO_IP, join ? IP_ADD_MEMBERSHIP @@ -414,6 +428,8 @@ StreamingSocket::StreamingSocket (const String& host, int portNum, int h) connected (true), isListener (false) { + jassert (SocketHelpers::isValidPortNumber (portNum)); + SocketHelpers::initSockets(); SocketHelpers::resetSocketOptions (h, false, false); } @@ -455,6 +471,8 @@ bool StreamingSocket::bindToPort (const int port) bool StreamingSocket::bindToPort (const int port, const String& addr) { + jassert (SocketHelpers::isValidPortNumber (port)); + return SocketHelpers::bindSocket (handle, port, addr); } @@ -467,6 +485,8 @@ 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! @@ -505,6 +525,8 @@ void StreamingSocket::close() //============================================================================== bool StreamingSocket::createListener (const int newPortNumber, const String& localHostName) { + jassert (SocketHelpers::isValidPortNumber (newPortNumber)); + if (connected) close(); @@ -512,17 +534,6 @@ bool StreamingSocket::createListener (const int newPortNumber, const String& loc portNumber = newPortNumber; isListener = true; - struct sockaddr_in servTmpAddr; - zerostruct (servTmpAddr); - - servTmpAddr.sin_family = PF_INET; - servTmpAddr.sin_addr.s_addr = htonl (INADDR_ANY); - - if (localHostName.isNotEmpty()) - servTmpAddr.sin_addr.s_addr = ::inet_addr (localHostName.toUTF8()); - - servTmpAddr.sin_port = htons ((uint16) portNumber); - handle = (int) socket (AF_INET, SOCK_STREAM, 0); if (handle < 0) @@ -532,15 +543,15 @@ bool StreamingSocket::createListener (const int newPortNumber, const String& loc SocketHelpers::makeReusable (handle); #endif - if (bind (handle, (struct sockaddr*) &servTmpAddr, sizeof (struct sockaddr_in)) < 0 - || listen (handle, SOMAXCONN) < 0) + if (SocketHelpers::bindSocket (handle, portNumber, localHostName) + && listen (handle, SOMAXCONN) >= 0) { - close(); - return false; + connected = true; + return true; } - connected = true; - return true; + close(); + return false; } StreamingSocket* StreamingSocket::waitForNextConnection() const @@ -614,14 +625,12 @@ bool DatagramSocket::bindToPort (const int port) bool DatagramSocket::bindToPort (const int port, const String& addr) { - if (handle < 0) - return false; + jassert (SocketHelpers::isValidPortNumber (port)); if (SocketHelpers::bindSocket (handle, port, addr)) { isBound = true; lastBindAddress = addr; - return true; } @@ -673,6 +682,8 @@ int DatagramSocket::read (void* destBuffer, int maxBytesToRead, bool shouldBlock int DatagramSocket::write (const String& remoteHostname, int remotePortNumber, const void* sourceBuffer, int numBytesToWrite) { + jassert (SocketHelpers::isValidPortNumber (remotePortNumber)); + if (handle < 0) return -1; diff --git a/modules/juce_core/network/juce_Socket.h b/modules/juce_core/network/juce_Socket.h index c6be4e71..33648bbc 100644 --- a/modules/juce_core/network/juce_Socket.h +++ b/modules/juce_core/network/juce_Socket.h @@ -247,7 +247,7 @@ public: This is useful if you need to know to which port the OS has actually bound your socket when bindToPort was called with zero. - Returns -1 if the socket didn't bind to any port yet or an error occured. */ + Returns -1 if the socket didn't bind to any port yet or an error occurred. */ int getBoundPort() const noexcept; /** Returns the OS's socket handle that's currently open. */ diff --git a/modules/juce_core/system/juce_PlatformDefs.h b/modules/juce_core/system/juce_PlatformDefs.h index 54ab399a..169107f0 100644 --- a/modules/juce_core/system/juce_PlatformDefs.h +++ b/modules/juce_core/system/juce_PlatformDefs.h @@ -55,32 +55,32 @@ // Debugging and assertion macros #if JUCE_LOG_ASSERTIONS || JUCE_DEBUG - #define juce_LogCurrentAssertion juce::logAssertion (__FILE__, __LINE__); + #define JUCE_LOG_CURRENT_ASSERTION juce::logAssertion (__FILE__, __LINE__); #else - #define juce_LogCurrentAssertion + #define JUCE_LOG_CURRENT_ASSERTION #endif //============================================================================== -#if JUCE_IOS || JUCE_LINUX || JUCE_ANDROID || JUCE_PPC +#if JUCE_IOS || JUCE_LINUX || JUCE_ANDROID /** This will try to break into the debugger if the app is currently being debugged. If called by an app that's not being debugged, the behaviour isn't defined - it may crash or not, depending on the platform. @see jassert() */ - #define juce_breakDebugger { ::kill (0, SIGTRAP); } -#elif JUCE_USE_MSVC_INTRINSICS + #define JUCE_BREAK_IN_DEBUGGER { ::kill (0, SIGTRAP); } +#elif JUCE_MSVC #ifndef __INTEL_COMPILER #pragma intrinsic (__debugbreak) #endif - #define juce_breakDebugger { __debugbreak(); } + #define JUCE_BREAK_IN_DEBUGGER { __debugbreak(); } #elif JUCE_GCC || JUCE_MAC #if JUCE_NO_INLINE_ASM - #define juce_breakDebugger { } + #define JUCE_BREAK_IN_DEBUGGER { } #else - #define juce_breakDebugger { asm ("int $3"); } + #define JUCE_BREAK_IN_DEBUGGER { asm ("int $3"); } #endif #else - #define juce_breakDebugger { __asm int 3 } + #define JUCE_BREAK_IN_DEBUGGER { __asm int 3 } #endif #if JUCE_CLANG && defined (__has_feature) && ! defined (JUCE_ANALYZER_NORETURN) @@ -96,7 +96,7 @@ //============================================================================== #if JUCE_MSVC && ! DOXYGEN - #define MACRO_WITH_FORCED_SEMICOLON(x) \ + #define JUCE_BLOCK_WITH_FORCED_SEMICOLON(x) \ __pragma(warning(push)) \ __pragma(warning(disable:4127)) \ do { x } while (false) \ @@ -105,23 +105,29 @@ /** This is the good old C++ trick for creating a macro that forces the user to put a semicolon after it when they use it. */ - #define MACRO_WITH_FORCED_SEMICOLON(x) do { x } while (false) + #define JUCE_BLOCK_WITH_FORCED_SEMICOLON(x) do { x } while (false) #endif //============================================================================== -#if JUCE_DEBUG || DOXYGEN +#if (JUCE_DEBUG && ! JUCE_DISABLE_ASSERTIONS) || DOXYGEN /** Writes a string to the standard error stream. - This is only compiled in a debug build. + Note that as well as a single string, you can use this to write multiple items + as a stream, e.g. + @code + DBG ("foo = " << foo << "bar = " << bar); + @endcode + The macro is only enabled in a debug build, so be careful not to use it with expressions + that have important side-effects! @see Logger::outputDebugString */ - #define DBG(dbgtext) MACRO_WITH_FORCED_SEMICOLON (juce::String tempDbgBuf; tempDbgBuf << dbgtext; juce::Logger::outputDebugString (tempDbgBuf);) + #define DBG(textToWrite) JUCE_BLOCK_WITH_FORCED_SEMICOLON (juce::String tempDbgBuf; tempDbgBuf << textToWrite; juce::Logger::outputDebugString (tempDbgBuf);) //============================================================================== /** This will always cause an assertion failure. It is only compiled in a debug build, (unless JUCE_LOG_ASSERTIONS is enabled for your build). @see jassert */ - #define jassertfalse MACRO_WITH_FORCED_SEMICOLON (juce_LogCurrentAssertion; if (juce::juce_isRunningUnderDebugger()) juce_breakDebugger; JUCE_ANALYZER_NORETURN) + #define jassertfalse JUCE_BLOCK_WITH_FORCED_SEMICOLON (JUCE_LOG_CURRENT_ASSERTION; if (juce::juce_isRunningUnderDebugger()) JUCE_BREAK_IN_DEBUGGER; JUCE_ANALYZER_NORETURN) //============================================================================== /** Platform-independent assertion macro. @@ -131,19 +137,19 @@ correct behaviour of your program! @see jassertfalse */ - #define jassert(expression) MACRO_WITH_FORCED_SEMICOLON (if (! (expression)) jassertfalse;) + #define jassert(expression) JUCE_BLOCK_WITH_FORCED_SEMICOLON (if (! (expression)) jassertfalse;) #else //============================================================================== // If debugging is disabled, these dummy debug and assertion macros are used.. - #define DBG(dbgtext) - #define jassertfalse MACRO_WITH_FORCED_SEMICOLON (juce_LogCurrentAssertion) + #define DBG(textToWrite) + #define jassertfalse JUCE_BLOCK_WITH_FORCED_SEMICOLON (JUCE_LOG_CURRENT_ASSERTION) #if JUCE_LOG_ASSERTIONS - #define jassert(expression) MACRO_WITH_FORCED_SEMICOLON (if (! (expression)) jassertfalse;) + #define jassert(expression) JUCE_BLOCK_WITH_FORCED_SEMICOLON (if (! (expression)) jassertfalse;) #else - #define jassert(a) MACRO_WITH_FORCED_SEMICOLON ( ; ) + #define jassert(expression) JUCE_BLOCK_WITH_FORCED_SEMICOLON ( ; ) #endif #endif @@ -251,40 +257,6 @@ #endif -//============================================================================== -#if JUCE_CATCH_UNHANDLED_EXCEPTIONS - - #define JUCE_TRY try - - #define JUCE_CATCH_ALL catch (...) {} - #define JUCE_CATCH_ALL_ASSERT catch (...) { jassertfalse; } - - #if ! JUCE_MODULE_AVAILABLE_juce_gui_basics - #define JUCE_CATCH_EXCEPTION JUCE_CATCH_ALL - #else - /** Used in try-catch blocks, this macro will send exceptions to the JUCEApplicationBase - object so they can be logged by the application if it wants to. - */ - #define JUCE_CATCH_EXCEPTION \ - catch (const std::exception& e) \ - { \ - juce::JUCEApplicationBase::sendUnhandledException (&e, __FILE__, __LINE__); \ - } \ - catch (...) \ - { \ - juce::JUCEApplicationBase::sendUnhandledException (nullptr, __FILE__, __LINE__); \ - } - #endif - -#else - - #define JUCE_TRY - #define JUCE_CATCH_EXCEPTION - #define JUCE_CATCH_ALL - #define JUCE_CATCH_ALL_ASSERT - -#endif - //============================================================================== #if JUCE_DEBUG || DOXYGEN /** A platform-independent way of forcing an inline function. @@ -318,7 +290,7 @@ #elif JUCE_MSVC && ! JUCE_NO_DEPRECATION_WARNINGS #define JUCE_DEPRECATED(functionDef) __declspec(deprecated) functionDef #define JUCE_DEPRECATED_WITH_BODY(functionDef, body) __declspec(deprecated) functionDef body -#elif JUCE_GCC && ! JUCE_NO_DEPRECATION_WARNINGS +#elif (JUCE_GCC || JUCE_CLANG) && ! JUCE_NO_DEPRECATION_WARNINGS #define JUCE_DEPRECATED(functionDef) functionDef __attribute__ ((deprecated)) #define JUCE_DEPRECATED_WITH_BODY(functionDef, body) functionDef __attribute__ ((deprecated)) body #else @@ -336,10 +308,19 @@ #endif //============================================================================== -#if JUCE_GCC +#if JUCE_GCC || JUCE_CLANG #define JUCE_PACKED __attribute__((packed)) #elif ! DOXYGEN #define JUCE_PACKED #endif +//============================================================================== +#if JUCE_GCC || DOXYGEN + /** This can be appended to a function declaration to tell gcc to disable associative + math optimisations which break some floating point algorithms. */ + #define JUCE_NO_ASSOCIATIVE_MATH_OPTIMISATIONS __attribute__((__optimize__("no-associative-math"))) +#else + #define JUCE_NO_ASSOCIATIVE_MATH_OPTIMISATIONS +#endif + #endif // JUCE_PLATFORMDEFS_H_INCLUDED diff --git a/modules/juce_core/system/juce_StandardHeader.h b/modules/juce_core/system/juce_StandardHeader.h index dd5e86e8..d7cf6184 100644 --- a/modules/juce_core/system/juce_StandardHeader.h +++ b/modules/juce_core/system/juce_StandardHeader.h @@ -35,8 +35,8 @@ See also SystemStats::getJUCEVersion() for a string version. */ #define JUCE_MAJOR_VERSION 4 -#define JUCE_MINOR_VERSION 1 -#define JUCE_BUILDNUMBER 0 +#define JUCE_MINOR_VERSION 2 +#define JUCE_BUILDNUMBER 1 /** Current Juce version number. @@ -50,8 +50,14 @@ //============================================================================== -#include // included before platform defs to provide a definition of _LIBCPP_VERSION +#include +#include +#include +#include +#include +#include +//============================================================================== #include "juce_CompilerSupport.h" #include "juce_PlatformDefs.h" @@ -60,23 +66,6 @@ #if JUCE_MSVC #pragma warning (push) #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 @@ -85,6 +74,8 @@ #endif #if JUCE_LINUX + #include + #include #include #if __INTEL_COMPILER @@ -105,10 +96,12 @@ #endif #if JUCE_MINGW + #include #include #endif #if JUCE_ANDROID + #include #include #include #endif diff --git a/modules/juce_core/system/juce_SystemStats.cpp b/modules/juce_core/system/juce_SystemStats.cpp index 65bb117c..9edbb165 100644 --- a/modules/juce_core/system/juce_SystemStats.cpp +++ b/modules/juce_core/system/juce_SystemStats.cpp @@ -68,7 +68,8 @@ struct CPUInformation CPUInformation() noexcept : numCpus (0), hasMMX (false), hasSSE (false), hasSSE2 (false), hasSSE3 (false), has3DNow (false), - hasSSSE3 (false), hasAVX (false) + hasSSSE3 (false), hasSSE41 (false), hasSSE42 (false), + hasAVX (false), hasAVX2 (false) { initialise(); } @@ -76,7 +77,7 @@ struct CPUInformation void initialise() noexcept; int numCpus; - bool hasMMX, hasSSE, hasSSE2, hasSSE3, has3DNow, hasSSSE3, hasAVX; + bool hasMMX, hasSSE, hasSSE2, hasSSE3, has3DNow, hasSSSE3, hasSSE41, hasSSE42, hasAVX, hasAVX2; }; static const CPUInformation& getCPUInformation() noexcept @@ -92,7 +93,10 @@ bool SystemStats::hasSSE() noexcept { return getCPUInformation().hasSS bool SystemStats::hasSSE2() noexcept { return getCPUInformation().hasSSE2; } bool SystemStats::hasSSE3() noexcept { return getCPUInformation().hasSSE3; } bool SystemStats::hasSSSE3() noexcept { return getCPUInformation().hasSSSE3; } +bool SystemStats::hasSSE41() noexcept { return getCPUInformation().hasSSE41; } +bool SystemStats::hasSSE42() noexcept { return getCPUInformation().hasSSE42; } bool SystemStats::hasAVX() noexcept { return getCPUInformation().hasAVX; } +bool SystemStats::hasAVX2() noexcept { return getCPUInformation().hasAVX2; } //============================================================================== @@ -184,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 9cbd187e..81e221f2 100644 --- a/modules/juce_core/system/juce_SystemStats.h +++ b/modules/juce_core/system/juce_SystemStats.h @@ -152,13 +152,16 @@ public: */ static String getCpuVendor(); - static bool hasMMX() noexcept; /**< Returns true if Intel MMX instructions are available. */ - static bool has3DNow() noexcept; /**< Returns true if AMD 3DNOW instructions are available. */ - static bool hasSSE() noexcept; /**< Returns true if Intel SSE instructions are available. */ - static bool hasSSE2() noexcept; /**< Returns true if Intel SSE2 instructions are available. */ - static bool hasSSE3() noexcept; /**< Returns true if Intel SSE2 instructions are available. */ - static bool hasSSSE3() noexcept; /**< Returns true if Intel SSSE3 instructions are available. */ - static bool hasAVX() noexcept; /**< Returns true if Intel AVX instructions are available. */ + static bool hasMMX() noexcept; /**< Returns true if Intel MMX instructions are available. */ + static bool has3DNow() noexcept; /**< Returns true if AMD 3DNOW instructions are available. */ + static bool hasSSE() noexcept; /**< Returns true if Intel SSE instructions are available. */ + static bool hasSSE2() noexcept; /**< Returns true if Intel SSE2 instructions are available. */ + static bool hasSSE3() noexcept; /**< Returns true if Intel SSE3 instructions are available. */ + static bool hasSSSE3() noexcept; /**< Returns true if Intel SSSE3 instructions are available. */ + static bool hasSSE41() noexcept; /**< Returns true if Intel SSE4.1 instructions are available. */ + static bool hasSSE42() noexcept; /**< Returns true if Intel SSE4.2 instructions are available. */ + static bool hasAVX() noexcept; /**< Returns true if Intel AVX instructions are available. */ + static bool hasAVX2() noexcept; /**< Returns true if Intel AVX2 instructions are available. */ //============================================================================== /** Finds out how much RAM is in the machine. @@ -190,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 aae410a0..d6e2147e 100644 --- a/modules/juce_core/system/juce_TargetPlatform.h +++ b/modules/juce_core/system/juce_TargetPlatform.h @@ -38,10 +38,31 @@ - One of JUCE_WINDOWS, JUCE_MAC JUCE_LINUX, JUCE_IOS, JUCE_ANDROID, etc. - Either JUCE_32BIT or JUCE_64BIT, depending on the architecture. - Either JUCE_LITTLE_ENDIAN or JUCE_BIG_ENDIAN. - - Either JUCE_INTEL or JUCE_PPC - - Either JUCE_GCC or JUCE_MSVC + - Either JUCE_INTEL or JUCE_ARM + - Either JUCE_GCC or JUCE_CLANG or JUCE_MSVC */ +//============================================================================== +#ifdef JUCE_APP_CONFIG_HEADER + #include JUCE_APP_CONFIG_HEADER +#elif ! defined (JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED) + /* + Most projects will contain a global header file containing various settings that + should be applied to all the code in your project. If you use the projucer, it'll + set up a global header file for you 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, in which you set + JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1 to silence this error. + (Or if you don't need a global header, then you can just define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED + globally to avoid this error). + + Note for people who hit this error when trying to compile a JUCE project created by + a pre-v4.2 version of the Introjucer/Projucer, it's very easy to fix: just re-save + your project with the latest version of the Projucer, and it'll magically fix this! + */ + #error "No global header file was included!" +#endif + //============================================================================== #if (defined (_WIN32) || defined (_WIN64)) #define JUCE_WIN32 1 @@ -52,12 +73,8 @@ #elif defined (LINUX) || defined (__linux__) #define JUCE_LINUX 1 #elif defined (__APPLE_CPP__) || defined(__APPLE_CC__) - #define Point CarbonDummyPointName // (workaround to avoid definition of "Point" by old Carbon headers) - #define Component CarbonDummyCompName #include // (needed to find out what platform we're using) #include "../native/juce_mac_ClangBugWorkaround.h" - #undef Point - #undef Component #if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR #define JUCE_IPHONE 1 @@ -124,7 +141,7 @@ #endif #if defined (__ppc__) || defined (__ppc64__) - #define JUCE_PPC 1 + #error "PowerPC is no longer supported by JUCE!" #elif defined (__arm__) || defined (__arm64__) #define JUCE_ARM 1 #else @@ -173,8 +190,7 @@ // Compiler type macros. #ifdef __clang__ - #define JUCE_CLANG 1 - #define JUCE_GCC 1 + #define JUCE_CLANG 1 #elif defined (__GNUC__) #define JUCE_GCC 1 #elif defined (_MSC_VER) @@ -184,17 +200,9 @@ #define JUCE_VC8_OR_EARLIER 1 #if _MSC_VER < 1400 - #define JUCE_VC7_OR_EARLIER 1 - - #if _MSC_VER < 1300 - #warning "MSVC 6.0 is no longer supported!" - #endif + #error "Visual Studio 2003 and earlier are no longer supported!" #endif #endif - - #if JUCE_64BIT || ! JUCE_VC7_OR_EARLIER - #define JUCE_USE_MSVC_INTRINSICS 1 - #endif #else #error unknown compiler #endif diff --git a/modules/juce_core/text/juce_CharPointer_ASCII.h b/modules/juce_core/text/juce_CharPointer_ASCII.h index a58028aa..5bc4af52 100644 --- a/modules/juce_core/text/juce_CharPointer_ASCII.h +++ b/modules/juce_core/text/juce_CharPointer_ASCII.h @@ -215,12 +215,6 @@ public: CharacterFunctions::copyAll (*this, src); } - /** Copies a source string to this pointer, advancing this pointer as it goes. */ - void writeAll (const CharPointer_ASCII src) noexcept - { - strcpy (data, src.data); - } - /** Copies a source string to this pointer, advancing this pointer as it goes. The maxDestBytes parameter specifies the maximum number of bytes that can be written to the destination buffer before stopping. diff --git a/modules/juce_core/text/juce_CharPointer_UTF8.h b/modules/juce_core/text/juce_CharPointer_UTF8.h index ba4ac186..628897f6 100644 --- a/modules/juce_core/text/juce_CharPointer_UTF8.h +++ b/modules/juce_core/text/juce_CharPointer_UTF8.h @@ -420,13 +420,7 @@ public: /** Compares this string with another one. */ int compareIgnoreCase (const CharPointer_UTF8 other) const noexcept { - #if JUCE_MINGW || (JUCE_WINDOWS && JUCE_CLANG) return CharacterFunctions::compareIgnoreCase (*this, other); - #elif JUCE_WINDOWS - return stricmp (data, other.data); - #else - return strcasecmp (data, other.data); - #endif } /** Compares this string with another one, up to a specified number of characters. */ @@ -526,6 +520,9 @@ public: return false; } + if (numExtraValues == 0) + return false; + maxBytesToRead -= numExtraValues; if (maxBytesToRead < 0) return false; diff --git a/modules/juce_core/text/juce_CharacterFunctions.cpp b/modules/juce_core/text/juce_CharacterFunctions.cpp index d0a505f7..4db016a2 100644 --- a/modules/juce_core/text/juce_CharacterFunctions.cpp +++ b/modules/juce_core/text/juce_CharacterFunctions.cpp @@ -162,3 +162,16 @@ double CharacterFunctions::mulexp10 (const double value, int exponent) noexcept return negative ? (value / result) : (value * result); } + +juce_wchar CharacterFunctions::getUnicodeCharFromWindows1252Codepage (const uint8 c) noexcept +{ + if (c < 0x80 || c >= 0xa0) + return (juce_wchar) c; + + static const uint16 lookup[] = { 0x20AC, 0x0007, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, + 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0x0007, 0x017D, 0x0007, + 0x0007, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0x0007, 0x017E, 0x0178 }; + + return (juce_wchar) lookup[c - 0x80]; +} diff --git a/modules/juce_core/text/juce_CharacterFunctions.h b/modules/juce_core/text/juce_CharacterFunctions.h index 3fce59b5..4b006e2a 100644 --- a/modules/juce_core/text/juce_CharacterFunctions.h +++ b/modules/juce_core/text/juce_CharacterFunctions.h @@ -123,6 +123,9 @@ public: /** Returns 0 to 16 for '0' to 'F", or -1 for characters that aren't a legal hex digit. */ static int getHexDigitValue (juce_wchar digit) noexcept; + /** Converts a byte of Windows 1252 codepage to unicode. */ + static juce_wchar getUnicodeCharFromWindows1252Codepage (uint8 windows1252Char) noexcept; + //============================================================================== /** Parses a character string to read a floating-point number. Note that this will advance the pointer that is passed in, leaving it at @@ -391,18 +394,28 @@ public: dest.writeNull(); } + /** Compares two characters. */ + static inline int compare (juce_wchar char1, juce_wchar char2) noexcept + { + if (int diff = static_cast (char1) - static_cast (char2)) + return diff < 0 ? -1 : 1; + + return 0; + } + /** Compares two null-terminated character strings. */ template static int compare (CharPointerType1 s1, CharPointerType2 s2) noexcept { for (;;) { - const int c1 = (int) s1.getAndAdvance(); - const int c2 = (int) s2.getAndAdvance(); - const int diff = c1 - c2; + const juce_wchar c1 = s1.getAndAdvance(); - if (diff != 0) return diff < 0 ? -1 : 1; - if (c1 == 0) break; + if (int diff = compare (c1, s2.getAndAdvance())) + return diff; + + if (c1 == 0) + break; } return 0; @@ -414,31 +427,37 @@ public: { while (--maxChars >= 0) { - const int c1 = (int) s1.getAndAdvance(); - const int c2 = (int) s2.getAndAdvance(); - const int diff = c1 - c2; + const juce_wchar c1 = s1.getAndAdvance(); - if (diff != 0) return diff < 0 ? -1 : 1; - if (c1 == 0) break; + if (int diff = compare (c1, s2.getAndAdvance())) + return diff; + + if (c1 == 0) + break; } return 0; } + /** Compares two characters, using a case-independant match. */ + static inline int compareIgnoreCase (juce_wchar char1, juce_wchar char2) noexcept + { + return char1 != char2 ? compare (toUpperCase (char1), toUpperCase (char2)) : 0; + } + /** Compares two null-terminated character strings, using a case-independant match. */ template static int compareIgnoreCase (CharPointerType1 s1, CharPointerType2 s2) noexcept { for (;;) { - const int c1 = (int) s1.toUpperCase(); - const int c2 = (int) s2.toUpperCase(); - const int diff = c1 - c2; + const juce_wchar c1 = s1.getAndAdvance(); - if (diff != 0) return diff < 0 ? -1 : 1; - if (c1 == 0) break; + if (int diff = compareIgnoreCase (c1, s2.getAndAdvance())) + return diff; - ++s1; ++s2; + if (c1 == 0) + break; } return 0; @@ -450,14 +469,13 @@ public: { while (--maxChars >= 0) { - const int c1 = (int) s1.toUpperCase(); - const int c2 = (int) s2.toUpperCase(); - const int diff = c1 - c2; + const juce_wchar c1 = s1.getAndAdvance(); - if (diff != 0) return diff < 0 ? -1 : 1; - if (c1 == 0) break; + if (int diff = compareIgnoreCase (c1, s2.getAndAdvance())) + return diff; - ++s1; ++s2; + if (c1 == 0) + break; } return 0; diff --git a/modules/juce_core/text/juce_String.cpp b/modules/juce_core/text/juce_String.cpp index 063b3891..a58fecb8 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. */ @@ -821,10 +821,10 @@ namespace StringHelpers char* end = buffer + numElementsInArray (buffer); char* start = NumberToStringConverters::numberToString (end, number); - #if (JUCE_STRING_UTF_TYPE == 8) + #if JUCE_STRING_UTF_TYPE == 8 str.appendCharPointer (String::CharPointerType (start), String::CharPointerType (end)); #else - str.appendCharPointer (String::CharPointer_ASCII (start), String::CharPointer_ASCII (end)); + str.appendCharPointer (CharPointer_ASCII (start), CharPointer_ASCII (end)); #endif return str; @@ -1387,6 +1387,10 @@ String String::replaceCharacter (const juce_wchar charToReplace, const juce_wcha String String::replaceCharacters (StringRef charactersToReplace, StringRef charactersToInsertInstead) const { + // Each character in the first string must have a matching one in the + // second, so the two strings must be the same length. + jassert (charactersToReplace.length() == charactersToInsertInstead.length()); + StringCreationHelper builder (text); for (;;) diff --git a/modules/juce_core/text/juce_StringArray.h b/modules/juce_core/text/juce_StringArray.h index a36d64e2..9127fb85 100644 --- a/modules/juce_core/text/juce_StringArray.h +++ b/modules/juce_core/text/juce_StringArray.h @@ -118,7 +118,10 @@ public: //============================================================================== /** Returns the number of strings in the array */ - inline int size() const noexcept { return strings.size(); }; + inline int size() const noexcept { return strings.size(); } + + /** Returns true if the array is empty, false otherwise. */ + inline bool isEmpty() const noexcept { return size() == 0; } /** Returns one of the strings from the array. @@ -302,8 +305,8 @@ public: void remove (int index); /** Finds a string in the array and removes it. - This will remove the first occurrence of the given string from the array. The - comparison may be case-insensitive depending on the ignoreCase parameter. + This will remove all occurrences of the given string from the array. + The comparison may be case-insensitive depending on the ignoreCase parameter. */ void removeString (StringRef stringToRemove, bool ignoreCase = false); diff --git a/modules/juce_core/threads/juce_Process.h b/modules/juce_core/threads/juce_Process.h index eb5d59df..9ba0af0c 100644 --- a/modules/juce_core/threads/juce_Process.h +++ b/modules/juce_core/threads/juce_Process.h @@ -98,7 +98,7 @@ public: //============================================================================== /** Returns true if this process is being hosted by a debugger. */ - static bool JUCE_CALLTYPE isRunningUnderDebugger(); + static bool JUCE_CALLTYPE isRunningUnderDebugger() noexcept; //============================================================================== @@ -144,6 +144,15 @@ public: static void setDockIconVisible (bool isVisible); #endif + #if JUCE_MAC || JUCE_LINUX || DOXYGEN + //============================================================================== + /** UNIX ONLY - Attempts to use setrlimit to change the maximum number of file + handles that the app can open. Pass 0 or less as the parameter to mean + 'infinite'. Returns true if it succeeds. + */ + static bool setMaxNumberOfFileHandles (int maxNumberOfFiles) noexcept; + #endif + private: Process(); JUCE_DECLARE_NON_COPYABLE (Process) diff --git a/modules/juce_core/threads/juce_Thread.cpp b/modules/juce_core/threads/juce_Thread.cpp index d5b7110b..d529a674 100644 --- a/modules/juce_core/threads/juce_Thread.cpp +++ b/modules/juce_core/threads/juce_Thread.cpp @@ -26,11 +26,12 @@ ============================================================================== */ -Thread::Thread (const String& threadName_) +Thread::Thread (const String& threadName_, const size_t stackSize) : threadName (threadName_), threadHandle (nullptr), threadId (0), threadPriority (5), + threadStackSize (stackSize), affinityMask (0), shouldExit (false) { @@ -86,22 +87,25 @@ void Thread::threadEntryPoint() const CurrentThreadHolder::Ptr currentThreadHolder (getCurrentThreadHolder()); currentThreadHolder->value = this; - JUCE_TRY - { - if (threadName.isNotEmpty()) - setCurrentThreadName (threadName); + if (threadName.isNotEmpty()) + setCurrentThreadName (threadName); - if (startSuspensionEvent.wait (10000)) - { - jassert (getCurrentThreadId() == threadId); + if (startSuspensionEvent.wait (10000)) + { + jassert (getCurrentThreadId() == threadId); - if (affinityMask != 0) - setCurrentThreadAffinityMask (affinityMask); + if (affinityMask != 0) + setCurrentThreadAffinityMask (affinityMask); + try + { run(); } + catch (...) + { + jassertfalse; // Your run() method mustn't throw any exceptions! + } } - JUCE_CATCH_ALL_ASSERT currentThreadHolder->value.releaseCurrentThreadStorage(); closeThreadHandle(); @@ -159,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?? @@ -265,6 +277,12 @@ void SpinLock::enter() const noexcept } } +//============================================================================== +bool JUCE_CALLTYPE Process::isRunningUnderDebugger() noexcept +{ + return juce_isRunningUnderDebugger(); +} + //============================================================================== #if JUCE_UNIT_TESTS diff --git a/modules/juce_core/threads/juce_Thread.h b/modules/juce_core/threads/juce_Thread.h index 89a0c507..3925fdea 100644 --- a/modules/juce_core/threads/juce_Thread.h +++ b/modules/juce_core/threads/juce_Thread.h @@ -53,8 +53,14 @@ public: When first created, the thread is not running. Use the startThread() method to start it. + + @param threadName The name of the thread which typically appears in + debug logs and profiles. + @param threadStackSize The size of the stack of the thread. If this value + is zero then the default stack size of the OS will + be used. */ - explicit Thread (const String& threadName); + explicit Thread (const String& threadName, size_t threadStackSize = 0); /** Destructor. @@ -142,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 + */ + 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 */ - inline bool threadShouldExit() const { return shouldExit; } + static bool currentThreadShouldExit(); /** Waits for the thread to stop. @@ -270,6 +284,7 @@ private: CriticalSection startStopLock; WaitableEvent startSuspensionEvent, defaultEvent; int threadPriority; + size_t threadStackSize; uint32 affinityMask; bool volatile shouldExit; diff --git a/modules/juce_core/threads/juce_ThreadPool.cpp b/modules/juce_core/threads/juce_ThreadPool.cpp index b50c9de4..f57359c6 100644 --- a/modules/juce_core/threads/juce_ThreadPool.cpp +++ b/modules/juce_core/threads/juce_ThreadPool.cpp @@ -336,11 +336,14 @@ bool ThreadPool::runNextJob (ThreadPoolThread& thread) ThreadPoolJob::JobStatus result = ThreadPoolJob::jobHasFinished; thread.currentJob = job; - JUCE_TRY + try { result = job->runJob(); } - JUCE_CATCH_ALL_ASSERT + catch (...) + { + jassertfalse; // Your runJob() method mustn't throw any exceptions! + } thread.currentJob = nullptr; diff --git a/modules/juce_core/time/juce_Time.cpp b/modules/juce_core/time/juce_Time.cpp index 847b360a..454dc750 100644 --- a/modules/juce_core/time/juce_Time.cpp +++ b/modules/juce_core/time/juce_Time.cpp @@ -28,55 +28,64 @@ namespace TimeHelpers { - static struct tm millisToLocal (const int64 millis) noexcept + static std::tm millisToLocal (int64 millis) noexcept { - struct tm result; - const int64 seconds = millis / 1000; + #if JUCE_WINDOWS && JUCE_MINGW + time_t now = (time_t) (millis / 1000); + return *localtime (&now); - if (seconds < 86400LL || seconds >= 2145916800LL) - { - // use extended maths for dates beyond 1970 to 2037.. - const int timeZoneAdjustment = 31536000 - (int) (Time (1971, 0, 1, 0, 0).toMilliseconds() / 1000); - const int64 jdm = seconds + timeZoneAdjustment + 210866803200LL; - - const int days = (int) (jdm / 86400LL); - const int a = 32044 + days; - const int b = (4 * a + 3) / 146097; - const int c = a - (b * 146097) / 4; - const int d = (4 * c + 3) / 1461; - const int e = c - (d * 1461) / 4; - const int m = (5 * e + 2) / 153; - - result.tm_mday = e - (153 * m + 2) / 5 + 1; - result.tm_mon = m + 2 - 12 * (m / 10); - result.tm_year = b * 100 + d - 6700 + (m / 10); - result.tm_wday = (days + 1) % 7; - result.tm_yday = -1; - - int t = (int) (jdm % 86400LL); - result.tm_hour = t / 3600; - t %= 3600; - result.tm_min = t / 60; - result.tm_sec = t % 60; - result.tm_isdst = -1; - } - else - { - time_t now = static_cast (seconds); - - #if JUCE_WINDOWS && JUCE_MINGW - return *localtime (&now); - #elif JUCE_WINDOWS - if (now >= 0 && now <= 0x793406fff) - localtime_s (&result, &now); - else - zerostruct (result); - #else - localtime_r (&now, &result); // more thread-safe - #endif - } + #elif JUCE_WINDOWS + std::tm result; + millis /= 1000; + + if (_localtime64_s (&result, &millis) != 0) + zerostruct (result); + + return result; + + #else + std::tm result; + time_t now = (time_t) (millis / 1000); + + if (localtime_r (&now, &result) == nullptr) + zerostruct (result); + + return result; + #endif + } + + static std::tm millisToUTC (int64 millis) noexcept + { + #if JUCE_WINDOWS && JUCE_MINGW + time_t now = (time_t) (millis / 1000); + return *gmtime (&now); + + #elif JUCE_WINDOWS + std::tm result; + millis /= 1000; + + if (_gmtime64_s (&result, &millis) != 0) + zerostruct (result); + + return result; + + #else + std::tm result; + time_t now = (time_t) (millis / 1000); + + if (gmtime_r (&now, &result) == nullptr) + zerostruct (result); return result; + #endif + } + + static int getUTCOffsetSeconds (const int64 millis) noexcept + { + std::tm utc = millisToUTC (millis); + utc.tm_isdst = -1; // Treat this UTC time as local to find the offset + + return (int) ((millis / 1000) - (int64) mktime (&utc)); } static int extendedModulo (const int64 value, const int modulo) noexcept @@ -85,7 +94,7 @@ namespace TimeHelpers : (value - ((value / modulo) + 1) * modulo)); } - static inline String formatString (const String& format, const struct tm* const tm) + static inline String formatString (const String& format, const std::tm* const tm) { #if JUCE_ANDROID typedef CharPointer_UTF8 StringType; @@ -95,17 +104,23 @@ namespace TimeHelpers typedef CharPointer_UTF32 StringType; #endif + #ifdef JUCE_MSVC + if (tm->tm_year < -1900 || tm->tm_year > 8099) + return String(); // Visual Studio's library can only handle 0 -> 9999 AD + #endif + for (size_t bufferSize = 256; ; bufferSize += 256) { HeapBlock buffer (bufferSize); - #if JUCE_ANDROID - const size_t numChars = strftime (buffer, bufferSize - 1, format.toUTF8(), tm); - #elif JUCE_WINDOWS - const size_t numChars = wcsftime (buffer, bufferSize - 1, format.toWideCharPointer(), tm); - #else - const size_t numChars = wcsftime (buffer, bufferSize - 1, format.toUTF32(), tm); - #endif + const size_t numChars = + #if JUCE_ANDROID + strftime (buffer, bufferSize - 1, format.toUTF8(), tm); + #elif JUCE_WINDOWS + wcsftime (buffer, bufferSize - 1, format.toWideCharPointer(), tm); + #else + wcsftime (buffer, bufferSize - 1, format.toUTF32(), tm); + #endif if (numChars > 0 || format.isEmpty()) return String (StringType (buffer), @@ -113,22 +128,71 @@ namespace TimeHelpers } } + //============================================================================== + static inline bool isLeapYear (int year) noexcept + { + return (year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0)); + } + + static inline int daysFromJan1 (int year, int month) noexcept + { + const short dayOfYear[] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, + 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 }; + + return dayOfYear [(isLeapYear (year) ? 12 : 0) + month]; + } + + static inline int64 daysFromYear0 (int year) noexcept + { + --year; + return 365 * year + (year / 400) - (year / 100) + (year / 4); + } + + static inline int64 daysFrom1970 (int year) noexcept + { + return daysFromYear0 (year) - daysFromYear0 (1970); + } + + static inline int64 daysFrom1970 (int year, int month) noexcept + { + if (month > 11) + { + year += month / 12; + month %= 12; + } + else if (month < 0) + { + const int numYears = (11 - month) / 12; + year -= numYears; + month += 12 * numYears; + } + + return daysFrom1970 (year) + daysFromJan1 (year, month); + } + + // There's no posix function that does a UTC version of mktime, + // so annoyingly we need to implement this manually.. + static inline int64 mktime_utc (const std::tm& t) noexcept + { + return 24 * 3600 * (daysFrom1970 (t.tm_year + 1900, t.tm_mon) + (t.tm_mday - 1)) + + 3600 * t.tm_hour + + 60 * t.tm_min + + t.tm_sec; + } + static uint32 lastMSCounterValue = 0; } //============================================================================== -Time::Time() noexcept - : millisSinceEpoch (0) +Time::Time() noexcept : millisSinceEpoch (0) { } -Time::Time (const Time& other) noexcept - : millisSinceEpoch (other.millisSinceEpoch) +Time::Time (const Time& other) noexcept : millisSinceEpoch (other.millisSinceEpoch) { } -Time::Time (const int64 ms) noexcept - : millisSinceEpoch (ms) +Time::Time (const int64 ms) noexcept : millisSinceEpoch (ms) { } @@ -141,42 +205,18 @@ Time::Time (const int year, const int milliseconds, const bool useLocalTime) noexcept { - jassert (year > 100); // year must be a 4-digit version - - if (year < 1971 || year >= 2038 || ! useLocalTime) - { - // use extended maths for dates beyond 1970 to 2037.. - const int timeZoneAdjustment = useLocalTime ? (31536000 - (int) (Time (1971, 0, 1, 0, 0).toMilliseconds() / 1000)) - : 0; - const int a = (13 - month) / 12; - const int y = year + 4800 - a; - const int jd = day + (153 * (month + 12 * a - 2) + 2) / 5 - + (y * 365) + (y / 4) - (y / 100) + (y / 400) - - 32045; - - const int64 s = ((int64) jd) * 86400LL - 210866803200LL; - - millisSinceEpoch = 1000 * (s + (hours * 3600 + minutes * 60 + seconds - timeZoneAdjustment)) - + milliseconds; - } - else - { - struct tm t; - t.tm_year = year - 1900; - t.tm_mon = month; - t.tm_mday = day; - t.tm_hour = hours; - t.tm_min = minutes; - t.tm_sec = seconds; - t.tm_isdst = -1; - - millisSinceEpoch = 1000 * (int64) mktime (&t); - - if (millisSinceEpoch < 0) - millisSinceEpoch = 0; - else - millisSinceEpoch += milliseconds; - } + std::tm t; + t.tm_year = year - 1900; + t.tm_mon = month; + t.tm_mday = day; + t.tm_hour = hours; + t.tm_min = minutes; + t.tm_sec = seconds; + t.tm_isdst = -1; + + millisSinceEpoch = 1000 * (useLocalTime ? (int64) mktime (&t) + : TimeHelpers::mktime_utc (t)) + + milliseconds; } Time::~Time() noexcept @@ -315,7 +355,7 @@ String Time::toString (const bool includeDate, String Time::formatted (const String& format) const { - struct tm t (TimeHelpers::millisToLocal (millisSinceEpoch)); + std::tm t (TimeHelpers::millisToLocal (millisSinceEpoch)); return TimeHelpers::formatString (format, &t); } @@ -354,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) @@ -364,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]; @@ -388,6 +429,115 @@ String Time::getTimeZone() const noexcept return zone[0].substring (0, 3); } +int Time::getUTCOffsetSeconds() const noexcept +{ + return TimeHelpers::getUTCOffsetSeconds (millisSinceEpoch); +} + +String Time::getUTCOffsetString (bool includeSemiColon) const +{ + if (int seconds = getUTCOffsetSeconds()) + { + const int minutes = seconds / 60; + + return String::formatted (includeSemiColon ? "%+03d:%02d" + : "%+03d%02d", + minutes / 60, + minutes % 60); + } + + return "Z"; +} + +String Time::toISO8601 (bool includeDividerCharacters) const +{ + return String::formatted (includeDividerCharacters ? "%04d-%02d-%02dT%02d:%02d:%06.03f" + : "%04d%02d%02dT%02d%02d%06.03f", + getYear(), + getMonth() + 1, + getDayOfMonth(), + getHours(), + getMinutes(), + getSeconds() + getMilliseconds() / 1000.0) + + getUTCOffsetString (includeDividerCharacters); +} + +static int parseFixedSizeIntAndSkip (String::CharPointerType& t, int numChars, char charToSkip) noexcept +{ + int n = 0; + + for (int i = numChars; --i >= 0;) + { + const int digit = (int) (*t - '0'); + + if (! isPositiveAndBelow (digit, 10)) + return -1; + + ++t; + n = n * 10 + digit; + } + + if (charToSkip != 0 && *t == (juce_wchar) charToSkip) + ++t; + + return n; +} + +Time Time::fromISO8601 (StringRef iso) noexcept +{ + String::CharPointerType t = iso.text; + + const int year = parseFixedSizeIntAndSkip (t, 4, '-'); + if (year < 0) + return Time(); + + const int month = parseFixedSizeIntAndSkip (t, 2, '-'); + if (month < 0) + return Time(); + + const int day = parseFixedSizeIntAndSkip (t, 2, 0); + if (day < 0) + return Time(); + + int hours = 0, minutes = 0, milliseconds = 0; + + if (*t == 'T') + { + ++t; + hours = parseFixedSizeIntAndSkip (t, 2, ':'); + if (hours < 0) + return Time(); + + minutes = parseFixedSizeIntAndSkip (t, 2, ':'); + if (minutes < 0) + return Time(); + + milliseconds = (int) (1000.0 * CharacterFunctions::readDoubleValue (t)); + } + + const juce_wchar nextChar = t.getAndAdvance(); + + if (nextChar == '-' || nextChar == '+') + { + const int offsetHours = parseFixedSizeIntAndSkip (t, 2, ':'); + if (offsetHours < 0) + return Time(); + + const int offsetMinutes = parseFixedSizeIntAndSkip (t, 2, 0); + if (offsetMinutes < 0) + return Time(); + + const int offsetMs = (offsetHours * 60 + offsetMinutes) * 60 * 1000; + milliseconds += nextChar == '-' ? offsetMs : -offsetMs; // NB: this seems backwards but is correct! + } + else if (nextChar != 0 && nextChar != 'Z') + { + return Time(); + } + + return Time (year, month - 1, day, hours, minutes, 0, milliseconds, false); +} + String Time::getMonthName (const bool threeLetterVersion) const { return getMonthName (getMonth(), threeLetterVersion); @@ -442,19 +592,84 @@ static int getMonthNumberForCompileDate (const String& m) noexcept if (m.equalsIgnoreCase (shortMonthNames[i])) return i; - // If you hit this because your compiler has a non-standard __DATE__ format, - // let me know so we can add support for it! + // If you hit this because your compiler has an unusual __DATE__ + // format, let us know so we can add support for it! jassertfalse; return 0; } Time Time::getCompilationDate() { - StringArray dateTokens; + StringArray dateTokens, timeTokens; + dateTokens.addTokens (__DATE__, true); dateTokens.removeEmptyStrings (true); + timeTokens.addTokens (__TIME__, ":", StringRef()); + return Time (dateTokens[2].getIntValue(), getMonthNumberForCompileDate (dateTokens[0]), - dateTokens[1].getIntValue(), 12, 0); + dateTokens[1].getIntValue(), + timeTokens[0].getIntValue(), + timeTokens[1].getIntValue()); } + + +//============================================================================== +//============================================================================== +#if JUCE_UNIT_TESTS + +class TimeTests : public UnitTest +{ +public: + TimeTests() : UnitTest ("Time") {} + + void runTest() override + { + beginTest ("Time"); + + Time t = Time::getCurrentTime(); + expect (t > Time()); + + Thread::sleep (15); + expect (Time::getCurrentTime() > t); + + expect (t.getTimeZone().isNotEmpty()); + expect (t.getUTCOffsetString (true) == "Z" || t.getUTCOffsetString (true).length() == 6); + expect (t.getUTCOffsetString (false) == "Z" || t.getUTCOffsetString (false).length() == 5); + + expect (Time::fromISO8601 (t.toISO8601 (true)) == t); + expect (Time::fromISO8601 (t.toISO8601 (false)) == t); + + expect (Time::fromISO8601 ("2016-02-16") == Time (2016, 1, 16, 0, 0, 0, 0, false)); + expect (Time::fromISO8601 ("20160216Z") == Time (2016, 1, 16, 0, 0, 0, 0, false)); + expect (Time::fromISO8601 ("2016-02-16T15:03:57+00:00") == Time (2016, 1, 16, 15, 3, 57, 0, false)); + expect (Time::fromISO8601 ("20160216T150357+0000") == Time (2016, 1, 16, 15, 3, 57, 0, false)); + expect (Time::fromISO8601 ("2016-02-16T15:03:57.999+00:00") == Time (2016, 1, 16, 15, 3, 57, 999, false)); + expect (Time::fromISO8601 ("20160216T150357.999+0000") == Time (2016, 1, 16, 15, 3, 57, 999, false)); + expect (Time::fromISO8601 ("2016-02-16T15:03:57.999Z") == Time (2016, 1, 16, 15, 3, 57, 999, false)); + expect (Time::fromISO8601 ("20160216T150357.999Z") == Time (2016, 1, 16, 15, 3, 57, 999, false)); + expect (Time::fromISO8601 ("2016-02-16T15:03:57.999-02:30") == Time (2016, 1, 16, 17, 33, 57, 999, false)); + expect (Time::fromISO8601 ("20160216T150357.999-0230") == Time (2016, 1, 16, 17, 33, 57, 999, false)); + + expect (Time (1970, 0, 1, 0, 0, 0, 0, false) == Time (0)); + expect (Time (2106, 1, 7, 6, 28, 15, 0, false) == Time (4294967295000)); + expect (Time (2007, 10, 7, 1, 7, 20, 0, false) == Time (1194397640000)); + expect (Time (2038, 0, 19, 3, 14, 7, 0, false) == Time (2147483647000)); + expect (Time (2016, 2, 7, 11, 20, 8, 0, false) == Time (1457349608000)); + expect (Time (1969, 11, 31, 23, 59, 59, 0, false) == Time (-1000)); + expect (Time (1901, 11, 13, 20, 45, 53, 0, false) == Time (-2147483647000)); + + expect (Time (1982, 1, 1, 12, 0, 0, 0, true) + RelativeTime::days (365) == Time (1983, 1, 1, 12, 0, 0, 0, true)); + expect (Time (1970, 1, 1, 12, 0, 0, 0, true) + RelativeTime::days (365) == Time (1971, 1, 1, 12, 0, 0, 0, true)); + expect (Time (2038, 1, 1, 12, 0, 0, 0, true) + RelativeTime::days (365) == Time (2039, 1, 1, 12, 0, 0, 0, true)); + + expect (Time (1982, 1, 1, 12, 0, 0, 0, false) + RelativeTime::days (365) == Time (1983, 1, 1, 12, 0, 0, 0, false)); + expect (Time (1970, 1, 1, 12, 0, 0, 0, false) + RelativeTime::days (365) == Time (1971, 1, 1, 12, 0, 0, 0, false)); + expect (Time (2038, 1, 1, 12, 0, 0, 0, false) + RelativeTime::days (365) == Time (2039, 1, 1, 12, 0, 0, 0, false)); + } +}; + +static TimeTests timeTests; + +#endif diff --git a/modules/juce_core/time/juce_Time.h b/modules/juce_core/time/juce_Time.h index b51ed077..a71776c2 100644 --- a/modules/juce_core/time/juce_Time.h +++ b/modules/juce_core/time/juce_Time.h @@ -44,7 +44,7 @@ public: //============================================================================== /** Creates a Time object. - This default constructor creates a time of 1st January 1970, (which is + This default constructor creates a time of midnight Jan 1st 1970 UTC, (which is represented internally as 0ms). To create a time object representing the current time, use getCurrentTime(). @@ -55,19 +55,16 @@ public: /** Creates a time based on a number of milliseconds. - The internal millisecond count is set to 0 (1st January 1970). To create a - time object set to the current time, use getCurrentTime(). + To create a time object set to the current time, use getCurrentTime(). @param millisecondsSinceEpoch the number of milliseconds since the unix - 'epoch' (midnight Jan 1st 1970). + 'epoch' (midnight Jan 1st 1970 UTC). @see getCurrentTime, currentTimeMillis */ explicit Time (int64 millisecondsSinceEpoch) noexcept; /** Creates a time from a set of date components. - The timezone is assumed to be whatever the system is using as its locale. - @param year the year, in 4-digit format, e.g. 2004 @param month the month, in the range 0 to 11 @param day the day of the month, in the range 1 to 31 @@ -75,8 +72,8 @@ public: @param minutes minutes 0 to 59 @param seconds seconds 0 to 59 @param milliseconds milliseconds 0 to 999 - @param useLocalTime if true, encode using the current machine's local time; if - false, it will always work in GMT. + @param useLocalTime if true, assume input is in this machine's local timezone + if false, assume input is in UTC. */ Time (int year, int month, @@ -99,87 +96,79 @@ public: //============================================================================== /** Returns a Time object that is set to the current system time. + This may not be monotonic, as the system time can change at any moment. + You should therefore not use this method for measuring time intervals. + @see currentTimeMillis */ static Time JUCE_CALLTYPE getCurrentTime() noexcept; /** Returns the time as a number of milliseconds. - @returns the number of milliseconds this Time object represents, since - midnight jan 1st 1970. + midnight Jan 1st 1970 UTC. @see getMilliseconds */ int64 toMilliseconds() const noexcept { return millisSinceEpoch; } - /** Returns the year. - + /** Returns the year (in this machine's local timezone). A 4-digit format is used, e.g. 2004. */ int getYear() const noexcept; - /** Returns the number of the month. - + /** Returns the number of the month (in this machine's local timezone). The value returned is in the range 0 to 11. @see getMonthName */ int getMonth() const noexcept; - /** Returns the name of the month. - + /** Returns the name of the month (in this machine's local timezone). @param threeLetterVersion if true, it'll be a 3-letter abbreviation, e.g. "Jan"; if false it'll return the long form, e.g. "January" @see getMonth */ String getMonthName (bool threeLetterVersion) const; - /** Returns the day of the month. + /** Returns the day of the month (in this machine's local timezone). The value returned is in the range 1 to 31. */ int getDayOfMonth() const noexcept; - /** Returns the number of the day of the week. + /** Returns the number of the day of the week (in this machine's local timezone). The value returned is in the range 0 to 6 (0 = sunday, 1 = monday, etc). */ int getDayOfWeek() const noexcept; - /** Returns the number of the day of the year. + /** Returns the number of the day of the year (in this machine's local timezone). The value returned is in the range 0 to 365. */ int getDayOfYear() const noexcept; - /** Returns the name of the weekday. - + /** Returns the name of the weekday (in this machine's local timezone). @param threeLetterVersion if true, it'll return a 3-letter abbreviation, e.g. "Tue"; if false, it'll return the full version, e.g. "Tuesday". */ String getWeekdayName (bool threeLetterVersion) const; - /** Returns the number of hours since midnight. - + /** Returns the number of hours since midnight (in this machine's local timezone). This is in 24-hour clock format, in the range 0 to 23. - @see getHoursInAmPmFormat, isAfternoon */ int getHours() const noexcept; - /** Returns true if the time is in the afternoon. - - So it returns true for "PM", false for "AM". - + /** Returns true if the time is in the afternoon (in this machine's local timezone). + @returns true for "PM", false for "AM". @see getHoursInAmPmFormat, getHours */ bool isAfternoon() const noexcept; - /** Returns the hours in 12-hour clock format. - + /** Returns the hours in 12-hour clock format (in this machine's local timezone). This will return a value 1 to 12 - use isAfternoon() to find out whether this is in the afternoon or morning. - @see getHours, isAfternoon */ int getHoursInAmPmFormat() const noexcept; - /** Returns the number of minutes, 0 to 59. */ + /** Returns the number of minutes, 0 to 59 (in this machine's local timezone). */ int getMinutes() const noexcept; /** Returns the number of seconds, 0 to 59. */ @@ -197,11 +186,21 @@ public: /** Returns true if the local timezone uses a daylight saving correction. */ bool isDaylightSavingTime() const noexcept; + //============================================================================== /** Returns a 3-character string to indicate the local timezone. */ String getTimeZone() const noexcept; + /** Returns the local timezone offset from UTC in seconds. */ + int getUTCOffsetSeconds() const noexcept; + + /** Returns a string to indicate the offset of the local timezone from UTC. + @returns "+XX:XX", "-XX:XX" or "Z" + @param includeDividerCharacters whether to include or omit the ":" divider in the string + */ + String getUTCOffsetString (bool includeDividerCharacters) const; + //============================================================================== - /** Quick way of getting a string version of a date and time. + /** Returns a string version of this date and time, using this machine's local timezone. For a more powerful way of formatting the date and time, see the formatted() method. @@ -224,33 +223,45 @@ public: looking it up, these are the escape codes that strftime uses (other codes might work on some platforms and not others, but these are the common ones): - %a is replaced by the locale's abbreviated weekday name. - %A is replaced by the locale's full weekday name. - %b is replaced by the locale's abbreviated month name. - %B is replaced by the locale's full month name. - %c is replaced by the locale's appropriate date and time representation. - %d is replaced by the day of the month as a decimal number [01,31]. - %H is replaced by the hour (24-hour clock) as a decimal number [00,23]. - %I is replaced by the hour (12-hour clock) as a decimal number [01,12]. - %j is replaced by the day of the year as a decimal number [001,366]. - %m is replaced by the month as a decimal number [01,12]. - %M is replaced by the minute as a decimal number [00,59]. - %p is replaced by the locale's equivalent of either a.m. or p.m. - %S is replaced by the second as a decimal number [00,61]. - %U is replaced by the week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. - %w is replaced by the weekday as a decimal number [0,6], with 0 representing Sunday. - %W is replaced by the week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0. - %x is replaced by the locale's appropriate date representation. - %X is replaced by the locale's appropriate time representation. - %y is replaced by the year without century as a decimal number [00,99]. - %Y is replaced by the year with century as a decimal number. - %Z is replaced by the timezone name or abbreviation, or by no bytes if no timezone information exists. - %% is replaced by %. + - %a is replaced by the locale's abbreviated weekday name. + - %A is replaced by the locale's full weekday name. + - %b is replaced by the locale's abbreviated month name. + - %B is replaced by the locale's full month name. + - %c is replaced by the locale's appropriate date and time representation. + - %d is replaced by the day of the month as a decimal number [01,31]. + - %H is replaced by the hour (24-hour clock) as a decimal number [00,23]. + - %I is replaced by the hour (12-hour clock) as a decimal number [01,12]. + - %j is replaced by the day of the year as a decimal number [001,366]. + - %m is replaced by the month as a decimal number [01,12]. + - %M is replaced by the minute as a decimal number [00,59]. + - %p is replaced by the locale's equivalent of either a.m. or p.m. + - %S is replaced by the second as a decimal number [00,61]. + - %U is replaced by the week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. + - %w is replaced by the weekday as a decimal number [0,6], with 0 representing Sunday. + - %W is replaced by the week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0. + - %x is replaced by the locale's appropriate date representation. + - %X is replaced by the locale's appropriate time representation. + - %y is replaced by the year without century as a decimal number [00,99]. + - %Y is replaced by the year with century as a decimal number. + - %Z is replaced by the timezone name or abbreviation, or by no bytes if no timezone information exists. + - %% is replaced by %. @see toString */ String formatted (const String& format) const; + //============================================================================== + /** Returns a fully described string of this date and time in ISO-8601 format + (using the local timezone). + + @param includeDividerCharacters whether to include or omit the "-" and ":" + dividers in the string + */ + String toISO8601 (bool includeDividerCharacters) const; + + /** Parses an ISO-8601 string and returns it as a Time. */ + static Time fromISO8601 (StringRef iso8601) noexcept; + //============================================================================== /** Adds a RelativeTime to this time. */ Time& operator+= (RelativeTime delta) noexcept; @@ -287,7 +298,7 @@ public: /** Returns the current system time. - Returns the number of milliseconds since midnight jan 1st 1970. + Returns the number of milliseconds since midnight Jan 1st 1970 UTC. Should be accurate to within a few millisecs, depending on platform, hardware, etc. diff --git a/modules/juce_core/unit_tests/juce_UnitTest.cpp b/modules/juce_core/unit_tests/juce_UnitTest.cpp index 597314d6..1f64182c 100644 --- a/modules/juce_core/unit_tests/juce_UnitTest.cpp +++ b/modules/juce_core/unit_tests/juce_UnitTest.cpp @@ -205,9 +205,9 @@ void UnitTestRunner::endTest() m << r->failures << (r->failures == 1 ? " test" : " tests") << " failed, out of a total of " << (r->passes + r->failures); - logMessage (String::empty); + logMessage (String()); logMessage (m); - logMessage (String::empty); + logMessage (String()); } else { diff --git a/modules/juce_core/unit_tests/juce_UnitTest.h b/modules/juce_core/unit_tests/juce_UnitTest.h index 9ea9689c..d698c95a 100644 --- a/modules/juce_core/unit_tests/juce_UnitTest.h +++ b/modules/juce_core/unit_tests/juce_UnitTest.h @@ -136,13 +136,13 @@ public: If testResult is true, a pass is logged; if it's false, a failure is logged. If the failure message is specified, it will be written to the log if the test fails. */ - void expect (bool testResult, const String& failureMessage = String::empty); + void expect (bool testResult, const String& failureMessage = String()); /** Compares two values, and if they don't match, prints out a message containing the expected and actual result values. */ template - void expectEquals (ValueType actual, ValueType expected, String failureMessage = String::empty) + void expectEquals (ValueType actual, ValueType expected, String failureMessage = String()) { const bool result = (actual == expected); diff --git a/modules/juce_core/xml/juce_XmlDocument.cpp b/modules/juce_core/xml/juce_XmlDocument.cpp index b9f5e0d3..c0f016e3 100644 --- a/modules/juce_core/xml/juce_XmlDocument.cpp +++ b/modules/juce_core/xml/juce_XmlDocument.cpp @@ -172,7 +172,7 @@ String XmlDocument::getFileContents (const String& filename) const return in->readEntireStreamAsString(); } - return String::empty; + return String(); } juce_wchar XmlDocument::readNextChar() noexcept diff --git a/modules/juce_core/xml/juce_XmlElement.cpp b/modules/juce_core/xml/juce_XmlElement.cpp index 745dcd78..5e636200 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_core/xml/juce_XmlElement.h b/modules/juce_core/xml/juce_XmlElement.h index 7586f692..2d23c6b7 100644 --- a/modules/juce_core/xml/juce_XmlElement.h +++ b/modules/juce_core/xml/juce_XmlElement.h @@ -134,7 +134,7 @@ } // now we can turn the whole thing into a text document.. - String myXmlDoc = animalsList.createDocument (String::empty); + String myXmlDoc = animalsList.createDocument (String()); @endcode @see XmlDocument diff --git a/modules/juce_core/zip/juce_ZipFile.cpp b/modules/juce_core/zip/juce_ZipFile.cpp index c7ae45d3..ef02e257 100644 --- a/modules/juce_core/zip/juce_ZipFile.cpp +++ b/modules/juce_core/zip/juce_ZipFile.cpp @@ -31,41 +31,36 @@ class ZipFile::ZipEntryHolder public: ZipEntryHolder (const char* const buffer, const int fileNameLen) { - entry.filename = String::fromUTF8 (buffer + 46, fileNameLen); - - const int time = ByteOrder::littleEndianShort (buffer + 12); - const int date = ByteOrder::littleEndianShort (buffer + 14); - entry.fileTime = getFileTimeFromRawEncodings (time, date); - - compressed = ByteOrder::littleEndianShort (buffer + 10) != 0; - compressedSize = (size_t) ByteOrder::littleEndianInt (buffer + 20); - entry.uncompressedSize = ByteOrder::littleEndianInt (buffer + 24); - - streamOffset = ByteOrder::littleEndianInt (buffer + 42); + isCompressed = ByteOrder::littleEndianShort (buffer + 10) != 0; + entry.fileTime = parseFileTime ((uint32) ByteOrder::littleEndianShort (buffer + 12), + (uint32) ByteOrder::littleEndianShort (buffer + 14)); + compressedSize = (int64) (uint32) ByteOrder::littleEndianInt (buffer + 20); + entry.uncompressedSize = (int64) (uint32) ByteOrder::littleEndianInt (buffer + 24); + streamOffset = (int64) (uint32) ByteOrder::littleEndianInt (buffer + 42); + entry.filename = String::fromUTF8 (buffer + 46, fileNameLen); } struct FileNameComparator { - static int compareElements (const ZipEntryHolder* first, const ZipEntryHolder* second) + static int compareElements (const ZipEntryHolder* e1, const ZipEntryHolder* e2) noexcept { - return first->entry.filename.compare (second->entry.filename); + return e1->entry.filename.compare (e2->entry.filename); } }; ZipEntry entry; - size_t streamOffset; - size_t compressedSize; - bool compressed; + int64 streamOffset, compressedSize; + bool isCompressed; private: - static Time getFileTimeFromRawEncodings (int time, int date) + static Time parseFileTime (uint32 time, uint32 date) noexcept { const int year = 1980 + (date >> 9); const int month = ((date >> 5) & 15) - 1; const int day = date & 31; const int hours = time >> 11; const int minutes = (time >> 5) & 63; - const int seconds = (time & 31) << 1; + const int seconds = (int) ((time & 31) << 1); return Time (year, month, day, hours, minutes, seconds); } @@ -135,7 +130,7 @@ public: char buffer [30]; if (inputStream != nullptr - && inputStream->setPosition ((int64) zei.streamOffset) + && inputStream->setPosition (zei.streamOffset) && inputStream->read (buffer, 30) == 30 && ByteOrder::littleEndianInt (buffer) == 0x04034b50) { @@ -152,17 +147,17 @@ public: #endif } - int64 getTotalLength() + int64 getTotalLength() override { - return (int64) zipEntryHolder.compressedSize; + return zipEntryHolder.compressedSize; } - int read (void* buffer, int howMany) + int read (void* buffer, int howMany) override { if (headerSize <= 0) return 0; - howMany = (int) jmin ((int64) howMany, ((int64) zipEntryHolder.compressedSize) - pos); + howMany = (int) jmin ((int64) howMany, zipEntryHolder.compressedSize - pos); if (inputStream == nullptr) return 0; @@ -172,12 +167,12 @@ public: if (inputStream == file.inputStream) { const ScopedLock sl (file.lock); - inputStream->setPosition (pos + (int64) zipEntryHolder.streamOffset + headerSize); + inputStream->setPosition (pos + zipEntryHolder.streamOffset + headerSize); num = inputStream->read (buffer, howMany); } else { - inputStream->setPosition (pos + (int64) zipEntryHolder.streamOffset + headerSize); + inputStream->setPosition (pos + zipEntryHolder.streamOffset + headerSize); num = inputStream->read (buffer, howMany); } @@ -185,19 +180,19 @@ public: return num; } - bool isExhausted() + bool isExhausted() override { - return headerSize <= 0 || pos >= (int64) zipEntryHolder.compressedSize; + return headerSize <= 0 || pos >= zipEntryHolder.compressedSize; } - int64 getPosition() + int64 getPosition() override { return pos; } - bool setPosition (int64 newPos) + bool setPosition (int64 newPos) override { - pos = jlimit ((int64) 0, (int64) zipEntryHolder.compressedSize, newPos); + pos = jlimit ((int64) 0, zipEntryHolder.compressedSize, newPos); return true; } @@ -296,11 +291,11 @@ InputStream* ZipFile::createStreamForEntry (const int index) { stream = new ZipInputStream (*this, *zei); - if (zei->compressed) + if (zei->isCompressed) { stream = new GZIPDecompressorInputStream (stream, true, GZIPDecompressorInputStream::deflateFormat, - (int64) zei->entry.uncompressedSize); + zei->entry.uncompressedSize); // (much faster to unzip in big blocks using a buffer..) stream = new BufferedInputStream (stream, 32768, true); @@ -440,14 +435,14 @@ Result ZipFile::uncompressEntry (const int index, } -//============================================================================= +//============================================================================== class ZipFile::Builder::Item { public: - Item (const File& f, InputStream* s, const int compression, const String& storedPath, Time time) - : file (f), stream (s), storedPathname (storedPath), - fileTime (time), compressionLevel (compression), - compressedSize (0), uncompressedSize (0), headerStart (0), checksum (0) + Item (const File& f, InputStream* s, int compression, const String& storedPath, Time time) + : file (f), stream (s), storedPathname (storedPath), fileTime (time), + compressedSize (0), uncompressedSize (0), headerStart (0), + compressionLevel (compression), checksum (0) { } @@ -468,8 +463,8 @@ public: return false; } - compressedSize = (int) compressedData.getDataSize(); - headerStart = (int) (target.getPosition() - overallStartPosition); + compressedSize = (int64) compressedData.getDataSize(); + headerStart = target.getPosition() - overallStartPosition; target.writeInt (0x04034b50); writeFlagsAndSizes (target); @@ -488,7 +483,7 @@ public: target.writeShort (0); // start disk num target.writeShort (0); // internal attributes target.writeInt (0); // external attributes - target.writeInt (headerStart); + target.writeInt ((int) (uint32) headerStart); target << storedPathname; return true; @@ -499,7 +494,8 @@ private: ScopedPointer stream; String storedPathname; Time fileTime; - int compressionLevel, compressedSize, uncompressedSize, headerStart; + int64 compressedSize, uncompressedSize, headerStart; + int compressionLevel; unsigned long checksum; static void writeTimeAndDate (OutputStream& target, Time t) @@ -546,8 +542,8 @@ private: target.writeShort (compressionLevel > 0 ? (short) 8 : (short) 0); writeTimeAndDate (target, fileTime); target.writeInt ((int) checksum); - target.writeInt (compressedSize); - target.writeInt (uncompressedSize); + target.writeInt ((int) (uint32) compressedSize); + target.writeInt ((int) (uint32) uncompressedSize); target.writeShort ((short) storedPathname.toUTF8().sizeInBytes() - 1); target.writeShort (0); // extra field length } @@ -555,7 +551,7 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Item) }; -//============================================================================= +//============================================================================== ZipFile::Builder::Builder() {} ZipFile::Builder::~Builder() {} diff --git a/modules/juce_core/zip/juce_ZipFile.h b/modules/juce_core/zip/juce_ZipFile.h index 43f3c101..b253eeb7 100644 --- a/modules/juce_core/zip/juce_ZipFile.h +++ b/modules/juce_core/zip/juce_ZipFile.h @@ -80,7 +80,7 @@ public: String filename; /** The file's original size. */ - unsigned int uncompressedSize; + int64 uncompressedSize; /** The last time the file was modified. */ Time fileTime; @@ -181,18 +181,18 @@ public: Create a ZipFile::Builder object, and call its addFile() method to add some files, then you can write it to a stream with write(). - - Currently this just stores the files with no compression.. That will be added - soon! */ - class Builder + class JUCE_API Builder { public: + /** Creates an empty builder object. */ Builder(); + + /** Destructor. */ ~Builder(); - /** Adds a file while should be added to the archive. - The file isn't read immediately, all the files will be read later when the writeToStream() + /** Adds a file to the list of items which will be added to the archive. + The file isn't read immediately: the files will be read later when the writeToStream() method is called. The compressionLevel can be between 0 (no compression), and 9 (maximum compression). @@ -202,7 +202,7 @@ public: void addFile (const File& fileToAdd, int compressionLevel, const String& storedPathName = String()); - /** Adds a file while should be added to the archive. + /** Adds a stream to the list of items which will be added to the archive. @param streamToRead this stream isn't read immediately - a pointer to the stream is stored, then used later when the writeToStream() method is called, and diff --git a/modules/juce_cryptography/juce_cryptography.cpp b/modules/juce_cryptography/juce_cryptography.cpp index b7ce66ea..c37ee2e7 100644 --- a/modules/juce_cryptography/juce_cryptography.cpp +++ b/modules/juce_cryptography/juce_cryptography.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_CRYPTOGRAPHY_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_CRYPTOGRAPHY_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,10 +31,6 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" - #include "juce_cryptography.h" namespace juce diff --git a/modules/juce_cryptography/juce_cryptography.h b/modules/juce_cryptography/juce_cryptography.h index fe2c26c0..2f7d422f 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.1 + 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 e92f5ca5..00000000 --- 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.cpp b/modules/juce_data_structures/juce_data_structures.cpp index 0d2b8759..e278cb44 100644 --- a/modules/juce_data_structures/juce_data_structures.cpp +++ b/modules/juce_data_structures/juce_data_structures.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_DATA_STRUCTURES_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_DATA_STRUCTURES_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,10 +31,6 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" - #include "juce_data_structures.h" namespace juce @@ -43,6 +39,7 @@ namespace juce #include "values/juce_Value.cpp" #include "values/juce_ValueTree.cpp" #include "values/juce_ValueTreeSynchroniser.cpp" +#include "values/juce_CachedValue.cpp" #include "undomanager/juce_UndoManager.cpp" #include "app_properties/juce_ApplicationProperties.cpp" #include "app_properties/juce_PropertiesFile.cpp" diff --git a/modules/juce_data_structures/juce_data_structures.h b/modules/juce_data_structures/juce_data_structures.h index c130d57a..e9b3922a 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.1 + 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 { @@ -36,6 +60,7 @@ namespace juce #include "values/juce_Value.h" #include "values/juce_ValueTree.h" #include "values/juce_ValueTreeSynchroniser.h" +#include "values/juce_CachedValue.h" #include "app_properties/juce_PropertiesFile.h" #include "app_properties/juce_ApplicationProperties.h" diff --git a/modules/juce_data_structures/juce_module_info b/modules/juce_data_structures/juce_module_info deleted file mode 100644 index 2ccf6025..00000000 --- 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_data_structures/undomanager/juce_UndoableAction.h b/modules/juce_data_structures/undomanager/juce_UndoableAction.h index ff22895b..479dd769 100644 --- a/modules/juce_data_structures/undomanager/juce_UndoableAction.h +++ b/modules/juce_data_structures/undomanager/juce_UndoableAction.h @@ -92,7 +92,7 @@ public: If it's not possible to merge the two actions, the method should return zero. */ - virtual UndoableAction* createCoalescedAction (UndoableAction* nextAction) { (void) nextAction; return nullptr; } + virtual UndoableAction* createCoalescedAction (UndoableAction* nextAction) { ignoreUnused (nextAction); return nullptr; } }; diff --git a/modules/juce_data_structures/values/juce_CachedValue.cpp b/modules/juce_data_structures/values/juce_CachedValue.cpp new file mode 100644 index 00000000..becf90cb --- /dev/null +++ b/modules/juce_data_structures/values/juce_CachedValue.cpp @@ -0,0 +1,152 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2016 - 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_UNIT_TESTS + +class CachedValueTests : public UnitTest +{ +public: + CachedValueTests() : UnitTest ("CachedValues") {} + + void runTest() override + { + beginTest ("default constructor"); + { + CachedValue cv; + expect (cv.isUsingDefault()); + expect (cv.get() == String()); + } + + beginTest ("without default value"); + { + ValueTree t ("root"); + t.setProperty ("testkey", "testvalue", nullptr); + + CachedValue cv (t, "testkey", nullptr); + + expect (! cv.isUsingDefault()); + expect (cv.get() == "testvalue"); + + cv.resetToDefault(); + + expect (cv.isUsingDefault()); + expect (cv.get() == String()); + } + + beginTest ("with default value"); + { + ValueTree t ("root"); + t.setProperty ("testkey", "testvalue", nullptr); + + CachedValue cv (t, "testkey", nullptr, "defaultvalue"); + + expect (! cv.isUsingDefault()); + expect (cv.get() == "testvalue"); + + cv.resetToDefault(); + + expect (cv.isUsingDefault()); + expect (cv.get() == "defaultvalue"); + } + + beginTest ("with default value (int)"); + { + ValueTree t ("root"); + t.setProperty ("testkey", 23, nullptr); + + CachedValue cv (t, "testkey", nullptr, 34); + + expect (! cv.isUsingDefault()); + expect (cv == 23); + expectEquals (cv.get(), 23); + + cv.resetToDefault(); + + expect (cv.isUsingDefault()); + expect (cv == 34); + } + + beginTest ("with void value"); + { + ValueTree t ("root"); + t.setProperty ("testkey", var(), nullptr); + + CachedValue cv (t, "testkey", nullptr, "defaultvalue"); + + expect (! cv.isUsingDefault()); + expect (cv == ""); + expectEquals (cv.get(), String()); + } + + beginTest ("with non-existent value"); + { + ValueTree t ("root"); + + CachedValue cv (t, "testkey", nullptr, "defaultvalue"); + + expect (cv.isUsingDefault()); + expect (cv == "defaultvalue"); + expect (cv.get() == "defaultvalue"); + } + + beginTest ("with value changing"); + { + ValueTree t ("root"); + t.setProperty ("testkey", "oldvalue", nullptr); + + CachedValue cv (t, "testkey", nullptr, "defaultvalue"); + expect (cv == "oldvalue"); + + t.setProperty ("testkey", "newvalue", nullptr); + expect (cv != "oldvalue"); + expect (cv == "newvalue"); + } + + beginTest ("set value"); + { + ValueTree t ("root"); + t.setProperty ("testkey", 23, nullptr); + + CachedValue cv (t, "testkey", nullptr, 45); + cv = 34; + + expectEquals ((int) t["testkey"], 34); + + cv.resetToDefault(); + expect (cv == 45); + expectEquals (cv.get(), 45); + + expect (t["testkey"] == var()); + } + + beginTest ("reset value"); + { + + } + } +}; + +static CachedValueTests cachedValueTests; + +#endif \ No newline at end of file diff --git a/modules/juce_data_structures/values/juce_CachedValue.h b/modules/juce_data_structures/values/juce_CachedValue.h new file mode 100644 index 00000000..3690b695 --- /dev/null +++ b/modules/juce_data_structures/values/juce_CachedValue.h @@ -0,0 +1,311 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2016 - 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 JUCE_CACHEDVALUE_H_INCLUDED +#define JUCE_CACHEDVALUE_H_INCLUDED + + +//============================================================================== +/** + This class acts as a typed wrapper around a property inside a ValueTree. + + A CachedValue provides an easy way to read and write a ValueTree property with + a chosen type. So for example a CachedValue allows you to read or write the + property as an int, and a CachedValue lets you work with it as a String. + + It also allows efficient access to the value, by caching a copy of it in the + type that is being used. + + You can give the CachedValue an optional UndoManager which it will use when writing + to the underlying ValueTree. + + If the property inside the ValueTree is missing, the CachedValue will automatically + return an optional default value, which can be specified when initialising the CachedValue. + + To create one, you can either use the constructor to attach the CachedValue to a + ValueTree, or can create an uninitialised CachedValue with its default constructor and + then attach it later with the referTo() methods. + + Common types like String, int, double which can be easily converted to a var should work + out-of-the-box, but if you want to use more complex custom types, you may need to implement + some template specialisations of VariantConverter which this class uses to convert between + the type and the ValueTree's internal var. +*/ +template +class CachedValue : private ValueTree::Listener +{ +public: + //============================================================================== + /** Default constructor. + Creates a default CachedValue not referring to any property. To initialise the + object, call one of the referTo() methods. + */ + CachedValue(); + + /** Constructor. + + Creates a CachedValue referring to a Value property inside a ValueTree. + If you use this constructor, the fallback value will be a default-constructed + instance of Type. + + @param tree The ValueTree containing the property + @param propertyID The identifier of the property + @param undoManager The UndoManager to use when writing to the property + */ + CachedValue (ValueTree& tree, const Identifier& propertyID, + UndoManager* undoManager); + + /** Constructor. + + Creates a default Cached Value referring to a Value property inside a ValueTree, + and specifies a fallback value to use if the property does not exist. + + @param tree The ValueTree containing the property + @param propertyID The identifier of the property + @param undoManager The UndoManager to use when writing to the property + @param defaultToUse The fallback default value to use. + */ + CachedValue (ValueTree& tree, const Identifier& propertyID, + UndoManager* undoManager, const Type& defaultToUse); + + //============================================================================== + /** Returns the current value of the property. If the property does not exist, + returns the fallback default value. + + This is the same as calling get(). + */ + operator Type() const noexcept { return cachedValue; } + + /** Returns the current value of the property. If the property does not exist, + returns the fallback default value. + */ + Type get() const noexcept { return cachedValue; } + + /** Dereference operator. Provides direct access to the property. */ + Type& operator*() noexcept { return cachedValue; } + + /** Dereference operator. Provides direct access to members of the property + if it is of object type. + */ + Type* operator->() noexcept { return &cachedValue; } + + /** Returns true if the current value of the property (or the fallback value) + is equal to other. + */ + template + bool operator== (const OtherType& other) const { return cachedValue == other; } + + /** Returns true if the current value of the property (or the fallback value) + is not equal to other. + */ + template + bool operator!= (const OtherType& other) const { return cachedValue != other; } + + //============================================================================== + /** Returns the current property as a Value object. */ + Value getPropertyAsValue(); + + /** Returns true if the current property does not exist and the CachedValue is using + the fallback default value instead. + */ + bool isUsingDefault() const; + + /** Returns the current fallback default value. */ + Type getDefault() const { return defaultValue; } + + //============================================================================== + /** Sets the property. This will actually modify the property in the referenced ValueTree. */ + CachedValue& operator= (const Type& newValue); + + /** Sets the property. This will actually modify the property in the referenced ValueTree. */ + void setValue (const Type& newValue, UndoManager* undoManagerToUse); + + /** Removes the property from the referenced ValueTree and makes the CachedValue + return the fallback default value instead. + */ + void resetToDefault(); + + /** Removes the property from the referenced ValueTree and makes the CachedValue + return the fallback default value instead. + */ + void resetToDefault (UndoManager* undoManagerToUse); + + /** Resets the fallback default value. */ + void setDefault (const Type& value) { defaultValue = value; } + + //============================================================================== + /** Makes the CachedValue refer to the specified property inside the given ValueTree. */ + void referTo (ValueTree& tree, const Identifier& property, UndoManager* um); + + /** Makes the CachedValue refer to the specified property inside the given ValueTree, + and specifies a fallback value to use if the property does not exist. + */ + void referTo (ValueTree& tree, const Identifier& property, UndoManager* um, const Type& defaultVal); + + /** Force an update in case the referenced property has been changed from elsewhere. + + Note: The CachedValue is a ValueTree::Listener and therefore will be informed of + changes of the referenced property anyway (and update itself). But this may happen + asynchronously. forceUpdateOfCachedValue() forces an update immediately. + */ + void forceUpdateOfCachedValue(); + + //============================================================================== + /** Returns a reference to the ValueTree containing the referenced property. */ + ValueTree& getValueTree() noexcept { return targetTree; } + + /** Returns the property ID of the referenced property. */ + const Identifier& getPropertyID() const noexcept { return targetProperty; } + +private: + //============================================================================== + ValueTree targetTree; + Identifier targetProperty; + UndoManager* undoManager; + Type defaultValue; + Type cachedValue; + + //============================================================================== + void referToWithDefault (ValueTree&, const Identifier&, UndoManager*, const Type&); + Type getTypedValue() const; + + void valueTreePropertyChanged (ValueTree& changedTree, const Identifier& changedProperty) override; + void valueTreeChildAdded (ValueTree&, ValueTree&) override {} + void valueTreeChildRemoved (ValueTree&, ValueTree&, int) override {} + void valueTreeChildOrderChanged (ValueTree&, int, int) override {} + void valueTreeParentChanged (ValueTree&) override {} + + JUCE_DECLARE_NON_COPYABLE (CachedValue) +}; + + +//============================================================================== +template +inline CachedValue::CachedValue() : undoManager (nullptr) {} + +template +inline CachedValue::CachedValue (ValueTree& v, const Identifier& i, UndoManager* um) + : targetTree (v), targetProperty (i), undoManager (um), + defaultValue(), cachedValue (getTypedValue()) +{ + targetTree.addListener (this); +} + +template +inline CachedValue::CachedValue (ValueTree& v, const Identifier& i, UndoManager* um, const Type& defaultToUse) + : targetTree (v), targetProperty (i), undoManager (um), + defaultValue (defaultToUse), cachedValue (getTypedValue()) +{ + targetTree.addListener (this); +} + +template +inline Value CachedValue::getPropertyAsValue() +{ + return targetTree.getPropertyAsValue (targetProperty, undoManager); +} + +template +inline bool CachedValue::isUsingDefault() const +{ + return ! targetTree.hasProperty (targetProperty); +} + +template +inline CachedValue& CachedValue::operator= (const Type& newValue) +{ + setValue (newValue, undoManager); + return *this; +} + +template +inline void CachedValue::setValue (const Type& newValue, UndoManager* undoManagerToUse) +{ + if (cachedValue != newValue) + { + cachedValue = newValue; + targetTree.setProperty (targetProperty, VariantConverter::toVar (newValue), undoManagerToUse); + } +} + +template +inline void CachedValue::resetToDefault() +{ + resetToDefault (undoManager); +} + +template +inline void CachedValue::resetToDefault (UndoManager* undoManagerToUse) +{ + targetTree.removeProperty (targetProperty, undoManagerToUse); + forceUpdateOfCachedValue(); +} + +template +inline void CachedValue::referTo (ValueTree& v, const Identifier& i, UndoManager* um) +{ + referToWithDefault (v, i, um, Type()); +} + +template +inline void CachedValue::referTo (ValueTree& v, const Identifier& i, UndoManager* um, const Type& defaultVal) +{ + referToWithDefault (v, i, um, defaultVal); +} + +template +inline void CachedValue::forceUpdateOfCachedValue() +{ + cachedValue = getTypedValue(); +} + +template +inline void CachedValue::referToWithDefault (ValueTree& v, const Identifier& i, UndoManager* um, const Type& defaultVal) +{ + targetTree.removeListener (this); + targetTree = v; + targetProperty = i; + undoManager = um; + defaultValue = defaultVal; + cachedValue = getTypedValue(); + targetTree.addListener (this); +} + +template +inline Type CachedValue::getTypedValue() const +{ + if (const var* property = targetTree.getPropertyPointer (targetProperty)) + return VariantConverter::fromVar (*property); + + return defaultValue; +} + +template +inline void CachedValue::valueTreePropertyChanged (ValueTree& changedTree, const Identifier& changedProperty) +{ + if (changedProperty == targetProperty && targetTree == changedTree) + forceUpdateOfCachedValue(); +} + +#endif // JUCE_CACHEDVALUE_H_INCLUDED diff --git a/modules/juce_data_structures/values/juce_ValueTree.cpp b/modules/juce_data_structures/values/juce_ValueTree.cpp index f601bf71..a76a0c48 100644 --- a/modules/juce_data_structures/values/juce_ValueTree.cpp +++ b/modules/juce_data_structures/values/juce_ValueTree.cpp @@ -743,6 +743,12 @@ var ValueTree::getProperty (const Identifier& name, const var& defaultReturnValu : object->properties.getWithDefault (name, defaultReturnValue); } +const var* ValueTree::getPropertyPointer (const Identifier& name) const noexcept +{ + return object == nullptr ? nullptr + : object->properties.getVarPointer (name); +} + ValueTree& ValueTree::setProperty (const Identifier& name, const var& newValue, UndoManager* undoManager) { jassert (name.toString().isNotEmpty()); // Must have a valid property name! diff --git a/modules/juce_data_structures/values/juce_ValueTree.h b/modules/juce_data_structures/values/juce_ValueTree.h index c65a0815..edb611dd 100644 --- a/modules/juce_data_structures/values/juce_ValueTree.h +++ b/modules/juce_data_structures/values/juce_ValueTree.h @@ -145,17 +145,23 @@ public: /** Returns the value of a named property. If no such property has been set, this will return a void variant. You can also use operator[] to get a property. - @see var, setProperty, hasProperty + @see var, setProperty, getPropertyPointer, hasProperty */ const var& getProperty (const Identifier& name) const noexcept; - /** Returns the value of a named property, or a user-specified default if the property doesn't exist. - If no such property has been set, this will return the value of defaultReturnValue. + /** Returns the value of a named property, or the value of defaultReturnValue + if the property doesn't exist. You can also use operator[] and getProperty to get a property. - @see var, getProperty, setProperty, hasProperty + @see var, getProperty, getPropertyPointer, setProperty, hasProperty */ var getProperty (const Identifier& name, const var& defaultReturnValue) const; + /** Returns a pointer to the value of a named property, or nullptr if the property + doesn't exist. + @see var, getProperty, setProperty, hasProperty + */ + const var* getPropertyPointer (const Identifier& name) const noexcept; + /** Returns the value of a named property. If no such property has been set, this will return a void variant. This is the same as calling getProperty(). diff --git a/modules/juce_events/broadcasters/juce_AsyncUpdater.cpp b/modules/juce_events/broadcasters/juce_AsyncUpdater.cpp index 64acb79d..8c67b003 100644 --- a/modules/juce_events/broadcasters/juce_AsyncUpdater.cpp +++ b/modules/juce_events/broadcasters/juce_AsyncUpdater.cpp @@ -33,10 +33,8 @@ public: owner.handleAsyncUpdate(); } - Atomic shouldDeliver; - -private: AsyncUpdater& owner; + Atomic shouldDeliver; JUCE_DECLARE_NON_COPYABLE (AsyncUpdaterMessage) }; @@ -53,13 +51,19 @@ AsyncUpdater::~AsyncUpdater() // pending on the main event thread - that's pretty dodgy threading, as the callback could // happen after this destructor has finished. You should either use a MessageManagerLock while // deleting this object, or find some other way to avoid such a race condition. - jassert ((! isUpdatePending()) || MessageManager::getInstance()->currentThreadHasLockedMessageManager()); + jassert ((! isUpdatePending()) + || MessageManager::getInstanceWithoutCreating() == nullptr + || MessageManager::getInstanceWithoutCreating()->currentThreadHasLockedMessageManager()); activeMessage->shouldDeliver.set (0); } void AsyncUpdater::triggerAsyncUpdate() { + // If you're calling this before (or after) the MessageManager is + // running, then you're not going to get any callbacks! + jassert (MessageManager::getInstanceWithoutCreating() != nullptr); + if (activeMessage->shouldDeliver.compareAndSetBool (1, 0)) if (! activeMessage->post()) cancelPendingUpdate(); // if the message queue fails, this avoids getting diff --git a/modules/juce_events/juce_events.cpp b/modules/juce_events/juce_events.cpp index 53069c47..5514be44 100644 --- a/modules/juce_events/juce_events.cpp +++ b/modules/juce_events/juce_events.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_EVENTS_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_EVENTS_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,17 +31,13 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" +#define JUCE_CORE_INCLUDE_OBJC_HELPERS 1 +#define JUCE_CORE_INCLUDE_JNI_HELPERS 1 +#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1 +#define JUCE_EVENTS_INCLUDE_WIN32_MESSAGE_WINDOW 1 -#include "../juce_core/native/juce_BasicNativeHeaders.h" #include "juce_events.h" -#if JUCE_CATCH_UNHANDLED_EXCEPTIONS && JUCE_MODULE_AVAILABLE_juce_gui_basics - #include "../juce_gui_basics/juce_gui_basics.h" -#endif - //============================================================================== #if JUCE_MAC #import @@ -77,17 +73,14 @@ namespace juce //============================================================================== #if JUCE_MAC - #include "../juce_core/native/juce_osx_ObjCHelpers.h" #include "native/juce_osx_MessageQueue.h" #include "native/juce_mac_MessageManager.mm" #elif JUCE_IOS - #include "../juce_core/native/juce_osx_ObjCHelpers.h" #include "native/juce_osx_MessageQueue.h" #include "native/juce_ios_MessageManager.mm" #elif JUCE_WINDOWS - #include "native/juce_win32_HiddenMessageWindow.h" #include "native/juce_win32_Messaging.cpp" #elif JUCE_LINUX @@ -95,7 +88,6 @@ namespace juce #include "native/juce_linux_Messaging.cpp" #elif JUCE_ANDROID - #include "../juce_core/native/juce_android_JNIHelpers.h" #include "native/juce_android_Messaging.cpp" #endif diff --git a/modules/juce_events/juce_events.h b/modules/juce_events/juce_events.h index 357df2de..2a0798db 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.1 + 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 { @@ -52,6 +77,10 @@ namespace juce #include "interprocess/juce_ConnectedChildProcess.h" #include "native/juce_ScopedXLock.h" +#if JUCE_EVENTS_INCLUDE_WIN32_MESSAGE_WINDOW && JUCE_WINDOWS + #include "native/juce_win32_HiddenMessageWindow.h" +#endif + } #endif // JUCE_EVENTS_H_INCLUDED diff --git a/modules/juce_events/juce_module_info b/modules/juce_events/juce_module_info deleted file mode 100644 index 57244936..00000000 --- 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/messages/juce_ApplicationBase.h b/modules/juce_events/messages/juce_ApplicationBase.h index bde123bf..35bc65ff 100644 --- a/modules/juce_events/messages/juce_ApplicationBase.h +++ b/modules/juce_events/messages/juce_ApplicationBase.h @@ -279,4 +279,27 @@ private: }; +//============================================================================== +#if JUCE_CATCH_UNHANDLED_EXCEPTIONS || defined (DOXYGEN) + + /** The JUCE_TRY/JUCE_CATCH_EXCEPTION wrappers can be used to pass any uncaught exceptions to + the JUCEApplicationBase::sendUnhandledException() method. + This functionality can be enabled with the JUCE_CATCH_UNHANDLED_EXCEPTIONS macro. + */ + #define JUCE_TRY try + + /** The JUCE_TRY/JUCE_CATCH_EXCEPTION wrappers can be used to pass any uncaught exceptions to + the JUCEApplicationBase::sendUnhandledException() method. + This functionality can be enabled with the JUCE_CATCH_UNHANDLED_EXCEPTIONS macro. + */ + #define JUCE_CATCH_EXCEPTION \ + catch (const std::exception& e) { juce::JUCEApplicationBase::sendUnhandledException (&e, __FILE__, __LINE__); } \ + catch (...) { juce::JUCEApplicationBase::sendUnhandledException (nullptr, __FILE__, __LINE__); } + +#else + #define JUCE_TRY + #define JUCE_CATCH_EXCEPTION +#endif + + #endif // JUCE_APPLICATIONBASE_H_INCLUDED diff --git a/modules/juce_events/messages/juce_MessageManager.h b/modules/juce_events/messages/juce_MessageManager.h index 93732058..676ced40 100644 --- a/modules/juce_events/messages/juce_MessageManager.h +++ b/modules/juce_events/messages/juce_MessageManager.h @@ -32,8 +32,7 @@ class ActionBroadcaster; //============================================================================== -/** See MessageManager::callFunctionOnMessageThread() for use of this function type -*/ +/** See MessageManager::callFunctionOnMessageThread() for use of this function type. */ typedef void* (MessageCallbackFunction) (void* userData); diff --git a/modules/juce_events/native/juce_ios_MessageManager.mm b/modules/juce_events/native/juce_ios_MessageManager.mm index 998cace3..b633c202 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 62f8e4ad..770a9aad 100644 --- a/modules/juce_events/native/juce_linux_Messaging.cpp +++ b/modules/juce_events/native/juce_linux_Messaging.cpp @@ -49,7 +49,7 @@ public: totalEventCount (0) { int ret = ::socketpair (AF_LOCAL, SOCK_STREAM, 0, fd); - (void) ret; jassert (ret == 0); + ignoreUnused (ret); jassert (ret == 0); } ~InternalMessageQueue() @@ -75,7 +75,7 @@ public: ScopedUnlock ul (lock); const unsigned char x = 0xff; ssize_t bytesWritten = write (fd[0], &x, 1); - (void) bytesWritten; + ignoreUnused (bytesWritten); } } @@ -187,7 +187,7 @@ private: const ScopedUnlock ul (lock); unsigned char x; ssize_t numBytes = read (fd[1], &x, 1); - (void) numBytes; + ignoreUnused (numBytes); } return queue.removeAndReturn (0); @@ -235,7 +235,7 @@ namespace LinuxErrorHandling int errorHandler (Display* display, XErrorEvent* event) { - (void) display; (void) event; + ignoreUnused (display, event); #if JUCE_DEBUG_XERRORS char errorStr[64] = { 0 }; @@ -346,7 +346,6 @@ void MessageManager::doPlatformSpecificShutdown() if (display != nullptr && ! LinuxErrorHandling::errorOccurred) { XDestroyWindow (display, juce_messageWindowHandle); - XCloseDisplay (display); juce_messageWindowHandle = 0; display = nullptr; @@ -357,11 +356,16 @@ void MessageManager::doPlatformSpecificShutdown() bool MessageManager::postMessageToSystemQueue (MessageManager::MessageBase* const message) { - if (LinuxErrorHandling::errorOccurred) - return false; + if (! LinuxErrorHandling::errorOccurred) + { + if (InternalMessageQueue* queue = InternalMessageQueue::getInstanceWithoutCreating()) + { + queue->postMessage (message); + return true; + } + } - InternalMessageQueue::getInstanceWithoutCreating()->postMessage (message); - return true; + return false; } void MessageManager::broadcastMessage (const String& /* value */) @@ -384,16 +388,16 @@ bool MessageManager::dispatchNextMessageOnSystemQueue (bool returnIfNoPendingMes break; } - InternalMessageQueue* const queue = InternalMessageQueue::getInstanceWithoutCreating(); - jassert (queue != nullptr); - - if (queue->dispatchNextEvent()) - return true; + if (InternalMessageQueue* queue = InternalMessageQueue::getInstanceWithoutCreating()) + { + if (queue->dispatchNextEvent()) + return true; - if (returnIfNoPendingMessages) - break; + if (returnIfNoPendingMessages) + break; - queue->sleepUntilEvent (2000); + queue->sleepUntilEvent (2000); + } } return false; diff --git a/modules/juce_events/native/juce_mac_MessageManager.mm b/modules/juce_events/native/juce_mac_MessageManager.mm index 63eda598..58254007 100644 --- a/modules/juce_events/native/juce_mac_MessageManager.mm +++ b/modules/juce_events/native/juce_mac_MessageManager.mm @@ -239,7 +239,7 @@ void MessageManager::runDispatchLoop() { // An AppKit exception will kill the app, but at least this provides a chance to log it., std::runtime_error ex (std::string ("NSException: ") + [[e name] UTF8String] + ", Reason:" + [[e reason] UTF8String]); - JUCEApplication::sendUnhandledException (&ex, __FILE__, __LINE__); + JUCEApplicationBase::sendUnhandledException (&ex, __FILE__, __LINE__); } @finally { @@ -356,8 +356,8 @@ void MessageManager::broadcastMessage (const String& message) } // Special function used by some plugin classes to re-post carbon events -void repostCurrentNSEvent(); -void repostCurrentNSEvent() +void __attribute__ ((visibility("default"))) repostCurrentNSEvent(); +void __attribute__ ((visibility("default"))) repostCurrentNSEvent() { struct EventReposter : public CallbackMessage { diff --git a/modules/juce_events/native/juce_osx_MessageQueue.h b/modules/juce_events/native/juce_osx_MessageQueue.h index 7042f03a..eee8242e 100644 --- a/modules/juce_events/native/juce_osx_MessageQueue.h +++ b/modules/juce_events/native/juce_osx_MessageQueue.h @@ -46,7 +46,7 @@ public: CFRunLoopAddSource (runLoop, runLoopSource, kCFRunLoopCommonModes); } - ~MessageQueue() + ~MessageQueue() noexcept { CFRunLoopRemoveSource (runLoop, runLoopSource, kCFRunLoopCommonModes); CFRunLoopSourceInvalidate (runLoopSource); @@ -56,15 +56,20 @@ public: void post (MessageManager::MessageBase* const message) { messages.add (message); - CFRunLoopSourceSignal (runLoopSource); - CFRunLoopWakeUp (runLoop); + wakeUp(); } private: - ReferenceCountedArray messages; + ReferenceCountedArray messages; CFRunLoopRef runLoop; CFRunLoopSourceRef runLoopSource; + void wakeUp() noexcept + { + CFRunLoopSourceSignal (runLoopSource); + CFRunLoopWakeUp (runLoop); + } + bool deliverNextMessage() { const MessageManager::MessageBase::Ptr nextMessage (messages.removeAndReturn (0)); @@ -84,17 +89,16 @@ private: return true; } - void runLoopCallback() + void runLoopCallback() noexcept { for (int i = 4; --i >= 0;) if (! deliverNextMessage()) return; - CFRunLoopSourceSignal (runLoopSource); - CFRunLoopWakeUp (runLoop); + wakeUp(); } - static void runLoopSourceCallback (void* info) + static void runLoopSourceCallback (void* info) noexcept { static_cast (info)->runLoopCallback(); } diff --git a/modules/juce_events/native/juce_win32_Messaging.cpp b/modules/juce_events/native/juce_win32_Messaging.cpp index 36621acb..c8fb937e 100644 --- a/modules/juce_events/native/juce_win32_Messaging.cpp +++ b/modules/juce_events/native/juce_win32_Messaging.cpp @@ -30,15 +30,15 @@ CheckEventBlockedByModalComps isEventBlockedByModalComps = nullptr; //============================================================================== namespace WindowsMessageHelpers { - const unsigned int specialId = WM_APP + 0x4400; - const unsigned int broadcastId = WM_APP + 0x4403; + const unsigned int customMessageID = WM_USER + 123; + const unsigned int broadcastMessageMagicNumber = 0xc403; const TCHAR messageWindowName[] = _T("JUCEWindow"); ScopedPointer messageWindow; void dispatchMessageFromLParam (LPARAM lParam) { - if (MessageManager::MessageBase* const message = reinterpret_cast (lParam)) + if (MessageManager::MessageBase* message = reinterpret_cast (lParam)) { JUCE_TRY { @@ -50,12 +50,44 @@ namespace WindowsMessageHelpers } } + BOOL CALLBACK broadcastEnumWindowProc (HWND hwnd, LPARAM lParam) + { + if (hwnd != juce_messageWindowHandle) + { + TCHAR windowName[64] = { 0 }; // no need to read longer strings than this + GetWindowText (hwnd, windowName, 63); + + if (String (windowName) == messageWindowName) + reinterpret_cast*> (lParam)->add (hwnd); + } + + return TRUE; + } + + void handleBroadcastMessage (const COPYDATASTRUCT* const data) + { + if (data != nullptr && data->dwData == broadcastMessageMagicNumber) + { + struct BroadcastMessage : public CallbackMessage + { + BroadcastMessage (CharPointer_UTF32 text, size_t length) : message (text, length) {} + void messageCallback() override { MessageManager::getInstance()->deliverBroadcastMessage (message); } + + String message; + }; + + (new BroadcastMessage (CharPointer_UTF32 ((const CharPointer_UTF32::CharType*) data->lpData), + data->cbData / sizeof (CharPointer_UTF32::CharType))) + ->post(); + } + } + //============================================================================== LRESULT CALLBACK messageWndProc (HWND h, const UINT message, const WPARAM wParam, const LPARAM lParam) noexcept { if (h == juce_messageWindowHandle) { - if (message == specialId) + if (message == customMessageID) { // (These are trapped early in our dispatch loop, but must also be checked // here in case some 3rd-party code is running the dispatch loop). @@ -63,43 +95,15 @@ namespace WindowsMessageHelpers return 0; } - if (message == broadcastId) - { - if (String* const m = reinterpret_cast (lParam)) - { - const ScopedPointer messageString (m); - MessageManager::getInstance()->deliverBroadcastMessage (*m); - } - - return 0; - } - if (message == WM_COPYDATA) { - if (const COPYDATASTRUCT* const data = reinterpret_cast (lParam)) - { - if (data->dwData == broadcastId) - { - const String messageString (CharPointer_UTF32 ((const CharPointer_UTF32::CharType*) data->lpData), - data->cbData / sizeof (CharPointer_UTF32::CharType)); - - PostMessage (juce_messageWindowHandle, broadcastId, 0, (LPARAM) new String (messageString)); - return 0; - } - } + handleBroadcastMessage (reinterpret_cast (lParam)); + return 0; } } return DefWindowProc (h, message, wParam, lParam); } - - BOOL CALLBACK broadcastEnumWindowProc (HWND hwnd, LPARAM lParam) - { - if (hwnd != juce_messageWindowHandle) - reinterpret_cast*> (lParam)->add (hwnd); - - return TRUE; - } } //============================================================================== @@ -113,7 +117,7 @@ bool MessageManager::dispatchNextMessageOnSystemQueue (const bool returnIfNoPend if (GetMessage (&m, (HWND) 0, 0, 0) >= 0) { - if (m.message == specialId && m.hwnd == juce_messageWindowHandle) + if (m.message == customMessageID && m.hwnd == juce_messageWindowHandle) { dispatchMessageFromLParam (m.lParam); } @@ -146,36 +150,28 @@ bool MessageManager::dispatchNextMessageOnSystemQueue (const bool returnIfNoPend bool MessageManager::postMessageToSystemQueue (MessageManager::MessageBase* const message) { message->incReferenceCount(); - return PostMessage (juce_messageWindowHandle, WindowsMessageHelpers::specialId, 0, (LPARAM) message) != 0; + return PostMessage (juce_messageWindowHandle, WindowsMessageHelpers::customMessageID, 0, (LPARAM) message) != 0; } void MessageManager::broadcastMessage (const String& value) { - Array windows; - EnumWindows (&WindowsMessageHelpers::broadcastEnumWindowProc, (LPARAM) &windows); - const String localCopy (value); - COPYDATASTRUCT data; - data.dwData = WindowsMessageHelpers::broadcastId; - data.cbData = (localCopy.length() + 1) * sizeof (CharPointer_UTF32::CharType); - data.lpData = (void*) localCopy.toUTF32().getAddress(); + Array windows; + EnumWindows (&WindowsMessageHelpers::broadcastEnumWindowProc, (LPARAM) &windows); for (int i = windows.size(); --i >= 0;) { - HWND hwnd = windows.getUnchecked(i); - - TCHAR windowName[64] = { 0 }; // no need to read longer strings than this - GetWindowText (hwnd, windowName, 63); - - if (String (windowName) == WindowsMessageHelpers::messageWindowName) - { - DWORD_PTR result; - SendMessageTimeout (hwnd, WM_COPYDATA, - (WPARAM) juce_messageWindowHandle, - (LPARAM) &data, - SMTO_BLOCK | SMTO_ABORTIFHUNG, 8000, &result); - } + COPYDATASTRUCT data; + data.dwData = WindowsMessageHelpers::broadcastMessageMagicNumber; + data.cbData = (localCopy.length() + 1) * sizeof (CharPointer_UTF32::CharType); + data.lpData = (void*) localCopy.toUTF32().getAddress(); + + DWORD_PTR result; + SendMessageTimeout (windows.getUnchecked(i), WM_COPYDATA, + (WPARAM) juce_messageWindowHandle, + (LPARAM) &data, + SMTO_BLOCK | SMTO_ABORTIFHUNG, 8000, &result); } } diff --git a/modules/juce_events/timers/juce_Timer.cpp b/modules/juce_events/timers/juce_Timer.cpp index 5d9c38c4..e2be686e 100644 --- a/modules/juce_events/timers/juce_Timer.cpp +++ b/modules/juce_events/timers/juce_Timer.cpp @@ -92,6 +92,9 @@ public: void callTimers() { + // avoid getting stuck in a loop if a timer callback repeatedly takes too long + const uint32 timeout = Time::getMillisecondCounter() + 100; + const LockType::ScopedLockType sl (lock); while (firstTimer != nullptr && firstTimer->timerCountdownMs <= 0) @@ -109,6 +112,9 @@ public: t->timerCallback(); } JUCE_CATCH_EXCEPTION + + if (Time::getMillisecondCounter() > timeout) + break; } callbackArrived.signal(); @@ -294,6 +300,10 @@ Timer::~Timer() void Timer::startTimer (const int interval) noexcept { + // If you're calling this before (or after) the MessageManager is + // running, then you're not going to get any timer callbacks! + jassert (MessageManager::getInstanceWithoutCreating() != nullptr); + const TimerThread::LockType::ScopedLockType sl (TimerThread::lock); if (timerPeriodMs == 0) diff --git a/modules/juce_events/timers/juce_Timer.h b/modules/juce_events/timers/juce_Timer.h index a6670e3f..228e0865 100644 --- a/modules/juce_events/timers/juce_Timer.h +++ b/modules/juce_events/timers/juce_Timer.h @@ -97,11 +97,13 @@ public: /** Stops the timer. - No more callbacks will be made after this method returns. + No more timer callbacks will be triggered after this method returns. - If this is called from a different thread, any callbacks that may - be currently executing may be allowed to finish before the method - returns. + 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/colour/juce_FillType.cpp b/modules/juce_graphics/colour/juce_FillType.cpp index 34d6da9c..6c166689 100644 --- a/modules/juce_graphics/colour/juce_FillType.cpp +++ b/modules/juce_graphics/colour/juce_FillType.cpp @@ -104,7 +104,7 @@ bool FillType::operator!= (const FillType& other) const void FillType::setColour (Colour newColour) noexcept { gradient = nullptr; - image = Image::null; + image = Image(); colour = newColour; } @@ -116,7 +116,7 @@ void FillType::setGradient (const ColourGradient& newGradient) } else { - image = Image::null; + image = Image(); gradient = new ColourGradient (newGradient); colour = Colours::black; } diff --git a/modules/juce_graphics/colour/juce_PixelFormats.h b/modules/juce_graphics/colour/juce_PixelFormats.h index 0df5987b..0666dd79 100644 --- a/modules/juce_graphics/colour/juce_PixelFormats.h +++ b/modules/juce_graphics/colour/juce_PixelFormats.h @@ -108,7 +108,7 @@ public: forcedinline uint8 getGreen() const noexcept { return components.g; } forcedinline uint8 getBlue() const noexcept { return components.b; } - #if JUCE_GCC && ! JUCE_CLANG + #if JUCE_GCC // NB these are here as a workaround because GCC refuses to bind to packed values. forcedinline uint8& getAlpha() noexcept { return comps [indexA]; } forcedinline uint8& getRed() noexcept { return comps [indexR]; } diff --git a/modules/juce_graphics/contexts/juce_GraphicsContext.cpp b/modules/juce_graphics/contexts/juce_GraphicsContext.cpp index c6747f78..2efb3aa9 100644 --- a/modules/juce_graphics/contexts/juce_GraphicsContext.cpp +++ b/modules/juce_graphics/contexts/juce_GraphicsContext.cpp @@ -394,9 +394,15 @@ void Graphics::fillAll (Colour colourToUse) const //============================================================================== +void Graphics::fillPath (const Path& path) const +{ + if (! (context.isClipEmpty() || path.isEmpty())) + context.fillPath (path, AffineTransform()); +} + void Graphics::fillPath (const Path& path, const AffineTransform& transform) const { - if ((! context.isClipEmpty()) && ! path.isEmpty()) + if (! (context.isClipEmpty() || path.isEmpty())) context.fillPath (path, transform); } diff --git a/modules/juce_graphics/contexts/juce_GraphicsContext.h b/modules/juce_graphics/contexts/juce_GraphicsContext.h index bf545813..3cfcc8cf 100644 --- a/modules/juce_graphics/contexts/juce_GraphicsContext.h +++ b/modules/juce_graphics/contexts/juce_GraphicsContext.h @@ -436,13 +436,15 @@ public: //============================================================================== /** Fills a path using the currently selected colour or brush. */ - void fillPath (const Path& path, - const AffineTransform& transform = AffineTransform::identity) const; + void fillPath (const Path& path) const; + + /** Fills a path using the currently selected colour or brush, and adds a transform. */ + void fillPath (const Path& path, const AffineTransform& transform) const; /** Draws a path's outline using the currently selected colour or brush. */ void strokePath (const Path& path, const PathStrokeType& strokeType, - const AffineTransform& transform = AffineTransform::identity) const; + const AffineTransform& transform = AffineTransform()) const; /** Draws a line with an arrowhead at its end. @@ -607,7 +609,7 @@ public: @returns true if the resulting clipping region is non-zero in size @see reduceClipRegion */ - bool reduceClipRegion (const Path& path, const AffineTransform& transform = AffineTransform::identity); + bool reduceClipRegion (const Path& path, const AffineTransform& transform = AffineTransform()); /** Intersects the current clipping region with an image's alpha-channel. diff --git a/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp b/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp index d2d6a1ea..3b7c1cf7 100644 --- a/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp +++ b/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp @@ -355,13 +355,13 @@ void LowLevelGraphicsPostScriptRenderer::fillRect (const Rectangle& r) { Path p; p.addRectangle (r); - fillPath (p, AffineTransform::identity); + fillPath (p, AffineTransform()); } } void LowLevelGraphicsPostScriptRenderer::fillRectList (const RectangleList& list) { - fillPath (list.toPath(), AffineTransform::identity); + fillPath (list.toPath(), AffineTransform()); } //============================================================================== @@ -510,7 +510,7 @@ void LowLevelGraphicsPostScriptRenderer::drawLine (const Line & line) { Path p; p.addLineSegment (line, 1.0f); - fillPath (p, AffineTransform::identity); + fillPath (p, AffineTransform()); } //============================================================================== diff --git a/modules/juce_graphics/fonts/juce_AttributedString.cpp b/modules/juce_graphics/fonts/juce_AttributedString.cpp index e1d9cbec..990e5d9a 100644 --- a/modules/juce_graphics/fonts/juce_AttributedString.cpp +++ b/modules/juce_graphics/fonts/juce_AttributedString.cpp @@ -22,31 +22,156 @@ ============================================================================== */ -AttributedString::Attribute::Attribute (Range range_, Colour colour_) - : range (range_), colour (new Colour (colour_)) +namespace { + int getLength (const Array& atts) noexcept + { + return atts.size() != 0 ? atts.getReference (atts.size() - 1).range.getEnd() : 0; + } + + void splitAttributeRanges (Array& atts, int position) + { + for (int i = atts.size(); --i >= 0;) + { + const AttributedString::Attribute& att = atts.getReference (i); + const int offset = position - att.range.getStart(); + + if (offset >= 0) + { + if (offset > 0 && position < att.range.getEnd()) + { + atts.insert (i + 1, att); + atts.getReference (i).range.setEnd (position); + atts.getReference (i + 1).range.setStart (position); + } + + break; + } + } + } + + Range splitAttributeRanges (Array& atts, Range newRange) + { + newRange = newRange.getIntersectionWith (Range (0, getLength (atts))); + + if (! newRange.isEmpty()) + { + splitAttributeRanges (atts, newRange.getStart()); + splitAttributeRanges (atts, newRange.getEnd()); + } + + return newRange; + } + + void mergeAdjacentRanges (Array& atts) + { + for (int i = atts.size() - 1; --i >= 0;) + { + AttributedString::Attribute& a1 = atts.getReference (i); + AttributedString::Attribute& a2 = atts.getReference (i + 1); + + if (a1.colour == a2.colour && a1.font == a2.font) + { + a1.range.setEnd (a2.range.getEnd()); + atts.remove (i + 1); + + if (i < atts.size() - 1) + ++i; + } + } + } + + void appendRange (Array& atts, + int length, const Font* f, const Colour* c) + { + if (atts.size() == 0) + { + atts.add (AttributedString::Attribute (Range (0, length), + f != nullptr ? *f : Font(), + c != nullptr ? *c : Colour (0xff000000))); + } + else + { + const int start = getLength (atts); + atts.add (AttributedString::Attribute (Range (start, start + length), + f != nullptr ? *f : atts.getReference (atts.size() - 1).font, + c != nullptr ? *c : atts.getReference (atts.size() - 1).colour)); + mergeAdjacentRanges (atts); + } + } + + void applyFontAndColour (Array& atts, + Range range, const Font* f, const Colour* c) + { + range = splitAttributeRanges (atts, range); + + for (int i = 0; i < atts.size(); ++i) + { + AttributedString::Attribute& att = atts.getReference (i); + + if (range.getStart() < att.range.getEnd()) + { + if (range.getEnd() <= att.range.getStart()) + break; + + if (c != nullptr) att.colour = *c; + if (f != nullptr) att.font = *f; + } + } + + mergeAdjacentRanges (atts); + } + + void truncate (Array& atts, int newLength) + { + splitAttributeRanges (atts, newLength); + + for (int i = atts.size(); --i >= 0;) + if (atts.getReference (i).range.getStart() >= newLength) + atts.remove (i); + } } -AttributedString::Attribute::Attribute (Range range_, const Font& font_) - : range (range_), font (new Font (font_)) +//============================================================================== +AttributedString::Attribute::Attribute() noexcept : colour (0xff000000) {} +AttributedString::Attribute::~Attribute() noexcept {} + +#if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS +AttributedString::Attribute::Attribute (Attribute&& other) noexcept + : range (other.range), + font (static_cast (other.font)), + colour (other.colour) +{ +} + +AttributedString::Attribute& AttributedString::Attribute::operator= (Attribute&& other) noexcept { + range = other.range; + font = static_cast (other.font); + colour = other.colour; + return *this; } +#endif -AttributedString::Attribute::Attribute (const Attribute& other) +AttributedString::Attribute::Attribute (const Attribute& other) noexcept : range (other.range), - font (other.font.createCopy()), - colour (other.colour.createCopy()) + font (other.font), + colour (other.colour) { } -AttributedString::Attribute::Attribute (const Attribute& other, const int offset) - : range (other.range + offset), - font (other.font.createCopy()), - colour (other.colour.createCopy()) +AttributedString::Attribute& AttributedString::Attribute::operator= (const Attribute& other) noexcept { + range = other.range; + font = other.font; + colour = other.colour; + return *this; } -AttributedString::Attribute::~Attribute() {} +AttributedString::Attribute::Attribute (Range r, const Font& f, Colour c) noexcept + : range (r), font (f), colour (c) +{ +} //============================================================================== AttributedString::AttributedString() @@ -58,12 +183,12 @@ AttributedString::AttributedString() } AttributedString::AttributedString (const String& newString) - : text (newString), - lineSpacing (0.0f), + : lineSpacing (0.0f), justification (Justification::left), wordWrap (AttributedString::byWord), readingDirection (AttributedString::natural) { + setText (newString); } AttributedString::AttributedString (const AttributedString& other) @@ -71,9 +196,9 @@ AttributedString::AttributedString (const AttributedString& other) lineSpacing (other.lineSpacing), justification (other.justification), wordWrap (other.wordWrap), - readingDirection (other.readingDirection) + readingDirection (other.readingDirection), + attributes (other.attributes) { - attributes.addCopiesOf (other.attributes); } AttributedString& AttributedString::operator= (const AttributedString& other) @@ -85,8 +210,7 @@ AttributedString& AttributedString::operator= (const AttributedString& other) justification = other.justification; wordWrap = other.wordWrap; readingDirection = other.readingDirection; - attributes.clear(); - attributes.addCopiesOf (other.attributes); + attributes = other.attributes; } return *this; @@ -99,7 +223,7 @@ AttributedString::AttributedString (AttributedString&& other) noexcept justification (other.justification), wordWrap (other.wordWrap), readingDirection (other.readingDirection), - attributes (static_cast&&> (other.attributes)) + attributes (static_cast&&> (other.attributes)) { } @@ -110,58 +234,61 @@ AttributedString& AttributedString::operator= (AttributedString&& other) noexcep justification = other.justification; wordWrap = other.wordWrap; readingDirection = other.readingDirection; - attributes = static_cast&&> (other.attributes); + attributes = static_cast&&> (other.attributes); return *this; } #endif -AttributedString::~AttributedString() {} +AttributedString::~AttributedString() noexcept {} -void AttributedString::setText (const String& other) +void AttributedString::setText (const String& newText) { - text = other; + const int newLength = newText.length(); + const int oldLength = getLength (attributes); + + if (newLength > oldLength) + appendRange (attributes, newLength - oldLength, nullptr, nullptr); + else if (newLength < oldLength) + truncate (attributes, newLength); + + text = newText; } void AttributedString::append (const String& textToAppend) { text += textToAppend; + appendRange (attributes, textToAppend.length(), nullptr, nullptr); } void AttributedString::append (const String& textToAppend, const Font& font) { - const int oldLength = text.length(); - const int newLength = textToAppend.length(); - text += textToAppend; - setFont (Range (oldLength, oldLength + newLength), font); + appendRange (attributes, textToAppend.length(), &font, nullptr); } void AttributedString::append (const String& textToAppend, Colour colour) { - const int oldLength = text.length(); - const int newLength = textToAppend.length(); - text += textToAppend; - setColour (Range (oldLength, oldLength + newLength), colour); + appendRange (attributes, textToAppend.length(), nullptr, &colour); } void AttributedString::append (const String& textToAppend, const Font& font, Colour colour) { - const int oldLength = text.length(); - const int newLength = textToAppend.length(); - text += textToAppend; - setFont (Range (oldLength, oldLength + newLength), font); - setColour (Range (oldLength, oldLength + newLength), colour); + appendRange (attributes, textToAppend.length(), &font, &colour); } void AttributedString::append (const AttributedString& other) { - const int originalLength = text.length(); + const int originalLength = getLength (attributes); + const int originalNumAtts = attributes.size(); text += other.text; + attributes.addArray (other.attributes); - for (int i = 0; i < other.attributes.size(); ++i) - attributes.add (new Attribute (*other.attributes.getUnchecked(i), originalLength)); + for (int i = originalNumAtts; i < attributes.size(); ++i) + attributes.getReference (i).range += originalLength; + + mergeAdjacentRanges (attributes); } void AttributedString::clear() @@ -192,36 +319,30 @@ void AttributedString::setLineSpacing (const float newLineSpacing) noexcept void AttributedString::setColour (Range range, Colour colour) { - attributes.add (new Attribute (range, colour)); + applyFontAndColour (attributes, range, nullptr, &colour); } -void AttributedString::setColour (Colour colour) +void AttributedString::setFont (Range range, const Font& font) { - for (int i = attributes.size(); --i >= 0;) - if (attributes.getUnchecked(i)->getColour() != nullptr) - attributes.remove (i); - - setColour (Range (0, text.length()), colour); + applyFontAndColour (attributes, range, &font, nullptr); } -void AttributedString::setFont (Range range, const Font& font) +void AttributedString::setColour (Colour colour) { - attributes.add (new Attribute (range, font)); + setColour (Range (0, getLength (attributes)), colour); } void AttributedString::setFont (const Font& font) { - for (int i = attributes.size(); --i >= 0;) - if (attributes.getUnchecked(i)->getFont() != nullptr) - attributes.remove (i); - - setFont (Range (0, text.length()), font); + setFont (Range (0, getLength (attributes)), font); } void AttributedString::draw (Graphics& g, const Rectangle& area) const { if (text.isNotEmpty() && g.clipRegionIntersects (area.getSmallestIntegerContainer())) { + jassert (text.length() == getLength (attributes)); + if (! g.getInternalContext().drawTextLayout (*this, area)) { TextLayout layout; diff --git a/modules/juce_graphics/fonts/juce_AttributedString.h b/modules/juce_graphics/fonts/juce_AttributedString.h index 6f46e1f1..d3201030 100644 --- a/modules/juce_graphics/fonts/juce_AttributedString.h +++ b/modules/juce_graphics/fonts/juce_AttributedString.h @@ -53,7 +53,7 @@ public: #endif /** Destructor. */ - ~AttributedString(); + ~AttributedString() noexcept; //============================================================================== /** Returns the complete text of this attributed string. */ @@ -150,36 +150,28 @@ public: class JUCE_API Attribute { public: - /** Creates an attribute that changes the colour for a range of characters. - @see AttributedString::setColour() - */ - Attribute (Range range, Colour colour); - - /** Creates an attribute that changes the font for a range of characters. - @see AttributedString::setFont() - */ - Attribute (Range range, const Font& font); - - Attribute (const Attribute&); - ~Attribute(); - - /** If this attribute specifies a font, this returns it; otherwise it returns nullptr. */ - const Font* getFont() const noexcept { return font; } - - /** If this attribute specifies a colour, this returns it; otherwise it returns nullptr. */ - const Colour* getColour() const noexcept { return colour; } + Attribute() noexcept; + ~Attribute() noexcept; + Attribute (const Attribute&) noexcept; + Attribute& operator= (const Attribute&) noexcept; + #if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS + Attribute (Attribute&&) noexcept; + Attribute& operator= (Attribute&&) noexcept; + #endif + + /** Creates an attribute that specifies the font and colour for a range of characters. */ + Attribute (Range range, const Font& font, Colour colour) noexcept; /** The range of characters to which this attribute will be applied. */ - const Range range; + Range range; - private: - ScopedPointer font; - ScopedPointer colour; + /** The font for this range of characters. */ + Font font; - friend class AttributedString; - Attribute (const Attribute&, int); - Attribute& operator= (const Attribute&); + /** The colour for this range of characters. */ + Colour colour; + private: JUCE_LEAK_DETECTOR (Attribute) }; @@ -189,7 +181,7 @@ public: /** Returns one of the string's attributes. The index provided must be less than getNumAttributes(), and >= 0. */ - const Attribute* getAttribute (int index) const noexcept { return attributes.getUnchecked (index); } + const Attribute& getAttribute (int index) const noexcept { return attributes.getReference (index); } //============================================================================== /** Adds a colour attribute for the specified range. */ @@ -210,7 +202,7 @@ private: Justification justification; WordWrap wordWrap; ReadingDirection readingDirection; - OwnedArray attributes; + Array attributes; JUCE_LEAK_DETECTOR (AttributedString) }; diff --git a/modules/juce_graphics/fonts/juce_CustomTypeface.h b/modules/juce_graphics/fonts/juce_CustomTypeface.h index 1d718345..ff365fd6 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/fonts/juce_Font.cpp b/modules/juce_graphics/fonts/juce_Font.cpp index f47e182c..7b7632fb 100644 --- a/modules/juce_graphics/fonts/juce_Font.cpp +++ b/modules/juce_graphics/fonts/juce_Font.cpp @@ -159,9 +159,7 @@ void Typeface::setTypefaceCacheSize (int numFontsToCache) TypefaceCache::getInstance()->setSize (numFontsToCache); } -#if JUCE_MODULE_AVAILABLE_juce_opengl -extern void clearOpenGLGlyphCache(); -#endif +void (*clearOpenGLGlyphCache)() = nullptr; void Typeface::clearTypefaceCache() { @@ -169,9 +167,8 @@ void Typeface::clearTypefaceCache() RenderingHelpers::SoftwareRendererSavedState::clearGlyphCache(); - #if JUCE_MODULE_AVAILABLE_juce_opengl - clearOpenGLGlyphCache(); - #endif + if (clearOpenGLGlyphCache != nullptr) + clearOpenGLGlyphCache(); } //============================================================================== diff --git a/modules/juce_graphics/fonts/juce_GlyphArrangement.h b/modules/juce_graphics/fonts/juce_GlyphArrangement.h index 6f4243dc..3e3def23 100644 --- a/modules/juce_graphics/fonts/juce_GlyphArrangement.h +++ b/modules/juce_graphics/fonts/juce_GlyphArrangement.h @@ -195,7 +195,7 @@ public: float maxLineWidth, Justification horizontalLayout); - /** Tries to fit some text withing a given space. + /** Tries to fit some text within a given space. This does its best to make the given text readable within the specified rectangle, so it useful for labelling things. diff --git a/modules/juce_graphics/fonts/juce_TextLayout.cpp b/modules/juce_graphics/fonts/juce_TextLayout.cpp index 450aa860..5d7a4524 100644 --- a/modules/juce_graphics/fonts/juce_TextLayout.cpp +++ b/modules/juce_graphics/fonts/juce_TextLayout.cpp @@ -242,7 +242,7 @@ void TextLayout::createLayout (const AttributedString& text, float maxWidth, flo if (! createNativeLayout (text)) createStandardLayout (text); - recalculateSize (text); + recalculateSize(); } void TextLayout::createLayoutWithBalancedLineLengths (const AttributedString& text, float maxWidth) @@ -287,29 +287,6 @@ void TextLayout::createLayoutWithBalancedLineLengths (const AttributedString& te //============================================================================== namespace TextLayoutHelpers { - struct FontAndColour - { - FontAndColour (const Font* f) noexcept : font (f), colour (0xff000000) {} - - const Font* font; - Colour colour; - - bool operator!= (const FontAndColour& other) const noexcept - { - return (font != other.font && *font != *other.font) || colour != other.colour; - } - }; - - struct RunAttribute - { - RunAttribute (const FontAndColour& fc, const Range r) noexcept - : fontAndColour (fc), range (r) - {} - - FontAndColour fontAndColour; - Range range; - }; - struct Token { Token (const String& t, const Font& f, Colour c, const bool whitespace) @@ -337,7 +314,6 @@ namespace TextLayoutHelpers void createLayout (const AttributedString& text, TextLayout& layout) { - tokens.ensureStorageAllocated (64); layout.ensureStorageAllocated (totalLines); addTextRuns (text); @@ -465,10 +441,8 @@ namespace TextLayoutHelpers return CharacterFunctions::isWhitespace (c) ? 2 : 1; } - void appendText (const AttributedString& text, const Range stringRange, - const Font& font, Colour colour) + void appendText (const String& stringText, const Font& font, Colour colour) { - const String stringText (text.getText().substring (stringRange.getStart(), stringRange.getEnd())); String::CharPointerType t (stringText.getCharPointer()); String currentString; int lastCharType = 0; @@ -551,55 +525,22 @@ namespace TextLayoutHelpers void addTextRuns (const AttributedString& text) { - Font defaultFont; - Array runAttributes; + const int numAttributes = text.getNumAttributes(); + tokens.ensureStorageAllocated (jmax (64, numAttributes)); + for (int i = 0; i < numAttributes; ++i) { - const int stringLength = text.getText().length(); - int rangeStart = 0; - FontAndColour lastFontAndColour (&defaultFont); - - // Iterate through every character in the string - for (int i = 0; i < stringLength; ++i) - { - FontAndColour newFontAndColour (&defaultFont); - const int numCharacterAttributes = text.getNumAttributes(); - - for (int j = 0; j < numCharacterAttributes; ++j) - { - const AttributedString::Attribute& attr = *text.getAttribute (j); + const AttributedString::Attribute& attr = text.getAttribute (i); - if (attr.range.contains (i)) - { - if (const Font* f = attr.getFont()) newFontAndColour.font = f; - if (const Colour* c = attr.getColour()) newFontAndColour.colour = *c; - } - } - - if (i > 0 && newFontAndColour != lastFontAndColour) - { - runAttributes.add (RunAttribute (lastFontAndColour, Range (rangeStart, i))); - rangeStart = i; - } - - lastFontAndColour = newFontAndColour; - } - - if (rangeStart < stringLength) - runAttributes.add (RunAttribute (lastFontAndColour, Range (rangeStart, stringLength))); - } - - for (int i = 0; i < runAttributes.size(); ++i) - { - const RunAttribute& r = runAttributes.getReference(i); - appendText (text, r.range, *(r.fontAndColour.font), r.fontAndColour.colour); + appendText (text.getText().substring (attr.range.getStart(), attr.range.getEnd()), + attr.font, attr.colour); } } static String getTrimmedEndIfNotAllWhitespace (const String& s) { String trimmed (s.trimEnd()); - if (trimmed.isEmpty() && ! s.isEmpty()) + if (trimmed.isEmpty() && s.isNotEmpty()) trimmed = s.replaceCharacters ("\r\n\t", " "); return trimmed; @@ -619,9 +560,9 @@ void TextLayout::createStandardLayout (const AttributedString& text) l.createLayout (text, *this); } -void TextLayout::recalculateSize (const AttributedString& text) +void TextLayout::recalculateSize() { - if (lines.size() > 0 && text.getReadingDirection() != AttributedString::rightToLeft) + if (lines.size() > 0) { Rectangle bounds (lines.getFirst()->getLineBounds()); diff --git a/modules/juce_graphics/fonts/juce_TextLayout.h b/modules/juce_graphics/fonts/juce_TextLayout.h index 0aaa073c..08c5ca18 100644 --- a/modules/juce_graphics/fonts/juce_TextLayout.h +++ b/modules/juce_graphics/fonts/juce_TextLayout.h @@ -188,7 +188,7 @@ private: void createStandardLayout (const AttributedString&); bool createNativeLayout (const AttributedString&); - void recalculateSize (const AttributedString&); + void recalculateSize(); JUCE_LEAK_DETECTOR (TextLayout) }; diff --git a/modules/juce_graphics/geometry/juce_AffineTransform.cpp b/modules/juce_graphics/geometry/juce_AffineTransform.cpp index 3f17bb92..a4c1a7e4 100644 --- a/modules/juce_graphics/geometry/juce_AffineTransform.cpp +++ b/modules/juce_graphics/geometry/juce_AffineTransform.cpp @@ -219,11 +219,9 @@ AffineTransform AffineTransform::inverted() const noexcept return AffineTransform (dst00, dst01, -mat02 * dst00 - mat12 * dst01, dst10, dst11, -mat02 * dst10 - mat12 * dst11); } - else - { - // singularity.. - return *this; - } + + // singularity.. + return *this; } bool AffineTransform::isSingularity() const noexcept diff --git a/modules/juce_graphics/geometry/juce_AffineTransform.h b/modules/juce_graphics/geometry/juce_AffineTransform.h index f9773f39..77bb8ab7 100644 --- a/modules/juce_graphics/geometry/juce_AffineTransform.h +++ b/modules/juce_graphics/geometry/juce_AffineTransform.h @@ -71,8 +71,8 @@ public: transformations to. e.g. @code - AffineTransform myTransform = AffineTransform::identity.rotated (.5f) - .scaled (2.0f); + AffineTransform myTransform = AffineTransform().rotated (.5f) + .scaled (2.0f); @endcode */ static const AffineTransform identity; diff --git a/modules/juce_graphics/geometry/juce_Line.h b/modules/juce_graphics/geometry/juce_Line.h index 02f91699..a6dfadf3 100644 --- a/modules/juce_graphics/geometry/juce_Line.h +++ b/modules/juce_graphics/geometry/juce_Line.h @@ -126,6 +126,9 @@ public: /** Returns the length of the line. */ ValueType getLength() const noexcept { return start.getDistanceFrom (end); } + /** Returns the length of the line. */ + ValueType getLengthSquared() const noexcept { return start.getDistanceSquaredFrom (end); } + /** Returns true if the line's start and end x coordinates are the same. */ bool isVertical() const noexcept { return start.x == end.x; } diff --git a/modules/juce_graphics/geometry/juce_Path.cpp b/modules/juce_graphics/geometry/juce_Path.cpp index 0c67dd10..a4ff1e17 100644 --- a/modules/juce_graphics/geometry/juce_Path.cpp +++ b/modules/juce_graphics/geometry/juce_Path.cpp @@ -60,6 +60,9 @@ const float Path::quadMarker = 100003.0f; const float Path::cubicMarker = 100004.0f; const float Path::closeSubPathMarker = 100005.0f; +const float Path::defaultToleranceForTesting = 1.0f; +const float Path::defaultToleranceForMeasurement = 0.6f; + //============================================================================== Path::PathBounds::PathBounds() noexcept : pathXMin (0), pathXMax (0), pathYMin (0), pathYMax (0) @@ -981,7 +984,7 @@ AffineTransform Path::getTransformToScaleToFit (const float x, const float y, if (preserveProportions) { if (w <= 0 || h <= 0 || boundsRect.isEmpty()) - return AffineTransform::identity; + return AffineTransform(); float newW, newH; const float srcRatio = boundsRect.getHeight() / boundsRect.getWidth(); @@ -1030,7 +1033,7 @@ bool Path::contains (const float x, const float y, const float tolerance) const || y <= bounds.pathYMin || y >= bounds.pathYMax) return false; - PathFlatteningIterator i (*this, AffineTransform::identity, tolerance); + PathFlatteningIterator i (*this, AffineTransform(), tolerance); int positiveCrossings = 0; int negativeCrossings = 0; @@ -1060,9 +1063,9 @@ bool Path::contains (const Point point, const float tolerance) const return contains (point.x, point.y, tolerance); } -bool Path::intersectsLine (const Line& line, const float tolerance) +bool Path::intersectsLine (Line line, const float tolerance) { - PathFlatteningIterator i (*this, AffineTransform::identity, tolerance); + PathFlatteningIterator i (*this, AffineTransform(), tolerance); Point intersection; while (i.next()) @@ -1072,7 +1075,7 @@ bool Path::intersectsLine (const Line& line, const float tolerance) return false; } -Line Path::getClippedLine (const Line& line, const bool keepSectionOutsidePath) const +Line Path::getClippedLine (Line line, const bool keepSectionOutsidePath) const { Line result (line); const bool startInside = contains (line.getStart()); @@ -1085,7 +1088,7 @@ Line Path::getClippedLine (const Line& line, const bool keepSectio } else { - PathFlatteningIterator i (*this, AffineTransform::identity); + PathFlatteningIterator i (*this, AffineTransform()); Point intersection; while (i.next()) @@ -1103,10 +1106,10 @@ Line Path::getClippedLine (const Line& line, const bool keepSectio return result; } -float Path::getLength (const AffineTransform& transform) const +float Path::getLength (const AffineTransform& transform, float tolerance) const { float length = 0; - PathFlatteningIterator i (*this, transform); + PathFlatteningIterator i (*this, transform, tolerance); while (i.next()) length += Line (i.x1, i.y1, i.x2, i.y2).getLength(); @@ -1114,9 +1117,11 @@ float Path::getLength (const AffineTransform& transform) const return length; } -Point Path::getPointAlongPath (float distanceFromStart, const AffineTransform& transform) const +Point Path::getPointAlongPath (float distanceFromStart, + const AffineTransform& transform, + float tolerance) const { - PathFlatteningIterator i (*this, transform); + PathFlatteningIterator i (*this, transform, tolerance); while (i.next()) { @@ -1133,9 +1138,10 @@ Point Path::getPointAlongPath (float distanceFromStart, const AffineTrans } float Path::getNearestPoint (const Point targetPoint, Point& pointOnPath, - const AffineTransform& transform) const + const AffineTransform& transform, + float tolerance) const { - PathFlatteningIterator i (*this, transform); + PathFlatteningIterator i (*this, transform, tolerance); float bestPosition = 0, bestDistance = std::numeric_limits::max(); float length = 0; Point pointOnLine; diff --git a/modules/juce_graphics/geometry/juce_Path.h b/modules/juce_graphics/geometry/juce_Path.h index 3b28248f..6ddca5dd 100644 --- a/modules/juce_graphics/geometry/juce_Path.h +++ b/modules/juce_graphics/geometry/juce_Path.h @@ -83,12 +83,14 @@ public: bool operator== (const Path&) const noexcept; bool operator!= (const Path&) const noexcept; + static const float defaultToleranceForTesting; + static const float defaultToleranceForMeasurement; + //============================================================================== /** Returns true if the path doesn't contain any lines or curves. */ bool isEmpty() const noexcept; - /** Returns the smallest rectangle that contains all points within the path. - */ + /** Returns the smallest rectangle that contains all points within the path. */ Rectangle getBounds() const noexcept; /** Returns the smallest rectangle that contains all points within the path @@ -98,7 +100,7 @@ public: /** Checks whether a point lies within the path. - This is only relevent for closed paths (see closeSubPath()), and + This is only relevant for closed paths (see closeSubPath()), and may produce false results if used on a path which has open sub-paths. The path's winding rule is taken into account by this method. @@ -110,11 +112,11 @@ public: @see closeSubPath, setUsingNonZeroWinding */ bool contains (float x, float y, - float tolerance = 1.0f) const; + float tolerance = defaultToleranceForTesting) const; /** Checks whether a point lies within the path. - This is only relevent for closed paths (see closeSubPath()), and + This is only relevant for closed paths (see closeSubPath()), and may produce false results if used on a path which has open sub-paths. The path's winding rule is taken into account by this method. @@ -126,7 +128,7 @@ public: @see closeSubPath, setUsingNonZeroWinding */ bool contains (const Point point, - float tolerance = 1.0f) const; + float tolerance = defaultToleranceForTesting) const; /** Checks whether a line crosses the path. @@ -138,8 +140,8 @@ public: so this method could return a false positive when your point is up to this distance outside the path's boundary. */ - bool intersectsLine (const Line& line, - float tolerance = 1.0f); + bool intersectsLine (Line line, + float tolerance = defaultToleranceForTesting); /** Cuts off parts of a line to keep the parts that are either inside or outside this path. @@ -153,12 +155,13 @@ public: that will be kept; if false its the section inside the path */ - Line getClippedLine (const Line& line, bool keepSectionOutsidePath) const; + Line getClippedLine (Line line, bool keepSectionOutsidePath) const; /** Returns the length of the path. @see getPointAlongPath */ - float getLength (const AffineTransform& transform = AffineTransform::identity) const; + float getLength (const AffineTransform& transform = AffineTransform(), + float tolerance = defaultToleranceForMeasurement) const; /** Returns a point that is the specified distance along the path. If the distance is greater than the total length of the path, this will return the @@ -166,15 +169,17 @@ public: @see getLength */ Point getPointAlongPath (float distanceFromStart, - const AffineTransform& transform = AffineTransform::identity) const; + const AffineTransform& transform = AffineTransform(), + float tolerance = defaultToleranceForMeasurement) const; /** Finds the point along the path which is nearest to a given position. This sets pointOnPath to the nearest point, and returns the distance of this point from the start of the path. */ - float getNearestPoint (const Point targetPoint, + float getNearestPoint (Point targetPoint, Point& pointOnPath, - const AffineTransform& transform = AffineTransform::identity) const; + const AffineTransform& transform = AffineTransform(), + float tolerance = defaultToleranceForMeasurement) const; //============================================================================== /** Removes all lines and curves, resetting the path completely. */ diff --git a/modules/juce_graphics/geometry/juce_PathIterator.cpp b/modules/juce_graphics/geometry/juce_PathIterator.cpp index ce3c4631..76663ace 100644 --- a/modules/juce_graphics/geometry/juce_PathIterator.cpp +++ b/modules/juce_graphics/geometry/juce_PathIterator.cpp @@ -26,8 +26,6 @@ #pragma optimize ("t", on) #endif -const float PathFlatteningIterator::defaultTolerance = 0.6f; - //============================================================================== PathFlatteningIterator::PathFlatteningIterator (const Path& path_, const AffineTransform& transform_, diff --git a/modules/juce_graphics/geometry/juce_PathIterator.h b/modules/juce_graphics/geometry/juce_PathIterator.h index 899988ae..0e0c5de7 100644 --- a/modules/juce_graphics/geometry/juce_PathIterator.h +++ b/modules/juce_graphics/geometry/juce_PathIterator.h @@ -52,8 +52,8 @@ public: less lines, so can be generated faster, but will be less smooth. */ PathFlatteningIterator (const Path& path, - const AffineTransform& transform = AffineTransform::identity, - float tolerance = defaultTolerance); + const AffineTransform& transform = AffineTransform(), + float tolerance = Path::defaultToleranceForMeasurement); /** Destructor. */ ~PathFlatteningIterator(); @@ -90,9 +90,6 @@ public: /** Returns true if the current segment is the last in the current sub-path. */ bool isLastInSubpath() const noexcept; - /** This is the default value that should be used for the tolerance value (see the constructor parameters). */ - static const float defaultTolerance; - private: //============================================================================== const Path& path; diff --git a/modules/juce_graphics/geometry/juce_PathStrokeType.cpp b/modules/juce_graphics/geometry/juce_PathStrokeType.cpp index a762aab4..c0dd8789 100644 --- a/modules/juce_graphics/geometry/juce_PathStrokeType.cpp +++ b/modules/juce_graphics/geometry/juce_PathStrokeType.cpp @@ -99,7 +99,8 @@ namespace PathStrokeHelpers return along >= 0 && along <= 1.0f; } - else if (dy2 == 0 && dy1 != 0) + + if (dy2 == 0 && dy1 != 0) { const float along = (y3 - y1) / dy1; intersectionX = x1 + along * dx1; @@ -112,7 +113,8 @@ namespace PathStrokeHelpers return along >= 0 && along <= 1.0f; } - else if (dx1 == 0 && dx2 != 0) + + if (dx1 == 0 && dx2 != 0) { const float along = (x1 - x3) / dx2; intersectionX = x1; @@ -126,7 +128,8 @@ namespace PathStrokeHelpers return along >= 0 && along <= 1.0f; } - else if (dx2 == 0 && dx1 != 0) + + if (dx2 == 0 && dx1 != 0) { const float along = (x3 - x1) / dx1; intersectionX = x3; @@ -147,33 +150,31 @@ namespace PathStrokeHelpers distanceBeyondLine1EndSquared = 0.0f; return false; } - else - { - const float along1 = ((y1 - y3) * dx2 - (x1 - x3) * dy2) / divisor; - intersectionX = x1 + along1 * dx1; - intersectionY = y1 + along1 * dy1; + const float along1 = ((y1 - y3) * dx2 - (x1 - x3) * dy2) / divisor; - if (along1 >= 0 && along1 <= 1.0f) - { - const float along2 = ((y1 - y3) * dx1 - (x1 - x3) * dy1); + intersectionX = x1 + along1 * dx1; + intersectionY = y1 + along1 * dy1; - if (along2 >= 0 && along2 <= divisor) - { - distanceBeyondLine1EndSquared = 0.0f; - return true; - } + if (along1 >= 0 && along1 <= 1.0f) + { + const float along2 = ((y1 - y3) * dx1 - (x1 - x3) * dy1) / divisor; + + if (along2 >= 0 && along2 <= 1.0f) + { + distanceBeyondLine1EndSquared = 0.0f; + return true; } + } - distanceBeyondLine1EndSquared = along1 - 1.0f; - distanceBeyondLine1EndSquared *= distanceBeyondLine1EndSquared; - distanceBeyondLine1EndSquared *= (dx1 * dx1 + dy1 * dy1); + distanceBeyondLine1EndSquared = along1 - 1.0f; + distanceBeyondLine1EndSquared *= distanceBeyondLine1EndSquared; + distanceBeyondLine1EndSquared *= (dx1 * dx1 + dy1 * dy1); - if (along1 < 1.0f) - distanceBeyondLine1EndSquared = -distanceBeyondLine1EndSquared; + if (along1 < 1.0f) + distanceBeyondLine1EndSquared = -distanceBeyondLine1EndSquared; - return false; - } + return false; } intersectionX = x2; @@ -315,7 +316,7 @@ namespace PathStrokeHelpers if (style == PathStrokeType::square) { - // sqaure ends + // square ends destPath.lineTo (offx1, offy1); destPath.lineTo (offx2, offy2); destPath.lineTo (x2, y2); @@ -569,7 +570,7 @@ namespace PathStrokeHelpers // Iterate the path, creating a list of the // left/right-hand lines along either side of it... - PathFlatteningIterator it (*sourcePath, transform, PathFlatteningIterator::defaultTolerance / extraAccuracy); + PathFlatteningIterator it (*sourcePath, transform, Path::defaultToleranceForMeasurement / extraAccuracy); Array subPath; subPath.ensureStorageAllocated (512); @@ -666,11 +667,8 @@ void PathStrokeType::createDashedStroke (Path& destPath, if (thickness <= 0) return; - // this should really be an even number.. - jassert ((numDashLengths & 1) == 0); - Path newDestPath; - PathFlatteningIterator it (sourcePath, transform, PathFlatteningIterator::defaultTolerance / extraAccuracy); + PathFlatteningIterator it (sourcePath, transform, Path::defaultToleranceForMeasurement / extraAccuracy); bool first = true; int dashNum = 0; @@ -695,7 +693,7 @@ void PathStrokeType::createDashedStroke (Path& destPath, if (isSolid && ! first) newDestPath.lineTo (it.x2, it.y2); - createStrokedPath (destPath, newDestPath, AffineTransform::identity, extraAccuracy); + createStrokedPath (destPath, newDestPath, AffineTransform(), extraAccuracy); return; } diff --git a/modules/juce_graphics/geometry/juce_PathStrokeType.h b/modules/juce_graphics/geometry/juce_PathStrokeType.h index b390838f..2f17bc5b 100644 --- a/modules/juce_graphics/geometry/juce_PathStrokeType.h +++ b/modules/juce_graphics/geometry/juce_PathStrokeType.h @@ -104,7 +104,7 @@ public: */ void createStrokedPath (Path& destPath, const Path& sourcePath, - const AffineTransform& transform = AffineTransform::identity, + const AffineTransform& transform = AffineTransform(), float extraAccuracy = 1.0f) const; @@ -136,7 +136,7 @@ public: const Path& sourcePath, const float* dashLengths, int numDashLengths, - const AffineTransform& transform = AffineTransform::identity, + const AffineTransform& transform = AffineTransform(), float extraAccuracy = 1.0f) const; //============================================================================== @@ -163,7 +163,7 @@ public: const Path& sourcePath, float arrowheadStartWidth, float arrowheadStartLength, float arrowheadEndWidth, float arrowheadEndLength, - const AffineTransform& transform = AffineTransform::identity, + const AffineTransform& transform = AffineTransform(), float extraAccuracy = 1.0f) const; //============================================================================== diff --git a/modules/juce_graphics/geometry/juce_Point.h b/modules/juce_graphics/geometry/juce_Point.h index 33dc1c77..6f8f8638 100644 --- a/modules/juce_graphics/geometry/juce_Point.h +++ b/modules/juce_graphics/geometry/juce_Point.h @@ -147,10 +147,18 @@ public: /** Returns the straight-line distance between this point and another one. */ ValueType getDistanceFrom (Point other) const noexcept { return juce_hypot (x - other.x, y - other.y); } + /** Returns the square of the straight-line distance between this point and the origin. */ + ValueType getDistanceSquaredFromOrigin() const noexcept { return x * x + y * y; } + + /** Returns the square of the straight-line distance between this point and another one. */ + ValueType getDistanceSquaredFrom (Point other) const noexcept { return (*this - other).getDistanceSquaredFromOrigin(); } + /** Returns the angle from this point to another one. - The return value is the number of radians clockwise from the 12 o'clock direction, - where this point is the centre and the other point is on the circumference. + Taking this point to be the centre of a circle, and the other point being a position on + the circumference, the return value is the number of radians clockwise from the 12 o'clock + direction. + So 12 o'clock = 0, 3 o'clock = Pi/2, 6 o'clock = Pi, 9 o'clock = -Pi/2 */ FloatType getAngleToPoint (Point other) const noexcept { @@ -227,5 +235,9 @@ public: ValueType y; /**< The point's Y coordinate. */ }; +/** Multiplies the point's coordinates by a scalar value. */ +template +Point operator* (ValueType value, Point p) noexcept { return p * value; } + #endif // JUCE_POINT_H_INCLUDED diff --git a/modules/juce_graphics/geometry/juce_Rectangle.h b/modules/juce_graphics/geometry/juce_Rectangle.h index 952953ac..8f00a811 100644 --- a/modules/juce_graphics/geometry/juce_Rectangle.h +++ b/modules/juce_graphics/geometry/juce_Rectangle.h @@ -773,8 +773,8 @@ public: } /** Returns the smallest integer-aligned rectangle that completely contains this one. - This is only relevent for floating-point rectangles, of course. - @see toFloat() + This is only relevant for floating-point rectangles, of course. + @see toFloat(), toNearestInt() */ Rectangle getSmallestIntegerContainer() const noexcept { @@ -786,6 +786,17 @@ public: return Rectangle (x1, y1, x2 - x1, y2 - y1); } + /** Casts this rectangle to a Rectangle. + This uses roundToInt to snap x, y, width and height to the nearest integer (losing precision). + If the rectangle already uses integers, this will simply return a copy. + @see getSmallestIntegerContainer() + */ + Rectangle toNearestInt() const noexcept + { + return Rectangle (roundToInt (pos.x), roundToInt (pos.y), + roundToInt (w), roundToInt (h)); + } + /** Casts this rectangle to a Rectangle. @see getSmallestIntegerContainer */ @@ -914,8 +925,8 @@ private: Point pos; ValueType w, h; - static int parseIntAfterSpace (StringRef s) noexcept - { return s.text.findEndOfWhitespace().getIntValue32(); } + static ValueType parseIntAfterSpace (StringRef s) noexcept + { return static_cast (s.text.findEndOfWhitespace().getIntValue32()); } void copyWithRounding (Rectangle& result) const noexcept { result = getSmallestIntegerContainer(); } void copyWithRounding (Rectangle& result) const noexcept { result = toFloat(); } diff --git a/modules/juce_graphics/geometry/juce_RectangleList.h b/modules/juce_graphics/geometry/juce_RectangleList.h index 8863a0e2..ac3bc7d8 100644 --- a/modules/juce_graphics/geometry/juce_RectangleList.h +++ b/modules/juce_graphics/geometry/juce_RectangleList.h @@ -524,7 +524,7 @@ public: */ void consolidate() { - for (int i = 0; i < getNumRectangles() - 1; ++i) + for (int i = 0; i < rects.size() - 1; ++i) { RectangleType& r = rects.getReference (i); const ValueType rx1 = r.getX(); diff --git a/modules/juce_graphics/image_formats/juce_JPEGLoader.cpp b/modules/juce_graphics/image_formats/juce_JPEGLoader.cpp index ca01ff05..cf32f3a5 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/images/juce_Image.cpp b/modules/juce_graphics/images/juce_Image.cpp index d801b48c..cb51d5d8 100644 --- a/modules/juce_graphics/images/juce_Image.cpp +++ b/modules/juce_graphics/images/juce_Image.cpp @@ -58,10 +58,17 @@ Image ImageType::convert (const Image& source) const Image newImage (create (src.pixelFormat, src.width, src.height, false)); Image::BitmapData dest (newImage, Image::BitmapData::writeOnly); - jassert (src.pixelStride == dest.pixelStride && src.pixelFormat == dest.pixelFormat); - - for (int y = 0; y < dest.height; ++y) - memcpy (dest.getLinePointer (y), src.getLinePointer (y), (size_t) dest.lineStride); + if (src.pixelStride == dest.pixelStride && src.pixelFormat == dest.pixelFormat) + { + for (int y = 0; y < dest.height; ++y) + memcpy (dest.getLinePointer (y), src.getLinePointer (y), (size_t) dest.lineStride); + } + else + { + for (int y = 0; y < dest.height; ++y) + for (int x = 0; x < dest.width; ++x) + dest.setPixelColour (x, y, src.getPixelColour (x, y)); + } return newImage; } diff --git a/modules/juce_graphics/images/juce_ImageCache.cpp b/modules/juce_graphics/images/juce_ImageCache.cpp index 797c796b..9d657393 100644 --- a/modules/juce_graphics/images/juce_ImageCache.cpp +++ b/modules/juce_graphics/images/juce_ImageCache.cpp @@ -47,7 +47,7 @@ public: return item->image; } - return Image::null; + return Image(); } void addImageToCache (const Image& image, const int64 hashCode) @@ -128,7 +128,7 @@ Image ImageCache::getFromHashCode (const int64 hashCode) if (Pimpl::getInstanceWithoutCreating() != nullptr) return Pimpl::getInstanceWithoutCreating()->getFromHashCode (hashCode); - return Image::null; + return Image(); } void ImageCache::addImageToCache (const Image& image, const int64 hashCode) diff --git a/modules/juce_graphics/juce_graphics.cpp b/modules/juce_graphics/juce_graphics.cpp index 2d5a0966..50a5d3f1 100644 --- a/modules/juce_graphics/juce_graphics.cpp +++ b/modules/juce_graphics/juce_graphics.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_GRAPHICS_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_GRAPHICS_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,11 +31,12 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" +#define JUCE_CORE_INCLUDE_OBJC_HELPERS 1 +#define JUCE_CORE_INCLUDE_COM_SMART_PTR 1 +#define JUCE_CORE_INCLUDE_JNI_HELPERS 1 +#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1 +#define JUCE_GRAPHICS_INCLUDE_COREGRAPHICS_HELPERS 1 -#include "../juce_core/native/juce_BasicNativeHeaders.h" #include "juce_graphics.h" //============================================================================== @@ -43,6 +44,12 @@ #import #elif JUCE_WINDOWS + // get rid of some warnings in Window's own headers + #ifdef JUCE_MSVC + #pragma warning (push) + #pragma warning (disable : 4458) + #endif + #if JUCE_MINGW && JUCE_USE_DIRECTWRITE #warning "DirectWrite not currently implemented with mingw..." #undef JUCE_USE_DIRECTWRITE @@ -61,6 +68,10 @@ #include #endif + #ifdef JUCE_MSVC + #pragma warning (pop) + #endif + #elif JUCE_IOS #import #import @@ -131,13 +142,10 @@ namespace juce //============================================================================== #if JUCE_MAC || JUCE_IOS - #include "../juce_core/native/juce_osx_ObjCHelpers.h" - #include "native/juce_mac_CoreGraphicsHelpers.h" #include "native/juce_mac_Fonts.mm" #include "native/juce_mac_CoreGraphicsContext.mm" #elif JUCE_WINDOWS - #include "../juce_core/native/juce_win32_ComSmartPtr.h" #include "native/juce_win32_DirectWriteTypeface.cpp" #include "native/juce_win32_DirectWriteTypeLayout.cpp" #include "native/juce_win32_Fonts.cpp" @@ -149,7 +157,6 @@ namespace juce #include "native/juce_linux_Fonts.cpp" #elif JUCE_ANDROID - #include "../juce_core/native/juce_android_JNIHelpers.h" #include "native/juce_android_GraphicsContext.cpp" #include "native/juce_android_Fonts.cpp" diff --git a/modules/juce_graphics/juce_graphics.h b/modules/juce_graphics/juce_graphics.h index a7921318..795b61bb 100644 --- a/modules/juce_graphics/juce_graphics.h +++ b/modules/juce_graphics/juce_graphics.h @@ -22,13 +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_graphics + vendor: juce + version: 4.2.1 + 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 On OSX, enabling this flag means that the CoreImage codecs will be used to load @@ -60,7 +87,7 @@ #define USE_COREGRAPHICS_RENDERING 1 #endif -//============================================================================= +//============================================================================== namespace juce { @@ -91,9 +118,9 @@ class LowLevelGraphicsContext; #include "images/juce_ImageCache.h" #include "images/juce_ImageConvolutionKernel.h" #include "images/juce_ImageFileFormat.h" -#include "fonts/juce_AttributedString.h" #include "fonts/juce_Typeface.h" #include "fonts/juce_Font.h" +#include "fonts/juce_AttributedString.h" #include "fonts/juce_GlyphArrangement.h" #include "fonts/juce_TextLayout.h" #include "fonts/juce_CustomTypeface.h" @@ -108,6 +135,11 @@ class LowLevelGraphicsContext; #include "effects/juce_DropShadowEffect.h" #include "effects/juce_GlowEffect.h" +#if JUCE_GRAPHICS_INCLUDE_COREGRAPHICS_HELPERS && (JUCE_MAC || JUCE_IOS) + #include "native/juce_mac_CoreGraphicsHelpers.h" + #include "native/juce_mac_CoreGraphicsContext.h" +#endif + } #endif // JUCE_GRAPHICS_H_INCLUDED diff --git a/modules/juce_graphics/juce_module_info b/modules/juce_graphics/juce_module_info deleted file mode 100644 index 8af344ca..00000000 --- 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_RenderingHelpers.h b/modules/juce_graphics/native/juce_RenderingHelpers.h index cd8cd368..1930f116 100644 --- a/modules/juce_graphics/native/juce_RenderingHelpers.h +++ b/modules/juce_graphics/native/juce_RenderingHelpers.h @@ -2044,7 +2044,7 @@ public: { Path p; p.addRectangle (r); - clipToPath (p, AffineTransform::identity); + clipToPath (p, AffineTransform()); } } @@ -2074,7 +2074,7 @@ public: } else { - clipToPath (r.toPath(), AffineTransform::identity); + clipToPath (r.toPath(), AffineTransform()); } } @@ -2112,7 +2112,7 @@ public: p.applyTransform (transform.complexTransform); p.addRectangle (clip->getClipBounds().toFloat()); p.setUsingNonZeroWinding (false); - clip = clip->clipToPath (p, AffineTransform::identity); + clip = clip->clipToPath (p, AffineTransform()); } } @@ -2205,7 +2205,7 @@ public: { Path p; p.addRectangle (r); - fillPath (p, AffineTransform::identity); + fillPath (p, AffineTransform()); } void fillRect (const Rectangle& r, const bool replaceContents) @@ -2258,7 +2258,7 @@ public: } else { - fillPath (list.toPath(), AffineTransform::identity); + fillPath (list.toPath(), AffineTransform()); } } } @@ -2266,7 +2266,13 @@ public: void fillPath (const Path& path, const AffineTransform& t) { if (clip != nullptr) - fillShape (new EdgeTableRegionType (clip->getClipBounds(), path, transform.getTransformWith (t)), false); + { + const AffineTransform trans (transform.getTransformWith (t)); + const Rectangle clipRect (clip->getClipBounds()); + + if (path.getBoundsTransformed (trans).getSmallestIntegerContainer().intersects (clipRect)) + fillShape (new EdgeTableRegionType (clipRect, path, trans), false); + } } void fillEdgeTable (const EdgeTable& edgeTable, const float x, const int y) @@ -2292,7 +2298,7 @@ public: { Path p; p.addLineSegment (line, 1.0f); - fillPath (p, AffineTransform::identity); + fillPath (p, AffineTransform()); } void drawImage (const Image& sourceImage, const AffineTransform& trans) @@ -2388,7 +2394,7 @@ public: // If our translation doesn't involve any distortion, we can speed it up.. g2.point1.applyTransform (t); g2.point2.applyTransform (t); - t = AffineTransform::identity; + t = AffineTransform(); } shapeToFill->fillAllWithGradient (getThis(), g2, t, isIdentity); diff --git a/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h b/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h index df34033b..4210c2ac 100644 --- a/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h +++ b/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h @@ -29,7 +29,7 @@ class CoreGraphicsContext : public LowLevelGraphicsContext { public: - CoreGraphicsContext (CGContextRef context, const float flipHeight, const float targetScale); + CoreGraphicsContext (CGContextRef context, float flipHeight, float targetScale); ~CoreGraphicsContext(); //============================================================================== diff --git a/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm b/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm index 4c6c5ad8..3e806498 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); @@ -545,7 +545,7 @@ void CoreGraphicsContext::drawLine (const Line& line) { Path p; p.addLineSegment (line, 1.0f); - fillPath (p, AffineTransform::identity); + fillPath (p, AffineTransform()); } } @@ -656,7 +656,7 @@ bool CoreGraphicsContext::drawTextLayout (const AttributedString& text, const Re CoreTextTypeLayout::drawToCGContext (text, area, context, (float) flipHeight); return true; #else - (void) text; (void) area; + ignoreUnused (text, area); return false; #endif } @@ -863,7 +863,7 @@ Image juce_loadWithCoreImage (InputStream& input) } } - return Image::null; + return Image(); } #endif diff --git a/modules/juce_graphics/native/juce_mac_Fonts.mm b/modules/juce_graphics/native/juce_mac_Fonts.mm index 157f4099..95b02d9c 100644 --- a/modules/juce_graphics/native/juce_mac_Fonts.mm +++ b/modules/juce_graphics/native/juce_mac_Fonts.mm @@ -212,6 +212,45 @@ namespace CoreTextTypeLayout return createCTFont (f, referenceFontSize, transform); } + //============================================================================== + static CTTextAlignment getTextAlignment (const AttributedString& text) + { + switch (text.getJustification().getOnlyHorizontalFlags()) + { + #if defined (MAC_OS_X_VERSION_10_8) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_8 + case Justification::right: return kCTTextAlignmentRight; + case Justification::horizontallyCentred: return kCTTextAlignmentCenter; + case Justification::horizontallyJustified: return kCTTextAlignmentJustified; + default: return kCTTextAlignmentLeft; + #else + case Justification::right: return kCTRightTextAlignment; + case Justification::horizontallyCentred: return kCTCenterTextAlignment; + case Justification::horizontallyJustified: return kCTJustifiedTextAlignment; + default: return kCTLeftTextAlignment; + #endif + } + } + + static CTLineBreakMode getLineBreakMode (const AttributedString& text) + { + switch (text.getWordWrap()) + { + case AttributedString::none: return kCTLineBreakByClipping; + case AttributedString::byChar: return kCTLineBreakByCharWrapping; + default: return kCTLineBreakByWordWrapping; + } + } + + static CTWritingDirection getWritingDirection (const AttributedString& text) + { + switch (text.getReadingDirection()) + { + case AttributedString::rightToLeft: return kCTWritingDirectionRightToLeft; + case AttributedString::leftToRight: return kCTWritingDirectionLeftToRight; + default: return kCTWritingDirectionNatural; + } + } + //============================================================================== static CFAttributedStringRef createCFAttributedString (const AttributedString& text) { @@ -219,8 +258,9 @@ namespace CoreTextTypeLayout CGColorSpaceRef rgbColourSpace = CGColorSpaceCreateDeviceRGB(); #endif - CFStringRef cfText = text.getText().toCFString(); CFMutableAttributedStringRef attribString = CFAttributedStringCreateMutable (kCFAllocatorDefault, 0); + + CFStringRef cfText = text.getText().toCFString(); CFAttributedStringReplaceString (attribString, CFRangeMake (0, 0), cfText); CFRelease (cfText); @@ -229,7 +269,7 @@ namespace CoreTextTypeLayout for (int i = 0; i < numCharacterAttributes; ++i) { - const AttributedString::Attribute& attr = *text.getAttribute (i); + const AttributedString::Attribute& attr = text.getAttribute (i); const int rangeStart = attr.range.getStart(); if (rangeStart >= attribStringLen) @@ -237,42 +277,40 @@ namespace CoreTextTypeLayout CFRange range = CFRangeMake (rangeStart, jmin (attr.range.getEnd(), (int) attribStringLen) - rangeStart); - if (const Font* const f = attr.getFont()) + if (CTFontRef ctFontRef = getOrCreateFont (attr.font)) { - if (CTFontRef ctFontRef = getOrCreateFont (*f)) - { - ctFontRef = getFontWithPointSize (ctFontRef, f->getHeight() * getHeightToPointsFactor (ctFontRef)); - - CFAttributedStringSetAttribute (attribString, range, kCTFontAttributeName, ctFontRef); + ctFontRef = getFontWithPointSize (ctFontRef, attr.font.getHeight() * getHeightToPointsFactor (ctFontRef)); - float extraKerning = f->getExtraKerningFactor(); + CFAttributedStringSetAttribute (attribString, range, kCTFontAttributeName, ctFontRef); - if (extraKerning != 0.0f) - { - extraKerning *= f->getHeight(); + float extraKerning = attr.font.getExtraKerningFactor(); - CFNumberRef numberRef = CFNumberCreate (0, kCFNumberFloatType, &extraKerning); - CFAttributedStringSetAttribute (attribString, range, kCTKernAttributeName, numberRef); - CFRelease (numberRef); - } + if (extraKerning != 0.0f) + { + extraKerning *= attr.font.getHeight(); - CFRelease (ctFontRef); + CFNumberRef numberRef = CFNumberCreate (0, kCFNumberFloatType, &extraKerning); + CFAttributedStringSetAttribute (attribString, range, kCTKernAttributeName, numberRef); + CFRelease (numberRef); } + + CFRelease (ctFontRef); } - if (const Colour* const col = attr.getColour()) { + const Colour col (attr.colour); + #if JUCE_IOS - const CGFloat components[] = { col->getFloatRed(), - col->getFloatGreen(), - col->getFloatBlue(), - col->getFloatAlpha() }; + const CGFloat components[] = { col.getFloatRed(), + col.getFloatGreen(), + col.getFloatBlue(), + col.getFloatAlpha() }; CGColorRef colour = CGColorCreate (rgbColourSpace, components); #else - CGColorRef colour = CGColorCreateGenericRGB (col->getFloatRed(), - col->getFloatGreen(), - col->getFloatBlue(), - col->getFloatAlpha()); + CGColorRef colour = CGColorCreateGenericRGB (col.getFloatRed(), + col.getFloatGreen(), + col.getFloatBlue(), + col.getFloatAlpha()); #endif CFAttributedStringSetAttribute (attribString, range, kCTForegroundColorAttributeName, colour); @@ -281,42 +319,16 @@ namespace CoreTextTypeLayout } // Paragraph Attributes - #if defined (MAC_OS_X_VERSION_10_8) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_8 - CTTextAlignment ctTextAlignment = kCTTextAlignmentLeft; - #else - CTTextAlignment ctTextAlignment = kCTLeftTextAlignment; - #endif - - CTLineBreakMode ctLineBreakMode = kCTLineBreakByWordWrapping; + CTTextAlignment ctTextAlignment = getTextAlignment (text); + CTLineBreakMode ctLineBreakMode = getLineBreakMode (text); + CTWritingDirection ctWritingDirection = getWritingDirection (text); const CGFloat ctLineSpacing = text.getLineSpacing(); - switch (text.getJustification().getOnlyHorizontalFlags()) - { - case Justification::left: break; - #if defined (MAC_OS_X_VERSION_10_8) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_8 - case Justification::right: ctTextAlignment = kCTTextAlignmentRight; break; - case Justification::horizontallyCentred: ctTextAlignment = kCTTextAlignmentCenter; break; - case Justification::horizontallyJustified: ctTextAlignment = kCTTextAlignmentJustified; break; - #else - case Justification::right: ctTextAlignment = kCTRightTextAlignment; break; - case Justification::horizontallyCentred: ctTextAlignment = kCTCenterTextAlignment; break; - case Justification::horizontallyJustified: ctTextAlignment = kCTJustifiedTextAlignment; break; - #endif - default: jassertfalse; break; // Illegal justification flags - } - - switch (text.getWordWrap()) - { - case AttributedString::byWord: break; - case AttributedString::none: ctLineBreakMode = kCTLineBreakByClipping; break; - case AttributedString::byChar: ctLineBreakMode = kCTLineBreakByCharWrapping; break; - default: break; - } - CTParagraphStyleSetting settings[] = { { kCTParagraphStyleSpecifierAlignment, sizeof (CTTextAlignment), &ctTextAlignment }, { kCTParagraphStyleSpecifierLineBreakMode, sizeof (CTLineBreakMode), &ctLineBreakMode }, + { kCTParagraphStyleSpecifierBaseWritingDirection, sizeof (CTWritingDirection), &ctWritingDirection}, #if defined (MAC_OS_X_VERSION_10_7) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 { kCTParagraphStyleSpecifierLineSpacingAdjustment, sizeof (CGFloat), &ctLineSpacing } @@ -449,7 +461,7 @@ namespace CoreTextTypeLayout CFDictionaryRef runAttributes = CTRunGetAttributes (run); CTFontRef ctRunFont; - if (CFDictionaryGetValueIfPresent (runAttributes, kCTFontAttributeName, (const void **) &ctRunFont)) + if (CFDictionaryGetValueIfPresent (runAttributes, kCTFontAttributeName, (const void**) &ctRunFont)) { CFStringRef cfsFontName = CTFontCopyPostScriptName (ctRunFont); CTFontRef ctFontRef = CTFontCreateWithName (cfsFontName, referenceFontSize, nullptr); @@ -571,7 +583,7 @@ public: ascent = ctAscent / ctTotalHeight; unitsToHeightScaleFactor = 1.0f / ctTotalHeight; - pathTransform = AffineTransform::identity.scale (unitsToHeightScaleFactor); + pathTransform = AffineTransform::scale (unitsToHeightScaleFactor); fontHeightToPointsFactor = referenceFontSize / ctTotalHeight; @@ -847,7 +859,7 @@ public: fontHeightToPointsFactor = referenceFontSize / (nsFontAscent + nsFontDescent); - pathTransform = AffineTransform::identity.scale (unitsToHeightScaleFactor); + pathTransform = AffineTransform::scale (unitsToHeightScaleFactor); } } @@ -1176,17 +1188,16 @@ static bool canAllTypefacesBeUsedInLayout (const AttributedString& text) for (int i = 0; i < numCharacterAttributes; ++i) { - if (const Font* const f = text.getAttribute (i)->getFont()) + Typeface* t = text.getAttribute(i).font.getTypeface(); + + if (OSXTypeface* tf = dynamic_cast (t)) { - if (OSXTypeface* tf = dynamic_cast (f->getTypeface())) - { - if (tf->isMemoryFont) - return false; - } - else if (dynamic_cast (f->getTypeface()) != nullptr) - { + if (tf->isMemoryFont) return false; - } + } + else if (dynamic_cast (t) != nullptr) + { + return false; } } @@ -1206,6 +1217,6 @@ bool TextLayout::createNativeLayout (const AttributedString& text) } #endif - (void) text; + ignoreUnused (text); return false; } diff --git a/modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp b/modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp index 3c25e625..b3640923 100644 --- a/modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp +++ b/modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp @@ -40,7 +40,7 @@ public: if (factories->d2dFactory != nullptr) { HRESULT hr = factories->d2dFactory->CreateHwndRenderTarget (props, propsHwnd, renderingTarget.resetAndGetPointerAddress()); - jassert (SUCCEEDED (hr)); (void) hr; + jassert (SUCCEEDED (hr)); ignoreUnused (hr); hr = renderingTarget->CreateSolidColorBrush (D2D1::ColorF::ColorF (0.0f, 0.0f, 0.0f, 1.0f), colourBrush.resetAndGetPointerAddress()); } } diff --git a/modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp b/modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp index af394526..f2a70895 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 { @@ -41,7 +40,7 @@ namespace DirectWriteTypeLayout JUCE_COMRESULT QueryInterface (REFIID refId, void** result) override { if (refId == __uuidof (IDWritePixelSnapping)) - return castToType (result); + return castToType (result); return ComBaseClassHelper::QueryInterface (refId, result); } @@ -54,12 +53,9 @@ namespace DirectWriteTypeLayout JUCE_COMRESULT GetCurrentTransform (void*, DWRITE_MATRIX* matrix) override { - matrix->m11 = 1.0f; - matrix->m12 = 0.0f; - matrix->m21 = 0.0f; - matrix->m22 = 1.0f; - matrix->dx = 0.0f; - matrix->dy = 0.0f; + matrix->m11 = 1.0f; matrix->m12 = 0.0f; + matrix->m21 = 0.0f; matrix->m22 = 1.0f; + matrix->dx = 0.0f; matrix->dy = 0.0f; return S_OK; } @@ -131,19 +127,22 @@ namespace DirectWriteTypeLayout const Point lineOrigin (layout->getLine (currentLine).lineOrigin); float x = baselineOriginX - lineOrigin.x; + const float extraKerning = glyphRunLayout->font.getExtraKerningFactor() + * glyphRunLayout->font.getHeight(); + for (UINT32 i = 0; i < glyphRun->glyphCount; ++i) { const float advance = glyphRun->glyphAdvances[i]; if ((glyphRun->bidiLevel & 1) != 0) - x -= advance; // RTL text + x -= advance + extraKerning; // RTL text glyphRunLayout->glyphs.add (TextLayout::Glyph (glyphRun->glyphIndices[i], Point (x, baselineOriginY - lineOrigin.y), advance)); if ((glyphRun->bidiLevel & 1) == 0) - x += advance; // LTR text + x += advance + extraKerning; // LTR text } return S_OK; @@ -172,10 +171,13 @@ namespace DirectWriteTypeLayout Font getFontForRun (const DWRITE_GLYPH_RUN& glyphRun, float fontHeight) { for (int i = 0; i < attributedString.getNumAttributes(); ++i) - if (const Font* font = attributedString.getAttribute(i)->getFont()) - if (WindowsDirectWriteTypeface* wt = dynamic_cast (font->getTypeface())) - if (wt->getIDWriteFontFace() == glyphRun.fontFace) - return font->withHeight (fontHeight); + { + const Font& font = attributedString.getAttribute(i).font; + + if (WindowsDirectWriteTypeface* wt = dynamic_cast (font.getTypeface())) + if (wt->getIDWriteFontFace() == glyphRun.fontFace) + return font.withHeight (fontHeight); + } ComSmartPtr dwFont; HRESULT hr = fontCollection.GetFontFromFontFace (glyphRun.fontFace, dwFont.resetAndGetPointerAddress()); @@ -190,7 +192,7 @@ namespace DirectWriteTypeLayout JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CustomDirectWriteTextRenderer) }; - //================================================================================================== + //============================================================================== static float getFontHeightToEmSizeFactor (IDWriteFont& dwFont) { ComSmartPtr dwFontFace; @@ -253,9 +255,8 @@ namespace DirectWriteTypeLayout range.startPosition = attr.range.getStart(); range.length = jmin (attr.range.getLength(), textLen - attr.range.getStart()); - if (const Font* const font = attr.getFont()) { - const String familyName (FontStyleHelpers::getConcreteFamilyName (*font)); + const String familyName (FontStyleHelpers::getConcreteFamilyName (attr.font)); BOOL fontFound = false; uint32 fontIndex; @@ -275,7 +276,7 @@ namespace DirectWriteTypeLayout { hr = fontFamily->GetFont (i, dwFont.resetAndGetPointerAddress()); - if (font->getTypefaceStyle() == getFontFaceName (dwFont)) + if (attr.font.getTypefaceStyle() == getFontFaceName (dwFont)) break; } @@ -285,16 +286,16 @@ namespace DirectWriteTypeLayout textLayout.SetFontStyle (dwFont->GetStyle(), range); const float fontHeightToEmSizeFactor = getFontHeightToEmSizeFactor (*dwFont); - textLayout.SetFontSize (font->getHeight() * fontHeightToEmSizeFactor, range); + textLayout.SetFontSize (attr.font.getHeight() * fontHeightToEmSizeFactor, range); } - if (const Colour* const colour = attr.getColour()) { + const Colour col (attr.colour); ComSmartPtr d2dBrush; - renderTarget.CreateSolidColorBrush (D2D1::ColorF (colour->getFloatRed(), - colour->getFloatGreen(), - colour->getFloatBlue(), - colour->getFloatAlpha()), + renderTarget.CreateSolidColorBrush (D2D1::ColorF (col.getFloatRed(), + col.getFloatGreen(), + col.getFloatBlue(), + col.getFloatAlpha()), d2dBrush.resetAndGetPointerAddress()); // We need to call SetDrawingEffect with a legimate brush to get DirectWrite to break text based on colours @@ -353,7 +354,7 @@ namespace DirectWriteTypeLayout const int numAttributes = text.getNumAttributes(); for (int i = 0; i < numAttributes; ++i) - addAttributedRange (*text.getAttribute (i), *textLayout, textLen, renderTarget, fontCollection); + addAttributedRange (text.getAttribute (i), *textLayout, textLen, renderTarget, fontCollection); return true; } @@ -419,9 +420,8 @@ static bool canAllTypefacesBeUsedInLayout (const AttributedString& text) const int numCharacterAttributes = text.getNumAttributes(); for (int i = 0; i < numCharacterAttributes; ++i) - if (const Font* const font = text.getAttribute (i)->getFont()) - if (dynamic_cast (font->getTypeface()) == nullptr) - return false; + if (dynamic_cast (text.getAttribute(i).font.getTypeface()) == nullptr) + return false; return true; } diff --git a/modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp b/modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp index 66e4d2e2..d6f785e6 100644 --- a/modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp +++ b/modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp @@ -132,7 +132,7 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Direct2DFactories) }; -//================================================================================================== +//============================================================================== class WindowsDirectWriteTypeface : public Typeface { public: diff --git a/modules/juce_graphics/placement/juce_RectanglePlacement.cpp b/modules/juce_graphics/placement/juce_RectanglePlacement.cpp index c13e505b..1cfed08f 100644 --- a/modules/juce_graphics/placement/juce_RectanglePlacement.cpp +++ b/modules/juce_graphics/placement/juce_RectanglePlacement.cpp @@ -89,7 +89,7 @@ void RectanglePlacement::applyTo (double& x, double& y, double& w, double& h, AffineTransform RectanglePlacement::getTransformToFit (const Rectangle& source, const Rectangle& destination) const noexcept { if (source.isEmpty()) - return AffineTransform::identity; + return AffineTransform(); float newX = destination.getX(); float newY = destination.getY(); diff --git a/modules/juce_gui_basics/buttons/juce_Button.cpp b/modules/juce_gui_basics/buttons/juce_Button.cpp index 89181a34..e33ab267 100644 --- a/modules/juce_gui_basics/buttons/juce_Button.cpp +++ b/modules/juce_gui_basics/buttons/juce_Button.cpp @@ -84,6 +84,7 @@ Button::Button (const String& name) connectedEdgeFlags (0), commandID(), buttonState (buttonNormal), + lastStatePainted (buttonNormal), lastToggleState (false), clickTogglesState (false), needsToRelease (false), @@ -430,6 +431,7 @@ void Button::paint (Graphics& g) } paintButton (g, isOver(), isDown()); + lastStatePainted = buttonState; } //============================================================================== @@ -457,7 +459,12 @@ void Button::mouseUp (const MouseEvent& e) updateState (isMouseOver(), false); if (wasDown && wasOver && ! triggerOnMouseDown) + { + if (lastStatePainted != buttonDown) + flashButtonState(); + internalClickCallback (e.mods); + } } void Button::mouseDrag (const MouseEvent&) diff --git a/modules/juce_gui_basics/buttons/juce_Button.h b/modules/juce_gui_basics/buttons/juce_Button.h index 8704e6c5..39d0d5a7 100644 --- a/modules/juce_gui_basics/buttons/juce_Button.h +++ b/modules/juce_gui_basics/buttons/juce_Button.h @@ -295,7 +295,7 @@ public: E.g. if you are placing two buttons adjacent to each other, you could use this to indicate which edges are touching, and the LookAndFeel might choose to drawn them without rounded corners on the edges that connect. It's only a hint, so the - LookAndFeel can choose to ignore it if it's not relevent for this type of + LookAndFeel can choose to ignore it if it's not relevant for this type of button. */ void setConnectedEdges (int connectedEdgeFlags); @@ -478,7 +478,7 @@ private: int autoRepeatDelay, autoRepeatSpeed, autoRepeatMinimumDelay; int radioGroupId, connectedEdgeFlags; CommandID commandID; - ButtonState buttonState; + ButtonState buttonState, lastStatePainted; Value isOn; bool lastToggleState; diff --git a/modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp b/modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp index f448a1e2..d2da022f 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/buttons/juce_ToggleButton.h b/modules/juce_gui_basics/buttons/juce_ToggleButton.h index 8c10fd0e..291a3202 100644 --- a/modules/juce_gui_basics/buttons/juce_ToggleButton.h +++ b/modules/juce_gui_basics/buttons/juce_ToggleButton.h @@ -69,7 +69,9 @@ public: */ enum ColourIds { - textColourId = 0x1006501 /**< The colour to use for the button's text. */ + textColourId = 0x1006501, /**< The colour to use for the button's text. */ + tickColourId = 0x1006502, /**< The colour to use for the tick mark. */ + tickDisabledColourId = 0x1006503 /**< The colour to use for the disabled tick mark. */ }; protected: diff --git a/modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h b/modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h index 04604f79..23c571b1 100644 --- a/modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h +++ b/modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h @@ -135,7 +135,7 @@ struct JUCE_API ApplicationCommandInfo /** Indicates that the command can't currently be performed. The ApplicationCommandTarget::getCommandInfo() method must set this flag if it's - not currently permissable to perform the command. If the flag is set, then + not currently permissible to perform the command. If the flag is set, then components that trigger the command, e.g. PopupMenu, may choose to grey-out the command or show themselves as not being enabled. diff --git a/modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h b/modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h index b65218da..6870042f 100644 --- a/modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h +++ b/modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h @@ -219,7 +219,7 @@ public: */ bool isCommandActive (const CommandID commandID); - /** If this object is a Component, this method will seach upwards in its current + /** If this object is a Component, this method will search upwards in its current UI hierarchy for the next parent component that implements the ApplicationCommandTarget class. diff --git a/modules/juce_gui_basics/components/juce_Component.cpp b/modules/juce_gui_basics/components/juce_Component.cpp index 925da676..23d7ab1a 100644 --- a/modules/juce_gui_basics/components/juce_Component.cpp +++ b/modules/juce_gui_basics/components/juce_Component.cpp @@ -401,7 +401,7 @@ struct Component::ComponentHelpers static bool clipObscuredRegions (const Component& comp, Graphics& g, const Rectangle clipRect, Point delta) { - bool nothingChanged = true; + bool wasClipped = false; for (int i = comp.childComponentList.size(); --i >= 0;) { @@ -416,19 +416,19 @@ struct Component::ComponentHelpers if (child.isOpaque() && child.componentTransparency == 0) { g.excludeClipRegion (newClip + delta); - nothingChanged = false; + wasClipped = true; } else { const Point childPos (child.getPosition()); if (clipObscuredRegions (child, g, newClip - childPos, childPos + delta)) - nothingChanged = false; + wasClipped = true; } } } } - return nothingChanged; + return wasClipped; } static Rectangle getParentOrMainMonitorBounds (const Component& comp) @@ -438,6 +438,15 @@ struct Component::ComponentHelpers return Desktop::getInstance().getDisplays().getMainDisplay().userArea; } + + static void releaseAllCachedImageResources (Component& c) + { + if (CachedComponentImage* cached = c.getCachedComponentImage()) + cached->releaseResources(); + + for (int i = c.getNumChildComponents(); --i >= 0;) + releaseAllCachedImageResources (*c.getChildComponent (i)); + } }; //============================================================================== @@ -528,8 +537,7 @@ void Component::setVisible (bool shouldBeVisible) if (! shouldBeVisible) { - if (cachedImage != nullptr) - cachedImage->releaseResources(); + ComponentHelpers::releaseAllCachedImageResources (*this); if (currentlyFocusedComponent == this || isParentOf (currentlyFocusedComponent)) { @@ -813,7 +821,7 @@ public: bool invalidateAll() override { validArea.clear(); return true; } bool invalidate (const Rectangle& area) override { validArea.subtract (area); return true; } - void releaseResources() override { image = Image::null; } + void releaseResources() override { image = Image(); } private: Image image; @@ -1359,7 +1367,7 @@ bool Component::isTransformed() const noexcept AffineTransform Component::getTransform() const { - return affineTransform != nullptr ? *affineTransform : AffineTransform::identity; + return affineTransform != nullptr ? *affineTransform : AffineTransform(); } //============================================================================== @@ -1547,8 +1555,7 @@ Component* Component::removeChildComponent (const int index, bool sendParentEven childComponentList.remove (index); child->parentComponent = nullptr; - if (child->cachedImage != nullptr) - child->cachedImage->releaseResources(); + ComponentHelpers::releaseAllCachedImageResources (*child); // (NB: there are obscure situations where child->isShowing() = false, but it still has the focus) if (currentlyFocusedComponent == child || child->isParentOf (currentlyFocusedComponent)) @@ -1721,50 +1728,46 @@ void Component::enterModalState (const bool shouldTakeKeyboardFocus, // thread, you'll need to use a MessageManagerLock object to make sure it's thread-safe. ASSERT_MESSAGE_MANAGER_IS_LOCKED - // Check for an attempt to make a component modal when it already is! - // This can cause nasty problems.. - jassert (! flags.currentlyModalFlag); - if (! isCurrentlyModal()) { - ModalComponentManager* const mcm = ModalComponentManager::getInstance(); - mcm->startModal (this, deleteWhenDismissed); - mcm->attachCallback (this, callback); + ModalComponentManager& mcm = *ModalComponentManager::getInstance(); + mcm.startModal (this, deleteWhenDismissed); + mcm.attachCallback (this, callback); - flags.currentlyModalFlag = true; setVisible (true); if (shouldTakeKeyboardFocus) grabKeyboardFocus(); } + else + { + // Probably a bad idea to try to make a component modal twice! + jassertfalse; + } } void Component::exitModalState (const int returnValue) { - if (flags.currentlyModalFlag) + if (isCurrentlyModal()) { if (MessageManager::getInstance()->isThisTheMessageThread()) { - ModalComponentManager::getInstance()->endModal (this, returnValue); - flags.currentlyModalFlag = false; - - ModalComponentManager::getInstance()->bringModalComponentsToFront(); + ModalComponentManager& mcm = *ModalComponentManager::getInstance(); + mcm.endModal (this, returnValue); + mcm.bringModalComponentsToFront(); } else { - class ExitModalStateMessage : public CallbackMessage + struct ExitModalStateMessage : public CallbackMessage { - public: - ExitModalStateMessage (Component* const c, const int res) - : target (c), result (res) {} + ExitModalStateMessage (Component* c, int res) : target (c), result (res) {} void messageCallback() override { - if (target.get() != nullptr) // (get() required for VS2003 bug) - target->exitModalState (result); + if (Component* c = target) + c->exitModalState (result); } - private: WeakReference target; int result; }; @@ -1776,8 +1779,7 @@ void Component::exitModalState (const int returnValue) bool Component::isCurrentlyModal() const noexcept { - return flags.currentlyModalFlag - && getCurrentlyModalComponent() == this; + return getCurrentlyModalComponent() == this; } bool Component::isCurrentlyBlockedByAnotherModalComponent() const @@ -1966,7 +1968,7 @@ void Component::paintComponentAndChildren (Graphics& g) { g.saveState(); - if (ComponentHelpers::clipObscuredRegions (*this, g, clipBounds, Point()) || ! g.isClipEmpty()) + if (! (ComponentHelpers::clipObscuredRegions (*this, g, clipBounds, Point()) && g.isClipEmpty())) paint (g); g.restoreState(); @@ -2969,14 +2971,18 @@ bool Component::isMouseButtonDown() const return false; } -bool Component::isMouseOverOrDragging() const +bool Component::isMouseOverOrDragging (const bool includeChildren) const { const Array& mouseSources = Desktop::getInstance().getMouseSources(); for (MouseInputSource* mi = mouseSources.begin(), * const e = mouseSources.end(); mi != e; ++mi) - if (mi->getComponentUnderMouse() == this + { + Component* const c = mi->getComponentUnderMouse(); + + if ((c == this || (includeChildren && isParentOf (c))) && (mi->isMouse() || mi->isDragging())) return true; + } return false; } diff --git a/modules/juce_gui_basics/components/juce_Component.h b/modules/juce_gui_basics/components/juce_Component.h index 9ba0fdcb..486066a1 100644 --- a/modules/juce_gui_basics/components/juce_Component.h +++ b/modules/juce_gui_basics/components/juce_Component.h @@ -544,9 +544,8 @@ public: /** Changes the position of the component's centre. - Leaves the position unchanged, but positions its centre relative to its - parent's size. E.g. setCentreRelative (0.5f, 0.5f) would place it centrally in - its parent. + Leaves the size unchanged, but positions its centre relative to its parent's size. + E.g. setCentreRelative (0.5f, 0.5f) would place it centrally in its parent. */ void setCentreRelative (float x, float y); @@ -574,7 +573,7 @@ public: Currently, transforms are not supported for desktop windows, so the transform will be ignored if you put a component on the desktop. - To remove a component's transform, simply pass AffineTransform::identity as the parameter to this method. + To remove a component's transform, simply pass AffineTransform() as the parameter to this method. */ void setTransform (const AffineTransform& transform); @@ -1768,7 +1767,7 @@ public: This is a handy equivalent to (isMouseOver() || isMouseButtonDown()). @see isMouseOver, isMouseButtonDown, isMouseButtonDownAnywhere */ - bool isMouseOverOrDragging() const; + bool isMouseOverOrDragging (bool includeChildren = false) const; /** Returns true if a mouse button is currently down. @@ -2037,7 +2036,7 @@ public: look-and-feel either, it will just return black. The colour IDs for various purposes are stored as enums in the components that - they are relevent to - for an example, see Slider::ColourIds, + they are relevant to - for an example, see Slider::ColourIds, Label::ColourIds, TextEditor::ColourIds, TreeView::ColourIds, etc. @see setColour, isColourSpecified, colourChanged, LookAndFeel::findColour, LookAndFeel::setColour @@ -2277,7 +2276,6 @@ private: bool bufferToImageFlag : 1; bool bringToFrontOnClickFlag : 1; bool repaintOnMouseActivityFlag : 1; - bool currentlyModalFlag : 1; bool isDisabledFlag : 1; bool childCompFocusedFlag : 1; bool dontClipGraphicsFlag : 1; diff --git a/modules/juce_gui_basics/components/juce_Desktop.cpp b/modules/juce_gui_basics/components/juce_Desktop.cpp index 56f818b6..26cc3c9d 100644 --- a/modules/juce_gui_basics/components/juce_Desktop.cpp +++ b/modules/juce_gui_basics/components/juce_Desktop.cpp @@ -386,10 +386,14 @@ void Desktop::setKioskModeComponent (Component* componentToUse, const bool allow //============================================================================== void Desktop::setOrientationsEnabled (const int newOrientations) { - // Dodgy set of flags being passed here! Make sure you specify at least one permitted orientation. - jassert (newOrientations != 0 && (newOrientations & ~allOrientations) == 0); + if (allowedOrientations != newOrientations) + { + // Dodgy set of flags being passed here! Make sure you specify at least one permitted orientation. + jassert (newOrientations != 0 && (newOrientations & ~allOrientations) == 0); - allowedOrientations = newOrientations; + allowedOrientations = newOrientations; + allowedOrientationsChanged(); + } } bool Desktop::isOrientationEnabled (const DisplayOrientation orientation) const noexcept diff --git a/modules/juce_gui_basics/components/juce_Desktop.h b/modules/juce_gui_basics/components/juce_Desktop.h index a31d71e9..427a2478 100644 --- a/modules/juce_gui_basics/components/juce_Desktop.h +++ b/modules/juce_gui_basics/components/juce_Desktop.h @@ -159,7 +159,7 @@ public: If allowMenusAndBars is true, things like the menu and dock (on mac) are still allowed to pop up when the mouse moves onto them. If this is false, it'll try - to hide as much on-screen paraphenalia as possible. + to hide as much on-screen paraphernalia as possible. */ void setKioskModeComponent (Component* componentToUse, bool allowMenusAndBars = true); @@ -394,6 +394,11 @@ public: /** True if the OS supports semitransparent windows */ static bool canUseSemiTransparentWindows() noexcept; + #if JUCE_MAC + /** OSX-specific function to check for the "dark" title-bar and menu mode. */ + static bool isOSXDarkModeActive(); + #endif + private: //============================================================================== static Desktop* instance; @@ -429,6 +434,8 @@ private: bool kioskModeReentrant; int allowedOrientations; + void allowedOrientationsChanged(); + float masterScaleFactor; ComponentAnimator animator; diff --git a/modules/juce_gui_basics/drawables/juce_Drawable.h b/modules/juce_gui_basics/drawables/juce_Drawable.h index f297d9c5..88e6936f 100644 --- a/modules/juce_gui_basics/drawables/juce_Drawable.h +++ b/modules/juce_gui_basics/drawables/juce_Drawable.h @@ -63,7 +63,7 @@ public: @see drawWithin */ void draw (Graphics& g, float opacity, - const AffineTransform& transform = AffineTransform::identity) const; + const AffineTransform& transform = AffineTransform()) const; /** Renders the Drawable at a given offset within the Graphics context. diff --git a/modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp b/modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp index b99c9087..0c0f6737 100644 --- a/modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp +++ b/modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp @@ -148,7 +148,7 @@ void DrawableComposite::recalculateCoordinates (Expression::Scope* scope) content.getX(), content.getBottom(), resolved[2].x, resolved[2].y)); if (t.isSingularity()) - t = AffineTransform::identity; + t = AffineTransform(); setTransform (t); } diff --git a/modules/juce_gui_basics/drawables/juce_DrawableImage.cpp b/modules/juce_gui_basics/drawables/juce_DrawableImage.cpp index 8eb51d26..76836435 100644 --- a/modules/juce_gui_basics/drawables/juce_DrawableImage.cpp +++ b/modules/juce_gui_basics/drawables/juce_DrawableImage.cpp @@ -111,7 +111,7 @@ void DrawableImage::recalculateCoordinates (Expression::Scope* scope) bl.x, bl.y)); if (t.isSingularity()) - t = AffineTransform::identity; + t = AffineTransform(); setTransform (t); } diff --git a/modules/juce_gui_basics/drawables/juce_DrawableShape.cpp b/modules/juce_gui_basics/drawables/juce_DrawableShape.cpp old mode 100644 new mode 100755 index 16aad5eb..0f695229 --- a/modules/juce_gui_basics/drawables/juce_DrawableShape.cpp +++ b/modules/juce_gui_basics/drawables/juce_DrawableShape.cpp @@ -32,6 +32,7 @@ DrawableShape::DrawableShape() DrawableShape::DrawableShape (const DrawableShape& other) : Drawable (other), strokeType (other.strokeType), + dashLengths (other.dashLengths), mainFill (other.mainFill), strokeFill (other.strokeFill) { @@ -132,6 +133,15 @@ void DrawableShape::setStrokeType (const PathStrokeType& newStrokeType) } } +void DrawableShape::setDashLengths (const Array& newDashLengths) +{ + if (dashLengths != newDashLengths) + { + dashLengths = newDashLengths; + strokeChanged(); + } +} + void DrawableShape::setStrokeThickness (const float newThickness) { setStrokeType (PathStrokeType (newThickness, strokeType.getJointStyle(), strokeType.getEndStyle())); @@ -178,7 +188,13 @@ void DrawableShape::pathChanged() void DrawableShape::strokeChanged() { strokePath.clear(); - strokeType.createStrokedPath (strokePath, path, AffineTransform::identity, 4.0f); + const float extraAccuracy = 4.0f; + + if (dashLengths.isEmpty()) + strokeType.createStrokedPath (strokePath, path, AffineTransform(), extraAccuracy); + else + strokeType.createDashedStroke (strokePath, path, dashLengths.getRawDataPointer(), + dashLengths.size(), AffineTransform(), extraAccuracy); setBoundsToEnclose (getDrawableBounds()); repaint(); @@ -224,7 +240,7 @@ DrawableShape::RelativeFillType::RelativeFillType (const FillType& fill_) gradientPoint3 = Point (g.point1.x + g.point2.y - g.point1.y, g.point1.y + g.point1.x - g.point2.x) .transformedBy (fill.transform); - fill.transform = AffineTransform::identity; + fill.transform = AffineTransform(); } } @@ -375,7 +391,7 @@ bool DrawableShape::RelativeFillType::readFrom (const ValueTree& v, ComponentBui if (imageProvider != nullptr) im = imageProvider->getImageForIdentifier (v [FillAndStrokeState::imageId]); - fill.setTiledImage (im, AffineTransform::identity); + fill.setTiledImage (im, AffineTransform()); fill.setOpacity ((float) v.getProperty (FillAndStrokeState::imageOpacity, 1.0f)); return true; } diff --git a/modules/juce_gui_basics/drawables/juce_DrawableShape.h b/modules/juce_gui_basics/drawables/juce_DrawableShape.h old mode 100644 new mode 100755 index 5fa5b3ed..20cbc3cf --- a/modules/juce_gui_basics/drawables/juce_DrawableShape.h +++ b/modules/juce_gui_basics/drawables/juce_DrawableShape.h @@ -122,6 +122,12 @@ public: /** Returns the current outline style. */ const PathStrokeType& getStrokeType() const noexcept { return strokeType; } + /** Provides a set of dash lengths to use for stroking the path. */ + void setDashLengths (const Array& newDashLengths); + + /** Returns the set of dash lengths that the path is using. */ + const Array& getDashLengths() const noexcept { return dashLengths; }; + //============================================================================== /** @internal */ class FillAndStrokeState : public Drawable::ValueTreeWrapperBase @@ -165,6 +171,7 @@ protected: //============================================================================== PathStrokeType strokeType; + Array dashLengths; Path path, strokePath; private: diff --git a/modules/juce_gui_basics/drawables/juce_SVGParser.cpp b/modules/juce_gui_basics/drawables/juce_SVGParser.cpp index 01d48722..d62942ea 100644 --- a/modules/juce_gui_basics/drawables/juce_SVGParser.cpp +++ b/modules/juce_gui_basics/drawables/juce_SVGParser.cpp @@ -42,6 +42,26 @@ public: const XmlElement* operator->() const noexcept { return xml; } XmlPath getChild (const XmlElement* e) const noexcept { return XmlPath (e, this); } + template + bool applyOperationToChildWithID (const String& id, OperationType& op) const + { + forEachXmlChildElement (*xml, e) + { + XmlPath child (e, this); + + if (e->compareAttribute ("id", id)) + { + op (child); + return true; + } + + if (child.applyOperationToChildWithID (id, op)) + return true; + } + + return false; + } + const XmlElement* xml; const XmlPath* parent; }; @@ -364,25 +384,40 @@ private: Drawable* parseSubElement (const XmlPath& xml) { + { + Path path; + if (parsePathElement (xml, path)) + return parseShape (xml, path); + } + const String tag (xml->getTagNameWithoutNamespace()); - if (tag == "g") return parseGroupElement (xml); - if (tag == "svg") return parseSVGElement (xml); - if (tag == "path") return parsePath (xml); - if (tag == "rect") return parseRect (xml); - if (tag == "circle") return parseCircle (xml); - if (tag == "ellipse") return parseEllipse (xml); - if (tag == "line") return parseLine (xml); - if (tag == "polyline") return parsePolygon (xml, true); - if (tag == "polygon") return parsePolygon (xml, false); - if (tag == "text") return parseText (xml, true); - if (tag == "switch") return parseSwitch (xml); - if (tag == "a") return parseLinkElement (xml); - if (tag == "style") parseCSSStyle (xml); + if (tag == "g") return parseGroupElement (xml); + if (tag == "svg") return parseSVGElement (xml); + if (tag == "text") return parseText (xml, true); + if (tag == "switch") return parseSwitch (xml); + if (tag == "a") return parseLinkElement (xml); + if (tag == "style") parseCSSStyle (xml); return nullptr; } + bool parsePathElement (const XmlPath& xml, Path& path) const + { + const String tag (xml->getTagNameWithoutNamespace()); + + if (tag == "path") { parsePath (xml, path); return true; } + if (tag == "rect") { parseRect (xml, path); return true; } + if (tag == "circle") { parseCircle (xml, path); return true; } + if (tag == "ellipse") { parseEllipse (xml, path); return true; } + if (tag == "line") { parseLine (xml, path); return true; } + if (tag == "polyline") { parsePolygon (xml, true, path); return true; } + if (tag == "polygon") { parsePolygon (xml, false, path); return true; } + if (tag == "use") { parseUse (xml, path); return true; } + + return false; + } + DrawableComposite* parseSwitch (const XmlPath& xml) { if (const XmlElement* const group = xml->getChildByName ("g")) @@ -419,21 +454,16 @@ private: } //============================================================================== - Drawable* parsePath (const XmlPath& xml) const + void parsePath (const XmlPath& xml, Path& path) const { - Path path; parsePathString (path, xml->getStringAttribute ("d")); if (getStyleAttribute (xml, "fill-rule").trim().equalsIgnoreCase ("evenodd")) path.setUsingNonZeroWinding (false); - - return parseShape (xml, path); } - Drawable* parseRect (const XmlPath& xml) const + void parseRect (const XmlPath& xml, Path& rect) const { - Path rect; - const bool hasRX = xml->hasAttribute ("rx"); const bool hasRY = xml->hasAttribute ("ry"); @@ -460,41 +490,29 @@ private: getCoordLength (xml, "width", viewBoxW), getCoordLength (xml, "height", viewBoxH)); } - - return parseShape (xml, rect); } - Drawable* parseCircle (const XmlPath& xml) const + void parseCircle (const XmlPath& xml, Path& circle) const { - Path circle; - const float cx = getCoordLength (xml, "cx", viewBoxW); const float cy = getCoordLength (xml, "cy", viewBoxH); const float radius = getCoordLength (xml, "r", viewBoxW); circle.addEllipse (cx - radius, cy - radius, radius * 2.0f, radius * 2.0f); - - return parseShape (xml, circle); } - Drawable* parseEllipse (const XmlPath& xml) const + void parseEllipse (const XmlPath& xml, Path& ellipse) const { - Path ellipse; - const float cx = getCoordLength (xml, "cx", viewBoxW); const float cy = getCoordLength (xml, "cy", viewBoxH); const float radiusX = getCoordLength (xml, "rx", viewBoxW); const float radiusY = getCoordLength (xml, "ry", viewBoxH); ellipse.addEllipse (cx - radiusX, cy - radiusY, radiusX * 2.0f, radiusY * 2.0f); - - return parseShape (xml, ellipse); } - Drawable* parseLine (const XmlPath& xml) const + void parseLine (const XmlPath& xml, Path& line) const { - Path line; - const float x1 = getCoordLength (xml, "x1", viewBoxW); const float y1 = getCoordLength (xml, "y1", viewBoxH); const float x2 = getCoordLength (xml, "x2", viewBoxW); @@ -502,15 +520,12 @@ private: line.startNewSubPath (x1, y1); line.lineTo (x2, y2); - - return parseShape (xml, line); } - Drawable* parsePolygon (const XmlPath& xml, const bool isPolyline) const + void parsePolygon (const XmlPath& xml, const bool isPolyline, Path& path) const { const String pointsAtt (xml->getStringAttribute ("points")); String::CharPointerType points (pointsAtt.getCharPointer()); - Path path; Point p; if (parseCoords (points, p, true)) @@ -528,8 +543,39 @@ private: if ((! isPolyline) || first == last) path.closeSubPath(); } + } + + void parseUse (const XmlPath& xml, Path& path) const + { + const String link (xml->getStringAttribute ("xlink:href")); + + if (link.startsWithChar ('#')) + { + const String linkedID = link.substring (1); + + struct UsePathOp + { + const SVGState* state; + Path* targetPath; - return parseShape (xml, path); + void operator() (const XmlPath& xmlPath) + { + state->parsePathElement (xmlPath, *targetPath); + } + }; + + UsePathOp op = { this, &path }; + topLevelXml.applyOperationToChildWithID (linkedID, op); + } + } + + static String parseURL (const String& str) + { + if (str.startsWithIgnoreCase ("url")) + return str.fromFirstOccurrenceOf ("#", false, false) + .upToLastOccurrenceOf (")", false, false).trim(); + + return String(); } //============================================================================== @@ -570,6 +616,13 @@ private: dp->setStrokeType (getStrokeFor (xml)); } + const String strokeDashArray (getStyleAttribute (xml, "stroke-dasharray")); + + if (strokeDashArray.isNotEmpty()) + parseDashArray (strokeDashArray, *dp); + + parseClipPath (xml, *dp); + return dp; } @@ -582,16 +635,88 @@ private: return false; } - struct SetGradientStopsOp + void parseDashArray (const String& dashList, DrawablePath& dp) const { - const SVGState* state; - ColourGradient* gradient; + if (dashList.equalsIgnoreCase ("null") || dashList.equalsIgnoreCase ("none")) + return; + + Array dashLengths; - void operator() (const XmlPath& xml) + for (String::CharPointerType t = dashList.getCharPointer();;) { - state->addGradientStopsIn (*gradient, xml); + float value; + if (! parseCoord (t, value, true, true)) + break; + + dashLengths.add (value); + + t = t.findEndOfWhitespace(); + + if (*t == ',') + ++t; } - }; + + if (dashLengths.size() > 0) + { + float* const dashes = dashLengths.getRawDataPointer(); + + for (int i = 0; i < dashLengths.size(); ++i) + { + if (dashes[i] <= 0) // SVG uses zero-length dashes to mean a dotted line + { + if (dashLengths.size() == 1) + return; + + const float nonZeroLength = 0.001f; + dashes[i] = nonZeroLength; + + const int pairedIndex = i ^ 1; + + if (isPositiveAndBelow (pairedIndex, dashLengths.size()) + && dashes[pairedIndex] > nonZeroLength) + dashes[pairedIndex] -= nonZeroLength; + } + } + + dp.setDashLengths (dashLengths); + } + } + + void parseClipPath (const XmlPath& xml, Drawable& d) const + { + const String clipPath (getStyleAttribute (xml, "clip-path")); + + if (clipPath.isNotEmpty()) + { + String urlID = parseURL (clipPath); + + if (urlID.isNotEmpty()) + { + struct GetClipPathOp + { + const SVGState* state; + Drawable* target; + + void operator() (const XmlPath& xmlPath) + { + state->applyClipPath (*target, xmlPath); + } + }; + + GetClipPathOp op = { this, &d }; + topLevelXml.applyOperationToChildWithID (urlID, op); + } + } + } + + void applyClipPath (Drawable& target, const XmlPath& xmlPath) const + { + if (xmlPath->hasTagNameIgnoringNamespace ("clipPath")) + { + // TODO: implement clipping.. + ignoreUnused (target); + } + } void addGradientStopsIn (ColourGradient& cg, const XmlPath& fillXml) const { @@ -626,8 +751,19 @@ private: if (id.startsWithChar ('#')) { + struct SetGradientStopsOp + { + const SVGState* state; + ColourGradient* gradient; + + void operator() (const XmlPath& xml) + { + state->addGradientStopsIn (*gradient, xml); + } + }; + SetGradientStopsOp op = { this, &gradient, }; - findElementForId (topLevelXml, id.substring (1), op); + topLevelXml.applyOperationToChildWithID (id.substring (1), op); } } @@ -736,21 +872,6 @@ private: return type; } - struct GetFillTypeOp - { - const SVGState* state; - FillType* dest; - const Path* path; - float opacity; - - void operator() (const XmlPath& xml) - { - if (xml->hasTagNameIgnoringNamespace ("linearGradient") - || xml->hasTagNameIgnoringNamespace ("radialGradient")) - *dest = state->getGradientFillType (xml, *path, opacity); - } - }; - FillType getPathFillType (const Path& path, const String& fill, const String& fillOpacity, @@ -765,16 +886,29 @@ private: if (fillOpacity.isNotEmpty()) opacity *= (jlimit (0.0f, 1.0f, fillOpacity.getFloatValue())); - if (fill.startsWithIgnoreCase ("url")) + String urlID = parseURL (fill); + + if (urlID.isNotEmpty()) { - const String id (fill.fromFirstOccurrenceOf ("#", false, false) - .upToLastOccurrenceOf (")", false, false).trim()); + struct GetFillTypeOp + { + const SVGState* state; + const Path* path; + float opacity; + FillType fillType; + + void operator() (const XmlPath& xml) + { + if (xml->hasTagNameIgnoringNamespace ("linearGradient") + || xml->hasTagNameIgnoringNamespace ("radialGradient")) + fillType = state->getGradientFillType (xml, *path, opacity); + } + }; - FillType result; - GetFillTypeOp op = { this, &result, &path, opacity }; + GetFillTypeOp op = { this, &path, opacity, FillType() }; - if (findElementForId (topLevelXml, id, op)) - return result; + if (topLevelXml.applyOperationToChildWithID (urlID, op)) + return op.fillType; } if (fill.equalsIgnoreCase ("none")) @@ -1337,24 +1471,6 @@ private: deltaAngle = fmod (deltaAngle, double_Pi * 2.0); } - template - static bool findElementForId (const XmlPath& parent, const String& id, OperationType& op) - { - forEachXmlChildElement (*parent, e) - { - if (e->compareAttribute ("id", id)) - { - op (parent.getChild (e)); - return true; - } - - if (findElementForId (parent.getChild (e), id, op)) - return true; - } - - return false; - } - SVGState& operator= (const SVGState&) JUCE_DELETED_FUNCTION; }; diff --git a/modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp b/modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp index d7c0feb3..afe498a2 100644 --- a/modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp +++ b/modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp @@ -33,7 +33,7 @@ FileBrowserComponent::FileBrowserComponent (int flags_, currentPathBox ("path"), fileLabel ("f", TRANS ("file:")), thread ("Juce FileBrowser"), - wasProcessActive (false) + wasProcessActive (true) { // You need to specify one or other of the open/save flags.. jassert ((flags & (saveMode | openMode)) != 0); diff --git a/modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h b/modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h index 284ee95b..b4431fbd 100644 --- a/modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h +++ b/modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h @@ -59,7 +59,7 @@ public: canSelectFiles = 4, /**< specifies that the user can select files (can be used in conjunction with canSelectDirectories). */ canSelectDirectories = 8, /**< specifies that the user can select directories (can be used in - conjuction with canSelectFiles). */ + conjunction with canSelectFiles). */ canSelectMultipleItems = 16, /**< specifies that the user can select multiple items. */ useTreeView = 32, /**< specifies that a tree-view should be shown instead of a file list. */ filenameBoxIsReadOnly = 64, /**< specifies that the user can't type directly into the filename box. */ diff --git a/modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp b/modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp index 40c6108c..97c3f325 100644 --- a/modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp +++ b/modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp @@ -25,11 +25,13 @@ FileChooser::FileChooser (const String& chooserBoxTitle, const File& currentFileOrDirectory, const String& fileFilters, - const bool useNativeBox) + const bool useNativeBox, + const bool treatFilePackagesAsDirectories) : title (chooserBoxTitle), filters (fileFilters), startingFile (currentFileOrDirectory), - useNativeDialogBox (useNativeBox && isPlatformDialogAvailable()) + useNativeDialogBox (useNativeBox && isPlatformDialogAvailable()), + treatFilePackagesAsDirs (treatFilePackagesAsDirectories) { if (! fileFilters.containsNonWhitespaceChars()) filters = "*"; @@ -106,7 +108,8 @@ bool FileChooser::showDialog (const int flags, FilePreviewComponent* const previ { showPlatformDialog (results, title, startingFile, filters, selectsDirectories, selectsFiles, isSave, - warnAboutOverwrite, selectMultiple, previewComp); + warnAboutOverwrite, selectMultiple, treatFilePackagesAsDirs, + previewComp); } else { diff --git a/modules/juce_gui_basics/filebrowser/juce_FileChooser.h b/modules/juce_gui_basics/filebrowser/juce_FileChooser.h index 4dc44b3d..f7399751 100644 --- a/modules/juce_gui_basics/filebrowser/juce_FileChooser.h +++ b/modules/juce_gui_basics/filebrowser/juce_FileChooser.h @@ -60,25 +60,32 @@ public: After creating one of these, use one of the browseFor... methods to display it. - @param dialogBoxTitle a text string to display in the dialog box to - tell the user what's going on - @param initialFileOrDirectory the file or directory that should be selected when - the dialog box opens. If this parameter is set to - File::nonexistent, a sensible default directory - will be used instead. - @param filePatternsAllowed a set of file patterns to specify which files can be - selected - each pattern should be separated by a - comma or semi-colon, e.g. "*" or "*.jpg;*.gif". An - empty string means that all files are allowed - @param useOSNativeDialogBox if true, then a native dialog box will be used if - possible; if false, then a Juce-based browser dialog - box will always be used + @param dialogBoxTitle a text string to display in the dialog box to + tell the user what's going on + @param initialFileOrDirectory the file or directory that should be selected + when the dialog box opens. If this parameter is + set to File::nonexistent, a sensible default + directory will be used instead. + @param filePatternsAllowed a set of file patterns to specify which files + can be selected - each pattern should be + separated by a comma or semi-colon, e.g. "*" or + "*.jpg;*.gif". An empty string means that all + files are allowed + @param useOSNativeDialogBox if true, then a native dialog box will be used + if possible; if false, then a Juce-based + browser dialog box will always be used + @param treatFilePackagesAsDirectories if true, then the file chooser will allow the + selection of files inside packages when + invoked on OS X and when using native dialog + boxes. + @see browseForFileToOpen, browseForFileToSave, browseForDirectory */ FileChooser (const String& dialogBoxTitle, const File& initialFileOrDirectory = File::nonexistent, const String& filePatternsAllowed = String::empty, - bool useOSNativeDialogBox = true); + bool useOSNativeDialogBox = true, + bool treatFilePackagesAsDirectories = false); /** Destructor. */ ~FileChooser(); @@ -183,11 +190,12 @@ private: const File startingFile; Array results; const bool useNativeDialogBox; + const bool treatFilePackagesAsDirs; static void showPlatformDialog (Array& results, const String& title, const File& file, const String& filters, bool selectsDirectories, bool selectsFiles, bool isSave, bool warnAboutOverwritingExistingFiles, bool selectMultipleFiles, - FilePreviewComponent* previewComponent); + bool treatFilePackagesAsDirs, FilePreviewComponent* previewComponent); static bool isPlatformDialogAvailable(); JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FileChooser) diff --git a/modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp b/modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp index f75e80e6..d12dd41a 100644 --- a/modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp +++ b/modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp @@ -153,7 +153,7 @@ public: file = newFile; fileSize = newFileSize; modTime = newModTime; - icon = Image::null; + icon = Image(); isDirectory = fileInfo != nullptr && fileInfo->isDirectory; repaint(); diff --git a/modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp b/modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp index 2adaa9a5..3239085f 100644 --- a/modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp +++ b/modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp @@ -153,7 +153,7 @@ void FileSearchPathListComponent::returnKeyPressed (int row) changed(); } #else - (void) row; + ignoreUnused (row); #endif } diff --git a/modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp b/modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp index d6790897..1b6265a5 100644 --- a/modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp +++ b/modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp @@ -57,7 +57,7 @@ void ImagePreviewComponent::timerCallback() { stopTimer(); - currentThumbnail = Image::null; + currentThumbnail = Image(); currentDetails.clear(); repaint(); diff --git a/modules/juce_gui_basics/juce_gui_basics.cpp b/modules/juce_gui_basics/juce_gui_basics.cpp index 8f240494..462d8f8e 100644 --- a/modules/juce_gui_basics/juce_gui_basics.cpp +++ b/modules/juce_gui_basics/juce_gui_basics.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_GUI_BASICS_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_GUI_BASICS_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,18 +31,16 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" - #define NS_FORMAT_FUNCTION(F,A) // To avoid spurious warnings from GCC -#include "../juce_core/native/juce_BasicNativeHeaders.h" -#include "juce_gui_basics.h" +#define JUCE_CORE_INCLUDE_OBJC_HELPERS 1 +#define JUCE_CORE_INCLUDE_COM_SMART_PTR 1 +#define JUCE_CORE_INCLUDE_JNI_HELPERS 1 +#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1 +#define JUCE_EVENTS_INCLUDE_WIN32_MESSAGE_WINDOW 1 +#define JUCE_GRAPHICS_INCLUDE_COREGRAPHICS_HELPERS 1 -#if JUCE_MODULE_AVAILABLE_juce_opengl - #include "../juce_opengl/juce_opengl.h" -#endif +#include "juce_gui_basics.h" //============================================================================== #if JUCE_MAC @@ -50,11 +48,7 @@ #import #if JUCE_SUPPORT_CARBON - #define Point CarbonDummyPointName - #define Component CarbonDummyCompName #import // still needed for SetSystemUIMode() - #undef Point - #undef Component #endif //============================================================================== @@ -264,9 +258,6 @@ extern bool juce_areThereAnyAlwaysOnTopWindows(); #endif #if JUCE_MAC || JUCE_IOS - #include "../juce_core/native/juce_osx_ObjCHelpers.h" - #include "../juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" - #include "../juce_graphics/native/juce_mac_CoreGraphicsContext.h" #if JUCE_IOS #include "native/juce_ios_UIViewComponentPeer.mm" @@ -281,8 +272,6 @@ extern bool juce_areThereAnyAlwaysOnTopWindows(); #include "native/juce_mac_FileChooser.mm" #elif JUCE_WINDOWS - #include "../juce_core/native/juce_win32_ComSmartPtr.h" - #include "../juce_events/native/juce_win32_HiddenMessageWindow.h" #include "native/juce_win32_Windowing.cpp" #include "native/juce_win32_DragAndDrop.cpp" #include "native/juce_win32_FileChooser.cpp" @@ -293,7 +282,6 @@ extern bool juce_areThereAnyAlwaysOnTopWindows(); #include "native/juce_linux_FileChooser.cpp" #elif JUCE_ANDROID - #include "../juce_core/native/juce_android_JNIHelpers.h" #include "native/juce_android_Windowing.cpp" #include "native/juce_android_FileChooser.cpp" diff --git a/modules/juce_gui_basics/juce_gui_basics.h b/modules/juce_gui_basics/juce_gui_basics.h index e34640ec..c2ad325f 100644 --- a/modules/juce_gui_basics/juce_gui_basics.h +++ b/modules/juce_gui_basics/juce_gui_basics.h @@ -22,13 +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_gui_basics + vendor: juce + version: 4.2.1 + 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 If this option is turned on, each area of the screen that gets repainted will flash in a random colour, so that you can see exactly which bits of your @@ -80,7 +107,7 @@ #define JUCE_USE_XCURSOR 1 #endif -//============================================================================= +//============================================================================== namespace juce { diff --git a/modules/juce_gui_basics/juce_module_info b/modules/juce_gui_basics/juce_module_info deleted file mode 100644 index 470b629c..00000000 --- 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/layout/juce_AnimatedPositionBehaviours.h b/modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h index 6eca4a4c..fafdeaa9 100644 --- a/modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h +++ b/modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h @@ -145,7 +145,7 @@ namespace AnimatedPositionBehaviours private: double targetSnapPosition; }; -}; +} #endif // JUCE_ANIMATEDPOSITIONBEHAVIOURS_H_INCLUDED diff --git a/modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp b/modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp index da2e247b..157d9e5e 100644 --- a/modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp +++ b/modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp @@ -88,7 +88,7 @@ namespace ComponentBuilderHelpers } } -//============================================================================= +//============================================================================== const Identifier ComponentBuilder::idProperty ("id"); ComponentBuilder::ComponentBuilder() diff --git a/modules/juce_gui_basics/layout/juce_ComponentBuilder.h b/modules/juce_gui_basics/layout/juce_ComponentBuilder.h index e87fe80c..0b586840 100644 --- a/modules/juce_gui_basics/layout/juce_ComponentBuilder.h +++ b/modules/juce_gui_basics/layout/juce_ComponentBuilder.h @@ -167,7 +167,7 @@ public: /** Registers handlers for various standard juce components. */ void registerStandardComponentTypes(); - //============================================================================= + //============================================================================== /** This class is used when references to images need to be stored in ValueTrees. An instance of an ImageProvider provides a mechanism for converting an Image to/from @@ -213,7 +213,7 @@ public: /** Returns the current image provider that this builder is using, or nullptr if none has been set. */ ImageProvider* getImageProvider() const noexcept; - //============================================================================= + //============================================================================== /** Updates the children of a parent component by updating them from the children of a given ValueTree. */ @@ -225,7 +225,7 @@ public: static const Identifier idProperty; private: - //============================================================================= + //============================================================================== OwnedArray types; ScopedPointer component; ImageProvider* imageProvider; diff --git a/modules/juce_gui_basics/layout/juce_Viewport.cpp b/modules/juce_gui_basics/layout/juce_Viewport.cpp index 909eb2c2..bc8a8c92 100644 --- a/modules/juce_gui_basics/layout/juce_Viewport.cpp +++ b/modules/juce_gui_basics/layout/juce_Viewport.cpp @@ -54,7 +54,8 @@ Viewport::Viewport (const String& name) Viewport::~Viewport() { - deleteContentComp(); + setScrollOnDragEnabled (false); + deleteOrRemoveContentComp(); } //============================================================================== @@ -62,20 +63,24 @@ void Viewport::visibleAreaChanged (const Rectangle&) {} void Viewport::viewedComponentChanged (Component*) {} //============================================================================== -void Viewport::deleteContentComp() +void Viewport::deleteOrRemoveContentComp() { if (contentComp != nullptr) + { contentComp->removeComponentListener (this); - if (deleteContent) - { - // This sets the content comp to a null pointer before deleting the old one, in case - // anything tries to use the old one while it's in mid-deletion.. - ScopedPointer oldCompDeleter (contentComp); - } - else - { - contentComp = nullptr; + if (deleteContent) + { + // This sets the content comp to a null pointer before deleting the old one, in case + // anything tries to use the old one while it's in mid-deletion.. + ScopedPointer oldCompDeleter (contentComp); + contentComp = nullptr; + } + else + { + contentHolder.removeChildComponent (contentComp); + contentComp = nullptr; + } } } @@ -83,7 +88,7 @@ void Viewport::setViewedComponent (Component* const newViewedComponent, const bo { if (contentComp.get() != newViewedComponent) { - deleteContentComp(); + deleteOrRemoveContentComp(); contentComp = newViewedComponent; deleteContent = deleteComponentWhenNoLongerNeeded; @@ -176,10 +181,111 @@ void Viewport::componentMovedOrResized (Component&, bool, bool) updateVisibleArea(); } +//============================================================================== +typedef AnimatedPosition ViewportDragPosition; + +struct Viewport::DragToScrollListener : private MouseListener, + private ViewportDragPosition::Listener +{ + DragToScrollListener (Viewport& v) + : viewport (v), numTouches (0), isDragging (false) + { + viewport.contentHolder.addMouseListener (this, true); + offsetX.addListener (this); + offsetY.addListener (this); + } + + ~DragToScrollListener() + { + viewport.contentHolder.removeMouseListener (this); + } + + void positionChanged (ViewportDragPosition&, double) override + { + viewport.setViewPosition (originalViewPos - Point ((int) offsetX.getPosition(), + (int) offsetY.getPosition())); + } + + void mouseDown (const MouseEvent&) override + { + ++numTouches; + } + + void mouseDrag (const MouseEvent& e) override + { + if (numTouches == 1) + { + Point totalOffset = e.getOffsetFromDragStart().toFloat(); + + if (! isDragging && totalOffset.getDistanceFromOrigin() > 8.0f) + { + isDragging = true; + + originalViewPos = viewport.getViewPosition(); + offsetX.setPosition (0.0); + offsetX.beginDrag(); + offsetY.setPosition (0.0); + offsetY.beginDrag(); + } + + if (isDragging) + { + offsetX.drag (totalOffset.x); + offsetY.drag (totalOffset.y); + } + } + } + + void mouseUp (const MouseEvent&) override + { + if (--numTouches == 0) + { + offsetX.endDrag(); + offsetY.endDrag(); + isDragging = false; + } + + jassert (numTouches >= 0); + } + + Viewport& viewport; + ViewportDragPosition offsetX, offsetY; + Point originalViewPos; + int numTouches; + bool isDragging; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DragToScrollListener) +}; + +void Viewport::setScrollOnDragEnabled (bool shouldScrollOnDrag) +{ + if (isScrollOnDragEnabled() != shouldScrollOnDrag) + { + if (shouldScrollOnDrag) + dragToScrollListener = new DragToScrollListener (*this); + else + dragToScrollListener = nullptr; + } +} + +bool Viewport::isScrollOnDragEnabled() const noexcept +{ + return dragToScrollListener != nullptr; +} + +bool Viewport::isCurrentlyScrollingOnDrag() const noexcept +{ + return dragToScrollListener != nullptr && dragToScrollListener->isDragging; +} + +//============================================================================== void Viewport::lookAndFeelChanged() { if (! customScrollBarThickness) + { scrollBarThickness = getLookAndFeel().getDefaultScrollbarWidth(); + resized(); + } } void Viewport::resized() diff --git a/modules/juce_gui_basics/layout/juce_Viewport.h b/modules/juce_gui_basics/layout/juce_Viewport.h index 9873c4cc..fe3d5fb4 100644 --- a/modules/juce_gui_basics/layout/juce_Viewport.h +++ b/modules/juce_gui_basics/layout/juce_Viewport.h @@ -241,6 +241,17 @@ public: ScrollBar* getHorizontalScrollBar() noexcept { return &horizontalScrollBar; } + /** Enables or disables drag-to-scroll functionality in the viewport. */ + void setScrollOnDragEnabled (bool shouldScrollOnDrag); + + /** Returns true if drag-to-scroll functionality is enabled. */ + bool isScrollOnDragEnabled() const noexcept; + + /** Returns true if the user is currently dragging-to-scroll. + @see setScrollOnDragEnabled + */ + bool isCurrentlyScrollingOnDrag() const noexcept; + //============================================================================== /** @internal */ void resized() override; @@ -271,10 +282,15 @@ private: Component contentHolder; ScrollBar verticalScrollBar, horizontalScrollBar; + struct DragToScrollListener; + friend struct DragToScrollListener; + friend struct ContainerDeletePolicy; + ScopedPointer dragToScrollListener; + Point viewportPosToCompPos (Point) const; void updateVisibleArea(); - void deleteContentComp(); + void deleteOrRemoveContentComp(); #if JUCE_CATCH_DEPRECATED_CODE_MISUSE // If you get an error here, it's because this method's parameters have changed! See the new definition above.. diff --git a/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h b/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h index 3de56b30..8332a9ab 100644 --- a/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h +++ b/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h @@ -133,7 +133,7 @@ public: returned. If none has been set, it will just return Colours::black. The colour IDs for various purposes are stored as enums in the components that - they are relevent to - for an example, see Slider::ColourIds, + they are relevant to - for an example, see Slider::ColourIds, Label::ColourIds, TextEditor::ColourIds, TreeView::ColourIds, etc. If you're looking up a colour for use in drawing a component, it's usually diff --git a/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp b/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp index af92bd81..a7d2d0bb 100644 --- a/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp +++ b/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp @@ -69,6 +69,8 @@ LookAndFeel_V2::LookAndFeel_V2() TextButton::textColourOffId, 0xff000000, ToggleButton::textColourId, 0xff000000, + ToggleButton::tickColourId, 0xff000000, + ToggleButton::tickDisabledColourId, 0xff808080, TextEditor::backgroundColourId, 0xffffffff, TextEditor::textColourId, 0xff000000, @@ -265,13 +267,12 @@ void LookAndFeel_V2::drawButtonText (Graphics& g, TextButton& button, bool /*isM const int fontHeight = roundToInt (font.getHeight() * 0.6f); const int leftIndent = jmin (fontHeight, 2 + cornerSize / (button.isConnectedOnLeft() ? 4 : 2)); const int rightIndent = jmin (fontHeight, 2 + cornerSize / (button.isConnectedOnRight() ? 4 : 2)); + const int textWidth = button.getWidth() - leftIndent - rightIndent; - g.drawFittedText (button.getButtonText(), - leftIndent, - yIndent, - button.getWidth() - leftIndent - rightIndent, - button.getHeight() - yIndent * 2, - Justification::centred, 2); + if (textWidth > 0) + g.drawFittedText (button.getButtonText(), + leftIndent, yIndent, textWidth, button.getHeight() - yIndent * 2, + Justification::centred, 2); } void LookAndFeel_V2::drawTickBox (Graphics& g, Component& component, @@ -296,10 +297,11 @@ void LookAndFeel_V2::drawTickBox (Graphics& g, Component& component, tick.lineTo (3.0f, 6.0f); tick.lineTo (6.0f, 0.0f); - g.setColour (isEnabled ? Colours::black : Colours::grey); + g.setColour (component.findColour (isEnabled ? ToggleButton::tickColourId + : ToggleButton::tickDisabledColourId)); const AffineTransform trans (AffineTransform::scale (w / 9.0f, h / 9.0f) - .translated (x, y)); + .translated (x, y)); g.strokePath (tick, PathStrokeType (2.5f), trans); } diff --git a/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp b/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp index 3e8e135c..e81b1b0a 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)); @@ -457,7 +458,7 @@ void LookAndFeel_V3::drawLinearSliderBackground (Graphics& g, int x, int y, int void LookAndFeel_V3::drawPopupMenuBackground (Graphics& g, int width, int height) { g.fillAll (findColour (PopupMenu::backgroundColourId)); - (void) width; (void) height; + ignoreUnused (width, height); #if ! JUCE_MAC g.setColour (findColour (PopupMenu::textColourId).withAlpha (0.6f)); diff --git a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp index 3848e4e1..04e437be 100644 --- a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp +++ b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp @@ -22,120 +22,67 @@ ============================================================================== */ -//============================================================================== namespace PopupMenuSettings { const int scrollZone = 24; const int borderSize = 2; - const int timerInterval = 50; const int dismissCommandId = 0x6287345f; - const int sectionHeaderID = 0x4734a34f; static bool menuWasHiddenBecauseOfAppChange = false; } -class PopupMenu::Item +//============================================================================== +struct PopupMenu::HelperClasses { -public: - Item() : itemID (0), isActive (true), isSeparator (true), isTicked (false), - usesColour (false), commandManager (nullptr) - {} - - Item (const int itemId, - const String& name, - const bool active, - const bool ticked, - Drawable* drawable, - const Colour colour, - const bool useColour, - CustomComponent* const custom, - const PopupMenu* const sub, - ApplicationCommandManager* const manager) - - : itemID (itemId), text (name), textColour (colour), - isActive (active), isSeparator (false), isTicked (ticked), - usesColour (useColour), iconDrawable (drawable), - customComp (custom), subMenu (createCopyIfNotNull (sub)), commandManager (manager) - { - if (commandManager != nullptr && itemID != 0) - { - String shortcutKey; - - const Array keyPresses (commandManager->getKeyMappings() - ->getKeyPressesAssignedToCommand (itemID)); - for (int i = 0; i < keyPresses.size(); ++i) - { - const String key (keyPresses.getReference(i).getTextDescriptionWithIcons()); - - if (shortcutKey.isNotEmpty()) - shortcutKey << ", "; - - if (key.length() == 1 && key[0] < 128) - shortcutKey << "shortcut: '" << key << '\''; - else - shortcutKey << key; - } +class MouseSourceState; +class MenuWindow; - shortcutKey = shortcutKey.trim(); +static bool canBeTriggered (const PopupMenu::Item& item) noexcept { return item.isEnabled && item.itemID != 0 && ! item.isSectionHeader; } +static bool hasActiveSubMenu (const PopupMenu::Item& item) noexcept { return item.isEnabled && item.subMenu != nullptr && item.subMenu->items.size() > 0; } +static const Colour* getColour (const PopupMenu::Item& item) noexcept { return item.colour != Colour (0x00000000) ? &item.colour : nullptr; } +static bool hasSubMenu (const PopupMenu::Item& item) noexcept { return item.subMenu != nullptr && (item.itemID == 0 || item.subMenu->getNumItems() > 0); } - if (shortcutKey.isNotEmpty()) - text << "" << shortcutKey; - } +//============================================================================== +struct HeaderItemComponent : public PopupMenu::CustomComponent +{ + HeaderItemComponent (const String& name) : PopupMenu::CustomComponent (false) + { + setName (name); } - Item (const Item& other) - : itemID (other.itemID), - text (other.text), - textColour (other.textColour), - isActive (other.isActive), - isSeparator (other.isSeparator), - isTicked (other.isTicked), - usesColour (other.usesColour), - iconDrawable (other.iconDrawable != nullptr ? other.iconDrawable->createCopy() : nullptr), - customComp (other.customComp), - subMenu (createCopyIfNotNull (other.subMenu.get())), - commandManager (other.commandManager) - {} - - bool canBeTriggered() const noexcept { return isActive && itemID != 0 && itemID != PopupMenuSettings::sectionHeaderID; } - bool hasActiveSubMenu() const noexcept { return isActive && subMenu != nullptr && subMenu->items.size() > 0; } - - //============================================================================== - const int itemID; - String text; - const Colour textColour; - const bool isActive, isSeparator, isTicked, usesColour; - ScopedPointer iconDrawable; - ReferenceCountedObjectPtr customComp; - ScopedPointer subMenu; - ApplicationCommandManager* const commandManager; + void paint (Graphics& g) override + { + getLookAndFeel().drawPopupMenuSectionHeader (g, getLocalBounds(), getName()); + } -private: - Item& operator= (const Item&); + void getIdealSize (int& idealWidth, int& idealHeight) override + { + getLookAndFeel().getIdealPopupMenuItemSize (getName(), false, -1, idealWidth, idealHeight); + idealHeight += idealHeight / 2; + idealWidth += idealWidth / 4; + } - JUCE_LEAK_DETECTOR (Item) + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (HeaderItemComponent) }; - //============================================================================== -struct PopupMenu::HelperClasses +struct ItemComponent : public Component { - -class MouseSourceState; -class MenuWindow; - -//============================================================================== -class ItemComponent : public Component -{ -public: - ItemComponent (const PopupMenu::Item& info, int standardItemHeight, MenuWindow& parent) - : itemInfo (info), + ItemComponent (const PopupMenu::Item& i, int standardItemHeight, MenuWindow& parent) + : item (i), + customComp (i.customComponent), isHighlighted (false) { - addAndMakeVisible (itemInfo.customComp); + if (item.isSectionHeader) + customComp = new HeaderItemComponent (item.text); + + addAndMakeVisible (customComp); + parent.addAndMakeVisible (this); + updateShortcutKeyDescription(); + int itemW = 80; int itemH = 16; getIdealSize (itemW, itemH, standardItemHeight); @@ -146,45 +93,33 @@ public: ~ItemComponent() { - removeChildComponent (itemInfo.customComp); + removeChildComponent (customComp); } void getIdealSize (int& idealWidth, int& idealHeight, const int standardItemHeight) { - if (itemInfo.customComp != nullptr) - itemInfo.customComp->getIdealSize (idealWidth, idealHeight); + if (customComp != nullptr) + customComp->getIdealSize (idealWidth, idealHeight); else - getLookAndFeel().getIdealPopupMenuItemSize (itemInfo.text, - itemInfo.isSeparator, + getLookAndFeel().getIdealPopupMenuItemSize (getTextForMeasurement(), + item.isSeparator, standardItemHeight, idealWidth, idealHeight); } void paint (Graphics& g) override { - if (itemInfo.customComp == nullptr) - { - String mainText (itemInfo.text); - String endText; - const int endIndex = mainText.indexOf (""); - - if (endIndex >= 0) - { - endText = mainText.substring (endIndex + 5).trim(); - mainText = mainText.substring (0, endIndex); - } - - getLookAndFeel() - .drawPopupMenuItem (g, getLocalBounds(), - itemInfo.isSeparator, - itemInfo.isActive, - isHighlighted, - itemInfo.isTicked, - itemInfo.subMenu != nullptr && (itemInfo.itemID == 0 || itemInfo.subMenu->getNumItems() > 0), - mainText, endText, - itemInfo.iconDrawable, - itemInfo.usesColour ? &(itemInfo.textColour) : nullptr); - } + if (customComp == nullptr) + getLookAndFeel().drawPopupMenuItem (g, getLocalBounds(), + item.isSeparator, + item.isEnabled, + isHighlighted, + item.isTicked, + hasSubMenu (item), + item.text, + item.shortcutKeyDescription, + item.image, + getColour (item)); } void resized() override @@ -195,24 +130,57 @@ public: void setHighlighted (bool shouldBeHighlighted) { - shouldBeHighlighted = shouldBeHighlighted && itemInfo.isActive; + shouldBeHighlighted = shouldBeHighlighted && item.isEnabled; if (isHighlighted != shouldBeHighlighted) { isHighlighted = shouldBeHighlighted; - if (itemInfo.customComp != nullptr) - itemInfo.customComp->setHighlighted (shouldBeHighlighted); + if (customComp != nullptr) + customComp->setHighlighted (shouldBeHighlighted); repaint(); } } - PopupMenu::Item itemInfo; + PopupMenu::Item item; private: + // NB: we use a copy of the one from the item info in case we're using our own section comp + ReferenceCountedObjectPtr customComp; bool isHighlighted; + void updateShortcutKeyDescription() + { + if (item.commandManager != nullptr && item.itemID != 0) + { + String shortcutKey; + const Array keyPresses (item.commandManager->getKeyMappings() + ->getKeyPressesAssignedToCommand (item.itemID)); + + for (int i = 0; i < keyPresses.size(); ++i) + { + const String key (keyPresses.getReference(i).getTextDescriptionWithIcons()); + + if (shortcutKey.isNotEmpty()) + shortcutKey << ", "; + + if (key.length() == 1 && key[0] < 128) + shortcutKey << "shortcut: '" << key << '\''; + else + shortcutKey << key; + } + + item.shortcutKeyDescription = shortcutKey.trim(); + } + } + + String getTextForMeasurement() const + { + return item.shortcutKeyDescription.isNotEmpty() ? item.text + " " + item.shortcutKeyDescription + : item.text; + } + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ItemComponent) }; @@ -248,7 +216,7 @@ public: setAlwaysOnTop (true); setLookAndFeel (parent != nullptr ? &(parent->getLookAndFeel()) - : menu.lookAndFeel); + : menu.lookAndFeel.get()); setOpaque (getLookAndFeel().findColour (PopupMenu::backgroundColourId).isOpaque() || ! Desktop::canUseSemiTransparentWindows()); @@ -439,7 +407,7 @@ public: { // we want to dismiss the menu, but if we do it synchronously, then // the mouse-click will be allowed to pass through. That's good, except - // when the user clicks on the button that orginally popped the menu up, + // when the user clicks on the button that originally popped the menu up, // as they'll expect the menu to go away, and in fact it'll just // come back. So only dismiss synchronously if they're not on the original // comp that we're attached to. @@ -744,43 +712,43 @@ public: for (int i = items.size(); --i >= 0;) { - ItemComponent* const m = items.getUnchecked(i); - - if (m != nullptr - && m->itemInfo.itemID == itemID - && windowPos.getHeight() > PopupMenuSettings::scrollZone * 4) + if (ItemComponent* const m = items.getUnchecked(i)) { - const int currentY = m->getY(); - - if (wantedY > 0 || currentY < 0 || m->getBottom() > windowPos.getHeight()) + if (m->item.itemID == itemID + && windowPos.getHeight() > PopupMenuSettings::scrollZone * 4) { - if (wantedY < 0) - wantedY = jlimit (PopupMenuSettings::scrollZone, - jmax (PopupMenuSettings::scrollZone, - windowPos.getHeight() - (PopupMenuSettings::scrollZone + m->getHeight())), - currentY); + const int currentY = m->getY(); - const Rectangle mon (Desktop::getInstance().getDisplays() - .getDisplayContaining (windowPos.getPosition()).userArea); + if (wantedY > 0 || currentY < 0 || m->getBottom() > windowPos.getHeight()) + { + if (wantedY < 0) + wantedY = jlimit (PopupMenuSettings::scrollZone, + jmax (PopupMenuSettings::scrollZone, + windowPos.getHeight() - (PopupMenuSettings::scrollZone + m->getHeight())), + currentY); - int deltaY = wantedY - currentY; + const Rectangle mon (Desktop::getInstance().getDisplays() + .getDisplayContaining (windowPos.getPosition()).userArea); - windowPos.setSize (jmin (windowPos.getWidth(), mon.getWidth()), - jmin (windowPos.getHeight(), mon.getHeight())); + int deltaY = wantedY - currentY; - const int newY = jlimit (mon.getY(), - mon.getBottom() - windowPos.getHeight(), - windowPos.getY() + deltaY); + windowPos.setSize (jmin (windowPos.getWidth(), mon.getWidth()), + jmin (windowPos.getHeight(), mon.getHeight())); - deltaY -= newY - windowPos.getY(); + const int newY = jlimit (mon.getY(), + mon.getBottom() - windowPos.getHeight(), + windowPos.getY() + deltaY); - childYOffset -= deltaY; - windowPos.setPosition (windowPos.getX(), newY); + deltaY -= newY - windowPos.getY(); - updateYPositions(); - } + childYOffset -= deltaY; + windowPos.setPosition (windowPos.getX(), newY); - break; + updateYPositions(); + } + + break; + } } } } @@ -877,9 +845,9 @@ public: activeSubMenu = nullptr; if (childComp != nullptr - && childComp->itemInfo.hasActiveSubMenu()) + && hasActiveSubMenu (childComp->item)) { - activeSubMenu = new HelperClasses::MenuWindow (*(childComp->itemInfo.subMenu), this, + activeSubMenu = new HelperClasses::MenuWindow (*(childComp->item.subMenu), this, options.withTargetScreenArea (childComp->getScreenBounds()) .withMinimumWidth (0) .withTargetComponent (nullptr), @@ -897,11 +865,11 @@ public: void triggerCurrentlyHighlightedItem() { if (currentChild != nullptr - && currentChild->itemInfo.canBeTriggered() - && (currentChild->itemInfo.customComp == nullptr - || currentChild->itemInfo.customComp->isTriggeredAutomatically())) + && canBeTriggered (currentChild->item) + && (currentChild->item.customComponent == nullptr + || currentChild->item.customComponent->isTriggeredAutomatically())) { - dismissMenu (¤tChild->itemInfo); + dismissMenu (¤tChild->item); } } @@ -917,7 +885,7 @@ public: if (ItemComponent* mic = items.getUnchecked ((start + items.size()) % items.size())) { - if (mic->itemInfo.canBeTriggered() || mic->itemInfo.hasActiveSubMenu()) + if (canBeTriggered (mic->item) || hasActiveSubMenu (mic->item)) { setCurrentlyHighlightedChild (mic); break; @@ -973,7 +941,7 @@ public: if (! window.windowIsStillValid()) return; - startTimer (PopupMenuSettings::timerInterval); + startTimerHz (20); handleMousePosition (e.getScreenPosition()); } @@ -1175,9 +1143,8 @@ private: }; //============================================================================== -class NormalComponentWrapper : public PopupMenu::CustomComponent +struct NormalComponentWrapper : public PopupMenu::CustomComponent { -public: NormalComponentWrapper (Component* const comp, const int w, const int h, const bool triggerMenuItemAutomaticallyWhenClicked) : PopupMenu::CustomComponent (triggerMenuItemAutomaticallyWhenClicked), @@ -1198,43 +1165,15 @@ public: child->setBounds (getLocalBounds()); } -private: const int width, height; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (NormalComponentWrapper) }; -//============================================================================== -class HeaderItemComponent : public PopupMenu::CustomComponent -{ -public: - HeaderItemComponent (const String& name) - : PopupMenu::CustomComponent (false) - { - setName (name); - } - - void paint (Graphics& g) override - { - getLookAndFeel().drawPopupMenuSectionHeader (g, getLocalBounds(), getName()); - } - - void getIdealSize (int& idealWidth, int& idealHeight) override - { - getLookAndFeel().getIdealPopupMenuItemSize (getName(), false, -1, idealWidth, idealHeight); - idealHeight += idealHeight / 2; - idealWidth += idealWidth / 4; - } - -private: - JUCE_LEAK_DETECTOR (HeaderItemComponent) -}; - }; //============================================================================== PopupMenu::PopupMenu() - : lookAndFeel (nullptr) { } @@ -1283,14 +1222,70 @@ void PopupMenu::clear() items.clear(); } -void PopupMenu::addItem (int itemResultID, const String& itemText, bool isActive, bool isTicked) +//============================================================================== +PopupMenu::Item::Item() noexcept + : itemID (0), + commandManager (nullptr), + colour (0x00000000), + isEnabled (true), + isTicked (false), + isSeparator (false), + isSectionHeader (false) +{ +} + +PopupMenu::Item::Item (const Item& other) + : text (other.text), + itemID (other.itemID), + subMenu (createCopyIfNotNull (other.subMenu.get())), + image (other.image != nullptr ? other.image->createCopy() : nullptr), + customComponent (other.customComponent), + commandManager (other.commandManager), + shortcutKeyDescription (other.shortcutKeyDescription), + colour (other.colour), + isEnabled (other.isEnabled), + isTicked (other.isTicked), + isSeparator (other.isSeparator), + isSectionHeader (other.isSectionHeader) { - jassert (itemResultID != 0); // 0 is used as a return value to indicate that the user - // didn't pick anything, so you shouldn't use it as the id - // for an item.. +} - items.add (new Item (itemResultID, itemText, isActive, isTicked, nullptr, - Colours::black, false, nullptr, nullptr, nullptr)); +PopupMenu::Item& PopupMenu::Item::operator= (const Item& other) +{ + text = other.text; + itemID = other.itemID; + subMenu = createCopyIfNotNull (other.subMenu.get()); + image = (other.image != nullptr ? other.image->createCopy() : nullptr); + customComponent = other.customComponent; + commandManager = other.commandManager; + shortcutKeyDescription = other.shortcutKeyDescription; + colour = other.colour; + isEnabled = other.isEnabled; + isTicked = other.isTicked; + isSeparator = other.isSeparator; + isSectionHeader = other.isSectionHeader; + return *this; +} + +void PopupMenu::addItem (const Item& newItem) +{ + // An ID of 0 is used as a return value to indicate that the user + // didn't pick anything, so you shouldn't use it as the ID for an item.. + jassert (newItem.itemID != 0 + || newItem.isSeparator || newItem.isSectionHeader + || newItem.subMenu != nullptr); + + items.add (new Item (newItem)); +} + +void PopupMenu::addItem (int itemResultID, const String& itemText, bool isActive, bool isTicked) +{ + Item i; + i.text = itemText; + i.itemID = itemResultID; + i.isEnabled = isActive; + i.isTicked = isTicked; + addItem (i); } static Drawable* createDrawableFromImage (const Image& im) @@ -1307,23 +1302,18 @@ static Drawable* createDrawableFromImage (const Image& im) void PopupMenu::addItem (int itemResultID, const String& itemText, bool isActive, bool isTicked, const Image& iconToUse) { - jassert (itemResultID != 0); // 0 is used as a return value to indicate that the user - // didn't pick anything, so you shouldn't use it as the id - // for an item.. - - - items.add (new Item (itemResultID, itemText, isActive, isTicked, createDrawableFromImage (iconToUse), - Colours::black, false, nullptr, nullptr, nullptr)); + addItem (itemResultID, itemText, isActive, isTicked, createDrawableFromImage (iconToUse)); } void PopupMenu::addItem (int itemResultID, const String& itemText, bool isActive, bool isTicked, Drawable* iconToUse) { - jassert (itemResultID != 0); // 0 is used as a return value to indicate that the user - // didn't pick anything, so you shouldn't use it as the id - // for an item.. - - items.add (new Item (itemResultID, itemText, isActive, isTicked, iconToUse, - Colours::black, false, nullptr, nullptr, nullptr)); + Item i; + i.text = itemText; + i.itemID = itemResultID; + i.isEnabled = isActive; + i.isTicked = isTicked; + i.image = iconToUse; + addItem (i); } void PopupMenu::addCommandItem (ApplicationCommandManager* commandManager, @@ -1338,47 +1328,59 @@ void PopupMenu::addCommandItem (ApplicationCommandManager* commandManager, ApplicationCommandInfo info (*registeredInfo); ApplicationCommandTarget* const target = commandManager->getTargetForCommand (commandID, info); - items.add (new Item (commandID, - displayName.isNotEmpty() ? displayName - : info.shortName, - target != nullptr && (info.flags & ApplicationCommandInfo::isDisabled) == 0, - (info.flags & ApplicationCommandInfo::isTicked) != 0, - iconToUse, - Colours::black, - false, - nullptr, nullptr, - commandManager)); + Item i; + i.text = displayName.isNotEmpty() ? displayName : info.shortName; + i.itemID = (int) commandID; + i.commandManager = commandManager; + i.isEnabled = target != nullptr && (info.flags & ApplicationCommandInfo::isDisabled) == 0; + i.isTicked = (info.flags & ApplicationCommandInfo::isTicked) != 0; + i.image = iconToUse; + addItem (i); } } void PopupMenu::addColouredItem (int itemResultID, const String& itemText, Colour itemTextColour, - bool isActive, bool isTicked, const Image& iconToUse) + bool isActive, bool isTicked, Drawable* iconToUse) { - jassert (itemResultID != 0); // 0 is used as a return value to indicate that the user - // didn't pick anything, so you shouldn't use it as the id - // for an item.. - - items.add (new Item (itemResultID, itemText, isActive, isTicked, createDrawableFromImage (iconToUse), - itemTextColour, true, nullptr, nullptr, nullptr)); + Item i; + i.text = itemText; + i.itemID = itemResultID; + i.colour = itemTextColour; + i.isEnabled = isActive; + i.isTicked = isTicked; + i.image = iconToUse; + addItem (i); } -void PopupMenu::addCustomItem (int itemID, CustomComponent* cc, const PopupMenu* subMenu) +void PopupMenu::addColouredItem (int itemResultID, const String& itemText, Colour itemTextColour, + bool isActive, bool isTicked, const Image& iconToUse) { - jassert (itemID != 0); // 0 is used as a return value to indicate that the user - // didn't pick anything, so you shouldn't use it as the id - // for an item.. + Item i; + i.text = itemText; + i.itemID = itemResultID; + i.colour = itemTextColour; + i.isEnabled = isActive; + i.isTicked = isTicked; + i.image = createDrawableFromImage (iconToUse); + addItem (i); +} - items.add (new Item (itemID, String::empty, true, false, nullptr, - Colours::black, false, cc, subMenu, nullptr)); +void PopupMenu::addCustomItem (int itemResultID, CustomComponent* cc, const PopupMenu* subMenu) +{ + Item i; + i.itemID = itemResultID; + i.customComponent = cc; + i.subMenu = createCopyIfNotNull (subMenu); + addItem (i); } void PopupMenu::addCustomItem (int itemResultID, Component* customComponent, int idealWidth, int idealHeight, bool triggerMenuItemAutomaticallyWhenClicked, const PopupMenu* subMenu) { - items.add (new Item (itemResultID, String::empty, true, false, nullptr, Colours::black, false, - new HelperClasses::NormalComponentWrapper (customComponent, idealWidth, idealHeight, - triggerMenuItemAutomaticallyWhenClicked), - subMenu, nullptr)); + addCustomItem (itemResultID, + new HelperClasses::NormalComponentWrapper (customComponent, idealWidth, idealHeight, + triggerMenuItemAutomaticallyWhenClicked), + subMenu); } void PopupMenu::addSubMenu (const String& subMenuName, const PopupMenu& subMenu, bool isActive) @@ -1395,19 +1397,32 @@ void PopupMenu::addSubMenu (const String& subMenuName, const PopupMenu& subMenu, void PopupMenu::addSubMenu (const String& subMenuName, const PopupMenu& subMenu, bool isActive, Drawable* iconToUse, bool isTicked, int itemResultID) { - items.add (new Item (itemResultID, subMenuName, isActive && (itemResultID != 0 || subMenu.getNumItems() > 0), isTicked, - iconToUse, Colours::black, false, nullptr, &subMenu, nullptr)); + Item i; + i.text = subMenuName; + i.itemID = itemResultID; + i.subMenu = new PopupMenu (subMenu); + i.isEnabled = isActive && (itemResultID != 0 || subMenu.getNumItems() > 0); + i.isTicked = isTicked; + i.image = iconToUse; + addItem (i); } void PopupMenu::addSeparator() { if (items.size() > 0 && ! items.getLast()->isSeparator) - items.add (new Item()); + { + Item i; + i.isSeparator = true; + addItem (i); + } } void PopupMenu::addSectionHeader (const String& title) { - addCustomItem (PopupMenuSettings::sectionHeaderID, new HelperClasses::HeaderItemComponent (title)); + Item i; + i.text = title; + i.isSectionHeader = true; + addItem (i); } //============================================================================== @@ -1481,9 +1496,8 @@ Component* PopupMenu::createWindow (const Options& options, //============================================================================== // This invokes any command manager commands and deletes the menu window when it is dismissed -class PopupMenuCompletionCallback : public ModalComponentManager::Callback +struct PopupMenuCompletionCallback : public ModalComponentManager::Callback { -public: PopupMenuCompletionCallback() : managerOfChosenCommand (nullptr), prevFocused (Component::getCurrentlyFocusedComponent()), @@ -1519,7 +1533,6 @@ public: ScopedPointer component; WeakReference prevFocused, prevTopLevel; -private: JUCE_DECLARE_NON_COPYABLE (PopupMenuCompletionCallback) }; @@ -1544,7 +1557,7 @@ int PopupMenu::showWithOptionalCallback (const Options& options, ModalComponentM if (userCallback == nullptr && canBeModal) return window->runModalLoop(); #else - (void) canBeModal; + ignoreUnused (canBeModal); jassert (! (userCallback == nullptr && canBeModal)); #endif } @@ -1646,10 +1659,8 @@ bool PopupMenu::containsCommandItem (const int commandID) const const Item& mi = *items.getUnchecked (i); if ((mi.itemID == commandID && mi.commandManager != nullptr) - || (mi.subMenu != nullptr && mi.subMenu->containsCommandItem (commandID))) - { + || (mi.subMenu != nullptr && mi.subMenu->containsCommandItem (commandID))) return true; - } } return false; @@ -1666,7 +1677,7 @@ bool PopupMenu::containsAnyActiveItems() const noexcept if (mi.subMenu->containsAnyActiveItems()) return true; } - else if (mi.isActive) + else if (mi.isEnabled) { return true; } @@ -1703,7 +1714,7 @@ void PopupMenu::CustomComponent::triggerMenuItem() { if (HelperClasses::MenuWindow* const pmw = mic->findParentComponentOfClass()) { - pmw->dismissMenu (&mic->itemInfo); + pmw->dismissMenu (&mic->item); } else { @@ -1720,53 +1731,21 @@ void PopupMenu::CustomComponent::triggerMenuItem() } //============================================================================== -PopupMenu::MenuItemIterator::MenuItemIterator (const PopupMenu& m) - : subMenu (nullptr), - itemId (0), - isSeparator (false), - isTicked (false), - isEnabled (false), - isCustomComponent (false), - isSectionHeader (false), - customColour (nullptr), - menu (m), - index (0) -{ -} - -PopupMenu::MenuItemIterator::~MenuItemIterator() -{ -} +PopupMenu::MenuItemIterator::MenuItemIterator (const PopupMenu& m) : menu (m), index (0) {} +PopupMenu::MenuItemIterator::~MenuItemIterator() {} bool PopupMenu::MenuItemIterator::next() { if (index >= menu.items.size()) return false; - const Item* const item = menu.items.getUnchecked (index); - ++index; - - if (item->isSeparator && index >= menu.items.size()) // (avoid showing a separator at the end) - return false; + const Item* const item = menu.items.getUnchecked (index++); - itemName = item->customComp != nullptr ? item->customComp->getName() : item->text; - subMenu = item->subMenu; - itemId = item->itemID; - isSeparator = item->isSeparator; - isTicked = item->isTicked; - isEnabled = item->isActive; - isSectionHeader = dynamic_cast (static_cast (item->customComp)) != nullptr; - isCustomComponent = (! isSectionHeader) && item->customComp != nullptr; - customColour = item->usesColour ? &(item->textColour) : nullptr; - icon = item->iconDrawable; - commandManager = item->commandManager; - - return true; + return ! (item->isSeparator && index >= menu.items.size()); // (avoid showing a separator at the end) } -void PopupMenu::MenuItemIterator::addItemTo (PopupMenu& targetMenu) +const PopupMenu::Item& PopupMenu::MenuItemIterator::getItem() const noexcept { - targetMenu.items.add (new Item (itemId, itemName, isEnabled, isTicked, icon != nullptr ? icon->createCopy() : nullptr, - customColour != nullptr ? *customColour : Colours::black, - customColour != nullptr, nullptr, subMenu, commandManager)); + jassert (isPositiveAndBelow (index - 1, menu.items.size())); + return *menu.items.getUnchecked (index - 1); } diff --git a/modules/juce_gui_basics/menus/juce_PopupMenu.h b/modules/juce_gui_basics/menus/juce_PopupMenu.h index df660949..ac0a4d76 100644 --- a/modules/juce_gui_basics/menus/juce_PopupMenu.h +++ b/modules/juce_gui_basics/menus/juce_PopupMenu.h @@ -104,6 +104,71 @@ public: /** Resets the menu, removing all its items. */ void clear(); + /** Describes a popup menu item. */ + struct JUCE_API Item + { + /** Creates a null item. + You'll need to set some fields after creating an Item before you + can add it to a PopupMenu + */ + Item() noexcept; + + /** Creates a copy of an item. */ + Item (const Item&); + + /** Creates a copy of an item. */ + Item& operator= (const Item&); + + /** The menu item's name. */ + String text; + + /** The menu item's ID. This can not be 0 if you want the item to be triggerable! */ + int itemID; + + /** A sub-menu, or nullptr if there isn't one. */ + ScopedPointer subMenu; + + /** A drawable to use as an icon, or nullptr if there isn't one. */ + ScopedPointer image; + + /** A custom component for the item to display, or nullptr if there isn't one. */ + ReferenceCountedObjectPtr customComponent; + + /** A command manager to use to automatically invoke the command, or nullptr if none is specified. */ + ApplicationCommandManager* commandManager; + + /** An optional string describing the shortcut key for this item. + This is only used for displaying at the right-hand edge of a menu item - the + menu won't attempt to actually catch or process the key. If you supply a + commandManager parameter then the menu will attempt to fill-in this field + automatically. + */ + String shortcutKeyDescription; + + /** A colour to use to draw the menu text. + By default this is transparent black, which means that the LookAndFeel should choose the colour. + */ + Colour colour; + + /** True if this menu item is enabled. */ + bool isEnabled; + + /** True if this menu item should have a tick mark next to it. */ + bool isTicked; + + /** True if this menu item is a separator line. */ + bool isSeparator; + + /** True if this menu item is a section header. */ + bool isSectionHeader; + }; + + /** Adds an item to the menu. + You can call this method for full control over the item that is added, or use the other + addItem helper methods if you want to pass arguments rather than creating an Item object. + */ + void addItem (const Item& newItem); + /** Appends a new text item for this menu to show. @param itemResultID the number that will be returned from the show() method @@ -189,7 +254,20 @@ public: Colour itemTextColour, bool isEnabled = true, bool isTicked = false, - const Image& iconToUse = Image::null); + const Image& iconToUse = Image()); + + /** Appends a text item with a special colour. + + This is the same as addItem(), but specifies a colour to use for the + text, which will override the default colours that are used by the + current look-and-feel. See addItem() for a description of the parameters. + */ + void addColouredItem (int itemResultID, + const String& itemText, + Colour itemTextColour, + bool isEnabled, + bool isTicked, + Drawable* iconToUse); /** Appends a custom menu item. @@ -261,7 +339,6 @@ public: int itemResultID = 0); /** Appends a separator to the menu, to help break it up into sections. - The menu class is smart enough not to display separators at the top or bottom of the menu, and it will replace mutliple adjacent separators with a single one, so your code can be quite free and easy about adding these, and it'll @@ -270,14 +347,12 @@ public: void addSeparator(); /** Adds a non-clickable text item to the menu. - This is a bold-font items which can be used as a header to separate the items into named groups. */ void addSectionHeader (const String& title); /** Returns the number of items that the menu currently contains. - (This doesn't count separators). */ int getNumItems() const noexcept; @@ -473,21 +548,10 @@ public: */ bool next(); - /** Adds an item to the target menu which has all the properties of this item. */ - void addItemTo (PopupMenu& targetMenu); - - //============================================================================== - String itemName; - const PopupMenu* subMenu; - int itemId; - bool isSeparator; - bool isTicked; - bool isEnabled; - bool isCustomComponent; - bool isSectionHeader; - const Colour* customColour; - const Drawable* icon; - ApplicationCommandManager* commandManager; + /** Returns a reference to the description of the current item. + It is only valid to call this after next() has returned true! + */ + const Item& getItem() const noexcept; private: //============================================================================== @@ -608,13 +672,12 @@ public: private: //============================================================================== - JUCE_PUBLIC_IN_DLL_BUILD (class Item) JUCE_PUBLIC_IN_DLL_BUILD (struct HelperClasses) friend struct HelperClasses; friend class MenuBarComponent; OwnedArray items; - LookAndFeel* lookAndFeel; + WeakReference lookAndFeel; Component* createWindow (const Options&, ApplicationCommandManager**) const; int showWithOptionalCallback (const Options&, ModalComponentManager::Callback*, bool); diff --git a/modules/juce_gui_basics/misc/juce_BubbleComponent.cpp b/modules/juce_gui_basics/misc/juce_BubbleComponent.cpp index f45c93eb..7a547854 100644 --- a/modules/juce_gui_basics/misc/juce_BubbleComponent.cpp +++ b/modules/juce_gui_basics/misc/juce_BubbleComponent.cpp @@ -49,35 +49,37 @@ void BubbleComponent::setAllowedPlacement (const int newPlacement) allowablePlacements = newPlacement; } -void BubbleComponent::setPosition (Component* componentToPointTo) +//============================================================================== +void BubbleComponent::setPosition (Component* componentToPointTo, int distanceFromTarget, int arrowLength) { jassert (componentToPointTo != nullptr); + Rectangle target; + if (Component* p = getParentComponent()) - setPosition (p->getLocalArea (componentToPointTo, componentToPointTo->getLocalBounds())); + target = p->getLocalArea (componentToPointTo, componentToPointTo->getLocalBounds()); else - setPosition (componentToPointTo->getScreenBounds()); + target = componentToPointTo->getScreenBounds(); + + setPosition (target, distanceFromTarget, arrowLength); } -void BubbleComponent::setPosition (Point pos) +void BubbleComponent::setPosition (Point arrowTipPos, int arrowLength) { - setPosition (Rectangle (pos.x, pos.y, 1, 1)); + setPosition (Rectangle (arrowTipPos.x, arrowTipPos.y, 1, 1), arrowLength, arrowLength); } -//============================================================================== -void BubbleComponent::setPosition (const Rectangle& rectangleToPointTo) +void BubbleComponent::setPosition (Rectangle rectangleToPointTo, + int distanceFromTarget, int arrowLength) { - const int edgeSpace = 15; - const int arrowLength = 10; - { int contentW = 150, contentH = 30; getContentSize (contentW, contentH); - content.setBounds (edgeSpace, edgeSpace, contentW, contentH); + content.setBounds (distanceFromTarget, distanceFromTarget, contentW, contentH); } - const int totalW = content.getWidth() + edgeSpace * 2; - const int totalH = content.getHeight() + edgeSpace * 2; + const int totalW = content.getWidth() + distanceFromTarget * 2; + const int totalH = content.getHeight() + distanceFromTarget * 2; const Rectangle availableSpace (getParentComponent() != nullptr ? getParentComponent()->getLocalBounds() : getParentMonitorArea()); diff --git a/modules/juce_gui_basics/misc/juce_BubbleComponent.h b/modules/juce_gui_basics/misc/juce_BubbleComponent.h index c6c758a4..8536f9bd 100644 --- a/modules/juce_gui_basics/misc/juce_BubbleComponent.h +++ b/modules/juce_gui_basics/misc/juce_BubbleComponent.h @@ -94,7 +94,8 @@ public: on where there's the most space, honouring any restrictions that were set with setAllowedPlacement(). */ - void setPosition (Component* componentToPointTo); + void setPosition (Component* componentToPointTo, + int distanceFromTarget = 15, int arrowLength = 10); /** Moves and resizes the bubble to point at a given point. @@ -107,7 +108,7 @@ public: on where there's the most space, honouring any restrictions that were set with setAllowedPlacement(). */ - void setPosition (Point arrowTipPosition); + void setPosition (Point arrowTipPosition, int arrowLength = 10); /** Moves and resizes the bubble to point at a given rectangle. @@ -119,8 +120,12 @@ public: It'll put itself either above, below, or to the side of the component depending on where there's the most space, honouring any restrictions that were set with setAllowedPlacement(). + + distanceFromTarget is the amount of space to leave between the bubble and the + target rectangle, and arrowLength is the length of the arrow that it will draw. */ - void setPosition (const Rectangle& rectangleToPointTo); + void setPosition (Rectangle rectangleToPointTo, + int distanceFromTarget = 15, int arrowLength = 10); //============================================================================== /** A set of colour IDs to use to change the colour of various aspects of the bubble component. diff --git a/modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h b/modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h index 0b050237..faf9b6b7 100644 --- a/modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h +++ b/modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h @@ -86,7 +86,7 @@ public: */ void startDragging (const var& sourceDescription, Component* sourceComponent, - Image dragImage = Image::null, + Image dragImage = Image(), bool allowDraggingToOtherJuceWindows = false, const Point* imageOffsetFromMouse = nullptr); diff --git a/modules/juce_gui_basics/mouse/juce_LassoComponent.h b/modules/juce_gui_basics/mouse/juce_LassoComponent.h index 347cd4cf..65e2f16e 100644 --- a/modules/juce_gui_basics/mouse/juce_LassoComponent.h +++ b/modules/juce_gui_basics/mouse/juce_LassoComponent.h @@ -44,7 +44,7 @@ public: /** Returns the set of items that lie within a given lassoable region. - Your implementation of this method must find all the relevent items that lie + Your implementation of this method must find all the relevant items that lie within the given rectangle. and add them to the itemsFound array. The coordinates are relative to the top-left of the lasso component's parent diff --git a/modules/juce_gui_basics/mouse/juce_MouseEvent.cpp b/modules/juce_gui_basics/mouse/juce_MouseEvent.cpp index bf5cb87a..8d558cac 100644 --- a/modules/juce_gui_basics/mouse/juce_MouseEvent.cpp +++ b/modules/juce_gui_basics/mouse/juce_MouseEvent.cpp @@ -79,9 +79,14 @@ MouseEvent MouseEvent::withNewPosition (Point newPosition) const noexcept } //============================================================================== +bool MouseEvent::mouseWasDraggedSinceMouseDown() const noexcept +{ + return wasMovedSinceMouseDown != 0; +} + bool MouseEvent::mouseWasClicked() const noexcept { - return wasMovedSinceMouseDown == 0; + return ! mouseWasDraggedSinceMouseDown(); } int MouseEvent::getLengthOfMousePress() const noexcept diff --git a/modules/juce_gui_basics/mouse/juce_MouseEvent.h b/modules/juce_gui_basics/mouse/juce_MouseEvent.h index 9d993e31..b9b06bd8 100644 --- a/modules/juce_gui_basics/mouse/juce_MouseEvent.h +++ b/modules/juce_gui_basics/mouse/juce_MouseEvent.h @@ -156,19 +156,19 @@ public: //============================================================================== /** Returns the x coordinate of the last place that a mouse was pressed. The coordinate is relative to the component specified in MouseEvent::component. - @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasClicked + @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasDraggedSinceMouseDown */ int getMouseDownX() const noexcept; /** Returns the y coordinate of the last place that a mouse was pressed. The coordinate is relative to the component specified in MouseEvent::component. - @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasClicked + @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasDraggedSinceMouseDown */ int getMouseDownY() const noexcept; /** Returns the coordinates of the last place that a mouse was pressed. The coordinates are relative to the component specified in MouseEvent::component. - @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasClicked + @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasDraggedSinceMouseDown */ Point getMouseDownPosition() const noexcept; @@ -203,25 +203,27 @@ public: */ Point getOffsetFromDragStart() const noexcept; - /** Returns true if the mouse has just been clicked. + /** Returns true if the user seems to be performing a drag gesture. - Used in either your mouseUp() or mouseDrag() methods, this will tell you whether - the user has dragged the mouse more than a few pixels from the place where the - mouse-down occurred. + This is only meaningful if called in either a mouseUp() or mouseDrag() method. - Once they have dragged it far enough for this method to return false, it will continue - to return false until the mouse-up, even if they move the mouse back to the same - position where they originally pressed it. This means that it's very handy for + It will return true if the user has dragged the mouse more than a few pixels + from the place where the mouse-down occurred. + + Once they have dragged it far enough for this method to return true, it will continue + to return true until the mouse-up, even if they move the mouse back to the same + location at which the mouse-down happened. This means that it's very handy for objects that can either be clicked on or dragged, as you can use it in the mouseDrag() - callback to ignore any small movements they might make while clicking. + callback to ignore small movements they might make while trying to click. + */ + bool mouseWasDraggedSinceMouseDown() const noexcept; - @returns true if the mouse wasn't dragged by more than a few pixels between - the last time the button was pressed and released. + /** Returns true if the mouse event is part of a click gesture rather than a drag. + This is effectively the opposite of mouseWasDraggedSinceMouseDown() */ bool mouseWasClicked() const noexcept; /** For a click event, the number of times the mouse was clicked in succession. - So for example a double-click event will return 2, a triple-click 3, etc. */ int getNumberOfClicks() const noexcept { return numberOfClicks; } diff --git a/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp b/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp index 2302105c..3f83081a 100644 --- a/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp +++ b/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp @@ -330,7 +330,7 @@ public: setScreenPos (screenPos, time, false); triggerFakeMove(); - return isDragging() ? nullptr : getComponentUnderMouse(); + return getComponentUnderMouse(); } void handleWheel (ComponentPeer& peer, Point positionWithinPeer, diff --git a/modules/juce_gui_basics/native/juce_android_FileChooser.cpp b/modules/juce_gui_basics/native/juce_android_FileChooser.cpp index f563fea1..1313f6e2 100644 --- a/modules/juce_gui_basics/native/juce_android_FileChooser.cpp +++ b/modules/juce_gui_basics/native/juce_android_FileChooser.cpp @@ -31,6 +31,7 @@ void FileChooser::showPlatformDialog (Array& results, bool isSaveDialogue, bool warnAboutOverwritingExistingFiles, bool selectMultipleFiles, + bool /*treatFilePackagesAsDirs*/, FilePreviewComponent* extraInfoComponent) { // TODO diff --git a/modules/juce_gui_basics/native/juce_android_Windowing.cpp b/modules/juce_gui_basics/native/juce_android_Windowing.cpp index 106e7057..79f091e4 100644 --- a/modules/juce_gui_basics/native/juce_android_Windowing.cpp +++ b/modules/juce_gui_basics/native/juce_android_Windowing.cpp @@ -106,13 +106,15 @@ DECLARE_JNI_CLASS (CanvasMinimal, "android/graphics/Canvas"); METHOD (invalidate, "invalidate", "(IIII)V") \ METHOD (containsPoint, "containsPoint", "(II)Z") \ METHOD (showKeyboard, "showKeyboard", "(Ljava/lang/String;)V") \ + METHOD (setSystemUiVisibility, "setSystemUiVisibility", "(I)V") \ DECLARE_JNI_CLASS (ComponentPeerView, JUCE_ANDROID_ACTIVITY_CLASSPATH "$ComponentPeerView"); #undef JNI_CLASS_MEMBERS //============================================================================== -class AndroidComponentPeer : public ComponentPeer +class AndroidComponentPeer : public ComponentPeer, + private Timer { public: AndroidComponentPeer (Component& comp, const int windowStyleFlags) @@ -183,7 +185,6 @@ public: view.callVoidMethod (ComponentPeerView.setVisible, shouldBeVisible); } - private: GlobalRef view; bool shouldBeVisible; }; @@ -199,7 +200,7 @@ public: void setBounds (const Rectangle& userRect, bool isNowFullScreen) override { - Rectangle r = userRect * scale; + Rectangle r = (userRect.toFloat() * scale).toNearestInt(); if (MessageManager::getInstance()->isThisTheMessageThread()) { @@ -231,13 +232,13 @@ public: Rectangle getBounds() const override { - return Rectangle (view.callIntMethod (ComponentPeerView.getLeft), - view.callIntMethod (ComponentPeerView.getTop), - view.callIntMethod (ComponentPeerView.getWidth), - view.callIntMethod (ComponentPeerView.getHeight)) / scale; + return (Rectangle (view.callIntMethod (ComponentPeerView.getLeft), + view.callIntMethod (ComponentPeerView.getTop), + view.callIntMethod (ComponentPeerView.getWidth), + view.callIntMethod (ComponentPeerView.getHeight)) / scale).toNearestInt(); } - void handleScreenSizeChange() + void handleScreenSizeChange() override { ComponentPeer::handleScreenSizeChange(); @@ -271,8 +272,46 @@ public: return false; } + bool shouldNavBarsBeHidden() const + { + if (fullScreen) + if (Component* kiosk = Desktop::getInstance().getKioskModeComponent()) + if (kiosk->getPeer() == this) + return true; + + return false; + } + + void setNavBarsHidden (bool hidden) const + { + enum + { + SYSTEM_UI_FLAG_VISIBLE = 0, + SYSTEM_UI_FLAG_LOW_PROFILE = 1, + SYSTEM_UI_FLAG_HIDE_NAVIGATION = 2, + SYSTEM_UI_FLAG_FULLSCREEN = 4, + SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION = 512, + SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN = 1024, + SYSTEM_UI_FLAG_IMMERSIVE = 2048, + SYSTEM_UI_FLAG_IMMERSIVE_STICKY = 4096 + }; + + view.callVoidMethod (ComponentPeerView.setSystemUiVisibility, + hidden ? (jint) (SYSTEM_UI_FLAG_HIDE_NAVIGATION | SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_IMMERSIVE_STICKY) + : (jint) (SYSTEM_UI_FLAG_VISIBLE)); + } + void setFullScreen (bool shouldBeFullScreen) override { + // updating the nav bar visibility is a bit odd on Android - need to wait for + if (shouldNavBarsBeHidden()) + { + if (! isTimerRunning()) + startTimer (500); + } + else + setNavBarsHidden (false); + Rectangle r (shouldBeFullScreen ? Desktop::getInstance().getDisplays().getMainDisplay().userArea : lastNonFullscreenBounds); @@ -291,6 +330,13 @@ public: return fullScreen; } + void timerCallback() override + { + setNavBarsHidden (shouldNavBarsBeHidden()); + setFullScreen (fullScreen); + stopTimer(); + } + void setIcon (const Image& newIcon) override { // n/a @@ -327,7 +373,7 @@ public: handleBroughtToFront(); } - void toBehind (ComponentPeer* other) override + void toBehind (ComponentPeer*) override { // TODO } @@ -723,9 +769,46 @@ bool Desktop::isScreenSaverEnabled() } //============================================================================== -void Desktop::setKioskComponent (Component* kioskModeComponent, bool enableOrDisable, bool allowMenusAndBars) +void Desktop::setKioskComponent (Component* kioskComp, bool enableOrDisable, bool allowMenusAndBars) { - // TODO + ignoreUnused (allowMenusAndBars); + + if (AndroidComponentPeer* peer = dynamic_cast (kioskComp->getPeer())) + peer->setFullScreen (enableOrDisable); + else + jassertfalse; // (this should have been checked by the caller) +} + +//============================================================================== +static jint getAndroidOrientationFlag (int orientations) noexcept +{ + enum + { + SCREEN_ORIENTATION_LANDSCAPE = 0, + SCREEN_ORIENTATION_PORTRAIT = 1, + SCREEN_ORIENTATION_USER = 2, + SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 8, + SCREEN_ORIENTATION_REVERSE_PORTRAIT = 9, + SCREEN_ORIENTATION_USER_LANDSCAPE = 11, + SCREEN_ORIENTATION_USER_PORTRAIT = 12, + }; + + switch (orientations) + { + case Desktop::upright: return (jint) SCREEN_ORIENTATION_PORTRAIT; + case Desktop::upsideDown: return (jint) SCREEN_ORIENTATION_REVERSE_PORTRAIT; + case Desktop::upright + Desktop::upsideDown: return (jint) SCREEN_ORIENTATION_USER_PORTRAIT; + case Desktop::rotatedAntiClockwise: return (jint) SCREEN_ORIENTATION_LANDSCAPE; + case Desktop::rotatedClockwise: return (jint) SCREEN_ORIENTATION_REVERSE_LANDSCAPE; + case Desktop::rotatedClockwise + Desktop::rotatedAntiClockwise: return (jint) SCREEN_ORIENTATION_USER_LANDSCAPE; + default: return (jint) SCREEN_ORIENTATION_USER; + } +} + +void Desktop::allowedOrientationsChanged() +{ + android.activity.callVoidMethod (JuceAppActivity.setRequestedOrientation, + getAndroidOrientationFlag (allowedOrientations)); } //============================================================================== @@ -764,7 +847,7 @@ JUCE_JNI_CALLBACK (JUCE_ANDROID_ACTIVITY_CLASSNAME, setScreenSize, void, (JNIEnv //============================================================================== Image juce_createIconForFile (const File& file) { - return Image::null; + return Image(); } //============================================================================== diff --git a/modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm b/modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm index 5e2fc6f3..0e52b974 100644 --- a/modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm +++ b/modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm @@ -118,6 +118,8 @@ using namespace juce; - (void) willRotateToInterfaceOrientation: (UIInterfaceOrientation) toInterfaceOrientation duration: (NSTimeInterval) duration; - (void) didRotateFromInterfaceOrientation: (UIInterfaceOrientation) fromInterfaceOrientation; - (void) viewWillTransitionToSize: (CGSize) size withTransitionCoordinator: (id) coordinator; +- (BOOL) prefersStatusBarHidden; +- (UIStatusBarStyle) preferredStatusBarStyle; - (void) viewDidLoad; - (void) viewWillAppear: (BOOL) animated; @@ -209,7 +211,7 @@ public: static Rectangle rotatedScreenPosToReal (const Rectangle& r) { - if (isUsingOldRotationMethod()) + if (! SystemStats::isRunningInAppExtensionSandbox() && isUsingOldRotationMethod()) { const Rectangle screen (convertToRectInt ([UIScreen mainScreen].bounds)); @@ -239,7 +241,7 @@ public: static Rectangle realScreenPosToRotated (const Rectangle& r) { - if (isUsingOldRotationMethod()) + if (! SystemStats::isRunningInAppExtensionSandbox() && isUsingOldRotationMethod()) { const Rectangle screen (convertToRectInt ([UIScreen mainScreen].bounds)); @@ -298,6 +300,15 @@ static void sendScreenBoundsUpdate (JuceUIViewController* c) juceView->owner->updateTransformAndScreenBounds(); } +static bool isKioskModeView (JuceUIViewController* c) +{ + JuceUIView* juceView = (JuceUIView*) [c view]; + jassert (juceView != nil && juceView->owner != nullptr); + + return Desktop::getInstance().getKioskModeComponent() == &(juceView->owner->getComponent()); +} + + } // (juce namespace) //============================================================================== @@ -317,15 +328,14 @@ static void sendScreenBoundsUpdate (JuceUIViewController* c) - (void) willRotateToInterfaceOrientation: (UIInterfaceOrientation) toInterfaceOrientation duration: (NSTimeInterval) duration { - (void) toInterfaceOrientation; - (void) duration; + ignoreUnused (toInterfaceOrientation, duration); [UIView setAnimationsEnabled: NO]; // disable this because it goes the wrong way and looks like crap. } - (void) didRotateFromInterfaceOrientation: (UIInterfaceOrientation) fromInterfaceOrientation { - (void) fromInterfaceOrientation; + ignoreUnused (fromInterfaceOrientation); sendScreenBoundsUpdate (self); [UIView setAnimationsEnabled: YES]; } @@ -340,31 +350,42 @@ static void sendScreenBoundsUpdate (JuceUIViewController* c) MessageManager::callAsync ([=]() { sendScreenBoundsUpdate (self); }); } +- (BOOL) prefersStatusBarHidden +{ + return isKioskModeView (self); +} + +- (UIStatusBarStyle) preferredStatusBarStyle +{ + return UIStatusBarStyleDefault; +} + - (void) viewDidLoad { sendScreenBoundsUpdate (self); + [super viewDidLoad]; } - (void) viewWillAppear: (BOOL) animated { - (void) animated; - [self viewDidLoad]; + sendScreenBoundsUpdate (self); + [super viewWillAppear:animated]; } - (void) viewDidAppear: (BOOL) animated { - (void) animated; - [self viewDidLoad]; + sendScreenBoundsUpdate (self); + [super viewDidAppear:animated]; } - (void) viewWillLayoutSubviews { - [self viewDidLoad]; + sendScreenBoundsUpdate (self); } - (void) viewDidLayoutSubviews { - [self viewDidLoad]; + sendScreenBoundsUpdate (self); } @end @@ -405,7 +426,7 @@ static void sendScreenBoundsUpdate (JuceUIViewController* c) //============================================================================== - (void) touchesBegan: (NSSet*) touches withEvent: (UIEvent*) event { - (void) touches; + ignoreUnused (touches); if (owner != nullptr) owner->handleTouches (event, true, false, false); @@ -413,7 +434,7 @@ static void sendScreenBoundsUpdate (JuceUIViewController* c) - (void) touchesMoved: (NSSet*) touches withEvent: (UIEvent*) event { - (void) touches; + ignoreUnused (touches); if (owner != nullptr) owner->handleTouches (event, false, false, false); @@ -421,7 +442,7 @@ static void sendScreenBoundsUpdate (JuceUIViewController* c) - (void) touchesEnded: (NSSet*) touches withEvent: (UIEvent*) event { - (void) touches; + ignoreUnused (touches); if (owner != nullptr) owner->handleTouches (event, false, true, false); @@ -449,7 +470,7 @@ static void sendScreenBoundsUpdate (JuceUIViewController* c) if (owner != nullptr) owner->viewFocusLoss(); - return true; + return [super resignFirstResponder]; } - (BOOL) canBecomeFirstResponder @@ -459,7 +480,7 @@ static void sendScreenBoundsUpdate (JuceUIViewController* c) - (BOOL) textView: (UITextView*) textView shouldChangeTextInRange: (NSRange) range replacementText: (NSString*) text { - (void) textView; + ignoreUnused (textView); return owner->textViewReplaceCharacters (Range ((int) range.location, (int) (range.location + range.length)), nsStringToJuce (text)); } @@ -769,6 +790,16 @@ static float getMaximumTouchForce (UITouch* touch) noexcept return 0.0f; } +static float getTouchForce (UITouch* touch) noexcept +{ + #if defined (__IPHONE_9_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_9_0 + if ([touch respondsToSelector: @selector (force)]) + return (float) touch.force; + #endif + + return 0.0f; +} + void UIViewComponentPeer::handleTouches (UIEvent* event, const bool isDown, const bool isUp, bool isCancel) { NSArray* touches = [[event touchesForView: view] allObjects]; @@ -824,7 +855,7 @@ void UIViewComponentPeer::handleTouches (UIEvent* event, const bool isDown, cons } // NB: some devices return 0 or 1.0 if pressure is unknown, so we'll clip our value to a believable range: - float pressure = maximumForce > 0 ? jlimit (0.0001f, 0.9999f, (float) (touch.force / maximumForce)) + float pressure = maximumForce > 0 ? jlimit (0.0001f, 0.9999f, getTouchForce (touch) / maximumForce) : MouseInputSource::invalidPressure; handleMouseEvent (touchIndex, pos, modsToSend, pressure, time); @@ -967,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); @@ -982,15 +1016,19 @@ bool UIViewComponentPeer::canBecomeKeyWindow() //============================================================================== void Desktop::setKioskComponent (Component* kioskModeComp, bool enableOrDisable, bool /*allowMenusAndBars*/) { - [[UIApplication sharedApplication] setStatusBarHidden: enableOrDisable - withAnimation: UIStatusBarAnimationSlide]; - displays->refresh(); - if (ComponentPeer* const peer = kioskModeComp->getPeer()) + if (ComponentPeer* peer = kioskModeComp->getPeer()) + { + if (UIViewComponentPeer* uiViewPeer = dynamic_cast (peer)) + [uiViewPeer->controller setNeedsStatusBarAppearanceUpdate]; + peer->setFullScreen (enableOrDisable); + } } +void Desktop::allowedOrientationsChanged() {} + //============================================================================== void UIViewComponentPeer::repaint (const Rectangle& area) { diff --git a/modules/juce_gui_basics/native/juce_ios_Windowing.mm b/modules/juce_gui_basics/native/juce_ios_Windowing.mm index 4d69dd53..e0a90b4a 100644 --- a/modules/juce_gui_basics/native/juce_ios_Windowing.mm +++ b/modules/juce_gui_basics/native/juce_ios_Windowing.mm @@ -117,27 +117,33 @@ int juce_iOSMain (int argc, const char* argv[]) //============================================================================== void LookAndFeel::playAlertSound() { - //xxx - //AudioServicesPlaySystemSound (); + // TODO } //============================================================================== class iOSMessageBox; -} // (juce namespace) +#if defined (__IPHONE_8_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0 + #define JUCE_USE_NEW_IOS_ALERTWINDOW 1 +#endif -@interface JuceAlertBoxDelegate : NSObject -{ -@public - iOSMessageBox* owner; -} +#if ! JUCE_USE_NEW_IOS_ALERTWINDOW + } // (juce namespace) + + @interface JuceAlertBoxDelegate : NSObject + { + @public + iOSMessageBox* owner; + } -- (void) alertView: (UIAlertView*) alertView clickedButtonAtIndex: (NSInteger) buttonIndex; + - (void) alertView: (UIAlertView*) alertView clickedButtonAtIndex: (NSInteger) buttonIndex; -@end + @end + + namespace juce + { +#endif -namespace juce -{ class iOSMessageBox { @@ -145,9 +151,30 @@ public: iOSMessageBox (const String& title, const String& message, NSString* button1, NSString* button2, NSString* button3, ModalComponentManager::Callback* cb, const bool async) - : result (0), resultReceived (false), delegate (nil), alert (nil), - callback (cb), isYesNo (button3 != nil), isAsync (async) + : result (0), resultReceived (false), callback (cb), isAsync (async) { + #if JUCE_USE_NEW_IOS_ALERTWINDOW + if (currentlyFocusedPeer != nullptr) + { + UIAlertController* alert = [UIAlertController alertControllerWithTitle: juceStringToNS (title) + message: juceStringToNS (message) + preferredStyle: UIAlertControllerStyleAlert]; + addButton (alert, button1, 0); + addButton (alert, button2, 1); + addButton (alert, button3, 2); + + [currentlyFocusedPeer->controller presentViewController: alert + animated: YES + completion: nil]; + } + else + { + // Since iOS8, alert windows need to be associated with a window, so you need to + // have at least one window on screen when you use this + jassertfalse; + } + + #else delegate = [[JuceAlertBoxDelegate alloc] init]; delegate->owner = this; @@ -158,12 +185,15 @@ public: otherButtonTitles: button2, button3, nil]; [alert retain]; [alert show]; + #endif } ~iOSMessageBox() { + #if ! JUCE_USE_NEW_IOS_ALERTWINDOW [alert release]; [delegate release]; + #endif } int getResult() @@ -172,7 +202,11 @@ public: JUCE_AUTORELEASEPOOL { + #if JUCE_USE_NEW_IOS_ALERTWINDOW + while (! resultReceived) + #else while (! (alert.hidden || resultReceived)) + #endif [[NSRunLoop mainRunLoop] runUntilDate: [NSDate dateWithTimeIntervalSinceNow: 0.01]]; } @@ -194,28 +228,43 @@ public: private: int result; bool resultReceived; - JuceAlertBoxDelegate* delegate; - UIAlertView* alert; ScopedPointer callback; - const bool isYesNo, isAsync; + const bool isAsync; + + #if JUCE_USE_NEW_IOS_ALERTWINDOW + void addButton (UIAlertController* alert, NSString* text, int index) + { + if (text != nil) + [alert addAction: [UIAlertAction actionWithTitle: text + style: UIAlertActionStyleDefault + handler: ^(UIAlertAction*) { this->buttonClicked (index); }]]; + } + #else + UIAlertView* alert; + JuceAlertBoxDelegate* delegate; + #endif JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (iOSMessageBox) }; -} // (juce namespace) -@implementation JuceAlertBoxDelegate +#if ! JUCE_USE_NEW_IOS_ALERTWINDOW + } // (juce namespace) -- (void) alertView: (UIAlertView*) alertView clickedButtonAtIndex: (NSInteger) buttonIndex -{ - owner->buttonClicked ((int) buttonIndex); - alertView.hidden = true; -} + @implementation JuceAlertBoxDelegate -@end + - (void) alertView: (UIAlertView*) alertView clickedButtonAtIndex: (NSInteger) buttonIndex + { + owner->buttonClicked ((int) buttonIndex); + alertView.hidden = true; + } + + @end + + namespace juce + { +#endif -namespace juce -{ //============================================================================== #if JUCE_MODAL_LOOPS_PERMITTED @@ -284,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]; } @@ -301,7 +354,7 @@ bool juce_areThereAnyAlwaysOnTopWindows() //============================================================================== Image juce_createIconForFile (const File&) { - return Image::null; + return Image(); } //============================================================================== @@ -313,10 +366,7 @@ void SystemClipboard::copyTextToClipboard (const String& text) String SystemClipboard::getTextFromClipboard() { - if (NSString* text = [[UIPasteboard generalPasteboard] valueForPasteboardType: @"public.text"]) - return nsStringToJuce (text); - - return String(); + return nsStringToJuce ([[UIPasteboard generalPasteboard] valueForPasteboardType: @"public.text"]); } //============================================================================== @@ -347,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) @@ -357,8 +410,7 @@ void Desktop::Displays::findDisplays (float masterScale) UIScreen* s = [UIScreen mainScreen]; Display d; - d.userArea = UIViewComponentPeer::realScreenPosToRotated (convertToRectInt ([s applicationFrame])) / masterScale; - d.totalArea = UIViewComponentPeer::realScreenPosToRotated (convertToRectInt ([s bounds])) / masterScale; + d.userArea = d.totalArea = UIViewComponentPeer::realScreenPosToRotated (convertToRectInt ([s bounds])) / masterScale; d.isMain = true; d.scale = masterScale; diff --git a/modules/juce_gui_basics/native/juce_linux_FileChooser.cpp b/modules/juce_gui_basics/native/juce_linux_FileChooser.cpp index a24b14bf..180a0bfa 100644 --- a/modules/juce_gui_basics/native/juce_linux_FileChooser.cpp +++ b/modules/juce_gui_basics/native/juce_linux_FileChooser.cpp @@ -157,6 +157,7 @@ void FileChooser::showPlatformDialog (Array& results, const String& title, const File& file, const String& filters, bool isDirectory, bool /* selectsFiles */, bool isSave, bool /* warnAboutOverwritingExistingFiles */, + bool /*treatFilePackagesAsDirs*/, bool selectMultipleFiles, FilePreviewComponent*) { const File previousWorkingDirectory (File::getCurrentWorkingDirectory()); diff --git a/modules/juce_gui_basics/native/juce_linux_Windowing.cpp b/modules/juce_gui_basics/native/juce_linux_Windowing.cpp index 2de412a7..752588d1 100644 --- a/modules/juce_gui_basics/native/juce_linux_Windowing.cpp +++ b/modules/juce_gui_basics/native/juce_linux_Windowing.cpp @@ -44,7 +44,6 @@ struct Atoms pid = getCreating ("_NET_WM_PID"); windowType = getIfExists ("_NET_WM_WINDOW_TYPE"); windowState = getIfExists ("_NET_WM_STATE"); - compositingManager = getCreating ("_NET_WM_CM_S0"); XdndAware = getCreating ("XdndAware"); XdndEnter = getCreating ("XdndEnter"); @@ -66,9 +65,6 @@ struct Atoms allowedMimeTypes[2] = getCreating ("text/plain"); allowedMimeTypes[3] = getCreating ("text/uri-list"); - externalAllowedFileMimeTypes[0] = getCreating ("text/uri-list"); - externalAllowedTextMimeTypes[0] = getCreating ("text/plain"); - allowedActions[0] = getCreating ("XdndActionMove"); allowedActions[1] = XdndActionCopy; allowedActions[2] = getCreating ("XdndActionLink"); @@ -76,12 +72,6 @@ struct Atoms allowedActions[4] = XdndActionPrivate; } - static const Atoms& get() - { - static Atoms atoms; - return atoms; - } - enum ProtocolItems { TAKE_FOCUS = 0, @@ -90,14 +80,12 @@ struct Atoms }; Atom protocols, protocolList[3], changeState, state, userTime, - activeWin, pid, windowType, windowState, compositingManager, + activeWin, pid, windowType, windowState, XdndAware, XdndEnter, XdndLeave, XdndPosition, XdndStatus, XdndDrop, XdndFinished, XdndSelection, XdndTypeList, XdndActionList, XdndActionDescription, XdndActionCopy, XdndActionPrivate, allowedActions[5], - allowedMimeTypes[4], - externalAllowedFileMimeTypes[1], - externalAllowedTextMimeTypes[1]; + allowedMimeTypes[4]; static const unsigned long DndVersion; @@ -231,41 +219,42 @@ namespace XSHMHelpers XShmSegmentInfo segmentInfo; zerostruct (segmentInfo); - XImage* xImage = XShmCreateImage (display, DefaultVisual (display, DefaultScreen (display)), - 24, ZPixmap, 0, &segmentInfo, 50, 50); - - if ((segmentInfo.shmid = shmget (IPC_PRIVATE, - (size_t) (xImage->bytes_per_line * xImage->height), - IPC_CREAT | 0777)) >= 0) + if (XImage* xImage = XShmCreateImage (display, DefaultVisual (display, DefaultScreen (display)), + 24, ZPixmap, 0, &segmentInfo, 50, 50)) { - segmentInfo.shmaddr = (char*) shmat (segmentInfo.shmid, 0, 0); - - if (segmentInfo.shmaddr != (void*) -1) + if ((segmentInfo.shmid = shmget (IPC_PRIVATE, + (size_t) (xImage->bytes_per_line * xImage->height), + IPC_CREAT | 0777)) >= 0) { - segmentInfo.readOnly = False; - xImage->data = segmentInfo.shmaddr; - XSync (display, False); + segmentInfo.shmaddr = (char*) shmat (segmentInfo.shmid, 0, 0); - if (XShmAttach (display, &segmentInfo) != 0) + if (segmentInfo.shmaddr != (void*) -1) { + segmentInfo.readOnly = False; + xImage->data = segmentInfo.shmaddr; XSync (display, False); - XShmDetach (display, &segmentInfo); - isAvailable = true; + if (XShmAttach (display, &segmentInfo) != 0) + { + XSync (display, False); + XShmDetach (display, &segmentInfo); + + isAvailable = true; + } } - } - XFlush (display); - XDestroyImage (xImage); + XFlush (display); + XDestroyImage (xImage); - shmdt (segmentInfo.shmaddr); - } + shmdt (segmentInfo.shmaddr); + } - shmctl (segmentInfo.shmid, IPC_RMID, 0); + shmctl (segmentInfo.shmid, IPC_RMID, 0); - XSetErrorHandler (oldHandler); - if (trappedErrorCode != 0) - isAvailable = false; + XSetErrorHandler (oldHandler); + if (trappedErrorCode != 0) + isAvailable = false; + } } } } @@ -326,9 +315,10 @@ namespace XRender return xRenderQueryVersion != nullptr; } - static bool hasCompositingWindowManager() + static bool hasCompositingWindowManager() noexcept { - return display != nullptr && XGetSelectionOwner (display, Atoms::get().compositingManager) != 0; + return display != nullptr + && XGetSelectionOwner (display, Atoms::getCreating ("_NET_WM_CM_S0")) != 0; } static XRenderPictFormat* findPictureFormat() @@ -404,12 +394,10 @@ namespace Visuals desiredMask |= VisualBitsPerRGBMask; } - XVisualInfo* xvinfos = XGetVisualInfo (display, - desiredMask, - &desiredVisual, - &numVisuals); - - if (xvinfos != nullptr) + if (XVisualInfo* xvinfos = XGetVisualInfo (display, + desiredMask, + &desiredVisual, + &numVisuals)) { for (int i = 0; i < numVisuals; i++) { @@ -438,9 +426,7 @@ namespace Visuals #if JUCE_USE_XRENDER if (XRender::isAvailable()) { - XRenderPictFormat* pictFormat = XRender::findPictureFormat(); - - if (pictFormat != 0) + if (XRenderPictFormat* pictFormat = XRender::findPictureFormat()) { int numVisuals = 0; XVisualInfo desiredVisual; @@ -448,10 +434,9 @@ namespace Visuals desiredVisual.depth = 32; desiredVisual.bits_per_rgb = 8; - XVisualInfo* xvinfos = XGetVisualInfo (display, - VisualScreenMask | VisualDepthMask | VisualBitsPerRGBMask, - &desiredVisual, &numVisuals); - if (xvinfos != nullptr) + if (XVisualInfo* xvinfos = XGetVisualInfo (display, + VisualScreenMask | VisualDepthMask | VisualBitsPerRGBMask, + &desiredVisual, &numVisuals)) { for (int i = 0; i < numVisuals; ++i) { @@ -1611,7 +1596,7 @@ public: clientMsg.window = windowH; clientMsg.type = ClientMessage; clientMsg.format = 32; - clientMsg.message_type = Atoms::get().windowState; + clientMsg.message_type = atoms.windowState; clientMsg.data.l[0] = 0; // Remove clientMsg.data.l[1] = (long) fs; clientMsg.data.l[2] = 0; @@ -1703,7 +1688,7 @@ public: clientMsg.window = windowH; clientMsg.type = ClientMessage; clientMsg.format = 32; - clientMsg.message_type = Atoms::get().changeState; + clientMsg.message_type = atoms.changeState; clientMsg.data.l[0] = IconicState; ScopedXLock xlock; @@ -1718,7 +1703,6 @@ public: bool isMinimised() const override { ScopedXLock xlock; - const Atoms& atoms = Atoms::get(); GetXProperty prop (windowH, atoms.state, 0, 64, false, atoms.state); return prop.success @@ -1853,7 +1837,7 @@ public: ev.xclient.type = ClientMessage; ev.xclient.serial = 0; ev.xclient.send_event = True; - ev.xclient.message_type = Atoms::get().activeWin; + ev.xclient.message_type = atoms.activeWin; ev.xclient.window = windowH; ev.xclient.format = 32; ev.xclient.data.l[0] = 2; @@ -2324,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) { @@ -2412,8 +2396,6 @@ public: void handleClientMessageEvent (XClientMessageEvent& clientMsg, XEvent& event) { - const Atoms& atoms = Atoms::get(); - if (clientMsg.message_type == atoms.protocols && clientMsg.format == 32) { const Atom atom = (Atom) clientMsg.data.l[0]; @@ -2515,7 +2497,7 @@ public: return currentScaleFactor; } - //=============================================================================== + //============================================================================== void addOpenGLRepaintListener (Component* dummy) { if (dummy != nullptr) @@ -2586,7 +2568,7 @@ private: else if (Time::getApproximateMillisecondCounter() > lastTimeImageUsed + 3000) { stopTimer(); - image = Image::null; + image = Image(); } } @@ -2684,6 +2666,7 @@ private: JUCE_DECLARE_NON_COPYABLE (LinuxRepaintManager) }; + const Atoms atoms; ScopedPointer repainter; friend class LinuxRepaintManager; @@ -2841,6 +2824,14 @@ private: ScopedXLock xlock; xchangeProperty (wndH, hints, hints, 32, &kwmHints, 1); } + + hints = Atoms::getIfExists ("_KDE_NET_WM_WINDOW_TYPE_OVERRIDE"); + + if (hints != None) + { + ScopedXLock xlock; + xchangeProperty (wndH, atoms.windowType, XA_ATOM, 32, &hints, 1); + } } void addWindowButtons (Window wndH) @@ -2915,9 +2906,7 @@ private: else netHints [0] = Atoms::getIfExists ("_NET_WM_WINDOW_TYPE_NORMAL"); - netHints[1] = Atoms::getIfExists ("_KDE_NET_WM_WINDOW_TYPE_OVERRIDE"); - - xchangeProperty (windowH, Atoms::get().windowType, XA_ATOM, 32, &netHints, 2); + xchangeProperty (windowH, atoms.windowType, XA_ATOM, 32, &netHints, 1); int numHints = 0; @@ -2928,7 +2917,7 @@ private: netHints [numHints++] = Atoms::getIfExists ("_NET_WM_STATE_ABOVE"); if (numHints > 0) - xchangeProperty (windowH, Atoms::get().windowState, XA_ATOM, 32, &netHints, numHints); + xchangeProperty (windowH, atoms.windowState, XA_ATOM, 32, &netHints, numHints); } void createWindow (Window parentToAddTo) @@ -3007,8 +2996,6 @@ private: setTitle (component.getName()); - const Atoms& atoms = Atoms::get(); - // Associate the PID, allowing to be shut down when something goes wrong unsigned long pid = (unsigned long) getpid(); xchangeProperty (windowH, atoms.pid, XA_CARDINAL, 32, &pid, 1); @@ -3072,7 +3059,7 @@ private: long getUserTime() const { - GetXProperty prop (windowH, Atoms::get().userTime, 0, 65536, false, XA_CARDINAL); + GetXProperty prop (windowH, atoms.userTime, 0, 65536, false, XA_CARDINAL); return prop.success ? *(long*) prop.data : 0; } @@ -3129,10 +3116,14 @@ private: //============================================================================== struct DragState { - DragState() noexcept + DragState() : isText (false), dragging (false), expectingStatus (false), canDrop (false), targetWindow (None), xdndVersion (-1) { + if (isText) + allowedTypes.add (Atoms::getCreating ("text/plain")); + else + allowedTypes.add (Atoms::getCreating ("text/uri-list")); } bool isText; @@ -3143,21 +3134,7 @@ private: int xdndVersion; // negotiated version with target Rectangle silentRect; String textOrFiles; - - const Atom* getMimeTypes() const noexcept { return isText ? Atoms::get().externalAllowedTextMimeTypes - : Atoms::get().externalAllowedFileMimeTypes; } - - int getNumMimeTypes() const noexcept { return isText ? numElementsInArray (Atoms::get().externalAllowedTextMimeTypes) - : numElementsInArray (Atoms::get().externalAllowedFileMimeTypes); } - - bool matchesTarget (Atom targetType) const - { - for (int i = getNumMimeTypes(); --i >= 0;) - if (getMimeTypes()[i] == targetType) - return true; - - return false; - } + Array allowedTypes; }; //============================================================================== @@ -3205,7 +3182,7 @@ private: XClientMessageEvent msg; zerostruct (msg); - msg.message_type = Atoms::get().XdndDrop; + msg.message_type = atoms.XdndDrop; msg.data.l[2] = CurrentTime; sendExternalDragAndDropMessage (msg, targetWindow); @@ -3216,15 +3193,11 @@ private: XClientMessageEvent msg; zerostruct (msg); - msg.message_type = Atoms::get().XdndEnter; + msg.message_type = atoms.XdndEnter; + msg.data.l[1] = (dragState.xdndVersion << 24); - const Atom* mimeTypes = dragState.getMimeTypes(); - const int numMimeTypes = dragState.getNumMimeTypes(); - - msg.data.l[1] = (dragState.xdndVersion << 24) | (numMimeTypes > 3); - msg.data.l[2] = numMimeTypes > 0 ? (long) mimeTypes[0] : 0; - msg.data.l[3] = numMimeTypes > 1 ? (long) mimeTypes[1] : 0; - msg.data.l[4] = numMimeTypes > 2 ? (long) mimeTypes[2] : 0; + for (int i = 0; i < 3; ++i) + msg.data.l[i + 2] = (long) dragState.allowedTypes[i]; sendExternalDragAndDropMessage (msg, targetWindow); } @@ -3234,7 +3207,7 @@ private: XClientMessageEvent msg; zerostruct (msg); - msg.message_type = Atoms::get().XdndPosition; + msg.message_type = atoms.XdndPosition; Point mousePos (Desktop::getInstance().getMousePosition()); @@ -3245,7 +3218,7 @@ private: msg.data.l[1] = 0; msg.data.l[2] = (mousePos.x << 16) | mousePos.y; msg.data.l[3] = CurrentTime; - msg.data.l[4] = (long) Atoms::get().XdndActionCopy; // this is all JUCE currently supports + msg.data.l[4] = (long) atoms.XdndActionCopy; // this is all JUCE currently supports dragState.expectingStatus = sendExternalDragAndDropMessage (msg, targetWindow); } @@ -3255,7 +3228,7 @@ private: XClientMessageEvent msg; zerostruct (msg); - msg.message_type = Atoms::get().XdndStatus; + msg.message_type = atoms.XdndStatus; msg.data.l[1] = (acceptDrop ? 1 : 0) | 2; // 2 indicates that we want to receive position messages msg.data.l[4] = (long) dropAction; @@ -3267,7 +3240,7 @@ private: XClientMessageEvent msg; zerostruct (msg); - msg.message_type = Atoms::get().XdndLeave; + msg.message_type = atoms.XdndLeave; sendExternalDragAndDropMessage (msg, targetWindow); } @@ -3276,7 +3249,7 @@ private: XClientMessageEvent msg; zerostruct (msg); - msg.message_type = Atoms::get().XdndFinished; + msg.message_type = atoms.XdndFinished; sendDragAndDropMessage (msg); } @@ -3298,7 +3271,7 @@ private: s.xselection.property = None; s.xselection.time = evt.xselectionrequest.time; - if (dragState.matchesTarget (targetType)) + if (dragState.allowedTypes.contains (targetType)) { s.xselection.property = evt.xselectionrequest.property; @@ -3321,8 +3294,8 @@ private: dragState.silentRect = Rectangle(); if ((clientMsg.data.l[1] & 1) != 0 - && ((Atom) clientMsg.data.l[4] == Atoms::get().XdndActionCopy - || (Atom) clientMsg.data.l[4] == Atoms::get().XdndActionPrivate)) + && ((Atom) clientMsg.data.l[4] == atoms.XdndActionCopy + || (Atom) clientMsg.data.l[4] == atoms.XdndActionPrivate)) { if ((clientMsg.data.l[1] & 2) == 0) // target requests silent rectangle dragState.silentRect.setBounds ((int) clientMsg.data.l[2] >> 16, @@ -3366,7 +3339,7 @@ private: if (targetWindow == None) return; - GetXProperty prop (targetWindow, Atoms::get().XdndAware, + GetXProperty prop (targetWindow, atoms.XdndAware, 0, 2, false, AnyPropertyType); if (prop.success @@ -3401,7 +3374,6 @@ private: (int) clientMsg.data.l[2] & 0xffff); dropPos -= bounds.getPosition(); - const Atoms& atoms = Atoms::get(); Atom targetAction = atoms.XdndActionCopy; for (int i = numElementsInArray (atoms.allowedActions); --i >= 0;) @@ -3471,7 +3443,7 @@ private: if ((clientMsg.data.l[1] & 1) != 0) { ScopedXLock xlock; - GetXProperty prop (dragAndDropSourceWindow, Atoms::get().XdndTypeList, 0, 0x8000000L, false, XA_ATOM); + GetXProperty prop (dragAndDropSourceWindow, atoms.XdndTypeList, 0, 0x8000000L, false, XA_ATOM); if (prop.success && prop.actualType == XA_ATOM @@ -3499,7 +3471,6 @@ private: } } - const Atoms& atoms = Atoms::get(); for (int i = 0; i < srcMimeTypeAtomList.size() && dragAndDropCurrentMimeType == 0; ++i) for (int j = 0; j < numElementsInArray (atoms.allowedMimeTypes); ++j) if (srcMimeTypeAtomList[i] == atoms.allowedMimeTypes[j]) @@ -3563,7 +3534,7 @@ private: { ScopedXLock xlock; XConvertSelection (display, - Atoms::get().XdndSelection, + atoms.XdndSelection, dragAndDropCurrentMimeType, Atoms::getCreating ("JXSelectionWindowProperty"), windowH, @@ -3571,18 +3542,18 @@ private: } } - static bool isWindowDnDAware (Window w) + bool isWindowDnDAware (Window w) const { int numProperties = 0; - Atom* const atoms = XListProperties (display, w, &numProperties); + Atom* const properties = XListProperties (display, w, &numProperties); bool dndAwarePropFound = false; for (int i = 0; i < numProperties; ++i) - if (atoms[i] == Atoms::get().XdndAware) + if (properties[i] == atoms.XdndAware) dndAwarePropFound = true; - if (atoms != nullptr) - XFree (atoms); + if (properties != nullptr) + XFree (properties); return dndAwarePropFound; } @@ -3622,13 +3593,12 @@ private: // No other method of changing the pointer seems to work, this call is needed from this very context XChangeActivePointerGrab (display, pointerGrabMask, (Cursor) createDraggingHandCursor(), CurrentTime); - const Atoms& atoms = Atoms::get(); XSetSelectionOwner (display, atoms.XdndSelection, windowH, CurrentTime); // save the available types to XdndTypeList xchangeProperty (windowH, atoms.XdndTypeList, XA_ATOM, 32, - dragState.getMimeTypes(), - dragState.getNumMimeTypes()); + dragState.allowedTypes.getRawDataPointer(), + dragState.allowedTypes.size()); dragState.dragging = true; handleExternalDragMotionNotify(); @@ -3746,6 +3716,8 @@ void Desktop::setKioskComponent (Component* comp, bool enableOrDisable, bool /* comp->setBounds (getDisplays().getMainDisplay().totalArea); } +void Desktop::allowedOrientationsChanged() {} + //============================================================================== ComponentPeer* Component::createNewPeer (int styleFlags, void* nativeWindowToAttachTo) { @@ -4108,7 +4080,7 @@ void MouseCursor::showInAllWindows() const //============================================================================== Image juce_createIconForFile (const File& /* file */) { - return Image::null; + return Image(); } //============================================================================== diff --git a/modules/juce_gui_basics/native/juce_mac_FileChooser.mm b/modules/juce_gui_basics/native/juce_mac_FileChooser.mm index 8097620c..42cfd93a 100644 --- a/modules/juce_gui_basics/native/juce_mac_FileChooser.mm +++ b/modules/juce_gui_basics/native/juce_mac_FileChooser.mm @@ -141,6 +141,7 @@ void FileChooser::showPlatformDialog (Array& results, bool isSaveDialogue, bool /*warnAboutOverwritingExistingFiles*/, bool selectMultipleFiles, + bool treatFilePackagesAsDirs, FilePreviewComponent* extraInfoComponent) { JUCE_AUTORELEASEPOOL @@ -177,6 +178,9 @@ void FileChooser::showPlatformDialog (Array& results, [openPanel setCanChooseFiles: selectsFiles]; [openPanel setAllowsMultipleSelection: selectMultipleFiles]; [openPanel setResolvesAliases: YES]; + + if (treatFilePackagesAsDirs) + [openPanel setTreatsFilePackagesAsDirectories: YES]; } if (extraInfoComponent != nullptr) @@ -260,6 +264,7 @@ void FileChooser::showPlatformDialog (Array&, bool /*isSaveDialogue*/, bool /*warnAboutOverwritingExistingFiles*/, bool /*selectMultipleFiles*/, + bool /*treatFilePackagesAsDirs*/, FilePreviewComponent*) { jassertfalse; //there's no such thing in iOS diff --git a/modules/juce_gui_basics/native/juce_mac_MainMenu.mm b/modules/juce_gui_basics/native/juce_mac_MainMenu.mm index 8ca3b614..9888a8e6 100644 --- a/modules/juce_gui_basics/native/juce_mac_MainMenu.mm +++ b/modules/juce_gui_basics/native/juce_mac_MainMenu.mm @@ -181,16 +181,17 @@ public: void addMenuItem (PopupMenu::MenuItemIterator& iter, NSMenu* menuToAddTo, const int topLevelMenuId, const int topLevelIndex) { - NSString* text = juceStringToNS (iter.itemName.upToFirstOccurrenceOf ("", false, true)); + const PopupMenu::Item& i = iter.getItem(); + NSString* text = juceStringToNS (i.text); if (text == nil) text = nsEmptyString(); - if (iter.isSeparator) + if (i.isSeparator) { [menuToAddTo addItem: [NSMenuItem separatorItem]]; } - else if (iter.isSectionHeader) + else if (i.isSectionHeader) { NSMenuItem* item = [menuToAddTo addItemWithTitle: text action: nil @@ -198,9 +199,9 @@ public: [item setEnabled: false]; } - else if (iter.subMenu != nullptr) + else if (i.subMenu != nullptr) { - if (iter.itemName == recentItemsMenuName) + if (i.text == recentItemsMenuName) { if (recent == nullptr) recent = new RecentFilesMenuItem(); @@ -219,10 +220,10 @@ public: action: nil keyEquivalent: nsEmptyString()]; - [item setTag: iter.itemId]; - [item setEnabled: iter.isEnabled]; + [item setTag: i.itemID]; + [item setEnabled: i.isEnabled]; - NSMenu* sub = createMenu (*iter.subMenu, iter.itemName, topLevelMenuId, topLevelIndex, false); + NSMenu* sub = createMenu (*i.subMenu, i.text, topLevelMenuId, topLevelIndex, false); [menuToAddTo setSubmenu: sub forItem: item]; [sub release]; } @@ -232,19 +233,19 @@ public: action: @selector (menuItemInvoked:) keyEquivalent: nsEmptyString()]; - [item setTag: iter.itemId]; - [item setEnabled: iter.isEnabled]; - [item setState: iter.isTicked ? NSOnState : NSOffState]; + [item setTag: i.itemID]; + [item setEnabled: i.isEnabled]; + [item setState: i.isTicked ? NSOnState : NSOffState]; [item setTarget: (id) callback]; - NSMutableArray* info = [NSMutableArray arrayWithObject: [NSNumber numberWithUnsignedLongLong: (pointer_sized_uint) (void*) iter.commandManager]]; + NSMutableArray* info = [NSMutableArray arrayWithObject: [NSNumber numberWithUnsignedLongLong: (pointer_sized_uint) (void*) i.commandManager]]; [info addObject: [NSNumber numberWithInt: topLevelIndex]]; [item setRepresentedObject: info]; - if (iter.commandManager != nullptr) + if (i.commandManager != nullptr) { - const Array keyPresses (iter.commandManager->getKeyMappings() - ->getKeyPressesAssignedToCommand (iter.itemId)); + const Array keyPresses (i.commandManager->getKeyMappings() + ->getKeyPressesAssignedToCommand (i.itemID)); if (keyPresses.size() > 0) { diff --git a/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm b/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm index 8bfee01d..27fdb1cf 100644 --- a/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm +++ b/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm @@ -59,7 +59,8 @@ static NSRect flippedScreenRect (NSRect r) noexcept } //============================================================================== -class NSViewComponentPeer : public ComponentPeer +class NSViewComponentPeer : public ComponentPeer, + private AsyncUpdater { public: NSViewComponentPeer (Component& comp, const int windowStyleFlags, NSView* viewToAttachTo) @@ -68,7 +69,6 @@ public: view (nil), isSharedWindow (viewToAttachTo != nil), fullScreen (false), - insideDrawRect (false), #if USE_COREGRAPHICS_RENDERING usingCoreGraphics (true), #else @@ -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(), @@ -531,6 +535,8 @@ public: usingCoreGraphics = index > 0; [view setNeedsDisplay: true]; } + #else + ignoreUnused (index); #endif } @@ -609,7 +615,6 @@ public: wheel.isSmooth = false; wheel.isInertial = false; - #if ! JUCE_PPC @try { #if defined (MAC_OS_X_VERSION_10_7) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 @@ -638,7 +643,6 @@ public: } @catch (...) {} - #endif if (wheel.deltaX == 0 && wheel.deltaY == 0) { @@ -658,7 +662,7 @@ public: if (invScale > 0.0f) handleMagnifyGesture (0, getMousePos (ev, view), getMouseTime (ev), 1.0f / invScale); #endif - (void) ev; + ignoreUnused (ev); } void redirectCopy (NSObject*) { handleKeyPress (KeyPress ('c', ModifierKeys (ModifierKeys::commandModifier), 'c')); } @@ -771,6 +775,7 @@ public: handleModifierKeysChange(); } + //============================================================================== void drawRect (NSRect r) { if (r.size.width < 1.0f || r.size.height < 1.0f) @@ -789,15 +794,42 @@ public: displayScale = (float) screen.backingScaleFactor; #endif - #if USE_COREGRAPHICS_RENDERING + #if USE_COREGRAPHICS_RENDERING && JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS + // This option invokes a separate paint call for each rectangle of the clip region. + // It's a long story, but this is a basically a workaround for a CGContext not having + // a way of finding whether a rectangle falls within its clip region if (usingCoreGraphics) { + const NSRect* rects = nullptr; + NSInteger numRects = 0; + [view getRectsBeingDrawn: &rects count: &numRects]; - CoreGraphicsContext context (cg, (float) [view frame].size.height, displayScale); + if (numRects > 1) + { + for (int i = 0; i < numRects; ++i) + { + NSRect rect = rects[i]; + CGContextSaveGState (cg); + CGContextClipToRect (cg, CGRectMake (rect.origin.x, rect.origin.y, rect.size.width, rect.size.height)); + drawRect (cg, rect, displayScale); + CGContextRestoreGState (cg); + } + + return; + } + } + #endif - insideDrawRect = true; - handlePaint (context); - insideDrawRect = false; + drawRect (cg, r, displayScale); + } + + void drawRect (CGContextRef cg, NSRect r, float displayScale) + { + #if USE_COREGRAPHICS_RENDERING + if (usingCoreGraphics) + { + CoreGraphicsContext context (cg, (float) [view frame].size.height, displayScale); + invokePaint (context); } else #endif @@ -828,9 +860,7 @@ public: if (intScale != 1) context->addTransform (AffineTransform::scale (displayScale)); - insideDrawRect = true; - handlePaint (*context); - insideDrawRect = false; + invokePaint (*context); } CGColorSpaceRef colourSpace = CGColorSpaceCreateDeviceRGB(); @@ -842,17 +872,67 @@ public: } } - bool sendModalInputAttemptIfBlocked() + void handleAsyncUpdate() override + { + // When windows are being resized, artificially throttling high-frequency repaints helps + // to stop the event queue getting clogged, and keeps everything working smoothly + if (areAnyWindowsInLiveResize() + && Time::getCurrentTime() < lastRepaintTime + RelativeTime::milliseconds (1000 / 30)) + { + triggerAsyncUpdate(); + return; + } + + for (const Rectangle* i = deferredRepaints.begin(), *e = deferredRepaints.end(); i != e; ++i) + [view setNeedsDisplayInRect: makeNSRect (*i)]; + + deferredRepaints.clear(); + } + + void repaint (const Rectangle& area) override { - Component* const modal = Component::getCurrentlyModalComponent(); + // In 10.11 changes were made to the way the OS handles repaint regions, and it seems that it can + // no longer be trusted to coalesce all the regions, or to even remember them all without losing + // a few when there's a lot of activity. + // As a work around for this, we use a RectangleList to do our own coalescing of regions before + // asynchronously asking the OS to repaint them. + deferredRepaints.add ((float) area.getX(), (float) ([view frame].size.height - area.getBottom()), + (float) area.getWidth(), (float) area.getHeight()); + triggerAsyncUpdate(); + } + + void invokePaint (LowLevelGraphicsContext& context) + { + lastRepaintTime = Time::getCurrentTime(); + handlePaint (context); + } + + void performAnyPendingRepaintsNow() override + { + [view displayIfNeeded]; + } + + static bool areAnyWindowsInLiveResize() noexcept + { + for (NSWindow* w in [NSApp windows]) + if ([w inLiveResize]) + return true; - if (modal != nullptr - && insideToFrontCall == 0 - && (! getComponent().isParentOf (modal)) - && getComponent().isCurrentlyBlockedByAnotherModalComponent()) + return false; + } + + //============================================================================== + bool sendModalInputAttemptIfBlocked() + { + if (Component* modal = Component::getCurrentlyModalComponent()) { - modal->inputAttemptWhenModal(); - return true; + if (insideToFrontCall == 0 + && (! getComponent().isParentOf (modal)) + && getComponent().isCurrentlyBlockedByAnotherModalComponent()) + { + modal->inputAttemptWhenModal(); + return true; + } } return false; @@ -865,9 +945,15 @@ public: bool canBecomeMainWindow() { - Component* owner = &juce::ComponentPeer::getComponent(); + return dynamic_cast (&component) != nullptr; + } - return dynamic_cast (owner) != nullptr; + bool worksWhenModal() const + { + // In plugins, the host could put our plugin window inside a modal window, so this + // allows us to successfully open other popups. Feels like there could be edge-case + // problems caused by this, so let us know if you spot any issues.. + return ! JUCEApplication::isStandaloneApp(); } void becomeKeyWindow() @@ -1224,51 +1310,17 @@ public: void textInputRequired (Point, TextInputTarget&) override {} - //============================================================================== - void repaint (const Rectangle& area) override - { - if (insideDrawRect) - { - class AsyncRepaintMessage : public CallbackMessage - { - public: - AsyncRepaintMessage (NSViewComponentPeer* const p, const Rectangle& r) - : peer (p), rect (r) - {} - - void messageCallback() override - { - if (ComponentPeer::isValidPeer (peer)) - peer->repaint (rect); - } - - private: - NSViewComponentPeer* const peer; - const Rectangle rect; - }; - - (new AsyncRepaintMessage (this, area))->post(); - } - else - { - [view setNeedsDisplayInRect: NSMakeRect ((CGFloat) area.getX(), [view frame].size.height - (CGFloat) area.getBottom(), - (CGFloat) area.getWidth(), (CGFloat) area.getHeight())]; - } - } - - void performAnyPendingRepaintsNow() override - { - [view displayIfNeeded]; - } - //============================================================================== NSWindow* window; NSView* view; - bool isSharedWindow, fullScreen, insideDrawRect; + bool isSharedWindow, fullScreen; bool usingCoreGraphics, isZooming, textWasInserted; String stringBeingComposed; NSNotificationCenter* notificationCenter; + RectangleList deferredRepaints; + Time lastRepaintTime; + static ModifierKeys currentModifiers; static ComponentPeer* currentlyFocusedPeer; static Array keysCurrentlyDown; @@ -1368,24 +1420,22 @@ private: for (int i = ComponentPeer::getNumPeers(); --i >= 0;) { - ComponentPeer* const peer = ComponentPeer::getPeer (i); - NSView* const compView = (NSView*) peer->getNativeHandle(); - - if ([compView window] == w) + if (NSViewComponentPeer* peer = dynamic_cast (ComponentPeer::getPeer (i))) { - if (isKey) - { - if (compView == [w firstResponder]) - return false; - } - else + if ([peer->view window] == w) { - NSViewComponentPeer* nsViewPeer = dynamic_cast (peer); - - if ((nsViewPeer == nullptr || ! nsViewPeer->isSharedWindow) - ? NSPointInRect ([e locationInWindow], NSMakeRect (0, 0, [w frame].size.width, [w frame].size.height)) - : NSPointInRect ([compView convertPoint: [e locationInWindow] fromView: nil], [compView bounds])) - return false; + if (isKey) + { + if (peer->view == [w firstResponder]) + return false; + } + else + { + if (peer->isSharedWindow + ? NSPointInRect ([peer->view convertPoint: [e locationInWindow] fromView: nil], [peer->view bounds]) + : NSPointInRect ([e locationInWindow], NSMakeRect (0, 0, [w frame].size.width, [w frame].size.height))) + return false; + } } } } @@ -1408,9 +1458,9 @@ private: int NSViewComponentPeer::insideToFrontCall = 0; //============================================================================== -struct JuceNSViewClass : public ObjCClass +struct JuceNSViewClass : public ObjCClass { - JuceNSViewClass() : ObjCClass ("JUCEView_") + JuceNSViewClass() : ObjCClass ("JUCEView_") { addIvar ("owner"); @@ -1432,8 +1482,10 @@ struct JuceNSViewClass : public ObjCClass addMethod (@selector (otherMouseUp:), mouseUp, "v@:@"); addMethod (@selector (scrollWheel:), scrollWheel, "v@:@"); addMethod (@selector (magnifyWithEvent:), magnify, "v@:@"); - addMethod (@selector (acceptsFirstMouse:), acceptsFirstMouse, "v@:@"); + addMethod (@selector (acceptsFirstMouse:), acceptsFirstMouse, "c@:@"); addMethod (@selector (frameChanged:), frameChanged, "v@:@"); + addMethod (@selector (wantsDefaultClipping:), wantsDefaultClipping, "c@:"); + addMethod (@selector (worksWhenModal), worksWhenModal, "c@:"); addMethod (@selector (viewDidMoveToWindow), viewDidMoveToWindow, "v@:"); addMethod (@selector (keyDown:), keyDown, "v@:@"); addMethod (@selector (keyUp:), keyUp, "v@:@"); @@ -1503,23 +1555,25 @@ private: waitUntilDone: NO]; } - static void asyncMouseDown (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* const p = getOwner (self)) p->redirectMouseDown (ev); } - static void asyncMouseUp (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* const p = getOwner (self)) p->redirectMouseUp (ev); } - static void mouseDragged (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* const p = getOwner (self)) p->redirectMouseDrag (ev); } - static void mouseMoved (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* const p = getOwner (self)) p->redirectMouseMove (ev); } - static void mouseEntered (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* const p = getOwner (self)) p->redirectMouseEnter (ev); } - static void mouseExited (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* const p = getOwner (self)) p->redirectMouseExit (ev); } - static void scrollWheel (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* const p = getOwner (self)) p->redirectMouseWheel (ev); } - static void magnify (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* const p = getOwner (self)) p->redirectMagnify (ev); } - static void copy (id self, SEL, NSObject* s) { if (NSViewComponentPeer* const p = getOwner (self)) p->redirectCopy (s); } - static void paste (id self, SEL, NSObject* s) { if (NSViewComponentPeer* const p = getOwner (self)) p->redirectPaste (s); } - static void cut (id self, SEL, NSObject* s) { if (NSViewComponentPeer* const p = getOwner (self)) p->redirectCut (s); } + static void asyncMouseDown (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* p = getOwner (self)) p->redirectMouseDown (ev); } + static void asyncMouseUp (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* p = getOwner (self)) p->redirectMouseUp (ev); } + static void mouseDragged (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* p = getOwner (self)) p->redirectMouseDrag (ev); } + static void mouseMoved (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* p = getOwner (self)) p->redirectMouseMove (ev); } + static void mouseEntered (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* p = getOwner (self)) p->redirectMouseEnter (ev); } + static void mouseExited (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* p = getOwner (self)) p->redirectMouseExit (ev); } + static void scrollWheel (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* p = getOwner (self)) p->redirectMouseWheel (ev); } + static void magnify (id self, SEL, NSEvent* ev) { if (NSViewComponentPeer* p = getOwner (self)) p->redirectMagnify (ev); } + static void copy (id self, SEL, NSObject* s) { if (NSViewComponentPeer* p = getOwner (self)) p->redirectCopy (s); } + static void paste (id self, SEL, NSObject* s) { if (NSViewComponentPeer* p = getOwner (self)) p->redirectPaste (s); } + static void cut (id self, SEL, NSObject* s) { if (NSViewComponentPeer* p = getOwner (self)) p->redirectCut (s); } static BOOL acceptsFirstMouse (id, SEL, NSEvent*) { return YES; } + static BOOL wantsDefaultClipping (id, SEL) { return YES; } // (this is the default, but may want to customise it in future) + static BOOL worksWhenModal (id self, SEL) { if (NSViewComponentPeer* p = getOwner (self)) return p->worksWhenModal(); return NO; }; - static void drawRect (id self, SEL, NSRect r) { if (NSViewComponentPeer* const p = getOwner (self)) p->drawRect (r); } - static void frameChanged (id self, SEL, NSNotification*) { if (NSViewComponentPeer* const p = getOwner (self)) p->redirectMovedOrResized(); } - static void viewDidMoveToWindow (id self, SEL) { if (NSViewComponentPeer* const p = getOwner (self)) p->viewMovedToWindow(); } + static void drawRect (id self, SEL, NSRect r) { if (NSViewComponentPeer* p = getOwner (self)) p->drawRect (r); } + static void frameChanged (id self, SEL, NSNotification*) { if (NSViewComponentPeer* p = getOwner (self)) p->redirectMovedOrResized(); } + static void viewDidMoveToWindow (id self, SEL) { if (NSViewComponentPeer* p = getOwner (self)) p->viewMovedToWindow(); } static BOOL isOpaque (id self, SEL) { @@ -1711,12 +1765,12 @@ private: } //============================================================================== - static NSDragOperation draggingEntered (id self, SEL s, id sender) + static NSDragOperation draggingEntered (id self, SEL s, id sender) { return draggingUpdated (self, s, sender); } - static NSDragOperation draggingUpdated (id self, SEL, id sender) + static NSDragOperation draggingUpdated (id self, SEL, id sender) { if (NSViewComponentPeer* const owner = getOwner (self)) if (owner->sendDragCallback (0, sender)) @@ -1725,29 +1779,29 @@ private: return NSDragOperationNone; } - static void draggingEnded (id self, SEL s, id sender) + static void draggingEnded (id self, SEL s, id sender) { draggingExited (self, s, sender); } - static void draggingExited (id self, SEL, id sender) + static void draggingExited (id self, SEL, id sender) { if (NSViewComponentPeer* const owner = getOwner (self)) owner->sendDragCallback (1, sender); } - static BOOL prepareForDragOperation (id, SEL, id ) + static BOOL prepareForDragOperation (id, SEL, id) { return YES; } - static BOOL performDragOperation (id self, SEL, id sender) + static BOOL performDragOperation (id self, SEL, id sender) { NSViewComponentPeer* const owner = getOwner (self); return owner != nullptr && owner->sendDragCallback (2, sender); } - static void concludeDragOperation (id, SEL, id ) {} + static void concludeDragOperation (id, SEL, id) {} }; //============================================================================== @@ -1998,7 +2052,7 @@ void Desktop::setKioskComponent (Component* kioskComp, bool shouldBeEnabled, boo SetSystemUIMode (kUIModeNormal, 0); } #else - (void) kioskComp; (void) shouldBeEnabled; (void) allowMenusAndBars; + ignoreUnused (kioskComp, shouldBeEnabled, allowMenusAndBars); // If you're targeting OSes earlier than 10.6 and want to use this feature, // you'll need to enable JUCE_SUPPORT_CARBON. @@ -2006,6 +2060,8 @@ void Desktop::setKioskComponent (Component* kioskComp, bool shouldBeEnabled, boo #endif } +void Desktop::allowedOrientationsChanged() {} + //============================================================================== ComponentPeer* Component::createNewPeer (int styleFlags, void* windowToAttachTo) { diff --git a/modules/juce_gui_basics/native/juce_mac_Windowing.mm b/modules/juce_gui_basics/native/juce_mac_Windowing.mm index cb9a4a0f..b3922906 100644 --- a/modules/juce_gui_basics/native/juce_mac_Windowing.mm +++ b/modules/juce_gui_basics/native/juce_mac_Windowing.mm @@ -270,7 +270,7 @@ public: kIOPMAssertionLevelOn, CFSTR ("JUCE Playback"), &assertionID); - jassert (res == kIOReturnSuccess); (void) res; + jassert (res == kIOReturnSuccess); ignoreUnused (res); } ~PMAssertion() @@ -395,6 +395,19 @@ bool juce_areThereAnyAlwaysOnTopWindows() } //============================================================================== +static void selectImageForDrawing (const Image& image) +{ + [NSGraphicsContext saveGraphicsState]; + [NSGraphicsContext setCurrentContext: [NSGraphicsContext graphicsContextWithGraphicsPort: juce_getImageContext (image) + flipped: false]]; +} + +static void releaseImageAfterDrawing() +{ + [[NSGraphicsContext currentContext] flushGraphics]; + [NSGraphicsContext restoreGraphicsState]; +} + Image juce_createIconForFile (const File& file) { JUCE_AUTORELEASEPOOL @@ -403,20 +416,54 @@ Image juce_createIconForFile (const File& file) Image result (Image::ARGB, (int) [image size].width, (int) [image size].height, true); - [NSGraphicsContext saveGraphicsState]; - [NSGraphicsContext setCurrentContext: [NSGraphicsContext graphicsContextWithGraphicsPort: juce_getImageContext (result) flipped: false]]; - + selectImageForDrawing (result); [image drawAtPoint: NSMakePoint (0, 0) fromRect: NSMakeRect (0, 0, [image size].width, [image size].height) operation: NSCompositeSourceOver fraction: 1.0f]; + releaseImageAfterDrawing(); + + return result; + } +} + +static Image createNSWindowSnapshot (NSWindow* nsWindow) +{ + JUCE_AUTORELEASEPOOL + { + CGImageRef screenShot = CGWindowListCreateImage (CGRectNull, + kCGWindowListOptionIncludingWindow, + (CGWindowID) [nsWindow windowNumber], + kCGWindowImageBoundsIgnoreFraming); - [[NSGraphicsContext currentContext] flushGraphics]; - [NSGraphicsContext restoreGraphicsState]; + NSBitmapImageRep* bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage: screenShot]; + + Image result (Image::ARGB, (int) [bitmapRep size].width, (int) [bitmapRep size].height, true); + + selectImageForDrawing (result); + [bitmapRep drawAtPoint: NSMakePoint (0, 0)]; + releaseImageAfterDrawing(); + + [bitmapRep release]; + CGImageRelease (screenShot); return result; } } +Image createSnapshotOfNativeWindow (void* nativeWindowHandle) +{ + if (id windowOrView = (id) nativeWindowHandle) + { + if ([windowOrView isKindOfClass: [NSWindow class]]) + return createNSWindowSnapshot ((NSWindow*) windowOrView); + + if ([windowOrView isKindOfClass: [NSView class]]) + return createNSWindowSnapshot ([(NSView*) windowOrView window]); + } + + return Image(); +} + //============================================================================== void SystemClipboard::copyTextToClipboard (const String& text) { @@ -431,10 +478,7 @@ void SystemClipboard::copyTextToClipboard (const String& text) String SystemClipboard::getTextFromClipboard() { - NSString* text = [[NSPasteboard generalPasteboard] stringForType: NSStringPboardType]; - - return text == nil ? String() - : nsStringToJuce (text); + return nsStringToJuce ([[NSPasteboard generalPasteboard] stringForType: NSStringPboardType]); } void Process::setDockIconVisible (bool isVisible) @@ -443,7 +487,13 @@ void Process::setDockIconVisible (bool isVisible) [NSApp setActivationPolicy: isVisible ? NSApplicationActivationPolicyRegular : NSApplicationActivationPolicyProhibited]; #else - (void) isVisible; + ignoreUnused (isVisible); jassertfalse; // sorry, not available in 10.5! #endif } + +bool Desktop::isOSXDarkModeActive() +{ + return [[[NSUserDefaults standardUserDefaults] stringForKey: nsStringLiteral ("AppleInterfaceStyle")] + isEqualToString: nsStringLiteral ("Dark")]; +} diff --git a/modules/juce_gui_basics/native/juce_win32_FileChooser.cpp b/modules/juce_gui_basics/native/juce_win32_FileChooser.cpp index f610dfb7..ad11d406 100644 --- a/modules/juce_gui_basics/native/juce_win32_FileChooser.cpp +++ b/modules/juce_gui_basics/native/juce_win32_FileChooser.cpp @@ -130,7 +130,8 @@ bool FileChooser::isPlatformDialogAvailable() void FileChooser::showPlatformDialog (Array& results, const String& title_, const File& currentFileOrDirectory, const String& filter, bool selectsDirectory, bool /*selectsFiles*/, bool isSaveDialogue, bool warnAboutOverwritingExistingFiles, - bool selectMultipleFiles, FilePreviewComponent* extraInfoComponent) + bool selectMultipleFiles, bool /*treatFilePackagesAsDirs*/, + FilePreviewComponent* extraInfoComponent) { using namespace FileChooserHelpers; diff --git a/modules/juce_gui_basics/native/juce_win32_Windowing.cpp b/modules/juce_gui_basics/native/juce_win32_Windowing.cpp index df708e31..862473d3 100644 --- a/modules/juce_gui_basics/native/juce_win32_Windowing.cpp +++ b/modules/juce_gui_basics/native/juce_win32_Windowing.cpp @@ -39,14 +39,6 @@ #define WM_APPCOMMAND 0x0319 #endif -#ifndef MI_WP_SIGNATURE - #define MI_WP_SIGNATURE 0xFF515700 -#endif - -#ifndef SIGNATURE_MASK - #define SIGNATURE_MASK 0xFFFFFF00 -#endif - extern void juce_repeatLastProcessPriority(); extern void juce_checkCurrentlyFocusedTopLevelWindow(); // in juce_TopLevelWindow.cpp extern bool juce_isRunningInWine(); @@ -73,7 +65,6 @@ bool Desktop::canUseSemiTransparentWindows() noexcept //============================================================================== #ifndef WM_TOUCH #define WM_TOUCH 0x0240 - #define TOUCH_COORD_TO_PIXEL(l) ((l) / 100) #define TOUCHEVENTF_MOVE 0x0001 #define TOUCHEVENTF_DOWN 0x0002 #define TOUCHEVENTF_UP 0x0004 @@ -453,6 +444,25 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (WindowsBitmapImage) }; +//============================================================================== +Image createSnapshotOfNativeWindow (void* nativeWindowHandle) +{ + HWND hwnd = (HWND) nativeWindowHandle; + + RECT r = getWindowRect (hwnd); + const int w = r.right - r.left; + const int h = r.bottom - r.top; + + WindowsBitmapImage* nativeBitmap = new WindowsBitmapImage (Image::RGB, w, h, true); + Image bitmap (nativeBitmap); + + HDC dc = GetDC (hwnd); + BitBlt (nativeBitmap->hdc, 0, 0, w, h, dc, 0, 0, SRCCOPY); + ReleaseDC (hwnd, dc); + + return SoftwareImageType().convert (bitmap); +} + //============================================================================== namespace IconConverters { @@ -521,7 +531,7 @@ namespace IconConverters } } - return Image::null; + return Image(); } HICON createHICONFromImage (const Image& image, const BOOL isIcon, int hotspotX, int hotspotY) @@ -848,7 +858,7 @@ public: if (! makeActive) { - // in this case a broughttofront call won't have occured, so do it now.. + // in this case a broughttofront call won't have occurred, so do it now.. handleBroughtToFront(); } } @@ -1129,19 +1139,16 @@ public: JUCE_DECLARE_NON_COPYABLE (JuceDropTarget) }; - #if JUCE_MODULE_AVAILABLE_juce_audio_plugin_client static bool offerKeyMessageToJUCEWindow (MSG& m) { if (m.message == WM_KEYDOWN || m.message == WM_KEYUP) if (Component::getCurrentlyFocusedComponent() != nullptr) if (HWNDComponentPeer* h = getOwnerOfWindow (m.hwnd)) - if (m.message == WM_KEYDOWN ? h->doKeyDown (m.wParam) - : h->doKeyUp (m.wParam)) - return true; + return m.message == WM_KEYDOWN ? h->doKeyDown (m.wParam) + : h->doKeyUp (m.wParam); return false; } - #endif private: HWND hwnd, parentToAddTo; @@ -1179,7 +1186,7 @@ private: void timerCallback() override { stopTimer(); - image = Image::null; + image = Image(); } private: @@ -1551,7 +1558,7 @@ private: DeleteObject (rgn); EndPaint (hwnd, &paintStruct); - #ifndef JUCE_GCC + #if JUCE_MSVC _fpreset(); // because some graphics cards can unmask FP exceptions #endif @@ -1694,7 +1701,7 @@ private: void setCurrentRenderingEngine (int index) override { - (void) index; + ignoreUnused (index); #if JUCE_DIRECT2D if (getAvailableRenderingEngines().size() > 1) @@ -1719,12 +1726,14 @@ private: if (registerTouchWindow == nullptr) return false; - LPARAM dw = GetMessageExtraInfo(); - // see https://msdn.microsoft.com/en-us/library/windows/desktop/ms703320(v=vs.85).aspx - return (dw & SIGNATURE_MASK) == MI_WP_SIGNATURE; + // Relevant info about touch/pen detection flags: + // https://msdn.microsoft.com/en-us/library/windows/desktop/ms703320(v=vs.85).aspx + // http://www.petertissen.de/?p=4 + + return (GetMessageExtraInfo() & 0xFFFFFF80 /*SIGNATURE_MASK*/) == 0xFF515780 /*MI_WP_SIGNATURE*/; } - void doMouseMove (Point position) + void doMouseMove (Point position, bool isMouseDownEvent) { // this will be handled by WM_TOUCH if (isTouchEvent()) @@ -1733,7 +1742,13 @@ private: if (! isMouseOver) { isMouseOver = true; - ModifierKeys::getCurrentModifiersRealtime(); // (This avoids a rare stuck-button problem when focus is lost unexpectedly) + + // This avoids a rare stuck-button problem when focus is lost unexpectedly, but must + // not be called as part of a move, in case it's actually a mouse-drag from another + // app which ends up here when we get focus before the mouse is released.. + if (isMouseDownEvent) + ModifierKeys::getCurrentModifiersRealtime(); + updateKeyModifiers(); TRACKMOUSEEVENT tme; @@ -1773,7 +1788,7 @@ private: if (GetCapture() != hwnd) SetCapture (hwnd); - doMouseMove (position); + doMouseMove (position, true); if (isValidPeer (this)) { @@ -1923,8 +1938,8 @@ private: bool isCancel = false; const int touchIndex = currentTouches.getIndexOfTouch (touch.dwID); const int64 time = getMouseEventTime(); - const Point pos (globalToLocal (Point (static_cast (TOUCH_COORD_TO_PIXEL (touch.x)), - static_cast (TOUCH_COORD_TO_PIXEL (touch.y))))); + const Point pos (globalToLocal (Point (touch.x / 100.0f, + touch.y / 100.0f))); const float pressure = MouseInputSource::invalidPressure; ModifierKeys modsToSend (currentModifiers); @@ -1934,7 +1949,7 @@ private: modsToSend = currentModifiers; // this forces a mouse-enter/up event, in case for some reason we didn't get a mouse-up before. - handleMouseEvent (touchIndex, pos.toFloat(), modsToSend.withoutMouseButtons(), pressure, time); + handleMouseEvent (touchIndex, pos, modsToSend.withoutMouseButtons(), pressure, time); if (! isValidPeer (this)) // (in case this component was deleted by the event) return false; @@ -1958,7 +1973,7 @@ private: currentModifiers = currentModifiers.withoutMouseButtons(); } - handleMouseEvent (touchIndex, pos.toFloat(), modsToSend, pressure, time); + handleMouseEvent (touchIndex, pos, modsToSend, pressure, time); if (! isValidPeer (this)) // (in case this component was deleted by the event) return false; @@ -2450,7 +2465,7 @@ private: return 1; //============================================================================== - case WM_MOUSEMOVE: doMouseMove (getPointFromLParam (lParam)); return 0; + case WM_MOUSEMOVE: doMouseMove (getPointFromLParam (lParam), false); return 0; case WM_MOUSELEAVE: doMouseExit(); return 0; case WM_LBUTTONDOWN: @@ -2757,7 +2772,7 @@ private: reset(); if (TextInputTarget* const target = owner.findCurrentTextInputTarget()) - target->insertTextAtCaret (String::empty); + target->insertTextAtCaret (String()); } void handleEndComposition (ComponentPeer& owner, HWND hWnd) @@ -2768,7 +2783,7 @@ private: if (TextInputTarget* const target = owner.findCurrentTextInputTarget()) { target->setHighlightedRegion (compositionRange); - target->insertTextAtCaret (String::empty); + target->insertTextAtCaret (String()); compositionRange.setLength (0); target->setHighlightedRegion (Range::emptyRange (compositionRange.getEnd())); @@ -2843,7 +2858,7 @@ private: return String (buffer); } - return String::empty; + return String(); } int getCompositionCaretPos (HIMC hImc, LPARAM lParam, const String& currentIMEString) const @@ -3021,9 +3036,8 @@ bool KeyPress::isKeyCurrentlyDown (const int keyCode) return HWNDComponentPeer::isKeyDown (k); } -#if JUCE_MODULE_AVAILABLE_juce_audio_plugin_client +// (This internal function is used by the plugin client module) bool offerKeyMessageToJUCEWindow (MSG& m) { return HWNDComponentPeer::offerKeyMessageToJUCEWindow (m); } -#endif //============================================================================== bool JUCE_CALLTYPE Process::isForegroundProcess() @@ -3316,6 +3330,8 @@ void Desktop::setKioskComponent (Component* kioskModeComp, bool enableOrDisable, kioskModeComp->setBounds (getDisplays().getMainDisplay().totalArea); } +void Desktop::allowedOrientationsChanged() {} + //============================================================================== struct MonitorInfo { diff --git a/modules/juce_gui_basics/properties/juce_TextPropertyComponent.h b/modules/juce_gui_basics/properties/juce_TextPropertyComponent.h index 9e36f74b..2b16bbdc 100644 --- a/modules/juce_gui_basics/properties/juce_TextPropertyComponent.h +++ b/modules/juce_gui_basics/properties/juce_TextPropertyComponent.h @@ -136,7 +136,7 @@ private: }; #ifndef DOXYGEN - /** This typedef is just for compatibility with old code and VC6 - newer code should use Button::Listener instead. */ + /** This typedef is just for compatibility with old code and VC6 - newer code should use TextPropertyComponent::Listener instead. */ typedef TextPropertyComponent::Listener TextPropertyComponentListener; #endif diff --git a/modules/juce_gui_basics/widgets/juce_ComboBox.cpp b/modules/juce_gui_basics/widgets/juce_ComboBox.cpp index 409969ee..68e1c238 100644 --- a/modules/juce_gui_basics/widgets/juce_ComboBox.cpp +++ b/modules/juce_gui_basics/widgets/juce_ComboBox.cpp @@ -579,7 +579,7 @@ void ComboBox::mouseDrag (const MouseEvent& e) { beginDragAutoRepeat (50); - if (isButtonDown && ! e.mouseWasClicked()) + if (isButtonDown && e.mouseWasDraggedSinceMouseDown()) showPopupIfNotActive(); } diff --git a/modules/juce_gui_basics/widgets/juce_Label.cpp b/modules/juce_gui_basics/widgets/juce_Label.cpp index 2727c378..0393dda6 100644 --- a/modules/juce_gui_basics/widgets/juce_Label.cpp +++ b/modules/juce_gui_basics/widgets/juce_Label.cpp @@ -329,9 +329,8 @@ void Label::mouseUp (const MouseEvent& e) { if (editSingleClick && isEnabled() - && e.mouseWasClicked() && contains (e.getPosition()) - && ! e.mods.isPopupMenu()) + && ! (e.mouseWasDraggedSinceMouseDown() || e.mods.isPopupMenu())) { showEditor(); } @@ -460,7 +459,7 @@ void Label::textEditorEscapeKeyPressed (TextEditor& ed) if (editor != nullptr) { jassert (&ed == editor); - (void) ed; + ignoreUnused (ed); editor->setText (textValue.toString(), false); hideEditor (true); diff --git a/modules/juce_gui_basics/widgets/juce_Label.h b/modules/juce_gui_basics/widgets/juce_Label.h index f73c8c98..8c18f690 100644 --- a/modules/juce_gui_basics/widgets/juce_Label.h +++ b/modules/juce_gui_basics/widgets/juce_Label.h @@ -148,7 +148,7 @@ public: /** If the label is attached to the left of another component, this returns true. - Returns false if the label is above the other component. This is only relevent if + Returns false if the label is above the other component. This is only relevant if attachToComponent() has been called. */ bool isAttachedOnLeft() const noexcept { return leftOfOwnerComp; } diff --git a/modules/juce_gui_basics/widgets/juce_ListBox.cpp b/modules/juce_gui_basics/widgets/juce_ListBox.cpp index 279bda4f..6445402f 100644 --- a/modules/juce_gui_basics/widgets/juce_ListBox.cpp +++ b/modules/juce_gui_basics/widgets/juce_ListBox.cpp @@ -104,7 +104,7 @@ public: { if (ListBoxModel* m = owner.getModel()) { - if (isEnabled() && ! (e.mouseWasClicked() || isDragging)) + if (isEnabled() && e.mouseWasDraggedSinceMouseDown() && ! isDragging) { SparseSet rowsToDrag; @@ -951,7 +951,7 @@ void ListBox::startDragAndDrop (const MouseEvent& e, const SparseSet& rowsT //============================================================================== Component* ListBoxModel::refreshComponentForRow (int, bool, Component* existingComponentToUpdate) { - (void) existingComponentToUpdate; + ignoreUnused (existingComponentToUpdate); jassert (existingComponentToUpdate == nullptr); // indicates a failure in the code that recycles the components return nullptr; } diff --git a/modules/juce_gui_basics/widgets/juce_Slider.cpp b/modules/juce_gui_basics/widgets/juce_Slider.cpp index e441362a..75aaddc9 100644 --- a/modules/juce_gui_basics/widgets/juce_Slider.cpp +++ b/modules/juce_gui_basics/widgets/juce_Slider.cpp @@ -35,8 +35,6 @@ public: minimum (0), maximum (10), interval (0), doubleClickReturnValue (0), skewFactor (1.0), velocityModeSensitivity (1.0), velocityModeOffset (0.0), velocityModeThreshold (1), - rotaryStart (float_Pi * 1.2f), - rotaryEnd (float_Pi * 2.8f), sliderRegionStart (0), sliderRegionSize (1), sliderBeingDragged (-1), pixelsForFullDragExtent (250), textBoxPos (textBoxPosition), @@ -47,7 +45,6 @@ public: doubleClickToValue (false), isVelocityBased (false), userKeyOverridesVelocity (true), - rotaryStop (true), incDecButtonsSideBySide (false), sendChangeOnlyOnRelease (false), popupDisplayEnabled (false), @@ -57,6 +54,9 @@ public: snapsToMousePos (true), parentForPopupDisplay (nullptr) { + rotaryParams.startAngleRadians = float_Pi * 1.2f; + rotaryParams.endAngleRadians = float_Pi * 2.8f; + rotaryParams.stopAtEnd = true; } ~Pimpl() @@ -465,20 +465,6 @@ public: } } - void setRotaryParameters (const float startAngleRadians, - const float endAngleRadians, - const bool stopAtEnd) - { - // make sure the values are sensible.. - jassert (startAngleRadians >= 0 && endAngleRadians >= 0); - jassert (startAngleRadians < float_Pi * 4.0f && endAngleRadians < float_Pi * 4.0f); - jassert (startAngleRadians < endAngleRadians); - - rotaryStart = startAngleRadians; - rotaryEnd = endAngleRadians; - rotaryStop = stopAtEnd; - } - void setVelocityModeParameters (const double sensitivity, const int threshold, const double offset, const bool userCanPressKeyToSwapMode) { @@ -707,7 +693,7 @@ public: while (angle < 0.0) angle += double_Pi * 2.0; - if (rotaryStop && ! e.mouseWasClicked()) + if (rotaryParams.stopAtEnd && e.mouseWasDraggedSinceMouseDown()) { if (std::abs (angle - lastAngle) > double_Pi) { @@ -718,26 +704,26 @@ public: } if (angle >= lastAngle) - angle = jmin (angle, (double) jmax (rotaryStart, rotaryEnd)); + angle = jmin (angle, (double) jmax (rotaryParams.startAngleRadians, rotaryParams.endAngleRadians)); else - angle = jmax (angle, (double) jmin (rotaryStart, rotaryEnd)); + angle = jmax (angle, (double) jmin (rotaryParams.startAngleRadians, rotaryParams.endAngleRadians)); } else { - while (angle < rotaryStart) + while (angle < rotaryParams.startAngleRadians) angle += double_Pi * 2.0; - if (angle > rotaryEnd) + if (angle > rotaryParams.endAngleRadians) { - if (smallestAngleBetween (angle, rotaryStart) - <= smallestAngleBetween (angle, rotaryEnd)) - angle = rotaryStart; + if (smallestAngleBetween (angle, rotaryParams.startAngleRadians) + <= smallestAngleBetween (angle, rotaryParams.endAngleRadians)) + angle = rotaryParams.startAngleRadians; else - angle = rotaryEnd; + angle = rotaryParams.endAngleRadians; } } - const double proportion = (angle - rotaryStart) / (rotaryEnd - rotaryStart); + const double proportion = (angle - rotaryParams.startAngleRadians) / (rotaryParams.endAngleRadians - rotaryParams.startAngleRadians); valueWhenLastDragged = owner.proportionOfLengthToValue (jlimit (0.0, 1.0, proportion)); lastAngle = angle; } @@ -853,8 +839,9 @@ public: minMaxDiff = (double) valueMax.getValue() - (double) valueMin.getValue(); - lastAngle = rotaryStart + (rotaryEnd - rotaryStart) - * owner.valueToProportionOfLength (currentValue.getValue()); + lastAngle = rotaryParams.startAngleRadians + + (rotaryParams.endAngleRadians - rotaryParams.startAngleRadians) + * owner.valueToProportionOfLength (currentValue.getValue()); valueWhenLastDragged = (sliderBeingDragged == 2 ? valueMax : (sliderBeingDragged == 1 ? valueMin @@ -869,7 +856,7 @@ public: if (parentForPopupDisplay != nullptr) parentForPopupDisplay->addChildComponent (popup); else - popup->addToDesktop (0); + popup->addToDesktop (ComponentPeer::windowIsTemporary); popup->setVisible (true); } @@ -896,7 +883,7 @@ public: { if (style == IncDecButtons && ! incDecDragged) { - if (e.getDistanceFromDragStart() < 10 || e.mouseWasClicked()) + if (e.getDistanceFromDragStart() < 10 || ! e.mouseWasDraggedSinceMouseDown()) return; incDecDragged = true; @@ -1108,7 +1095,8 @@ public: lf.drawRotarySlider (g, sliderRect.getX(), sliderRect.getY(), sliderRect.getWidth(), sliderRect.getHeight(), - sliderPos, rotaryStart, rotaryEnd, owner); + sliderPos, rotaryParams.startAngleRadians, + rotaryParams.endAngleRadians, owner); } else { @@ -1195,7 +1183,7 @@ public: double valueWhenLastDragged, valueOnMouseDown, skewFactor, lastAngle; double velocityModeSensitivity, velocityModeOffset, minMaxDiff; int velocityModeThreshold; - float rotaryStart, rotaryEnd; + RotaryParameters rotaryParams; Point mouseDragStartPos, mousePosWhenLastDragged; int sliderRegionStart, sliderRegionSize; int sliderBeingDragged; @@ -1214,7 +1202,6 @@ public: bool doubleClickToValue; bool isVelocityBased; bool userKeyOverridesVelocity; - bool rotaryStop; bool incDecButtonsSideBySide; bool sendChangeOnlyOnRelease; bool popupDisplayEnabled; @@ -1326,9 +1313,25 @@ void Slider::removeListener (SliderListener* const listener) { pimpl->listene Slider::SliderStyle Slider::getSliderStyle() const noexcept { return pimpl->style; } void Slider::setSliderStyle (const SliderStyle newStyle) { pimpl->setSliderStyle (newStyle); } -void Slider::setRotaryParameters (const float startAngleRadians, const float endAngleRadians, const bool stopAtEnd) +void Slider::setRotaryParameters (RotaryParameters p) noexcept +{ + // make sure the values are sensible.. + jassert (p.startAngleRadians >= 0 && p.endAngleRadians >= 0); + jassert (p.startAngleRadians < float_Pi * 4.0f && p.endAngleRadians < float_Pi * 4.0f); + jassert (p.startAngleRadians < p.endAngleRadians); + + pimpl->rotaryParams = p; +} + +void Slider::setRotaryParameters (float startAngleRadians, float endAngleRadians, bool stopAtEnd) noexcept +{ + RotaryParameters p = { startAngleRadians, endAngleRadians, stopAtEnd }; + setRotaryParameters (p); +} + +Slider::RotaryParameters Slider::getRotaryParameters() const noexcept { - pimpl->setRotaryParameters (startAngleRadians, endAngleRadians, stopAtEnd); + return pimpl->rotaryParams; } void Slider::setVelocityBasedMode (bool vb) { pimpl->isVelocityBased = vb; } diff --git a/modules/juce_gui_basics/widgets/juce_Slider.h b/modules/juce_gui_basics/widgets/juce_Slider.h index 2e29348d..29c89de8 100644 --- a/modules/juce_gui_basics/widgets/juce_Slider.h +++ b/modules/juce_gui_basics/widgets/juce_Slider.h @@ -138,22 +138,35 @@ public: SliderStyle getSliderStyle() const noexcept; //============================================================================== - /** Changes the properties of a rotary slider. - - @param startAngleRadians the angle (in radians, clockwise from the top) at which - the slider's minimum value is represented - @param endAngleRadians the angle (in radians, clockwise from the top) at which - the slider's maximum value is represented. This must be - greater than startAngleRadians - @param stopAtEnd determines what happens when a circular drag action rotates beyond - the minimum or maximum angle. If true, the value will stop changing - until the mouse moves back the way it came; if false, the value - will snap back to the value nearest to the mouse. Note that this has - no effect if the drag mode is vertical or horizontal. - */ + struct RotaryParameters + { + /** The angle (in radians, clockwise from the top) at which + the slider's minimum value is represented. */ + float startAngleRadians; + + /** The angle (in radians, clockwise from the top) at which + the slider's maximum value is represented. This must be + greater than startAngleRadians. */ + float endAngleRadians; + + /** Determines what happens when a circular drag action rotates beyond + the minimum or maximum angle. If true, the value will stop changing + until the mouse moves back the way it came; if false, the value + will snap back to the value nearest to the mouse. Note that this has + no effect if the drag mode is vertical or horizontal.*/ + bool stopAtEnd; + }; + + /** Changes the properties of a rotary slider. */ + void setRotaryParameters (RotaryParameters newParameters) noexcept; + + /** Changes the properties of a rotary slider. */ void setRotaryParameters (float startAngleRadians, float endAngleRadians, - bool stopAtEnd); + bool stopAtEnd) noexcept; + + /** Changes the properties of a rotary slider. */ + RotaryParameters getRotaryParameters() const noexcept; /** Sets the distance the mouse has to move to drag the slider across the full extent of its range. diff --git a/modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp b/modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp index 96482c77..13fee7e2 100644 --- a/modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp +++ b/modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp @@ -590,7 +590,8 @@ void TableHeaderComponent::mouseDrag (const MouseEvent& e) { if (columnIdBeingResized == 0 && columnIdBeingDragged == 0 - && ! (e.mouseWasClicked() || e.mods.isPopupMenu())) + && e.mouseWasDraggedSinceMouseDown() + && ! e.mods.isPopupMenu()) { dragOverlayComp = nullptr; @@ -599,6 +600,7 @@ void TableHeaderComponent::mouseDrag (const MouseEvent& e) if (columnIdBeingResized != 0) { const ColumnInfo* const ci = getInfoForId (columnIdBeingResized); + jassert (ci != nullptr); initialColumnWidth = ci->width; } else @@ -767,7 +769,7 @@ void TableHeaderComponent::mouseUp (const MouseEvent& e) updateColumnUnderMouse (e); - if (columnIdUnderMouse != 0 && e.mouseWasClicked() && ! e.mods.isPopupMenu()) + if (columnIdUnderMouse != 0 && ! (e.mouseWasDraggedSinceMouseDown() || e.mods.isPopupMenu())) columnClicked (columnIdUnderMouse, e.mods); dragOverlayComp = nullptr; diff --git a/modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h b/modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h index d2e7695b..bcdca74d 100644 --- a/modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h +++ b/modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h @@ -208,14 +208,14 @@ public: If there's no such column ID, this will return -1. - If onlyCountVisibleColumns is true, this will return the index amoungst the visible columns; + If onlyCountVisibleColumns is true, this will return the index amongst the visible columns; otherwise it'll return the index amongst all the columns, including any hidden ones. */ int getIndexOfColumnId (int columnId, bool onlyCountVisibleColumns) const; /** Returns the ID of the column at a given index. - If onlyCountVisibleColumns is true, this will count the index amoungst the visible columns; + If onlyCountVisibleColumns is true, this will count the index amongst the visible columns; otherwise it'll count it amongst all the columns, including any hidden ones. If the index is out-of-range, it'll return 0. diff --git a/modules/juce_gui_basics/widgets/juce_TableListBox.cpp b/modules/juce_gui_basics/widgets/juce_TableListBox.cpp index 3cfbc19b..deb7785b 100644 --- a/modules/juce_gui_basics/widgets/juce_TableListBox.cpp +++ b/modules/juce_gui_basics/widgets/juce_TableListBox.cpp @@ -38,19 +38,28 @@ public: const TableHeaderComponent& headerComp = owner.getHeader(); const int numColumns = headerComp.getNumColumns (true); + const Rectangle clipBounds (g.getClipBounds()); for (int i = 0; i < numColumns; ++i) { if (columnComponents[i] == nullptr) { - const int columnId = headerComp.getColumnIdOfIndex (i, true); const Rectangle columnRect (headerComp.getColumnPosition(i).withHeight (getHeight())); - Graphics::ScopedSaveState ss (g); + if (columnRect.getX() >= clipBounds.getRight()) + break; - g.reduceClipRegion (columnRect); - g.setOrigin (columnRect.getX(), 0); - tableModel->paintCell (g, row, columnId, columnRect.getWidth(), columnRect.getHeight(), isSelected); + if (columnRect.getRight() > clipBounds.getX()) + { + Graphics::ScopedSaveState ss (g); + + if (g.reduceClipRegion (columnRect)) + { + g.setOrigin (columnRect.getX(), 0); + tableModel->paintCell (g, row, headerComp.getColumnIdOfIndex (i, true), + columnRect.getWidth(), columnRect.getHeight(), isSelected); + } + } } } } @@ -144,7 +153,10 @@ public: void mouseDrag (const MouseEvent& e) override { - if (isEnabled() && owner.getModel() != nullptr && ! (e.mouseWasClicked() || isDragging)) + if (isEnabled() + && owner.getModel() != nullptr + && e.mouseWasDraggedSinceMouseDown() + && ! isDragging) { SparseSet rowsToDrag; @@ -470,7 +482,7 @@ var TableListBoxModel::getDragSourceDescription (const SparseSet&) Component* TableListBoxModel::refreshComponentForCell (int, int, bool, Component* existingComponentToUpdate) { - (void) existingComponentToUpdate; + ignoreUnused (existingComponentToUpdate); jassert (existingComponentToUpdate == nullptr); // indicates a failure in the code that recycles the components return nullptr; } diff --git a/modules/juce_gui_basics/widgets/juce_TextEditor.h b/modules/juce_gui_basics/widgets/juce_TextEditor.h index 6089db6b..6d2bd5fb 100644 --- a/modules/juce_gui_basics/widgets/juce_TextEditor.h +++ b/modules/juce_gui_basics/widgets/juce_TextEditor.h @@ -554,12 +554,12 @@ public: */ LengthAndCharacterRestriction (int maxNumChars, const String& allowedCharacters); + String filterNewText (TextEditor&, const String&) override; + private: String allowedCharacters; int maxLength; - String filterNewText (TextEditor&, const String&) override; - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LengthAndCharacterRestriction) }; diff --git a/modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp b/modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp index 5e5ce3f2..a385c5a1 100644 --- a/modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp +++ b/modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp @@ -64,13 +64,13 @@ public: void mouseDrag (const MouseEvent& e) override { - if (! (isDragging || e.mouseWasClicked())) + if (e.mouseWasDraggedSinceMouseDown() && ! isDragging) { isDragging = true; if (DragAndDropContainer* const dnd = DragAndDropContainer::findParentDragContainerFor (this)) { - dnd->startDragging (Toolbar::toolbarDragDescriptor, getParentComponent(), Image::null, true); + dnd->startDragging (Toolbar::toolbarDragDescriptor, getParentComponent(), Image(), true); if (ToolbarItemComponent* const tc = getToolbarItemComponent()) { diff --git a/modules/juce_gui_basics/windows/juce_AlertWindow.cpp b/modules/juce_gui_basics/windows/juce_AlertWindow.cpp index 625b95ab..19c94688 100644 --- a/modules/juce_gui_basics/windows/juce_AlertWindow.cpp +++ b/modules/juce_gui_basics/windows/juce_AlertWindow.cpp @@ -601,7 +601,7 @@ private: else #endif { - (void) modal; // (to avoid an unused variable warning) + ignoreUnused (modal); alertBox->enterModalState (true, callback, true); alertBox.release(); diff --git a/modules/juce_gui_basics/windows/juce_AlertWindow.h b/modules/juce_gui_basics/windows/juce_AlertWindow.h index d72dcb57..9416e266 100644 --- a/modules/juce_gui_basics/windows/juce_AlertWindow.h +++ b/modules/juce_gui_basics/windows/juce_AlertWindow.h @@ -131,7 +131,7 @@ public: */ void addTextEditor (const String& name, const String& initialContents, - const String& onScreenLabel = String::empty, + const String& onScreenLabel = String(), bool isPasswordBox = false); /** Returns the contents of a named textbox. @@ -161,7 +161,7 @@ public: */ void addComboBox (const String& name, const StringArray& items, - const String& onScreenLabel = String::empty); + const String& onScreenLabel = String()); /** Returns a drop-down list that was added to the AlertWindow. @@ -246,7 +246,7 @@ public: static void JUCE_CALLTYPE showMessageBox (AlertIconType iconType, const String& title, const String& message, - const String& buttonText = String::empty, + const String& buttonText = String(), Component* associatedComponent = nullptr); #endif @@ -274,7 +274,7 @@ public: static void JUCE_CALLTYPE showMessageBoxAsync (AlertIconType iconType, const String& title, const String& message, - const String& buttonText = String::empty, + const String& buttonText = String(), Component* associatedComponent = nullptr, ModalComponentManager::Callback* callback = nullptr); @@ -317,8 +317,8 @@ public: const String& title, const String& message, #if JUCE_MODAL_LOOPS_PERMITTED - const String& button1Text = String::empty, - const String& button2Text = String::empty, + const String& button1Text = String(), + const String& button2Text = String(), Component* associatedComponent = nullptr, ModalComponentManager::Callback* callback = nullptr); #else @@ -371,9 +371,9 @@ public: const String& title, const String& message, #if JUCE_MODAL_LOOPS_PERMITTED - const String& button1Text = String::empty, - const String& button2Text = String::empty, - const String& button3Text = String::empty, + const String& button1Text = String(), + const String& button2Text = String(), + const String& button3Text = String(), Component* associatedComponent = nullptr, ModalComponentManager::Callback* callback = nullptr); #else diff --git a/modules/juce_gui_basics/windows/juce_CallOutBox.cpp b/modules/juce_gui_basics/windows/juce_CallOutBox.cpp index 296a37cb..55bf4202 100644 --- a/modules/juce_gui_basics/windows/juce_CallOutBox.cpp +++ b/modules/juce_gui_basics/windows/juce_CallOutBox.cpp @@ -230,7 +230,7 @@ void CallOutBox::updatePosition (const Rectangle& newAreaToPointTo, const R void CallOutBox::refreshPath() { repaint(); - background = Image::null; + background = Image(); outline.clear(); const float gap = 4.5f; diff --git a/modules/juce_gui_basics/windows/juce_ComponentPeer.cpp b/modules/juce_gui_basics/windows/juce_ComponentPeer.cpp index 70b3d966..324b9d27 100644 --- a/modules/juce_gui_basics/windows/juce_ComponentPeer.cpp +++ b/modules/juce_gui_basics/windows/juce_ComponentPeer.cpp @@ -593,4 +593,4 @@ void ComponentPeer::setRepresentedFile (const File&) //============================================================================== int ComponentPeer::getCurrentRenderingEngine() const { return 0; } -void ComponentPeer::setCurrentRenderingEngine (int index) { jassert (index == 0); (void) index; } +void ComponentPeer::setCurrentRenderingEngine (int index) { jassert (index == 0); ignoreUnused (index); } diff --git a/modules/juce_gui_basics/windows/juce_DialogWindow.cpp b/modules/juce_gui_basics/windows/juce_DialogWindow.cpp index 841f4271..30f23e43 100644 --- a/modules/juce_gui_basics/windows/juce_DialogWindow.cpp +++ b/modules/juce_gui_basics/windows/juce_DialogWindow.cpp @@ -33,14 +33,22 @@ DialogWindow::~DialogWindow() { } -bool DialogWindow::keyPressed (const KeyPress& key) +bool DialogWindow::escapeKeyPressed() { - if (escapeKeyTriggersCloseButton && key == KeyPress::escapeKey) + if (escapeKeyTriggersCloseButton) { setVisible (false); return true; } + return false; +} + +bool DialogWindow::keyPressed (const KeyPress& key) +{ + if (key == KeyPress::escapeKey && escapeKeyPressed()) + return true; + return DocumentWindow::keyPressed (key); } diff --git a/modules/juce_gui_basics/windows/juce_DialogWindow.h b/modules/juce_gui_basics/windows/juce_DialogWindow.h index 85da72c9..637faae0 100644 --- a/modules/juce_gui_basics/windows/juce_DialogWindow.h +++ b/modules/juce_gui_basics/windows/juce_DialogWindow.h @@ -239,6 +239,12 @@ public: #endif + /** Called when the escape key is pressed. + This can be overridden to do things other than the default behaviour, which is to hide + the window. Return true if the key has been used, or false if it was ignored. + */ + virtual bool escapeKeyPressed(); + protected: //============================================================================== /** @internal */ diff --git a/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp b/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp index 7aa03ee4..341acaa6 100644 --- a/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp +++ b/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp @@ -335,9 +335,7 @@ void ResizableWindow::setConstrainer (ComponentBoundsConstrainer* newConstrainer resizableBorder = nullptr; setResizable (shouldBeResizable, useBottomRightCornerResizer); - - if (ComponentPeer* const peer = getPeer()) - peer->setConstrainer (newConstrainer); + updatePeerConstrainer(); } } @@ -384,9 +382,7 @@ void ResizableWindow::lookAndFeelChanged() if (isOnDesktop()) { Component::addToDesktop (getDesktopWindowStyleFlags()); - - if (ComponentPeer* const peer = getPeer()) - peer->setConstrainer (constrainer); + updatePeerConstrainer(); } } @@ -492,7 +488,10 @@ bool ResizableWindow::isKioskMode() const void ResizableWindow::updateLastPosIfShowing() { if (isShowing()) + { updateLastPosIfNotFullScreen(); + updatePeerConstrainer(); + } } void ResizableWindow::updateLastPosIfNotFullScreen() @@ -501,6 +500,13 @@ void ResizableWindow::updateLastPosIfNotFullScreen() lastNonFullScreenPos = getBounds(); } +void ResizableWindow::updatePeerConstrainer() +{ + if (isOnDesktop()) + if (ComponentPeer* const peer = getPeer()) + peer->setConstrainer (constrainer); +} + void ResizableWindow::parentSizeChanged() { if (isFullScreen() && getParentComponent() != nullptr) diff --git a/modules/juce_gui_basics/windows/juce_ResizableWindow.h b/modules/juce_gui_basics/windows/juce_ResizableWindow.h index aff66092..c30deb0c 100644 --- a/modules/juce_gui_basics/windows/juce_ResizableWindow.h +++ b/modules/juce_gui_basics/windows/juce_ResizableWindow.h @@ -154,7 +154,7 @@ public: /** Sets the bounds-constrainer object to use for resizing and dragging this window. A pointer to the object you pass in will be kept, but it won't be deleted - by this object, so it's the caller's responsiblity to manage it. + by this object, so it's the caller's responsibility to manage it. If you pass a nullptr, then no contraints will be placed on the positioning of the window. */ @@ -216,7 +216,7 @@ public: /** Restores the window to a previously-saved size and position. - This restores the window's size, positon and full-screen status from an + This restores the window's size, position and full-screen status from an string that was previously created with the getWindowStateAsString() method. @@ -395,6 +395,7 @@ private: void updateLastPosIfNotFullScreen(); void updateLastPosIfShowing(); void setContent (Component*, bool takeOwnership, bool resizeToFit); + void updatePeerConstrainer(); #if JUCE_CATCH_DEPRECATED_CODE_MISUSE // The parameters for these methods have changed - please update your code! diff --git a/modules/juce_gui_basics/windows/juce_TopLevelWindow.h b/modules/juce_gui_basics/windows/juce_TopLevelWindow.h index 2ff59e37..2f3a60a3 100644 --- a/modules/juce_gui_basics/windows/juce_TopLevelWindow.h +++ b/modules/juce_gui_basics/windows/juce_TopLevelWindow.h @@ -79,7 +79,7 @@ public: window. If your app has a few windows open and want to pop up a dialog box for one of - them, you can use this to show it in front of the relevent parent window, which + them, you can use this to show it in front of the relevant parent window, which is a bit neater than just having it appear in the middle of the screen. If componentToCentreAround is nullptr, then the currently active TopLevelWindow will diff --git a/modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h b/modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h index fd29ce0e..176e7636 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/code_editor/juce_CodeDocument.cpp b/modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp index 6183fb64..6662ee8c 100644 --- a/modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp +++ b/modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp @@ -433,7 +433,7 @@ String CodeDocument::Position::getLineText() const if (const CodeDocumentLine* const l = owner->lines [line]) return l->line; - return String::empty; + return String(); } void CodeDocument::Position::setPositionMaintained (const bool isMaintained) @@ -482,7 +482,7 @@ String CodeDocument::getAllContent() const String CodeDocument::getTextBetween (const Position& start, const Position& end) const { if (end.getPosition() <= start.getPosition()) - return String::empty; + return String(); const int startLine = start.getLineNumber(); const int endLine = end.getLineNumber(); @@ -492,7 +492,7 @@ String CodeDocument::getTextBetween (const Position& start, const Position& end) if (CodeDocumentLine* const line = lines [startLine]) return line->line.substring (start.getIndexInLine(), end.getIndexInLine()); - return String::empty; + return String(); } MemoryOutputStream mo; @@ -537,7 +537,7 @@ String CodeDocument::getLine (const int lineIndex) const noexcept if (const CodeDocumentLine* const line = lines [lineIndex]) return line->line; - return String::empty; + return String(); } int CodeDocument::getMaximumLineLength() noexcept @@ -634,7 +634,7 @@ void CodeDocument::setNewLineCharacters (const String& newChars) noexcept void CodeDocument::newTransaction() { - undoManager.beginNewTransaction (String::empty); + undoManager.beginNewTransaction (String()); } void CodeDocument::undo() diff --git a/modules/juce_gui_extra/code_editor/juce_CodeDocument.h b/modules/juce_gui_extra/code_editor/juce_CodeDocument.h index 80b416db..a98cef7d 100644 --- a/modules/juce_gui_extra/code_editor/juce_CodeDocument.h +++ b/modules/juce_gui_extra/code_editor/juce_CodeDocument.h @@ -142,7 +142,7 @@ public: /** Allows the position to be automatically updated when the document changes. - If this is set to true, the positon will register with its document so that + If this is set to true, the position will register with its document so that when the document has text inserted or deleted, this position will be automatically moved to keep it at the same position in the text. */ diff --git a/modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp b/modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp index de4f021d..d3b0d2cd 100644 --- a/modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp +++ b/modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp @@ -870,7 +870,7 @@ void CodeEditorComponent::indentSelectedLines (const int spacesToAdd) void CodeEditorComponent::cut() { - insertText (String::empty); + insertText (String()); } bool CodeEditorComponent::copyToClipboard() diff --git a/modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp b/modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp index 247ccd48..ead51c2e 100644 --- a/modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp +++ b/modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp @@ -52,7 +52,7 @@ CodeEditorComponent::ColourScheme XmlTokeniser::getDefaultColourScheme() cs.set (types[i].name, Colour (types[i].colour)); return cs; -}; +} template static void skipToEndOfXmlDTD (Iterator& source) noexcept diff --git a/modules/juce_gui_extra/juce_gui_extra.cpp b/modules/juce_gui_extra/juce_gui_extra.cpp index 59b4df9e..89c73970 100644 --- a/modules/juce_gui_extra/juce_gui_extra.cpp +++ b/modules/juce_gui_extra/juce_gui_extra.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_GUI_EXTRA_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_GUI_EXTRA_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,11 +31,12 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" +#define JUCE_CORE_INCLUDE_OBJC_HELPERS 1 +#define JUCE_CORE_INCLUDE_COM_SMART_PTR 1 +#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1 +#define JUCE_EVENTS_INCLUDE_WIN32_MESSAGE_WINDOW 1 +#define JUCE_GRAPHICS_INCLUDE_COREGRAPHICS_HELPERS 1 -#include "../juce_core/native/juce_BasicNativeHeaders.h" #include "juce_gui_extra.h" //============================================================================== @@ -73,10 +74,6 @@ namespace juce { -#if JUCE_MAC || JUCE_IOS - #include "../juce_core/native/juce_osx_ObjCHelpers.h" -#endif - #include "documents/juce_FileBasedDocument.cpp" #include "code_editor/juce_CodeDocument.cpp" #include "code_editor/juce_CodeEditorComponent.cpp" @@ -102,9 +99,6 @@ namespace juce //============================================================================== #if JUCE_MAC || JUCE_IOS - #include "../juce_core/native/juce_osx_ObjCHelpers.h" - #include "../juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" - #if JUCE_MAC #include "native/juce_mac_NSViewComponent.mm" #include "native/juce_mac_AppleRemote.mm" @@ -121,8 +115,6 @@ namespace juce //============================================================================== #elif JUCE_WINDOWS - #include "../juce_core/native/juce_win32_ComSmartPtr.h" - #include "../juce_events/native/juce_win32_HiddenMessageWindow.h" #include "native/juce_win32_ActiveXComponent.cpp" #if JUCE_WEB_BROWSER #include "native/juce_win32_WebBrowserComponent.cpp" diff --git a/modules/juce_gui_extra/juce_gui_extra.h b/modules/juce_gui_extra/juce_gui_extra.h index f40d5f4a..c2719a94 100644 --- a/modules/juce_gui_extra/juce_gui_extra.h +++ b/modules/juce_gui_extra/juce_gui_extra.h @@ -22,13 +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_gui_extra + vendor: juce + version: 4.2.1 + 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 This lets you disable the WebBrowserComponent class (Mac and Windows). If you're not using any embedded web-pages, turning this off may reduce your code size. @@ -47,7 +71,7 @@ #endif #endif -//============================================================================= +//============================================================================== namespace juce { diff --git a/modules/juce_gui_extra/juce_module_info b/modules/juce_gui_extra/juce_module_info deleted file mode 100644 index 48f9d97e..00000000 --- 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_gui_extra/misc/juce_ColourSelector.cpp b/modules/juce_gui_extra/misc/juce_ColourSelector.cpp index 50a1d285..ed34f1ec 100644 --- a/modules/juce_gui_extra/misc/juce_ColourSelector.cpp +++ b/modules/juce_gui_extra/misc/juce_ColourSelector.cpp @@ -125,7 +125,7 @@ public: if (lastHue != h) { lastHue = h; - colours = Image::null; + colours = Image(); repaint(); } @@ -134,7 +134,7 @@ public: void resized() override { - colours = Image::null; + colours = Image(); updateMarker(); } diff --git a/modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp b/modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp index 705a3b43..3014021a 100644 --- a/modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp +++ b/modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp @@ -176,13 +176,16 @@ public: static void keyChosen (int result, ChangeKeyButton* button) { - if (result != 0 && button != nullptr && button->currentKeyEntryWindow != nullptr) + if (button != nullptr && button->currentKeyEntryWindow != nullptr) { - button->currentKeyEntryWindow->setVisible (false); - button->setNewKey (button->currentKeyEntryWindow->lastPress, false); - } + if (result != 0) + { + button->currentKeyEntryWindow->setVisible (false); + button->setNewKey (button->currentKeyEntryWindow->lastPress, false); + } - button->currentKeyEntryWindow = nullptr; + button->currentKeyEntryWindow = nullptr; + } } void assignNewKey() diff --git a/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp b/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp index d9ea4325..39d70489 100644 --- a/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp +++ b/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp @@ -141,6 +141,6 @@ void RecentlyOpenedFilesList::registerRecentFileNatively (const File& file) noteNewRecentDocumentURL: [NSURL fileURLWithPath: juceStringToNS (file.getFullPathName())]]; } #else - (void) file; + ignoreUnused (file); #endif } diff --git a/modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp b/modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp index 15421688..e6bec05e 100644 --- a/modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp +++ b/modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp @@ -27,6 +27,10 @@ WebBrowserComponent::WebBrowserComponent (const bool unloadPageWhenBrowserIsHidd blankPageShown (false), unloadPageWhenBrowserIsHidden (unloadPageWhenBrowserIsHidden_) { + // Unfortunately, WebBrowserComponent is not implemented for Android yet! + // This is just a stub implementation without any useful functionality. + jassertfalse; + setOpaque (true); } diff --git a/modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp b/modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp index 13d1981c..6de6880e 100644 --- a/modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp +++ b/modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp @@ -32,6 +32,10 @@ WebBrowserComponent::WebBrowserComponent (const bool unloadPageWhenBrowserIsHidd blankPageShown (false), unloadPageWhenBrowserIsHidden (unloadPageWhenBrowserIsHidden_) { + // Unfortunately, WebBrowserComponent is not implemented for Linux yet! + // This is just a stub implementation without any useful functionality. + jassertfalse; + setOpaque (true); } diff --git a/modules/juce_gui_extra/native/juce_mac_AppleRemote.mm b/modules/juce_gui_extra/native/juce_mac_AppleRemote.mm index 6671992e..8ea7979e 100644 --- a/modules/juce_gui_extra/native/juce_mac_AppleRemote.mm +++ b/modules/juce_gui_extra/native/juce_mac_AppleRemote.mm @@ -23,8 +23,8 @@ */ AppleRemoteDevice::AppleRemoteDevice() - : device (0), - queue (0), + : device (nullptr), + queue (nullptr), remoteId (0) { } @@ -73,13 +73,13 @@ namespace CFUUIDGetUUIDBytes (kIOHIDDeviceInterfaceID), device); - (void) hr; + ignoreUnused (hr); (*cfPlugInInterface)->Release (cfPlugInInterface); } } - return *device != 0; + return *device != nullptr; } void appleRemoteQueueCallback (void* const target, const IOReturn result, void*, void*) @@ -91,7 +91,7 @@ namespace bool AppleRemoteDevice::start (const bool inExclusiveMode) { - if (queue != 0) + if (queue != nullptr) return true; stop(); @@ -114,25 +114,25 @@ bool AppleRemoteDevice::start (const bool inExclusiveMode) void AppleRemoteDevice::stop() { - if (queue != 0) + if (queue != nullptr) { (*(IOHIDQueueInterface**) queue)->stop ((IOHIDQueueInterface**) queue); (*(IOHIDQueueInterface**) queue)->dispose ((IOHIDQueueInterface**) queue); (*(IOHIDQueueInterface**) queue)->Release ((IOHIDQueueInterface**) queue); - queue = 0; + queue = nullptr; } - if (device != 0) + if (device != nullptr) { (*(IOHIDDeviceInterface**) device)->close ((IOHIDDeviceInterface**) device); (*(IOHIDDeviceInterface**) device)->Release ((IOHIDDeviceInterface**) device); - device = 0; + device = nullptr; } } bool AppleRemoteDevice::isActive() const { - return queue != 0; + return queue != nullptr; } bool AppleRemoteDevice::open (const bool openInExclusiveMode) @@ -229,7 +229,6 @@ void AppleRemoteDevice::handleCallbackInternal() } cookies [numCookies++] = 0; - //DBG (String::toHexString ((uint8*) cookies, numCookies, 1) + " " + String (totalValues)); static const char buttonPatterns[] = { diff --git a/modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h b/modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h index 6a1b747c..bd1d5645 100644 --- a/modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h +++ b/modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h @@ -40,9 +40,9 @@ class CarbonViewWrapperComponent : public Component, public: CarbonViewWrapperComponent() : ComponentMovementWatcher (this), + carbonWindow (nil), keepPluginWindowWhenHidden (false), - wrapperWindow (0), - carbonWindow (0), + wrapperWindow (nil), embeddedView (0), recursiveResize (false), repaintChildOnCreation (true) @@ -73,7 +73,7 @@ public: void createWindow() { - if (wrapperWindow == 0) + if (wrapperWindow == nil) { Rect r; r.left = (short) getScreenX(); @@ -135,7 +135,7 @@ public: removeView (embeddedView); embeddedView = 0; - if (wrapperWindow != 0) + if (wrapperWindow != nil) { NSWindow* ownerWindow = getOwnerWindow(); @@ -147,7 +147,7 @@ public: RemoveEventHandler (eventHandlerRef); DisposeWindow (wrapperWindow); - wrapperWindow = 0; + wrapperWindow = nil; } } @@ -192,7 +192,7 @@ public: HIViewSetFrame (embeddedView, &r); } - if (wrapperWindow != 0) + if (wrapperWindow != nil) { jassert (getTopLevelComponent()->getDesktopScaleFactor() == 1.0f); Rectangle screenBounds (getScreenBounds() * Desktop::getInstance().getGlobalScaleFactor()); @@ -316,11 +316,11 @@ public: return ((CarbonViewWrapperComponent*) userData)->carbonEventHandler (nextHandlerRef, event); } + NSWindow* carbonWindow; bool keepPluginWindowWhenHidden; protected: WindowRef wrapperWindow; - NSWindow* carbonWindow; HIViewRef embeddedView; bool recursiveResize, repaintChildOnCreation; Time creationTime; @@ -330,4 +330,15 @@ protected: NSWindow* getOwnerWindow() const { return [((NSView*) getWindowHandle()) window]; } }; +//============================================================================== +// Non-public utility function that hosts can use if they need to get hold of the +// internals of a carbon wrapper window.. +void* getCarbonWindow (Component* possibleCarbonComponent) +{ + if (CarbonViewWrapperComponent* cv = dynamic_cast (possibleCarbonComponent)) + return cv->carbonWindow; + + return nullptr; +} + #endif // JUCE_MAC_CARBONVIEWWRAPPERCOMPONENT_H_INCLUDED diff --git a/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm b/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm index c591d0b1..1b8a8b22 100644 --- a/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm +++ b/modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm @@ -98,7 +98,7 @@ private: [resultListener chooseFilename: juceStringToNS (files.getReference(i).getFullPathName())]; } #else - (void) resultListener; (void) allowMultipleFiles; + ignoreUnused (resultListener, allowMultipleFiles); jassertfalse; // Can't use this without modal loops being enabled! #endif } @@ -122,8 +122,7 @@ private: - (BOOL) gestureRecognizer: (UIGestureRecognizer*) gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer: (UIGestureRecognizer*) otherGestureRecognizer { - (void) gestureRecognizer; - (void) otherGestureRecognizer; + ignoreUnused (gestureRecognizer, otherGestureRecognizer); return YES; } @@ -153,8 +152,7 @@ private: - (BOOL) webView: (UIWebView*) webView shouldStartLoadWithRequest: (NSURLRequest*) request navigationType: (UIWebViewNavigationType) navigationType { - (void) webView; - (void) navigationType; + ignoreUnused (webView, navigationType); return ownerComponent->pageAboutToLoad (nsStringToJuce (request.URL.absoluteString)); } @@ -262,6 +260,10 @@ public: #else [webView loadRequest: r]; #endif + + #if JUCE_IOS + [webView setScalesPageToFit:YES]; + #endif } } diff --git a/modules/juce_opengl/juce_module_info b/modules/juce_opengl/juce_module_info deleted file mode 100644 index cdc34954..00000000 --- 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.cpp b/modules/juce_opengl/juce_opengl.cpp index c17adbf2..1c8994fd 100644 --- a/modules/juce_opengl/juce_opengl.cpp +++ b/modules/juce_opengl/juce_opengl.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_OPENGL_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_OPENGL_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,11 +31,11 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" +#define JUCE_CORE_INCLUDE_OBJC_HELPERS 1 +#define JUCE_CORE_INCLUDE_JNI_HELPERS 1 +#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1 +#define JUCE_GRAPHICS_INCLUDE_COREGRAPHICS_HELPERS 1 -#include "../juce_core/native/juce_BasicNativeHeaders.h" #include "juce_opengl.h" //============================================================================== @@ -83,29 +83,41 @@ void OpenGLExtensionFunctions::initialise() #if JUCE_WINDOWS || JUCE_LINUX #define JUCE_INIT_GL_FUNCTION(name, returnType, params, callparams) \ name = (type_ ## name) OpenGLHelpers::getExtensionFunction (#name); - #define JUCE_INIT_GL_FUNCTION_EXT(name, returnType, params, callparams) \ + + JUCE_GL_BASE_FUNCTIONS (JUCE_INIT_GL_FUNCTION) + #undef JUCE_INIT_GL_FUNCTION + + #define JUCE_INIT_GL_FUNCTION(name, returnType, params, callparams) \ name = (type_ ## name) OpenGLHelpers::getExtensionFunction (#name); \ if (name == nullptr) \ name = (type_ ## name) OpenGLHelpers::getExtensionFunction (JUCE_STRINGIFY (name ## EXT)); - JUCE_GL_EXTENSION_FUNCTIONS (JUCE_INIT_GL_FUNCTION, JUCE_INIT_GL_FUNCTION_EXT) + JUCE_GL_EXTENSION_FUNCTIONS (JUCE_INIT_GL_FUNCTION) + #if JUCE_OPENGL3 + JUCE_GL_VERTEXBUFFER_FUNCTIONS (JUCE_INIT_GL_FUNCTION) + #endif + #undef JUCE_INIT_GL_FUNCTION - #undef JUCE_INIT_GL_FUNCTION_EXT #endif } #if JUCE_OPENGL_ES #define JUCE_DECLARE_GL_FUNCTION(name, returnType, params, callparams) \ - returnType OpenGLExtensionFunctions::name params { return ::name callparams; } + returnType OpenGLExtensionFunctions::name params noexcept { return ::name callparams; } + + JUCE_GL_BASE_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) + JUCE_GL_EXTENSION_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) +#if JUCE_OPENGL3 + JUCE_GL_VERTEXBUFFER_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) +#endif - JUCE_GL_EXTENSION_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION, JUCE_DECLARE_GL_FUNCTION) #undef JUCE_DECLARE_GL_FUNCTION #endif #undef JUCE_GL_EXTENSION_FUNCTIONS #if JUCE_DEBUG && ! defined (JUCE_CHECK_OPENGL_ERROR) -static const char* getGLErrorMessage (const GLenum e) +static const char* getGLErrorMessage (const GLenum e) noexcept { switch (e) { @@ -185,8 +197,6 @@ private: //============================================================================== #if JUCE_MAC || JUCE_IOS - #include "../juce_core/native/juce_osx_ObjCHelpers.h" - #include "../juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" #if JUCE_MAC #include "native/juce_OpenGL_osx.h" @@ -201,7 +211,6 @@ private: #include "native/juce_OpenGL_linux.h" #elif JUCE_ANDROID - #include "../juce_core/native/juce_android_JNIHelpers.h" #include "native/juce_OpenGL_android.h" #endif diff --git a/modules/juce_opengl/juce_opengl.h b/modules/juce_opengl/juce_opengl.h index 5c627ae7..208c678d 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.1 + 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 @@ -81,7 +115,7 @@ #define JUCE_OPENGL3 1 #endif -//============================================================================= +//============================================================================== /** This macro is a helper for use in GLSL shader code which needs to compile on both OpenGL 2.1 and OpenGL 3.0. It's mandatory in OpenGL 3.0 to specify the GLSL version. */ @@ -95,7 +129,7 @@ #define JUCE_GLSL_VERSION "" #endif -//============================================================================= +//============================================================================== #if JUCE_OPENGL_ES || defined (DOXYGEN) /** This macro is a helper for use in GLSL shader code which needs to compile on both GLES and desktop GL. Since it's mandatory in GLES to mark a variable with a precision, but the keywords don't exist in normal GLSL, @@ -120,7 +154,7 @@ #define JUCE_LOWP #endif -//============================================================================= +//============================================================================== namespace juce { diff --git a/modules/juce_opengl/native/juce_OpenGLExtensions.h b/modules/juce_opengl/native/juce_OpenGLExtensions.h index daa3d619..abfdda53 100644 --- a/modules/juce_opengl/native/juce_OpenGLExtensions.h +++ b/modules/juce_opengl/native/juce_OpenGLExtensions.h @@ -25,36 +25,17 @@ #ifndef JUCE_OPENGLEXTENSIONS_H_INCLUDED #define JUCE_OPENGLEXTENSIONS_H_INCLUDED -#if JUCE_MAC && (JUCE_PPC || ((! defined (MAC_OS_X_VERSION_10_6)) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6)) - #define JUCE_EXT(func) func ## EXT -#else - #define JUCE_EXT(func) func -#endif /** @internal This macro contains a list of GL extension functions that need to be dynamically loaded on Windows/Linux. @see OpenGLExtensionFunctions */ -#define JUCE_GL_EXTENSION_FUNCTIONS(USE_FUNCTION, EXT_FUNCTION) \ +#define JUCE_GL_BASE_FUNCTIONS(USE_FUNCTION) \ USE_FUNCTION (glActiveTexture, void, (GLenum p1), (p1))\ USE_FUNCTION (glBindBuffer, void, (GLenum p1, GLuint p2), (p1, p2))\ USE_FUNCTION (glDeleteBuffers, void, (GLsizei p1, const GLuint* p2), (p1, p2))\ USE_FUNCTION (glGenBuffers, void, (GLsizei p1, GLuint* p2), (p1, p2))\ USE_FUNCTION (glBufferData, void, (GLenum p1, GLsizeiptr p2, const GLvoid* p3, GLenum p4), (p1, p2, p3, p4))\ USE_FUNCTION (glBufferSubData, void, (GLenum p1, GLintptr p2, GLsizeiptr p3, const GLvoid* p4), (p1, p2, p3, p4))\ - EXT_FUNCTION (glIsRenderbuffer, GLboolean, (GLuint p1), (p1))\ - EXT_FUNCTION (glBindRenderbuffer, void, (GLenum p1, GLuint p2), (p1, p2))\ - EXT_FUNCTION (glDeleteRenderbuffers, void, (GLsizei p1, const GLuint* p2), (p1, p2))\ - EXT_FUNCTION (glGenRenderbuffers, void, (GLsizei p1, GLuint* p2), (p1, p2))\ - EXT_FUNCTION (glRenderbufferStorage, void, (GLenum p1, GLenum p2, GLsizei p3, GLsizei p4), (p1, p2, p3, p4))\ - EXT_FUNCTION (glGetRenderbufferParameteriv, void, (GLenum p1, GLenum p2, GLint* p3), (p1, p2, p3))\ - EXT_FUNCTION (glIsFramebuffer, GLboolean, (GLuint p1), (p1))\ - EXT_FUNCTION (glBindFramebuffer, void, (GLenum p1, GLuint p2), (p1, p2))\ - EXT_FUNCTION (glDeleteFramebuffers, void, (GLsizei p1, const GLuint* p2), (p1, p2))\ - EXT_FUNCTION (glGenFramebuffers, void, (GLsizei p1, GLuint* p2), (p1, p2))\ - EXT_FUNCTION (glCheckFramebufferStatus, GLenum, (GLenum p1), (p1))\ - EXT_FUNCTION (glFramebufferTexture2D, void, (GLenum p1, GLenum p2, GLenum p3, GLuint p4, GLint p5), (p1, p2, p3, p4, p5))\ - EXT_FUNCTION (glFramebufferRenderbuffer, void, (GLenum p1, GLenum p2, GLenum p3, GLuint p4), (p1, p2, p3, p4))\ - EXT_FUNCTION (glGetFramebufferAttachmentParameteriv, void, (GLenum p1, GLenum p2, GLenum p3, GLint* p4), (p1, p2, p3, p4))\ USE_FUNCTION (glCreateProgram, GLuint, (), ())\ USE_FUNCTION (glDeleteProgram, void, (GLuint p1), (p1))\ USE_FUNCTION (glCreateShader, GLuint, (GLenum p1), (p1))\ @@ -84,6 +65,33 @@ USE_FUNCTION (glUniformMatrix3fv, void, (GLint p1, GLsizei p2, GLboolean p3, const GLfloat* p4), (p1, p2, p3, p4))\ USE_FUNCTION (glUniformMatrix4fv, void, (GLint p1, GLsizei p2, GLboolean p3, const GLfloat* p4), (p1, p2, p3, p4)) +/** @internal This macro contains a list of GL extension functions that need to be dynamically loaded on Windows/Linux. + @see OpenGLExtensionFunctions +*/ +#define JUCE_GL_EXTENSION_FUNCTIONS(USE_FUNCTION) \ + USE_FUNCTION (glIsRenderbuffer, GLboolean, (GLuint p1), (p1))\ + USE_FUNCTION (glBindRenderbuffer, void, (GLenum p1, GLuint p2), (p1, p2))\ + USE_FUNCTION (glDeleteRenderbuffers, void, (GLsizei p1, const GLuint* p2), (p1, p2))\ + USE_FUNCTION (glGenRenderbuffers, void, (GLsizei p1, GLuint* p2), (p1, p2))\ + USE_FUNCTION (glRenderbufferStorage, void, (GLenum p1, GLenum p2, GLsizei p3, GLsizei p4), (p1, p2, p3, p4))\ + USE_FUNCTION (glGetRenderbufferParameteriv, void, (GLenum p1, GLenum p2, GLint* p3), (p1, p2, p3))\ + USE_FUNCTION (glIsFramebuffer, GLboolean, (GLuint p1), (p1))\ + USE_FUNCTION (glBindFramebuffer, void, (GLenum p1, GLuint p2), (p1, p2))\ + USE_FUNCTION (glDeleteFramebuffers, void, (GLsizei p1, const GLuint* p2), (p1, p2))\ + USE_FUNCTION (glGenFramebuffers, void, (GLsizei p1, GLuint* p2), (p1, p2))\ + USE_FUNCTION (glCheckFramebufferStatus, GLenum, (GLenum p1), (p1))\ + USE_FUNCTION (glFramebufferTexture2D, void, (GLenum p1, GLenum p2, GLenum p3, GLuint p4, GLint p5), (p1, p2, p3, p4, p5))\ + USE_FUNCTION (glFramebufferRenderbuffer, void, (GLenum p1, GLenum p2, GLenum p3, GLuint p4), (p1, p2, p3, p4))\ + USE_FUNCTION (glGetFramebufferAttachmentParameteriv, void, (GLenum p1, GLenum p2, GLenum p3, GLint* p4), (p1, p2, p3, p4)) + +/** @internal This macro contains a list of GL extension functions that need to be dynamically loaded on Windows/Linux. + @see OpenGLExtensionFunctions +*/ +#define JUCE_GL_VERTEXBUFFER_FUNCTIONS(USE_FUNCTION) \ + USE_FUNCTION (glGenVertexArrays, void, (GLsizei p1, GLuint* p2), (p1, p2))\ + USE_FUNCTION (glDeleteVertexArrays, void, (GLsizei p1, const GLuint* p2), (p1, p2))\ + USE_FUNCTION (glBindVertexArray, void, (GLuint p1), (p1)) + /** This class contains a generated list of OpenGL extension functions, which are either dynamically loaded for a specific GL context, or simply call-through to the appropriate OS function where available. @@ -101,24 +109,45 @@ struct OpenGLExtensionFunctions //============================================================================== #if JUCE_WINDOWS #define JUCE_DECLARE_GL_FUNCTION(name, returnType, params, callparams) typedef returnType (__stdcall *type_ ## name) params; type_ ## name name; - JUCE_GL_EXTENSION_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION, JUCE_DECLARE_GL_FUNCTION) + JUCE_GL_BASE_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) + JUCE_GL_EXTENSION_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) + #if JUCE_OPENGL3 + JUCE_GL_VERTEXBUFFER_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) + #endif + //============================================================================== #elif JUCE_LINUX #define JUCE_DECLARE_GL_FUNCTION(name, returnType, params, callparams) typedef returnType (*type_ ## name) params; type_ ## name name; - JUCE_GL_EXTENSION_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION, JUCE_DECLARE_GL_FUNCTION) + JUCE_GL_BASE_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) + JUCE_GL_EXTENSION_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) + #if JUCE_OPENGL3 + JUCE_GL_VERTEXBUFFER_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) + #endif + //============================================================================== #elif JUCE_OPENGL_ES - #define JUCE_DECLARE_GL_FUNCTION(name, returnType, params, callparams) static returnType name params; - JUCE_GL_EXTENSION_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION, JUCE_DECLARE_GL_FUNCTION) + #define JUCE_DECLARE_GL_FUNCTION(name, returnType, params, callparams) static returnType name params noexcept; + JUCE_GL_BASE_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) + JUCE_GL_EXTENSION_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) + JUCE_GL_VERTEXBUFFER_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) + //============================================================================== #else - #define JUCE_DECLARE_GL_FUNCTION(name, returnType, params, callparams) inline static returnType name params { return ::name callparams; } + #define JUCE_DECLARE_GL_FUNCTION(name, returnType, params, callparams) inline static returnType name params noexcept { return ::name callparams; } + JUCE_GL_BASE_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) + + #ifndef GL3_PROTOTYPES + #undef JUCE_DECLARE_GL_FUNCTION + #define JUCE_DECLARE_GL_FUNCTION(name, returnType, params, callparams) inline static returnType name params noexcept { return ::name ## EXT callparams; } + #endif + JUCE_GL_EXTENSION_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) + #if JUCE_OPENGL3 - JUCE_GL_EXTENSION_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION, JUCE_DECLARE_GL_FUNCTION) - #else - #define JUCE_DECLARE_GL_FUNCTION_EXT(name, returnType, params, callparams) inline static returnType name params { return ::name ## EXT callparams; } - JUCE_GL_EXTENSION_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION, JUCE_DECLARE_GL_FUNCTION_EXT) - #undef JUCE_DECLARE_GL_FUNCTION_EXT + #ifndef GL3_PROTOTYPES + #undef JUCE_DECLARE_GL_FUNCTION + #define JUCE_DECLARE_GL_FUNCTION(name, returnType, params, callparams) inline static returnType name params noexcept { return ::name ## APPLE callparams; } + #endif + JUCE_GL_VERTEXBUFFER_FUNCTIONS (JUCE_DECLARE_GL_FUNCTION) #endif #endif diff --git a/modules/juce_opengl/native/juce_OpenGL_android.h b/modules/juce_opengl/native/juce_OpenGL_android.h index e0ce17b9..1831aa45 100644 --- a/modules/juce_opengl/native/juce_OpenGL_android.h +++ b/modules/juce_opengl/native/juce_OpenGL_android.h @@ -68,7 +68,7 @@ public: if (surfaceView.get() == nullptr) return; - // add the view to the view hierachy + // add the view to the view hierarchy // after this the nativecontext can receive callbacks env->CallVoidMethod ((jobject) component.getPeer()->getNativeHandle(), AndroidViewGroup.addView, surfaceView.get()); @@ -251,7 +251,7 @@ private: } //============================================================================== - bool hasInitialised, hasBeenAddedToViewHierachy; + bool hasInitialised; GlobalRef surfaceView; Rectangle lastBounds; diff --git a/modules/juce_opengl/native/juce_OpenGL_ios.h b/modules/juce_opengl/native/juce_OpenGL_ios.h index fa193f28..816e5eec 100644 --- a/modules/juce_opengl/native/juce_OpenGL_ios.h +++ b/modules/juce_opengl/native/juce_OpenGL_ios.h @@ -240,7 +240,7 @@ private: glFramebufferRenderbuffer (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorBufferHandle); bool ok = [context renderbufferStorage: GL_RENDERBUFFER fromDrawable: glLayer]; - jassert (ok); (void) ok; + jassert (ok); ignoreUnused (ok); GLint width, height; glGetRenderbufferParameteriv (GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &width); diff --git a/modules/juce_opengl/native/juce_OpenGL_osx.h b/modules/juce_opengl/native/juce_OpenGL_osx.h index 21c92907..aa2c71e0 100644 --- a/modules/juce_opengl/native/juce_OpenGL_osx.h +++ b/modules/juce_opengl/native/juce_OpenGL_osx.h @@ -72,7 +72,7 @@ public: static void createAttribs (NSOpenGLPixelFormatAttribute* attribs, OpenGLVersion version, const OpenGLPixelFormat& pixFormat, bool shouldUseMultisampling) { - (void) version; + ignoreUnused (version); int numAttribs = 0; #if JUCE_OPENGL3 @@ -157,9 +157,37 @@ public: void swapBuffers() { + double now = Time::getMillisecondCounterHiRes(); [renderContext flushBuffer]; - sleepIfRenderingTooFast(); + if (minSwapTimeMs > 0) + { + // When our window is entirely occluded by other windows, flushBuffer + // fails to wait for the swap interval, so the render loop spins at full + // speed, burning CPU. This hack detects when things are going too fast + // and sleeps if necessary. + + const double swapTime = Time::getMillisecondCounterHiRes() - now; + const int frameTime = (int) (now - lastSwapTime); + + if (swapTime < 0.5 && frameTime < minSwapTimeMs - 3) + { + if (underrunCounter > 3) + { + Thread::sleep (2 * (minSwapTimeMs - frameTime)); + now = Time::getMillisecondCounterHiRes(); + } + else + ++underrunCounter; + } + else + { + if (underrunCounter > 0) + --underrunCounter; + } + } + + lastSwapTime = now; } void updateWindowPosition (const Rectangle&) {} @@ -182,33 +210,6 @@ public: return numFrames; } - void sleepIfRenderingTooFast() - { - // When our window is entirely occluded by other windows, the system - // fails to correctly implement the swap interval time, so the render - // loop spins at full speed, burning CPU. This hack detects when things - // are going too fast and slows things down if necessary. - - if (minSwapTimeMs > 0) - { - const double now = Time::getMillisecondCounterHiRes(); - const int elapsed = (int) (now - lastSwapTime); - lastSwapTime = now; - - if (isPositiveAndBelow (elapsed, minSwapTimeMs - 3)) - { - if (underrunCounter > 3) - Thread::sleep (minSwapTimeMs - elapsed); - else - ++underrunCounter; - } - else - { - underrunCounter = 0; - } - } - } - NSOpenGLContext* renderContext; NSOpenGLView* view; ReferenceCountedObjectPtr viewAttachment; diff --git a/modules/juce_opengl/opengl/juce_OpenGLContext.cpp b/modules/juce_opengl/opengl/juce_OpenGLContext.cpp index 418a2a35..6fd4feb9 100644 --- a/modules/juce_opengl/opengl/juce_OpenGLContext.cpp +++ b/modules/juce_opengl/opengl/juce_OpenGLContext.cpp @@ -150,7 +150,10 @@ public: return false; } - void releaseResources() override {} + void releaseResources() override + { + stop(); + } void triggerRepaint() { @@ -237,6 +240,10 @@ public: if (isUpdating) { paintComponent(); + + if (! hasInitialised) + return false; + mmLock = nullptr; lastMMLockReleaseTime = Time::getMillisecondCounter(); } @@ -279,7 +286,7 @@ public: { #if JUCE_OPENGL3 if (vertexArrayObject != 0) - glBindVertexArray (vertexArrayObject); + context.extensions.glBindVertexArray (vertexArrayObject); #endif } @@ -454,21 +461,24 @@ public: context.makeActive(); #endif + context.extensions.initialise(); + #if JUCE_OPENGL3 if (OpenGLShaderProgram::getLanguageVersion() > 1.2) { - glGenVertexArrays (1, &vertexArrayObject); + context.extensions.glGenVertexArrays (1, &vertexArrayObject); bindVertexArray(); } #endif glViewport (0, 0, component.getWidth(), component.getHeight()); - context.extensions.initialise(); nativeContext->setSwapInterval (1); #if ! JUCE_OPENGL_ES + JUCE_CHECK_OPENGL_ERROR shadersAvailable = OpenGLShaderProgram::getLanguageVersion() > 0; + clearGLError(); #endif if (context.renderer != nullptr) @@ -482,7 +492,7 @@ public: #if JUCE_OPENGL3 if (vertexArrayObject != 0) - glDeleteVertexArrays (1, &vertexArrayObject); + context.extensions.glDeleteVertexArrays (1, &vertexArrayObject); #endif associatedObjectNames.clear(); @@ -545,6 +555,23 @@ public: detach(); } + void detach() + { + stopTimer(); + + Component& comp = *getComponent(); + + #if JUCE_MAC + [[(NSView*) comp.getWindowHandle() window] disableScreenUpdatesUntilFlush]; + #endif + + if (CachedImage* const oldCachedImage = CachedImage::get (comp)) + oldCachedImage->stop(); // (must stop this before detaching it from the component) + + comp.setCachedComponentImage (nullptr); + context.nativeContext = nullptr; + } + void componentMovedOrResized (bool /*wasMoved*/, bool /*wasResized*/) override { Component& comp = *getComponent(); @@ -635,23 +662,6 @@ private: startTimer (400); } - void detach() - { - stopTimer(); - - Component& comp = *getComponent(); - - #if JUCE_MAC - [[(NSView*) comp.getWindowHandle() window] disableScreenUpdatesUntilFlush]; - #endif - - if (CachedImage* const oldCachedImage = CachedImage::get (comp)) - oldCachedImage->stop(); // (must stop this before detaching it from the component) - - comp.setCachedComponentImage (nullptr); - context.nativeContext = nullptr; - } - void timerCallback() override { if (CachedImage* const cachedImage = CachedImage::get (*getComponent())) @@ -661,10 +671,13 @@ private: //============================================================================== OpenGLContext::OpenGLContext() - : nativeContext (nullptr), renderer (nullptr), currentRenderScale (1.0), - contextToShareWith (nullptr), versionRequired (OpenGLContext::defaultGLVersion), + : nativeContext (nullptr), renderer (nullptr), + currentRenderScale (1.0), contextToShareWith (nullptr), + versionRequired (OpenGLContext::defaultGLVersion), imageCacheMaxSize (8 * 1024 * 1024), - renderComponents (true), useMultisampling (false), continuousRepaint (false) + renderComponents (true), + useMultisampling (false), + continuousRepaint (false) { } @@ -742,7 +755,12 @@ void OpenGLContext::attachTo (Component& component) void OpenGLContext::detach() { - attachment = nullptr; + if (Attachment* a = attachment) + { + a->detach(); // must detach before nulling our pointer + attachment = nullptr; + } + nativeContext = nullptr; } @@ -891,6 +909,27 @@ void OpenGLContext::setAssociatedObject (const char* name, ReferenceCountedObjec void OpenGLContext::setImageCacheSize (size_t newSize) noexcept { imageCacheMaxSize = newSize; } size_t OpenGLContext::getImageCacheSize() const noexcept { return imageCacheMaxSize; } +//============================================================================== +struct DepthTestDisabler +{ + DepthTestDisabler() noexcept + { + glGetBooleanv (GL_DEPTH_TEST, &wasEnabled); + + if (wasEnabled) + glDisable (GL_DEPTH_TEST); + } + + ~DepthTestDisabler() noexcept + { + if (wasEnabled) + glEnable (GL_DEPTH_TEST); + } + + GLboolean wasEnabled; +}; + +//============================================================================== void OpenGLContext::copyTexture (const Rectangle& targetClipArea, const Rectangle& anchorPosAndTextureSize, const int contextWidth, const int contextHeight, @@ -903,6 +942,8 @@ void OpenGLContext::copyTexture (const Rectangle& targetClipArea, glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); glEnable (GL_BLEND); + DepthTestDisabler depthDisabler; + if (areShadersAvailable()) { struct OverlayShaderProgram : public ReferenceCountedObject @@ -1040,13 +1081,11 @@ void OpenGLContext::NativeContext::surfaceCreated (jobject holder) void OpenGLContext::NativeContext::surfaceDestroyed (jobject holder) { ignoreUnused (holder); - // unlike the name suggets this will be called just before the - // surface is destroyed. We need to pause the render thread. + // unlike the name suggests this will be called just before the + // surface is destroyed. We need to pause the render thread. if (juceContext != nullptr) - { if (OpenGLContext::CachedImage* cachedImage = juceContext->getCachedImage()) cachedImage->pause(); - } } #endif diff --git a/modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp b/modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp index 319e25b2..3da415b0 100644 --- a/modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp +++ b/modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp @@ -22,6 +22,8 @@ ============================================================================== */ +extern void (*clearOpenGLGlyphCache)(); // declared in juce_graphics + namespace OpenGLRendering { @@ -1589,7 +1591,7 @@ public: } } - typedef RenderingHelpers::GlyphCache , SavedState> GlyphCacheType; + typedef RenderingHelpers::GlyphCache, SavedState> GlyphCacheType; void drawGlyph (int glyphNumber, const AffineTransform& trans) { @@ -1770,9 +1772,15 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (NonShaderContext) }; -LowLevelGraphicsContext* createOpenGLContext (const Target&); -LowLevelGraphicsContext* createOpenGLContext (const Target& target) +static void clearOpenGLGlyphCacheCallback() { + SavedState::GlyphCacheType::getInstance().reset(); +} + +static LowLevelGraphicsContext* createOpenGLContext (const Target& target) +{ + clearOpenGLGlyphCache = clearOpenGLGlyphCacheCallback; + if (target.context.areShadersAvailable()) return new ShaderContext (target); @@ -1795,17 +1803,9 @@ LowLevelGraphicsContext* createOpenGLGraphicsContext (OpenGLContext& context, Op LowLevelGraphicsContext* createOpenGLGraphicsContext (OpenGLContext& context, unsigned int frameBufferID, int width, int height) { - using namespace OpenGLRendering; return OpenGLRendering::createOpenGLContext (OpenGLRendering::Target (context, frameBufferID, width, height)); } -void clearOpenGLGlyphCache(); -void clearOpenGLGlyphCache() -{ - OpenGLRendering::SavedState::GlyphCacheType::getInstance().reset(); -} - - //============================================================================== struct CustomProgram : public ReferenceCountedObject, public OpenGLRendering::ShaderPrograms::ShaderBase @@ -1853,7 +1853,7 @@ struct CustomProgram : public ReferenceCountedObject, OpenGLGraphicsContextCustomShader::OpenGLGraphicsContextCustomShader (const String& fragmentShaderCode) : code (String (JUCE_DECLARE_VARYING_COLOUR JUCE_DECLARE_VARYING_PIXELPOS - "\n" JUCE_MEDIUMP " float pixelAlpha = frontColour.a;\n") + fragmentShaderCode), + "\n#define pixelAlpha frontColour.a\n") + fragmentShaderCode), hashName (String::toHexString (fragmentShaderCode.hashCode64()) + "_shader") { } diff --git a/modules/juce_osc/juce_module_info b/modules/juce_osc/juce_module_info deleted file mode 100644 index 41ad0e6a..00000000 --- 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 af603d9f..70220881 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) @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_OSC_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_OSC_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,13 +31,8 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" - #include "juce_osc.h" - namespace juce { #include "osc/juce_OSCTypes.cpp" diff --git a/modules/juce_osc/juce_osc.h b/modules/juce_osc/juce_osc.h index fbf83a8f..959a9653 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,14 +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_osc + vendor: juce + version: 4.2.1 + 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 -//============================================================================= +//============================================================================== namespace juce { diff --git a/modules/juce_osc/osc/juce_OSCAddress.cpp b/modules/juce_osc/osc/juce_OSCAddress.cpp index 2f0bcf49..67df6101 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) @@ -24,14 +24,14 @@ namespace { - //========================================================================== + //============================================================================== template class OSCPatternMatcherImpl { typedef CharPointerType CharPtr; public: - //========================================================================== + //============================================================================== static bool match (CharPtr pattern, CharPtr patternEnd, CharPtr target, CharPtr targetEnd) { if (pattern == patternEnd) @@ -50,13 +50,13 @@ namespace } private: - //========================================================================== + //============================================================================== static bool matchTerminator (CharPtr target, CharPtr targetEnd) { return target == targetEnd; } - //========================================================================== + //============================================================================== static bool matchChar (juce_wchar c, CharPtr pattern, CharPtr patternEnd, CharPtr target, CharPtr targetEnd) { if (target == targetEnd || c != target.getAndAdvance()) @@ -65,7 +65,7 @@ namespace return match (pattern, patternEnd, target, targetEnd); } - //========================================================================== + //============================================================================== static bool matchAnyChar (CharPtr pattern, CharPtr patternEnd, CharPtr target, CharPtr targetEnd) { if (target == targetEnd) @@ -74,7 +74,7 @@ namespace return match (pattern, patternEnd, ++target, targetEnd); } - //========================================================================== + //============================================================================== static bool matchAnyOrNoChars (CharPtr pattern, CharPtr patternEnd, CharPtr target, CharPtr targetEnd) { if (target == targetEnd) @@ -86,7 +86,7 @@ namespace return matchAnyOrNoChars (pattern, patternEnd, ++target, targetEnd); } - //========================================================================== + //============================================================================== static bool matchInsideStringSet (CharPtr pattern, CharPtr patternEnd, CharPtr target, CharPtr targetEnd) { if (pattern == patternEnd) @@ -123,7 +123,7 @@ namespace return false; } - //========================================================================== + //============================================================================== static bool matchStringSet (const StringArray& set, CharPtr pattern, CharPtr patternEnd, CharPtr target, CharPtr targetEnd) { @@ -138,7 +138,7 @@ namespace return false; } - //========================================================================== + //============================================================================== static bool matchInsideCharSet (CharPtr pattern, CharPtr patternEnd, CharPtr target, CharPtr targetEnd) { @@ -180,7 +180,7 @@ namespace return false; } - //========================================================================== + //============================================================================== static bool matchCharSet (const Array& set, bool setIsNegated, CharPtr pattern, CharPtr patternEnd, CharPtr target, CharPtr targetEnd) { @@ -194,7 +194,7 @@ namespace : matchCharSetNotNegated (set, pattern, patternEnd, target, targetEnd); } - //========================================================================== + //============================================================================== static bool matchCharSetNegated (const Array& set, CharPtr pattern, CharPtr patternEnd, CharPtr target, CharPtr targetEnd) { @@ -205,7 +205,7 @@ namespace return match (pattern, patternEnd, target + 1, targetEnd); } - //========================================================================== + //============================================================================== static bool matchCharSetNotNegated (const Array& set, CharPtr pattern, CharPtr patternEnd, CharPtr target, CharPtr targetEnd) { @@ -217,7 +217,7 @@ namespace return false; } - //========================================================================== + //============================================================================== static bool addCharRangeToSet (Array& set, CharPtr pattern, CharPtr /*patternEnd*/, CharPtr target, CharPtr targetEnd) { diff --git a/modules/juce_osc/osc/juce_OSCAddress.h b/modules/juce_osc/osc/juce_OSCAddress.h index 96afe02c..443b8395 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) @@ -45,7 +45,7 @@ class JUCE_API OSCAddress { public: - //========================================================================== + //============================================================================== /** Constructs a new OSCAddress from a String. @throw OSCFormatError if the string is not a valid OSC address. */ @@ -95,7 +95,7 @@ private: class JUCE_API OSCAddressPattern { public: - //========================================================================== + //============================================================================== /** Constructs a new OSCAddressPattern from a String. @throw OSCFormatError if the string is not a valid OSC address pattern. */ @@ -140,7 +140,7 @@ public: private: - //========================================================================== + //============================================================================== StringArray oscSymbols; String asString; bool wasInitialisedWithWildcards; diff --git a/modules/juce_osc/osc/juce_OSCArgument.cpp b/modules/juce_osc/osc/juce_OSCArgument.cpp index dcfe2c67..de7b6741 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 86332072..62b1bb4e 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 49948063..ce74a077 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 b2cf0e40..3e29a250 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) @@ -63,7 +63,7 @@ public: class Element { public: - //========================================================================== + //============================================================================== /** Constructs an OSCBundle Element from an OSCMessage. */ Element (OSCMessage message); @@ -93,7 +93,7 @@ public: const OSCBundle& getBundle() const; private: - //========================================================================== + //============================================================================== ScopedPointer message; ScopedPointer bundle; }; @@ -103,10 +103,10 @@ public: int size() const noexcept { return elements.size(); } /** Returns true if the bundle contains no elements; false otherwise. */ - bool empty() const noexcept { return elements.empty(); } + bool isEmpty() const noexcept { return elements.isEmpty(); } /** Returns a reference to the OSCBundle element at index i in this bundle. - This method does not check the range and results in undefined behavour + This method does not check the range and results in undefined behaviour in case i < 0 or i >= size(). */ OSCBundle::Element& operator[] (const int i) const noexcept diff --git a/modules/juce_osc/osc/juce_OSCMessage.cpp b/modules/juce_osc/osc/juce_OSCMessage.cpp index 619742fd..8a8cdedf 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) @@ -44,9 +44,9 @@ int OSCMessage::size() const noexcept return arguments.size(); } -bool OSCMessage::empty() const noexcept +bool OSCMessage::isEmpty() const noexcept { - return arguments.empty(); + return arguments.isEmpty(); } OSCArgument& OSCMessage::operator[] (const int i) const noexcept diff --git a/modules/juce_osc/osc/juce_OSCMessage.h b/modules/juce_osc/osc/juce_OSCMessage.h index b099b148..82b72afb 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 @@ -86,10 +86,10 @@ public: int size() const noexcept; /** Returns true if the OSCMessage contains no OSCArgument objects; false otherwise. */ - bool empty() const noexcept; + bool isEmpty() const noexcept; /** Returns a reference to the OSCArgument at index i in the OSCMessage object. - This method does not check the range and results in undefined behavour + This method does not check the range and results in undefined behaviour in case i < 0 or i >= size(). */ OSCArgument& operator[] (const int i) const noexcept; @@ -159,7 +159,7 @@ private: }; -//================================================================================== +//============================================================================== #if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES && JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS template OSCMessage::OSCMessage (const OSCAddressPattern& ap, Arg1&& arg1, Args&&... args) diff --git a/modules/juce_osc/osc/juce_OSCReceiver.cpp b/modules/juce_osc/osc/juce_OSCReceiver.cpp index a23c9ab9..28b93b15 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) @@ -24,7 +24,7 @@ namespace { - //========================================================================== + //============================================================================== /** Allows a block of data to be accessed as a stream of OSC data. The memory is shared and will be neither copied nor owned by the OSCInputStream. @@ -47,7 +47,7 @@ namespace : input (sourceData, sourceDataSize, false) {} - //====================================================================== + //============================================================================== /** Returns a pointer to the source data block from which this stream is reading. */ const void* getData() const noexcept { return input.getData(); } @@ -66,7 +66,7 @@ namespace /** Returns true if the stream has no more data to read. */ bool isExhausted() { return input.isExhausted(); } - //====================================================================== + //============================================================================== int32 readInt32() { if (input.getNumBytesRemaining() < 4) @@ -145,7 +145,7 @@ namespace return OSCAddressPattern (readString()); } - //====================================================================== + //============================================================================== OSCTypeList readTypeTagString() { OSCTypeList typeList; @@ -178,7 +178,7 @@ namespace return typeList; } - //========================================================================== + //============================================================================== OSCArgument readArgument (OSCType type) { switch (type) @@ -195,7 +195,7 @@ namespace } } - //====================================================================== + //============================================================================== OSCMessage readMessage() { OSCAddressPattern ap = readAddressPattern(); @@ -209,7 +209,7 @@ namespace return msg; } - //====================================================================== + //============================================================================== OSCBundle readBundle() { if (input.getNumBytesRemaining() < 16) @@ -226,7 +226,7 @@ namespace return bundle; } - //====================================================================== + //============================================================================== OSCBundle::Element readElement() { if (input.getNumBytesRemaining() < 4) @@ -240,7 +240,7 @@ namespace return readElementWithKnownSize (elementSize); } - //====================================================================== + //============================================================================== OSCBundle::Element readElementWithKnownSize (size_t elementSize) { if ((uint64) input.getNumBytesRemaining() < elementSize) @@ -257,7 +257,7 @@ namespace private: MemoryInputStream input; - //====================================================================== + //============================================================================== void readPaddingZeros (size_t bytesRead) { size_t numZeros = ~(bytesRead - 1) & 0x03; @@ -312,7 +312,7 @@ struct OSCReceiver::Pimpl : private Thread, disconnect(); } - //========================================================================== + //============================================================================== bool connectToPort (int portNum) { if (! disconnect()) @@ -340,7 +340,7 @@ struct OSCReceiver::Pimpl : private Thread, return true; } - //========================================================================== + //============================================================================== void addListener (Listener* listenerToAdd) { listeners.add (listenerToAdd); @@ -383,7 +383,7 @@ struct OSCReceiver::Pimpl : private Thread, removeListenerWithAddress (listenerToRemove, realtimeListenersWithAddress); } - //========================================================================== + //============================================================================== struct CallbackMessage : public Message { CallbackMessage (OSCBundle::Element oscElement) : content (oscElement) {} @@ -392,7 +392,7 @@ struct OSCReceiver::Pimpl : private Thread, OSCBundle::Element content; }; - //========================================================================== + //============================================================================== void handleBuffer (const char* data, size_t dataSize) { OSCInputStream inStream (data, dataSize); @@ -416,18 +416,18 @@ struct OSCReceiver::Pimpl : private Thread, catch (OSCFormatError) { if (formatErrorHandler != nullptr) - formatErrorHandler (data, dataSize); + formatErrorHandler (data, (int) dataSize); } } - //========================================================================== + //============================================================================== void registerFormatErrorHandler (OSCReceiver::FormatErrorHandler handler) { formatErrorHandler = handler; } private: - //========================================================================== + //============================================================================== void run() override { while (! threadShouldExit()) @@ -446,7 +446,7 @@ private: } } - //========================================================================== + //============================================================================== template void addListenerWithAddress (ListenerType* listenerToAdd, OSCAddress address, @@ -459,7 +459,7 @@ private: array.add (std::make_pair (address, listenerToAdd)); } - //========================================================================== + //============================================================================== template void removeListenerWithAddress (ListenerType* listenerToRemove, Array >& array) @@ -478,7 +478,7 @@ private: } } - //========================================================================== + //============================================================================== void handleMessage (const Message& msg) override { if (const CallbackMessage* callbackMessage = dynamic_cast (&msg)) @@ -492,7 +492,7 @@ private: } } - //========================================================================== + //============================================================================== void callListeners (const OSCBundle::Element& content) { typedef OSCReceiver::Listener Listener; @@ -513,7 +513,7 @@ private: realtimeListeners.call (&Listener::oscBundleReceived, content.getBundle()); } - //========================================================================== + //============================================================================== void callListenersWithAddress (const OSCMessage& message) { typedef OSCReceiver::ListenerWithOSCAddress Listener; @@ -542,7 +542,7 @@ private: } } - //========================================================================== + //============================================================================== ListenerList > listeners; ListenerList > realtimeListeners; diff --git a/modules/juce_osc/osc/juce_OSCReceiver.h b/modules/juce_osc/osc/juce_OSCReceiver.h index b023d457..94aa1ac0 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) @@ -37,14 +37,14 @@ class JUCE_API OSCReceiver { public: - //========================================================================== + //============================================================================== /** Constructs a new OSCReceiver. */ OSCReceiver(); /** Destructor. */ ~OSCReceiver(); - //========================================================================== + //============================================================================== /** Connects to the specified UDP port using a datagram socket, and starts listening to OSC packets arriving on this port. @@ -52,14 +52,14 @@ public: */ bool connect (int portNumber); - //========================================================================== + //============================================================================== /** Disconnects from the currently used UDP port. @returns true if the disconnection was successful; false otherwise. */ bool disconnect(); - //========================================================================== + //============================================================================== /** Use this struct as the template parameter for Listener and ListenerWithOSCAddress to receive incoming OSC data on the message thread. This should be used by OSC callbacks that are not realtime-critical, but @@ -79,7 +79,7 @@ public: */ struct JUCE_API RealtimeCallback {}; - //========================================================================== + //============================================================================== /** A class for receiving OSC data from an OSCReceiver. The template argument CallbackType determines how the callback will be called @@ -109,7 +109,7 @@ public: virtual void oscBundleReceived (const OSCBundle& /*bundle*/) {} }; - //========================================================================== + //============================================================================== /** A class for receiving only those OSC messages from an OSCReceiver that match a given OSC address. @@ -143,7 +143,7 @@ public: virtual void oscMessageReceived (const OSCMessage& message) = 0; }; - //========================================================================== + //============================================================================== /** Adds a listener that listens to OSC messages and bundles. This listener will be called on the application's message loop. */ @@ -203,7 +203,7 @@ public: void registerFormatErrorHandler (FormatErrorHandler handler); private: - //========================================================================== + //============================================================================== struct Pimpl; friend struct Pimpl; friend struct ContainerDeletePolicy; diff --git a/modules/juce_osc/osc/juce_OSCSender.cpp b/modules/juce_osc/osc/juce_OSCSender.cpp index 91cbb017..1b0e14e3 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) @@ -35,13 +35,15 @@ namespace */ struct OSCOutputStream { + OSCOutputStream() noexcept {} + /** Returns a pointer to the data that has been written to the stream. */ const void* getData() const noexcept { return output.getData(); } /** Returns the number of bytes of data that have been written to the stream. */ size_t getDataSize() const noexcept { return output.getDataSize(); } - //========================================================================== + //============================================================================== bool writeInt32 (int32 value) { return output.writeIntBigEndian (value); @@ -124,7 +126,7 @@ namespace } } - //========================================================================== + //============================================================================== bool writeMessage (const OSCMessage& msg) { if (! writeAddressPattern (msg.getAddressPattern())) @@ -160,7 +162,7 @@ namespace return true; } - //========================================================================== + //============================================================================== bool writeBundleElement (const OSCBundle::Element& element) { const int64 startPos = output.getPosition(); @@ -189,6 +191,8 @@ namespace private: MemoryOutputStream output; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OSCOutputStream) }; } // namespace @@ -200,7 +204,7 @@ struct OSCSender::Pimpl Pimpl() noexcept : targetPortNumber (0) {} ~Pimpl() noexcept { disconnect(); } - //========================================================================== + //============================================================================== bool connect (const String& newTargetHost, int newTargetPort) { if (! disconnect()) @@ -223,33 +227,35 @@ struct OSCSender::Pimpl return true; } - //========================================================================== - bool send (const OSCMessage& message) + //============================================================================== + bool send (const OSCMessage& message, const String& hostName, int portNumber) { OSCOutputStream outStream; outStream.writeMessage (message); - return sendOutputStream (outStream); + return sendOutputStream (outStream, hostName, portNumber); } - bool send (const OSCBundle& bundle) + bool send (const OSCBundle& bundle, const String& hostName, int portNumber) { OSCOutputStream outStream; outStream.writeBundle (bundle); - return sendOutputStream (outStream); + return sendOutputStream (outStream, hostName, portNumber); } + bool send (const OSCMessage& message) { return send (message, targetHostName, targetPortNumber); } + bool send (const OSCBundle& bundle) { return send (bundle, targetHostName, targetPortNumber); } + private: - //========================================================================== - bool sendOutputStream (OSCOutputStream& outStream) + //============================================================================== + bool sendOutputStream (OSCOutputStream& outStream, const String& hostName, int portNumber) { if (socket != nullptr) { - int bytesWritten = socket->write (targetHostName, - targetPortNumber, - outStream.getData(), - (int) outStream.getDataSize()); + const int streamSize = (int) outStream.getDataSize(); - return bytesWritten == (int) outStream.getDataSize(); + const int bytesWritten = socket->write (hostName, portNumber, + outStream.getData(), streamSize); + return bytesWritten == streamSize; } // if you hit this, you tried to send some OSC data without being @@ -259,7 +265,7 @@ private: return false; } - //========================================================================== + //============================================================================== ScopedPointer socket; String targetHostName; int targetPortNumber; @@ -294,6 +300,8 @@ bool OSCSender::disconnect() bool OSCSender::send (const OSCMessage& message) { return pimpl->send (message); } bool OSCSender::send (const OSCBundle& bundle) { return pimpl->send (bundle); } +bool OSCSender::sendToIPAddress (const String& host, int port, const OSCMessage& message) { return pimpl->send (message, host, port); } +bool OSCSender::sendToIPAddress (const String& host, int port, const OSCBundle& bundle) { return pimpl->send (bundle, host, port); } //============================================================================== //============================================================================== diff --git a/modules/juce_osc/osc/juce_OSCSender.h b/modules/juce_osc/osc/juce_OSCSender.h index cba371a1..c3004544 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 @@ -36,14 +36,14 @@ class JUCE_API OSCSender { public: - //========================================================================== + //============================================================================== /** Constructs a new OSCSender. */ OSCSender(); /** Destructor. */ ~OSCSender(); - //========================================================================== + //============================================================================== /** Connects to a datagram socket and prepares the socket for sending OSC packets to the specified target. @@ -60,7 +60,7 @@ public: */ bool connect (const String& targetHostName, int targetPortNumber); - //========================================================================== + //============================================================================== /** Disconnects from the currently used UDP port. @returns true if the disconnection was successful; false otherwise. @@ -68,16 +68,39 @@ public: */ bool disconnect(); - //========================================================================== + //============================================================================== /** Sends an OSC message to the target. - @param message The OSC message to send. - @returns true if the operation was successful. */ bool send (const OSCMessage& message); - //========================================================================== + /** Send an OSC bundle to the target. + @param bundle The OSC bundle to send. + @returns true if the operation was successful. + */ + bool send (const OSCBundle& bundle); + + /** Sends an OSC message to a specific IP address and port. + This overrides the address and port that was originally set for this sender. + @param targetIPAddress The IP address to send to + @param targetPortNumber The target port number + @param message The OSC message to send. + @returns true if the operation was successful. + */ + bool sendToIPAddress (const String& targetIPAddress, int targetPortNumber, + const OSCMessage& message); + + /** Sends an OSC bundle to a specific IP address and port. + This overrides the address and port that was originally set for this sender. + @param targetIPAddress The IP address to send to + @param targetPortNumber The target port number + @param bundle The OSC bundle to send. + @returns true if the operation was successful. + */ + bool sendToIPAddress (const String& targetIPAddress, int targetPortNumber, + const OSCBundle& bundle); + #if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES && JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS /** Creates a new OSC message with the specified address pattern and list of arguments, and sends it to the target. @@ -88,19 +111,23 @@ public: */ template bool send (const OSCAddressPattern& address, Args&&... args); - #endif - - //========================================================================== - /** Send an OSC bundle to the target. - @param bundle The OSC bundle to send. + /** Creates a new OSC message with the specified address pattern and list + of arguments, and sends it to the target. - @returns true if the operation was successful. + @param targetIPAddress The IP address to send to + @param targetPortNumber The target port number + @param address The OSC address pattern of the message + (you can use a string literal here). + @param args The list of arguments for the message. */ - bool send (const OSCBundle& bundle); + template + bool sendToIPAddress (const String& targetIPAddress, int targetPortNumber, + const OSCAddressPattern& address, Args&&... args); + #endif private: - //========================================================================== + //============================================================================== struct Pimpl; friend struct Pimpl; friend struct ContainerDeletePolicy; @@ -110,13 +137,20 @@ private: }; -//========================================================================== +//============================================================================== #if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES && JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS template bool OSCSender::send (const OSCAddressPattern& address, Args&&... args) { return send (OSCMessage (address, std::forward (args)...)); } + + template + bool OSCSender::sendToIPAddress (const String& targetIPAddress, int targetPortNumber, + const OSCAddressPattern& address, Args&&... args) + { + return sendToIPAddress (targetIPAddress, targetPortNumber, OSCMessage (address, std::forward (args)...)); + } #endif // JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES && JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS #endif // JUCE_OSCSENDER_H_INCLUDED diff --git a/modules/juce_osc/osc/juce_OSCTimeTag.cpp b/modules/juce_osc/osc/juce_OSCTimeTag.cpp index 5a56de96..81b8369d 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 21998fd3..9750781d 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 d9ae5bc9..11202526 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 46a7239e..fc8f64ff 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 91729d62..00000000 --- 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.cpp b/modules/juce_tracktion_marketplace/juce_tracktion_marketplace.cpp index d0c79d30..80c8c5f2 100644 --- a/modules/juce_tracktion_marketplace/juce_tracktion_marketplace.cpp +++ b/modules/juce_tracktion_marketplace/juce_tracktion_marketplace.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_TRACKTION_MARKETPLACE_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_TRACKTION_MARKETPLACE_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,10 +31,6 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" - #include "juce_tracktion_marketplace.h" namespace juce diff --git a/modules/juce_tracktion_marketplace/juce_tracktion_marketplace.h b/modules/juce_tracktion_marketplace/juce_tracktion_marketplace.h index 75e7232e..37739537 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.1 + 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 @@ -36,12 +60,12 @@ own compatible web-server back-end. */ -//============================================================================= -#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 655836cb..739da1f6 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 c991df77..2bf81936 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 daa739e7..24e8875a 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 45009ce8..00000000 --- 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 b1993b8f..ca5b01da 100644 --- a/modules/juce_video/juce_video.cpp +++ b/modules/juce_video/juce_video.cpp @@ -22,7 +22,7 @@ ============================================================================== */ -#if defined (JUCE_VIDEO_H_INCLUDED) && ! JUCE_AMALGAMATED_INCLUDE +#ifdef JUCE_VIDEO_H_INCLUDED /* When you add this cpp file to your project, you mustn't include it in a file where you've already included any other headers - just put it inside a file on its own, possibly with your config flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix @@ -31,21 +31,15 @@ #error "Incorrect use of JUCE cpp file" #endif -// 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" +#define JUCE_CORE_INCLUDE_OBJC_HELPERS 1 +#define JUCE_CORE_INCLUDE_COM_SMART_PTR 1 +#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1 -#include "../juce_core/native/juce_BasicNativeHeaders.h" -#include "../juce_gui_extra/juce_gui_extra.h" #include "juce_video.h" #if JUCE_MAC #if JUCE_QUICKTIME - #define Point CarbonDummyPointName - #define Component CarbonDummyCompName #import - #undef Point - #undef Component #endif //============================================================================== @@ -106,8 +100,6 @@ namespace juce { #if JUCE_MAC || JUCE_IOS - #include "../juce_core/native/juce_osx_ObjCHelpers.h" - #if JUCE_USE_CAMERA #include "native/juce_mac_CameraDevice.mm" #endif @@ -117,7 +109,6 @@ namespace juce #endif #elif JUCE_WINDOWS - #include "../juce_core/native/juce_win32_ComSmartPtr.h" #if JUCE_USE_CAMERA #include "native/juce_win32_CameraDevice.cpp" diff --git a/modules/juce_video/juce_video.h b/modules/juce_video/juce_video.h index e238f40e..5b886d74 100644 --- a/modules/juce_video/juce_video.h +++ b/modules/juce_video/juce_video.h @@ -22,13 +22,39 @@ ============================================================================== */ + +/******************************************************************************* + 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.1 + 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 Enables DirectShow media-streaming architecture (MS Windows only). */ @@ -69,7 +95,7 @@ #undef JUCE_USE_CAMERA #endif -//============================================================================= +//============================================================================== namespace juce { diff --git a/modules/juce_video/native/juce_win32_DirectShowComponent.cpp b/modules/juce_video/native/juce_win32_DirectShowComponent.cpp index da73169a..003a2ecb 100644 --- a/modules/juce_video/native/juce_win32_DirectShowComponent.cpp +++ b/modules/juce_video/native/juce_win32_DirectShowComponent.cpp @@ -30,7 +30,7 @@ namespace DirectShowHelpers return SUCCEEDED (graph.CoCreateInstance (CLSID_FilterGraph)); } - //====================================================================== + //============================================================================== class VideoRenderer { public: @@ -47,7 +47,7 @@ namespace DirectShowHelpers virtual HRESULT getVideoSize (long& videoWidth, long& videoHeight) = 0; }; - //====================================================================== + //============================================================================== class VMR7 : public VideoRenderer { public: @@ -107,7 +107,7 @@ namespace DirectShowHelpers }; - //====================================================================== + //============================================================================== #if JUCE_MEDIAFOUNDATION class EVR : public VideoRenderer { @@ -171,7 +171,7 @@ namespace DirectShowHelpers } -//====================================================================== +//============================================================================== class DirectShowComponent::DirectShowContext : public AsyncUpdater { public: @@ -206,7 +206,7 @@ public: CoUninitialize(); } - //====================================================================== + //============================================================================== void updateWindowPosition (const Rectangle& newBounds) { nativeWindow->setWindowPosition (newBounds); @@ -217,7 +217,7 @@ public: nativeWindow->showWindow (shouldBeVisible); } - //====================================================================== + //============================================================================== void repaint() { if (hasVideo) @@ -236,7 +236,7 @@ public: videoRenderer->displayModeChanged(); } - //====================================================================== + //============================================================================== void peerChanged() { deleteNativeWindow(); @@ -288,7 +288,7 @@ public: triggerAsyncUpdate(); } - //====================================================================== + //============================================================================== bool loadFile (const String& fileOrURLPath) { jassert (state == uninitializedState); @@ -405,6 +405,8 @@ public: while (SUCCEEDED (mediaEvent->GetEvent (&ec, &p1, &p2, 0))) { + mediaEvent->FreeEventParams (ec, p1, p2); + switch (ec) { case EC_REPAINT: @@ -427,12 +429,10 @@ public: default: break; } - - mediaEvent->FreeEventParams (ec, p1, p2); } } - //====================================================================== + //============================================================================== void run() { mediaControl->Run(); @@ -451,7 +451,7 @@ public: state = pausedState; } - //====================================================================== + //============================================================================== bool isInitialised() const noexcept { return state != uninitializedState; } bool isRunning() const noexcept { return state == runningState; } bool isPaused() const noexcept { return state == pausedState; } @@ -460,7 +460,7 @@ public: int getVideoWidth() const noexcept { return (int) videoWidth; } int getVideoHeight() const noexcept { return (int) videoHeight; } - //====================================================================== + //============================================================================== double getDuration() const { REFTIME duration; @@ -475,7 +475,7 @@ public: return seconds; } - //====================================================================== + //============================================================================== void setSpeed (const float newSpeed) { mediaPosition->put_Rate (newSpeed); } void setPosition (const double seconds) { mediaPosition->put_CurrentPosition (seconds); } void setVolume (const float newVolume) { basicAudio->put_Volume (convertToDShowVolume (newVolume)); } @@ -497,7 +497,7 @@ public: } private: - //====================================================================== + //============================================================================== enum { graphEventID = WM_APP + 0x43f0 }; DirectShowComponent& component; @@ -523,7 +523,7 @@ private: bool needToUpdateViewport, needToRecreateNativeWindow; - //====================================================================== + //============================================================================== class NativeWindowClass : private DeletedAtShutdown { public: @@ -585,7 +585,7 @@ private: JUCE_DECLARE_NON_COPYABLE (NativeWindowClass) }; - //====================================================================== + //============================================================================== class NativeWindow { public: @@ -646,7 +646,7 @@ private: ScopedPointer nativeWindow; - //====================================================================== + //============================================================================== bool createNativeWindow() { jassert (nativeWindow == nullptr); @@ -727,7 +727,7 @@ private: juce_ImplementSingleton_SingleThreaded (DirectShowComponent::DirectShowContext::NativeWindowClass) -//====================================================================== +//============================================================================== class DirectShowComponent::DirectShowComponentWatcher : public ComponentMovementWatcher { public: @@ -762,7 +762,7 @@ private: }; -//====================================================================== +//============================================================================== DirectShowComponent::DirectShowComponent (VideoRendererType type) : videoLoaded (false), looping (false) @@ -811,7 +811,7 @@ void DirectShowComponent::paint (Graphics& g) g.fillAll (Colours::grey); } -//====================================================================== +//============================================================================== bool DirectShowComponent::loadMovie (const String& fileOrURLPath) { closeMovie(); @@ -846,7 +846,7 @@ void DirectShowComponent::closeMovie() videoPath.clear(); } -//====================================================================== +//============================================================================== File DirectShowComponent::getCurrentMoviePath() const { return videoPath; } bool DirectShowComponent::isMovieOpen() const { return videoLoaded; } double DirectShowComponent::getMovieDuration() const { return videoLoaded ? context->getDuration() : 0.0; } @@ -859,7 +859,7 @@ void DirectShowComponent::getMovieNormalSize (int &width, int &height) const height = context->getVideoHeight(); } -//====================================================================== +//============================================================================== void DirectShowComponent::setBoundsWithCorrectAspectRatio (const Rectangle& spaceToFitWithin, RectanglePlacement placement) { @@ -874,7 +874,7 @@ void DirectShowComponent::setBoundsWithCorrectAspectRatio (const Rectangle& setBounds (spaceToFitWithin); } -//====================================================================== +//============================================================================== void DirectShowComponent::play() { if (videoLoaded) diff --git a/modules/juce_video/playback/juce_QuickTimeMovieComponent.h b/modules/juce_video/playback/juce_QuickTimeMovieComponent.h index 604a5632..cd8201bd 100644 --- a/modules/juce_video/playback/juce_QuickTimeMovieComponent.h +++ b/modules/juce_video/playback/juce_QuickTimeMovieComponent.h @@ -25,8 +25,6 @@ #ifndef JUCE_QUICKTIMEMOVIECOMPONENT_H_INCLUDED #define JUCE_QUICKTIMEMOVIECOMPONENT_H_INCLUDED -// (NB: This stuff mustn't go inside the "#if QUICKTIME" block, or it'll break the -// amalgamated build) #ifndef DOXYGEN #if JUCE_WINDOWS typedef ActiveXControlComponent QTCompBaseClass; -- 2.30.2